dw-kit 1.8.0-rc.1 → 1.8.0-rc.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.
@@ -6,3 +6,33 @@ telegram:
6
6
  bot_token: 8693679403:AAG9FrgUd5Ig9eDTAWnA9RqhbMnShRi3Si0
7
7
  allowed_user_ids:
8
8
  - 6603235862
9
+
10
+ # Voice channel (Phase 4 substrate of G-rgoal-realtime-orch).
11
+ # `dw voice` boots a localhost HTTP server with a browser page using Web
12
+ # Speech API for ASR + TTS. Optional orchestrator hybrid: when the regex
13
+ # parser misses, hand the transcript to the configured agent (Claude Code /
14
+ # Codex / Gemini) with a voice-aware system prompt.
15
+ voice:
16
+ # Default UI language for SpeechRecognition + TTS. User can override on the
17
+ # page via dropdown. Common values: en-US · vi-VN · ja-JP · ko-KR · zh-CN.
18
+ # Browser support varies — Chrome / Edge / Safari are best.
19
+ lang: en-US
20
+ # Extra languages to surface in the dropdown (beyond `lang` + en-US default).
21
+ extra_langs: [vi-VN]
22
+ # Server-side TTS fallback when no native browser/OS voice matches the
23
+ # selected language. F-23 (G-dogfood-v1.7): a fresh Windows install has
24
+ # no Vietnamese SAPI voice; we proxy MP3 from Google Translate's public
25
+ # TTS endpoint. Modes:
26
+ # auto — only when no native voice matches (default; balanced)
27
+ # always — always use server-side (best for cross-machine consistency)
28
+ # none — never use server-side (privacy: spoken text stays local)
29
+ # Privacy note: in `auto`/`always`, the spoken text leaves the machine to
30
+ # translate.google.com. Disable with `none` if that is unacceptable.
31
+ fallback_tts: auto
32
+ orchestrator:
33
+ enabled: true # opt-in. To enable WITHOUT committing it, add the
34
+ # same `voice:` section to `.dw/config/connectors.local.yml`
35
+ # (gitignored) — the local file overrides this template
36
+ # via deep-merge (same pattern as bot_token + allow-list).
37
+ agent: claude # must exist in .dw/config/agents.yml; CLI must be on PATH
38
+ timeout_ms: 30000 # max wait per turn (Claude is typically 2-8s)
package/CLAUDE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Workflow toolkit codebase. Rules live in `.claude/rules/` (auto-loaded).
4
4
 
5
5
  **v2.0 direction:** Context-First SDLC Governance Layer (5 pillars — see `.dw/core/PILLARS.md`)
6
- **Current:** **v1.8.0-rc.1** (2026-05-25) — 4/5 phase substrate for [G-rgoal-realtime-orch](.dw/goals/G-rgoal-realtime-orch/goal.md) voice-meeting Root Goal: persistent CLI-agent session runtime (`dw session *`), Telegram chat bridge (`dw connector telegram setup`) with 1-command interactive wizard, multi-workspace registry (`dw workspace *`), and browser voice MVP (`dw voice`) with hybrid orchestrator fallback (Claude/Codex/Gemini), full bilingual UX (en + vi), voice-not-installed fallback via Google Translate TTS proxy. **v1.7.0 stable** on `main` (2026-05-24). 284/284 smoke tests. Active ADRs: ADR-0001 (Pragmatic Lean), ADR-0005/0006 (Supply-Chain Guard; sunset review 2026-08-12), ADR-0008 (Task Docs v3, v1.5), ADR-0009 (Agent OS, v1.6), ADR-0010 (Goals Layer, v1.7). ADR-0011 (Session Runtime + Voice Orchestrator, v1.8) pending codification.
6
+ **Current:** **v1.8.0-rc.1** (2026-05-25) — 4/5 phase substrate for [G-rgoal-realtime-orch](.dw/goals/G-rgoal-realtime-orch/goal.md) voice-meeting Root Goal: persistent CLI-agent session runtime (`dw session *`), Telegram chat bridge (`dw connector telegram setup`) with 1-command interactive wizard, multi-workspace registry (`dw workspace *`), and browser voice MVP (`dw voice`) with hybrid orchestrator fallback (Claude/Codex/Gemini), full bilingual UX (en + vi), voice-not-installed fallback via Google Translate TTS proxy. **v1.7.0 stable** on `main` (2026-05-24). 284/284 smoke tests. Active ADRs: ADR-0001 (Pragmatic Lean), ADR-0005/0006 (Supply-Chain Guard; sunset review 2026-08-12), ADR-0008 (Task Docs v3, v1.5), ADR-0009 (Agent OS, v1.6), ADR-0010 (Goals Layer, v1.7), ADR-0011 (Session Runtime + Voice Orchestrator, v1.8 Accepted).
7
7
 
8
8
  ---
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dw-kit",
3
- "version": "1.8.0-rc.1",
3
+ "version": "1.8.0-rc.2",
4
4
  "description": "AI development workflow toolkit — structured, quality-assured, team-ready. From requirements to dashboard.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.mjs CHANGED
@@ -352,10 +352,12 @@ export function run(argv) {
352
352
  // ─ voice: browser-based voice MVP (G-rgoal phase 4 — KR-A destination) ─
353
353
  program
354
354
  .command('voice')
355
- .description('Browser-based voice MVP — speak dw commands, hear results. Local server + Web Speech API. Spike scope: localhost only.')
356
- .option('-p, --port <port>', 'Local server port (default 4500; auto-finds next free)', parseInt)
355
+ .description('Browser-based voice MVP — speak dw commands, hear results. Web Speech API + optional HTTPS for mobile/LAN reach.')
356
+ .option('-p, --port <port>', 'Server port (default 4500; auto-finds next free)', parseInt)
357
357
  .option('--default-agent <name>', 'Default agent for "start ..." without explicit agent name')
358
358
  .option('--no-open', 'Skip auto-opening browser tab (also implied by DW_NO_OPEN=1, CI=true, or non-TTY stdout)')
359
+ .option('--https', 'Serve over HTTPS using self-signed cert (auto-generated via mkcert or openssl). Required for mic access from non-localhost browsers (mobile / LAN / Tailscale).')
360
+ .option('--bind <addr>', 'Bind address (default 127.0.0.1). Use 0.0.0.0 to expose on all interfaces (LAN/Tailscale). MUST combine with --https for remote mic access.', '127.0.0.1')
359
361
  .action(async (opts) => {
360
362
  const { voiceCommand } = await import('./commands/voice.mjs');
361
363
  await voiceCommand(opts);