cli-jaw 2.2.9 → 2.2.11

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 (225) hide show
  1. package/README.ja.md +15 -0
  2. package/README.ko.md +15 -0
  3. package/README.md +19 -4
  4. package/dist/bin/cli-jaw.js +5 -1
  5. package/dist/bin/cli-jaw.js.map +1 -1
  6. package/dist/bin/commands/doctor.js +66 -1
  7. package/dist/bin/commands/doctor.js.map +1 -1
  8. package/dist/bin/commands/init.js +107 -8
  9. package/dist/bin/commands/init.js.map +1 -1
  10. package/dist/bin/commands/slack.js +190 -0
  11. package/dist/bin/commands/slack.js.map +1 -0
  12. package/dist/lib/upload.js +5 -1
  13. package/dist/lib/upload.js.map +1 -1
  14. package/dist/server.js +1 -0
  15. package/dist/server.js.map +1 -1
  16. package/dist/src/agent/alert-escalation.js +1 -1
  17. package/dist/src/agent/alert-escalation.js.map +1 -1
  18. package/dist/src/agent/codex-app-catalog.js +57 -0
  19. package/dist/src/agent/codex-app-catalog.js.map +1 -0
  20. package/dist/src/agent/codex-app-client.js +89 -7
  21. package/dist/src/agent/codex-app-client.js.map +1 -1
  22. package/dist/src/agent/pi-rpc-verdict.js +22 -0
  23. package/dist/src/agent/pi-rpc-verdict.js.map +1 -0
  24. package/dist/src/agent/pi-runtime.js +240 -0
  25. package/dist/src/agent/pi-runtime.js.map +1 -1
  26. package/dist/src/agent/runtime-pool.js +445 -0
  27. package/dist/src/agent/runtime-pool.js.map +1 -0
  28. package/dist/src/agent/spawn.js +395 -240
  29. package/dist/src/agent/spawn.js.map +1 -1
  30. package/dist/src/cli/command-context.js +5 -2
  31. package/dist/src/cli/command-context.js.map +1 -1
  32. package/dist/src/cli/commands.js +43 -39
  33. package/dist/src/cli/commands.js.map +1 -1
  34. package/dist/src/cli/handlers-runtime.js +15 -7
  35. package/dist/src/cli/handlers-runtime.js.map +1 -1
  36. package/dist/src/cli/handlers-search.js +1 -1
  37. package/dist/src/cli/handlers-search.js.map +1 -1
  38. package/dist/src/cli/handlers-skill-invoke.js +1 -1
  39. package/dist/src/cli/handlers-skill-invoke.js.map +1 -1
  40. package/dist/src/cli/handlers-workflows.js +1 -1
  41. package/dist/src/cli/handlers-workflows.js.map +1 -1
  42. package/dist/src/cli/handlers.js +1 -1
  43. package/dist/src/cli/handlers.js.map +1 -1
  44. package/dist/src/cli/opencodex-models.js +40 -7
  45. package/dist/src/cli/opencodex-models.js.map +1 -1
  46. package/dist/src/cli/registry-live.js +6 -5
  47. package/dist/src/cli/registry-live.js.map +1 -1
  48. package/dist/src/command-contract/catalog.js +4 -0
  49. package/dist/src/command-contract/catalog.js.map +1 -1
  50. package/dist/src/core/config.js +69 -4
  51. package/dist/src/core/config.js.map +1 -1
  52. package/dist/src/core/runtime-settings.js +17 -0
  53. package/dist/src/core/runtime-settings.js.map +1 -1
  54. package/dist/src/core/settings-merge.js +1 -1
  55. package/dist/src/core/settings-merge.js.map +1 -1
  56. package/dist/src/discord/bot.js +29 -14
  57. package/dist/src/discord/bot.js.map +1 -1
  58. package/dist/src/discord/commands.js +5 -4
  59. package/dist/src/discord/commands.js.map +1 -1
  60. package/dist/src/discord/discord-file.js +8 -2
  61. package/dist/src/discord/discord-file.js.map +1 -1
  62. package/dist/src/discord/forwarder.js +17 -19
  63. package/dist/src/discord/forwarder.js.map +1 -1
  64. package/dist/src/discord/send-only-client.js +9 -1
  65. package/dist/src/discord/send-only-client.js.map +1 -1
  66. package/dist/src/manager/dashboard-service.js +38 -1
  67. package/dist/src/manager/dashboard-service.js.map +1 -1
  68. package/dist/src/manager/telegram-hub/hub-bot.js +47 -29
  69. package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -1
  70. package/dist/src/messaging/channel-health.js +32 -0
  71. package/dist/src/messaging/channel-health.js.map +1 -1
  72. package/dist/src/messaging/chunk.js +376 -0
  73. package/dist/src/messaging/chunk.js.map +1 -0
  74. package/dist/src/messaging/dedupe.js +104 -0
  75. package/dist/src/messaging/dedupe.js.map +1 -0
  76. package/dist/src/messaging/fold.js +210 -0
  77. package/dist/src/messaging/fold.js.map +1 -0
  78. package/dist/src/messaging/redact.js +577 -0
  79. package/dist/src/messaging/redact.js.map +1 -0
  80. package/dist/src/messaging/retry.js +76 -0
  81. package/dist/src/messaging/retry.js.map +1 -0
  82. package/dist/src/messaging/runtime.js +6 -3
  83. package/dist/src/messaging/runtime.js.map +1 -1
  84. package/dist/src/messaging/send.js +45 -15
  85. package/dist/src/messaging/send.js.map +1 -1
  86. package/dist/src/messaging/slack-target.js +50 -0
  87. package/dist/src/messaging/slack-target.js.map +1 -0
  88. package/dist/src/messaging/types.js.map +1 -1
  89. package/dist/src/orchestrator/pipeline.js +4 -4
  90. package/dist/src/orchestrator/pipeline.js.map +1 -1
  91. package/dist/src/routes/command.js +11 -7
  92. package/dist/src/routes/command.js.map +1 -1
  93. package/dist/src/routes/messaging.js +28 -12
  94. package/dist/src/routes/messaging.js.map +1 -1
  95. package/dist/src/routes/settings.js +22 -6
  96. package/dist/src/routes/settings.js.map +1 -1
  97. package/dist/src/slack/api.js +116 -0
  98. package/dist/src/slack/api.js.map +1 -0
  99. package/dist/src/slack/bot.js +262 -0
  100. package/dist/src/slack/bot.js.map +1 -0
  101. package/dist/src/slack/commands.js +98 -0
  102. package/dist/src/slack/commands.js.map +1 -0
  103. package/dist/src/slack/events.js +116 -0
  104. package/dist/src/slack/events.js.map +1 -0
  105. package/dist/src/slack/format.js +58 -0
  106. package/dist/src/slack/format.js.map +1 -0
  107. package/dist/src/slack/forwarder.js +57 -0
  108. package/dist/src/slack/forwarder.js.map +1 -0
  109. package/dist/src/slack/manifest.js +84 -0
  110. package/dist/src/slack/manifest.js.map +1 -0
  111. package/dist/src/slack/register.js +13 -0
  112. package/dist/src/slack/register.js.map +1 -0
  113. package/dist/src/slack/send-handler.js +41 -0
  114. package/dist/src/slack/send-handler.js.map +1 -0
  115. package/dist/src/slack/send-only-client.js +46 -0
  116. package/dist/src/slack/send-only-client.js.map +1 -0
  117. package/dist/src/slack/slack-file.js +72 -0
  118. package/dist/src/slack/slack-file.js.map +1 -0
  119. package/dist/src/slack/socket.js +341 -0
  120. package/dist/src/slack/socket.js.map +1 -0
  121. package/dist/src/telegram/bot.js +117 -37
  122. package/dist/src/telegram/bot.js.map +1 -1
  123. package/dist/src/telegram/elicitation-buttons.js +7 -2
  124. package/dist/src/telegram/elicitation-buttons.js.map +1 -1
  125. package/dist/src/telegram/forwarder.js +15 -7
  126. package/dist/src/telegram/forwarder.js.map +1 -1
  127. package/dist/src/telegram/rich-message.js +209 -24
  128. package/dist/src/telegram/rich-message.js.map +1 -1
  129. package/dist/src/telegram/telegram-file.js +35 -4
  130. package/dist/src/telegram/telegram-file.js.map +1 -1
  131. package/dist/src/telegram/voice.js +4 -3
  132. package/dist/src/telegram/voice.js.map +1 -1
  133. package/package.json +7 -1
  134. package/public/assets/providers/slack.svg +1 -0
  135. package/public/dist/assets/ChannelsDiscord-D9FLnZso.js +1 -0
  136. package/public/dist/assets/ChannelsSlack-ybvupgdK.js +1 -0
  137. package/public/dist/assets/ChannelsTelegram-BOCOPrBc.js +1 -0
  138. package/public/dist/assets/HealthBadge-megTlF4n.js +1 -0
  139. package/public/dist/assets/TransportStatusChips-CjEySMis.js +1 -0
  140. package/public/dist/assets/app-BGIAy4he.js +55 -0
  141. package/public/dist/assets/{bgtask-badge-CdBqBy1L.js → bgtask-badge-DXca8E7c.js} +1 -1
  142. package/public/dist/assets/bgtask-badge-GRSiNILQ.js +1 -0
  143. package/public/dist/assets/{employees-C8qufeJl.js → employees-BL4qMxJj.js} +1 -1
  144. package/public/dist/assets/iframe-renderer-BUSk0Rw9.js +1 -0
  145. package/public/dist/assets/{iframe-renderer-CZ67aeTO.js → iframe-renderer-DUI0LYBy.js} +2 -2
  146. package/public/dist/assets/{manager-CLXT60M5.js → manager-B-gpf-3j.js} +3 -3
  147. package/public/dist/assets/{memory-lWramLVw.js → memory-B_Y0L0KD.js} +1 -1
  148. package/public/dist/assets/memory-CX6YahTc.js +1 -0
  149. package/public/dist/assets/message-history-Det7u76S.js +1 -0
  150. package/public/dist/assets/{message-history-2NUN3UxM.js → message-history-Dl8dJzez.js} +1 -1
  151. package/public/dist/assets/{provider-icons-stsNmQKx.js → provider-icons-VDfahiUp.js} +3 -2
  152. package/public/dist/assets/{render-CsF-ojLe.js → render-BI1aqKoc.js} +1 -1
  153. package/public/dist/assets/{settings-BMLowRCh.js → settings-B0Sj4sUH.js} +1 -1
  154. package/public/dist/assets/settings-C7NutP6X.js +1 -0
  155. package/public/dist/assets/settings-core-CyX-px6_.js +100 -0
  156. package/public/dist/assets/settings-core-DVpFmrhY.js +1 -0
  157. package/public/dist/assets/{sidebar-gKjYLv49.js → sidebar-DOR9fTgN.js} +3 -3
  158. package/public/dist/assets/skills-BWhKreQ2.js +1 -0
  159. package/public/dist/assets/{skills-CKTbomdm.js → skills-wt0fkV9Y.js} +1 -1
  160. package/public/dist/assets/slash-commands-BZbqTg3v.js +20 -0
  161. package/public/dist/assets/slash-commands-Di4NDA4w.js +1 -0
  162. package/public/dist/assets/{trace-drawer-C3G4mmB1.js → trace-drawer-kMYzaVFW.js} +1 -1
  163. package/public/dist/assets/ui-BghexWrB.js +1 -0
  164. package/public/dist/assets/{ui-CVVC_flX.js → ui-D4D5HUfo.js} +1 -1
  165. package/public/dist/index.html +62 -1
  166. package/public/dist/manager/index.html +1 -1
  167. package/public/index.html +61 -0
  168. package/public/js/features/command-info.ts +1 -0
  169. package/public/js/features/help-content.ts +8 -0
  170. package/public/js/features/settings-channel.ts +5 -1
  171. package/public/js/features/settings-core.ts +2 -0
  172. package/public/js/features/settings-slack.ts +74 -0
  173. package/public/js/features/settings-types.ts +5 -1
  174. package/public/js/features/settings.ts +1 -0
  175. package/public/js/features/transport-status-row.ts +15 -3
  176. package/public/js/main.ts +19 -0
  177. package/public/js/provider-icons.ts +4 -1
  178. package/public/js/ws.ts +1 -1
  179. package/public/locales/en.json +21 -0
  180. package/public/locales/ja.json +21 -0
  181. package/public/locales/ko.json +21 -0
  182. package/public/locales/zh.json +21 -0
  183. package/public/manager/src/settings/SettingsShell.tsx +1 -0
  184. package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
  185. package/public/manager/src/settings/pages/ChannelsSlack.tsx +323 -0
  186. package/public/manager/src/settings/pages/components/ActiveChannelToggle.tsx +2 -1
  187. package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +13 -4
  188. package/public/manager/src/settings/types.ts +1 -0
  189. package/scripts/bundle-sidecar.sh +13 -4
  190. package/scripts/check-redaction-sinks.mjs +276 -0
  191. package/scripts/check-sidecar-prune-safety.mjs +167 -0
  192. package/scripts/pi-rpc-probe.mts +361 -0
  193. package/scripts/pick-gyp-python.sh +61 -0
  194. package/scripts/release-gates.mjs +97 -0
  195. package/scripts/release-preview.sh +8 -1
  196. package/scripts/release.sh +13 -2
  197. package/scripts/sync-electron-version.cjs +93 -0
  198. package/public/dist/assets/ChannelsDiscord-Bt1_rtNC.js +0 -1
  199. package/public/dist/assets/ChannelsTelegram-BLV0m1oq.js +0 -1
  200. package/public/dist/assets/TransportStatusChips-Bld0yXi7.js +0 -1
  201. package/public/dist/assets/app-iSJhsP20.js +0 -55
  202. package/public/dist/assets/bgtask-badge-CSkSsoB6.js +0 -1
  203. package/public/dist/assets/iframe-renderer-DXdo0YXN.js +0 -1
  204. package/public/dist/assets/memory-DeKUlD2M.js +0 -1
  205. package/public/dist/assets/message-history-CWTQ2woA.js +0 -1
  206. package/public/dist/assets/settings-CDjs7hTT.js +0 -1
  207. package/public/dist/assets/settings-core-Cs_oq-b3.js +0 -99
  208. package/public/dist/assets/settings-core-D-TOh1a6.js +0 -1
  209. package/public/dist/assets/skills-GuIfNASs.js +0 -1
  210. package/public/dist/assets/slash-commands-BtZa093n.js +0 -20
  211. package/public/dist/assets/slash-commands-DGJKfpMT.js +0 -1
  212. package/public/dist/assets/ui-DJg5Q_NJ.js +0 -1
  213. /package/public/dist/assets/{DashboardMeta-B7CVqXcU.js → DashboardMeta-DennaaA_.js} +0 -0
  214. /package/public/dist/assets/{Display-BF-rACK6.js → Display-hGuSn_W5.js} +0 -0
  215. /package/public/dist/assets/{Employees-D3hnciP0.js → Employees-B5YXk5ma.js} +0 -0
  216. /package/public/dist/assets/{Heartbeat-D4Pn5O3O.js → Heartbeat-vDGhPfct.js} +0 -0
  217. /package/public/dist/assets/{Mcp-SfytKWGX.js → Mcp-BHWnJ6SP.js} +0 -0
  218. /package/public/dist/assets/{Memory-DNxBOQ7N.js → Memory-B_UZ-iCA.js} +0 -0
  219. /package/public/dist/assets/{ModelProvider-CXwtlG7l.js → ModelProvider-CgUvs6pE.js} +0 -0
  220. /package/public/dist/assets/{Network-DISUhige.js → Network-AWpSkALD.js} +0 -0
  221. /package/public/dist/assets/{Profile-B8yBO3Ju.js → Profile-DnIE2ios.js} +0 -0
  222. /package/public/dist/assets/{Prompts-5lNQ5qOm.js → Prompts-B9aKLall.js} +0 -0
  223. /package/public/dist/assets/{SpeechKeys-BepaIHBa.js → SpeechKeys-K4Be_o7z.js} +0 -0
  224. /package/public/dist/assets/{TelegramHub--DNjRAwW.js → TelegramHub-CFwSkzHP.js} +0 -0
  225. /package/public/dist/assets/{TerminalPanel-DQovYfwz.js → TerminalPanel-CdlFZHAK.js} +0 -0
package/README.ja.md CHANGED
@@ -370,6 +370,20 @@ Computer Use で Finder、Safari、システム設定、Xcode など、あらゆ
370
370
 
371
371
  Telegram と同等の機能 — テキスト、ファイル、コマンド。チャンネル/スレッドルーティング、正規 `/api/channel/send`、エージェント結果ブロードキャストフォワーダー。Web UI 設定で構成。
372
372
 
373
+ ### Slack
374
+
375
+ 同じコマンドカタログを使う Socket Mode ボット — メンション、DM、スラッシュコマンド、ファイル/画像リレー、スレッド返信。
376
+
377
+ <details>
378
+ <summary>セットアップ(ガイド付きウィザード)</summary>
379
+
380
+ 1. `jaw slack setup` — アプリマニフェストを表示(`jaw slack manifest | pbcopy`)して Slack アプリ作成ページを開き、2 つのトークンをライブ検証(`auth.test` + `apps.connections.open`)してから設定に保存
381
+ 2. ボットを読ませる各チャンネルで `/invite @cli-jaw` を実行し、`jaw serve` を再起動
382
+
383
+ OAuth ワンクリックでない理由: Socket Mode に必要なアプリレベルトークン(`xapp-`)はアプリ設定 UI でのみ発行され、PKCE localhost フローは bot scope を拒否します。ブラウザのワンクリックではセルフホスト型 Socket Mode ボットを構成できないため、このウィザードが最短経路です。
384
+
385
+ </details>
386
+
373
387
  ### 音声 & STT
374
388
 
375
389
  音声入力は Web(マイクボタン)、Telegram(音声メッセージ)、Discord で動作します。プロバイダ:OpenAI 互換、Google Vertex AI、任意のカスタムエンドポイント。
@@ -401,6 +415,7 @@ jaw dashboard # マネージャーダッシュボードを
401
415
  jaw serve # サーバー起動(http://localhost:3457)
402
416
  jaw chat # ターミナルチャット UI
403
417
  jaw doctor # 12 項目の診断
418
+ jaw slack setup # ガイド付き Slack アプリ設定(マニフェスト + トークン検証)
404
419
 
405
420
  # インスタンス
406
421
  jaw clone ~/project # 新しいディレクトリにインスタンスを複製
package/README.ko.md CHANGED
@@ -438,6 +438,20 @@ Computer Use로 Finder, Safari, 시스템 설정, Xcode 등 모든 macOS 앱을
438
438
 
439
439
  Telegram과 동일한 기능 — 텍스트, 파일, 명령어. 채널/스레드 라우팅, `/api/channel/send` 정규 엔드포인트, 에이전트 결과 브로드캐스트 포워더 지원. Web UI 설정에서 세팅.
440
440
 
441
+ ### Slack
442
+
443
+ 같은 명령어 카탈로그를 쓰는 Socket Mode 봇 — 멘션, DM, 슬래시 명령어, 파일/이미지 릴리, 스레드 답장.
444
+
445
+ <details>
446
+ <summary>설정 (가이드 마법사)</summary>
447
+
448
+ 1. `jaw slack setup` — 앱 매니페스트 출력(`jaw slack manifest | pbcopy`) 후 Slack 앱 생성 페이지를 열고, 두 토큰을 라이브 검증(`auth.test` + `apps.connections.open`)한 뒤 설정에 저장
449
+ 2. 봇이 읽을 각 채널에서 `/invite @cli-jaw`, 이후 `jaw serve` 재시작
450
+
451
+ OAuth 원클릭이 안 되는 이유: Socket Mode에 필요한 앱 레벨 토큰(`xapp-`)은 앱 설정 UI에서만 발급되고, PKCE localhost 흐름은 bot scope를 허용하지 않습니다. 브라우저 클릭 한 번으로 셀프호스팅 Socket Mode 봇을 설정할 수는 없고, 이 마법사가 가장 짧은 경로입니다.
452
+
453
+ </details>
454
+
441
455
  ### 음성 & STT
442
456
 
443
457
  Web(마이크 버튼), Telegram(음성 메시지), Discord에서 음성 입력 가능. 프로바이더: OpenAI 호환, Google Vertex AI, 커스텀 엔드포인트.
@@ -470,6 +484,7 @@ jaw serve # 서버 시작 (http://localhost:3457)
470
484
  jaw chat # 터미널 채팅 UI
471
485
  jaw chat search "query" # 채팅 히스토리 검색
472
486
  jaw doctor # 설치/런타임 진단
487
+ jaw slack setup # 가이드 Slack 앱 설정 (매니페스트 + 토큰 검증)
473
488
 
474
489
  # 인스턴스
475
490
  jaw clone ~/project # 인스턴스 복제
package/README.md CHANGED
@@ -390,7 +390,7 @@ The quota/status panel keeps the same runtime keyset as the registry. Wrapper ru
390
390
 
391
391
  **OpenCode wildcard**: connect any model endpoint — OpenRouter, local LLMs (Large Language Models), any OpenAI-compatible API.
392
392
 
393
- > Switch engines live: `/cli codex`. Switch models: `/model gpt-5.5`. Works from Web, Terminal, Telegram, or Discord.
393
+ > Switch engines live: `/cli codex`. Switch models: `/model gpt-5.5`. Works from Web, Terminal, Telegram, Discord, or Slack.
394
394
 
395
395
  ---
396
396
 
@@ -493,6 +493,20 @@ Text chat, voice messages (auto-transcribed via STT — speech-to-text), file/ph
493
493
 
494
494
  Same capabilities as Telegram — text, files, commands. Channel/thread routing, canonical `/api/channel/send`, and forwarder support for agent result broadcast. Setup via Web UI settings.
495
495
 
496
+ ### Slack
497
+
498
+ Socket Mode bot with the same shared command catalog — mentions, DMs, slash commands, file/image relay, thread replies.
499
+
500
+ <details>
501
+ <summary>Setup (guided wizard)</summary>
502
+
503
+ 1. `jaw slack setup` — prints the app manifest (or `jaw slack manifest | pbcopy`), opens the Slack app creation page, then validates your two tokens live (`auth.test` + `apps.connections.open`) and writes the settings
504
+ 2. `/invite @cli-jaw` in each channel the bot should read, then restart `jaw serve`
505
+
506
+ Why not OAuth one-click? Slack issues the app-level token (`xapp-`, required for Socket Mode) only from the app settings UI, and the PKCE localhost flow bans bot scopes — a browser click cannot configure a self-hosted Socket Mode bot. The wizard is the shortest honest path.
507
+
508
+ </details>
509
+
496
510
  ### Voice & STT
497
511
 
498
512
  Voice input works on Web (mic button), Telegram (voice messages), and Discord. Providers: OpenAI-compatible, Google Vertex AI, or any custom endpoint.
@@ -525,6 +539,7 @@ jaw serve # start server (http://localhost:3457)
525
539
  jaw chat # terminal chat UI
526
540
  jaw chat search "query" # search chat history
527
541
  jaw doctor # installation and runtime diagnostics
542
+ jaw slack setup # guided Slack app setup (manifest + token validation)
528
543
 
529
544
  # Instances
530
545
  jaw clone ~/project # clone instance to new directory
@@ -597,7 +612,7 @@ npm run build # tsc → dist/
597
612
  npm run build:frontend # vite → public/dist/
598
613
  npm run dev # tsx server.ts (hot-reload)
599
614
  npm test # programmatic node:test driver (tests/run.mts, isolation:'process')
600
- npm run gate:all # named release/docs parity gates (incl. doc-drift + strict-baseline)
615
+ npm run gate:all # named release/docs parity gates (incl. doc-drift, strict-baseline, redaction-sinks)
601
616
  npm run docs:check # AST commands/routes inventory vs structure docs
602
617
  bash structure/check-doc-drift.sh
603
618
  ```
@@ -614,7 +629,7 @@ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Pre-prompt cont
614
629
  | **Cost model** | Monthly subscriptions you already pay for | Per-token API billing | Anthropic subscription |
615
630
  | **Primary UI** | Manager dashboard + Web app + Electron desktop + terminal UI | Terminal only | CLI + IDE plugins |
616
631
  | **Dashboard** | Multi-instance manager, Kanban, Notes workspace | None | None |
617
- | **Messaging** | Telegram (voice) + Discord | Telegram/Discord/Slack/WhatsApp/Signal | None |
632
+ | **Messaging** | Telegram (voice) + Discord + Slack | Telegram/Discord/Slack/WhatsApp/Signal | None |
618
633
  | **Memory** | 3-layer (History/Flush/Soul) + full-text search | Self-improving loop + Honcho | File-based auto-memory |
619
634
  | **Multi-agent** | Employee system (dispatch other CLIs) + PABCD | Subagent spawn | Task tool |
620
635
  | **Browser automation** | Chrome DevTools + vision-click + Computer Use | Limited | Via MCP |
@@ -634,7 +649,7 @@ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Pre-prompt cont
634
649
  | `Error: node version` | Upgrade to Node.js 22.4+: `nvm install 22` |
635
650
  | `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` (auto-rebuilds native modules) |
636
651
  | `EADDRINUSE: port 3457` | Another instance running. Use `--port 3458` or stop it first |
637
- | Telegram / Discord auth fails | Run `jaw doctor`, check tokens, restart `jaw serve` |
652
+ | Telegram / Discord / Slack auth fails | Run `jaw doctor`, check tokens, restart `jaw serve` |
638
653
  | Browser commands fail | Install Chrome/Chromium. Run `jaw browser start` first |
639
654
  | Employee dispatch hangs | Run `jaw employee list`, ensure the employee CLI is authenticated (`jaw doctor`), then retry with `jaw dispatch --watch` |
640
655
  | Employee dispatch returns non-JSON or HTML | The server may be stale or missing the route. Run `npm run build` or restart the manager/dashboard process. |
@@ -34,7 +34,7 @@ const _homeEqArg = process.argv.find(a => a.startsWith('--home='));
34
34
  if (_homeIdx !== -1 && process.argv[_homeIdx + 1]) {
35
35
  const _homeVal = process.argv[_homeIdx + 1];
36
36
  // Guard: if the "value" looks like a known subcommand, user forgot the path
37
- const _knownCmds = ['serve', 'init', 'doctor', 'chat', 'employee', 'reset', 'mcp', 'skill', 'status', 'browser', 'design', 'memory', 'hooks', 'launchd', 'clone', 'service', 'dashboard', 'connector', 'reminders', 'orchestrate', 'dispatch', 'worker', 'project', 'goal', 'task', 'bgtask', 'jwc', 'provider'];
37
+ const _knownCmds = ['serve', 'init', 'doctor', 'chat', 'employee', 'reset', 'mcp', 'skill', 'status', 'browser', 'design', 'memory', 'hooks', 'launchd', 'clone', 'service', 'dashboard', 'connector', 'reminders', 'orchestrate', 'dispatch', 'worker', 'project', 'goal', 'task', 'bgtask', 'jwc', 'provider', 'slack'];
38
38
  if (_knownCmds.includes(_homeVal)) {
39
39
  console.error(` ❌ --home requires a path argument (got subcommand '${_homeVal}')`);
40
40
  console.error(` Usage: jaw --home <path> ${_homeVal}`);
@@ -133,6 +133,7 @@ ${c.cyan} 🦈 jaw${c.reset} — AI agent orchestration platform ${c.dim}v${pk
133
133
 
134
134
  ${c.bold}Setup & diagnostics:${c.reset}
135
135
  init Interactive setup wizard
136
+ slack setup|manifest Slack app manifest + guided setup
136
137
  doctor [--json] Installation diagnostics
137
138
  map <dir> [--budget N] Ranked source structure map
138
139
  jwc install|clean|doctor Optional external JWC runtime helper
@@ -182,6 +183,9 @@ switch (command) {
182
183
  case 'init':
183
184
  await import('./commands/init.js');
184
185
  break;
186
+ case 'slack':
187
+ await import('./commands/slack.js');
188
+ break;
185
189
  case 'doctor':
186
190
  await import('./commands/doctor.js');
187
191
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":"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"}
@@ -307,7 +307,28 @@ check('Discord', () => {
307
307
  throw new Error('channel IDs missing — set discord.channelIds');
308
308
  return `guild=${guildId}, channels=${channelIds.length} (MESSAGE_CONTENT intent required for plain messages)`;
309
309
  });
310
- // 6d. Channel consistency
310
+ // 6d. Slack
311
+ check('Slack', () => {
312
+ if (!settings?.slack?.enabled)
313
+ throw new Error('WARN: disabled');
314
+ const botToken = settings.slack.botToken;
315
+ if (!botToken)
316
+ throw new Error('bot token missing — set slack.botToken or run: jaw slack setup');
317
+ if (!botToken.startsWith('xoxb-'))
318
+ throw new Error('bot token should start with xoxb-');
319
+ const appToken = settings.slack.appToken;
320
+ // Outbound-only is a legitimate partial configuration, so this is a WARN:
321
+ // the Web API works, but no inbound events can arrive.
322
+ if (!appToken)
323
+ throw new Error('WARN: app-level token missing — outbound only, no inbound events (jaw slack setup)');
324
+ if (!appToken.startsWith('xapp-'))
325
+ throw new Error('app token should start with xapp-');
326
+ const channelIds = settings.slack.channelIds;
327
+ if (!channelIds?.length)
328
+ throw new Error('WARN: no channel IDs configured — all conversations allowed');
329
+ return `bot=...${botToken.slice(-6)}, app=...${appToken.slice(-6)}, channels=${channelIds.length}`;
330
+ });
331
+ // 6e. Channel consistency
311
332
  check('Channel consistency', () => {
312
333
  const ch = settings?.channel || 'telegram';
313
334
  if (ch === 'discord' && !settings?.discord?.enabled) {
@@ -316,6 +337,9 @@ check('Channel consistency', () => {
316
337
  if (ch === 'telegram' && !settings?.telegram?.enabled) {
317
338
  throw new Error('WARN: active channel is telegram but Telegram is not enabled');
318
339
  }
340
+ if (ch === 'slack' && !settings?.slack?.enabled) {
341
+ throw new Error('WARN: active channel is slack but Slack is not enabled');
342
+ }
319
343
  return 'consistent';
320
344
  });
321
345
  // 7. Skills directory
@@ -625,6 +649,46 @@ function buildDiscordStatus() {
625
649
  degradedReasons,
626
650
  };
627
651
  }
652
+ function buildSlackStatus() {
653
+ const s = settings;
654
+ const sc = s?.slack || {};
655
+ const botTokenPresent = !!sc.botToken;
656
+ const appTokenPresent = !!sc.appToken;
657
+ const channelIdsConfigured = !!(sc.channelIds?.length);
658
+ let status = 'ok';
659
+ const degradedReasons = [];
660
+ if (!sc.enabled) {
661
+ status = 'disabled';
662
+ }
663
+ else if (!botTokenPresent) {
664
+ status = 'missing_bot_token';
665
+ degradedReasons.push('bot token missing');
666
+ }
667
+ else if (!appTokenPresent) {
668
+ status = 'missing_app_token';
669
+ degradedReasons.push('app-level token missing — outbound only, no inbound events');
670
+ }
671
+ else if (!channelIdsConfigured) {
672
+ status = 'missing_channel_ids';
673
+ degradedReasons.push('channel IDs not configured');
674
+ }
675
+ const activeChannel = s?.channel || 'telegram';
676
+ const channelConsistent = activeChannel !== 'slack' || !!sc.enabled;
677
+ if (!channelConsistent) {
678
+ degradedReasons.push('active channel is slack but Slack is not enabled');
679
+ }
680
+ return {
681
+ status,
682
+ enabled: !!sc.enabled,
683
+ botTokenPresent,
684
+ appTokenPresent,
685
+ channelIdsConfigured,
686
+ channelConsistent,
687
+ runtimeReady: status === 'ok' && channelConsistent,
688
+ socketModeNote: 'app-level token (xapp-) is required for inbound events; a bot token alone is outbound-only',
689
+ degradedReasons,
690
+ };
691
+ }
628
692
  // macOS TCC diagnostics (--tcc, --fix, --prime)
629
693
  if (process.platform === 'darwin' && (values.tcc || values.fix || values.prime)) {
630
694
  await runTccDiagnostics({ fix: !!values.fix, prime: !!values.prime });
@@ -682,6 +746,7 @@ if (values.json) {
682
746
  network: { bindHost: bh, lanBypass: lb, authTokenPersisted: !!process.env["JAW_AUTH_TOKEN"], issues: networkIssues },
683
747
  activeChannel: loadedSettings().channel || 'telegram',
684
748
  discord: buildDiscordStatus(),
749
+ slack: buildSlackStatus(),
685
750
  wsl: isWSL() ? {
686
751
  sudoNonInteractive: canSudoNonInteractive(),
687
752
  npmPrefix: getNpmPrefix(),
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../bin/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../bin/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ const { values } = parseArgs({
25
25
  'discord-token': { type: 'string' },
26
26
  'discord-guild-id': { type: 'string' },
27
27
  'discord-channel-ids': { type: 'string' },
28
+ 'slack-bot-token': { type: 'string' },
29
+ 'slack-app-token': { type: 'string' },
30
+ 'slack-team-id': { type: 'string' },
31
+ 'slack-channel-ids': { type: 'string' },
28
32
  'skills-dir': { type: 'string' },
29
33
  },
30
34
  strict: true,
@@ -40,12 +44,16 @@ Options:
40
44
  --force Overwrite existing settings
41
45
  --working-dir <path> Set working directory
42
46
  --cli <name> Default CLI (${CLI_CHOICES})
43
- --channel <ch> Active channel (telegram or discord)
47
+ --channel <ch> Active channel (telegram, discord, or slack)
44
48
  --telegram-token <t> Telegram bot token
45
49
  --allowed-chat-ids <ids> Comma-separated Telegram chat IDs
46
50
  --discord-token <t> Discord bot token
47
51
  --discord-guild-id <id> Discord guild (server) ID
48
52
  --discord-channel-ids <ids> Comma-separated Discord channel IDs
53
+ --slack-bot-token <t> Slack bot token (xoxb-...)
54
+ --slack-app-token <t> Slack app-level token (xapp-..., required for inbound)
55
+ --slack-team-id <id> Slack team ID (optional)
56
+ --slack-channel-ids <ids> Comma-separated Slack conversation IDs
49
57
  --skills-dir <path> Skills directory`);
50
58
  process.exit(0);
51
59
  }
@@ -80,8 +88,8 @@ const cli = String(values.cli ||
80
88
  await ask(`CLI (${CLI_CHOICES})`, settings.cli || 'claude'));
81
89
  // Channel selection
82
90
  const channelFlag = values.channel;
83
- if (channelFlag && channelFlag !== 'telegram' && channelFlag !== 'discord') {
84
- console.error(` ❌ Invalid --channel "${channelFlag}". Must be "telegram" or "discord".`);
91
+ if (channelFlag && channelFlag !== 'telegram' && channelFlag !== 'discord' && channelFlag !== 'slack') {
92
+ console.error(` ❌ Invalid --channel "${channelFlag}". Must be "telegram", "discord", or "slack".`);
85
93
  process.exit(1);
86
94
  }
87
95
  // Telegram
@@ -122,11 +130,58 @@ else if (!channelFlag || channelFlag === 'discord') {
122
130
  dcChannelIds = idsStr.split(',').map(s => s.trim()).filter(Boolean);
123
131
  }
124
132
  }
133
+ // Slack
134
+ let slEnabled = false, slBotToken = '', slAppToken = '', slTeamId = '', slChannelIds = [];
135
+ if (values['non-interactive']) {
136
+ if (values['slack-bot-token']) {
137
+ slBotToken = values['slack-bot-token'];
138
+ slAppToken = String(values['slack-app-token'] || '');
139
+ slTeamId = String(values['slack-team-id'] || '');
140
+ slChannelIds = (values['slack-channel-ids'] || '').split(',').map(s => s.trim()).filter(Boolean);
141
+ slEnabled = true;
142
+ }
143
+ }
144
+ else if (!channelFlag || channelFlag === 'slack') {
145
+ // Matches the Telegram and Discord blocks: a bare `cli-jaw init` offers
146
+ // every channel. Gating this on the flag alone would hide Slack from the
147
+ // default interactive setup entirely.
148
+ const slAnswer = await ask('Slack 연결? (y/n)', settings.slack?.enabled ? 'y' : 'n');
149
+ slEnabled = slAnswer.toLowerCase() === 'y';
150
+ if (slEnabled) {
151
+ slBotToken = await ask('Bot token (xoxb-...)', settings.slack?.botToken || '');
152
+ slAppToken = await ask('App-level token (xapp-...)', settings.slack?.appToken || '');
153
+ slTeamId = await ask('Team ID (optional)', settings.slack?.teamId || '');
154
+ const idsStr = await ask('Channel IDs (comma)', (settings.slack?.channelIds || []).join(',') || '');
155
+ slChannelIds = idsStr.split(',').map(s => s.trim()).filter(Boolean);
156
+ }
157
+ }
125
158
  // Validate: --channel discord requires Discord config
126
159
  if (channelFlag === 'discord' && !dcEnabled) {
127
160
  console.error(' ❌ --channel discord requires --discord-token.');
128
161
  process.exit(1);
129
162
  }
163
+ // Validate: --channel slack requires at least the bot token
164
+ if (channelFlag === 'slack' && !slEnabled) {
165
+ console.error(' ❌ --channel slack requires --slack-bot-token.');
166
+ process.exit(1);
167
+ }
168
+ // Catch swapped tokens BEFORE writing. Otherwise init produces a
169
+ // green-looking settings file and the mistake only surfaces after the server
170
+ // starts and auth.test fails.
171
+ if (slEnabled && slBotToken && !slBotToken.startsWith('xoxb-')) {
172
+ console.error(` ❌ Slack bot token should start with "xoxb-" (got "${slBotToken.slice(0, 5)}…"). Did you swap it with the app-level token?`);
173
+ process.exit(1);
174
+ }
175
+ if (slAppToken && !slAppToken.startsWith('xapp-')) {
176
+ console.error(` ❌ Slack app-level token should start with "xapp-" (got "${slAppToken.slice(0, 5)}…"). Did you swap it with the bot token?`);
177
+ process.exit(1);
178
+ }
179
+ // Outbound-only is a legitimate partial configuration, so this warns rather
180
+ // than exiting — it is the same state channel-health reports as
181
+ // missing_app_token.
182
+ if (slEnabled && !slAppToken) {
183
+ console.warn(' ⚠️ Slack app-level token missing — outbound only, no inbound events.');
184
+ }
130
185
  // Validate Discord flags
131
186
  if (dcEnabled) {
132
187
  if (!dcToken) {
@@ -149,10 +204,14 @@ rl.close();
149
204
  // Determine active channel
150
205
  let activeChannel = channelFlag || settings.channel || 'telegram';
151
206
  if (!channelFlag) {
152
- if (dcEnabled && !tgEnabled)
207
+ // Only infer when exactly one channel is configured; two or more leaves
208
+ // the existing value alone rather than silently picking one.
209
+ if (dcEnabled && !tgEnabled && !slEnabled)
153
210
  activeChannel = 'discord';
154
- else if (tgEnabled && !dcEnabled)
211
+ else if (tgEnabled && !dcEnabled && !slEnabled)
155
212
  activeChannel = 'telegram';
213
+ else if (slEnabled && !tgEnabled && !dcEnabled)
214
+ activeChannel = 'slack';
156
215
  }
157
216
  // Merge (preserve existing values unless --force)
158
217
  const merged = values.force ? {} : { ...settings };
@@ -174,6 +233,20 @@ if (dcEnabled || values.force) {
174
233
  allowBots: false,
175
234
  };
176
235
  }
236
+ if (slEnabled || values.force) {
237
+ merged.slack = {
238
+ enabled: slEnabled,
239
+ botToken: slBotToken,
240
+ appToken: slAppToken,
241
+ teamId: slTeamId,
242
+ channelIds: slChannelIds,
243
+ forwardAll: true,
244
+ allowBots: false,
245
+ // Slack bots usually live in shared channels, so both default ON.
246
+ mentionOnly: true,
247
+ replyInThread: true,
248
+ };
249
+ }
177
250
  // Save (skip in dry-run)
178
251
  if (!values['dry-run']) {
179
252
  fs.writeFileSync(SETTINGS_PATH, JSON.stringify(merged, null, 2));
@@ -204,9 +277,34 @@ const installOpts = {
204
277
  };
205
278
  if (values['dry-run'])
206
279
  console.log('\n \ud83d\udd0d Dry run mode — no changes will be made\n');
207
- await installCliTools(installOpts);
208
- await installMcpServers(installOpts);
209
- await installSkillDeps(installOpts);
280
+ // These switches were honoured by the npm postinstall path only, so `jaw init`
281
+ // reached for the network regardless of what the caller asked for. That is what
282
+ // made the init behavior suite unrunnable on CI: a clean runner has none of
283
+ // these tools, so each of its six subprocesses npm-installed the provider CLI
284
+ // set plus uv and playwright-core, and the step hit its limit before the first
285
+ // assertion printed.
286
+ //
287
+ // Same variables, same spelling, now honoured wherever the installers are
288
+ // driven from.
289
+ const skipEnv = (name) => process.env[name] === '1' || process.env[name] === 'true';
290
+ if (skipEnv('CLI_JAW_SKIP_CLI_TOOLS')) {
291
+ console.log('[jaw:init] CLI tool install skipped (CLI_JAW_SKIP_CLI_TOOLS)');
292
+ }
293
+ else {
294
+ await installCliTools(installOpts);
295
+ }
296
+ if (skipEnv('CLI_JAW_SKIP_MCP_SERVERS')) {
297
+ console.log('[jaw:init] MCP server install skipped (CLI_JAW_SKIP_MCP_SERVERS)');
298
+ }
299
+ else {
300
+ await installMcpServers(installOpts);
301
+ }
302
+ if (skipEnv('CLI_JAW_SKIP_SKILL_DEPS')) {
303
+ console.log('[jaw:init] skill dependency install skipped (CLI_JAW_SKIP_SKILL_DEPS)');
304
+ }
305
+ else {
306
+ await installSkillDeps(installOpts);
307
+ }
210
308
  console.log(`
211
309
  ✅ 설정 완료!
212
310
 
@@ -216,6 +314,7 @@ console.log(`
216
314
  Permissions : auto
217
315
  Telegram : ${tgEnabled ? '✅ ' + tgToken.slice(0, 10) + '...' : '❌ off'}
218
316
  Discord : ${dcEnabled ? '✅ ' + dcToken.slice(0, 10) + '...' : '❌ off'}
317
+ Slack : ${slEnabled ? '✅ ' + slBotToken.slice(0, 10) + '...' + (slAppToken ? '' : ' (outbound only)') : '❌ off'}
219
318
  Skills : ${skillsDir}
220
319
  Settings : ${SETTINGS_PATH}
221
320