mstro-app 0.5.1 → 0.5.5

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 (240) hide show
  1. package/PRIVACY.md +9 -9
  2. package/README.md +71 -28
  3. package/bin/commands/config.js +1 -1
  4. package/bin/mstro.js +55 -4
  5. package/dist/server/cli/eta-estimator.d.ts +55 -0
  6. package/dist/server/cli/eta-estimator.d.ts.map +1 -0
  7. package/dist/server/cli/eta-estimator.js +222 -0
  8. package/dist/server/cli/eta-estimator.js.map +1 -0
  9. package/dist/server/cli/headless/stall-assessor.d.ts +50 -0
  10. package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
  11. package/dist/server/cli/headless/stall-assessor.js +64 -9
  12. package/dist/server/cli/headless/stall-assessor.js.map +1 -1
  13. package/dist/server/cli/headless/tool-watchdog.d.ts +21 -0
  14. package/dist/server/cli/headless/tool-watchdog.d.ts.map +1 -1
  15. package/dist/server/cli/headless/tool-watchdog.js +19 -12
  16. package/dist/server/cli/headless/tool-watchdog.js.map +1 -1
  17. package/dist/server/cli/improvisation-history-store.d.ts.map +1 -1
  18. package/dist/server/cli/improvisation-history-store.js +5 -1
  19. package/dist/server/cli/improvisation-history-store.js.map +1 -1
  20. package/dist/server/cli/improvisation-output-queue.d.ts +5 -1
  21. package/dist/server/cli/improvisation-output-queue.d.ts.map +1 -1
  22. package/dist/server/cli/improvisation-output-queue.js +30 -7
  23. package/dist/server/cli/improvisation-output-queue.js.map +1 -1
  24. package/dist/server/cli/improvisation-session-manager.d.ts +29 -0
  25. package/dist/server/cli/improvisation-session-manager.d.ts.map +1 -1
  26. package/dist/server/cli/improvisation-session-manager.js +50 -1
  27. package/dist/server/cli/improvisation-session-manager.js.map +1 -1
  28. package/dist/server/cli/improvisation-types.d.ts +2 -0
  29. package/dist/server/cli/improvisation-types.d.ts.map +1 -1
  30. package/dist/server/cli/improvisation-types.js.map +1 -1
  31. package/dist/server/engines/EngineEvent.d.ts +126 -0
  32. package/dist/server/engines/EngineEvent.d.ts.map +1 -0
  33. package/dist/server/engines/EngineEvent.js +11 -0
  34. package/dist/server/engines/EngineEvent.js.map +1 -0
  35. package/dist/server/engines/claude/ClaudeCodeEngine.d.ts +47 -0
  36. package/dist/server/engines/claude/ClaudeCodeEngine.d.ts.map +1 -0
  37. package/dist/server/engines/claude/ClaudeCodeEngine.js +338 -0
  38. package/dist/server/engines/claude/ClaudeCodeEngine.js.map +1 -0
  39. package/dist/server/engines/factory.d.ts +21 -0
  40. package/dist/server/engines/factory.d.ts.map +1 -0
  41. package/dist/server/engines/factory.js +152 -0
  42. package/dist/server/engines/factory.js.map +1 -0
  43. package/dist/server/engines/opencode/OpenCodeEngine.d.ts +148 -0
  44. package/dist/server/engines/opencode/OpenCodeEngine.d.ts.map +1 -0
  45. package/dist/server/engines/opencode/OpenCodeEngine.js +630 -0
  46. package/dist/server/engines/opencode/OpenCodeEngine.js.map +1 -0
  47. package/dist/server/engines/opencode/OpenCodeServerManager.d.ts +172 -0
  48. package/dist/server/engines/opencode/OpenCodeServerManager.d.ts.map +1 -0
  49. package/dist/server/engines/opencode/OpenCodeServerManager.js +390 -0
  50. package/dist/server/engines/opencode/OpenCodeServerManager.js.map +1 -0
  51. package/dist/server/engines/opencode/model-catalog.d.ts +94 -0
  52. package/dist/server/engines/opencode/model-catalog.d.ts.map +1 -0
  53. package/dist/server/engines/opencode/model-catalog.js +141 -0
  54. package/dist/server/engines/opencode/model-catalog.js.map +1 -0
  55. package/dist/server/engines/types.d.ts +146 -0
  56. package/dist/server/engines/types.d.ts.map +1 -0
  57. package/dist/server/engines/types.js +4 -0
  58. package/dist/server/engines/types.js.map +1 -0
  59. package/dist/server/index.js +1 -1
  60. package/dist/server/index.js.map +1 -1
  61. package/dist/server/mcp/bouncer-haiku.d.ts +17 -4
  62. package/dist/server/mcp/bouncer-haiku.d.ts.map +1 -1
  63. package/dist/server/mcp/bouncer-haiku.js +8 -124
  64. package/dist/server/mcp/bouncer-haiku.js.map +1 -1
  65. package/dist/server/mcp/bouncer-integration.d.ts +45 -0
  66. package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
  67. package/dist/server/mcp/bouncer-integration.js +69 -5
  68. package/dist/server/mcp/bouncer-integration.js.map +1 -1
  69. package/dist/server/mcp/classifier/BouncerClassifier.d.ts +34 -0
  70. package/dist/server/mcp/classifier/BouncerClassifier.d.ts.map +1 -0
  71. package/dist/server/mcp/classifier/BouncerClassifier.js +4 -0
  72. package/dist/server/mcp/classifier/BouncerClassifier.js.map +1 -0
  73. package/dist/server/mcp/classifier/ClaudeBouncerClassifier.d.ts +17 -0
  74. package/dist/server/mcp/classifier/ClaudeBouncerClassifier.d.ts.map +1 -0
  75. package/dist/server/mcp/classifier/ClaudeBouncerClassifier.js +142 -0
  76. package/dist/server/mcp/classifier/ClaudeBouncerClassifier.js.map +1 -0
  77. package/dist/server/mcp/classifier/OpenCodeBouncerClassifier.d.ts +68 -0
  78. package/dist/server/mcp/classifier/OpenCodeBouncerClassifier.d.ts.map +1 -0
  79. package/dist/server/mcp/classifier/OpenCodeBouncerClassifier.js +182 -0
  80. package/dist/server/mcp/classifier/OpenCodeBouncerClassifier.js.map +1 -0
  81. package/dist/server/mcp/classifier/factory.d.ts +70 -0
  82. package/dist/server/mcp/classifier/factory.d.ts.map +1 -0
  83. package/dist/server/mcp/classifier/factory.js +155 -0
  84. package/dist/server/mcp/classifier/factory.js.map +1 -0
  85. package/dist/server/services/plan/agent-resolver.d.ts +26 -0
  86. package/dist/server/services/plan/agent-resolver.d.ts.map +1 -0
  87. package/dist/server/services/plan/agent-resolver.js +102 -0
  88. package/dist/server/services/plan/agent-resolver.js.map +1 -0
  89. package/dist/server/services/plan/composer.d.ts.map +1 -1
  90. package/dist/server/services/plan/composer.js +59 -11
  91. package/dist/server/services/plan/composer.js.map +1 -1
  92. package/dist/server/services/plan/executor.d.ts.map +1 -1
  93. package/dist/server/services/plan/executor.js +3 -1
  94. package/dist/server/services/plan/executor.js.map +1 -1
  95. package/dist/server/services/plan/issue-prompt-builder.d.ts.map +1 -1
  96. package/dist/server/services/plan/issue-prompt-builder.js +33 -1
  97. package/dist/server/services/plan/issue-prompt-builder.js.map +1 -1
  98. package/dist/server/services/plan/parser-core.d.ts.map +1 -1
  99. package/dist/server/services/plan/parser-core.js +1 -0
  100. package/dist/server/services/plan/parser-core.js.map +1 -1
  101. package/dist/server/services/plan/types.d.ts +1 -0
  102. package/dist/server/services/plan/types.d.ts.map +1 -1
  103. package/dist/server/services/settings.d.ts +76 -2
  104. package/dist/server/services/settings.d.ts.map +1 -1
  105. package/dist/server/services/settings.js +127 -4
  106. package/dist/server/services/settings.js.map +1 -1
  107. package/dist/server/services/websocket/git-branch-handlers.d.ts.map +1 -1
  108. package/dist/server/services/websocket/git-branch-handlers.js +19 -6
  109. package/dist/server/services/websocket/git-branch-handlers.js.map +1 -1
  110. package/dist/server/services/websocket/handler.d.ts +17 -1
  111. package/dist/server/services/websocket/handler.d.ts.map +1 -1
  112. package/dist/server/services/websocket/handler.js +54 -2
  113. package/dist/server/services/websocket/handler.js.map +1 -1
  114. package/dist/server/services/websocket/quality-complexity.d.ts.map +1 -1
  115. package/dist/server/services/websocket/quality-complexity.js +78 -26
  116. package/dist/server/services/websocket/quality-complexity.js.map +1 -1
  117. package/dist/server/services/websocket/quality-eta.d.ts +47 -0
  118. package/dist/server/services/websocket/quality-eta.d.ts.map +1 -0
  119. package/dist/server/services/websocket/quality-eta.js +110 -0
  120. package/dist/server/services/websocket/quality-eta.js.map +1 -0
  121. package/dist/server/services/websocket/quality-grading.d.ts +27 -4
  122. package/dist/server/services/websocket/quality-grading.d.ts.map +1 -1
  123. package/dist/server/services/websocket/quality-grading.js +369 -201
  124. package/dist/server/services/websocket/quality-grading.js.map +1 -1
  125. package/dist/server/services/websocket/quality-handlers.d.ts.map +1 -1
  126. package/dist/server/services/websocket/quality-handlers.js +145 -7
  127. package/dist/server/services/websocket/quality-handlers.js.map +1 -1
  128. package/dist/server/services/websocket/quality-operations.d.ts +34 -0
  129. package/dist/server/services/websocket/quality-operations.d.ts.map +1 -0
  130. package/dist/server/services/websocket/quality-operations.js +47 -0
  131. package/dist/server/services/websocket/quality-operations.js.map +1 -0
  132. package/dist/server/services/websocket/quality-persistence.d.ts +9 -0
  133. package/dist/server/services/websocket/quality-persistence.d.ts.map +1 -1
  134. package/dist/server/services/websocket/quality-persistence.js +10 -0
  135. package/dist/server/services/websocket/quality-persistence.js.map +1 -1
  136. package/dist/server/services/websocket/quality-review-agent.d.ts +1 -1
  137. package/dist/server/services/websocket/quality-review-agent.d.ts.map +1 -1
  138. package/dist/server/services/websocket/quality-review-agent.js +105 -56
  139. package/dist/server/services/websocket/quality-review-agent.js.map +1 -1
  140. package/dist/server/services/websocket/quality-service.d.ts +9 -1
  141. package/dist/server/services/websocket/quality-service.d.ts.map +1 -1
  142. package/dist/server/services/websocket/quality-service.js +334 -14
  143. package/dist/server/services/websocket/quality-service.js.map +1 -1
  144. package/dist/server/services/websocket/quality-tools.d.ts +21 -0
  145. package/dist/server/services/websocket/quality-tools.d.ts.map +1 -1
  146. package/dist/server/services/websocket/quality-tools.js +49 -0
  147. package/dist/server/services/websocket/quality-tools.js.map +1 -1
  148. package/dist/server/services/websocket/quality-types.d.ts +35 -2
  149. package/dist/server/services/websocket/quality-types.d.ts.map +1 -1
  150. package/dist/server/services/websocket/quality-types.js +1 -1
  151. package/dist/server/services/websocket/quality-types.js.map +1 -1
  152. package/dist/server/services/websocket/session-handlers.d.ts +3 -1
  153. package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
  154. package/dist/server/services/websocket/session-handlers.js +57 -9
  155. package/dist/server/services/websocket/session-handlers.js.map +1 -1
  156. package/dist/server/services/websocket/session-history.js +3 -0
  157. package/dist/server/services/websocket/session-history.js.map +1 -1
  158. package/dist/server/services/websocket/session-initialization.d.ts.map +1 -1
  159. package/dist/server/services/websocket/session-initialization.js +158 -42
  160. package/dist/server/services/websocket/session-initialization.js.map +1 -1
  161. package/dist/server/services/websocket/session-registry.d.ts +25 -0
  162. package/dist/server/services/websocket/session-registry.d.ts.map +1 -1
  163. package/dist/server/services/websocket/session-registry.js +19 -0
  164. package/dist/server/services/websocket/session-registry.js.map +1 -1
  165. package/dist/server/services/websocket/settings-handlers.d.ts +1 -1
  166. package/dist/server/services/websocket/settings-handlers.d.ts.map +1 -1
  167. package/dist/server/services/websocket/settings-handlers.js +35 -4
  168. package/dist/server/services/websocket/settings-handlers.js.map +1 -1
  169. package/dist/server/services/websocket/tab-broadcast.d.ts +7 -2
  170. package/dist/server/services/websocket/tab-broadcast.d.ts.map +1 -1
  171. package/dist/server/services/websocket/tab-broadcast.js +10 -2
  172. package/dist/server/services/websocket/tab-broadcast.js.map +1 -1
  173. package/dist/server/services/websocket/tab-event-buffer.d.ts +97 -8
  174. package/dist/server/services/websocket/tab-event-buffer.d.ts.map +1 -1
  175. package/dist/server/services/websocket/tab-event-buffer.js +138 -12
  176. package/dist/server/services/websocket/tab-event-buffer.js.map +1 -1
  177. package/dist/server/services/websocket/tab-event-replay.d.ts +29 -13
  178. package/dist/server/services/websocket/tab-event-replay.d.ts.map +1 -1
  179. package/dist/server/services/websocket/tab-event-replay.js +55 -2
  180. package/dist/server/services/websocket/tab-event-replay.js.map +1 -1
  181. package/dist/server/services/websocket/tab-handlers.d.ts +9 -1
  182. package/dist/server/services/websocket/tab-handlers.d.ts.map +1 -1
  183. package/dist/server/services/websocket/tab-handlers.js +47 -2
  184. package/dist/server/services/websocket/tab-handlers.js.map +1 -1
  185. package/dist/server/services/websocket/types.d.ts +28 -5
  186. package/dist/server/services/websocket/types.d.ts.map +1 -1
  187. package/dist/server/services/websocket/types.js +10 -4
  188. package/dist/server/services/websocket/types.js.map +1 -1
  189. package/package.json +5 -3
  190. package/server/cli/eta-estimator.ts +249 -0
  191. package/server/cli/headless/stall-assessor.ts +93 -0
  192. package/server/cli/headless/tool-watchdog.ts +21 -0
  193. package/server/cli/improvisation-history-store.ts +4 -1
  194. package/server/cli/improvisation-output-queue.ts +29 -7
  195. package/server/cli/improvisation-session-manager.ts +54 -1
  196. package/server/cli/improvisation-types.ts +2 -0
  197. package/server/engines/EngineEvent.ts +156 -0
  198. package/server/engines/claude/ClaudeCodeEngine.ts +404 -0
  199. package/server/engines/factory.ts +176 -0
  200. package/server/engines/opencode/OpenCodeEngine.ts +786 -0
  201. package/server/engines/opencode/OpenCodeServerManager.ts +577 -0
  202. package/server/engines/opencode/model-catalog.ts +217 -0
  203. package/server/engines/types.ts +173 -0
  204. package/server/index.ts +1 -1
  205. package/server/mcp/bouncer-haiku.ts +21 -145
  206. package/server/mcp/bouncer-integration.ts +107 -5
  207. package/server/mcp/classifier/BouncerClassifier.ts +40 -0
  208. package/server/mcp/classifier/ClaudeBouncerClassifier.ts +189 -0
  209. package/server/mcp/classifier/OpenCodeBouncerClassifier.ts +305 -0
  210. package/server/mcp/classifier/factory.ts +195 -0
  211. package/server/services/plan/agent-resolver.ts +115 -0
  212. package/server/services/plan/agents/code-review.md +38 -8
  213. package/server/services/plan/composer.ts +63 -11
  214. package/server/services/plan/executor.ts +3 -1
  215. package/server/services/plan/issue-prompt-builder.ts +39 -1
  216. package/server/services/plan/parser-core.ts +1 -0
  217. package/server/services/plan/types.ts +4 -0
  218. package/server/services/settings.ts +161 -4
  219. package/server/services/websocket/git-branch-handlers.ts +20 -6
  220. package/server/services/websocket/handler.ts +59 -2
  221. package/server/services/websocket/quality-complexity.ts +80 -26
  222. package/server/services/websocket/quality-eta.ts +155 -0
  223. package/server/services/websocket/quality-grading.ts +445 -222
  224. package/server/services/websocket/quality-handlers.ts +153 -7
  225. package/server/services/websocket/quality-operations.ts +72 -0
  226. package/server/services/websocket/quality-persistence.ts +17 -0
  227. package/server/services/websocket/quality-review-agent.ts +154 -64
  228. package/server/services/websocket/quality-service.ts +361 -13
  229. package/server/services/websocket/quality-tools.ts +51 -0
  230. package/server/services/websocket/quality-types.ts +41 -2
  231. package/server/services/websocket/session-handlers.ts +64 -10
  232. package/server/services/websocket/session-history.ts +3 -0
  233. package/server/services/websocket/session-initialization.ts +189 -46
  234. package/server/services/websocket/session-registry.ts +37 -0
  235. package/server/services/websocket/settings-handlers.ts +41 -4
  236. package/server/services/websocket/tab-broadcast.ts +10 -2
  237. package/server/services/websocket/tab-event-buffer.ts +143 -11
  238. package/server/services/websocket/tab-event-replay.ts +70 -3
  239. package/server/services/websocket/tab-handlers.ts +53 -5
  240. package/server/services/websocket/types.ts +37 -5
@@ -0,0 +1,148 @@
1
+ /**
2
+ * OpenCodeEngine
3
+ *
4
+ * Adapter that wraps the OpenCode SDK (@opencode-ai/sdk) behind the
5
+ * CodingAgentEngine interface. Owns a single OpenCode `session` per Mstro
6
+ * improvisation:
7
+ *
8
+ * - `startSession` creates (or resumes) an OpenCode session and opens an
9
+ * SSE subscription to `/event`. A background pump consumes the stream
10
+ * and translates each payload into the engine-agnostic `EngineEvent`
11
+ * shape so the rest of the system does not need to know which engine
12
+ * produced the events.
13
+ * - `sendPrompt` dispatches `session.promptAsync` and resolves as soon as
14
+ * the server has accepted the prompt. Streaming output arrives via SSE.
15
+ * - `cancel` calls `session.abort`, which the OpenCode server eventually
16
+ * reflects back as a `session.idle` event.
17
+ * - `dispose` stops the pump and deletes the underlying session.
18
+ *
19
+ * The concrete SSE → EngineEvent mapping is documented inline in
20
+ * `handleSseEvent`.
21
+ */
22
+ import type { OpencodeClient } from '@opencode-ai/sdk';
23
+ import { type BouncerDecision, type EnginePermissionReviewRequest } from '../../mcp/bouncer-integration.js';
24
+ import type { EngineEvent, EngineId } from '../EngineEvent.js';
25
+ import type { CodingAgentEngine, EngineUsage, PromptAttachment, StartSessionOptions } from '../types.js';
26
+ /**
27
+ * Bouncer entry-point signature. Exposed as an option on OpenCodeEngine so
28
+ * tests can swap in a stub without patching module internals. Production
29
+ * code passes `reviewEnginePermission` from bouncer-integration.ts, which
30
+ * in turn calls {@link reviewOperation} — the single source of truth for
31
+ * security decisions across every engine.
32
+ */
33
+ export type ReviewEnginePermissionFn = (request: EnginePermissionReviewRequest) => Promise<BouncerDecision>;
34
+ /** Construction-time dependencies for {@link OpenCodeEngine}. */
35
+ export interface OpenCodeEngineOptions {
36
+ /**
37
+ * Typed SDK client, already bound to a running opencode server. Usually
38
+ * obtained from `OpenCodeServerManager.getClient()`. Tests inject a
39
+ * hand-rolled mock matching the subset of methods used here.
40
+ */
41
+ client: OpencodeClient;
42
+ /**
43
+ * Directory query parameter forwarded to each request. OpenCode scopes
44
+ * sessions and events by directory — the value is typically the same
45
+ * working directory passed to `startSession`.
46
+ */
47
+ directory?: string;
48
+ /**
49
+ * Override the bouncer review function. Defaults to
50
+ * `reviewEnginePermission` from `cli/server/mcp/bouncer-integration.ts`
51
+ * — which wraps the unified {@link reviewOperation} entry point used by
52
+ * the Claude MCP path. Tests inject a stub to drive specific decisions.
53
+ */
54
+ reviewPermission?: ReviewEnginePermissionFn;
55
+ }
56
+ export declare class OpenCodeEngine implements CodingAgentEngine {
57
+ readonly engineId: EngineId;
58
+ private readonly client;
59
+ private readonly directory;
60
+ private readonly reviewPermission;
61
+ private sessionOptions;
62
+ private openCodeSessionId;
63
+ /** True once the caller has called `startSession` successfully. */
64
+ private started;
65
+ /** Active SSE subscription returned by `client.event.subscribe()`. */
66
+ private subscription;
67
+ /** Background task consuming `subscription.stream`. */
68
+ private pumpPromise;
69
+ /** In-flight prompt promise — enforces the one-prompt-at-a-time contract. */
70
+ private currentPromptPromise;
71
+ private disposed;
72
+ private iteratorDone;
73
+ private readonly queue;
74
+ private readonly pending;
75
+ /**
76
+ * Tool-call id → start timestamp. Populated on the first `running`
77
+ * state of a ToolPart so we can compute `durationMs` when the part
78
+ * transitions to `completed` or `error`.
79
+ */
80
+ private readonly toolStartTimes;
81
+ /**
82
+ * Tool-call ids we have already announced via `tool.start`. Prevents
83
+ * duplicate starts when OpenCode emits multiple `running` updates.
84
+ */
85
+ private readonly toolStarted;
86
+ private usage;
87
+ constructor(options: OpenCodeEngineOptions);
88
+ startSession(options: StartSessionOptions): Promise<void>;
89
+ sendPrompt(prompt: string, _attachments?: PromptAttachment[]): Promise<void>;
90
+ cancel(): Promise<void>;
91
+ getUsage(): EngineUsage;
92
+ dispose(): Promise<void>;
93
+ [Symbol.asyncIterator](): AsyncIterator<EngineEvent>;
94
+ private sessionIdForEvent;
95
+ private emit;
96
+ private closeIterator;
97
+ /**
98
+ * Long-running task that consumes the SSE stream. Exits when the stream
99
+ * ends naturally (dispose called `stream.return()`) or when an error
100
+ * propagates out of the generator.
101
+ */
102
+ private runEventPump;
103
+ /**
104
+ * Core mapping from OpenCode SSE events to EngineEvents.
105
+ *
106
+ * - message.part.updated (TextPart) → message.delta
107
+ * - message.part.updated (ReasoningPart) → message.thinking
108
+ * - message.part.updated (ToolPart running) → tool.start (once per callID)
109
+ * - message.part.updated (ToolPart done) → tool.end
110
+ * - message.part.updated (StepFinishPart) → usage.update
111
+ * - message.updated (AssistantMessage) → usage.update (if tokens set)
112
+ * - permission.updated → permission.request
113
+ * - session.idle → session.idle
114
+ * - session.error → engine.error
115
+ *
116
+ * Events for sessions other than the one we own are ignored so that a
117
+ * shared server emitting events for multiple clients does not cross
118
+ * streams.
119
+ */
120
+ private handleSseEvent;
121
+ /**
122
+ * Route an OpenCode `permission.updated` through the unified Bouncer
123
+ * and respond to the SDK so the server never hangs waiting.
124
+ *
125
+ * Contract:
126
+ * - Approval (allow / warn_allow) → SDK `{ response: 'once' }`.
127
+ * - Denial (deny) → SDK `{ response: 'reject' }` *and*
128
+ * a user-visible `engine.error` carrying the same message the Claude
129
+ * MCP path returns on a deny (see `cli/server/mcp/server.ts`), so
130
+ * both engines surface denials with identical wording.
131
+ *
132
+ * Any error — bouncer failure, SDK failure — is treated as a deny for
133
+ * safety: we tell OpenCode `reject`, emit an engine.error, and keep the
134
+ * session alive (non-fatal).
135
+ */
136
+ private resolvePermission;
137
+ private reviewPermissionSafely;
138
+ private handlePartUpdated;
139
+ private onTextPart;
140
+ private onReasoningPart;
141
+ private onToolPart;
142
+ private emitToolStartOnce;
143
+ private emitToolEnd;
144
+ private onStepFinish;
145
+ private handleMessageUpdated;
146
+ private applyTokens;
147
+ }
148
+ //# sourceMappingURL=OpenCodeEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenCodeEngine.d.ts","sourceRoot":"","sources":["../../../../server/engines/opencode/OpenCodeEngine.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAGV,cAAc,EAQf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,6BAA6B,EAGnC,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,6BAA6B,KACnC,OAAO,CAAC,eAAe,CAAC,CAAA;AAc7B,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,MAAM,EAAE,cAAc,CAAA;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC5C;AAqBD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAa;IAExC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAE3D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,mEAAmE;IACnE,OAAO,CAAC,OAAO,CAAQ;IAEvB,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAAiC;IACrD,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAA6B;IAEhD,6EAA6E;IAC7E,OAAO,CAAC,oBAAoB,CAA6B;IAEzD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiC;IAChE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD,OAAO,CAAC,KAAK,CAIZ;gBAEW,OAAO,EAAE,qBAAqB;IASpC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCzD,UAAU,CACd,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,gBAAgB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAmCV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B,QAAQ,IAAI,WAAW;IAIjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC9B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;IAyBpD,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,aAAa;IASrB;;;;OAIG;YACW,YAAY;IAsB1B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,cAAc;IAmEtB;;;;;;;;;;;;;;OAcG;YACW,iBAAiB;YA4CjB,sBAAsB;IAyBpC,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,WAAW;CA0CpB"}