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.
- package/README.ja.md +15 -0
- package/README.ko.md +15 -0
- package/README.md +19 -4
- package/dist/bin/cli-jaw.js +5 -1
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/doctor.js +66 -1
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/init.js +107 -8
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/slack.js +190 -0
- package/dist/bin/commands/slack.js.map +1 -0
- package/dist/lib/upload.js +5 -1
- package/dist/lib/upload.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/src/agent/alert-escalation.js +1 -1
- package/dist/src/agent/alert-escalation.js.map +1 -1
- package/dist/src/agent/codex-app-catalog.js +57 -0
- package/dist/src/agent/codex-app-catalog.js.map +1 -0
- package/dist/src/agent/codex-app-client.js +89 -7
- package/dist/src/agent/codex-app-client.js.map +1 -1
- package/dist/src/agent/pi-rpc-verdict.js +22 -0
- package/dist/src/agent/pi-rpc-verdict.js.map +1 -0
- package/dist/src/agent/pi-runtime.js +240 -0
- package/dist/src/agent/pi-runtime.js.map +1 -1
- package/dist/src/agent/runtime-pool.js +445 -0
- package/dist/src/agent/runtime-pool.js.map +1 -0
- package/dist/src/agent/spawn.js +395 -240
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/command-context.js +5 -2
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/commands.js +43 -39
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +15 -7
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers-search.js +1 -1
- package/dist/src/cli/handlers-search.js.map +1 -1
- package/dist/src/cli/handlers-skill-invoke.js +1 -1
- package/dist/src/cli/handlers-skill-invoke.js.map +1 -1
- package/dist/src/cli/handlers-workflows.js +1 -1
- package/dist/src/cli/handlers-workflows.js.map +1 -1
- package/dist/src/cli/handlers.js +1 -1
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/opencodex-models.js +40 -7
- package/dist/src/cli/opencodex-models.js.map +1 -1
- package/dist/src/cli/registry-live.js +6 -5
- package/dist/src/cli/registry-live.js.map +1 -1
- package/dist/src/command-contract/catalog.js +4 -0
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/core/config.js +69 -4
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/runtime-settings.js +17 -0
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/settings-merge.js +1 -1
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/discord/bot.js +29 -14
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/commands.js +5 -4
- package/dist/src/discord/commands.js.map +1 -1
- package/dist/src/discord/discord-file.js +8 -2
- package/dist/src/discord/discord-file.js.map +1 -1
- package/dist/src/discord/forwarder.js +17 -19
- package/dist/src/discord/forwarder.js.map +1 -1
- package/dist/src/discord/send-only-client.js +9 -1
- package/dist/src/discord/send-only-client.js.map +1 -1
- package/dist/src/manager/dashboard-service.js +38 -1
- package/dist/src/manager/dashboard-service.js.map +1 -1
- package/dist/src/manager/telegram-hub/hub-bot.js +47 -29
- package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -1
- package/dist/src/messaging/channel-health.js +32 -0
- package/dist/src/messaging/channel-health.js.map +1 -1
- package/dist/src/messaging/chunk.js +376 -0
- package/dist/src/messaging/chunk.js.map +1 -0
- package/dist/src/messaging/dedupe.js +104 -0
- package/dist/src/messaging/dedupe.js.map +1 -0
- package/dist/src/messaging/fold.js +210 -0
- package/dist/src/messaging/fold.js.map +1 -0
- package/dist/src/messaging/redact.js +577 -0
- package/dist/src/messaging/redact.js.map +1 -0
- package/dist/src/messaging/retry.js +76 -0
- package/dist/src/messaging/retry.js.map +1 -0
- package/dist/src/messaging/runtime.js +6 -3
- package/dist/src/messaging/runtime.js.map +1 -1
- package/dist/src/messaging/send.js +45 -15
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/messaging/slack-target.js +50 -0
- package/dist/src/messaging/slack-target.js.map +1 -0
- package/dist/src/messaging/types.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +4 -4
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/routes/command.js +11 -7
- package/dist/src/routes/command.js.map +1 -1
- package/dist/src/routes/messaging.js +28 -12
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/settings.js +22 -6
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/slack/api.js +116 -0
- package/dist/src/slack/api.js.map +1 -0
- package/dist/src/slack/bot.js +262 -0
- package/dist/src/slack/bot.js.map +1 -0
- package/dist/src/slack/commands.js +98 -0
- package/dist/src/slack/commands.js.map +1 -0
- package/dist/src/slack/events.js +116 -0
- package/dist/src/slack/events.js.map +1 -0
- package/dist/src/slack/format.js +58 -0
- package/dist/src/slack/format.js.map +1 -0
- package/dist/src/slack/forwarder.js +57 -0
- package/dist/src/slack/forwarder.js.map +1 -0
- package/dist/src/slack/manifest.js +84 -0
- package/dist/src/slack/manifest.js.map +1 -0
- package/dist/src/slack/register.js +13 -0
- package/dist/src/slack/register.js.map +1 -0
- package/dist/src/slack/send-handler.js +41 -0
- package/dist/src/slack/send-handler.js.map +1 -0
- package/dist/src/slack/send-only-client.js +46 -0
- package/dist/src/slack/send-only-client.js.map +1 -0
- package/dist/src/slack/slack-file.js +72 -0
- package/dist/src/slack/slack-file.js.map +1 -0
- package/dist/src/slack/socket.js +341 -0
- package/dist/src/slack/socket.js.map +1 -0
- package/dist/src/telegram/bot.js +117 -37
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/elicitation-buttons.js +7 -2
- package/dist/src/telegram/elicitation-buttons.js.map +1 -1
- package/dist/src/telegram/forwarder.js +15 -7
- package/dist/src/telegram/forwarder.js.map +1 -1
- package/dist/src/telegram/rich-message.js +209 -24
- package/dist/src/telegram/rich-message.js.map +1 -1
- package/dist/src/telegram/telegram-file.js +35 -4
- package/dist/src/telegram/telegram-file.js.map +1 -1
- package/dist/src/telegram/voice.js +4 -3
- package/dist/src/telegram/voice.js.map +1 -1
- package/package.json +7 -1
- package/public/assets/providers/slack.svg +1 -0
- package/public/dist/assets/ChannelsDiscord-D9FLnZso.js +1 -0
- package/public/dist/assets/ChannelsSlack-ybvupgdK.js +1 -0
- package/public/dist/assets/ChannelsTelegram-BOCOPrBc.js +1 -0
- package/public/dist/assets/HealthBadge-megTlF4n.js +1 -0
- package/public/dist/assets/TransportStatusChips-CjEySMis.js +1 -0
- package/public/dist/assets/app-BGIAy4he.js +55 -0
- package/public/dist/assets/{bgtask-badge-CdBqBy1L.js → bgtask-badge-DXca8E7c.js} +1 -1
- package/public/dist/assets/bgtask-badge-GRSiNILQ.js +1 -0
- package/public/dist/assets/{employees-C8qufeJl.js → employees-BL4qMxJj.js} +1 -1
- package/public/dist/assets/iframe-renderer-BUSk0Rw9.js +1 -0
- package/public/dist/assets/{iframe-renderer-CZ67aeTO.js → iframe-renderer-DUI0LYBy.js} +2 -2
- package/public/dist/assets/{manager-CLXT60M5.js → manager-B-gpf-3j.js} +3 -3
- package/public/dist/assets/{memory-lWramLVw.js → memory-B_Y0L0KD.js} +1 -1
- package/public/dist/assets/memory-CX6YahTc.js +1 -0
- package/public/dist/assets/message-history-Det7u76S.js +1 -0
- package/public/dist/assets/{message-history-2NUN3UxM.js → message-history-Dl8dJzez.js} +1 -1
- package/public/dist/assets/{provider-icons-stsNmQKx.js → provider-icons-VDfahiUp.js} +3 -2
- package/public/dist/assets/{render-CsF-ojLe.js → render-BI1aqKoc.js} +1 -1
- package/public/dist/assets/{settings-BMLowRCh.js → settings-B0Sj4sUH.js} +1 -1
- package/public/dist/assets/settings-C7NutP6X.js +1 -0
- package/public/dist/assets/settings-core-CyX-px6_.js +100 -0
- package/public/dist/assets/settings-core-DVpFmrhY.js +1 -0
- package/public/dist/assets/{sidebar-gKjYLv49.js → sidebar-DOR9fTgN.js} +3 -3
- package/public/dist/assets/skills-BWhKreQ2.js +1 -0
- package/public/dist/assets/{skills-CKTbomdm.js → skills-wt0fkV9Y.js} +1 -1
- package/public/dist/assets/slash-commands-BZbqTg3v.js +20 -0
- package/public/dist/assets/slash-commands-Di4NDA4w.js +1 -0
- package/public/dist/assets/{trace-drawer-C3G4mmB1.js → trace-drawer-kMYzaVFW.js} +1 -1
- package/public/dist/assets/ui-BghexWrB.js +1 -0
- package/public/dist/assets/{ui-CVVC_flX.js → ui-D4D5HUfo.js} +1 -1
- package/public/dist/index.html +62 -1
- package/public/dist/manager/index.html +1 -1
- package/public/index.html +61 -0
- package/public/js/features/command-info.ts +1 -0
- package/public/js/features/help-content.ts +8 -0
- package/public/js/features/settings-channel.ts +5 -1
- package/public/js/features/settings-core.ts +2 -0
- package/public/js/features/settings-slack.ts +74 -0
- package/public/js/features/settings-types.ts +5 -1
- package/public/js/features/settings.ts +1 -0
- package/public/js/features/transport-status-row.ts +15 -3
- package/public/js/main.ts +19 -0
- package/public/js/provider-icons.ts +4 -1
- package/public/js/ws.ts +1 -1
- package/public/locales/en.json +21 -0
- package/public/locales/ja.json +21 -0
- package/public/locales/ko.json +21 -0
- package/public/locales/zh.json +21 -0
- package/public/manager/src/settings/SettingsShell.tsx +1 -0
- package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
- package/public/manager/src/settings/pages/ChannelsSlack.tsx +323 -0
- package/public/manager/src/settings/pages/components/ActiveChannelToggle.tsx +2 -1
- package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +13 -4
- package/public/manager/src/settings/types.ts +1 -0
- package/scripts/bundle-sidecar.sh +13 -4
- package/scripts/check-redaction-sinks.mjs +276 -0
- package/scripts/check-sidecar-prune-safety.mjs +167 -0
- package/scripts/pi-rpc-probe.mts +361 -0
- package/scripts/pick-gyp-python.sh +61 -0
- package/scripts/release-gates.mjs +97 -0
- package/scripts/release-preview.sh +8 -1
- package/scripts/release.sh +13 -2
- package/scripts/sync-electron-version.cjs +93 -0
- package/public/dist/assets/ChannelsDiscord-Bt1_rtNC.js +0 -1
- package/public/dist/assets/ChannelsTelegram-BLV0m1oq.js +0 -1
- package/public/dist/assets/TransportStatusChips-Bld0yXi7.js +0 -1
- package/public/dist/assets/app-iSJhsP20.js +0 -55
- package/public/dist/assets/bgtask-badge-CSkSsoB6.js +0 -1
- package/public/dist/assets/iframe-renderer-DXdo0YXN.js +0 -1
- package/public/dist/assets/memory-DeKUlD2M.js +0 -1
- package/public/dist/assets/message-history-CWTQ2woA.js +0 -1
- package/public/dist/assets/settings-CDjs7hTT.js +0 -1
- package/public/dist/assets/settings-core-Cs_oq-b3.js +0 -99
- package/public/dist/assets/settings-core-D-TOh1a6.js +0 -1
- package/public/dist/assets/skills-GuIfNASs.js +0 -1
- package/public/dist/assets/slash-commands-BtZa093n.js +0 -20
- package/public/dist/assets/slash-commands-DGJKfpMT.js +0 -1
- package/public/dist/assets/ui-DJg5Q_NJ.js +0 -1
- /package/public/dist/assets/{DashboardMeta-B7CVqXcU.js → DashboardMeta-DennaaA_.js} +0 -0
- /package/public/dist/assets/{Display-BF-rACK6.js → Display-hGuSn_W5.js} +0 -0
- /package/public/dist/assets/{Employees-D3hnciP0.js → Employees-B5YXk5ma.js} +0 -0
- /package/public/dist/assets/{Heartbeat-D4Pn5O3O.js → Heartbeat-vDGhPfct.js} +0 -0
- /package/public/dist/assets/{Mcp-SfytKWGX.js → Mcp-BHWnJ6SP.js} +0 -0
- /package/public/dist/assets/{Memory-DNxBOQ7N.js → Memory-B_UZ-iCA.js} +0 -0
- /package/public/dist/assets/{ModelProvider-CXwtlG7l.js → ModelProvider-CgUvs6pE.js} +0 -0
- /package/public/dist/assets/{Network-DISUhige.js → Network-AWpSkALD.js} +0 -0
- /package/public/dist/assets/{Profile-B8yBO3Ju.js → Profile-DnIE2ios.js} +0 -0
- /package/public/dist/assets/{Prompts-5lNQ5qOm.js → Prompts-B9aKLall.js} +0 -0
- /package/public/dist/assets/{SpeechKeys-BepaIHBa.js → SpeechKeys-K4Be_o7z.js} +0 -0
- /package/public/dist/assets/{TelegramHub--DNjRAwW.js → TelegramHub-CFwSkzHP.js} +0 -0
- /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
|
|
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
|
|
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. |
|
package/dist/bin/cli-jaw.js
CHANGED
|
@@ -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;
|
package/dist/bin/cli-jaw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAK1D,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAY,CAAC;IACpE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,IAAI,GAAgB,CAAC;AACrB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAAC,MAAM,CAAC;IACL,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAE,CAAC;IAC7C,4EAA4E;IAC5E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAK1D,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAY,CAAC;IACpE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,IAAI,GAAgB,CAAC;AACrB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAAC,MAAM,CAAC;IACL,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAE,CAAC;IAC7C,4EAA4E;IAC5E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1T,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,wDAAwD,QAAQ,IAAI,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;KAAM,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;KAAM,IAAI,UAAU,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,qBAAqB,OAAO,oBAAoB,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,iEAAiE;IACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,OAAO,KAAK,IAAI;YAC1C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,SAAS,qBAAqB,CAAC,GAAuB;IAClD,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC;AAC3F,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAuB;IACrD,IAAI,qBAAqB,CAAC,GAAG,CAAC;QAAE,OAAO;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IACnC,IAAI,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;YACxC,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,wDAAwD,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1F,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,0BAA0B;IACrC,IAAI,CAAC;QACD,MAAM,qBAAqB,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;AACL,CAAC;AAED,SAAS,SAAS;IACd,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC;EACd,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,uCAAuC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;;IAE3F,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK;;;IAGtB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK;;;;;;;IAO5B,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,KAAK;;;;;;;IAOrC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK;;;;;IAKvB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,KAAK;;;;;;;;;IASpC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK;;;;;;;;;;IAU9B,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK;;;;;;;;IAQ3B,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,KAAK;;;;IAInC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK;;;;;;IAMxB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK;;;;EAI9B,CAAC,CAAC;AACJ,CAAC;AAED,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAElC,QAAQ,OAAO,EAAE,CAAC;IACd,KAAK,OAAO;QACR,MAAM,0BAA0B,EAAE,CAAC;QACnC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,MAAM;QACP,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM;IACV,KAAK,OAAO;QACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,KAAK;QACN,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM;IACV,KAAK,KAAK;QACN,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM;IACV,KAAK,UAAU;QACX,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM;IACV,KAAK,MAAM;QACP,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,0BAA0B,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM;IACV,KAAK,UAAU;QACX,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM;IACV,KAAK,OAAO;QACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,KAAK;QACN,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM;IACV,KAAK,OAAO;QACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,SAAS;QACV,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,OAAO;QACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,SAAS;QACV,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM;IACV,KAAK,OAAO;QACR,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM;IACV,KAAK,aAAa;QACd,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM;IACV,KAAK,UAAU;QACX,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,SAAS;QACV,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM;IACV,KAAK,WAAW;QACZ,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM;IACV,KAAK,WAAW;QACZ,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM;IACV,KAAK,WAAW;QACZ,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM;IACV,KAAK,SAAS;QACV,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM;IACV,KAAK,MAAM;QACP,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM;IACV,KAAK,MAAM;QACP,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM;IACV,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM;IACV,KAAK,MAAM,CAAC;IACZ,KAAK,QAAQ;QACT,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM;IACV,KAAK,SAAS;QACV,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM;IACV,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI;QACL,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM;IACV,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI,CAAC;IACV,KAAK,SAAS;QACV,SAAS,EAAE,CAAC;QACZ,MAAM;IACV;QACI,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,IAAI,CAAC,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM;AACd,CAAC"}
|
|
@@ -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.
|
|
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":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvD,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;IAAE,YAAY,CAAC;;;;;;;;;;;;;;;CAe9C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAgC3C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1D,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACxC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;KAC7C;IACD,MAAM,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,MAAM,OAAO,GAA4D,EAAE,CAAC;AAE5E,SAAS,cAAc,CAAC,IAAY;IAChC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ;SAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;SACjD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,oCAAoC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,KAAK;IACV,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IACxB,MAAM,KAAK,GAAG;QACV,2DAA2D;QAC3D,iEAAiE;KACpE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC;QACD,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAS,YAAY;IACjB,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,eAAe;IACpB,MAAM,UAAU,GAAG;QACf,cAAc,CAAC,WAAW,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QACtG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC;YACtE,CAAC,CAAC,IAAI;KACb,CAAC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5C,CAAC,CAAC,4GAA4G;YAC9G,CAAC,CAAC,4DAA4D,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gDAAgD,WAAW,GAAG,EAAE,CAAC;IACtG,CAAC;IACD,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,SAAS,aAAa,OAAO,EAAE,EAAE,CAAC;IACnF,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,SAAS,OAAO,OAAO,EAAE,EAAE,CAAC;IAC5F,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,OAAiB,CAAC,WAAW,CAAC;IACxE,OAAO,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE;QACjC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,IAAI;KAChB,CAAC,CAAC,IAAI,EAAE,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC5B,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC;QACD,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,OAAO,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,YAAY,aAAa,6BAA6B,CAAC,CAAC;IACnG,CAAC;IAED,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC;QACD,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACL,aAAa,GAAG,sBAAsB,CAAC;IAC3C,CAAC;IAED,OAAO,WAAW,MAAM,YAAY,aAAa,YAAY,MAAM,YAAY,aAAa,qBAAqB,CAAC;AACtH,CAAC;AAED,SAAS,SAAS;IACd,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mEAAmE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC;QACD,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,OAAO,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC1C,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAI,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,OAAO,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,WAAW,MAAM,YAAY,aAAa,8CAA8C,CAAC;AACpG,CAAC;AAED,mEAAmE;AACnE,SAAS,UAAU;IACf,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,EAAgB;IACzC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,MAAM,GAAI,CAAW,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,MAAM,GAAG,GAAI,CAAW,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;AACL,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE3D,oBAAoB;AACpB,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,QAAQ,GAA0B,IAAI,CAAC;AAC3C,SAAS,cAAc;IACnB,OAAQ,QAAkC,IAAI,EAAE,CAAC;AACrD,CAAC;AACD,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACzF,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAmB,CAAC;IAChF,OAAO,OAAO,QAAQ,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,cAAc;AACd,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE;IACjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,OAAO,CAAwB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1F,OAAO,GAAG,MAAM,cAAc,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IACzB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAChD,SAAS;IACb,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9B,SAAS;IACb,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,EAAE,EAAE,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC1B,OAAO,cAAc,KAAK,mFAAmF,OAAO,EAAE,CAAC;gBAC3H,CAAC;gBACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpB,OAAO,cAAc,KAAK,8BAA8B,OAAO,EAAE,CAAC;gBACtE,CAAC;YACL,CAAC;YACD,OAAO,cAAc,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE;IACtB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,wCAAwC,CAAC;IACpG,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,GAAG,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,qBAAqB;AACrB,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACzB,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,IAAI,UAAU,CAAC;IAC3C,OAAO,EAAE,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE;IACnB,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5E,OAAO,YAAY,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,cAAc;AACd,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE;IAClB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACzF,OAAO,SAAS,OAAO,cAAc,UAAU,CAAC,MAAM,uDAAuD,CAAC;AAClH,CAAC,CAAC,CAAC;AAEH,0BAA0B;AAC1B,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC9B,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,IAAI,UAAU,CAAC;IAC3C,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,EAAE,KAAK,UAAU,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC3B,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CACX,oEAAoE;cAClE,kFAAkF,MAAM,KAAK;cAC7F,4BAA4B,CACjC,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACX,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACtD,2BAA2B,CAChC,CAAC;IACN,CAAC;IACD,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,MAAM,UAAU,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,wCAAwC;AACxC,KAAK,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAChC,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,8CAA8C,CAAC;IACxF,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChC,yDAAyD;YACzD,yDAAyD;YACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACD,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACtB,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,IAAI;4BAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,IAAI;4BAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,aAAa,QAAQ,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,OAAO,8CAA8C,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,wCAAwC;AACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAChC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC9B,IAAI,CAAC;YACD,QAAQ,CAAC,qFAAqF,EAAE;gBAC5F,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACL,+BAA+B;YAC/B,IAAI,CAAC;gBACD,QAAQ,CAAC,sFAAsF,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxH,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kEAAkE;YAC9E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kCAAkC;AAClC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5C,CAAC,CAAC,oFAAoF;YACtF,CAAC,CAAC,iDAAiD,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;QACtC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,6BAA6B,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,6HAA6H,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7D,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,eAAe,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,iEAAiE,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,aAAa,GACf,OAAO,CAAC,QAAQ,KAAK,OAAO;eACzB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;eAC3B,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,gCAAgC,OAAO,CAAC,QAAQ,KAAK;kBACnD,kEAAkE,CACvE,CAAC;QACN,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACxE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACX,SAAS,YAAY,CAAC,MAAM,wDAAwD;kBAClF,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;kBAC7C,iDAAiD,CACtD,CAAC;QACN,CAAC;QACD,OAAO,uCAAuC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,CAAC;QACG,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;AAE9B,IAAI,QAAQ,EAAE,CAAC;IACX,6EAA6E;IAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,IAAI,CACR,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,EACpF,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,EACrF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,CACtF,CAAC;AACN,CAAC;KAAM,CAAC;IACJ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;YACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAAE,OAAO,YAAY,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC;YACzF,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,QAAQ,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;YACrE,IAAI,KAAK,EAAE,EAAE,CAAC;gBACV,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBACxB,OAAO,2DAA2D,CAAC;gBACvE,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;YAC7H,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC1B,gGAAgG;QAChG,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;gBAAE,OAAO,oBAAoB,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;QAC5C,6DAA6D;QAC7D,IAAI,CAAC;YACD,QAAQ,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9E,OAAO,WAAW,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,iCAAiC,CAAC;gBAAE,OAAO,WAAW,CAAC;YACzE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;gBAAE,OAAO,kBAAkB,CAAC;QAC5G,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,mBAAmB,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,yBAAyB,CAAC;YAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,2CAA2C;gBAChD,GAAG,IAAI,2CAA2C;gBAClD,GAAG,KAAK,2CAA2C;gBACnD,GAAG,EAAE,wDAAwD;aAChE,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;oBAAE,OAAO,WAAW,CAAC;YAClD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG;gBACf,+BAA+B;gBAC/B,wBAAwB;gBACxB,2BAA2B;gBAC3B,mBAAmB;gBACnB,oBAAoB;gBACpB,wBAAwB;gBACxB,2DAA2D;gBAC3D,iEAAiE;aACpE,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;oBAAE,OAAO,WAAW,CAAC;YAC7C,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,iBAAiB,CAAC,KAAuC;IACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IAE1C,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEjD,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,wDAAwD,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;QACtD,IAAI,MAAM,GAAG,WAAW,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,sCAAsC,CAAC;QACrD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,OAAO,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzF,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAChF,CAAC;AACL,CAAC;AAED,uCAAuC;AACvC,SAAS,kBAAkB;IACvB,MAAM,CAAC,GAAG,QAAQ,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAChC,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;IACrC,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAC,MAAM,GAAG,UAAU,CAAC;IAAC,CAAC;SACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,MAAM,GAAG,eAAe,CAAC;QAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAAC,CAAC;SACvF,IAAI,CAAC,eAAe,EAAE,CAAC;QAAC,MAAM,GAAG,kBAAkB,CAAC;QAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAAC,CAAC;SACvG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAAC,MAAM,GAAG,qBAAqB,CAAC;QAAC,eAAe,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAAC,CAAC;IACvH,mCAAmC;IACnC,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,MAAM,iBAAiB,GAAG,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;IACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,eAAe,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACH,MAAM;QACN,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO;QACrB,YAAY;QACZ,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,YAAY,EAAE,MAAM,KAAK,IAAI,IAAI,iBAAiB;QAClD,kBAAkB,EAAE,0GAA0G;QAC9H,eAAe;KAClB,CAAC;AACN,CAAC;AAED,gDAAgD;AAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9E,MAAM,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS;AACT,UAAU;AACV,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;IAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,WAAW,CAAC;IAC5E,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,iCAAiC;QAC5D,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,qCAAqC;YAC1D,CAAC,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC,CAAC;IACxG,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,0CAA0C,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,EAAE,GAAG;QACP,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,IAAI,KAAK;QACxC,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI;QACxD,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,KAAK,IAAI;QAClE,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,KAAK,KAAK;KAC1D,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;IACxG,CAAC;AACL,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;IAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IACrC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,WAAW,CAAC;IAChF,IAAI,EAAE,IAAI,cAAc;QAAE,aAAa,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC3F,IAAI,CAAC,cAAc,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACtC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,6DAA6D,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAA4B;QACpC,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE;QACpH,aAAa,EAAE,cAAc,EAAE,CAAC,OAAO,IAAI,UAAU;QACrD,OAAO,EAAE,kBAAkB,EAAE;QAC7B,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACX,kBAAkB,EAAE,qBAAqB,EAAE;YAC3C,SAAS,EAAE,YAAY,EAAE;YACzB,qBAAqB,EAAE,mBAAmB,EAAE;SAC/C,CAAC,CAAC,CAAC,IAAI;KACX,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
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
|
|
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 "
|
|
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
|
-
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
|