@jait/gateway 0.1.376 → 0.1.378

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 (63) hide show
  1. package/dist/routes/chat.js +1 -1
  2. package/dist/routes/chat.js.map +1 -1
  3. package/dist/tools/terminal-tools.d.ts.map +1 -1
  4. package/dist/tools/terminal-tools.js +43 -8
  5. package/dist/tools/terminal-tools.js.map +1 -1
  6. package/dist/tools/thread-tools.d.ts +8 -0
  7. package/dist/tools/thread-tools.d.ts.map +1 -1
  8. package/dist/tools/thread-tools.js +185 -45
  9. package/dist/tools/thread-tools.js.map +1 -1
  10. package/package.json +1 -1
  11. package/web-dist/assets/{_basePickBy-Wzv49Akq.js → _basePickBy-DX1srpoL.js} +1 -1
  12. package/web-dist/assets/{_baseUniq-BSZbCXUo.js → _baseUniq-CpGaWXvr.js} +1 -1
  13. package/web-dist/assets/{arc-DpjjQy8H.js → arc-TlCoojgV.js} +1 -1
  14. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-C6zyje39.js → architectureDiagram-2XIMDMQ5-g4dLkByu.js} +1 -1
  15. package/web-dist/assets/{blockDiagram-WCTKOSBZ-Dg5vNEHV.js → blockDiagram-WCTKOSBZ-q3eoYyA5.js} +1 -1
  16. package/web-dist/assets/{c4Diagram-IC4MRINW-B-CGuYcX.js → c4Diagram-IC4MRINW-CMrxo8Gl.js} +1 -1
  17. package/web-dist/assets/channel-CQv_PJAa.js +1 -0
  18. package/web-dist/assets/{chunk-4BX2VUAB-CeqTXBvl.js → chunk-4BX2VUAB-D9f62ush.js} +1 -1
  19. package/web-dist/assets/{chunk-55IACEB6-BjhCFTwZ.js → chunk-55IACEB6-BVgzqhcM.js} +1 -1
  20. package/web-dist/assets/{chunk-FMBD7UC4-2VH4w1Cm.js → chunk-FMBD7UC4-xSHlEc-V.js} +1 -1
  21. package/web-dist/assets/{chunk-JSJVCQXG-BC0wOWQH.js → chunk-JSJVCQXG-mwfMuey5.js} +1 -1
  22. package/web-dist/assets/{chunk-KX2RTZJC-D9HDfnhZ.js → chunk-KX2RTZJC-Dpi2kGBn.js} +1 -1
  23. package/web-dist/assets/{chunk-NQ4KR5QH-SwWifZ9F.js → chunk-NQ4KR5QH-NdNAJb49.js} +1 -1
  24. package/web-dist/assets/{chunk-QZHKN3VN-C9r4087v.js → chunk-QZHKN3VN-C5l_F2QF.js} +1 -1
  25. package/web-dist/assets/{chunk-WL4C6EOR-BMdij3qU.js → chunk-WL4C6EOR-ZN0YA2lB.js} +1 -1
  26. package/web-dist/assets/classDiagram-VBA2DB6C-Cx28rsFB.js +1 -0
  27. package/web-dist/assets/classDiagram-v2-RAHNMMFH-Cx28rsFB.js +1 -0
  28. package/web-dist/assets/clone-tS9beBDS.js +1 -0
  29. package/web-dist/assets/{cose-bilkent-S5V4N54A-DfIv6ajn.js → cose-bilkent-S5V4N54A-D5DgtWNk.js} +1 -1
  30. package/web-dist/assets/{dagre-KLK3FWXG-BJsr2FRT.js → dagre-KLK3FWXG-BZWuVSPO.js} +1 -1
  31. package/web-dist/assets/{diagram-E7M64L7V-CzOQpmHA.js → diagram-E7M64L7V-drdUmGpA.js} +1 -1
  32. package/web-dist/assets/{diagram-IFDJBPK2-DBOK9xY-.js → diagram-IFDJBPK2-BkK_8z9E.js} +1 -1
  33. package/web-dist/assets/{diagram-P4PSJMXO-BV4mV-cp.js → diagram-P4PSJMXO-CQhg3eAu.js} +1 -1
  34. package/web-dist/assets/{erDiagram-INFDFZHY-Ba0tZtxl.js → erDiagram-INFDFZHY-C9RLW2b7.js} +1 -1
  35. package/web-dist/assets/{flowDiagram-PKNHOUZH-B9Jj988m.js → flowDiagram-PKNHOUZH-ClU3xXqx.js} +1 -1
  36. package/web-dist/assets/{ganttDiagram-A5KZAMGK-CiMqI7tz.js → ganttDiagram-A5KZAMGK-C_C90jDW.js} +1 -1
  37. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-mi0Lj_tL.js → gitGraphDiagram-K3NZZRJ6-B6UJ5oSM.js} +1 -1
  38. package/web-dist/assets/{graph-B1mSAN-r.js → graph-B5T-GnFR.js} +1 -1
  39. package/web-dist/assets/{index-Coc8XQg5.js → index-Bw0Ox9Vf.js} +316 -316
  40. package/web-dist/assets/{infoDiagram-LFFYTUFH-BBJROgHw.js → infoDiagram-LFFYTUFH-DZXCEuvP.js} +1 -1
  41. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-CvD1jJdy.js → ishikawaDiagram-PHBUUO56-CatQsDg5.js} +1 -1
  42. package/web-dist/assets/{journeyDiagram-4ABVD52K-Cee9gxbo.js → journeyDiagram-4ABVD52K-B6Qxz8da.js} +1 -1
  43. package/web-dist/assets/{kanban-definition-K7BYSVSG-DZx02Jgo.js → kanban-definition-K7BYSVSG-CBKmzX1L.js} +1 -1
  44. package/web-dist/assets/{layout-FD28oy1q.js → layout-cKmscfZY.js} +1 -1
  45. package/web-dist/assets/{linear-BfIO_UGQ.js → linear-B3jMIccF.js} +1 -1
  46. package/web-dist/assets/{mindmap-definition-YRQLILUH-BDhKfywd.js → mindmap-definition-YRQLILUH-C1lXAxNx.js} +1 -1
  47. package/web-dist/assets/{pieDiagram-SKSYHLDU-Ckqgoc0S.js → pieDiagram-SKSYHLDU-CxlrHSHA.js} +1 -1
  48. package/web-dist/assets/{quadrantDiagram-337W2JSQ-C-tMRbqn.js → quadrantDiagram-337W2JSQ-C8XybChJ.js} +1 -1
  49. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-KiArbbU4.js → requirementDiagram-Z7DCOOCP-KBEjaX2u.js} +1 -1
  50. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-BSyF4GDm.js → sankeyDiagram-WA2Y5GQK-qe-Lkpt0.js} +1 -1
  51. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-ChU2W22g.js → sequenceDiagram-2WXFIKYE-BAARyhUK.js} +1 -1
  52. package/web-dist/assets/{stateDiagram-RAJIS63D-CYfNyeS2.js → stateDiagram-RAJIS63D-BqrVoMQD.js} +1 -1
  53. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-P9utK8W0.js +1 -0
  54. package/web-dist/assets/{timeline-definition-YZTLITO2-BNGiq9yT.js → timeline-definition-YZTLITO2-CxqqP3rD.js} +1 -1
  55. package/web-dist/assets/{treemap-KZPCXAKY-7f24nLHF.js → treemap-KZPCXAKY-BSDy8Ebr.js} +1 -1
  56. package/web-dist/assets/{vennDiagram-LZ73GAT5-B5T32YFj.js → vennDiagram-LZ73GAT5-DSgYd1KV.js} +1 -1
  57. package/web-dist/assets/{xychartDiagram-JWTSCODW-BsCy1_Gu.js → xychartDiagram-JWTSCODW-CrwRbB2Z.js} +1 -1
  58. package/web-dist/index.html +1 -1
  59. package/web-dist/assets/channel-Cfw0FcZ8.js +0 -1
  60. package/web-dist/assets/classDiagram-VBA2DB6C-luXaKhEX.js +0 -1
  61. package/web-dist/assets/classDiagram-v2-RAHNMMFH-luXaKhEX.js +0 -1
  62. package/web-dist/assets/clone-CotxwDmM.js +0 -1
  63. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-CQ11roi0.js +0 -1
@@ -16,9 +16,13 @@ interface ThreadControlInput {
16
16
  kind?: "delivery" | "delegation";
17
17
  workingDirectory?: string;
18
18
  branch?: string;
19
+ prompt?: string;
19
20
  message?: string;
20
21
  attachments?: string[];
21
22
  start?: boolean;
23
+ detach?: boolean;
24
+ autoStopAfterTurn?: boolean;
25
+ timeoutMinutes?: number;
22
26
  threads?: ThreadCreateSpec[];
23
27
  requestId?: string;
24
28
  approved?: boolean;
@@ -43,8 +47,12 @@ interface ThreadCreateSpec {
43
47
  branch?: string;
44
48
  sessionId?: string;
45
49
  start?: boolean;
50
+ prompt?: string;
46
51
  message?: string;
47
52
  attachments?: string[];
53
+ detach?: boolean;
54
+ autoStopAfterTurn?: boolean;
55
+ timeoutMinutes?: number;
48
56
  }
49
57
  interface ThreadControlGit {
50
58
  runStackedAction(cwd: string, action: GitStackedAction, commitMessage?: string, featureBranch?: boolean, baseBranch?: string, githubToken?: string): Promise<GitStepResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-tools.d.ts","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-tools.d.ts","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,21 @@ function normalizeThreadProviderId(value) {
27
27
  return null;
28
28
  }
29
29
  }
30
+ function normalizePrompt(message, prompt) {
31
+ const value = typeof prompt === "string" && prompt.trim() ? prompt : message;
32
+ if (typeof value !== "string")
33
+ return undefined;
34
+ const trimmed = value.trim();
35
+ return trimmed ? trimmed : undefined;
36
+ }
37
+ function normalizeTimeoutMs(timeoutMinutes, defaultMinutes) {
38
+ const minutes = typeof timeoutMinutes === "number" && Number.isFinite(timeoutMinutes)
39
+ ? timeoutMinutes
40
+ : defaultMinutes;
41
+ if (minutes === undefined || minutes <= 0)
42
+ return undefined;
43
+ return Math.max(1, Math.floor(minutes * 60_000));
44
+ }
30
45
  export function createThreadControlTool(deps) {
31
46
  const gitService = deps.gitService ?? new GitService();
32
47
  const broadcastThreadEvent = (threadId, event, data) => {
@@ -95,17 +110,23 @@ export function createThreadControlTool(deps) {
95
110
  return undefined;
96
111
  return thread;
97
112
  };
98
- const startThread = async (context, thread, message, attachments) => {
113
+ const startThread = async (context, thread, options = {}) => {
114
+ const message = normalizePrompt(options.message);
99
115
  if (thread.status === "running" && thread.providerSessionId) {
100
116
  return { ok: false, message: "Thread is already running" };
101
117
  }
118
+ if (!message) {
119
+ return { ok: false, message: "start requires non-empty `prompt`." };
120
+ }
102
121
  const resolvedProvider = resolveStoredThreadProvider(thread.providerId, context);
103
122
  if (!resolvedProvider.providerId) {
104
123
  return { ok: false, message: resolvedProvider.error ?? "Unable to resolve a provider for this thread." };
105
124
  }
106
125
  const effectiveProviderId = resolvedProvider.providerId;
107
126
  const effectiveThread = thread;
108
- const autoFinishAfterFirstTurn = effectiveThread.kind === "delegation" && typeof message === "string" && message.trim().length > 0;
127
+ const autoFinishAfterFirstTurn = effectiveThread.kind === "delegation" || options.autoStopAfterTurn === true;
128
+ const detach = options.detach === true || context.requestedBy === "scheduler";
129
+ const timeoutMs = normalizeTimeoutMs(options.timeoutMinutes, context.requestedBy === "scheduler" ? 240 : undefined);
109
130
  const provider = deps.providerRegistry.get(effectiveProviderId);
110
131
  if (!provider) {
111
132
  return { ok: false, message: `Provider '${effectiveProviderId}' not found` };
@@ -125,7 +146,20 @@ export function createThreadControlTool(deps) {
125
146
  model: effectiveThread.model ?? context.model ?? undefined,
126
147
  mcpServers,
127
148
  });
128
- const unsubscribe = provider.onEvent((event) => {
149
+ let timeout;
150
+ let unsubscribed = false;
151
+ let unsubscribe;
152
+ const cleanup = () => {
153
+ if (timeout) {
154
+ clearTimeout(timeout);
155
+ timeout = undefined;
156
+ }
157
+ if (unsubscribe && !unsubscribed) {
158
+ unsubscribed = true;
159
+ unsubscribe();
160
+ }
161
+ };
162
+ unsubscribe = provider.onEvent((event) => {
129
163
  if (event.sessionId !== session.id) {
130
164
  return;
131
165
  }
@@ -149,12 +183,12 @@ export function createThreadControlTool(deps) {
149
183
  deps.threadService.markCompleted(effectiveThread.id);
150
184
  }
151
185
  broadcastThreadEvent(effectiveThread.id, "status", { status: "completed" });
152
- unsubscribe();
186
+ cleanup();
153
187
  }
154
188
  else if (event.type === "session.error") {
155
189
  deps.threadService.markError(effectiveThread.id, event.error);
156
190
  broadcastThreadEvent(effectiveThread.id, "status", { status: "error", error: event.error });
157
- unsubscribe();
191
+ cleanup();
158
192
  }
159
193
  else if (event.type === "turn.started") {
160
194
  // Re-assert running when a new turn begins
@@ -164,43 +198,77 @@ export function createThreadControlTool(deps) {
164
198
  broadcastThreadEvent(effectiveThread.id, "status", { status: "running" });
165
199
  }
166
200
  }
167
- else if (event.type === "turn.completed" && autoFinishAfterFirstTurn) {
168
- void provider.stopSession(session.id).catch(() => {
169
- // Best effort: delegation threads should not linger if the provider
170
- // leaves the session open after answering the first task.
171
- });
172
- deps.threadService.markCompletedAndClearSession(effectiveThread.id);
201
+ else if (event.type === "turn.completed") {
202
+ if (autoFinishAfterFirstTurn) {
203
+ void provider.stopSession(session.id).catch(() => {
204
+ // Best effort: one-shot threads should not linger if the provider
205
+ // leaves the session open after answering the first task.
206
+ });
207
+ deps.threadService.markCompletedAndClearSession(effectiveThread.id);
208
+ cleanup();
209
+ }
210
+ else {
211
+ deps.threadService.markCompleted(effectiveThread.id);
212
+ }
173
213
  broadcastThreadEvent(effectiveThread.id, "status", { status: "completed" });
174
- unsubscribe();
175
214
  }
176
215
  });
216
+ if (timeoutMs) {
217
+ timeout = setTimeout(() => {
218
+ void provider.stopSession(session.id).catch(() => { });
219
+ const activity = deps.threadService.addActivity(effectiveThread.id, "session", `Thread stopped after ${Math.round(timeoutMs / 60_000)} minute timeout`, { timeoutMs });
220
+ broadcastThreadEvent(effectiveThread.id, "activity", { activity });
221
+ deps.threadService.markInterrupted(effectiveThread.id);
222
+ broadcastThreadEvent(effectiveThread.id, "status", { status: "interrupted" });
223
+ cleanup();
224
+ }, timeoutMs);
225
+ if (typeof timeout === "object" && "unref" in timeout && typeof timeout.unref === "function") {
226
+ timeout.unref();
227
+ }
228
+ }
177
229
  deps.threadService.markRunning(effectiveThread.id, session.id);
178
230
  broadcastThreadEvent(effectiveThread.id, "status", { status: "running" });
179
231
  const historyReplayPrompt = buildThreadHistoryReplayPrompt(deps.threadService, effectiveThread.id);
180
- if (message) {
181
- const userActivity = deps.threadService.addActivity(effectiveThread.id, "message", message.slice(0, 500), { role: "user" });
182
- broadcastThreadEvent(effectiveThread.id, "activity", { activity: userActivity });
183
- // Run thread router for the first turn
184
- let turnMessage = message;
185
- if (historyReplayPrompt) {
186
- turnMessage = `${historyReplayPrompt}\n\n${turnMessage}`;
232
+ const userActivity = deps.threadService.addActivity(effectiveThread.id, "message", message.slice(0, 500), { role: "user" });
233
+ broadcastThreadEvent(effectiveThread.id, "activity", { activity: userActivity });
234
+ // Run thread router for the first turn
235
+ let turnMessage = message;
236
+ if (historyReplayPrompt) {
237
+ turnMessage = `${historyReplayPrompt}\n\n${turnMessage}`;
238
+ }
239
+ if (deps.skillRegistry) {
240
+ const availableSkills = deps.skillRegistry.listEnabled();
241
+ const routingPlan = routeThread({
242
+ message,
243
+ availableSkills,
244
+ pinnedSkillIds: effectiveThread.skillIds ? (typeof effectiveThread.skillIds === "string" ? JSON.parse(effectiveThread.skillIds) : effectiveThread.skillIds) : null,
245
+ kind: effectiveThread.kind,
246
+ });
247
+ deps.threadService.update(effectiveThread.id, { routingPlan });
248
+ broadcastThreadEvent(effectiveThread.id, "updated", { thread: deps.threadService.getById(effectiveThread.id) });
249
+ turnMessage = `${formatRoutingPlanForPrompt(routingPlan, message.length)}\n\n${message}`;
250
+ }
251
+ const sendTurn = async () => {
252
+ try {
253
+ await provider.sendTurn(session.id, turnMessage, options.attachments);
187
254
  }
188
- if (deps.skillRegistry) {
189
- const availableSkills = deps.skillRegistry.listEnabled();
190
- const routingPlan = routeThread({
191
- message,
192
- availableSkills,
193
- pinnedSkillIds: effectiveThread.skillIds ? (typeof effectiveThread.skillIds === "string" ? JSON.parse(effectiveThread.skillIds) : effectiveThread.skillIds) : null,
194
- kind: effectiveThread.kind,
195
- });
196
- deps.threadService.update(effectiveThread.id, { routingPlan });
197
- broadcastThreadEvent(effectiveThread.id, "updated", { thread: deps.threadService.getById(effectiveThread.id) });
198
- turnMessage = `${formatRoutingPlanForPrompt(routingPlan, message.length)}\n\n${message}`;
255
+ catch (err) {
256
+ const errorMessage = err instanceof Error ? err.message : String(err);
257
+ deps.threadService.markError(effectiveThread.id, errorMessage);
258
+ broadcastThreadEvent(effectiveThread.id, "status", { status: "error", error: errorMessage });
259
+ cleanup();
260
+ if (!detach)
261
+ throw err;
199
262
  }
200
- await provider.sendTurn(session.id, turnMessage, attachments);
263
+ };
264
+ if (detach) {
265
+ void sendTurn();
266
+ }
267
+ else {
268
+ await sendTurn();
201
269
  }
202
270
  const updated = deps.threadService.getById(effectiveThread.id) ?? effectiveThread;
203
- return { ok: true, message: "Thread started", thread: updated };
271
+ return { ok: true, message: detach ? "Thread started in background" : "Thread started", thread: updated };
204
272
  }
205
273
  catch (err) {
206
274
  const errorMessage = err instanceof Error ? err.message : String(err);
@@ -212,7 +280,10 @@ export function createThreadControlTool(deps) {
212
280
  return {
213
281
  name: ToolName.ThreadControl,
214
282
  description: "Control agent threads end-to-end: create/list/update/delete threads, run them in parallel, " +
215
- "send turns, stop/interrupt, and create pull requests with direct links.",
283
+ "send turns, stop/interrupt, and create pull requests with direct links. " +
284
+ "Threads have two kinds: delivery threads are user-owned work items that can be completed, resumed, reviewed, and used to create PRs; " +
285
+ "delegation threads are helper/sub-agent tasks that auto-finish after one turn and cannot create PRs. " +
286
+ "Creating or starting a thread requires a non-empty prompt. Scheduled jobs should create delivery threads with detach=true so the scheduler returns after dispatching the turn.",
216
287
  tier: "standard",
217
288
  category: "agent",
218
289
  source: "builtin",
@@ -243,16 +314,39 @@ export function createThreadControlTool(deps) {
243
314
  title: { type: "string", description: "Thread title (create/update)." },
244
315
  model: { type: "string", description: "Optional provider model." },
245
316
  runtimeMode: { type: "string", enum: ["full-access", "supervised"], description: "Execution mode for thread runs." },
246
- kind: { type: "string", enum: ["delivery", "delegation"], description: "Thread kind. Delegation threads are helper workers and do not create PRs." },
317
+ kind: {
318
+ type: "string",
319
+ enum: ["delivery", "delegation"],
320
+ description: "Thread kind. Use delivery for user-owned work that can be reviewed, resumed, merged, or turned into a PR. " +
321
+ "Use delegation for helper/sub-agent work; delegation threads auto-finish after one turn and cannot create PRs.",
322
+ },
247
323
  workingDirectory: { type: "string", description: "Working directory for the thread." },
248
324
  branch: { type: "string", description: "Git branch metadata for the thread." },
249
- message: { type: "string", description: "Initial or follow-up user message for start/send." },
325
+ prompt: {
326
+ type: "string",
327
+ description: "Required prompt for create/start/send. Prefer this over `message`; `message` is kept as a backward-compatible alias.",
328
+ },
329
+ message: { type: "string", description: "Backward-compatible alias for `prompt`." },
250
330
  attachments: {
251
331
  type: "array",
252
332
  description: "Optional attachments for provider sendTurn.",
253
333
  items: { type: "string" },
254
334
  },
255
- start: { type: "boolean", description: "For create/create_many: auto-start thread(s) after creation." },
335
+ start: { type: "boolean", description: "For create/create_many: auto-start thread(s) after creation. Requires `prompt`." },
336
+ detach: {
337
+ type: "boolean",
338
+ description: "Return after dispatching the first turn instead of waiting for provider.sendTurn. " +
339
+ "Use true for scheduled/cron-created delivery threads so the job creates a normal user-visible thread without blocking the scheduler. Scheduler-triggered starts detach automatically.",
340
+ },
341
+ autoStopAfterTurn: {
342
+ type: "boolean",
343
+ description: "Stop the provider session and clear resumability after the first turn completes. " +
344
+ "Delegation threads always do this. Leave false for normal delivery threads that the user may review, resume, merge, or delete later.",
345
+ },
346
+ timeoutMinutes: {
347
+ type: "number",
348
+ description: "Maximum runtime before stopping the provider session. Scheduler-triggered starts default to 240 minutes.",
349
+ },
256
350
  threads: {
257
351
  type: "array",
258
352
  description: "For create_many: array of thread specs to create in one call.",
@@ -267,8 +361,12 @@ export function createThreadControlTool(deps) {
267
361
  branch: { type: "string" },
268
362
  sessionId: { type: "string" },
269
363
  start: { type: "boolean" },
364
+ prompt: { type: "string" },
270
365
  message: { type: "string" },
271
366
  attachments: { type: "array", items: { type: "string" } },
367
+ detach: { type: "boolean" },
368
+ autoStopAfterTurn: { type: "boolean" },
369
+ timeoutMinutes: { type: "number" },
272
370
  },
273
371
  required: ["title"],
274
372
  },
@@ -313,6 +411,10 @@ export function createThreadControlTool(deps) {
313
411
  return { ok: true, message: "Thread loaded", data: { thread } };
314
412
  }
315
413
  case "create": {
414
+ const prompt = normalizePrompt(input.message, input.prompt);
415
+ if (!prompt) {
416
+ return { ok: false, message: "create requires non-empty `prompt`." };
417
+ }
316
418
  const resolvedProvider = resolveProviderId(context);
317
419
  if (!resolvedProvider.providerId) {
318
420
  return { ok: false, message: resolvedProvider.error ?? "Unable to resolve a provider for this thread." };
@@ -332,9 +434,17 @@ export function createThreadControlTool(deps) {
332
434
  });
333
435
  broadcastThreadEvent(thread.id, "created", { thread });
334
436
  if (!input.start) {
437
+ const activity = deps.threadService.addActivity(thread.id, "message", prompt.slice(0, 500), { role: "user" });
438
+ broadcastThreadEvent(thread.id, "activity", { activity });
335
439
  return { ok: true, message: "Thread created", data: { thread } };
336
440
  }
337
- const started = await startThread(context, thread, input.message, input.attachments);
441
+ const started = await startThread(context, thread, {
442
+ message: prompt,
443
+ attachments: input.attachments,
444
+ detach: input.detach,
445
+ autoStopAfterTurn: input.autoStopAfterTurn,
446
+ timeoutMinutes: input.timeoutMinutes,
447
+ });
338
448
  if (!started.ok) {
339
449
  return {
340
450
  ok: false,
@@ -352,6 +462,13 @@ export function createThreadControlTool(deps) {
352
462
  if (!input.threads || input.threads.length === 0) {
353
463
  return { ok: false, message: "create_many requires non-empty `threads`." };
354
464
  }
465
+ const missingPrompt = input.threads.find((spec) => {
466
+ const prompt = normalizePrompt(spec.message, spec.prompt) ?? normalizePrompt(input.message, input.prompt);
467
+ return !prompt;
468
+ });
469
+ if (missingPrompt) {
470
+ return { ok: false, message: `create_many requires non-empty prompt for thread '${missingPrompt.title}'.` };
471
+ }
355
472
  const validatedSpecs = input.threads.map((spec) => ({
356
473
  spec,
357
474
  resolvedProvider: resolveProviderId(context),
@@ -366,6 +483,7 @@ export function createThreadControlTool(deps) {
366
483
  const created = validatedSpecs.map(({ spec, resolvedProvider }) => {
367
484
  const selectedProviderId = resolvedProvider.providerId;
368
485
  const selectedDefaults = resolveSelectedThreadDefaults(context);
486
+ const prompt = (normalizePrompt(spec.message, spec.prompt) ?? normalizePrompt(input.message, input.prompt));
369
487
  const thread = deps.threadService.create({
370
488
  userId,
371
489
  sessionId: spec.sessionId ?? input.sessionId,
@@ -378,11 +496,17 @@ export function createThreadControlTool(deps) {
378
496
  branch: spec.branch ?? input.branch,
379
497
  });
380
498
  broadcastThreadEvent(thread.id, "created", { thread });
381
- return { thread, spec };
499
+ return { thread, spec, prompt };
382
500
  });
383
501
  const startTargets = created.filter(({ spec }) => spec.start === true || input.start === true);
384
- const startResults = await Promise.all(startTargets.map(async ({ thread, spec }) => {
385
- const started = await startThread(context, thread, spec.message ?? input.message, spec.attachments ?? input.attachments);
502
+ const startResults = await Promise.all(startTargets.map(async ({ thread, spec, prompt }) => {
503
+ const started = await startThread(context, thread, {
504
+ message: prompt,
505
+ attachments: spec.attachments ?? input.attachments,
506
+ detach: spec.detach ?? input.detach,
507
+ autoStopAfterTurn: spec.autoStopAfterTurn ?? input.autoStopAfterTurn,
508
+ timeoutMinutes: spec.timeoutMinutes ?? input.timeoutMinutes,
509
+ });
386
510
  return {
387
511
  threadId: thread.id,
388
512
  ok: started.ok,
@@ -395,6 +519,12 @@ export function createThreadControlTool(deps) {
395
519
  for (const started of startResults) {
396
520
  threadById.set(started.threadId, started.thread);
397
521
  }
522
+ for (const { thread, prompt, spec } of created) {
523
+ if (spec.start === true || input.start === true)
524
+ continue;
525
+ const activity = deps.threadService.addActivity(thread.id, "message", prompt.slice(0, 500), { role: "user" });
526
+ broadcastThreadEvent(thread.id, "activity", { activity });
527
+ }
398
528
  const threads = [...threadById.values()];
399
529
  return {
400
530
  ok: failedStarts.length === 0,
@@ -464,10 +594,19 @@ export function createThreadControlTool(deps) {
464
594
  case "start": {
465
595
  if (!input.threadId)
466
596
  return { ok: false, message: "start requires `threadId`." };
597
+ const prompt = normalizePrompt(input.message, input.prompt);
598
+ if (!prompt)
599
+ return { ok: false, message: "start requires non-empty `prompt`." };
467
600
  const thread = getAccessibleThread(input.threadId, userId);
468
601
  if (!thread)
469
602
  return { ok: false, message: "Thread not found." };
470
- const started = await startThread(context, thread, input.message, input.attachments);
603
+ const started = await startThread(context, thread, {
604
+ message: prompt,
605
+ attachments: input.attachments,
606
+ detach: input.detach,
607
+ autoStopAfterTurn: input.autoStopAfterTurn,
608
+ timeoutMinutes: input.timeoutMinutes,
609
+ });
471
610
  return {
472
611
  ok: started.ok,
473
612
  message: started.message,
@@ -477,8 +616,9 @@ export function createThreadControlTool(deps) {
477
616
  case "send": {
478
617
  if (!input.threadId)
479
618
  return { ok: false, message: "send requires `threadId`." };
480
- if (!input.message?.trim())
481
- return { ok: false, message: "send requires non-empty `message`." };
619
+ const prompt = normalizePrompt(input.message, input.prompt);
620
+ if (!prompt)
621
+ return { ok: false, message: "send requires non-empty `prompt`." };
482
622
  const thread = getAccessibleThread(input.threadId, userId);
483
623
  if (!thread)
484
624
  return { ok: false, message: "Thread not found." };
@@ -490,8 +630,8 @@ export function createThreadControlTool(deps) {
490
630
  return { ok: false, message: `Provider '${thread.providerId}' not found` };
491
631
  deps.threadService.update(thread.id, { status: "running", error: null, completedAt: null });
492
632
  broadcastThreadEvent(thread.id, "status", { status: "running" });
493
- await provider.sendTurn(thread.providerSessionId, input.message, input.attachments);
494
- const activity = deps.threadService.addActivity(thread.id, "message", input.message.slice(0, 500), { role: "user" });
633
+ await provider.sendTurn(thread.providerSessionId, prompt, input.attachments);
634
+ const activity = deps.threadService.addActivity(thread.id, "message", prompt.slice(0, 500), { role: "user" });
495
635
  broadcastThreadEvent(thread.id, "activity", { activity });
496
636
  return { ok: true, message: "Turn sent", data: { threadId: thread.id } };
497
637
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thread-tools.js","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-tools.js","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jait/gateway",
3
- "version": "0.1.376",
3
+ "version": "0.1.378",
4
4
  "description": "Jait AI gateway — local-first AI coding agent with terminal, filesystem, and browser control",
5
5
  "author": "JakobWl",
6
6
  "type": "module",
@@ -1 +1 @@
1
- import{c as b,e as l,k as I,g as O,h as P,j as w,l as _,m,t as F,n as M}from"./_baseUniq-BSZbCXUo.js";import{aS as A,at as E,aT as N,aU as p,aV as S,aW as x,aX as T,aY as $,aZ as G,a_ as v,a$ as L,b0 as R}from"./index-Coc8XQg5.js";var g=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=A(n),n===g||n===-g){var a=n<0?-1:1;return a*X}return n===n?n:0}function q(n){var a=Y(n),r=a%1;return a===a?r?a-r:a:0}function c(n){var a=n==null?0:n.length;return a?b(n):[]}var o=Object.prototype,z=o.hasOwnProperty,j=E(function(n,a){n=Object(n);var r=-1,i=a.length,t=i>2?a[2]:void 0;for(t&&N(a[0],a[1],t)&&(i=1);++r<i;)for(var f=a[r],e=p(f),s=-1,u=e.length;++s<u;){var d=e[s],h=n[d];(h===void 0||S(h,o[d])&&!z.call(n,d))&&(n[d]=f[d])}return n});function k(n){var a=n==null?0:n.length;return a?n[a-1]:void 0}function B(n){return function(a,r,i){var t=Object(a);if(!x(a)){var f=l(r);a=I(a),r=function(s){return f(t[s],s,t)}}var e=n(a,r,i);return e>-1?t[f?a[e]:e]:void 0}}var C=Math.max;function H(n,a,r){var i=n==null?0:n.length;if(!i)return-1;var t=r==null?0:q(r);return t<0&&(t=C(i+t,0)),O(n,l(a),t)}var nn=B(H);function K(n,a){var r=-1,i=x(n)?Array(n.length):[];return P(n,function(t,f,e){i[++r]=a(t,f,e)}),i}function an(n,a){var r=T(n)?w:K;return r(n,l(a))}var U=Object.prototype,W=U.hasOwnProperty;function Z(n,a){return n!=null&&W.call(n,a)}function rn(n,a){return n!=null&&_(n,a,Z)}function D(n,a){return n<a}function J(n,a,r){for(var i=-1,t=n.length;++i<t;){var f=n[i],e=a(f);if(e!=null&&(s===void 0?e===e&&!$(e):r(e,s)))var s=e,u=f}return u}function tn(n){return n&&n.length?J(n,G,D):void 0}function Q(n,a,r,i){if(!v(n))return n;a=m(a,n);for(var t=-1,f=a.length,e=f-1,s=n;s!=null&&++t<f;){var u=F(a[t]),d=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return n;if(t!=e){var h=s[u];d=void 0,d===void 0&&(d=v(h)?h:L(a[t+1])?[]:{})}R(s,u,d),s=s[u]}return n}function en(n,a,r){for(var i=-1,t=a.length,f={};++i<t;){var e=a[i],s=M(n,e);r(s,e)&&Q(f,m(e,n),s)}return f}export{D as a,J as b,K as c,en as d,tn as e,c as f,nn as g,rn as h,j as i,q as j,k as l,an as m,Y as t};
1
+ import{c as b,e as l,k as I,g as O,h as P,j as w,l as _,m,t as F,n as M}from"./_baseUniq-CpGaWXvr.js";import{aS as A,at as E,aT as N,aU as p,aV as S,aW as x,aX as T,aY as $,aZ as G,a_ as v,a$ as L,b0 as R}from"./index-Bw0Ox9Vf.js";var g=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=A(n),n===g||n===-g){var a=n<0?-1:1;return a*X}return n===n?n:0}function q(n){var a=Y(n),r=a%1;return a===a?r?a-r:a:0}function c(n){var a=n==null?0:n.length;return a?b(n):[]}var o=Object.prototype,z=o.hasOwnProperty,j=E(function(n,a){n=Object(n);var r=-1,i=a.length,t=i>2?a[2]:void 0;for(t&&N(a[0],a[1],t)&&(i=1);++r<i;)for(var f=a[r],e=p(f),s=-1,u=e.length;++s<u;){var d=e[s],h=n[d];(h===void 0||S(h,o[d])&&!z.call(n,d))&&(n[d]=f[d])}return n});function k(n){var a=n==null?0:n.length;return a?n[a-1]:void 0}function B(n){return function(a,r,i){var t=Object(a);if(!x(a)){var f=l(r);a=I(a),r=function(s){return f(t[s],s,t)}}var e=n(a,r,i);return e>-1?t[f?a[e]:e]:void 0}}var C=Math.max;function H(n,a,r){var i=n==null?0:n.length;if(!i)return-1;var t=r==null?0:q(r);return t<0&&(t=C(i+t,0)),O(n,l(a),t)}var nn=B(H);function K(n,a){var r=-1,i=x(n)?Array(n.length):[];return P(n,function(t,f,e){i[++r]=a(t,f,e)}),i}function an(n,a){var r=T(n)?w:K;return r(n,l(a))}var U=Object.prototype,W=U.hasOwnProperty;function Z(n,a){return n!=null&&W.call(n,a)}function rn(n,a){return n!=null&&_(n,a,Z)}function D(n,a){return n<a}function J(n,a,r){for(var i=-1,t=n.length;++i<t;){var f=n[i],e=a(f);if(e!=null&&(s===void 0?e===e&&!$(e):r(e,s)))var s=e,u=f}return u}function tn(n){return n&&n.length?J(n,G,D):void 0}function Q(n,a,r,i){if(!v(n))return n;a=m(a,n);for(var t=-1,f=a.length,e=f-1,s=n;s!=null&&++t<f;){var u=F(a[t]),d=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return n;if(t!=e){var h=s[u];d=void 0,d===void 0&&(d=v(h)?h:L(a[t+1])?[]:{})}R(s,u,d),s=s[u]}return n}function en(n,a,r){for(var i=-1,t=a.length,f={};++i<t;){var e=a[i],s=M(n,e);r(s,e)&&Q(f,m(e,n),s)}return f}export{D as a,J as b,K as c,en as d,tn as e,c as f,nn as g,rn as h,j as i,q as j,k as l,an as m,Y as t};