@sumicom/quicksave 0.8.9 → 0.8.11

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.
Files changed (112) hide show
  1. package/dist/ai/cardBuilder.d.ts +67 -2
  2. package/dist/ai/cardBuilder.d.ts.map +1 -1
  3. package/dist/ai/cardBuilder.js +364 -26
  4. package/dist/ai/cardBuilder.js.map +1 -1
  5. package/dist/ai/claudeCliProvider.d.ts +14 -0
  6. package/dist/ai/claudeCliProvider.d.ts.map +1 -1
  7. package/dist/ai/claudeCliProvider.js +83 -2
  8. package/dist/ai/claudeCliProvider.js.map +1 -1
  9. package/dist/ai/claudeCodeProvider.d.ts.map +1 -1
  10. package/dist/ai/claudeCodeProvider.js +2 -0
  11. package/dist/ai/claudeCodeProvider.js.map +1 -1
  12. package/dist/ai/claudeSdkProvider.d.ts.map +1 -1
  13. package/dist/ai/claudeSdkProvider.js +13 -2
  14. package/dist/ai/claudeSdkProvider.js.map +1 -1
  15. package/dist/ai/claudeTerminal/cardSynth.d.ts +63 -0
  16. package/dist/ai/claudeTerminal/cardSynth.d.ts.map +1 -0
  17. package/dist/ai/claudeTerminal/cardSynth.js +92 -0
  18. package/dist/ai/claudeTerminal/cardSynth.js.map +1 -0
  19. package/dist/ai/claudeTerminal/hookBridge.d.ts +56 -0
  20. package/dist/ai/claudeTerminal/hookBridge.d.ts.map +1 -0
  21. package/dist/ai/claudeTerminal/hookBridge.js +131 -0
  22. package/dist/ai/claudeTerminal/hookBridge.js.map +1 -0
  23. package/dist/ai/claudeTerminal/hookHandler.d.ts +18 -0
  24. package/dist/ai/claudeTerminal/hookHandler.d.ts.map +1 -0
  25. package/dist/ai/claudeTerminal/hookHandler.js +124 -0
  26. package/dist/ai/claudeTerminal/hookHandler.js.map +1 -0
  27. package/dist/ai/claudeTerminal/index.d.ts +5 -0
  28. package/dist/ai/claudeTerminal/index.d.ts.map +1 -0
  29. package/dist/ai/claudeTerminal/index.js +7 -0
  30. package/dist/ai/claudeTerminal/index.js.map +1 -0
  31. package/dist/ai/claudeTerminal/jsonlTail.d.ts +40 -0
  32. package/dist/ai/claudeTerminal/jsonlTail.d.ts.map +1 -0
  33. package/dist/ai/claudeTerminal/jsonlTail.js +129 -0
  34. package/dist/ai/claudeTerminal/jsonlTail.js.map +1 -0
  35. package/dist/ai/claudeTerminal/provider.d.ts +106 -0
  36. package/dist/ai/claudeTerminal/provider.d.ts.map +1 -0
  37. package/dist/ai/claudeTerminal/provider.js +579 -0
  38. package/dist/ai/claudeTerminal/provider.js.map +1 -0
  39. package/dist/ai/claudeTerminal/settingsBuilder.d.ts +44 -0
  40. package/dist/ai/claudeTerminal/settingsBuilder.d.ts.map +1 -0
  41. package/dist/ai/claudeTerminal/settingsBuilder.js +40 -0
  42. package/dist/ai/claudeTerminal/settingsBuilder.js.map +1 -0
  43. package/dist/ai/codexAppServer/cardAdapter.d.ts.map +1 -1
  44. package/dist/ai/codexAppServer/cardAdapter.js +13 -5
  45. package/dist/ai/codexAppServer/cardAdapter.js.map +1 -1
  46. package/dist/ai/codexAppServer/provider.d.ts +13 -2
  47. package/dist/ai/codexAppServer/provider.d.ts.map +1 -1
  48. package/dist/ai/codexAppServer/provider.js +161 -26
  49. package/dist/ai/codexAppServer/provider.js.map +1 -1
  50. package/dist/ai/profiles/project-sandbox.sb +26 -0
  51. package/dist/ai/provider.d.ts +29 -1
  52. package/dist/ai/provider.d.ts.map +1 -1
  53. package/dist/ai/provider.js +1 -0
  54. package/dist/ai/provider.js.map +1 -1
  55. package/dist/ai/queuedUserPrompts.d.ts +8 -0
  56. package/dist/ai/queuedUserPrompts.d.ts.map +1 -0
  57. package/dist/ai/queuedUserPrompts.js +19 -0
  58. package/dist/ai/queuedUserPrompts.js.map +1 -0
  59. package/dist/ai/realtimeTranscription.d.ts +39 -0
  60. package/dist/ai/realtimeTranscription.d.ts.map +1 -0
  61. package/dist/ai/realtimeTranscription.js +154 -0
  62. package/dist/ai/realtimeTranscription.js.map +1 -0
  63. package/dist/ai/sandboxMcp.d.ts +7 -0
  64. package/dist/ai/sandboxMcp.d.ts.map +1 -1
  65. package/dist/ai/sandboxMcp.js +4 -0
  66. package/dist/ai/sandboxMcp.js.map +1 -1
  67. package/dist/ai/sandboxMcpStdio.d.ts +1 -1
  68. package/dist/ai/sandboxMcpStdio.js +120 -47
  69. package/dist/ai/sandboxMcpStdio.js.map +1 -1
  70. package/dist/ai/sessionManager.d.ts +14 -0
  71. package/dist/ai/sessionManager.d.ts.map +1 -1
  72. package/dist/ai/sessionManager.js +147 -3
  73. package/dist/ai/sessionManager.js.map +1 -1
  74. package/dist/ai/sessionRegistry.d.ts +6 -0
  75. package/dist/ai/sessionRegistry.d.ts.map +1 -1
  76. package/dist/ai/sessionRegistry.js +13 -0
  77. package/dist/ai/sessionRegistry.js.map +1 -1
  78. package/dist/ai/sessionRegistryLocator.d.ts +14 -0
  79. package/dist/ai/sessionRegistryLocator.d.ts.map +1 -0
  80. package/dist/ai/sessionRegistryLocator.js +44 -0
  81. package/dist/ai/sessionRegistryLocator.js.map +1 -0
  82. package/dist/ai/systemPrompt.d.ts.map +1 -1
  83. package/dist/ai/systemPrompt.js +1 -0
  84. package/dist/ai/systemPrompt.js.map +1 -1
  85. package/dist/ai/voiceStream.d.ts +74 -0
  86. package/dist/ai/voiceStream.d.ts.map +1 -0
  87. package/dist/ai/voiceStream.js +179 -0
  88. package/dist/ai/voiceStream.js.map +1 -0
  89. package/dist/ai/voiceTranscription.d.ts +33 -0
  90. package/dist/ai/voiceTranscription.d.ts.map +1 -0
  91. package/dist/ai/voiceTranscription.js +122 -0
  92. package/dist/ai/voiceTranscription.js.map +1 -0
  93. package/dist/files/fileBrowser.d.ts.map +1 -1
  94. package/dist/files/fileBrowser.js +3 -2
  95. package/dist/files/fileBrowser.js.map +1 -1
  96. package/dist/handlers/legacyBusAdapter.d.ts +1 -1
  97. package/dist/handlers/legacyBusAdapter.d.ts.map +1 -1
  98. package/dist/handlers/legacyBusAdapter.js +6 -1
  99. package/dist/handlers/legacyBusAdapter.js.map +1 -1
  100. package/dist/handlers/messageHandler.d.ts +5 -0
  101. package/dist/handlers/messageHandler.d.ts.map +1 -1
  102. package/dist/handlers/messageHandler.js +100 -5
  103. package/dist/handlers/messageHandler.js.map +1 -1
  104. package/dist/index.js +2 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/service/ipcClient.js +1 -1
  107. package/dist/service/ipcClient.js.map +1 -1
  108. package/dist/service/run.d.ts.map +1 -1
  109. package/dist/service/run.js +74 -3
  110. package/dist/service/run.js.map +1 -1
  111. package/dist/service/types.js +1 -1
  112. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"sessionRegistry.js","sourceRoot":"","sources":["../../src/ai/sessionRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionRegistry.js","sourceRoot":"","sources":["../../src/ai/sessionRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Scan `dir` for the registry JSON whose `mcpCorrId` equals `corrId`.
3
+ *
4
+ * Used by the sandbox MCP stdio server on a fresh session, where it has a
5
+ * `--corr` but no `--session-id`: the daemon stamps `mcpCorrId` onto exactly
6
+ * one entry, so the match is exact and 1:1 with the MCP process — safe even
7
+ * when several sessions share a cwd (unlike a "newest file" heuristic).
8
+ *
9
+ * Returns null when the directory is missing or no entry matches yet (the
10
+ * caller should retry, since the daemon may not have written the entry on the
11
+ * very first tool call).
12
+ */
13
+ export declare function findRegistryPathByCorr(dir: string, corrId: string): string | null;
14
+ //# sourceMappingURL=sessionRegistryLocator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionRegistryLocator.d.ts","sourceRoot":"","sources":["../../src/ai/sessionRegistryLocator.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBjF"}
@@ -0,0 +1,44 @@
1
+ // SPDX-FileCopyrightText: 2026 King Young Technology
2
+ // SPDX-License-Identifier: MIT
3
+ /**
4
+ * Pure helper for locating a session's registry file by correlation id.
5
+ *
6
+ * Lives in its own side-effect-free module (not `sandboxMcpStdio.ts`, which
7
+ * connects a stdio transport at import time) so it can be unit-tested.
8
+ */
9
+ import { readdirSync, readFileSync } from 'fs';
10
+ import { join } from 'path';
11
+ /**
12
+ * Scan `dir` for the registry JSON whose `mcpCorrId` equals `corrId`.
13
+ *
14
+ * Used by the sandbox MCP stdio server on a fresh session, where it has a
15
+ * `--corr` but no `--session-id`: the daemon stamps `mcpCorrId` onto exactly
16
+ * one entry, so the match is exact and 1:1 with the MCP process — safe even
17
+ * when several sessions share a cwd (unlike a "newest file" heuristic).
18
+ *
19
+ * Returns null when the directory is missing or no entry matches yet (the
20
+ * caller should retry, since the daemon may not have written the entry on the
21
+ * very first tool call).
22
+ */
23
+ export function findRegistryPathByCorr(dir, corrId) {
24
+ let files;
25
+ try {
26
+ files = readdirSync(dir).filter((f) => f.endsWith('.json'));
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ for (const file of files) {
32
+ const candidate = join(dir, file);
33
+ try {
34
+ const entry = JSON.parse(readFileSync(candidate, 'utf-8'));
35
+ if (entry.mcpCorrId === corrId)
36
+ return candidate;
37
+ }
38
+ catch {
39
+ // Skip unreadable / partially-written files.
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+ //# sourceMappingURL=sessionRegistryLocator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionRegistryLocator.js","sourceRoot":"","sources":["../../src/ai/sessionRegistryLocator.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,+BAA+B;AAC/B;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,MAAc;IAChE,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAA4B,CAAC;YACtF,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../src/ai/systemPrompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA2BzD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1E"}
1
+ {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../src/ai/systemPrompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA4BzD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1E"}
@@ -2,6 +2,7 @@ import { SANDBOX_BASH_TOOL, UPDATE_SESSION_STATUS_TOOL } from './sandboxMcp.js';
2
2
  const STATUS_PROMPT = [
3
3
  'Treat each session as a ticket. The session status tool is already loaded and available. On your FIRST response in a new session, call it with at minimum `subject` and `stage` before doing other work. `subject` is what the user is trying to solve (e.g. "Fix auth token expiring early"), not what you are doing (not "Debugging jwt.ts"). On RESUME, if you do not see a prior status tool call in conversation history, call it ONCE with no arguments as a dry-run to read the current stored status; if the returned subject is empty OR does not match what the user is now asking for, follow up with a real call to set/correct it.',
4
4
  'Re-call the session status tool whenever the stage changes (investigating -> working -> verifying -> done), whenever work becomes blocked or unblocked (set `blocked` true/false without changing `stage`), or when a one-line `note` would give the user useful progress signal. `note` is an append-only event log, so for long-running tasks emit a fresh `note` every time you rule out an approach, cross a sub-goal, or hit a blocker. Do not skip `verifying` when you have tests/build/repro running. Do not declare `done` until the user\'s problem is fully resolved.',
5
+ 'For long-running work that can safely sit lower in the session list (training, large evaluations, multi-hour scripts), set `pendingMissionLabel` and `pendingMissionUntil` on the status tool. Clear it with `clearPendingMission: true` when the work finishes or is cancelled; setting `stage: "done"` also clears it.',
5
6
  ].join('\n\n');
6
7
  const COMMIT_TRAILER_PROMPT = 'When you create git commits in a quicksave session, add `Co-Authored-By: Quicksave AI <save@quicksave.dev>` as a co-author trailer alongside whatever your platform default already adds (e.g. `Co-Authored-By: Claude ...`). Quicksave is the spawning context and should be credited in addition to — not instead of — the underlying model. Both trailers, one per line, after a blank line below the body.';
7
8
  const PLATFORM_PROMPTS = {
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.js","sourceRoot":"","sources":["../../src/ai/systemPrompt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEhF,MAAM,aAAa,GAAG;IACpB,inBAAinB;IACjnB,kjBAAkjB;CACnjB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf,MAAM,qBAAqB,GACzB,gZAAgZ,CAAC;AAEnZ,MAAM,gBAAgB,GAAuC;IAC3D,aAAa,EAAE;QACb,qGAAqG,iBAAiB,0GAA0G;QAChO,qCAAqC,0BAA0B,KAAK;QACpE,aAAa;QACb,qBAAqB;KACtB;IACD,KAAK,EAAE;QACL,yGAAyG,iBAAiB,wIAAwI;QAClQ,qCAAqC,0BAA0B,KAAK;QACpE,aAAa;QACb,qBAAqB;KACtB;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,KAAc;IAChE,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"systemPrompt.js","sourceRoot":"","sources":["../../src/ai/systemPrompt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEhF,MAAM,aAAa,GAAG;IACpB,inBAAinB;IACjnB,kjBAAkjB;IACljB,0TAA0T;CAC3T,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf,MAAM,qBAAqB,GACzB,gZAAgZ,CAAC;AAEnZ,MAAM,gBAAgB,GAAuC;IAC3D,aAAa,EAAE;QACb,qGAAqG,iBAAiB,0GAA0G;QAChO,qCAAqC,0BAA0B,KAAK;QACpE,aAAa;QACb,qBAAqB;KACtB;IACD,KAAK,EAAE;QACL,yGAAyG,iBAAiB,wIAAwI;QAClQ,qCAAqC,0BAA0B,KAAK;QACpE,aAAa;QACb,qBAAqB;KACtB;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,KAAc;IAChE,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Streaming voice over WebRTC (Phase 1: STT input).
3
+ *
4
+ * The PWA establishes a P2P WebRTC connection to the agent (signaling rides the
5
+ * bus; see `wireVoiceStream`). Audio rides a DataChannel as raw PCM16 binary
6
+ * frames; small JSON control messages (`VoiceDcMessage`) start/stop an
7
+ * utterance. The agent bridges each utterance to a streaming, OpenAI-Realtime-
8
+ * compatible ASR (`RealtimeTranscriber`) and pushes partial/final transcripts
9
+ * back over the same DataChannel.
10
+ *
11
+ * `@roamhq/wrtc` is an optional native dependency and is loaded lazily: if it
12
+ * is missing or fails to load, streaming is simply unavailable and the PWA
13
+ * falls back to the batch `voice:transcribe` verb. No TURN is configured — if
14
+ * the P2P connection cannot be established (STUN only), the PWA disables voice.
15
+ */
16
+ import type { VoiceDcMessage, VoiceRtcConnectResponsePayload, VoiceRtcIceResponsePayload } from '@sumicom/quicksave-shared';
17
+ /** Structural subset of MessageBusServer we depend on (keeps this testable). */
18
+ export interface VoiceBus {
19
+ onCommand<Req = unknown, Res = unknown>(verb: string, handler: (payload: Req, ctx: {
20
+ peer: string;
21
+ }) => Promise<Res> | Res): void;
22
+ publish<T>(path: string, data: T): void;
23
+ }
24
+ /** Classification of an inbound DataChannel message. */
25
+ export type VoiceDcInbound = {
26
+ kind: 'audio';
27
+ bytes: Buffer;
28
+ } | {
29
+ kind: 'control';
30
+ msg: VoiceDcMessage;
31
+ } | {
32
+ kind: 'ignore';
33
+ };
34
+ /**
35
+ * Decide whether a DataChannel frame is binary audio or a JSON control
36
+ * message. Extracted (and pure) so it can be unit-tested without WebRTC.
37
+ */
38
+ export declare function classifyVoiceDcData(data: unknown): VoiceDcInbound;
39
+ /**
40
+ * Probe this machine's voice capability for the handshake ack. Batch
41
+ * transcription is always available in this build; streaming additionally
42
+ * requires the optional native WebRTC dependency to load.
43
+ */
44
+ export declare function probeAudioSupport(): Promise<{
45
+ transcription: boolean;
46
+ streaming: boolean;
47
+ }>;
48
+ /**
49
+ * Manages per-session WebRTC peers and their ASR bridges. One instance is
50
+ * created per agent process; `wireVoiceStream` registers the bus handlers.
51
+ */
52
+ export declare class VoiceStreamManager {
53
+ private readonly bus;
54
+ private readonly peers;
55
+ constructor(bus: VoiceBus);
56
+ /** Whether streaming is available (native WebRTC loadable) on this host. */
57
+ available(): Promise<boolean>;
58
+ /** Handle a WebRTC offer; returns the SDP answer (or an error). */
59
+ connect(sessionId: string, offerSdp: string): Promise<VoiceRtcConnectResponsePayload>;
60
+ /** Add a trickled ICE candidate from the PWA. */
61
+ addIce(sessionId: string, candidate: string | null): Promise<VoiceRtcIceResponsePayload>;
62
+ private wireDataChannel;
63
+ private startUtterance;
64
+ private teardown;
65
+ /** Close all peers (process shutdown). */
66
+ closeAll(): void;
67
+ }
68
+ /**
69
+ * Register the streaming-voice signaling verbs on the bus. Kept separate from
70
+ * `wireLegacyBusVerbs` because these need async ICE pushes via `bus.publish`,
71
+ * which the MessageHandler dispatch path does not expose.
72
+ */
73
+ export declare function wireVoiceStream(bus: VoiceBus): VoiceStreamManager;
74
+ //# sourceMappingURL=voiceStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceStream.d.ts","sourceRoot":"","sources":["../../src/ai/voiceStream.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAEV,cAAc,EAEd,8BAA8B,EAE9B,0BAA0B,EAE3B,MAAM,2BAA2B,CAAC;AAGnC,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,EACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GACnE,IAAI,CAAC;IACR,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACzC;AAED,wDAAwD;AACxD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAiBjE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAEjG;AA8CD;;;GAGG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAEzB,GAAG,EAAE,QAAQ;IAE1C,4EAA4E;IACtE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC,mEAAmE;IAC7D,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA8B3F,iDAAiD;IAC3C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAY9F,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,QAAQ;IAYhB,0CAA0C;IAC1C,QAAQ,IAAI,IAAI;CAGjB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,kBAAkB,CAajE"}
@@ -0,0 +1,179 @@
1
+ import { RealtimeTranscriber } from './realtimeTranscription.js';
2
+ /**
3
+ * Decide whether a DataChannel frame is binary audio or a JSON control
4
+ * message. Extracted (and pure) so it can be unit-tested without WebRTC.
5
+ */
6
+ export function classifyVoiceDcData(data) {
7
+ if (typeof data === 'string') {
8
+ try {
9
+ const msg = JSON.parse(data);
10
+ if (msg && typeof msg.t === 'string')
11
+ return { kind: 'control', msg };
12
+ }
13
+ catch {
14
+ /* fall through */
15
+ }
16
+ return { kind: 'ignore' };
17
+ }
18
+ if (data instanceof ArrayBuffer)
19
+ return { kind: 'audio', bytes: Buffer.from(data) };
20
+ if (ArrayBuffer.isView(data)) {
21
+ const view = data;
22
+ return { kind: 'audio', bytes: Buffer.from(view.buffer, view.byteOffset, view.byteLength) };
23
+ }
24
+ if (Buffer.isBuffer(data))
25
+ return { kind: 'audio', bytes: data };
26
+ return { kind: 'ignore' };
27
+ }
28
+ /**
29
+ * Probe this machine's voice capability for the handshake ack. Batch
30
+ * transcription is always available in this build; streaming additionally
31
+ * requires the optional native WebRTC dependency to load.
32
+ */
33
+ export async function probeAudioSupport() {
34
+ return { transcription: true, streaming: (await loadWrtc()) !== null };
35
+ }
36
+ /** STUN servers from env (comma-separated) or a public default. No TURN. */
37
+ function iceServers() {
38
+ const env = process.env.QUICKSAVE_VOICE_STUN?.trim();
39
+ const urls = env ? env.split(',').map((s) => s.trim()).filter(Boolean) : ['stun:stun.l.google.com:19302'];
40
+ return urls.map((u) => ({ urls: u }));
41
+ }
42
+ let wrtcCache;
43
+ async function loadWrtc() {
44
+ if (wrtcCache !== undefined)
45
+ return wrtcCache;
46
+ try {
47
+ const mod = (await import('@roamhq/wrtc'));
48
+ wrtcCache = (mod.default ?? mod);
49
+ }
50
+ catch {
51
+ wrtcCache = null;
52
+ }
53
+ return wrtcCache;
54
+ }
55
+ /**
56
+ * Manages per-session WebRTC peers and their ASR bridges. One instance is
57
+ * created per agent process; `wireVoiceStream` registers the bus handlers.
58
+ */
59
+ export class VoiceStreamManager {
60
+ bus;
61
+ peers = new Map();
62
+ constructor(bus) {
63
+ this.bus = bus;
64
+ }
65
+ /** Whether streaming is available (native WebRTC loadable) on this host. */
66
+ async available() {
67
+ return (await loadWrtc()) !== null;
68
+ }
69
+ /** Handle a WebRTC offer; returns the SDP answer (or an error). */
70
+ async connect(sessionId, offerSdp) {
71
+ const wrtc = await loadWrtc();
72
+ if (!wrtc)
73
+ return { error: 'Streaming voice is unavailable on this agent.' };
74
+ this.teardown(sessionId); // replace any stale peer for this session
75
+ const pc = new wrtc.RTCPeerConnection({ iceServers: iceServers() });
76
+ const peer = { pc, transcriber: null };
77
+ this.peers.set(sessionId, peer);
78
+ pc.onicecandidate = (e) => {
79
+ const candidate = e.candidate ? JSON.stringify(e.candidate) : null;
80
+ this.bus.publish(`/voice/rtc/${sessionId}`, { candidate });
81
+ };
82
+ pc.ondatachannel = (e) => this.wireDataChannel(sessionId, peer, e.channel);
83
+ pc.onconnectionstatechange = () => {
84
+ if (['failed', 'closed', 'disconnected'].includes(pc.connectionState))
85
+ this.teardown(sessionId);
86
+ };
87
+ try {
88
+ await pc.setRemoteDescription({ type: 'offer', sdp: offerSdp });
89
+ const answer = await pc.createAnswer();
90
+ await pc.setLocalDescription(answer);
91
+ return { sdp: answer.sdp };
92
+ }
93
+ catch (err) {
94
+ this.teardown(sessionId);
95
+ return { error: err instanceof Error ? err.message : 'Failed to negotiate WebRTC connection.' };
96
+ }
97
+ }
98
+ /** Add a trickled ICE candidate from the PWA. */
99
+ async addIce(sessionId, candidate) {
100
+ const peer = this.peers.get(sessionId);
101
+ if (!peer)
102
+ return { ok: false, error: 'No active voice session.' };
103
+ if (candidate === null)
104
+ return { ok: true }; // end-of-candidates marker
105
+ try {
106
+ await peer.pc.addIceCandidate(JSON.parse(candidate));
107
+ return { ok: true };
108
+ }
109
+ catch (err) {
110
+ return { ok: false, error: err instanceof Error ? err.message : 'Bad ICE candidate.' };
111
+ }
112
+ }
113
+ wireDataChannel(sessionId, peer, channel) {
114
+ const sendDc = (msg) => {
115
+ try {
116
+ channel.send(JSON.stringify(msg));
117
+ }
118
+ catch {
119
+ /* channel may have closed */
120
+ }
121
+ };
122
+ channel.onmessage = (e) => {
123
+ const inbound = classifyVoiceDcData(e.data);
124
+ if (inbound.kind === 'audio') {
125
+ peer.transcriber?.appendAudio(inbound.bytes);
126
+ return;
127
+ }
128
+ if (inbound.kind !== 'control')
129
+ return;
130
+ const msg = inbound.msg;
131
+ if (msg.t === 'start') {
132
+ this.startUtterance(peer, msg.config, msg.sampleRate, sendDc);
133
+ }
134
+ else if (msg.t === 'stop') {
135
+ peer.transcriber?.commit();
136
+ }
137
+ };
138
+ channel.onclose = () => this.teardown(sessionId);
139
+ }
140
+ startUtterance(peer, config, sampleRate, sendDc) {
141
+ peer.transcriber?.close();
142
+ peer.transcriber = new RealtimeTranscriber(config, sampleRate, {
143
+ onPartial: (text) => sendDc({ t: 'transcript', final: false, text }),
144
+ onFinal: (text) => sendDc({ t: 'transcript', final: true, text }),
145
+ onError: (message) => sendDc({ t: 'error', message }),
146
+ });
147
+ peer.transcriber.start();
148
+ }
149
+ teardown(sessionId) {
150
+ const peer = this.peers.get(sessionId);
151
+ if (!peer)
152
+ return;
153
+ this.peers.delete(sessionId);
154
+ peer.transcriber?.close();
155
+ try {
156
+ peer.pc.close();
157
+ }
158
+ catch {
159
+ /* already closed */
160
+ }
161
+ }
162
+ /** Close all peers (process shutdown). */
163
+ closeAll() {
164
+ for (const id of [...this.peers.keys()])
165
+ this.teardown(id);
166
+ }
167
+ }
168
+ /**
169
+ * Register the streaming-voice signaling verbs on the bus. Kept separate from
170
+ * `wireLegacyBusVerbs` because these need async ICE pushes via `bus.publish`,
171
+ * which the MessageHandler dispatch path does not expose.
172
+ */
173
+ export function wireVoiceStream(bus) {
174
+ const manager = new VoiceStreamManager(bus);
175
+ bus.onCommand('voice:rtc-connect', (payload) => manager.connect(payload.sessionId, payload.sdp));
176
+ bus.onCommand('voice:rtc-ice', (payload) => manager.addIce(payload.sessionId, payload.candidate));
177
+ return manager;
178
+ }
179
+ //# sourceMappingURL=voiceStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceStream.js","sourceRoot":"","sources":["../../src/ai/voiceStream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Agent-side voice transcription against a Whisper-compatible API.
3
+ *
4
+ * Runs on the agent (Node) rather than the PWA so there is no browser CORS
5
+ * constraint — OpenAI's hosted endpoint and self-hosted servers both work.
6
+ * The PWA sends the recording + the user's config; nothing is persisted here.
7
+ */
8
+ import type { VoiceConfig } from '@sumicom/quicksave-shared';
9
+ /** Below this the audio is effectively empty (decodes to 0 seconds). */
10
+ export declare const MIN_AUDIO_BYTES = 1024;
11
+ export declare class VoiceTranscriptionError extends Error {
12
+ readonly cause?: unknown | undefined;
13
+ constructor(message: string, cause?: unknown | undefined);
14
+ }
15
+ /** True when the config has the minimum needed for batch transcription. */
16
+ export declare function isVoiceConfigUsable(config: VoiceConfig | null | undefined): config is VoiceConfig;
17
+ /**
18
+ * Transcribe audio bytes to text. Posts multipart/form-data to
19
+ * `{baseUrl}/audio/transcriptions` (OpenAI Whisper API shape).
20
+ *
21
+ * @throws {VoiceTranscriptionError} on misconfiguration, network failure,
22
+ * non-2xx, or a response missing a usable `text` field.
23
+ */
24
+ export declare function transcribeAudio(audio: Buffer | Uint8Array, mimeType: string, config: VoiceConfig): Promise<string>;
25
+ /**
26
+ * List model ids from `GET {baseUrl}/models` (OpenAI-compatible). Used to
27
+ * populate the model dropdown in Settings.
28
+ *
29
+ * @throws {VoiceTranscriptionError} on misconfiguration, network/CORS-free
30
+ * failure, non-2xx, or an unrecognizable response shape.
31
+ */
32
+ export declare function listModels(config: VoiceConfig): Promise<string[]>;
33
+ //# sourceMappingURL=voiceTranscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceTranscription.d.ts","sourceRoot":"","sources":["../../src/ai/voiceTranscription.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,wEAAwE;AACxE,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,qBAAa,uBAAwB,SAAQ,KAAK;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAAzC,OAAO,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,OAAO,YAAA;CAItD;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,IAAI,WAAW,CAEjG;AAqBD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCvE"}
@@ -0,0 +1,122 @@
1
+ /** Below this the audio is effectively empty (decodes to 0 seconds). */
2
+ export const MIN_AUDIO_BYTES = 1024;
3
+ export class VoiceTranscriptionError extends Error {
4
+ cause;
5
+ constructor(message, cause) {
6
+ super(message);
7
+ this.cause = cause;
8
+ this.name = 'VoiceTranscriptionError';
9
+ }
10
+ }
11
+ /** True when the config has the minimum needed for batch transcription. */
12
+ export function isVoiceConfigUsable(config) {
13
+ return !!config && config.baseUrl.trim().length > 0 && config.transcribeModel.trim().length > 0;
14
+ }
15
+ /** Join base URL + path without doubling or dropping the slash. */
16
+ function apiUrl(baseUrl, path) {
17
+ return `${baseUrl.trim().replace(/\/+$/, '')}${path}`;
18
+ }
19
+ function authHeaders(config) {
20
+ const headers = {};
21
+ if (config.apiKey.trim())
22
+ headers.Authorization = `Bearer ${config.apiKey.trim()}`;
23
+ return headers;
24
+ }
25
+ async function errorDetail(res) {
26
+ try {
27
+ return (await res.text()).slice(0, 300);
28
+ }
29
+ catch {
30
+ return '';
31
+ }
32
+ }
33
+ /**
34
+ * Transcribe audio bytes to text. Posts multipart/form-data to
35
+ * `{baseUrl}/audio/transcriptions` (OpenAI Whisper API shape).
36
+ *
37
+ * @throws {VoiceTranscriptionError} on misconfiguration, network failure,
38
+ * non-2xx, or a response missing a usable `text` field.
39
+ */
40
+ export async function transcribeAudio(audio, mimeType, config) {
41
+ if (!isVoiceConfigUsable(config)) {
42
+ throw new VoiceTranscriptionError('Voice transcription is not configured.');
43
+ }
44
+ // Reject effectively-empty audio before spending an API round-trip — a
45
+ // near-empty container decodes to 0 seconds and the API rejects it anyway.
46
+ if (audio.length < MIN_AUDIO_BYTES) {
47
+ throw new VoiceTranscriptionError('No speech captured.');
48
+ }
49
+ const ext = mimeType.includes('mp4') ? 'mp4' : mimeType.includes('ogg') ? 'ogg' : 'webm';
50
+ const form = new FormData();
51
+ form.append('file', new Blob([audio], { type: mimeType || 'audio/webm' }), `recording.${ext}`);
52
+ form.append('model', config.transcribeModel.trim());
53
+ form.append('response_format', 'json');
54
+ let res;
55
+ try {
56
+ res = await fetch(apiUrl(config.baseUrl, '/audio/transcriptions'), {
57
+ method: 'POST',
58
+ headers: authHeaders(config),
59
+ body: form,
60
+ });
61
+ }
62
+ catch (err) {
63
+ throw new VoiceTranscriptionError('Could not reach the transcription server.', err);
64
+ }
65
+ if (!res.ok) {
66
+ const detail = await errorDetail(res);
67
+ throw new VoiceTranscriptionError(`Transcription failed (${res.status})${detail ? `: ${detail}` : ''}`);
68
+ }
69
+ let payload;
70
+ try {
71
+ payload = await res.json();
72
+ }
73
+ catch (err) {
74
+ throw new VoiceTranscriptionError('Transcription server returned an invalid response.', err);
75
+ }
76
+ const text = payload?.text;
77
+ if (typeof text !== 'string') {
78
+ throw new VoiceTranscriptionError('Transcription response did not contain text.');
79
+ }
80
+ return text.trim();
81
+ }
82
+ /**
83
+ * List model ids from `GET {baseUrl}/models` (OpenAI-compatible). Used to
84
+ * populate the model dropdown in Settings.
85
+ *
86
+ * @throws {VoiceTranscriptionError} on misconfiguration, network/CORS-free
87
+ * failure, non-2xx, or an unrecognizable response shape.
88
+ */
89
+ export async function listModels(config) {
90
+ if (!config.baseUrl.trim()) {
91
+ throw new VoiceTranscriptionError('No API base URL configured.');
92
+ }
93
+ let res;
94
+ try {
95
+ res = await fetch(apiUrl(config.baseUrl, '/models'), { headers: authHeaders(config) });
96
+ }
97
+ catch (err) {
98
+ throw new VoiceTranscriptionError('Could not reach the model list endpoint.', err);
99
+ }
100
+ if (!res.ok) {
101
+ const detail = await errorDetail(res);
102
+ throw new VoiceTranscriptionError(`Listing models failed (${res.status})${detail ? `: ${detail}` : ''}`);
103
+ }
104
+ let payload;
105
+ try {
106
+ payload = await res.json();
107
+ }
108
+ catch (err) {
109
+ throw new VoiceTranscriptionError('Model list endpoint returned an invalid response.', err);
110
+ }
111
+ // OpenAI shape: { data: [{ id }, ...] }. Some servers return a bare array.
112
+ const data = Array.isArray(payload)
113
+ ? payload
114
+ : payload?.data;
115
+ if (!Array.isArray(data)) {
116
+ throw new VoiceTranscriptionError('Model list response was not in a recognized format.');
117
+ }
118
+ return data
119
+ .map((m) => (typeof m === 'string' ? m : m?.id))
120
+ .filter((id) => typeof id === 'string' && id.length > 0);
121
+ }
122
+ //# sourceMappingURL=voiceTranscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voiceTranscription.js","sourceRoot":"","sources":["../../src/ai/voiceTranscription.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fileBrowser.d.ts","sourceRoot":"","sources":["../../src/files/fileBrowser.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAGV,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAqCnC,qBAAa,WAAW;IAChB,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAoCzE,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6EhF;AA2ED,wBAAgB,cAAc,IAAI,WAAW,CAG5C;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
1
+ {"version":3,"file":"fileBrowser.d.ts","sourceRoot":"","sources":["../../src/files/fileBrowser.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAGV,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAsCnC,qBAAa,WAAW;IAChB,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAoCzE,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6EhF;AA2ED,wBAAgB,cAAc,IAAI,WAAW,CAG5C;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -24,8 +24,9 @@ const DEFAULT_PREVIEW_BYTES = 100 * 1024;
24
24
  /** Absolute ceiling on `maxBytes` regardless of what the PWA asks for. */
25
25
  const HARD_PREVIEW_BYTES = 512 * 1024;
26
26
  /** Larger ceiling when the caller opts in to image inlining (`allowImage`).
27
- * base64 inflates by ~33%, so 4 MiB on the wire 3 MiB of source pixels. */
28
- const HARD_IMAGE_BYTES = 4 * 1024 * 1024;
27
+ * Base64 inflates by ~33%, so 16 MiB of source pixels is ~21 MiB before
28
+ * transport compression. */
29
+ const HARD_IMAGE_BYTES = 16 * 1024 * 1024;
29
30
  /** Bytes to sniff when classifying a file as text vs binary (NUL byte = binary). */
30
31
  const SNIFF_BYTES = 8 * 1024;
31
32
  /** Extensions we recognise for inline image rendering. SVG is text and is