poddrill 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/poddrill/SKILL.md +1 -1
- package/README.md +2 -2
- package/dist/owner.js +26 -3
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@ Do this once on the computer that will transcribe. Each step is safe to repeat.
|
|
|
19
19
|
|
|
20
20
|
1. Install Node.js 20.19 or newer and `ffmpeg`. Use the Node `.tar.gz` archive from `https://nodejs.org/dist/v20.19.0/`, or run `npx -y node@20.19.0`. On macOS, `brew install ffmpeg`. On Linux, `sudo apt-get install -y ffmpeg`.
|
|
21
21
|
|
|
22
|
-
2. Install the npm package.
|
|
22
|
+
2. Install the npm package. Run `npm install -g poddrill@0.2.2`. Do not use `@latest`. Cloning the git repository is not required. If you clone it, set `GIT_TERMINAL_PROMPT=0`.
|
|
23
23
|
|
|
24
24
|
3. Run `poddrill install-python`. This creates `~/.cache/poddrill/venv` and installs cactus-needle 3.2.0, numpy 2.5.4, and onnxruntime 1.31.0. It uses `uv` when `uv` is on PATH, and otherwise `python3 -m venv`. The npm package named cactus-needle is a different package.
|
|
25
25
|
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Copy this to the agent.
|
|
|
10
10
|
Set up PodDrill on this computer.
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
The supported install is the npm package.
|
|
13
|
+
The supported install is the npm package. Run `npm install -g poddrill@0.2.2`. Do not use `@latest`. Cloning this repository is not required. If you clone it, set `GIT_TERMINAL_PROMPT=0`. The agent then follows the skill shipped in the package.
|
|
14
14
|
|
|
15
15
|
## Requirements
|
|
16
16
|
|
|
@@ -31,7 +31,7 @@ Grok Bot cannot write its server entry. It prints the custom server to add: the
|
|
|
31
31
|
|
|
32
32
|
`npm test` runs the unit tests. Those tests use `node --experimental-strip-types`.
|
|
33
33
|
|
|
34
|
-
`npm run test:smoke` runs a clean-home install, downloads the ECAPA file, and transcribes a short generated clip through `dist/cli.js`. It needs `python3` with `ensurepip`, `ffmpeg`, and `espeak-ng`. If one of those is missing, the test skips and names the missing tool.
|
|
34
|
+
`npm run test:smoke` runs a clean-home install, downloads the ECAPA file, and transcribes a short generated clip through `dist/cli.js`. It needs `python3` with `ensurepip`, `ffmpeg`, and `espeak-ng`. If one of those is missing, the test skips and names the missing tool. Run `npm run test:smoke` on a computer that has those tools. Build `dist/` with `npm run build` first.
|
|
35
35
|
|
|
36
36
|
## License
|
|
37
37
|
|
package/dist/owner.js
CHANGED
|
@@ -393,10 +393,33 @@ function parseRequest(value) {
|
|
|
393
393
|
if (op === "labelGroups" && typeof record["episodeId"] === "string") {
|
|
394
394
|
return { op: "labelGroups", episodeId: record["episodeId"], groups: record["groups"] };
|
|
395
395
|
}
|
|
396
|
-
|
|
397
|
-
|
|
396
|
+
return socketSummary(record);
|
|
397
|
+
}
|
|
398
|
+
function socketSummary(record) {
|
|
399
|
+
const op = record["op"];
|
|
400
|
+
const episodeId = record["episodeId"];
|
|
401
|
+
if (typeof episodeId !== "string") {
|
|
402
|
+
return undefined;
|
|
403
|
+
}
|
|
404
|
+
if (op === "startSummary") {
|
|
405
|
+
return { op: "startSummary", episodeId };
|
|
406
|
+
}
|
|
407
|
+
const summaryId = record["summaryId"];
|
|
408
|
+
if (typeof summaryId !== "string") {
|
|
409
|
+
return undefined;
|
|
410
|
+
}
|
|
411
|
+
switch (op) {
|
|
412
|
+
case "setSummary":
|
|
413
|
+
return { op: "setSummary", episodeId, summaryId, summary: record["summary"] };
|
|
414
|
+
case "putParagraph":
|
|
415
|
+
return { op: "putParagraph", episodeId, summaryId, body: record["body"] };
|
|
416
|
+
case "postParagraph":
|
|
417
|
+
return { op: "postParagraph", episodeId, summaryId, body: record["body"] };
|
|
418
|
+
case "summary":
|
|
419
|
+
return { op: "summary", episodeId, summaryId };
|
|
420
|
+
default:
|
|
421
|
+
return undefined;
|
|
398
422
|
}
|
|
399
|
-
return undefined;
|
|
400
423
|
}
|
|
401
424
|
function summaryRequest(name, args) {
|
|
402
425
|
const episodeId = args["episodeId"];
|