playhead-cli 0.1.0 → 0.1.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/README.md CHANGED
@@ -60,8 +60,7 @@ write a grounded spec, render it, and read the verdict — inside your own repo.
60
60
 
61
61
  Tools the agent gets: `playhead_explore` (grounded, validated locators for the current
62
62
  screen), `playhead_validate_spec` (schema + locator check, no render), `playhead_author`
63
- (auto-draft a spec toward a goal), and `playhead_render` (capture → compose → verify,
64
- returning the publish/no-publish verdict with reasons and artifact paths). The agent's loop
63
+ (auto-draft a spec toward a goal), playhead_render` (capture → compose → verify, returning the verdict with reasons and artifact paths), and `playhead_jira` (attach the evidence + post a verdict comment to an existing issue). The agent's loop
65
64
  becomes: *explore → write spec → render → read verdict → fix → re-render.*
66
65
 
67
66
  Outputs land in `out/`:
@@ -143,6 +142,24 @@ Scaffold one with `npx playhead init`.
143
142
  Add `--vision` to `render`/`verify` for an optional Claude review of the contact sheet (needs
144
143
  `ANTHROPIC_API_KEY`; skipped cleanly without one, so CI stays deterministic).
145
144
 
145
+ ### Narration voices
146
+
147
+ `output.audio.narration: tts` speaks each step's narration line. Two providers:
148
+
149
+ | `provider` | Voice | Deps | Platforms |
150
+ |---|---|---|---|
151
+ | `kokoro` (recommended) | Natural neural (Kokoro-82M). `voice:` = `heart` (**default**) or `michael` | `npm i -g kokoro-js` (~400MB, one-time; model ~90MB auto-downloads on first use) | Mac · Linux · Windows |
152
+ | `say` | macOS built-in (robotic). `voice:` = a `say` voice name | none | macOS only |
153
+
154
+ ```yaml
155
+ output:
156
+ audio: { narration: tts, provider: kokoro } # → Heart, offline, cross-platform
157
+ ```
158
+
159
+ Behind a TLS-intercepting proxy, the one-time model download needs the system CA:
160
+ `NODE_EXTRA_CA_CERTS=/etc/ssl/cert.pem playhead render …`. `playhead doctor --ci` reports which
161
+ providers are available.
162
+
146
163
  **Exit codes are a contract:** `0` publishable · `1` the app broke the flow (a partial bundle
147
164
  **and a watchable failure clip** are written) · `2` rendered but failed verification ·
148
165
  `3` infra · `4` bad spec/arguments.
@@ -1,8 +1,10 @@
1
1
  export interface NarrationOptions {
2
- /** Only 'say' (macOS local TTS) is implemented today; the seam is here for cloud providers. */
3
- provider: 'say';
2
+ /** 'say' macOS built-in (zero deps, Mac-only). 'kokoro' natural neural voice, offline,
3
+ * cross-platform, via the optional kokoro-js package. */
4
+ provider: 'say' | 'kokoro';
5
+ /** say: a macOS voice name (Samantha). kokoro: a voice id (af_heart, am_michael, …). */
4
6
  voice?: string;
5
- /** Words per minute (say-specific). */
7
+ /** say: words per minute. kokoro: playback speed × 100 (100 = 1.0×). */
6
8
  rate?: number;
7
9
  }
8
10
  export interface NarrationLine {
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/audio/tts.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAqCD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EAAE,EACtB,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAWrC"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/audio/tts.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B;8DAC0D;IAC1D,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AA6FD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EAAE,EACtB,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAYrC"}