theokit 0.74.5 → 0.75.0

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 (98) hide show
  1. package/dist/{actions-virtual-module-MIQJEHKJ.js → actions-virtual-module-MIQPBAZW.js} +5 -5
  2. package/dist/{actions-virtual-module-4J7Z37Y4.js → actions-virtual-module-QEI6QPK4.js} +5 -5
  3. package/dist/adapters/agent-mount.js +1 -1
  4. package/dist/{agent-XPZUWTHR.js → agent-IIF6JUWX.js} +3 -3
  5. package/dist/{app-typed-client-AZMUYIYV.js → app-typed-client-CHSITA46.js} +5 -5
  6. package/dist/{app-typed-client-DSS23KDC.js → app-typed-client-XQJXF646.js} +5 -5
  7. package/dist/{build-F3O5LJHY.js → build-QIO4VAW2.js} +22 -87
  8. package/dist/build-QIO4VAW2.js.map +1 -0
  9. package/dist/{chunk-PZLH4WGU.js → chunk-2BMJQMTH.js} +5 -5
  10. package/dist/{chunk-44E7XIZC.js → chunk-3MKRDJQ2.js} +2 -2
  11. package/dist/{chunk-4ERYQBL6.js → chunk-4Z5XO4O4.js} +2 -2
  12. package/dist/{chunk-FPC6ZEEU.js → chunk-6RVWPEKK.js} +10 -10
  13. package/dist/{chunk-V7ISZGNS.js → chunk-7HGZ3CKL.js} +2 -2
  14. package/dist/{chunk-6R5F5YF2.js → chunk-A6UFN6QQ.js} +16 -11
  15. package/dist/{chunk-6R5F5YF2.js.map → chunk-A6UFN6QQ.js.map} +1 -1
  16. package/dist/{chunk-5KRMDP46.js → chunk-AHYOVVJ7.js} +13 -3
  17. package/dist/chunk-AHYOVVJ7.js.map +1 -0
  18. package/dist/{chunk-WR5B2XNT.js → chunk-FNAEKJHO.js} +2 -2
  19. package/dist/{chunk-HKF6YNY4.js → chunk-FU3LEX2I.js} +26 -12
  20. package/dist/chunk-FU3LEX2I.js.map +1 -0
  21. package/dist/{chunk-VD3BCME6.js → chunk-I5PDEWZZ.js} +2 -2
  22. package/dist/chunk-IWIRHUNV.js +96 -0
  23. package/dist/chunk-IWIRHUNV.js.map +1 -0
  24. package/dist/{chunk-U5PWXS3J.js → chunk-O5JZ6ROY.js} +13 -3
  25. package/dist/chunk-O5JZ6ROY.js.map +1 -0
  26. package/dist/{chunk-VOXLI66L.js → chunk-OZB2TKGJ.js} +2 -2
  27. package/dist/{chunk-ET2TAY3Z.js → chunk-RAUYMVUO.js} +279 -15
  28. package/dist/chunk-RAUYMVUO.js.map +1 -0
  29. package/dist/{chunk-XUAWD5HK.js → chunk-RKRFJRJ3.js} +10 -10
  30. package/dist/{chunk-DA3GGICE.js → chunk-RQKMY3JW.js} +2 -2
  31. package/dist/{chunk-D5KBBTVD.js → chunk-RY6D4EXL.js} +20 -13
  32. package/dist/chunk-RY6D4EXL.js.map +1 -0
  33. package/dist/cli/index.js +10 -10
  34. package/dist/{dev-TW6QD7F3.js → dev-J2XZIENF.js} +8 -8
  35. package/dist/{dev-emit-T3X6RR7M.js → dev-emit-AXTJK56H.js} +3 -3
  36. package/dist/{dev-emit-ZK5GCHXN.js → dev-emit-XAPVJBM4.js} +3 -3
  37. package/dist/{generate-EN6EDITF.js → generate-RW3NO3NR.js} +239 -141
  38. package/dist/generate-RW3NO3NR.js.map +1 -0
  39. package/dist/index.js +5 -5
  40. package/dist/{info-XURFOBRF.js → info-6NAUW5XY.js} +3 -3
  41. package/dist/{internal-api-XPT4GLYX.js → internal-api-A5HA7TYF.js} +5 -5
  42. package/dist/{internal-api-ATSPOXI2.js → internal-api-R7TTYMCY.js} +5 -5
  43. package/dist/{load-config-2DXLI7NW.js → load-config-CLFWJOXN.js} +3 -3
  44. package/dist/{mcp-LMV3NQEP.js → mcp-MWTG3LRA.js} +4 -4
  45. package/dist/{openapi-UJSUQPNT.js → openapi-RVFUXXCR.js} +5 -5
  46. package/dist/{preview-AMNBV2DP.js → preview-ML4CFUD6.js} +3 -3
  47. package/dist/{routes-ENMU4GAN.js → routes-SMNSI2ZX.js} +3 -3
  48. package/dist/server/agent/index.d.ts +99 -6
  49. package/dist/server/agent/index.js +9 -1
  50. package/dist/server/cron/index.js +2 -2
  51. package/dist/server/index.d.ts +1 -1
  52. package/dist/server/index.js +15 -7
  53. package/dist/server/index.js.map +1 -1
  54. package/dist/server/jobs/index.js +2 -2
  55. package/dist/server/scan/index.js +4 -4
  56. package/dist/{server-boundary-K4YQXDQT.js → server-boundary-HYLYGFZY.js} +5 -5
  57. package/dist/{server-boundary-JM72DQLA.js → server-boundary-ZT6HN7ON.js} +5 -5
  58. package/dist/{start-GAULIE5E.js → start-L5TGWGLU.js} +7 -7
  59. package/dist/vite-plugin/index.js +5 -5
  60. package/dist/{vite-plugin-4ZMBW3KV.js → vite-plugin-OJND2LU5.js} +8 -8
  61. package/package.json +2 -2
  62. package/dist/build-F3O5LJHY.js.map +0 -1
  63. package/dist/chunk-5KRMDP46.js.map +0 -1
  64. package/dist/chunk-D5KBBTVD.js.map +0 -1
  65. package/dist/chunk-ET2TAY3Z.js.map +0 -1
  66. package/dist/chunk-HKF6YNY4.js.map +0 -1
  67. package/dist/chunk-U5PWXS3J.js.map +0 -1
  68. package/dist/generate-EN6EDITF.js.map +0 -1
  69. /package/dist/{actions-virtual-module-MIQJEHKJ.js.map → actions-virtual-module-MIQPBAZW.js.map} +0 -0
  70. /package/dist/{actions-virtual-module-4J7Z37Y4.js.map → actions-virtual-module-QEI6QPK4.js.map} +0 -0
  71. /package/dist/{agent-XPZUWTHR.js.map → agent-IIF6JUWX.js.map} +0 -0
  72. /package/dist/{app-typed-client-AZMUYIYV.js.map → app-typed-client-CHSITA46.js.map} +0 -0
  73. /package/dist/{app-typed-client-DSS23KDC.js.map → app-typed-client-XQJXF646.js.map} +0 -0
  74. /package/dist/{chunk-PZLH4WGU.js.map → chunk-2BMJQMTH.js.map} +0 -0
  75. /package/dist/{chunk-44E7XIZC.js.map → chunk-3MKRDJQ2.js.map} +0 -0
  76. /package/dist/{chunk-4ERYQBL6.js.map → chunk-4Z5XO4O4.js.map} +0 -0
  77. /package/dist/{chunk-FPC6ZEEU.js.map → chunk-6RVWPEKK.js.map} +0 -0
  78. /package/dist/{chunk-V7ISZGNS.js.map → chunk-7HGZ3CKL.js.map} +0 -0
  79. /package/dist/{chunk-WR5B2XNT.js.map → chunk-FNAEKJHO.js.map} +0 -0
  80. /package/dist/{chunk-VD3BCME6.js.map → chunk-I5PDEWZZ.js.map} +0 -0
  81. /package/dist/{chunk-VOXLI66L.js.map → chunk-OZB2TKGJ.js.map} +0 -0
  82. /package/dist/{chunk-XUAWD5HK.js.map → chunk-RKRFJRJ3.js.map} +0 -0
  83. /package/dist/{chunk-DA3GGICE.js.map → chunk-RQKMY3JW.js.map} +0 -0
  84. /package/dist/{dev-TW6QD7F3.js.map → dev-J2XZIENF.js.map} +0 -0
  85. /package/dist/{dev-emit-T3X6RR7M.js.map → dev-emit-AXTJK56H.js.map} +0 -0
  86. /package/dist/{dev-emit-ZK5GCHXN.js.map → dev-emit-XAPVJBM4.js.map} +0 -0
  87. /package/dist/{info-XURFOBRF.js.map → info-6NAUW5XY.js.map} +0 -0
  88. /package/dist/{internal-api-XPT4GLYX.js.map → internal-api-A5HA7TYF.js.map} +0 -0
  89. /package/dist/{internal-api-ATSPOXI2.js.map → internal-api-R7TTYMCY.js.map} +0 -0
  90. /package/dist/{load-config-2DXLI7NW.js.map → load-config-CLFWJOXN.js.map} +0 -0
  91. /package/dist/{mcp-LMV3NQEP.js.map → mcp-MWTG3LRA.js.map} +0 -0
  92. /package/dist/{openapi-UJSUQPNT.js.map → openapi-RVFUXXCR.js.map} +0 -0
  93. /package/dist/{preview-AMNBV2DP.js.map → preview-ML4CFUD6.js.map} +0 -0
  94. /package/dist/{routes-ENMU4GAN.js.map → routes-SMNSI2ZX.js.map} +0 -0
  95. /package/dist/{server-boundary-K4YQXDQT.js.map → server-boundary-HYLYGFZY.js.map} +0 -0
  96. /package/dist/{server-boundary-JM72DQLA.js.map → server-boundary-ZT6HN7ON.js.map} +0 -0
  97. /package/dist/{start-GAULIE5E.js.map → start-L5TGWGLU.js.map} +0 -0
  98. /package/dist/{vite-plugin-4ZMBW3KV.js.map → vite-plugin-OJND2LU5.js.map} +0 -0
@@ -33,35 +33,277 @@ function createWorkflowTool(workflow, config) {
33
33
  }
34
34
 
35
35
  // src/server/agent/acp-tool.ts
36
+ import { resolve } from "node:path";
37
+ import { AcpClient, AcpConnectionClosedError, AcpProtocolError } from "@theokit/agents";
38
+
39
+ // src/server/agent/node-acp-transport.ts
36
40
  import { spawn } from "node:child_process";
37
- import { AcpClient } from "@theokit/agents";
41
+ var AcpTransportClosedError = class extends Error {
42
+ constructor(command, reason, options) {
43
+ super(`[theokit] createACPTool: the agent process "${command}" ${reason}`, options);
44
+ this.command = command;
45
+ this.reason = reason;
46
+ }
47
+ command;
48
+ reason;
49
+ name = "AcpTransportClosedError";
50
+ };
51
+ var SIGTERM_GRACE_MS = 2e3;
52
+ var SIGKILL_WAIT_MS = 2e3;
53
+ var GROUP_POLL_MS = 20;
54
+ var OWN_PROCESS_GROUP = process.platform !== "win32";
38
55
  var NodeAcpTransport = class {
39
- // stdin=pipe, stdout=pipe, stderr=inherit → the third stream is null.
40
- proc;
41
56
  constructor(command, args = [], cwd) {
42
- this.proc = spawn(command, args, { cwd, stdio: ["pipe", "pipe", "inherit"] });
57
+ this.command = command;
58
+ this.proc = spawn(command, args, {
59
+ cwd,
60
+ stdio: ["pipe", "pipe", "inherit"],
61
+ detached: OWN_PROCESS_GROUP
62
+ });
63
+ this.proc.stdout.setEncoding("utf8");
64
+ this.exited = new Promise((resolve2) => {
65
+ this.proc.once("exit", () => {
66
+ resolve2();
67
+ });
68
+ });
69
+ this.proc.on("error", (err) => {
70
+ this.end(`failed: ${err.message}`, err);
71
+ });
72
+ this.proc.stdin.on("error", (err) => {
73
+ this.end(`closed its stdin: ${err.message}`, err);
74
+ });
75
+ this.proc.on("close", (code, signal) => {
76
+ this.end(code === null ? `exited on signal ${String(signal)}` : `exited with code ${code}`);
77
+ });
43
78
  }
79
+ command;
80
+ // stdin=pipe, stdout=pipe, stderr=inherit → the third stream is null.
81
+ proc;
82
+ closed;
83
+ listeners = [];
84
+ /** Settles when the process has exited (or never started). */
85
+ exited;
44
86
  send(line) {
45
- this.proc.stdin.write(line);
87
+ if (this.closed === void 0) this.proc.stdin.write(line);
46
88
  }
47
89
  subscribe(onData) {
48
- this.proc.stdout.on("data", (buf) => {
49
- onData(buf.toString("utf8"));
90
+ this.proc.stdout.on("data", onData);
91
+ }
92
+ onClose(listener) {
93
+ if (this.closed !== void 0) listener(this.closed);
94
+ else this.listeners.push(listener);
95
+ }
96
+ /**
97
+ * End the channel and the process, and settle once the process and its group have exited:
98
+ * SIGTERM first, then SIGKILL for anything still running after {@link SIGTERM_GRACE_MS}.
99
+ */
100
+ async close() {
101
+ this.end("was closed by the caller");
102
+ try {
103
+ if (!this.running() && !this.groupAlive()) return;
104
+ this.signal("SIGTERM");
105
+ if (await this.goneWithin(SIGTERM_GRACE_MS)) return;
106
+ this.signal("SIGKILL");
107
+ await this.goneWithin(SIGKILL_WAIT_MS);
108
+ } finally {
109
+ this.proc.stdin.destroy();
110
+ this.proc.stdout.destroy();
111
+ this.proc.unref();
112
+ }
113
+ }
114
+ /** Whether the process started and has not exited yet. */
115
+ running() {
116
+ return this.proc.pid !== void 0 && this.proc.exitCode === null && this.proc.signalCode === null;
117
+ }
118
+ /** Whether a process of the agent's group is still running (always `false` without a group). */
119
+ groupAlive() {
120
+ const pid = this.proc.pid;
121
+ if (!OWN_PROCESS_GROUP || pid === void 0) return false;
122
+ try {
123
+ process.kill(-pid, 0);
124
+ return true;
125
+ } catch (err) {
126
+ return err.code === "EPERM";
127
+ }
128
+ }
129
+ /** Send `signal` to the agent's process group, or to the spawned process without one. */
130
+ signal(signal) {
131
+ const pid = this.proc.pid;
132
+ if (!OWN_PROCESS_GROUP || pid === void 0) {
133
+ this.proc.kill(signal);
134
+ return;
135
+ }
136
+ try {
137
+ process.kill(-pid, signal);
138
+ } catch (err) {
139
+ if (err.code !== "ESRCH") throw err;
140
+ }
141
+ }
142
+ /** Wait up to `ms` for the process and every process of its group to exit; `true` when they did. */
143
+ async goneWithin(ms) {
144
+ const deadline = Date.now() + ms;
145
+ if (!await this.exitsWithin(ms)) return false;
146
+ while (this.groupAlive()) {
147
+ if (Date.now() >= deadline) return false;
148
+ await new Promise((resolve2) => setTimeout(resolve2, GROUP_POLL_MS));
149
+ }
150
+ return true;
151
+ }
152
+ /** Wait up to `ms` for the process to exit; `true` when it did. */
153
+ async exitsWithin(ms) {
154
+ let timer;
155
+ const elapsed = new Promise((resolve2) => {
156
+ timer = setTimeout(() => {
157
+ resolve2(false);
158
+ }, ms);
50
159
  });
160
+ try {
161
+ return await Promise.race([this.exited.then(() => true), elapsed]);
162
+ } finally {
163
+ clearTimeout(timer);
164
+ }
165
+ }
166
+ /** Record the first way the channel ended and tell every listener; later endings are ignored. */
167
+ end(reason, cause) {
168
+ if (this.closed !== void 0) return;
169
+ const error = new AcpTransportClosedError(this.command, reason, { cause });
170
+ this.closed = error;
171
+ for (const listener of this.listeners.splice(0)) listener(error);
172
+ }
173
+ };
174
+
175
+ // src/server/agent/acp-tool.ts
176
+ var AcpRequestTimeoutError = class extends Error {
177
+ constructor(command, method, timeoutMs) {
178
+ super(
179
+ `[theokit] createACPTool: the agent "${command}" did not answer ${method} within ${String(timeoutMs)}ms`
180
+ );
181
+ this.command = command;
182
+ this.method = method;
183
+ this.timeoutMs = timeoutMs;
51
184
  }
52
- close() {
53
- this.proc.kill();
185
+ command;
186
+ method;
187
+ timeoutMs;
188
+ name = "AcpRequestTimeoutError";
189
+ };
190
+ var STOP_REASON_MEANING = {
191
+ max_tokens: "it reached its token limit",
192
+ max_turn_requests: "it reached its limit of model requests in one turn",
193
+ refusal: "it refused to continue",
194
+ cancelled: "it cancelled the turn"
195
+ };
196
+ var AcpTurnStoppedError = class extends Error {
197
+ constructor(command, stopReason, partialText) {
198
+ const meaning = STOP_REASON_MEANING[stopReason] ?? "a stop reason this client does not know";
199
+ super(
200
+ `[theokit] createACPTool: the agent "${command}" stopped the turn before finishing it, with stopReason "${stopReason}" (${meaning}); the ${String(partialText.length)} characters it streamed are on the error's partialText`
201
+ );
202
+ this.command = command;
203
+ this.stopReason = stopReason;
204
+ this.partialText = partialText;
54
205
  }
206
+ command;
207
+ stopReason;
208
+ partialText;
209
+ name = "AcpTurnStoppedError";
55
210
  };
211
+ var DEFAULT_ACP_TIMEOUT_MS = 6e5;
56
212
  function defaultTransport(config) {
57
213
  return new NodeAcpTransport(config.command, config.args, config.cwd);
58
214
  }
215
+ var ACP_PROTOCOL_VERSION = 1;
216
+ function isRecord(value) {
217
+ return typeof value === "object" && value !== null;
218
+ }
219
+ function toAcpPermissionResponse(params, decision) {
220
+ const options = isRecord(params) && Array.isArray(params.options) ? params.options : [];
221
+ const wanted = decision.granted ? ["allow_once"] : ["reject_once", "reject_always"];
222
+ for (const kind of wanted) {
223
+ const option = options.find((o) => isRecord(o) && o.kind === kind);
224
+ if (isRecord(option) && typeof option.optionId === "string") {
225
+ return { outcome: { outcome: "selected", optionId: option.optionId } };
226
+ }
227
+ }
228
+ return { outcome: { outcome: "cancelled" } };
229
+ }
230
+ function agentTextChunk(params, sessionId) {
231
+ if (!isRecord(params) || params.sessionId !== sessionId || !isRecord(params.update))
232
+ return void 0;
233
+ const { sessionUpdate, content } = params.update;
234
+ if (sessionUpdate !== "agent_message_chunk" || !isRecord(content)) return void 0;
235
+ return content.type === "text" && typeof content.text === "string" ? content.text : void 0;
236
+ }
237
+ function stepFailure(method, cause) {
238
+ if (cause instanceof AcpConnectionClosedError) {
239
+ return cause.cause instanceof Error ? cause.cause : cause;
240
+ }
241
+ if (cause instanceof AcpProtocolError) return cause;
242
+ const reason = cause instanceof Error ? cause.message : String(cause);
243
+ return new Error(`[theokit] createACPTool: the agent refused ${method}: ${reason}`, { cause });
244
+ }
245
+ async function step(turn, method, params) {
246
+ turn.signal?.throwIfAborted();
247
+ let timer;
248
+ try {
249
+ return await new Promise((resolve2, reject) => {
250
+ turn.abort = reject;
251
+ timer = setTimeout(() => {
252
+ reject(new AcpRequestTimeoutError(turn.command, method, turn.timeoutMs));
253
+ }, turn.timeoutMs);
254
+ turn.client.request(method, params).then(resolve2).catch((cause) => {
255
+ reject(stepFailure(method, cause));
256
+ });
257
+ });
258
+ } finally {
259
+ clearTimeout(timer);
260
+ turn.abort = void 0;
261
+ }
262
+ }
263
+ function sessionIdOf(created) {
264
+ if (isRecord(created) && typeof created.sessionId === "string") return created.sessionId;
265
+ throw new Error(
266
+ `[theokit] createACPTool: the agent refused session/new: returned no sessionId (got ${JSON.stringify(created)})`
267
+ );
268
+ }
269
+ function stopReasonOf(result) {
270
+ if (isRecord(result) && typeof result.stopReason === "string") return result.stopReason;
271
+ throw new Error(
272
+ `[theokit] createACPTool: the agent refused session/prompt: returned no stopReason (got ${JSON.stringify(result)})`
273
+ );
274
+ }
275
+ async function runTurn(turn, cwd, message) {
276
+ const updates = [];
277
+ turn.client.onNotification("session/update", (params) => {
278
+ updates.push(params);
279
+ });
280
+ await step(turn, "initialize", {
281
+ protocolVersion: ACP_PROTOCOL_VERSION,
282
+ clientCapabilities: {}
283
+ });
284
+ const sessionId = sessionIdOf(await step(turn, "session/new", { cwd, mcpServers: [] }));
285
+ const result = await step(turn, "session/prompt", {
286
+ sessionId,
287
+ prompt: [{ type: "text", text: message }]
288
+ });
289
+ const stopReason = stopReasonOf(result);
290
+ const texts = updates.map((params) => agentTextChunk(params, sessionId));
291
+ const reply = texts.filter((text) => text !== void 0).join("");
292
+ if (stopReason !== "end_turn") throw new AcpTurnStoppedError(turn.command, stopReason, reply);
293
+ return reply;
294
+ }
59
295
  function createACPTool(config) {
60
296
  if (typeof config.onPermissionRequest !== "function") {
61
297
  throw new Error(
62
298
  "[theokit] createACPTool requires onPermissionRequest (security by default \u2014 no default-allow)"
63
299
  );
64
300
  }
301
+ const timeoutMs = config.timeoutMs ?? DEFAULT_ACP_TIMEOUT_MS;
302
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
303
+ throw new RangeError(
304
+ `[theokit] createACPTool: timeoutMs must be a positive finite number of milliseconds (got ${String(timeoutMs)})`
305
+ );
306
+ }
65
307
  const makeTransport = config.transportFactory ?? defaultTransport;
66
308
  return {
67
309
  name: config.name,
@@ -73,12 +315,30 @@ function createACPTool(config) {
73
315
  },
74
316
  required: ["message"]
75
317
  },
76
- handler: async (input) => {
318
+ handler: async (input, ctx) => {
77
319
  const message = typeof input.message === "string" ? input.message : "";
78
- const client = new AcpClient(makeTransport(config));
79
- client.onRequest("session/request_permission", (params) => config.onPermissionRequest(params));
80
- const result = await client.request("session/prompt", { message });
81
- return result.text ?? "";
320
+ const signal = ctx?.signal;
321
+ signal?.throwIfAborted();
322
+ const transport = makeTransport(config);
323
+ let onAbort;
324
+ try {
325
+ const turn = {
326
+ client: new AcpClient(transport),
327
+ command: config.command,
328
+ timeoutMs,
329
+ signal
330
+ };
331
+ onAbort = () => turn.abort?.(signal?.reason);
332
+ signal?.addEventListener("abort", onAbort, { once: true });
333
+ turn.client.onRequest(
334
+ "session/request_permission",
335
+ async (params) => toAcpPermissionResponse(params, await config.onPermissionRequest(params))
336
+ );
337
+ return await runTurn(turn, resolve(config.cwd ?? process.cwd()), message);
338
+ } finally {
339
+ if (onAbort !== void 0) signal?.removeEventListener("abort", onAbort);
340
+ await transport.close?.();
341
+ }
82
342
  }
83
343
  };
84
344
  }
@@ -295,7 +555,11 @@ async function serveMcpStdio(mod, name, appResources, streams) {
295
555
 
296
556
  export {
297
557
  createWorkflowTool,
558
+ AcpTransportClosedError,
298
559
  NodeAcpTransport,
560
+ AcpRequestTimeoutError,
561
+ AcpTurnStoppedError,
562
+ DEFAULT_ACP_TIMEOUT_MS,
299
563
  createACPTool,
300
564
  createVendorAgentTool,
301
565
  CodeModePermissionDeniedError,
@@ -308,4 +572,4 @@ export {
308
572
  streamAgentTurnInProcess,
309
573
  InProcessApprovalRequiredError
310
574
  };
311
- //# sourceMappingURL=chunk-ET2TAY3Z.js.map
575
+ //# sourceMappingURL=chunk-RAUYMVUO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/agent/workflow-tool.ts","../src/server/agent/acp-tool.ts","../src/server/agent/node-acp-transport.ts","../src/server/agent/vendor-agent-tool.ts","../src/server/agent/code-mode.ts","../src/server/agent/channel-webhook.ts","../src/server/agent/index.ts","../src/server/agent/mcp-stdio.ts"],"mappings":";;;;;;;;AASA,SAAS,SAAS;AAuBlB,IAAM,mBAAmB,oBAAI,IAAI,CAAC,UAAU,SAAS,aAAa,UAAU,CAAC;AAOtE,SAAS,mBAAmB,UAAwB,QAAwC;AACjG,QAAM,QAAS,UAAmD;AAClE,MAAI,OAAO,UAAU,YAAY;AAC/B,UAAM,IAAI;AAAA,MACR;AAAA,IAEF;AAAA,EACF;AAEA,QAAM,cAAc,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC;AAE1D,SAAO,gBAAgB;AAAA,IACrB,MAAM,OAAO;AAAA,IACb,aAAa,OAAO;AAAA,IACpB;AAAA,IACA,SAAS,OAAO,UAAoC;AAClD,YAAM,MAAM,MAAM,SAAS,IAAI,KAAK;AACpC,UAAI,iBAAiB,IAAI,IAAI,MAAM,GAAG;AACpC,cAAM,IAAI;AAAA,UACR,sBAAsB,KAAK,UAAU,OAAO,IAAI,CAAC,mBAC/C,IAAI,QAAQ,IAAI,IAAI,KAAK,OAAO,EAClC,uBAAuB,IAAI,MAAM;AAAA,QACnC;AAAA,MACF;AACA,aAAO,OAAO,IAAI,WAAW,WAAW,IAAI,SAAS,KAAK,UAAU,IAAI,MAAM;AAAA,IAChF;AAAA,EACF,CAAC;AACH;;;ACvCA,SAAS,eAAe;AAExB,SAAS,WAAW,0BAA0B,wBAAwB;;;AClBtE,SAAS,aAAuC;AAMzC,IAAM,0BAAN,cAAsC,MAAM;AAAA,EAGjD,YAEW,SAEA,QACT,SACA;AACA,UAAM,+CAA+C,OAAO,KAAK,MAAM,IAAI,OAAO;AALzE;AAEA;AAAA,EAIX;AAAA,EANW;AAAA,EAEA;AAAA,EANO,OAAO;AAW3B;AAcA,IAAM,mBAAmB;AAEzB,IAAM,kBAAkB;AAExB,IAAM,gBAAgB;AAStB,IAAM,oBAAoB,QAAQ,aAAa;AAGxC,IAAM,mBAAN,MAAmD;AAAA,EAQxD,YACmB,SACjB,OAAiB,CAAC,GAClB,KACA;AAHiB;AAKjB,SAAK,OAAO,MAAM,SAAS,MAAM;AAAA,MAC/B;AAAA,MACA,OAAO,CAAC,QAAQ,QAAQ,SAAS;AAAA,MACjC,UAAU;AAAA,IACZ,CAAC;AAGD,SAAK,KAAK,OAAO,YAAY,MAAM;AAEnC,SAAK,SAAS,IAAI,QAAQ,CAACA,aAAY;AACrC,WAAK,KAAK,KAAK,QAAQ,MAAM;AAC3B,QAAAA,SAAQ;AAAA,MACV,CAAC;AAAA,IACH,CAAC;AAGD,SAAK,KAAK,GAAG,SAAS,CAAC,QAAQ;AAC7B,WAAK,IAAI,WAAW,IAAI,OAAO,IAAI,GAAG;AAAA,IACxC,CAAC;AACD,SAAK,KAAK,MAAM,GAAG,SAAS,CAAC,QAAQ;AACnC,WAAK,IAAI,qBAAqB,IAAI,OAAO,IAAI,GAAG;AAAA,IAClD,CAAC;AAGD,SAAK,KAAK,GAAG,SAAS,CAAC,MAAM,WAAW;AACtC,WAAK,IAAI,SAAS,OAAO,oBAAoB,OAAO,MAAM,CAAC,KAAK,oBAAoB,IAAI,EAAE;AAAA,IAC5F,CAAC;AAAA,EACH;AAAA,EAhCmB;AAAA;AAAA,EAPF;AAAA,EACT;AAAA,EACS,YAA0D,CAAC;AAAA;AAAA,EAE3D;AAAA,EAqCjB,KAAK,MAAoB;AACvB,QAAI,KAAK,WAAW,OAAW,MAAK,KAAK,MAAM,MAAM,IAAI;AAAA,EAC3D;AAAA,EAEA,UAAU,QAAuC;AAG/C,SAAK,KAAK,OAAO,GAAG,QAAQ,MAAM;AAAA,EACpC;AAAA,EAEA,QAAQ,UAA0D;AAChE,QAAI,KAAK,WAAW,OAAW,UAAS,KAAK,MAAM;AAAA,QAC9C,MAAK,UAAU,KAAK,QAAQ;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,QAAuB;AAC3B,SAAK,IAAI,0BAA0B;AACnC,QAAI;AACF,UAAI,CAAC,KAAK,QAAQ,KAAK,CAAC,KAAK,WAAW,EAAG;AAC3C,WAAK,OAAO,SAAS;AACrB,UAAI,MAAM,KAAK,WAAW,gBAAgB,EAAG;AAC7C,WAAK,OAAO,SAAS;AACrB,YAAM,KAAK,WAAW,eAAe;AAAA,IACvC,UAAE;AAGA,WAAK,KAAK,MAAM,QAAQ;AACxB,WAAK,KAAK,OAAO,QAAQ;AACzB,WAAK,KAAK,MAAM;AAAA,IAClB;AAAA,EACF;AAAA;AAAA,EAGQ,UAAmB;AACzB,WACE,KAAK,KAAK,QAAQ,UAAa,KAAK,KAAK,aAAa,QAAQ,KAAK,KAAK,eAAe;AAAA,EAE3F;AAAA;AAAA,EAGQ,aAAsB;AAC5B,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,CAAC,qBAAqB,QAAQ,OAAW,QAAO;AACpD,QAAI;AACF,cAAQ,KAAK,CAAC,KAAK,CAAC;AACpB,aAAO;AAAA,IACT,SAAS,KAAK;AAEZ,aAAQ,IAA8B,SAAS;AAAA,IACjD;AAAA,EACF;AAAA;AAAA,EAGQ,OAAO,QAA8B;AAC3C,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,CAAC,qBAAqB,QAAQ,QAAW;AAC3C,WAAK,KAAK,KAAK,MAAM;AACrB;AAAA,IACF;AACA,QAAI;AACF,cAAQ,KAAK,CAAC,KAAK,MAAM;AAAA,IAC3B,SAAS,KAAK;AAEZ,UAAK,IAA8B,SAAS,QAAS,OAAM;AAAA,IAC7D;AAAA,EACF;AAAA;AAAA,EAGA,MAAc,WAAW,IAA8B;AACrD,UAAM,WAAW,KAAK,IAAI,IAAI;AAC9B,QAAI,CAAE,MAAM,KAAK,YAAY,EAAE,EAAI,QAAO;AAC1C,WAAO,KAAK,WAAW,GAAG;AACxB,UAAI,KAAK,IAAI,KAAK,SAAU,QAAO;AACnC,YAAM,IAAI,QAAQ,CAACA,aAAY,WAAWA,UAAS,aAAa,CAAC;AAAA,IACnE;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAc,YAAY,IAA8B;AACtD,QAAI;AACJ,UAAM,UAAU,IAAI,QAAe,CAACA,aAAY;AAC9C,cAAQ,WAAW,MAAM;AACvB,QAAAA,SAAQ,KAAK;AAAA,MACf,GAAG,EAAE;AAAA,IACP,CAAC;AACD,QAAI;AACF,aAAO,MAAM,QAAQ,KAAK,CAAC,KAAK,OAAO,KAAK,MAAM,IAAa,GAAG,OAAO,CAAC;AAAA,IAC5E,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAAA;AAAA,EAGQ,IAAI,QAAgB,OAAuB;AACjD,QAAI,KAAK,WAAW,OAAW;AAC/B,UAAM,QAAQ,IAAI,wBAAwB,KAAK,SAAS,QAAQ,EAAE,MAAM,CAAC;AACzE,SAAK,SAAS;AACd,eAAW,YAAY,KAAK,UAAU,OAAO,CAAC,EAAG,UAAS,KAAK;AAAA,EACjE;AACF;;;ADnKO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAGhD,YAEW,SAEA,QAEA,WACT;AACA;AAAA,MACE,uCAAuC,OAAO,oBAAoB,MAAM,WAAW,OAAO,SAAS,CAAC;AAAA,IACtG;AARS;AAEA;AAEA;AAAA,EAKX;AAAA,EATW;AAAA,EAEA;AAAA,EAEA;AAAA,EARO,OAAO;AAc3B;AAGA,IAAM,sBAAwD;AAAA,EAC5D,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,WAAW;AACb;AAMO,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAG7C,YAEW,SAEA,YAEA,aACT;AACA,UAAM,UAAU,oBAAoB,UAAU,KAAK;AACnD;AAAA,MACE,uCAAuC,OAAO,4DAA4D,UAAU,MAAM,OAAO,UAAU,OAAO,YAAY,MAAM,CAAC;AAAA,IACvK;AATS;AAEA;AAEA;AAAA,EAMX;AAAA,EAVW;AAAA,EAEA;AAAA,EAEA;AAAA,EARO,OAAO;AAe3B;AA6BO,IAAM,yBAAyB;AAEtC,SAAS,iBAAiB,QAAyC;AACjE,SAAO,IAAI,iBAAiB,OAAO,SAAS,OAAO,MAAM,OAAO,GAAG;AACrE;AAGA,IAAM,uBAAuB;AAM7B,SAAS,SAAS,OAAkD;AAClE,SAAO,OAAO,UAAU,YAAY,UAAU;AAChD;AAQA,SAAS,wBACP,QACA,UACuB;AACvB,QAAM,UAAU,SAAS,MAAM,KAAK,MAAM,QAAQ,OAAO,OAAO,IAAI,OAAO,UAAU,CAAC;AACtF,QAAM,SAAS,SAAS,UAAU,CAAC,YAAY,IAAI,CAAC,eAAe,eAAe;AAClF,aAAW,QAAQ,QAAQ;AACzB,UAAM,SAAkB,QAAQ,KAAK,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,SAAS,IAAI;AAC1E,QAAI,SAAS,MAAM,KAAK,OAAO,OAAO,aAAa,UAAU;AAC3D,aAAO,EAAE,SAAS,EAAE,SAAS,YAAY,UAAU,OAAO,SAAS,EAAE;AAAA,IACvE;AAAA,EACF;AACA,SAAO,EAAE,SAAS,EAAE,SAAS,YAAY,EAAE;AAC7C;AAGA,SAAS,eAAe,QAAiB,WAAuC;AAC9E,MAAI,CAAC,SAAS,MAAM,KAAK,OAAO,cAAc,aAAa,CAAC,SAAS,OAAO,MAAM;AAChF,WAAO;AACT,QAAM,EAAE,eAAe,QAAQ,IAAI,OAAO;AAC1C,MAAI,kBAAkB,yBAAyB,CAAC,SAAS,OAAO,EAAG,QAAO;AAC1E,SAAO,QAAQ,SAAS,UAAU,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO;AACtF;AAmBA,SAAS,YAAY,QAAgB,OAAuB;AAC1D,MAAI,iBAAiB,0BAA0B;AAC7C,WAAO,MAAM,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,EACtD;AACA,MAAI,iBAAiB,iBAAkB,QAAO;AAC9C,QAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACpE,SAAO,IAAI,MAAM,8CAA8C,MAAM,KAAK,MAAM,IAAI,EAAE,MAAM,CAAC;AAC/F;AAOA,eAAe,KAAK,MAAY,QAAgB,QAAmC;AACjF,OAAK,QAAQ,eAAe;AAC5B,MAAI;AACJ,MAAI;AACF,WAAO,MAAM,IAAI,QAAiB,CAACC,UAAS,WAAW;AACrD,WAAK,QAAQ;AACb,cAAQ,WAAW,MAAM;AACvB,eAAO,IAAI,uBAAuB,KAAK,SAAS,QAAQ,KAAK,SAAS,CAAC;AAAA,MACzE,GAAG,KAAK,SAAS;AACjB,WAAK,OACF,QAAQ,QAAQ,MAAM,EACtB,KAAKA,QAAO,EACZ,MAAM,CAAC,UAAmB;AACzB,eAAO,YAAY,QAAQ,KAAK,CAAC;AAAA,MACnC,CAAC;AAAA,IACL,CAAC;AAAA,EACH,UAAE;AACA,iBAAa,KAAK;AAClB,SAAK,QAAQ;AAAA,EACf;AACF;AAGA,SAAS,YAAY,SAA0B;AAC7C,MAAI,SAAS,OAAO,KAAK,OAAO,QAAQ,cAAc,SAAU,QAAO,QAAQ;AAC/E,QAAM,IAAI;AAAA,IACR,sFAAsF,KAAK,UAAU,OAAO,CAAC;AAAA,EAC/G;AACF;AAGA,SAAS,aAAa,QAAyB;AAC7C,MAAI,SAAS,MAAM,KAAK,OAAO,OAAO,eAAe,SAAU,QAAO,OAAO;AAC7E,QAAM,IAAI;AAAA,IACR,0FAA0F,KAAK,UAAU,MAAM,CAAC;AAAA,EAClH;AACF;AAQA,eAAe,QAAQ,MAAY,KAAa,SAAkC;AAChF,QAAM,UAAqB,CAAC;AAC5B,OAAK,OAAO,eAAe,kBAAkB,CAAC,WAAW;AACvD,YAAQ,KAAK,MAAM;AAAA,EACrB,CAAC;AACD,QAAM,KAAK,MAAM,cAAc;AAAA,IAC7B,iBAAiB;AAAA,IACjB,oBAAoB,CAAC;AAAA,EACvB,CAAC;AACD,QAAM,YAAY,YAAY,MAAM,KAAK,MAAM,eAAe,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;AACtF,QAAM,SAAS,MAAM,KAAK,MAAM,kBAAkB;AAAA,IAChD;AAAA,IACA,QAAQ,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,EAC1C,CAAC;AACD,QAAM,aAAa,aAAa,MAAM;AACtC,QAAM,QAAQ,QAAQ,IAAI,CAAC,WAAW,eAAe,QAAQ,SAAS,CAAC;AACvE,QAAM,QAAQ,MAAM,OAAO,CAAC,SAAyB,SAAS,MAAS,EAAE,KAAK,EAAE;AAChF,MAAI,eAAe,WAAY,OAAM,IAAI,oBAAoB,KAAK,SAAS,YAAY,KAAK;AAC5F,SAAO;AACT;AAGO,SAAS,cAAc,QAAmC;AAC/D,MAAI,OAAO,OAAO,wBAAwB,YAAY;AACpD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,YAAY,OAAO,aAAa;AACtC,MAAI,CAAC,OAAO,SAAS,SAAS,KAAK,aAAa,GAAG;AACjD,UAAM,IAAI;AAAA,MACR,4FAA4F,OAAO,SAAS,CAAC;AAAA,IAC/G;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,oBAAoB;AACjD,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,YAAY;AAAA,QACV,SAAS,EAAE,MAAM,UAAU,aAAa,wCAAwC;AAAA,MAClF;AAAA,MACA,UAAU,CAAC,SAAS;AAAA,IACtB;AAAA,IACA,SAAS,OAAO,OAAgC,QAAuC;AACrF,YAAM,UAAU,OAAO,MAAM,YAAY,WAAW,MAAM,UAAU;AACpE,YAAM,SAAS,KAAK;AAEpB,cAAQ,eAAe;AACvB,YAAM,YAAY,cAAc,MAAM;AACtC,UAAI;AACJ,UAAI;AACF,cAAM,OAAa;AAAA,UACjB,QAAQ,IAAI,UAAU,SAAS;AAAA,UAC/B,SAAS,OAAO;AAAA,UAChB;AAAA,UACA;AAAA,QACF;AAGA,kBAAU,MAAM,KAAK,QAAQ,QAAQ,MAAM;AAC3C,gBAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AACzD,aAAK,OAAO;AAAA,UAAU;AAAA,UAA8B,OAAO,WACzD,wBAAwB,QAAQ,MAAM,OAAO,oBAAoB,MAAM,CAAC;AAAA,QAC1E;AACA,eAAO,MAAM,QAAQ,MAAM,QAAQ,OAAO,OAAO,QAAQ,IAAI,CAAC,GAAG,OAAO;AAAA,MAC1E,UAAE;AACA,YAAI,YAAY,OAAW,SAAQ,oBAAoB,SAAS,OAAO;AAGvE,cAAM,UAAU,QAAQ;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AACF;;;AE7QO,SAAS,sBAAsB,QAA2C;AAC/E,MAAI,CAAC,OAAO,UAAU,OAAO,OAAO,WAAW,GAAG;AAChD,UAAM,IAAI,MAAM,wEAAwE;AAAA,EAC1F;AACA,QAAM,UAAW,OAAO,QAAmD;AAC3E,MAAI,OAAO,YAAY,YAAY;AACjC,UAAM,IAAI;AAAA,MACR,yBAAyB,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,IAExD;AAAA,EACF;AAEA,QAAM,OAAO,OAAO,QAAQ,GAAG,OAAO,MAAM;AAC5C,QAAM,cACJ,OAAO,eAAe,0BAA0B,OAAO,MAAM;AAE/D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,YAAY;AAAA,QACV,QAAQ,EAAE,MAAM,UAAU,aAAa,wCAAwC;AAAA,QAC/E,iBAAiB;AAAA,UACf,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,MACF;AAAA,MACA,UAAU,CAAC,QAAQ;AAAA,IACrB;AAAA,IACA,SAAS,OAAO,UAAoD;AAClE,YAAM,SAAS,OAAO,MAAM,WAAW,WAAW,MAAM,SAAS;AACjE,YAAM,kBACJ,OAAO,MAAM,oBAAoB,WAAW,MAAM,kBAAkB;AACtE,YAAM,SAAS,MAAM,OAAO,OAAO;AAAA,QACjC;AAAA,QACA,oBAAoB,SAAY,EAAE,gBAAgB,IAAI;AAAA,MACxD;AACA,UAAI,OAAO,cAAc,UAAa,OAAO,UAAW,QAAO,UAAU,OAAO,SAAS;AACzF,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AACF;;;AC9BO,IAAM,gCAAN,cAA4C,MAAM;AAAA,EACvD,YAAY,MAAc,QAAiB;AACzC,UAAM,SAAS,SAAS,KAAK,MAAM,KAAK;AACxC,UAAM,oBAAoB,IAAI,8BAA8B,MAAM,EAAE;AACpE,SAAK,OAAO;AAAA,EACd;AACF;AAGA,SAAS,kBAAkB,aAA8C;AACvE,QAAM,QAAS,YAAY,cAAiE,CAAC;AAC7F,QAAM,WAAW,IAAI,IAAK,YAAY,YAAqC,CAAC,CAAC;AAC7E,QAAM,UAAU,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM;AAEzD,UAAM,OAAO,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AACzD,WAAO,GAAG,GAAG,GAAG,SAAS,IAAI,GAAG,IAAI,KAAK,GAAG,KAAK,IAAI;AAAA,EACvD,CAAC;AACD,SAAO,QAAQ,SAAS,IAAI,KAAK,QAAQ,KAAK,IAAI,CAAC,OAAO;AAC5D;AAQA,SAAS,6BAA6B,OAAqB,UAA0B;AACnF,QAAM,QAAQ,MACX,IAAI,CAAC,MAAM,iBAAiB,EAAE,IAAI,IAAI,kBAAkB,EAAE,WAAW,CAAC,cAAS,EAAE,WAAW,EAAE,EAC9F,KAAK,IAAI;AACZ,SAAO;AAAA,IACL,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,EACF,EAAE,KAAK,MAAM;AACf;AASO,SAAS,eAAe,QAAoE;AACjG,MAAI,OAAO,OAAO,wBAAwB,YAAY;AACpD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,aAAc,OAAO,SAAkD;AAC7E,MAAI,OAAO,eAAe,YAAY;AACpC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAGA,MAAI,OAAO,MAAM,WAAW,GAAG;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAGA,QAAM,MAAmB,CAAC;AAC1B,aAAWC,SAAQ,OAAO,OAAO;AAC/B,QAAIA,MAAK,IAAI,IAAI,OAAO,SAAoC;AAC1D,YAAM,WAAW,MAAM,OAAO,oBAAoB,EAAE,MAAMA,MAAK,MAAM,KAAK,CAAC;AAC3E,UAAI,CAAC,SAAS,QAAS,OAAM,IAAI,8BAA8BA,MAAK,MAAM,SAAS,MAAM;AACzF,aAAOA,MAAK,QAAQ,IAA+B;AAAA,IACrD;AAAA,EACF;AAEA,QAAM,OAAO,OAAO,QAAQ;AAC5B,QAAM,OAAmB;AAAA,IACvB;AAAA,IACA,aACE,OAAO,eACP;AAAA,IACF,aAAa;AAAA,MACX,MAAM;AAAA,MACN,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,aAAa,kCAAkC,EAAE;AAAA,MACvF,UAAU,CAAC,MAAM;AAAA,IACnB;AAAA,IACA,SAAS,OAAO,UAAoD;AAClE,YAAM,OAAO,OAAO,MAAM,SAAS,WAAW,MAAM,OAAO;AAC3D,YAAM,SAAS,MAAM,OAAO,QAAQ,IAAI,MAAM,GAAG;AACjD,aAAO,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,MAAM;AAAA,IACpE;AAAA,EACF;AACA,SAAO,EAAE,MAAM,cAAc,6BAA6B,OAAO,OAAO,IAAI,EAAE;AAChF;;;ACxIA,IAAM,eAAe;AAGd,SAAS,iBAAiB,SAA6D;AAC5F,QAAM,QAAQ,aAAa,KAAK,OAAO;AACvC,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,EAAE,OAAO,mBAAmB,MAAM,CAAC,CAAC,GAAG,UAAU,mBAAmB,MAAM,CAAC,CAAC,EAAE;AACvF;AAGO,SAAS,cAAc,SAA0B;AACtD,SAAO,aAAa,KAAK,OAAO;AAClC;AA8BA,SAAS,UAAU,QAAgB,MAAc,SAA2B;AAC1E,SAAO,IAAI,SAAS,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,QAAQ,EAAE,CAAC,GAAG;AAAA,IAChE;AAAA,IACA,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,EAChD,CAAC;AACH;AAYA,eAAe,gBACb,SACA,UACA,QACmB;AACnB,QAAM,YAAY,OAAO,YAAY,QAAQ;AAC7C,MAAI,cAAc,QAAW;AAC3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,aAAa,QAAQ;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,SAAS,MAAM,UAAU,OAAO;AACtC,MAAI,CAAC,OAAO,IAAI;AACd,WAAO,UAAU,KAAK,qBAAqB,+BAA+B,OAAO,MAAM,EAAE;AAAA,EAC3F;AAEA,SAAO,IAAI,SAAS,OAAO,WAAW;AAAA,IACpC,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,4BAA4B;AAAA,EACzD,CAAC;AACH;AAWA,eAAsB,qBACpB,SACA,SACA,QACmB;AACnB,QAAM,SAAS,iBAAiB,OAAO;AACvC,MAAI,WAAW,MAAM;AACnB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,OAAO,OAAO,YAAY,OAAO,QAAQ,GAAG;AACtD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,yCAAyC,OAAO,QAAQ;AAAA,IAC1D;AAAA,EACF;AAKA,MAAI,QAAQ,WAAW,MAAO,QAAO,MAAM,gBAAgB,SAAS,OAAO,UAAU,MAAM;AAE3F,QAAM,SAAS,OAAO,WAAW,OAAO,QAAQ;AAGhD,QAAM,eAAe,MAAM,OAAO,QAAQ,MAAM,CAAC;AACjD,MAAI,CAAC,aAAa,IAAI;AACpB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,gCAAgC,aAAa,MAAM;AAAA,IACrD;AAAA,EACF;AAEA,MAAI;AACJ,MAAI;AACF,cAAU,MAAM,QAAQ,KAAK;AAAA,EAC/B,QAAQ;AACN,WAAO,UAAU,KAAK,eAAe,4BAA4B;AAAA,EACnE;AAEA,QAAM,OAAO,UAAU,EAAE,OAAO,OAAO,OAAO,UAAU,OAAO,UAAU,QAAQ,CAAC;AAClF,SAAO,IAAI,SAAS,KAAK,UAAU,EAAE,IAAI,KAAK,CAAC,GAAG;AAAA,IAChD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,EAChD,CAAC;AACH;;;ACzHA,SAAS,0BAA0B,sCAAsC;;;AChBzE,eAAsB,mBACpB,MACA,KACA,MACA,eAAuC,CAAC,GAChB;AACxB,QAAM,UAAU,KAAK,KAAK;AAC1B,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,QAAQ;AACN,WAAO,KAAK,UAAU;AAAA,MACpB,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,OAAO,EAAE,MAAM,QAAQ,SAAS,cAAc;AAAA,IAChD,CAAC;AAAA,EACH;AACA,QAAM,WAAW,MAAM,iBAAiB,KAAK,MAAM,MAAM,YAAY;AACrE,QAAM,UAAmB,MAAM,SAAS,KAAK;AAC7C,SAAO,KAAK,UAAU,OAAO;AAC/B;AAcA,eAAsB,cACpB,KACA,MACA,cACA,SACe;AACf,mBAAiB,QAAQ,QAAQ,OAAO;AACtC,UAAM,MAAM,MAAM,mBAAmB,MAAM,KAAK,MAAM,YAAY;AAClE,QAAI,QAAQ,KAAM,SAAQ,MAAM,GAAG,GAAG;AAAA,CAAI;AAAA,EAC5C;AACF;","names":["resolve","resolve","tool"]}
@@ -12,7 +12,7 @@ import {
12
12
  serveMatchedAuxRoute,
13
13
  serveThroughPluginLifecycle,
14
14
  setupSsrDevMiddleware
15
- } from "./chunk-VD3BCME6.js";
15
+ } from "./chunk-I5PDEWZZ.js";
16
16
  import {
17
17
  resolveTheoRootDir
18
18
  } from "./chunk-FDOOBTXJ.js";
@@ -34,7 +34,7 @@ import {
34
34
  mountAgent,
35
35
  readAgentPolicy,
36
36
  writeWebResponseToServerResponse
37
- } from "./chunk-DA3GGICE.js";
37
+ } from "./chunk-RQKMY3JW.js";
38
38
  import {
39
39
  getApprovalRegistry,
40
40
  resolveProvider
@@ -59,7 +59,7 @@ import {
59
59
  } from "./chunk-47MM2JUK.js";
60
60
  import {
61
61
  scanAgents
62
- } from "./chunk-HKF6YNY4.js";
62
+ } from "./chunk-FU3LEX2I.js";
63
63
  import {
64
64
  matchRoute,
65
65
  scanServerActions,
@@ -68,7 +68,7 @@ import {
68
68
  } from "./chunk-4WP7A7RX.js";
69
69
  import {
70
70
  loadConfig
71
- } from "./chunk-VOXLI66L.js";
71
+ } from "./chunk-OZB2TKGJ.js";
72
72
  import {
73
73
  buildServicesProxyConfig
74
74
  } from "./chunk-L4V5V2TI.js";
@@ -1042,7 +1042,7 @@ async function runConfigureServer(server, ctx) {
1042
1042
  server.watcher.on("unlink", handleRouteChange);
1043
1043
  if (ctx.resolvedOpenApi !== void 0) {
1044
1044
  const openApiCfg = ctx.resolvedOpenApi;
1045
- const { reEmitOpenApi } = await import("./dev-emit-ZK5GCHXN.js");
1045
+ const { reEmitOpenApi } = await import("./dev-emit-XAPVJBM4.js");
1046
1046
  const openApiServerDir = ctx.serverDir;
1047
1047
  const openApiDistDir = resolve3(ctx.projectRoot, ctx.resolvedDistDir);
1048
1048
  const isRouteFileForOpenApi = (file) => file.startsWith(openApiServerDir) && /\.(ts|tsx|js|mjs)$/.test(file);
@@ -2243,7 +2243,7 @@ async function theoPluginAsync(rootOrOptions) {
2243
2243
  }
2244
2244
  const { assetsMapPlugin } = await import("./assets-map-BMQASQHW.js");
2245
2245
  const assetsMap = assetsMapPlugin({ appDir: resolve5(projectRoot, options.appDir ?? "app") });
2246
- const { appTypedClientPlugin } = await import("./app-typed-client-AZMUYIYV.js");
2246
+ const { appTypedClientPlugin } = await import("./app-typed-client-CHSITA46.js");
2247
2247
  const appClientPlugin = appTypedClientPlugin({
2248
2248
  cwd: projectRoot,
2249
2249
  serverDir: serverDirAbs,
@@ -2251,13 +2251,13 @@ async function theoPluginAsync(rootOrOptions) {
2251
2251
  // B-313 — the same name line 226 already passes. This call passed neither it nor the root.
2252
2252
  agentsDir: agentsDirName
2253
2253
  });
2254
- const { actionsVirtualModule } = await import("./actions-virtual-module-4J7Z37Y4.js");
2254
+ const { actionsVirtualModule } = await import("./actions-virtual-module-QEI6QPK4.js");
2255
2255
  const actionsPlugin = actionsVirtualModule({
2256
2256
  serverDir: serverDirAbs,
2257
2257
  distDir: resolve5(projectRoot, ".theokit")
2258
2258
  });
2259
2259
  const { agentsTypedClientPlugin } = await import("./agents-typed-client-D4OA2TXB.js");
2260
- const { generateManifest } = await import("./internal-api-ATSPOXI2.js");
2260
+ const { generateManifest } = await import("./internal-api-R7TTYMCY.js");
2261
2261
  const agentsClientPlugin = agentsTypedClientPlugin({
2262
2262
  projectRoot,
2263
2263
  agentsDir: agentsDirName,
@@ -2274,7 +2274,7 @@ async function theoPluginAsync(rootOrOptions) {
2274
2274
  const controllerTransformPlugin = controllerSwcTransformPlugin({
2275
2275
  serverDir: serverDirAbs
2276
2276
  });
2277
- const { serverOnlyImportBoundary } = await import("./server-boundary-JM72DQLA.js");
2277
+ const { serverOnlyImportBoundary } = await import("./server-boundary-ZT6HN7ON.js");
2278
2278
  const serverBoundaryPlugin = serverOnlyImportBoundary({
2279
2279
  projectRoot,
2280
2280
  serverDir: serverDirAbs
@@ -2451,4 +2451,4 @@ export {
2451
2451
  buildOptimizeDepsInclude,
2452
2452
  theoPlugin
2453
2453
  };
2454
- //# sourceMappingURL=chunk-XUAWD5HK.js.map
2454
+ //# sourceMappingURL=chunk-RKRFJRJ3.js.map
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-Z7CJHDLS.js";
34
34
  import {
35
35
  importUserModule
36
- } from "./chunk-U5PWXS3J.js";
36
+ } from "./chunk-O5JZ6ROY.js";
37
37
  import {
38
38
  TheoError,
39
39
  serverErrorToEnvelope
@@ -2784,4 +2784,4 @@ export {
2784
2784
  CsrfReadinessStore,
2785
2785
  applySecurityHeaders
2786
2786
  };
2787
- //# sourceMappingURL=chunk-DA3GGICE.js.map
2787
+ //# sourceMappingURL=chunk-RQKMY3JW.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-UMNXCU3K.js";
7
7
  import {
8
8
  importUserModule
9
- } from "./chunk-5KRMDP46.js";
9
+ } from "./chunk-AHYOVVJ7.js";
10
10
  import {
11
11
  walkSourceFiles
12
12
  } from "./chunk-SOYOYGWY.js";
@@ -47,11 +47,13 @@ function validateCronSchedule(schedule) {
47
47
 
48
48
  // src/server/cron/define-cron.ts
49
49
  var NAME_RE = /^[a-z0-9][a-z0-9-]{0,63}$/;
50
+ var CRON_NAME_RULE = "Must be 1-64 chars, lowercase alphanumeric + hyphen, starting with [a-z0-9].";
51
+ function isValidCronName(name) {
52
+ return typeof name === "string" && NAME_RE.test(name);
53
+ }
50
54
  function validateName(name) {
51
- if (typeof name !== "string" || !NAME_RE.test(name)) {
52
- throw new Error(
53
- `defineCron: invalid name "${name}". Must be 1-64 chars, lowercase alphanumeric + hyphen, starting with [a-z0-9].`
54
- );
55
+ if (!isValidCronName(name)) {
56
+ throw new Error(`defineCron: invalid name "${name}". ${CRON_NAME_RULE}`);
55
57
  }
56
58
  }
57
59
  function defineCron(name, options) {
@@ -309,7 +311,7 @@ function createCronScheduler(definitions) {
309
311
 
310
312
  // src/server/cron/cron-scan.ts
311
313
  import { existsSync as existsSync2 } from "node:fs";
312
- import { basename } from "node:path";
314
+ import { basename, resolve } from "node:path";
313
315
  var DuplicateCronNameError = class extends Error {
314
316
  constructor(cronName, filePaths) {
315
317
  super(
@@ -329,19 +331,24 @@ function isCronDefinition(value) {
329
331
  const def = value;
330
332
  return typeof def.name === "string" && typeof def.schedule === "string" && typeof def.handler === "function" && (def.concurrency === "forbid" || def.concurrency === "allow");
331
333
  }
332
- async function scanCrons(cronsDir) {
333
- return scanCronDirs([cronsDir]);
334
+ function isDiscoverableCronFile(fileName) {
335
+ return !fileName.startsWith("_") && !fileName.startsWith(".");
334
336
  }
335
- async function scanCronDirs(dirs) {
337
+ function listCronFiles(dirs) {
336
338
  const filePaths = [];
337
339
  for (const dir of dirs) {
338
340
  if (!existsSync2(dir)) continue;
339
341
  walkSourceFiles(dir, { extensions: CRON_EXTENSIONS }, (p) => {
340
- const base = basename(p);
341
- if (base.startsWith("_") || base.startsWith(".")) return;
342
- filePaths.push(p);
342
+ if (isDiscoverableCronFile(basename(p))) filePaths.push(p);
343
343
  });
344
344
  }
345
+ return filePaths;
346
+ }
347
+ async function scanCrons(cronsDir) {
348
+ return scanCronDirs([cronsDir]);
349
+ }
350
+ async function scanCronDirs(dirs) {
351
+ const filePaths = listCronFiles(dirs);
345
352
  const nodes = [];
346
353
  for (const filePath of filePaths) {
347
354
  let mod;
@@ -395,4 +402,4 @@ export {
395
402
  scanCrons,
396
403
  scanCronDirs
397
404
  };
398
- //# sourceMappingURL=chunk-D5KBBTVD.js.map
405
+ //# sourceMappingURL=chunk-RY6D4EXL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/cron/cron-validate.ts","../src/server/cron/define-cron.ts","../src/server/cron/cron-manifest.ts","../src/server/cron/adapter-translators.ts","../src/server/cron/cron-runtime-node.ts","../src/server/cron/cron-scan.ts"],"mappings":"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","names":["CronExpressionParser","CronExpressionParser","existsSync","existsSync"]}
package/dist/cli/index.js CHANGED
@@ -15,12 +15,12 @@ function cliVersion() {
15
15
  // src/cli/index.ts
16
16
  var cli = cac("theokit");
17
17
  cli.command("dev", "Start development server").option("--port <port>", "Port number").action(async (options) => {
18
- const { devCommand } = await import("../dev-TW6QD7F3.js");
18
+ const { devCommand } = await import("../dev-J2XZIENF.js");
19
19
  await devCommand({ port: options.port ? Number(options.port) : void 0 });
20
20
  });
21
21
  cli.command("build", "Build for production").option("--target <target>", "Deploy target (node, vercel, cloudflare)").action(async (options) => {
22
22
  try {
23
- const { buildCommand } = await import("../build-F3O5LJHY.js");
23
+ const { buildCommand } = await import("../build-QIO4VAW2.js");
24
24
  await buildCommand({ target: options.target });
25
25
  } catch (err) {
26
26
  const msg = err instanceof Error ? err.message : String(err);
@@ -32,7 +32,7 @@ cli.command("build", "Build for production").option("--target <target>", "Deploy
32
32
  });
33
33
  cli.command("start", "Start production server").option("--port <port>", "Port number").action(async (options) => {
34
34
  try {
35
- const { startCommand } = await import("../start-GAULIE5E.js");
35
+ const { startCommand } = await import("../start-L5TGWGLU.js");
36
36
  await startCommand({ port: options.port ? Number(options.port) : void 0 });
37
37
  } catch (err) {
38
38
  const msg = err instanceof Error ? err.message : String(err);
@@ -44,7 +44,7 @@ cli.command("start", "Start production server").option("--port <port>", "Port nu
44
44
  });
45
45
  cli.command("preview", "Build for production, then serve it \u2014 one step (B-030)").option("--port <port>", "Port number").option("--target <target>", "Deploy target (node, vercel, cloudflare)").action(async (options) => {
46
46
  try {
47
- const { previewCommand } = await import("../preview-AMNBV2DP.js");
47
+ const { previewCommand } = await import("../preview-ML4CFUD6.js");
48
48
  await previewCommand({
49
49
  port: options.port ? Number(options.port) : void 0,
50
50
  target: options.target
@@ -62,7 +62,7 @@ cli.command(
62
62
  "Scaffold a route, action, page, ws, controller, agent, toolbox, workflow, eval, sandbox, schedule, memory, or resource (resource accepts field:type args)"
63
63
  ).action(async (type, name, fields) => {
64
64
  try {
65
- const { generateCommand } = await import("../generate-EN6EDITF.js");
65
+ const { generateCommand } = await import("../generate-RW3NO3NR.js");
66
66
  await generateCommand(type, name, fields.length > 0 ? fields : void 0);
67
67
  } catch (err) {
68
68
  const msg = err instanceof Error ? err.message : String(err);
@@ -77,7 +77,7 @@ cli.command(
77
77
  "Run an agent in the terminal (stream + tool calls + approval)"
78
78
  ).action(async (name, message) => {
79
79
  try {
80
- const { agentCommand } = await import("../agent-XPZUWTHR.js");
80
+ const { agentCommand } = await import("../agent-IIF6JUWX.js");
81
81
  const { sawError } = await agentCommand(name, message);
82
82
  if (sawError) process.exit(1);
83
83
  } catch (err) {
@@ -108,7 +108,7 @@ cli.command("agent sessions gc", "Collect old transcripts for this project (dry
108
108
  });
109
109
  cli.command("mcp <agent>", "Serve an agent as an MCP server over stdio (for desktop MCP clients)").action(async (agent) => {
110
110
  try {
111
- const { mcpCommand } = await import("../mcp-LMV3NQEP.js");
111
+ const { mcpCommand } = await import("../mcp-MWTG3LRA.js");
112
112
  await mcpCommand(agent);
113
113
  } catch (err) {
114
114
  const msg = err instanceof Error ? err.message : String(err);
@@ -120,7 +120,7 @@ cli.command("mcp <agent>", "Serve an agent as an MCP server over stdio (for desk
120
120
  });
121
121
  cli.command("routes", "List all routes, actions, and WebSocket endpoints").action(async () => {
122
122
  try {
123
- const { routesCommand } = await import("../routes-ENMU4GAN.js");
123
+ const { routesCommand } = await import("../routes-SMNSI2ZX.js");
124
124
  await routesCommand();
125
125
  } catch (err) {
126
126
  const msg = err instanceof Error ? err.message : String(err);
@@ -161,7 +161,7 @@ cli.command("add <package>", "Install a known TheoKit adapter or plugin (whiteli
161
161
  await addCommand(pkg);
162
162
  });
163
163
  cli.command("info", "Print environment info (runtime, config, routes)").action(async () => {
164
- const { infoCommand } = await import("../info-XURFOBRF.js");
164
+ const { infoCommand } = await import("../info-6NAUW5XY.js");
165
165
  await infoCommand();
166
166
  });
167
167
  cli.command("doctor", "Report the RESOLVED state of this installation (never prints a secret)").action(async () => {
@@ -173,7 +173,7 @@ cli.command(
173
173
  "Generate <distDir>/openapi.json from route schemas (opt-in via config.openapi)"
174
174
  ).option("--dry-run", "Print the document to stdout without writing to disk (EC-3)").action(async (options) => {
175
175
  try {
176
- const { openapiCommand } = await import("../openapi-UJSUQPNT.js");
176
+ const { openapiCommand } = await import("../openapi-RVFUXXCR.js");
177
177
  await openapiCommand({ dryRun: Boolean(options.dryRun) });
178
178
  } catch (err) {
179
179
  const msg = err instanceof Error ? err.message : String(err);