@sumicom/quicksave 0.8.8 → 0.8.10

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 (122) hide show
  1. package/dist/ai/cardBuilder.d.ts +65 -4
  2. package/dist/ai/cardBuilder.d.ts.map +1 -1
  3. package/dist/ai/cardBuilder.js +338 -28
  4. package/dist/ai/cardBuilder.js.map +1 -1
  5. package/dist/ai/claudeCliProvider.d.ts +15 -0
  6. package/dist/ai/claudeCliProvider.d.ts.map +1 -1
  7. package/dist/ai/claudeCliProvider.js +87 -3
  8. package/dist/ai/claudeCliProvider.js.map +1 -1
  9. package/dist/ai/claudeCodeProvider.d.ts +4 -0
  10. package/dist/ai/claudeCodeProvider.d.ts.map +1 -1
  11. package/dist/ai/claudeCodeProvider.js +41 -0
  12. package/dist/ai/claudeCodeProvider.js.map +1 -1
  13. package/dist/ai/claudeSdkProvider.d.ts +1 -0
  14. package/dist/ai/claudeSdkProvider.d.ts.map +1 -1
  15. package/dist/ai/claudeSdkProvider.js +14 -2
  16. package/dist/ai/claudeSdkProvider.js.map +1 -1
  17. package/dist/ai/claudeTerminal/cardSynth.d.ts +63 -0
  18. package/dist/ai/claudeTerminal/cardSynth.d.ts.map +1 -0
  19. package/dist/ai/claudeTerminal/cardSynth.js +92 -0
  20. package/dist/ai/claudeTerminal/cardSynth.js.map +1 -0
  21. package/dist/ai/claudeTerminal/hookBridge.d.ts +56 -0
  22. package/dist/ai/claudeTerminal/hookBridge.d.ts.map +1 -0
  23. package/dist/ai/claudeTerminal/hookBridge.js +131 -0
  24. package/dist/ai/claudeTerminal/hookBridge.js.map +1 -0
  25. package/dist/ai/claudeTerminal/hookHandler.d.ts +18 -0
  26. package/dist/ai/claudeTerminal/hookHandler.d.ts.map +1 -0
  27. package/dist/ai/claudeTerminal/hookHandler.js +124 -0
  28. package/dist/ai/claudeTerminal/hookHandler.js.map +1 -0
  29. package/dist/ai/claudeTerminal/index.d.ts +5 -0
  30. package/dist/ai/claudeTerminal/index.d.ts.map +1 -0
  31. package/dist/ai/claudeTerminal/index.js +7 -0
  32. package/dist/ai/claudeTerminal/index.js.map +1 -0
  33. package/dist/ai/claudeTerminal/jsonlTail.d.ts +40 -0
  34. package/dist/ai/claudeTerminal/jsonlTail.d.ts.map +1 -0
  35. package/dist/ai/claudeTerminal/jsonlTail.js +129 -0
  36. package/dist/ai/claudeTerminal/jsonlTail.js.map +1 -0
  37. package/dist/ai/claudeTerminal/provider.d.ts +106 -0
  38. package/dist/ai/claudeTerminal/provider.d.ts.map +1 -0
  39. package/dist/ai/claudeTerminal/provider.js +579 -0
  40. package/dist/ai/claudeTerminal/provider.js.map +1 -0
  41. package/dist/ai/claudeTerminal/settingsBuilder.d.ts +44 -0
  42. package/dist/ai/claudeTerminal/settingsBuilder.d.ts.map +1 -0
  43. package/dist/ai/claudeTerminal/settingsBuilder.js +40 -0
  44. package/dist/ai/claudeTerminal/settingsBuilder.js.map +1 -0
  45. package/dist/ai/codexAppServer/cardAdapter.d.ts.map +1 -1
  46. package/dist/ai/codexAppServer/cardAdapter.js +13 -5
  47. package/dist/ai/codexAppServer/cardAdapter.js.map +1 -1
  48. package/dist/ai/codexAppServer/provider.d.ts +10 -2
  49. package/dist/ai/codexAppServer/provider.d.ts.map +1 -1
  50. package/dist/ai/codexAppServer/provider.js +158 -22
  51. package/dist/ai/codexAppServer/provider.js.map +1 -1
  52. package/dist/ai/openCodeProvider.d.ts +106 -0
  53. package/dist/ai/openCodeProvider.d.ts.map +1 -0
  54. package/dist/ai/openCodeProvider.js +617 -0
  55. package/dist/ai/openCodeProvider.js.map +1 -0
  56. package/dist/ai/openCodeServer.d.ts +88 -0
  57. package/dist/ai/openCodeServer.d.ts.map +1 -0
  58. package/dist/ai/openCodeServer.js +350 -0
  59. package/dist/ai/openCodeServer.js.map +1 -0
  60. package/dist/ai/profiles/project-sandbox.sb +26 -0
  61. package/dist/ai/provider.d.ts +54 -1
  62. package/dist/ai/provider.d.ts.map +1 -1
  63. package/dist/ai/provider.js +10 -0
  64. package/dist/ai/provider.js.map +1 -1
  65. package/dist/ai/queuedUserPrompts.d.ts +8 -0
  66. package/dist/ai/queuedUserPrompts.d.ts.map +1 -0
  67. package/dist/ai/queuedUserPrompts.js +19 -0
  68. package/dist/ai/queuedUserPrompts.js.map +1 -0
  69. package/dist/ai/realtimeTranscription.d.ts +39 -0
  70. package/dist/ai/realtimeTranscription.d.ts.map +1 -0
  71. package/dist/ai/realtimeTranscription.js +154 -0
  72. package/dist/ai/realtimeTranscription.js.map +1 -0
  73. package/dist/ai/sandboxMcp.d.ts +7 -0
  74. package/dist/ai/sandboxMcp.d.ts.map +1 -1
  75. package/dist/ai/sandboxMcp.js +4 -0
  76. package/dist/ai/sandboxMcp.js.map +1 -1
  77. package/dist/ai/sandboxMcpStdio.d.ts +1 -1
  78. package/dist/ai/sandboxMcpStdio.js +120 -47
  79. package/dist/ai/sandboxMcpStdio.js.map +1 -1
  80. package/dist/ai/sessionManager.d.ts +20 -1
  81. package/dist/ai/sessionManager.d.ts.map +1 -1
  82. package/dist/ai/sessionManager.js +220 -10
  83. package/dist/ai/sessionManager.js.map +1 -1
  84. package/dist/ai/sessionRegistry.d.ts +6 -0
  85. package/dist/ai/sessionRegistry.d.ts.map +1 -1
  86. package/dist/ai/sessionRegistry.js +13 -0
  87. package/dist/ai/sessionRegistry.js.map +1 -1
  88. package/dist/ai/sessionRegistryLocator.d.ts +14 -0
  89. package/dist/ai/sessionRegistryLocator.d.ts.map +1 -0
  90. package/dist/ai/sessionRegistryLocator.js +44 -0
  91. package/dist/ai/sessionRegistryLocator.js.map +1 -0
  92. package/dist/ai/systemPrompt.d.ts.map +1 -1
  93. package/dist/ai/systemPrompt.js +2 -1
  94. package/dist/ai/systemPrompt.js.map +1 -1
  95. package/dist/ai/voiceStream.d.ts +74 -0
  96. package/dist/ai/voiceStream.d.ts.map +1 -0
  97. package/dist/ai/voiceStream.js +179 -0
  98. package/dist/ai/voiceStream.js.map +1 -0
  99. package/dist/ai/voiceTranscription.d.ts +33 -0
  100. package/dist/ai/voiceTranscription.d.ts.map +1 -0
  101. package/dist/ai/voiceTranscription.js +122 -0
  102. package/dist/ai/voiceTranscription.js.map +1 -0
  103. package/dist/files/fileBrowser.d.ts.map +1 -1
  104. package/dist/files/fileBrowser.js +15 -2
  105. package/dist/files/fileBrowser.js.map +1 -1
  106. package/dist/handlers/legacyBusAdapter.d.ts +1 -1
  107. package/dist/handlers/legacyBusAdapter.d.ts.map +1 -1
  108. package/dist/handlers/legacyBusAdapter.js +7 -1
  109. package/dist/handlers/legacyBusAdapter.js.map +1 -1
  110. package/dist/handlers/messageHandler.d.ts +6 -0
  111. package/dist/handlers/messageHandler.d.ts.map +1 -1
  112. package/dist/handlers/messageHandler.js +119 -8
  113. package/dist/handlers/messageHandler.js.map +1 -1
  114. package/dist/index.js +2 -2
  115. package/dist/index.js.map +1 -1
  116. package/dist/service/ipcClient.js +1 -1
  117. package/dist/service/ipcClient.js.map +1 -1
  118. package/dist/service/run.d.ts.map +1 -1
  119. package/dist/service/run.js +81 -3
  120. package/dist/service/run.js.map +1 -1
  121. package/dist/service/types.js +1 -1
  122. package/package.json +6 -3
@@ -0,0 +1,106 @@
1
+ import type { Attachment, ContextUsageBreakdown } from '@sumicom/quicksave-shared';
2
+ import { StreamCardBuilder } from './cardBuilder.js';
3
+ import type { CodingAgentProvider, ProviderSession, ProviderCallbacks, StartSessionOpts, ResumeSessionOpts, ProbeResult } from './provider.js';
4
+ import { type OpenCodeEvent, type OpenCodeServer } from './openCodeServer.js';
5
+ export declare function isValidOpenCodeModelId(model: string | undefined | null): model is string;
6
+ export declare function parseModelId(model: string): {
7
+ providerID: string;
8
+ modelID: string;
9
+ };
10
+ export declare function _resetOpenCodeBinCache(): void;
11
+ export declare function getOpenCodeBin(): string;
12
+ export interface TurnConfig {
13
+ model: {
14
+ providerID: string;
15
+ modelID: string;
16
+ };
17
+ variant?: string;
18
+ system?: string;
19
+ }
20
+ export declare class OpencodeSession implements ProviderSession {
21
+ /** opencode server's `ses_…` id. Stable across turns; we use it for
22
+ * follow-up prompts and abort. */
23
+ readonly opencodeSessionId: string;
24
+ private server;
25
+ private router;
26
+ private dispose;
27
+ private aliveFlag;
28
+ private turnConfig;
29
+ private cb;
30
+ private callbacks;
31
+ constructor(opencodeSessionId: string, server: OpenCodeServer, turnConfig: TurnConfig);
32
+ /** @internal wires the per-session SSE consumer state for follow-ups. */
33
+ _setTurnWiring(cb: StreamCardBuilder, callbacks: ProviderCallbacks, router: SessionEventRouter, dispose: () => void): void;
34
+ /** Hot resume entry: SessionManager calls this for in-process follow-ups.
35
+ * Kicks off a new turn against the same opencode session. */
36
+ sendUserMessage(prompt: string, attachments?: readonly Attachment[]): void;
37
+ interrupt(): void;
38
+ kill(): void;
39
+ get alive(): boolean;
40
+ getContextUsage(): Promise<ContextUsageBreakdown | null>;
41
+ }
42
+ export declare class OpenCodeProvider implements CodingAgentProvider {
43
+ readonly id: "opencode";
44
+ readonly historyMode: "memory";
45
+ readonly label = "OpenCode";
46
+ probeProvider(): Promise<ProbeResult>;
47
+ private listAvailableModels;
48
+ private readConfigModelNames;
49
+ private isCliAvailable;
50
+ startSession(opts: StartSessionOpts, cardBuilder: StreamCardBuilder, callbacks: ProviderCallbacks): Promise<{
51
+ sessionId: string;
52
+ session: ProviderSession;
53
+ }>;
54
+ resumeSession(opts: ResumeSessionOpts, cardBuilder: StreamCardBuilder, callbacks: ProviderCallbacks): Promise<{
55
+ sessionId: string;
56
+ session: ProviderSession;
57
+ }>;
58
+ }
59
+ /** @internal exposed for tests; do not use outside this module. */
60
+ export declare class SessionEventRouter {
61
+ private readonly sessionId;
62
+ private readonly cb;
63
+ private readonly callbacks;
64
+ private readonly server;
65
+ private finalized;
66
+ /** Track which parts we've already emitted as cards so re-emits become
67
+ * no-ops. opencode publishes both `delta` and `updated` events for the
68
+ * same Part; we listen only to `updated` but the same part can update
69
+ * many times (e.g. tool state transitions). For text parts we coalesce
70
+ * by holding only the latest snapshot. */
71
+ private toolCards;
72
+ private toolResults;
73
+ private textPartIds;
74
+ private reasoningPartIds;
75
+ constructor(sessionId: string, cb: StreamCardBuilder, callbacks: ProviderCallbacks, server: OpenCodeServer);
76
+ /** Reset turn-scoped state so the next opencode turn streams into a fresh
77
+ * set of cards. Per-session disposers and the SSE subscription stay live. */
78
+ resetForNewTurn(): void;
79
+ handle(ev: OpenCodeEvent): void;
80
+ /** Coalesce concurrent tool-sync requests into a single in-flight fetch.
81
+ * Subsequent callers wait on the same promise so the REST endpoint is
82
+ * hit at most once per "cycle". */
83
+ private toolSyncPending;
84
+ private scheduleToolSync;
85
+ /** Wait for any in-flight tool sync to complete. Used by finalize() so
86
+ * the final stream-end fires AFTER all tool cards have been emitted. */
87
+ private waitForToolSync;
88
+ /** Pull message parts from REST and emit cards for any tool parts we
89
+ * haven't seen yet. Idempotent — relies on `toolCards` / `toolResults`
90
+ * sets keyed by callID to dedup against earlier syncs and against any
91
+ * future SSE-delivered `message.part.updated` events. */
92
+ private syncToolPartsFromRest;
93
+ /** Incremental delta on a `text` or `reasoning` part. We accumulate per
94
+ * partID and emit per-card for clean bubble grouping. */
95
+ private deltaBuf;
96
+ private handleDelta;
97
+ /** Flush buffered reasoning chunks (collected via handleDelta) into a
98
+ * single thinkingBlock per part. Idempotent. */
99
+ private flushPendingReasoning;
100
+ private handlePart;
101
+ private handlePermissionAsked;
102
+ private emitErrorCard;
103
+ finalize(success: boolean, error?: string): void;
104
+ private finalizeAsync;
105
+ }
106
+ //# sourceMappingURL=openCodeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openCodeProvider.d.ts","sourceRoot":"","sources":["../../src/ai/openCodeProvider.ts"],"names":[],"mappings":"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"}