cli-jaw 2.2.17 → 2.2.18

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 (135) hide show
  1. package/README.md +4 -0
  2. package/dist/bin/cli-jaw.js +9 -1
  3. package/dist/bin/cli-jaw.js.map +1 -1
  4. package/dist/bin/commands/ask.js +245 -0
  5. package/dist/bin/commands/ask.js.map +1 -0
  6. package/dist/bin/commands/chat.js +41 -3
  7. package/dist/bin/commands/chat.js.map +1 -1
  8. package/dist/bin/commands/dispatch.js +210 -167
  9. package/dist/bin/commands/dispatch.js.map +1 -1
  10. package/dist/bin/commands/init.js +33 -4
  11. package/dist/bin/commands/init.js.map +1 -1
  12. package/dist/bin/commands/slack.js +73 -3
  13. package/dist/bin/commands/slack.js.map +1 -1
  14. package/dist/bin/commands/tui/raw-pipe-mode.js +90 -0
  15. package/dist/bin/commands/tui/raw-pipe-mode.js.map +1 -0
  16. package/dist/bin/commands/tui/simple-mode.js +11 -2
  17. package/dist/bin/commands/tui/simple-mode.js.map +1 -1
  18. package/dist/bin/postinstall.js +54 -30
  19. package/dist/bin/postinstall.js.map +1 -1
  20. package/dist/server.js +10 -0
  21. package/dist/server.js.map +1 -1
  22. package/dist/src/agent/pi-runtime.js +10 -2
  23. package/dist/src/agent/pi-runtime.js.map +1 -1
  24. package/dist/src/agent/spawn/queue.js +21 -0
  25. package/dist/src/agent/spawn/queue.js.map +1 -1
  26. package/dist/src/agent/spawn.js +19 -6
  27. package/dist/src/agent/spawn.js.map +1 -1
  28. package/dist/src/cli/cli-status.js +65 -5
  29. package/dist/src/cli/cli-status.js.map +1 -1
  30. package/dist/src/cli/handlers.js +9 -1
  31. package/dist/src/cli/handlers.js.map +1 -1
  32. package/dist/src/cli/tui/jawcode-render.js +18 -5
  33. package/dist/src/cli/tui/jawcode-render.js.map +1 -1
  34. package/dist/src/core/config.js +85 -0
  35. package/dist/src/core/config.js.map +1 -1
  36. package/dist/src/core/exec-name.js +55 -0
  37. package/dist/src/core/exec-name.js.map +1 -0
  38. package/dist/src/core/runtime-settings.js +9 -1
  39. package/dist/src/core/runtime-settings.js.map +1 -1
  40. package/dist/src/core/settings-watch.js +10 -1
  41. package/dist/src/core/settings-watch.js.map +1 -1
  42. package/dist/src/lib/tui/bun-shim.mjs +75 -0
  43. package/dist/src/memory/bootstrap.js +8 -1
  44. package/dist/src/memory/bootstrap.js.map +1 -1
  45. package/dist/src/messaging/channel-validate.js +11 -1
  46. package/dist/src/messaging/channel-validate.js.map +1 -1
  47. package/dist/src/orchestrator/gateway.js +23 -2
  48. package/dist/src/orchestrator/gateway.js.map +1 -1
  49. package/dist/src/orchestrator/pipeline.js +6 -0
  50. package/dist/src/orchestrator/pipeline.js.map +1 -1
  51. package/dist/src/orchestrator/request-registry.js +116 -0
  52. package/dist/src/orchestrator/request-registry.js.map +1 -0
  53. package/dist/src/prompt/templates/a1-system.md +5 -5
  54. package/dist/src/routes/messaging.js +94 -1
  55. package/dist/src/routes/messaging.js.map +1 -1
  56. package/dist/src/routes/settings.js +61 -4
  57. package/dist/src/routes/settings.js.map +1 -1
  58. package/dist/src/routes/system.js +23 -3
  59. package/dist/src/routes/system.js.map +1 -1
  60. package/dist/src/slack/bot.js +36 -1
  61. package/dist/src/slack/bot.js.map +1 -1
  62. package/dist/src/slack/commands.js +29 -1
  63. package/dist/src/slack/commands.js.map +1 -1
  64. package/dist/src/slack/events.js +4 -1
  65. package/dist/src/slack/events.js.map +1 -1
  66. package/dist/src/slack/history.js +10 -3
  67. package/dist/src/slack/history.js.map +1 -1
  68. package/dist/src/slack/identity.js +553 -0
  69. package/dist/src/slack/identity.js.map +1 -0
  70. package/dist/src/slack/ingress.js +42 -0
  71. package/dist/src/slack/ingress.js.map +1 -1
  72. package/dist/src/slack/manifest.js +95 -71
  73. package/dist/src/slack/manifest.js.map +1 -1
  74. package/dist/src/slack/roster.js +180 -0
  75. package/dist/src/slack/roster.js.map +1 -0
  76. package/package.json +4 -3
  77. package/public/css/sidebar.css +29 -51
  78. package/public/dist/assets/AdvancedExport-c41zCkwB.js +1 -0
  79. package/public/dist/assets/{Agent-CNNQ7KkJ.js → Agent-nMPZsMfN.js} +1 -1
  80. package/public/dist/assets/ChannelsSlack-CVNKtoo4.js +1 -0
  81. package/public/dist/assets/{app-Dsgp4xpU.js → app-DqSJmDwP.js} +4 -4
  82. package/public/dist/assets/{app-DjgGeXhJ.css → app-DuyLYRC6.css} +1 -1
  83. package/public/dist/assets/bgtask-badge-CjWz0F6U.js +1 -0
  84. package/public/dist/assets/{bgtask-badge-CpavV0Jc.js → bgtask-badge-D6XYRFI5.js} +1 -1
  85. package/public/dist/assets/{employees-BJyEgim7.js → employees-B_wKPfTO.js} +1 -1
  86. package/public/dist/assets/{iframe-renderer-B8k3AvTv.js → iframe-renderer-D1-zDg8V.js} +2 -2
  87. package/public/dist/assets/iframe-renderer-qRVLHPnT.js +1 -0
  88. package/public/dist/assets/{manager-kXYQyMhR.js → manager-Bjuh1jpq.js} +1 -1
  89. package/public/dist/assets/{memory-D2RbBVO-.js → memory-CNUpXWEC.js} +1 -1
  90. package/public/dist/assets/memory-CcWGiPy_.js +1 -0
  91. package/public/dist/assets/message-history-BamMPUnL.js +1 -0
  92. package/public/dist/assets/{message-history-Bw2E_b8L.js → message-history-DB1rynP-.js} +1 -1
  93. package/public/dist/assets/{render-BkGcpH7z.js → render-DXwQzjsJ.js} +1 -1
  94. package/public/dist/assets/{settings-B1FPORO2.js → settings-CXndjCad.js} +14 -14
  95. package/public/dist/assets/settings-RGpifFHy.js +1 -0
  96. package/public/dist/assets/settings-core-X_5UHfr3.js +1 -0
  97. package/public/dist/assets/settings-core-t5yYVRrv.js +162 -0
  98. package/public/dist/assets/{sidebar-DW78DANx.js → sidebar-DgIj-LuT.js} +3 -3
  99. package/public/dist/assets/skills-CbwIimit.js +1 -0
  100. package/public/dist/assets/{skills-lWi0ZFiV.js → skills-QqxjqDHg.js} +1 -1
  101. package/public/dist/assets/{slash-commands-DYOI6nKj.js → slash-commands-B2V_jngP.js} +1 -1
  102. package/public/dist/assets/slash-commands-tCNRlNTC.js +1 -0
  103. package/public/dist/assets/{trace-drawer-DBX9xzmt.js → trace-drawer-CBe9nRjS.js} +1 -1
  104. package/public/dist/assets/{ui-Bx7eqnXt.js → ui-CDozpEQt.js} +1 -1
  105. package/public/dist/assets/ui-o-VpvrSv.js +1 -0
  106. package/public/dist/index.html +15 -34
  107. package/public/dist/manager/index.html +1 -1
  108. package/public/index.html +13 -32
  109. package/public/js/features/channel-onboarding-flow.ts +25 -2
  110. package/public/js/features/channel-onboarding.ts +111 -8
  111. package/public/js/features/settings-cli-status.ts +18 -4
  112. package/public/js/features/settings-slack.ts +127 -29
  113. package/public/js/features/settings-types.ts +11 -2
  114. package/public/locales/en.json +17 -8
  115. package/public/locales/ja.json +17 -8
  116. package/public/locales/ko.json +17 -8
  117. package/public/locales/zh.json +17 -8
  118. package/public/manager/src/settings/pages/AdvancedExport.tsx +1 -0
  119. package/public/manager/src/settings/pages/Agent.tsx +10 -1
  120. package/public/manager/src/settings/pages/ChannelsSlack.tsx +13 -1
  121. package/scripts/atomic-build.sh +10 -3
  122. package/scripts/release-preview.sh +16 -1
  123. package/scripts/verify-dist-assets.sh +53 -0
  124. package/public/dist/assets/AdvancedExport-DYGcCAUq.js +0 -1
  125. package/public/dist/assets/ChannelsSlack-ybvupgdK.js +0 -1
  126. package/public/dist/assets/bgtask-badge-C6h5C-o4.js +0 -1
  127. package/public/dist/assets/iframe-renderer-BO_GgCTR.js +0 -1
  128. package/public/dist/assets/memory-amsvg4Ey.js +0 -1
  129. package/public/dist/assets/message-history-BGHZxvgV.js +0 -1
  130. package/public/dist/assets/settings-CMN-zN4Q.js +0 -1
  131. package/public/dist/assets/settings-core-B_OjGYVN.js +0 -1
  132. package/public/dist/assets/settings-core-CxRwqx86.js +0 -144
  133. package/public/dist/assets/skills-Dz-9Yrxr.js +0 -1
  134. package/public/dist/assets/slash-commands-xJFCdTTM.js +0 -1
  135. package/public/dist/assets/ui-JOcrYeG-.js +0 -1
@@ -56,7 +56,17 @@ if (process.env["JAW_EMPLOYEE_MODE"] === '1') {
56
56
  const bossToken = process.env["JAW_BOSS_TOKEN"] || '';
57
57
  if (!bossToken) {
58
58
  console.error('❌ JAW_BOSS_TOKEN missing. This session is not authorized to dispatch employees.');
59
- console.error(' Employees cannot dispatch. If you are the boss, ensure cli-jaw serve is running and this process inherited its env.');
59
+ // The old wording told users to "ensure this process inherited its env",
60
+ // which cannot work: the boss token is generated inside the running serve
61
+ // process and never written to disk, so a separately opened shell has
62
+ // nothing to inherit from. Saying so plainly beats sending people to look
63
+ // for a file that does not exist (#276).
64
+ console.error(' The boss token lives only in the serve process\'s memory — it is never written to disk,');
65
+ console.error(' so a separately opened shell cannot inherit it. $JAW_HOME/token is the API bearer');
66
+ console.error(' token, not this capability.');
67
+ console.error('');
68
+ console.error(' To dispatch: run this from the agent session that serve spawned.');
69
+ console.error(' To send an ordinary prompt instead: jaw ask "<text>"');
60
70
  process.exit(2);
61
71
  }
62
72
  const portIdx = process.argv.indexOf('--port');
@@ -111,62 +121,77 @@ if (agentsFile) {
111
121
  }
112
122
  batchAgentsRaw = r.content;
113
123
  }
114
- if (isBatch) {
115
- if (!batchAgentsRaw) {
116
- console.error('Usage: jaw dispatch --batch (--agents \'[{"agent":"Name","task":"..."}]\' | --agents-file <path>)');
117
- process.exit(1);
118
- }
119
- let batchAgents;
120
- try {
121
- batchAgents = JSON.parse(batchAgentsRaw);
122
- if (!Array.isArray(batchAgents) || batchAgents.length === 0)
123
- throw new Error('empty');
124
- }
125
- catch {
126
- console.error('❌ --agents must be a non-empty JSON array');
127
- process.exit(1);
128
- }
129
- const BASE = getServerUrl();
130
- await getCliAuthToken();
131
- if (!json && !quiet)
132
- console.log(`🚀 Batch dispatching ${batchAgents.length} agents...`);
133
- try {
134
- const res = await cliFetch(`${BASE}/api/orchestrate/dispatch/batch`, {
135
- method: 'POST',
136
- headers: { 'Content-Type': 'application/json', 'X-Jaw-Boss-Token': bossToken },
137
- // --async sends wait:false → server pre-claims slots, answers 202
138
- // with runIds, and executes detached (results via worker status/read
139
- // or the boss's pending-replay drain).
140
- body: JSON.stringify({ agents: batchAgents, ...(isAsync ? { wait: false } : {}) }),
141
- });
142
- const { body, nonJsonError } = await readJsonResponse(res, 'batch dispatch endpoint');
143
- if (nonJsonError || !body.ok) {
144
- printNonOkResponse(body, res.status);
145
- process.exit(1);
124
+ // `batchRun:` lets each exit below break out instead of calling process.exit().
125
+ // Tearing the process down while the fetch transport is still closing is the
126
+ // likely source of the libuv UV_HANDLE_CLOSING assertion in #276.
127
+ if (isBatch)
128
+ batchRun: {
129
+ if (!batchAgentsRaw) {
130
+ console.error('Usage: jaw dispatch --batch (--agents \'[{"agent":"Name","task":"..."}]\' | --agents-file <path>)');
131
+ process.exitCode = 1;
132
+ break batchRun;
146
133
  }
147
- if (res.status === 202) {
148
- const workers = body.workers || [];
149
- const allAccepted = workers.length > 0 && workers.every(w => w.accepted);
134
+ let batchAgents;
135
+ try {
136
+ batchAgents = JSON.parse(batchAgentsRaw);
137
+ if (!Array.isArray(batchAgents) || batchAgents.length === 0)
138
+ throw new Error('empty');
139
+ }
140
+ catch {
141
+ console.error('❌ --agents must be a non-empty JSON array');
142
+ process.exitCode = 1;
143
+ break batchRun;
144
+ }
145
+ const BASE = getServerUrl();
146
+ await getCliAuthToken();
147
+ if (!json && !quiet)
148
+ console.log(`🚀 Batch dispatching ${batchAgents.length} agents...`);
149
+ try {
150
+ const res = await cliFetch(`${BASE}/api/orchestrate/dispatch/batch`, {
151
+ method: 'POST',
152
+ headers: { 'Content-Type': 'application/json', 'X-Jaw-Boss-Token': bossToken },
153
+ // --async sends wait:false → server pre-claims slots, answers 202
154
+ // with runIds, and executes detached (results via worker status/read
155
+ // or the boss's pending-replay drain).
156
+ body: JSON.stringify({ agents: batchAgents, ...(isAsync ? { wait: false } : {}) }),
157
+ });
158
+ const { body, nonJsonError } = await readJsonResponse(res, 'batch dispatch endpoint');
159
+ if (nonJsonError || !body.ok) {
160
+ printNonOkResponse(body, res.status);
161
+ // Every exit below this point runs while the fetch transport is
162
+ // still closing, so they set exitCode and return instead of tearing
163
+ // the process down mid-teardown (#276 libuv assertion).
164
+ process.exitCode = 1;
165
+ break batchRun;
166
+ }
167
+ if (res.status === 202) {
168
+ const workers = body.workers || [];
169
+ const allAccepted = workers.length > 0 && workers.every(w => w.accepted);
170
+ if (json) {
171
+ console.log(JSON.stringify(body));
172
+ process.exitCode = allAccepted ? 0 : 1;
173
+ break batchRun;
174
+ }
175
+ printBatchAsyncWorkers(workers);
176
+ process.exitCode = allAccepted ? 0 : 1;
177
+ break batchRun;
178
+ }
150
179
  if (json) {
151
180
  console.log(JSON.stringify(body));
152
- process.exit(allAccepted ? 0 : 1);
181
+ process.exitCode = (body.results || []).every(r => r.ok) ? 0 : 1;
182
+ break batchRun;
183
+ }
184
+ if (quiet) {
185
+ process.exitCode = (body.results || []).every(r => r.ok) ? 0 : 1;
186
+ break batchRun;
153
187
  }
154
- printBatchAsyncWorkers(workers);
155
- process.exit(allAccepted ? 0 : 1);
188
+ process.exitCode = printBatchDispatchSummary(body.results || []);
156
189
  }
157
- if (json) {
158
- console.log(JSON.stringify(body));
159
- process.exit((body.results || []).every(r => r.ok) ? 0 : 1);
190
+ catch (e) {
191
+ console.error(`❌ Error: ${errString(e)}`);
192
+ process.exitCode = 1;
160
193
  }
161
- if (quiet)
162
- process.exit((body.results || []).every(r => r.ok) ? 0 : 1);
163
- process.exit(printBatchDispatchSummary(body.results || []));
164
- }
165
- catch (e) {
166
- console.error(`❌ Error: ${errString(e)}`);
167
- process.exit(1);
168
194
  }
169
- }
170
195
  if ((!agent && !virtual) || (agent && virtual) || !task) {
171
196
  console.error('Usage: jaw dispatch (--agent <name> | --virtual <name>) (--task <task> | --task-file <path>)');
172
197
  console.error(' --agent Employee name (e.g., Frontend, Backend, Data, Docs)');
@@ -451,146 +476,164 @@ function printPollErrorWithRecovery(e) {
451
476
  console.error(` poll: curl -s ${BASE}/api/orchestrate/worker/${encodeURIComponent(e.agentId)}/result`);
452
477
  }
453
478
  await getCliAuthToken(PORT);
454
- try {
455
- if (!json && !quiet)
456
- console.log(`🚀 Dispatching to ${targetName}...`);
457
- let res;
458
- let lastError;
459
- for (let attempt = 0; attempt <= STARTUP_RETRY_DELAYS_MS.length; attempt++) {
460
- try {
461
- res = await cliFetch(`${BASE}/api/orchestrate/dispatch`, {
462
- method: 'POST',
463
- headers: {
464
- 'Content-Type': 'application/json',
465
- 'X-Jaw-Boss-Token': bossToken,
466
- },
467
- body: JSON.stringify({
468
- ...(agent ? { agent } : { virtual }),
469
- task,
470
- mutable,
471
- scope,
472
- ...(taskTags.length ? { task_tags: taskTags } : {}),
473
- ...(role ? { role } : {}),
474
- ...(cli ? { cli } : {}),
475
- ...(model ? { model } : {}),
476
- // 260613 60: always poll. Blocking wait=true held the
477
- // response past undici's 5-min headersTimeout for long
478
- // workers CLI died with "fetch failed" while the worker
479
- // kept running, and the result came back later as a
480
- // confusing pendingReplay re-injection (devlog doc 08).
481
- wait: false,
482
- }),
483
- });
484
- break;
485
- }
486
- catch (e) {
487
- lastError = e;
488
- if (!isConnRefused(e) || attempt === STARTUP_RETRY_DELAYS_MS.length)
479
+ // Labeled block so the paths below can stop work with `break` instead of
480
+ // process.exit(). This module is top level, so `return` is not available and
481
+ // an early exit here would kill the process mid-teardown (#276).
482
+ dispatchRun: {
483
+ try {
484
+ if (!json && !quiet)
485
+ console.log(`🚀 Dispatching to ${targetName}...`);
486
+ let res;
487
+ let lastError;
488
+ for (let attempt = 0; attempt <= STARTUP_RETRY_DELAYS_MS.length; attempt++) {
489
+ try {
490
+ res = await cliFetch(`${BASE}/api/orchestrate/dispatch`, {
491
+ method: 'POST',
492
+ headers: {
493
+ 'Content-Type': 'application/json',
494
+ 'X-Jaw-Boss-Token': bossToken,
495
+ },
496
+ body: JSON.stringify({
497
+ ...(agent ? { agent } : { virtual }),
498
+ task,
499
+ mutable,
500
+ scope,
501
+ ...(taskTags.length ? { task_tags: taskTags } : {}),
502
+ ...(role ? { role } : {}),
503
+ ...(cli ? { cli } : {}),
504
+ ...(model ? { model } : {}),
505
+ // 260613 60: always poll. Blocking wait=true held the
506
+ // response past undici's 5-min headersTimeout for long
507
+ // workers — CLI died with "fetch failed" while the worker
508
+ // kept running, and the result came back later as a
509
+ // confusing pendingReplay re-injection (devlog doc 08).
510
+ wait: false,
511
+ }),
512
+ });
489
513
  break;
490
- if (attempt === 0)
491
- console.error('⏳ Server starting up, retrying...');
492
- await sleep(STARTUP_RETRY_DELAYS_MS[attempt]);
493
- }
494
- }
495
- if (!res) {
496
- if (isConnRefused(lastError)) {
497
- console.error(`❌ Cannot reach ${BASE}. If running as launchd/systemd, wait a few seconds after reboot. `
498
- + 'For foreground mode: jaw serve');
499
- }
500
- else {
501
- printFetchErrorWithRecovery(errString(lastError));
502
- }
503
- process.exit(1);
504
- }
505
- const { body, nonJsonError } = await readJsonResponse(res, 'dispatch endpoint');
506
- if (nonJsonError) {
507
- console.error(`❌ ${nonJsonError}`);
508
- process.exit(1);
509
- }
510
- if (res.status === 202) {
511
- // --async: worker is claimed and running server-side — print the handle
512
- // and return the turn instead of blocking up to 10 minutes.
513
- if (isAsync) {
514
- if (json) {
515
- printJsonResult(body);
516
- process.exit(0);
517
514
  }
518
- console.log(`🚀 ${targetName} dispatched (async)`);
519
- const w = body.worker;
520
- if (w?.runId) {
521
- console.log(` runId: ${w.runId}`);
522
- console.log(` status: cli-jaw worker status ${w.runId}`);
523
- console.log(` output: cli-jaw worker read ${w.runId} --tail 80`);
515
+ catch (e) {
516
+ lastError = e;
517
+ if (!isConnRefused(e) || attempt === STARTUP_RETRY_DELAYS_MS.length)
518
+ break;
519
+ if (attempt === 0)
520
+ console.error('⏳ Server starting up, retrying...');
521
+ await sleep(STARTUP_RETRY_DELAYS_MS[attempt]);
522
+ }
523
+ }
524
+ if (!res) {
525
+ if (isConnRefused(lastError)) {
526
+ console.error(`❌ Cannot reach ${BASE}. If running as launchd/systemd, wait a few seconds after reboot. `
527
+ + 'For foreground mode: jaw serve');
524
528
  }
525
529
  else {
526
- // Defensive: a 202 without worker metadata still leaves a handle.
527
- console.log(` status: cli-jaw worker status "${targetName}"`);
530
+ printFetchErrorWithRecovery(errString(lastError));
528
531
  }
529
- process.exit(0);
532
+ process.exit(1);
530
533
  }
531
- const pollAgentId = body?.worker?.agentId || (agent ? await resolveAgentId(agent) : null);
532
- if (!pollAgentId) {
533
- console.error('❌ dispatch started but worker id was not returned');
534
+ const { body, nonJsonError } = await readJsonResponse(res, 'dispatch endpoint');
535
+ if (nonJsonError) {
536
+ console.error(`❌ ${nonJsonError}`);
534
537
  process.exit(1);
535
538
  }
536
- const pollRunId = body?.worker?.runId;
537
- const liveProgress = shouldPrintLiveProgress();
538
- const polled = liveProgress ? await pollAndPrintWorker(pollAgentId, targetName, pollRunId) : await pollWorkerResult(pollAgentId, targetName, pollRunId);
539
- if (json)
540
- printJsonResult(polled);
541
- else
542
- printDispatchResult(targetName, polled, liveProgress ? { skipProcess: true } : {});
543
- process.exit(dispatchExitCode(polled));
544
- }
545
- if (!res.ok) {
546
- if (res.status === 409) {
547
- const pollAgentId = body?.worker?.agentId || body?.existing?.agentId || (agent ? await resolveAgentId(agent) : null);
548
- if (!pollAgentId) {
549
- printNonOkResponse(body, res.status);
550
- process.exit(1);
551
- }
552
- const pollRunId = body?.worker?.runId || body?.existing?.runId;
539
+ if (res.status === 202) {
540
+ // --async: worker is claimed and running server-side — print the handle
541
+ // and return the turn instead of blocking up to 10 minutes.
553
542
  if (isAsync) {
554
- // Do not fall into the 10-minute poll on --async: report the
555
- // in-flight worker and exit non-zero so the caller can decide.
556
543
  if (json) {
557
544
  printJsonResult(body);
558
- process.exit(1);
545
+ process.exit(0);
559
546
  }
560
- console.error(`⏳ ${targetName} is already running (agentId: ${pollAgentId}${pollRunId ? `, runId: ${pollRunId}` : ''})`);
561
- if (pollRunId) {
562
- console.error(` status: cli-jaw worker status ${pollRunId}`);
563
- console.error(` output: cli-jaw worker read ${pollRunId} --tail 80`);
547
+ console.log(`🚀 ${targetName} dispatched (async)`);
548
+ const w = body.worker;
549
+ if (w?.runId) {
550
+ console.log(` runId: ${w.runId}`);
551
+ console.log(` status: cli-jaw worker status ${w.runId}`);
552
+ console.log(` output: cli-jaw worker read ${w.runId} --tail 80`);
564
553
  }
565
- process.exit(1);
554
+ else {
555
+ // Defensive: a 202 without worker metadata still leaves a handle.
556
+ console.log(` status: cli-jaw worker status "${targetName}"`);
557
+ }
558
+ process.exit(0);
566
559
  }
567
- if (!json && !quiet) {
568
- console.error(`⏳ ${targetName} is already running (agentId: ${pollAgentId}${pollRunId ? `, runId: ${pollRunId}` : ''}), polling worker result...`);
560
+ const pollAgentId = body?.worker?.agentId || (agent ? await resolveAgentId(agent) : null);
561
+ if (!pollAgentId) {
562
+ console.error('❌ dispatch started but worker id was not returned');
563
+ process.exit(1);
569
564
  }
565
+ const pollRunId = body?.worker?.runId;
570
566
  const liveProgress = shouldPrintLiveProgress();
571
567
  const polled = liveProgress ? await pollAndPrintWorker(pollAgentId, targetName, pollRunId) : await pollWorkerResult(pollAgentId, targetName, pollRunId);
572
568
  if (json)
573
569
  printJsonResult(polled);
574
570
  else
575
571
  printDispatchResult(targetName, polled, liveProgress ? { skipProcess: true } : {});
576
- process.exit(dispatchExitCode(polled));
572
+ // Exit AFTER the response body has been read. process.exit() here would tear
573
+ // the process down while the pooled HTTP socket is still closing — the
574
+ // strongest candidate for the libuv UV_HANDLE_CLOSING assertion in #276.
575
+ // Setting exitCode lets the transport drain and still yields the same status.
576
+ process.exitCode = dispatchExitCode(polled);
577
+ break dispatchRun;
577
578
  }
578
- printNonOkResponse(body, res.status);
579
- process.exit(1);
580
- }
581
- if (json)
582
- printJsonResult(body);
583
- else
584
- printDispatchResult(targetName, body);
585
- process.exit(dispatchExitCode(body));
586
- }
587
- catch (e) {
588
- if (e instanceof DispatchPollError) {
589
- printPollErrorWithRecovery(e);
579
+ if (!res.ok) {
580
+ if (res.status === 409) {
581
+ const pollAgentId = body?.worker?.agentId || body?.existing?.agentId || (agent ? await resolveAgentId(agent) : null);
582
+ // exitCode + return, not process.exit(): killing the process while
583
+ // the fetch transport is still closing is the likely source of the
584
+ // libuv UV_HANDLE_CLOSING assertion reported in #276.
585
+ if (!pollAgentId) {
586
+ printNonOkResponse(body, res.status);
587
+ process.exitCode = 1;
588
+ break dispatchRun;
589
+ }
590
+ const pollRunId = body?.worker?.runId || body?.existing?.runId;
591
+ if (isAsync) {
592
+ // Do not fall into the 10-minute poll on --async: report the
593
+ // in-flight worker and exit non-zero so the caller can decide.
594
+ if (json) {
595
+ printJsonResult(body);
596
+ process.exitCode = 1;
597
+ break dispatchRun;
598
+ }
599
+ console.error(`⏳ ${targetName} is already running (agentId: ${pollAgentId}${pollRunId ? `, runId: ${pollRunId}` : ''})`);
600
+ if (pollRunId) {
601
+ console.error(` status: cli-jaw worker status ${pollRunId}`);
602
+ console.error(` output: cli-jaw worker read ${pollRunId} --tail 80`);
603
+ }
604
+ process.exitCode = 1;
605
+ break dispatchRun;
606
+ }
607
+ if (!json && !quiet) {
608
+ console.error(`⏳ ${targetName} is already running (agentId: ${pollAgentId}${pollRunId ? `, runId: ${pollRunId}` : ''}), polling worker result...`);
609
+ }
610
+ const liveProgress = shouldPrintLiveProgress();
611
+ const polled = liveProgress ? await pollAndPrintWorker(pollAgentId, targetName, pollRunId) : await pollWorkerResult(pollAgentId, targetName, pollRunId);
612
+ if (json)
613
+ printJsonResult(polled);
614
+ else
615
+ printDispatchResult(targetName, polled, liveProgress ? { skipProcess: true } : {});
616
+ process.exitCode = dispatchExitCode(polled);
617
+ break dispatchRun;
618
+ }
619
+ printNonOkResponse(body, res.status);
620
+ process.exitCode = 1;
621
+ break dispatchRun;
622
+ }
623
+ if (json)
624
+ printJsonResult(body);
625
+ else
626
+ printDispatchResult(targetName, body);
627
+ process.exitCode = dispatchExitCode(body);
590
628
  }
591
- else {
592
- printFetchErrorWithRecovery(errString(e));
629
+ catch (e) {
630
+ if (e instanceof DispatchPollError) {
631
+ printPollErrorWithRecovery(e);
632
+ }
633
+ else {
634
+ printFetchErrorWithRecovery(errString(e));
635
+ }
636
+ process.exitCode = 1;
593
637
  }
594
- process.exit(1);
595
638
  }
596
639
  //# sourceMappingURL=dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../bin/commands/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../bin/commands/dispatch.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { parseArgs } from 'node:util';
7
7
  import fs from 'node:fs';
8
8
  import path from 'node:path';
9
9
  import { fileURLToPath } from 'node:url';
10
- import { JAW_HOME, SETTINGS_PATH, freshInstallSchemaFields } from '../../src/core/config.js';
10
+ import { JAW_HOME, SETTINGS_PATH, freshInstallSchemaFields, configuredSlackEnvironmentVariables, SLACK_CONNECTION_SETTING_KEYS, } from '../../src/core/config.js';
11
11
  import { CLI_KEYS } from '../../src/cli/registry.js';
12
12
  const CLI_CHOICES = CLI_KEYS.join(', ');
13
13
  const { values } = parseArgs({
@@ -93,6 +93,18 @@ if (channelFlag && channelFlag !== 'telegram' && channelFlag !== 'discord' && ch
93
93
  console.error(` ❌ Invalid --channel "${channelFlag}". Must be "telegram", "discord", or "slack".`);
94
94
  process.exit(1);
95
95
  }
96
+ const slackEnvironmentVariables = configuredSlackEnvironmentVariables();
97
+ const slackEnvironmentManaged = slackEnvironmentVariables.length > 0;
98
+ const slackCredentialFlags = [
99
+ 'slack-bot-token',
100
+ 'slack-app-token',
101
+ 'slack-team-id',
102
+ 'slack-channel-ids',
103
+ ];
104
+ if (slackEnvironmentManaged && slackCredentialFlags.some((key) => values[key] !== undefined)) {
105
+ console.error(` ❌ Slack connection settings are managed by environment variables (${slackEnvironmentVariables.join(', ')}). Remove them before passing Slack credential flags.`);
106
+ process.exit(1);
107
+ }
96
108
  // Telegram
97
109
  let tgEnabled = false, tgToken = '', tgChatIds = [];
98
110
  if (values['non-interactive']) {
@@ -133,7 +145,12 @@ else if (!channelFlag || channelFlag === 'discord') {
133
145
  }
134
146
  // Slack
135
147
  let slEnabled = false, slBotToken = '', slAppToken = '', slTeamId = '', slChannelIds = [];
136
- if (values['non-interactive']) {
148
+ if (slackEnvironmentManaged) {
149
+ if (!values['non-interactive']) {
150
+ console.log(` Slack connection settings are managed by environment variables (${slackEnvironmentVariables.join(', ')}); skipping credential prompts.`);
151
+ }
152
+ }
153
+ else if (values['non-interactive']) {
137
154
  if (values['slack-bot-token']) {
138
155
  slBotToken = values['slack-bot-token'];
139
156
  slAppToken = String(values['slack-app-token'] || '');
@@ -162,7 +179,7 @@ if (channelFlag === 'discord' && !dcEnabled) {
162
179
  process.exit(1);
163
180
  }
164
181
  // Validate: --channel slack requires at least the bot token
165
- if (channelFlag === 'slack' && !slEnabled) {
182
+ if (channelFlag === 'slack' && !slEnabled && !process.env['SLACK_BOT_TOKEN']) {
166
183
  console.error(' ❌ --channel slack requires --slack-bot-token.');
167
184
  process.exit(1);
168
185
  }
@@ -246,7 +263,19 @@ if (dcEnabled || values.force) {
246
263
  allowBots: false,
247
264
  };
248
265
  }
249
- if (slEnabled || values.force) {
266
+ if (slackEnvironmentManaged) {
267
+ const persistedSlack = { ...(settings.slack || {}) };
268
+ for (const key of SLACK_CONNECTION_SETTING_KEYS)
269
+ delete persistedSlack[key];
270
+ merged.slack = {
271
+ forwardAll: true,
272
+ allowBots: false,
273
+ mentionOnly: true,
274
+ replyInThread: true,
275
+ ...persistedSlack,
276
+ };
277
+ }
278
+ else if (slEnabled || values.force) {
250
279
  merged.slack = {
251
280
  enabled: slEnabled,
252
281
  botToken: slBotToken,