Add the media scrape engine, store, and puppet walker

This commit is contained in:
Fisto
2026-09-16 08:03:21 +02:00
parent 92429f1e83
commit 4f953cefdc
12 changed files with 1086 additions and 4 deletions
+2
View File
@@ -59,6 +59,8 @@ media-scrape/db/
- The database is an index. It holds the scrape state, the messages seen, the media items, and the
link between a media item and its source messages. Source channel, author, and timestamp are
indexed so filters can be added later without a re-scrape.
- Storage uses `node:sqlite` (experimental in Node 22, prints a warning). If its API changes,
`better-sqlite3` is the fallback; it needs a native build, so that switch is an owner install.
- The file name in `media/` is the SHA-256 of the bytes, never the original name. The original
name is metadata.
- Deleting a scrape is deleting its directory. Nothing is shared between scrapes.
+3 -2
View File
@@ -14,10 +14,11 @@ cd poc
pnpm test:comm
pnpm test:cache
pnpm test:audio
pnpm test:media
```
The files are `poc/src/test-communication.ts` and `poc/src/test-cache.ts`. The tests do not need
Discord or Vesktop.
The files are `poc/src/test-communication.ts`, `poc/src/test-cache.ts`, and
`media-scrape/test/run.ts` (media archive). The tests do not need Discord or Vesktop.
## Type checks