cli-jaw 2.0.10 → 2.0.16
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 +8 -5
- package/README.ko.md +8 -5
- package/README.md +31 -14
- package/README.zh-CN.md +8 -5
- package/dist/bin/commands/browser-web-ai.js +1 -0
- package/dist/bin/commands/browser-web-ai.js.map +1 -1
- package/dist/bin/commands/browser.js +1 -1
- package/dist/bin/commands/dashboard-memory.js +1 -0
- package/dist/bin/commands/dashboard-memory.js.map +1 -1
- package/dist/bin/commands/dispatch.js +34 -7
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/doctor.js +12 -6
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/init.js +1 -2
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/orchestrate.js +6 -4
- package/dist/bin/commands/orchestrate.js.map +1 -1
- package/dist/bin/commands/serve.js +3 -1
- package/dist/bin/commands/serve.js.map +1 -1
- package/dist/bin/commands/tui/overlays.js +4 -4
- package/dist/bin/commands/tui/overlays.js.map +1 -1
- package/dist/bin/commands/tui/types.js +2 -0
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/bin/postinstall.js +0 -176
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/scripts/fresh-install-smoke.js +1 -2
- package/dist/scripts/fresh-install-smoke.js.map +1 -1
- package/dist/server.js +52 -18
- package/dist/server.js.map +1 -1
- package/dist/src/agent/agy-runtime.js +4 -0
- package/dist/src/agent/agy-runtime.js.map +1 -1
- package/dist/src/agent/alert-escalation.js +8 -2
- package/dist/src/agent/alert-escalation.js.map +1 -1
- package/dist/src/agent/args.js +35 -2
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/codex-app-client.js +3 -0
- package/dist/src/agent/codex-app-client.js.map +1 -1
- package/dist/src/agent/cursor-runtime.js +240 -0
- package/dist/src/agent/cursor-runtime.js.map +1 -0
- package/dist/src/agent/events/acp.js +7 -3
- package/dist/src/agent/events/acp.js.map +1 -1
- package/dist/src/agent/events/claude.js +5 -2
- package/dist/src/agent/events/claude.js.map +1 -1
- package/dist/src/agent/events/codex.js +21 -13
- package/dist/src/agent/events/codex.js.map +1 -1
- package/dist/src/agent/events/cursor.js +176 -0
- package/dist/src/agent/events/cursor.js.map +1 -0
- package/dist/src/agent/events/grok.js +13 -3
- package/dist/src/agent/events/grok.js.map +1 -1
- package/dist/src/agent/events/index.js +27 -0
- package/dist/src/agent/events/index.js.map +1 -1
- package/dist/src/agent/events/tool-labels.js +13 -6
- package/dist/src/agent/events/tool-labels.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +150 -5
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/resume-classifier.js +2 -0
- package/dist/src/agent/resume-classifier.js.map +1 -1
- package/dist/src/agent/spawn/resume.js +13 -2
- package/dist/src/agent/spawn/resume.js.map +1 -1
- package/dist/src/agent/spawn.js +44 -17
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/claude-models.js +3 -0
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/commands.js +66 -10
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +2 -2
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers-workflows.js +339 -0
- package/dist/src/cli/handlers-workflows.js.map +1 -0
- package/dist/src/cli/handlers.js +11 -1
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/readiness.js +22 -1
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry.js +12 -0
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/tui/overlay.js +2 -2
- package/dist/src/cli/tui/overlay.js.map +1 -1
- package/dist/src/command-contract/catalog.js +3 -1
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/core/cli-detection.js +203 -0
- package/dist/src/core/cli-detection.js.map +1 -0
- package/dist/src/core/config.js +2 -140
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/runtime-settings.js +31 -0
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/discord/bot.js +47 -26
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/commands.js +4 -10
- package/dist/src/discord/commands.js.map +1 -1
- package/dist/src/discord/send-only-client.js +79 -0
- package/dist/src/discord/send-only-client.js.map +1 -0
- package/dist/src/goal/heartbeat.js +51 -0
- package/dist/src/goal/heartbeat.js.map +1 -0
- package/dist/src/goal/runtime.js +31 -0
- package/dist/src/goal/runtime.js.map +1 -0
- package/dist/src/goal/store.js +153 -0
- package/dist/src/goal/store.js.map +1 -0
- package/dist/src/goal/types.js +2 -0
- package/dist/src/goal/types.js.map +1 -0
- package/dist/src/goal-run/controller.js +113 -0
- package/dist/src/goal-run/controller.js.map +1 -0
- package/dist/src/goal-run/events.js +25 -0
- package/dist/src/goal-run/events.js.map +1 -0
- package/dist/src/goal-run/failure-matrix.js +26 -0
- package/dist/src/goal-run/failure-matrix.js.map +1 -0
- package/dist/src/goal-run/policy.js +46 -0
- package/dist/src/goal-run/policy.js.map +1 -0
- package/dist/src/goal-run/types.js +2 -0
- package/dist/src/goal-run/types.js.map +1 -0
- package/dist/src/manager/git/diff-service.js +202 -0
- package/dist/src/manager/git/diff-service.js.map +1 -0
- package/dist/src/manager/notes/assets.js +11 -4
- package/dist/src/manager/notes/assets.js.map +1 -1
- package/dist/src/manager/notes/auth.js +123 -0
- package/dist/src/manager/notes/auth.js.map +1 -0
- package/dist/src/manager/notes/git.js +154 -0
- package/dist/src/manager/notes/git.js.map +1 -0
- package/dist/src/manager/notes/plugins.js +107 -0
- package/dist/src/manager/notes/plugins.js.map +1 -0
- package/dist/src/manager/notes/routes.js +91 -2
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/store.js +71 -1
- package/dist/src/manager/notes/store.js.map +1 -1
- package/dist/src/manager/notes/watcher.js +40 -4
- package/dist/src/manager/notes/watcher.js.map +1 -1
- package/dist/src/manager/notes/wiki-links.js +99 -10
- package/dist/src/manager/notes/wiki-links.js.map +1 -1
- package/dist/src/manager/notes/ws.js +62 -0
- package/dist/src/manager/notes/ws.js.map +1 -0
- package/dist/src/manager/preview-link-policy.js +46 -0
- package/dist/src/manager/preview-link-policy.js.map +1 -0
- package/dist/src/manager/preview-origin-proxy.js +28 -5
- package/dist/src/manager/preview-origin-proxy.js.map +1 -1
- package/dist/src/manager/preview-ports.js +12 -0
- package/dist/src/manager/preview-ports.js.map +1 -0
- package/dist/src/manager/proxy.js +15 -3
- package/dist/src/manager/proxy.js.map +1 -1
- package/dist/src/manager/registry.js +115 -0
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/routes/dashboard-git.js +106 -0
- package/dist/src/manager/routes/dashboard-git.js.map +1 -0
- package/dist/src/manager/server.js +60 -4
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/memory/heartbeat.js +4 -1
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/messaging/channel-health.js +54 -0
- package/dist/src/messaging/channel-health.js.map +1 -0
- package/dist/src/messaging/runtime.js +1 -0
- package/dist/src/messaging/runtime.js.map +1 -1
- package/dist/src/messaging/send-result.js +9 -0
- package/dist/src/messaging/send-result.js.map +1 -0
- package/dist/src/orchestrator/pipeline.js +45 -0
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +50 -1
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +16 -8
- package/dist/src/prompt/templates/employee.md +3 -1
- package/dist/src/prompt/templates/orchestration.md +15 -5
- package/dist/src/routes/goal-run.js +86 -0
- package/dist/src/routes/goal-run.js.map +1 -0
- package/dist/src/routes/goal.js +118 -0
- package/dist/src/routes/goal.js.map +1 -0
- package/dist/src/routes/messaging.js +17 -11
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +47 -17
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/quota-agy-reverse.js +133 -0
- package/dist/src/routes/quota-agy-reverse.js.map +1 -0
- package/dist/src/routes/quota-cursor-dashboard.js +200 -0
- package/dist/src/routes/quota-cursor-dashboard.js.map +1 -0
- package/dist/src/routes/settings.js +6 -6
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/team/collector.js +45 -0
- package/dist/src/team/collector.js.map +1 -0
- package/dist/src/team/dispatcher.js +35 -0
- package/dist/src/team/dispatcher.js.map +1 -0
- package/dist/src/team/planner.js +58 -0
- package/dist/src/team/planner.js.map +1 -0
- package/dist/src/team/preflight.js +46 -0
- package/dist/src/team/preflight.js.map +1 -0
- package/dist/src/team/types.js +12 -0
- package/dist/src/team/types.js.map +1 -0
- package/dist/src/telegram/bot.js +41 -10
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/types/cli-engine.js +1 -0
- package/dist/src/types/cli-engine.js.map +1 -1
- package/dist/src/types/cli-events.js +1 -1
- package/dist/src/types/cli-events.js.map +1 -1
- package/dist/src/workflows/artifacts.js +148 -0
- package/dist/src/workflows/artifacts.js.map +1 -0
- package/dist/src/workflows/browser-web-ai.js +18 -0
- package/dist/src/workflows/browser-web-ai.js.map +1 -0
- package/dist/src/workflows/checkpoint/store.js +31 -0
- package/dist/src/workflows/checkpoint/store.js.map +1 -0
- package/dist/src/workflows/checkpoint/types.js +4 -0
- package/dist/src/workflows/checkpoint/types.js.map +1 -0
- package/dist/src/workflows/competitive-gap.js +96 -0
- package/dist/src/workflows/competitive-gap.js.map +1 -0
- package/dist/src/workflows/context-map/builder.js +61 -0
- package/dist/src/workflows/context-map/builder.js.map +1 -0
- package/dist/src/workflows/context.js +19 -0
- package/dist/src/workflows/context.js.map +1 -0
- package/dist/src/workflows/deliberate.js +67 -0
- package/dist/src/workflows/deliberate.js.map +1 -0
- package/dist/src/workflows/employee-boundary.js +33 -0
- package/dist/src/workflows/employee-boundary.js.map +1 -0
- package/dist/src/workflows/events.js +24 -0
- package/dist/src/workflows/events.js.map +1 -0
- package/dist/src/workflows/guards.js +18 -0
- package/dist/src/workflows/guards.js.map +1 -0
- package/dist/src/workflows/handoff.js +48 -0
- package/dist/src/workflows/handoff.js.map +1 -0
- package/dist/src/workflows/index.js +6 -0
- package/dist/src/workflows/index.js.map +1 -0
- package/dist/src/workflows/permissions/policy.js +25 -0
- package/dist/src/workflows/permissions/policy.js.map +1 -0
- package/dist/src/workflows/permissions/types.js +26 -0
- package/dist/src/workflows/permissions/types.js.map +1 -0
- package/dist/src/workflows/plan.js +70 -0
- package/dist/src/workflows/plan.js.map +1 -0
- package/dist/src/workflows/planaudit.js +64 -0
- package/dist/src/workflows/planaudit.js.map +1 -0
- package/dist/src/workflows/runtime-guards.js +46 -0
- package/dist/src/workflows/runtime-guards.js.map +1 -0
- package/dist/src/workflows/runtime.js +25 -0
- package/dist/src/workflows/runtime.js.map +1 -0
- package/dist/src/workflows/status.js +49 -0
- package/dist/src/workflows/status.js.map +1 -0
- package/dist/src/workflows/types.js +4 -0
- package/dist/src/workflows/types.js.map +1 -0
- package/dist/src/workflows/web-ai-guards.js +22 -0
- package/dist/src/workflows/web-ai-guards.js.map +1 -0
- package/package.json +9 -4
- package/public/assets/providers/cursor-color.svg +2 -0
- package/public/assets/providers/cursor.svg +2 -0
- package/public/css/chat.css +99 -0
- package/public/css/orc-state.css +11 -1
- package/public/css/sidebar.css +34 -0
- package/public/css/variables.css +23 -2
- package/public/css/workflow-cockpit.css +62 -0
- package/public/dist/assets/{AdvancedExport-CZEVPqHb.js → AdvancedExport-DLCgT_ZP.js} +1 -1
- package/public/dist/assets/{Agent-BBrJGd5m.js → Agent-CIUGaUVn.js} +1 -1
- package/public/dist/assets/{Browser-dBaU9G9D.js → Browser-C4TCAhKR.js} +1 -1
- package/public/dist/assets/BrowserPanel-BN01Lfc5.css +1 -0
- package/public/dist/assets/BrowserPanel-weeCb2qu.js +1 -0
- package/public/dist/assets/ChannelsDiscord-Bwt2-Jva.js +1 -0
- package/public/dist/assets/ChannelsTelegram-xjA3-Mr8.js +1 -0
- package/public/dist/assets/{DashboardMeta-LVAL7TtE.js → DashboardMeta-CBckkL_V.js} +1 -1
- package/public/dist/assets/DiffPanel-BHvC0wCX.css +1 -0
- package/public/dist/assets/DiffPanel-DZ4-3QSH.js +3 -0
- package/public/dist/assets/{Display-CFm1UmEo.js → Display-BPbCVOoi.js} +1 -1
- package/public/dist/assets/DocPanel-C1pGgE-S.js +1 -0
- package/public/dist/assets/DocPanel-CL1scIfq.css +1 -0
- package/public/dist/assets/Employees-BL9MAzzx.js +1 -0
- package/public/dist/assets/FolderPanel-DSkanaGN.js +1 -0
- package/public/dist/assets/FolderPanel-XCno5AI9.css +1 -0
- package/public/dist/assets/Heartbeat-D64JCg4t.js +1 -0
- package/public/dist/assets/MarkdownRenderer-CS6jvLpf.js +15 -0
- package/public/dist/assets/{Mcp-9NU4YkKO.js → Mcp-wYwJA_61.js} +1 -1
- package/public/dist/assets/{Memory-uZT30fww.js → Memory-BgN8djV4.js} +1 -1
- package/public/dist/assets/MilkdownWysiwygEditor-Btwmr5Re.js +160 -0
- package/public/dist/assets/{ModelProvider-CsIOyoZP.js → ModelProvider-DHQ1Zvw0.js} +1 -1
- package/public/dist/assets/{Network-D7hGwnyG.js → Network-B-WvB6R5.js} +1 -1
- package/public/dist/assets/NotesGraphWorkspace-CK8kKY8A.js +1 -0
- package/public/dist/assets/{Permissions-DwdU3wi8.js → Permissions-BvtVczZS.js} +1 -1
- package/public/dist/assets/Permissions-QxvByCop.js +1 -0
- package/public/dist/assets/{Profile-BNTKD_Ex.js → Profile-D_6kFj73.js} +1 -1
- package/public/dist/assets/{Prompts-D_mCfYiu.js → Prompts--4CM3enz.js} +1 -1
- package/public/dist/assets/{SpeechKeys-BTXCM-Fs.js → SpeechKeys-Cx4_SXTM.js} +1 -1
- package/public/dist/assets/TerminalPanel-AKKXu8dJ.js +36 -0
- package/public/dist/assets/TerminalPanel-DdE69MNo.css +1 -0
- package/public/dist/assets/TransportStatusChips-BwR7Sq4s.js +1 -0
- package/public/dist/assets/agent-meta-BhEbjy4P.js +1 -0
- package/public/dist/assets/api-30EcU_Lb.js +1 -0
- package/public/dist/assets/app-DLDdZ41k.js +48 -0
- package/public/dist/assets/app-RpnKs-sT.css +1 -0
- package/public/dist/assets/architecture-7EHR7CIX-GHIeXYpv.js +1 -0
- package/public/dist/assets/{architectureDiagram-3BPJPVTR-CJCPEsxo.js → architectureDiagram-3BPJPVTR-ByOUFrxp.js} +1 -1
- package/public/dist/assets/{blockDiagram-GPEHLZMM-CO1bkn0E.js → blockDiagram-GPEHLZMM-BcefwseF.js} +2 -2
- package/public/dist/assets/{c4Diagram-AAUBKEIU-D2R36Xu6.js → c4Diagram-AAUBKEIU-C9FinBRA.js} +1 -1
- package/public/dist/assets/channel-5QxFRU5l.js +1 -0
- package/public/dist/assets/{chunk-2J33WTMH-xiPJWKcl.js → chunk-2J33WTMH-N9wxleFR.js} +1 -1
- package/public/dist/assets/{chunk-3OPIFGDE-DixnEkZw.js → chunk-3OPIFGDE-B1qdy3mP.js} +1 -1
- package/public/dist/assets/{chunk-4BX2VUAB-6lTRwyT0.js → chunk-4BX2VUAB-Dbg5PjGD.js} +1 -1
- package/public/dist/assets/{chunk-4EGX6M5U-DXtAEgX6.js → chunk-4EGX6M5U-BIFnMXqg.js} +1 -1
- package/public/dist/assets/chunk-55IACEB6-C9gRJHcb.js +1 -0
- package/public/dist/assets/{chunk-5DO6E6H7-DDcMHB95.js → chunk-5DO6E6H7-Dc9k92pO.js} +1 -1
- package/public/dist/assets/{chunk-5ZQYHXKU-Bli4k6GI.js → chunk-5ZQYHXKU-BOYB4Qmp.js} +2 -2
- package/public/dist/assets/{chunk-727SXJPM-sp4W8bhf.js → chunk-727SXJPM-2OgKkBMF.js} +1 -1
- package/public/dist/assets/{chunk-AQP2D5EJ-Co6ucdGq.js → chunk-AQP2D5EJ-CIXopxD6.js} +1 -1
- package/public/dist/assets/{chunk-BR22UD5L-CVuYkAd1.js → chunk-BR22UD5L-DlNCrhSA.js} +1 -1
- package/public/dist/assets/{chunk-BSJP7CBP-B47GpxcW.js → chunk-BSJP7CBP-CpgaSqhR.js} +1 -1
- package/public/dist/assets/{chunk-CSCIHK7Q-CAE1p4Em.js → chunk-CSCIHK7Q-R-Y9ue5N.js} +1 -1
- package/public/dist/assets/{chunk-FHYWG6QK-CxZt-yZZ.js → chunk-FHYWG6QK-DVrRFYRd.js} +1 -1
- package/public/dist/assets/{chunk-FMBD7UC4-CwqBlx0l.js → chunk-FMBD7UC4-jn5b6_kv.js} +1 -1
- package/public/dist/assets/{chunk-KSCS5N6A-Beq1s5eO.js → chunk-KSCS5N6A-DayXQgYz.js} +2 -2
- package/public/dist/assets/{chunk-L5ZTLDWV-DfUlBdXN.js → chunk-L5ZTLDWV-CtcQ12uz.js} +1 -1
- package/public/dist/assets/{chunk-LZXEDZCA-B_yP4UKw.js → chunk-LZXEDZCA-BuEa86aU.js} +1 -1
- package/public/dist/assets/{chunk-MPE355IW-Bp4qAOUf.js → chunk-MPE355IW-Be8tT5FQ.js} +1 -1
- package/public/dist/assets/{chunk-MZUSXYTE-DAU-v-0c.js → chunk-MZUSXYTE-bFnwST0F.js} +1 -1
- package/public/dist/assets/{chunk-N66VUXT2-CpPz1L5u.js → chunk-N66VUXT2-BSpsJq6A.js} +1 -1
- package/public/dist/assets/{chunk-ND2GUHAM-3qbNb7I9.js → chunk-ND2GUHAM-CnEcVn6T.js} +1 -1
- package/public/dist/assets/{chunk-NZK2D7GU-CTqFQ8K5.js → chunk-NZK2D7GU-asW9Yrwq.js} +1 -1
- package/public/dist/assets/{chunk-O5CBEL6O-D-jDqsN2.js → chunk-O5CBEL6O-BVoXQ09V.js} +1 -1
- package/public/dist/assets/{chunk-PUPMXCY4-ppZvktf-.js → chunk-PUPMXCY4-BU48euO5.js} +1 -1
- package/public/dist/assets/chunk-QZHKN3VN-CC7ecfZE.js +1 -0
- package/public/dist/assets/{chunk-UIBZB4QT-rJZEVBX0.js → chunk-UIBZB4QT-aXCea_7h.js} +1 -1
- package/public/dist/assets/{chunk-WCWK7LTN-CGvUyB8h.js → chunk-WCWK7LTN-fR0CutHV.js} +1 -1
- package/public/dist/assets/chunk-WU5MYG2G-CDC6hlhk.js +1 -0
- package/public/dist/assets/{chunk-XPW4576I-BaQfzRci.js → chunk-XPW4576I-CFkDqujt.js} +1 -1
- package/public/dist/assets/classDiagram-4FO5ZUOK-Bfu4_8Yk.js +1 -0
- package/public/dist/assets/classDiagram-v2-Q7XG4LA2-_XyS72AY.js +1 -0
- package/public/dist/assets/constants-ahKI_aEG.js +1 -0
- package/public/dist/assets/{cose-bilkent-S5V4N54A-Bt9AAJCx.js → cose-bilkent-S5V4N54A-CZbCTJt4.js} +1 -1
- package/public/dist/assets/{dagre-BM42HDAG-CXEA1wvZ.js → dagre-BM42HDAG-BB0IJKjW.js} +1 -1
- package/public/dist/assets/{dagre-Ve-IAfyz.js → dagre-D4AB5Dyv.js} +1 -1
- package/public/dist/assets/desktop-bridge-CrqidwSb.js +1 -0
- package/public/dist/assets/{diagram-2AECGRRQ-CCB0OKc2.js → diagram-2AECGRRQ-CHUQ78BD.js} +1 -1
- package/public/dist/assets/{diagram-5GNKFQAL-Cki9HABy.js → diagram-5GNKFQAL-onxHMGMn.js} +1 -1
- package/public/dist/assets/{diagram-KO2AKTUF-DNBDjE2o.js → diagram-KO2AKTUF-BlgkTTwi.js} +1 -1
- package/public/dist/assets/{diagram-LMA3HP47-Cy23RDPa.js → diagram-LMA3HP47-BVWYubzU.js} +1 -1
- package/public/dist/assets/{diagram-OG6HWLK6-CT_YF8cA.js → diagram-OG6HWLK6-BM7IcJ6z.js} +1 -1
- package/public/dist/assets/dist-2S2B_MeU.js +1 -0
- package/public/dist/assets/dist-B2d2NOJ3.js +1 -0
- package/public/dist/assets/dist-BSF2Z7j1.js +6 -0
- package/public/dist/assets/dist-BZh7LRrp.js +1 -0
- package/public/dist/assets/dist-BaazPVzw.js +1 -0
- package/public/dist/assets/dist-Bn4kv_Se.js +1 -0
- package/public/dist/assets/dist-CB1fgeSN.js +1 -0
- package/public/dist/assets/dist-CG0XIeov.js +1 -0
- package/public/dist/assets/dist-CG65f_qI.js +1 -0
- package/public/dist/assets/dist-CJwXuDux.js +39 -0
- package/public/dist/assets/dist-CU9b0vPA.js +1 -0
- package/public/dist/assets/dist-CkWMWu5F.js +23 -0
- package/public/dist/assets/dist-CsK9fYYW.js +1 -0
- package/public/dist/assets/dist-CuNACpdD.js +1 -0
- package/public/dist/assets/dist-CzDHA1yv.js +1 -0
- package/public/dist/assets/dist-D0mdXpwq.js +1 -0
- package/public/dist/assets/{dist-3R3GxjCf.js → dist-DCefgfkj.js} +5 -5
- package/public/dist/assets/dist-DJ5byDHS2.js +1 -0
- package/public/dist/assets/dist-DLSl_Nbu.js +1 -0
- package/public/dist/assets/dist-DLa7--1u.js +1 -0
- package/public/dist/assets/dist-DZ1vWpde.js +1 -0
- package/public/dist/assets/dist-D_ULP6ER.js +1 -0
- package/public/dist/assets/dist-Dgo6P711.js +1 -0
- package/public/dist/assets/dist-DtkJvqbT.js +9 -0
- package/public/dist/assets/dist-DwzmyMDC.js +1 -0
- package/public/dist/assets/dist-H3yurMdo.js +11 -0
- package/public/dist/assets/dist-HtoUbUb4.js +1 -0
- package/public/dist/assets/dist-P76w4V8t.js +2 -0
- package/public/dist/assets/{dist-DuuoJfRB.js → dist-SWkyI5gN.js} +2 -2
- package/public/dist/assets/dist-w85EQGWO.js +1 -0
- package/public/dist/assets/{dockerfile-DAfh5qoE.js → dockerfile-O79f3xVO.js} +1 -1
- package/public/dist/assets/employees-DZSPGlaH.js +33 -0
- package/public/dist/assets/{erDiagram-TEJ5UH35-Cq7oHdXg.js → erDiagram-TEJ5UH35-Dr-3ziJG.js} +1 -1
- package/public/dist/assets/eventmodeling-FCH6USID-Du0rADZ8.js +1 -0
- package/public/dist/assets/{factor-BpoYJieo.js → factor-2MJ0aFHQ.js} +1 -1
- package/public/dist/assets/{flowDiagram-I6XJVG4X-D8CdEnfM.js → flowDiagram-I6XJVG4X-COxvv8bU.js} +1 -1
- package/public/dist/assets/{ganttDiagram-6RSMTGT7-B1rzKXi_.js → ganttDiagram-6RSMTGT7-BztWk1Ow.js} +2 -2
- package/public/dist/assets/gitGraph-WXDBUCRP-Cw5oPUI1.js +1 -0
- package/public/dist/assets/{gitGraphDiagram-PVQCEYII-CqLh-joi.js → gitGraphDiagram-PVQCEYII-Dw-pLiB8.js} +1 -1
- package/public/dist/assets/{graphlib-W5bESv3F.js → graphlib-DCNdUnXF.js} +1 -1
- package/public/dist/assets/info-J43DQDTF-bda--3fv.js +1 -0
- package/public/dist/assets/{infoDiagram-5YYISTIA-C1zVxumj.js → infoDiagram-5YYISTIA-BSM5RFYV.js} +1 -1
- package/public/dist/assets/{ishikawaDiagram-YF4QCWOH-x-9J6xPM.js → ishikawaDiagram-YF4QCWOH-DGqEaMN9.js} +1 -1
- package/public/dist/assets/javascript-BIzwdG_f.js +1 -0
- package/public/dist/assets/{journeyDiagram-JHISSGLW-BDYzHrtn.js → journeyDiagram-JHISSGLW-CBGlHr__.js} +1 -1
- package/public/dist/assets/{kanban-definition-UN3LZRKU-BJ-06i6Z.js → kanban-definition-UN3LZRKU-CtvwD90I.js} +1 -1
- package/public/dist/assets/manager-CFxbpg7j.css +1 -0
- package/public/dist/assets/manager-wAHlX68t.js +12 -0
- package/public/dist/assets/memory-B4RpXXJ7.js +20 -0
- package/public/dist/assets/memory-C9EVOb_D.js +1 -0
- package/public/dist/assets/mermaid-loader-BPeAxEES.js +1 -0
- package/public/dist/assets/{mermaid-parser.core-C62NUJRb.js → mermaid-parser.core-BB62R3s0.js} +1 -1
- package/public/dist/assets/mermaid.core-86z3EI0c.js +1 -0
- package/public/dist/assets/{mermaid.core-D8VnfThU.js → mermaid.core-Eh0d41ge.js} +2 -2
- package/public/dist/assets/{mindmap-definition-RKZ34NQL-D8NDuIhn.js → mindmap-definition-RKZ34NQL-Cg1Nirgc.js} +1 -1
- package/public/dist/assets/notes-graph-settings-CznA-Qu0.js +1 -0
- package/public/dist/assets/{nsis-Ch4QINLN.js → nsis-CVYtDIFk.js} +1 -1
- package/public/dist/assets/packet-YPE3B663-CdmMldz9.js +1 -0
- package/public/dist/assets/pie-LRSECV5Y-Bh7evnjl.js +1 -0
- package/public/dist/assets/{pieDiagram-4H26LBE5-CpBePil_.js → pieDiagram-4H26LBE5--PRag7Te.js} +1 -1
- package/public/dist/assets/{provider-icons-ClVd2suJ.js → provider-icons-XEfJPGTe.js} +9 -5
- package/public/dist/assets/{pug-CXYqmmpP.js → pug-DplZiQL-.js} +1 -1
- package/public/dist/assets/{quadrantDiagram-W4KKPZXB-C1WWpn88.js → quadrantDiagram-W4KKPZXB-BTql-Bsn.js} +1 -1
- package/public/dist/assets/radar-GUYGQ44K-Bi6iY53d.js +1 -0
- package/public/dist/assets/render-DnylWKO1.js +28 -0
- package/public/dist/assets/{requirementDiagram-4Y6WPE33-C_D5VbNk.js → requirementDiagram-4Y6WPE33-43_zBMme.js} +1 -1
- package/public/dist/assets/{sankeyDiagram-5OEKKPKP--RH3Es8R.js → sankeyDiagram-5OEKKPKP-Bhvu7fVp.js} +1 -1
- package/public/dist/assets/{sequenceDiagram-3UESZ5HK-CVI4AjhN.js → sequenceDiagram-3UESZ5HK-DiT6UbHL.js} +1 -1
- package/public/dist/assets/settings-DIG_i79X.js +1 -0
- package/public/dist/assets/settings-VCXKhhhz.js +66 -0
- package/public/dist/assets/sidebar-Bi_ktFVw.js +18 -0
- package/public/dist/assets/{skills-DbRVI-zf.js → skills-CW7NEhew.js} +2 -2
- package/public/dist/assets/skills-RjRqvykb.js +1 -0
- package/public/dist/assets/slash-commands-CAydTUgf.js +19 -0
- package/public/dist/assets/slash-commands-DdXu96Zd.js +1 -0
- package/public/dist/assets/{state-xhhyIPlq.js → state-D04-chBy.js} +1 -1
- package/public/dist/assets/{stateDiagram-AJRCARHV-4bx1rPZ3.js → stateDiagram-AJRCARHV-EdHNB699.js} +1 -1
- package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CwXjV0-w.js +1 -0
- package/public/dist/assets/{timeline-definition-PNZ67QCA-DeQoGRE2.js → timeline-definition-PNZ67QCA-DLCG8ciJ.js} +1 -1
- package/public/dist/assets/{trace-drawer-CIVBXyRH.js → trace-drawer-G-KP3IbQ.js} +1 -1
- package/public/dist/assets/treeView-BLDUP644-gIRuNooA.js +1 -0
- package/public/dist/assets/treemap-LRROVOQU-DGFQnuQ3.js +1 -0
- package/public/dist/assets/ui-CIQjTLzc.js +1 -0
- package/public/dist/assets/ui-CkHB9Jmo.js +140 -0
- package/public/dist/assets/vendor-utils-BydMkEGM.js +1 -0
- package/public/dist/assets/{vennDiagram-CIIHVFJN-CejyJK0L.js → vennDiagram-CIIHVFJN-C93tL0id.js} +1 -1
- package/public/dist/assets/wardley-L42UT6IY-D7Pv8rzC.js +1 -0
- package/public/dist/assets/{wardleyDiagram-YWT4CUSO-DqXV0sa1.js → wardleyDiagram-YWT4CUSO-BQQr2bW2.js} +1 -1
- package/public/dist/assets/wiki-link-resolver-CQwLeKpN.js +22 -0
- package/public/dist/assets/wiki-link-suggestions-DnVtu7Jb.js +2 -0
- package/public/dist/assets/{xychartDiagram-2RQKCTM6-CWLoVl2b.js → xychartDiagram-2RQKCTM6-DGZ5VpP9.js} +2 -2
- package/public/dist/index.html +36 -10
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +35 -8
- package/public/js/constants.ts +22 -1
- package/public/js/diagram/iframe-renderer.ts +2 -1
- package/public/js/features/chat-messages.ts +2 -2
- package/public/js/features/chat.ts +144 -17
- package/public/js/features/copy-text.ts +39 -0
- package/public/js/features/employees.ts +5 -5
- package/public/js/features/memory.ts +3 -4
- package/public/js/features/message-actions.ts +3 -2
- package/public/js/features/message-history.ts +2 -2
- package/public/js/features/pending-queue.ts +3 -2
- package/public/js/features/preview-shortcut-bridge.ts +25 -10
- package/public/js/features/settings-channel.ts +3 -0
- package/public/js/features/settings-cli-status.ts +254 -45
- package/public/js/features/settings-core.ts +8 -0
- package/public/js/features/settings.ts +1 -1
- package/public/js/features/slash-commands.ts +34 -2
- package/public/js/features/theme.ts +34 -6
- package/public/js/features/transport-status-row.ts +91 -0
- package/public/js/features/workflow-event-adapter.ts +77 -0
- package/public/js/main.ts +21 -4
- package/public/js/preview-parent-origin.ts +38 -0
- package/public/js/provider-icons.ts +6 -1
- package/public/js/render/code-copy.ts +16 -18
- package/public/js/render/file-links.ts +127 -30
- package/public/js/render/notes-vault-path.ts +64 -0
- package/public/js/render/post-render.ts +2 -2
- package/public/js/render/svg-actions.ts +4 -1
- package/public/js/render.ts +1 -0
- package/public/js/state.ts +19 -1
- package/public/js/ws.ts +121 -8
- package/public/locales/en.json +40 -0
- package/public/locales/ja.json +31 -0
- package/public/locales/ko.json +40 -0
- package/public/locales/zh.json +31 -0
- package/public/manager/src/App.tsx +65 -64
- package/public/manager/src/AppChrome.tsx +14 -5
- package/public/manager/src/InstancePreview.tsx +113 -2
- package/public/manager/src/SidebarRailRouter.tsx +67 -4
- package/public/manager/src/api.ts +46 -0
- package/public/manager/src/browser-panel/BrowserPanel.tsx +445 -0
- package/public/manager/src/browser-panel/browser-panel.css +241 -0
- package/public/manager/src/browser-panel/browser-url.ts +55 -0
- package/public/manager/src/clipboard/copy-text.ts +27 -0
- package/public/manager/src/components/CommandBar.tsx +2 -0
- package/public/manager/src/components/CommandCenter.tsx +3 -1
- package/public/manager/src/components/DesktopPanelControls.tsx +79 -0
- package/public/manager/src/components/SidebarRail.tsx +1 -1
- package/public/manager/src/components/WorkspaceLayout.tsx +71 -1
- package/public/manager/src/dashboard-settings/DashboardDeveloperSettingsSection.tsx +123 -0
- package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
- package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +4 -1
- package/public/manager/src/dashboard-settings/dashboard-settings-ui.ts +8 -0
- package/public/manager/src/desktop-link.tsx +6 -1
- package/public/manager/src/diff-panel/DiffPanel.tsx +219 -0
- package/public/manager/src/diff-panel/diff-client.ts +46 -0
- package/public/manager/src/diff-panel/diff-panel.css +163 -0
- package/public/manager/src/diff-panel/diff-root-candidates.ts +54 -0
- package/public/manager/src/doc-panel/DocPanel.tsx +113 -0
- package/public/manager/src/doc-panel/doc-panel.css +57 -0
- package/public/manager/src/folder-panel/FolderPanel.tsx +144 -0
- package/public/manager/src/folder-panel/folder-panel.css +82 -0
- package/public/manager/src/folder-panel/folder-sources.ts +93 -0
- package/public/manager/src/help/helpContent.tsx +3 -0
- package/public/manager/src/hooks/useDashboardView.ts +22 -1
- package/public/manager/src/main.tsx +2 -0
- package/public/manager/src/manager-components.css +12 -0
- package/public/manager/src/manager-dashboard-reminders-priority.css +11 -0
- package/public/manager/src/manager-dashboard-reminders.css +29 -0
- package/public/manager/src/manager-layout.css +68 -22
- package/public/manager/src/manager-notes.css +181 -0
- package/public/manager/src/manager-p0-1-1.css +118 -1
- package/public/manager/src/manager-polish.css +15 -12
- package/public/manager/src/manager-shortcuts.ts +17 -0
- package/public/manager/src/manager-tokens.css +25 -0
- package/public/manager/src/notes/MarkdownEditor.tsx +26 -3
- package/public/manager/src/notes/NotesFileTree.tsx +24 -2
- package/public/manager/src/notes/NotesGraphView.tsx +1 -145
- package/public/manager/src/notes/NotesSidebar.tsx +4 -0
- package/public/manager/src/notes/NotesThemeLoader.tsx +104 -0
- package/public/manager/src/notes/NotesWorkspace.tsx +33 -5
- package/public/manager/src/notes/graph/NotesGraphCanvas.tsx +195 -0
- package/public/manager/src/notes/graph/NotesGraphControlsPanel.tsx +172 -0
- package/public/manager/src/notes/graph/NotesGraphWorkspace.tsx +116 -0
- package/public/manager/src/notes/graph/notes-graph-filter.ts +192 -0
- package/public/manager/src/notes/graph/notes-graph-force.ts +36 -0
- package/public/manager/src/notes/graph/notes-graph-settings.ts +121 -0
- package/public/manager/src/notes/notes-graph.css +382 -0
- package/public/manager/src/notes/rendering/CodeBlock.tsx +5 -4
- package/public/manager/src/notes/rendering/MarkdownRenderer.tsx +3 -0
- package/public/manager/src/notes/useNoteSync.ts +67 -0
- package/public/manager/src/notes/wysiwyg/MilkdownWysiwygEditor.tsx +4 -0
- package/public/manager/src/notes/wysiwyg/milkdown-code-block-view.ts +5 -1
- package/public/manager/src/notes/wysiwyg/milkdown-slash-menu.ts +192 -0
- package/public/manager/src/notes/wysiwyg/milkdown-table-menu.ts +120 -0
- package/public/manager/src/panels/BottomPanel.tsx +61 -0
- package/public/manager/src/panels/BottomPanelTabBar.tsx +71 -0
- package/public/manager/src/panels/PanelLayoutProvider.tsx +288 -0
- package/public/manager/src/panels/PanelResizer.tsx +71 -0
- package/public/manager/src/panels/RightSidebar.tsx +192 -0
- package/public/manager/src/panels/desktop-bridge.ts +112 -0
- package/public/manager/src/panels/panel-capabilities.ts +44 -0
- package/public/manager/src/panels/panel-layout-registry-state.ts +38 -0
- package/public/manager/src/panels/panel-shortcut-bus.ts +15 -0
- package/public/manager/src/panels/panels.css +274 -0
- package/public/manager/src/panels/types.ts +16 -0
- package/public/manager/src/preview.ts +11 -1
- package/public/manager/src/settings/pages/ChannelsDiscord.tsx +3 -1
- package/public/manager/src/settings/pages/ChannelsTelegram.tsx +3 -1
- package/public/manager/src/settings/pages/components/ActiveChannelToggle.tsx +2 -2
- package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +108 -0
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +22 -3
- package/public/manager/src/settings/pages/components/employees-helpers.ts +1 -0
- package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +1 -0
- package/public/manager/src/settings-controls.css +57 -0
- package/public/manager/src/settings-embedding.css +3 -3
- package/public/manager/src/terminal/TerminalPanel.tsx +362 -0
- package/public/manager/src/terminal/terminal-bridge.ts +12 -0
- package/public/manager/src/terminal/terminal.css +175 -0
- package/public/manager/src/types.ts +66 -2
- package/public/manager/src/usePreviewShortcutMessages.ts +12 -3
- package/scripts/fresh-install-smoke.ts +1 -2
- package/scripts/install-risk-gate.mjs +0 -18
- package/scripts/install-wsl.sh +0 -46
- package/scripts/install.sh +0 -28
- package/scripts/release-gates.mjs +52 -0
- package/scripts/release.sh +9 -1
- package/scripts/require-release-evidence.mjs +0 -2
- package/public/dist/assets/ChannelsDiscord-CbmWms9-.js +0 -1
- package/public/dist/assets/ChannelsTelegram-BD4Eyztg.js +0 -1
- package/public/dist/assets/Employees-DcMChleU.js +0 -1
- package/public/dist/assets/HealthBadge-CfLTPTPW.js +0 -1
- package/public/dist/assets/Heartbeat-BoobN35p.js +0 -1
- package/public/dist/assets/MilkdownWysiwygEditor-Otw40DDF.js +0 -160
- package/public/dist/assets/NotesGraphView-CwdEnL7d.js +0 -1
- package/public/dist/assets/Permissions-CcIBptg3.js +0 -1
- package/public/dist/assets/agent-meta-BC7mLqo6.js +0 -1
- package/public/dist/assets/app-C7MAcAMu.js +0 -39
- package/public/dist/assets/app-CkFBKUf8.css +0 -1
- package/public/dist/assets/architecture-7EHR7CIX-wVaUQezY.js +0 -1
- package/public/dist/assets/channel-CCQujL1n.js +0 -1
- package/public/dist/assets/chunk-55IACEB6-DhWWzzdj.js +0 -1
- package/public/dist/assets/chunk-QZHKN3VN-CBAtPPT7.js +0 -1
- package/public/dist/assets/chunk-WU5MYG2G-DlBJtD7-.js +0 -1
- package/public/dist/assets/classDiagram-4FO5ZUOK-DmPJvqRM.js +0 -1
- package/public/dist/assets/classDiagram-v2-Q7XG4LA2-ECmTUt7U.js +0 -1
- package/public/dist/assets/constants-BXWl7LTi.js +0 -1
- package/public/dist/assets/dist-BLd7xdyq.js +0 -1
- package/public/dist/assets/dist-BaRrwDy3.js +0 -1
- package/public/dist/assets/dist-Bbsp4OF7.js +0 -1
- package/public/dist/assets/dist-BkBGlG70.js +0 -1
- package/public/dist/assets/dist-BkJ_1mj9.js +0 -1
- package/public/dist/assets/dist-BxCRVW5D.js +0 -1
- package/public/dist/assets/dist-C-v7Rm67.js +0 -23
- package/public/dist/assets/dist-CNgDEAy8.js +0 -1
- package/public/dist/assets/dist-CO_W5rr2.js +0 -1
- package/public/dist/assets/dist-ChAUfTbO.js +0 -1
- package/public/dist/assets/dist-D-k-lzQT.js +0 -1
- package/public/dist/assets/dist-D1hPukqY.js +0 -1
- package/public/dist/assets/dist-D5Qx-jQQ.js +0 -1
- package/public/dist/assets/dist-D7VNzYBv.js +0 -6
- package/public/dist/assets/dist-DAxnodoa.js +0 -1
- package/public/dist/assets/dist-DHSyODkR.js +0 -1
- package/public/dist/assets/dist-DaYTPjbb2.js +0 -1
- package/public/dist/assets/dist-DlWi9tVO.js +0 -1
- package/public/dist/assets/dist-Dv36UUXz.js +0 -1
- package/public/dist/assets/dist-F4CVhitP.js +0 -9
- package/public/dist/assets/dist-LHbJYy3N.js +0 -1
- package/public/dist/assets/dist-VIlx7JdU.js +0 -1
- package/public/dist/assets/dist-cgDt2PmY.js +0 -11
- package/public/dist/assets/dist-eW2LjRIK.js +0 -1
- package/public/dist/assets/dist-vGn3_sWA.js +0 -1
- package/public/dist/assets/employees-BmxY8Mw3.js +0 -33
- package/public/dist/assets/eventmodeling-FCH6USID-Cq0nylxO.js +0 -1
- package/public/dist/assets/gitGraph-WXDBUCRP-DDq6-3D3.js +0 -1
- package/public/dist/assets/info-J43DQDTF-OUnqwpUV.js +0 -1
- package/public/dist/assets/javascript-CZjRNq5R.js +0 -1
- package/public/dist/assets/manager-B2NWzG7j.css +0 -1
- package/public/dist/assets/manager-q68thm66.js +0 -25
- package/public/dist/assets/memory-BqqibBIE.js +0 -1
- package/public/dist/assets/memory-CRL72HB-.js +0 -20
- package/public/dist/assets/mermaid-loader-Dqb4ZUz6.js +0 -1
- package/public/dist/assets/mermaid.core-DYHvk6Pd.js +0 -1
- package/public/dist/assets/packet-YPE3B663-Bb9hBQ06.js +0 -1
- package/public/dist/assets/pie-LRSECV5Y-CNRQnRNZ.js +0 -1
- package/public/dist/assets/radar-GUYGQ44K-BxngU2v0.js +0 -1
- package/public/dist/assets/render-o_YEiCEO.js +0 -28
- package/public/dist/assets/settings-B0RlyAkI.js +0 -1
- package/public/dist/assets/settings-CCXRL5Ar.js +0 -46
- package/public/dist/assets/sidebar-DRJffqO1.js +0 -14
- package/public/dist/assets/skills-CFdzXbtK.js +0 -1
- package/public/dist/assets/slash-commands-BUM6u-Ex.js +0 -1
- package/public/dist/assets/slash-commands-C2YBMaQV.js +0 -14
- package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CrfGPzHb.js +0 -1
- package/public/dist/assets/treeView-BLDUP644-cXRzPGzz.js +0 -1
- package/public/dist/assets/treemap-LRROVOQU-BsZE5HPE.js +0 -1
- package/public/dist/assets/ui-C3ArwMhv.js +0 -140
- package/public/dist/assets/ui-CboUuc_E.js +0 -1
- package/public/dist/assets/vendor-utils-rVejrfMR.js +0 -1
- package/public/dist/assets/wardley-L42UT6IY-D_qm0cZD.js +0 -1
- package/public/dist/assets/wiki-link-suggestions-e5BzJAZH.js +0 -23
- /package/public/dist/assets/{DashboardEmbeddingSection-6F8zSSja.js → DashboardEmbeddingSection-ChF63KXJ.js} +0 -0
- /package/public/dist/assets/{InlineWarn-C7ISyzDI.js → InlineWarn-CY6dBBMq.js} +0 -0
- /package/public/dist/assets/{apl-CieDeb7B.js → apl-CQGZdmVU.js} +0 -0
- /package/public/dist/assets/{asciiarmor-BRTyulZY.js → asciiarmor-6rdc1JOx.js} +0 -0
- /package/public/dist/assets/{asn1-DoNAtQ5o.js → asn1-D8iCH-On.js} +0 -0
- /package/public/dist/assets/{asterisk-CR7oKPxi.js → asterisk-ChqZLgq_.js} +0 -0
- /package/public/dist/assets/{brainfuck-abzPcrOz.js → brainfuck-CDmGO_27.js} +0 -0
- /package/public/dist/assets/{chunk-AGHRB4JF-CYdXVA2-.js → chunk-AGHRB4JF-BgIXD8KY.js} +0 -0
- /package/public/dist/assets/{chunk-NNHCCRGN-BaiX9a5F.js → chunk-NNHCCRGN-BPmsUfnh.js} +0 -0
- /package/public/dist/assets/{clike-B71Zq38G.js → clike-CSGpadKW.js} +0 -0
- /package/public/dist/assets/{clojure-Zm0UzHPq.js → clojure-CST35Ic-.js} +0 -0
- /package/public/dist/assets/{cmake-D3UNdg6L.js → cmake-BVvLLL-M.js} +0 -0
- /package/public/dist/assets/{cobol-4fYvwQR0.js → cobol-Ck6DkJOz.js} +0 -0
- /package/public/dist/assets/{coffeescript-Ct6bZdRU.js → coffeescript-D_Wxovbg.js} +0 -0
- /package/public/dist/assets/{commonlisp-CrgXVPcd.js → commonlisp-B8ANOF1p.js} +0 -0
- /package/public/dist/assets/{crystal-bGOl67VM.js → crystal-Daoo63FI.js} +0 -0
- /package/public/dist/assets/{css-B_EV3Xq2.js → css-BLiiJuyL.js} +0 -0
- /package/public/dist/assets/{cypher-DXDlHTYf.js → cypher-BMqftmWo.js} +0 -0
- /package/public/dist/assets/{cytoscape.esm-BK7ao2Ti.js → cytoscape.esm-Dgu56jtY.js} +0 -0
- /package/public/dist/assets/{d-RL5ynsiz.js → d-DOGkwbDi.js} +0 -0
- /package/public/dist/assets/{diff-B5McBGjz.js → diff-VsLDmRbo.js} +0 -0
- /package/public/dist/assets/{dist-DrIWh2fi.js → dist-DJlNCT5R.js} +0 -0
- /package/public/dist/assets/{dtd-l3sK4p_C.js → dtd-CxrLPib8.js} +0 -0
- /package/public/dist/assets/{dylan-WjJGY-rW.js → dylan-QB82VE9N.js} +0 -0
- /package/public/dist/assets/{ebnf-BGY79HOS.js → ebnf-B6cp6Red.js} +0 -0
- /package/public/dist/assets/{ecl-BKh7OE1d.js → ecl-zYbBq-k7.js} +0 -0
- /package/public/dist/assets/{eiffel-Bzvlg3oK.js → eiffel-DnQZC9e4.js} +0 -0
- /package/public/dist/assets/{elm-5_BqNmKu.js → elm-Cx44SA5e.js} +0 -0
- /package/public/dist/assets/{erlang-BdVwz8I8.js → erlang-CEHBsR_g.js} +0 -0
- /package/public/dist/assets/{fcl-B9cnfODD.js → fcl-D0vOEWq5.js} +0 -0
- /package/public/dist/assets/{fields-BwD_NGxe.js → fields-C-y_8RgA.js} +0 -0
- /package/public/dist/assets/{forth-wZbbnGzb.js → forth-KL0mdDBU.js} +0 -0
- /package/public/dist/assets/{fortran-BAJZrRfU.js → fortran-Dq4mvV2Z.js} +0 -0
- /package/public/dist/assets/{gas-D60ZhBat.js → gas-C1IQIiP2.js} +0 -0
- /package/public/dist/assets/{gherkin-B8tKjAAi.js → gherkin-DJavHCGq.js} +0 -0
- /package/public/dist/assets/{groovy-BAG9eJUD.js → groovy-DYXu3zX-.js} +0 -0
- /package/public/dist/assets/{haskell-Cj4TmWbg.js → haskell-CEbLR9qt.js} +0 -0
- /package/public/dist/assets/{haxe-8chnvz-o.js → haxe-BpJF7A4A.js} +0 -0
- /package/public/dist/assets/{http-DDYeO71z.js → http-DWdENtd1.js} +0 -0
- /package/public/dist/assets/{idl-D1hY-Gp_.js → idl-CE1kS3NQ.js} +0 -0
- /package/public/dist/assets/{javascript-Sh0ZUMP2.js → javascript-CJNkmBfh.js} +0 -0
- /package/public/dist/assets/{julia-BibioBF2.js → julia-BJgPYrDa.js} +0 -0
- /package/public/dist/assets/{livescript-CSZrB6F4.js → livescript-DsrJVqPX.js} +0 -0
- /package/public/dist/assets/{lua-BvTlo5w3.js → lua-C7UuQSXZ.js} +0 -0
- /package/public/dist/assets/{mathematica-Bexv8BWZ.js → mathematica-DUerNKxF.js} +0 -0
- /package/public/dist/assets/{mbox-BAhbA8z2.js → mbox-l0MV8RAb.js} +0 -0
- /package/public/dist/assets/{mirc-BzT5Kh4S.js → mirc-Bs-bacTk.js} +0 -0
- /package/public/dist/assets/{mllike-DeoJnUZQ.js → mllike-DDa-ra-x.js} +0 -0
- /package/public/dist/assets/{modelica-FD_-Fxlc.js → modelica-DorVekoh.js} +0 -0
- /package/public/dist/assets/{mscgen-C-OyhbwB.js → mscgen-Bu9Rmf5j.js} +0 -0
- /package/public/dist/assets/{mumps-BxkCDTK7.js → mumps-BERv0OoY.js} +0 -0
- /package/public/dist/assets/{nginx-2JaV__gC.js → nginx-Bsa-KRWy.js} +0 -0
- /package/public/dist/assets/{ntriples--rhhCzqb.js → ntriples-CQMTRhrZ.js} +0 -0
- /package/public/dist/assets/{octave-rS4nMzRe.js → octave-Bl83K6Ag.js} +0 -0
- /package/public/dist/assets/{oz-I4fMb_NC.js → oz-CCTboWOh.js} +0 -0
- /package/public/dist/assets/{page-shell-uNOxwdbr.js → page-shell-k5-hYhKb.js} +0 -0
- /package/public/dist/assets/{pascal-BEghJs8t.js → pascal-D-i7gVLf.js} +0 -0
- /package/public/dist/assets/{path-utils-h2GAj3hH.js → path-utils-ztBHV7MX.js} +0 -0
- /package/public/dist/assets/{perl-BRO9ZFo9.js → perl-BiLLXF9c.js} +0 -0
- /package/public/dist/assets/{pig-L4Ii6KI0.js → pig-D_F2azNe.js} +0 -0
- /package/public/dist/assets/{powershell-BBeqUCRp.js → powershell-AJ59gf0u.js} +0 -0
- /package/public/dist/assets/{properties-Boi0jF2J.js → properties-CPYgUZZu.js} +0 -0
- /package/public/dist/assets/{protobuf-fB2aGypX.js → protobuf-BTkGCn64.js} +0 -0
- /package/public/dist/assets/{puppet-BRmsErtO.js → puppet-CQcFSvge.js} +0 -0
- /package/public/dist/assets/{python-Be4P9Dgp.js → python-txj4co98.js} +0 -0
- /package/public/dist/assets/{q-DZGhDLYt.js → q-D48iiS-J.js} +0 -0
- /package/public/dist/assets/{r-B4NERjRM.js → r-KvgSjvcw.js} +0 -0
- /package/public/dist/assets/{rough.esm-C0Gkx4O1.js → rough.esm-DEk5_dnJ.js} +0 -0
- /package/public/dist/assets/{rpm-e-QbHJ1q.js → rpm-BcHYZFkz.js} +0 -0
- /package/public/dist/assets/{ruby-BSVP_v59.js → ruby-C_Hj_59H.js} +0 -0
- /package/public/dist/assets/{sas-DHlU4v4g.js → sas-iqYBvleh.js} +0 -0
- /package/public/dist/assets/{scheme-BGXbz5Hz.js → scheme-BIcb4en6.js} +0 -0
- /package/public/dist/assets/{shell-yonx6xY2.js → shell-CJbQRqgD.js} +0 -0
- /package/public/dist/assets/{sieve-ClPJUZyi.js → sieve-CEVqHONw.js} +0 -0
- /package/public/dist/assets/{simple-mode-CjViblDK.js → simple-mode-CyEi8-qy.js} +0 -0
- /package/public/dist/assets/{smalltalk-CHXubeqS.js → smalltalk-CzJ9RPAW.js} +0 -0
- /package/public/dist/assets/{solr-C6q6YwPz.js → solr-DhrIF5tD.js} +0 -0
- /package/public/dist/assets/{sparql-CcspZvEd.js → sparql-p9uHdCLs.js} +0 -0
- /package/public/dist/assets/{spreadsheet-DH3a4LBS.js → spreadsheet-BEYojJ7u.js} +0 -0
- /package/public/dist/assets/{sql-meoY6gNi.js → sql-CnA4GIza.js} +0 -0
- /package/public/dist/assets/{stex-D2bn6Zsh.js → stex-6IVJg-2X.js} +0 -0
- /package/public/dist/assets/{stylus-DbXGih0S.js → stylus-fqPouKsv.js} +0 -0
- /package/public/dist/assets/{swift-Ch391uOd.js → swift-DHXFQ55a.js} +0 -0
- /package/public/dist/assets/{tcl-CQBgGWDP.js → tcl-DI621_2I.js} +0 -0
- /package/public/dist/assets/{textile-4i3oG3tg.js → textile-CpiPRB46.js} +0 -0
- /package/public/dist/assets/{tiddlywiki-CXG1-CcK.js → tiddlywiki-DASPoia0.js} +0 -0
- /package/public/dist/assets/{tiki-DJqKUhA-.js → tiki-H2_-xfcb.js} +0 -0
- /package/public/dist/assets/{toml-C1FnyICQ.js → toml-BLGegqRu.js} +0 -0
- /package/public/dist/assets/{troff-Cp8NvRO0.js → troff-BH_j1MPi.js} +0 -0
- /package/public/dist/assets/{ttcn-cfg-BVuxfGZf.js → ttcn-cfg-kxhuYjqY.js} +0 -0
- /package/public/dist/assets/{ttcn-NlmW_fji.js → ttcn-q84VxP8I.js} +0 -0
- /package/public/dist/assets/{turtle-Ba9ERlnm.js → turtle-COu2Ajrp.js} +0 -0
- /package/public/dist/assets/{vb-DDs4gjJb.js → vb-7GRadaxb.js} +0 -0
- /package/public/dist/assets/{vbscript-gOFmdMJN.js → vbscript-Bibo3Rcb.js} +0 -0
- /package/public/dist/assets/{velocity-DtSNZA7i.js → velocity-CRfDkZn8.js} +0 -0
- /package/public/dist/assets/{verilog-Pldmtxe7.js → verilog-B1kgqsBR.js} +0 -0
- /package/public/dist/assets/{vhdl-BFfSgWGp.js → vhdl-qL7iOc7c.js} +0 -0
- /package/public/dist/assets/{w3c-keyname-BggQEPNo.js → w3c-keyname-BkTDclMX.js} +0 -0
- /package/public/dist/assets/{webidl-B6ZFYE2L.js → webidl-Bpu8XQq2.js} +0 -0
- /package/public/dist/assets/{xquery-DhxUT98N.js → xquery-C_ocxvPR.js} +0 -0
- /package/public/dist/assets/{yacas-jSkQeF1Q.js → yacas-DByFiVRK.js} +0 -0
- /package/public/dist/assets/{z80-D7Lt6v61.js → z80-CKuzqVbN.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/workflows/handoff.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iCAAiC;AAKjC,MAAM,cAAc,GAA6B;IAC7C,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;CAClC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAK5B;IACG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU;QACvC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAE3E,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW;QACxC,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;YAC1B,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,2CAA2C,CAAC;IAEtD,MAAM,QAAQ,GAAG;QACb,iBAAiB,IAAI,CAAC,WAAW,EAAE;QACnC,EAAE;QACF,UAAU;QACV,qFAAqF;QACrF,6BAA6B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACxD,EAAE;QACF,IAAI,CAAC,eAAe;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACH,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ;QACR,aAAa;KAChB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG;QACvB,uBAAuB;QACvB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;QACpB,gBAAgB;QAChB,kBAAkB;KACrB,CAAC;IACF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Barrel export for workflow common layer.
|
|
2
|
+
// Does NOT import provider SDKs.
|
|
3
|
+
export { buildWorkflowRunContext } from './context.js';
|
|
4
|
+
export { createWorkflowEvent, isNewerEvent, nextSequenceId } from './events.js';
|
|
5
|
+
export { guardPass, guardWarn, guardBlock, allGuardsPassed, blockedGuards } from './guards.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,iCAAiC;AAkBjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Permission policy evaluation — SDK-free.
|
|
2
|
+
import { DEFAULT_PROFILES } from './types.js';
|
|
3
|
+
export function createProfile(name, id) {
|
|
4
|
+
const rules = DEFAULT_PROFILES[name] ?? DEFAULT_PROFILES['read-only'];
|
|
5
|
+
return {
|
|
6
|
+
id: id ?? `profile-${name}-${Date.now()}`,
|
|
7
|
+
name,
|
|
8
|
+
rules: [...rules],
|
|
9
|
+
createdAt: new Date().toISOString(),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function checkPermission(profile, scope, target) {
|
|
13
|
+
const rule = profile.rules.find(r => r.scope === scope);
|
|
14
|
+
if (!rule)
|
|
15
|
+
return 'deny';
|
|
16
|
+
if (rule.level === 'ask' && rule.pattern && target) {
|
|
17
|
+
const re = new RegExp(rule.pattern);
|
|
18
|
+
return re.test(target) ? 'allow' : 'ask';
|
|
19
|
+
}
|
|
20
|
+
return rule.level;
|
|
21
|
+
}
|
|
22
|
+
export function isAllowed(profile, scope, target) {
|
|
23
|
+
return checkPermission(profile, scope, target) === 'allow';
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/workflows/permissions/policy.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,EAAW;IACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAE,CAAC;IACvE,OAAO;QACH,EAAE,EAAE,EAAE,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;QACzC,IAAI;QACJ,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,OAAkC,EAClC,KAAsB,EACtB,MAAe;IAEf,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAEzB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,SAAS,CACrB,OAAkC,EAClC,KAAsB,EACtB,MAAe;IAEf,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Workflow permission profiles — SDK-free.
|
|
2
|
+
// Maps read/edit/bash/network/MCP scopes deterministically.
|
|
3
|
+
export const DEFAULT_PROFILES = {
|
|
4
|
+
'read-only': [
|
|
5
|
+
{ scope: 'read', level: 'allow' },
|
|
6
|
+
{ scope: 'edit', level: 'deny' },
|
|
7
|
+
{ scope: 'bash', level: 'deny' },
|
|
8
|
+
{ scope: 'network', level: 'deny' },
|
|
9
|
+
{ scope: 'mcp', level: 'deny' },
|
|
10
|
+
],
|
|
11
|
+
'audit': [
|
|
12
|
+
{ scope: 'read', level: 'allow' },
|
|
13
|
+
{ scope: 'edit', level: 'deny' },
|
|
14
|
+
{ scope: 'bash', level: 'ask', pattern: 'tsc|vitest|npm test' },
|
|
15
|
+
{ scope: 'network', level: 'deny' },
|
|
16
|
+
{ scope: 'mcp', level: 'deny' },
|
|
17
|
+
],
|
|
18
|
+
'build': [
|
|
19
|
+
{ scope: 'read', level: 'allow' },
|
|
20
|
+
{ scope: 'edit', level: 'allow' },
|
|
21
|
+
{ scope: 'bash', level: 'ask' },
|
|
22
|
+
{ scope: 'network', level: 'deny' },
|
|
23
|
+
{ scope: 'mcp', level: 'ask' },
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/workflows/permissions/types.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,4DAA4D;AAkB5D,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAC9D,WAAW,EAAE;QACT,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAChC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KAClC;IACD,OAAO,EAAE;QACL,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KAClC;IACD,OAAO,EAAE;QACL,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;QACjC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;QAC/B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;QACnC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;KACjC;CACJ,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { t } from '../core/i18n.js';
|
|
2
|
+
import { createWorkflowArtifactId, createWorkflowStorage, projectKeyFromSettings, } from './artifacts.js';
|
|
3
|
+
function tr(key, locale, fallback) {
|
|
4
|
+
const value = t(key, {}, locale);
|
|
5
|
+
return value === key ? fallback : value;
|
|
6
|
+
}
|
|
7
|
+
function formatRequest(args) {
|
|
8
|
+
return args.join(' ').trim();
|
|
9
|
+
}
|
|
10
|
+
export function buildPlanCompatArtifact(args, locale = 'ko', settings) {
|
|
11
|
+
const request = formatRequest(args);
|
|
12
|
+
const sourcePrompt = `/plan${request ? ` ${request}` : ''}`;
|
|
13
|
+
const projectKey = projectKeyFromSettings(settings);
|
|
14
|
+
const pabcdText = tr('cmd.workflow.plan.pabcdEquivalent', locale, 'In cli-jaw, /plan maps to PABCD P: clarify the plan first, then audit, build, check, and close.');
|
|
15
|
+
const sourceText = request || tr('cmd.workflow.plan.noRequest', locale, 'No request was provided. Use /interview for unclear requirements or /deliberate for comparing implementation options.');
|
|
16
|
+
const nextText = [
|
|
17
|
+
tr('cmd.workflow.plan.next.interview', locale, '- Need clearer requirements: /interview <request>'),
|
|
18
|
+
tr('cmd.workflow.plan.next.deliberate', locale, '- Need option comparison: /deliberate <request-or-plan>'),
|
|
19
|
+
tr('cmd.workflow.plan.next.planaudit', locale, '- Already have a plan: /planaudit <plan>'),
|
|
20
|
+
tr('cmd.workflow.plan.next.orchestrate', locale, '- Ready to formalize: /orchestrate P'),
|
|
21
|
+
].join('\n');
|
|
22
|
+
return {
|
|
23
|
+
id: createWorkflowArtifactId('planCompat'),
|
|
24
|
+
kind: 'planCompat',
|
|
25
|
+
version: 1,
|
|
26
|
+
title: tr('cmd.workflow.plan.title', locale, 'PABCD planning guide'),
|
|
27
|
+
sourcePrompt,
|
|
28
|
+
summary: pabcdText,
|
|
29
|
+
locale,
|
|
30
|
+
createdAt: new Date().toISOString(),
|
|
31
|
+
lifetime: 'local-cache',
|
|
32
|
+
durable: false,
|
|
33
|
+
authoritative: false,
|
|
34
|
+
storage: createWorkflowStorage(projectKey),
|
|
35
|
+
sections: [
|
|
36
|
+
{ id: 'pabcd-equivalent', title: tr('cmd.workflow.plan.section.pabcd', locale, 'cli-jaw planning'), body: pabcdText, format: 'plain', required: true },
|
|
37
|
+
{ id: 'source-request', title: tr('cmd.workflow.plan.section.source', locale, 'Original request'), body: sourceText, format: 'plain', required: true },
|
|
38
|
+
{ id: 'next-actions', title: tr('cmd.workflow.plan.section.next', locale, 'Next actions'), body: nextText, format: 'plain', required: true },
|
|
39
|
+
],
|
|
40
|
+
suggestedNextActions: [
|
|
41
|
+
{ id: 'copy', labelKey: 'cmd.artifact.action.copy', kind: 'copy' },
|
|
42
|
+
{ id: 'reinsert', labelKey: 'cmd.artifact.action.reinsert', kind: 'reinsert' },
|
|
43
|
+
{ id: 'start-pabcd', labelKey: 'cmd.artifact.action.startPabcd', kind: 'start-pabcd', requiresConfirmation: true },
|
|
44
|
+
],
|
|
45
|
+
promotion: {
|
|
46
|
+
allowedTargets: ['pabcd-worklog', 'devlog', 'project-file'],
|
|
47
|
+
defaultTarget: 'pabcd-worklog',
|
|
48
|
+
requiresUserAction: true,
|
|
49
|
+
guardrails: [
|
|
50
|
+
'Do not create a second plan mode.',
|
|
51
|
+
'Do not enter PABCD without explicit user action.',
|
|
52
|
+
'Do not write project files by default.',
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export function formatPlanCompatText(artifact, locale = 'ko') {
|
|
58
|
+
const lines = [
|
|
59
|
+
artifact.title,
|
|
60
|
+
'',
|
|
61
|
+
...artifact.sections.flatMap(section => [
|
|
62
|
+
`## ${section.title}`,
|
|
63
|
+
section.body,
|
|
64
|
+
'',
|
|
65
|
+
]),
|
|
66
|
+
tr('cmd.workflow.plan.footer', locale, 'This is guidance only. The approved plan still belongs to PABCD P.'),
|
|
67
|
+
];
|
|
68
|
+
return lines.join('\n').trim();
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/workflows/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { t } from '../core/i18n.js';
|
|
2
|
+
import { settings } from '../core/config.js';
|
|
3
|
+
import { createWorkflowArtifactId, createWorkflowStorage, projectKeyFromSettings, } from './artifacts.js';
|
|
4
|
+
function tr(key, locale, fallback) {
|
|
5
|
+
const value = t(key, {}, locale);
|
|
6
|
+
return value === key ? fallback : value;
|
|
7
|
+
}
|
|
8
|
+
export function buildPlanAuditArtifact(args, locale = 'ko', settingsOverride) {
|
|
9
|
+
const plan = args.join(' ').trim();
|
|
10
|
+
const sourcePrompt = `/planaudit${plan ? ` ${plan}` : ''}`;
|
|
11
|
+
const s = settingsOverride ?? settings;
|
|
12
|
+
const projectKey = projectKeyFromSettings(s);
|
|
13
|
+
const workingDir = (s && typeof s === 'object' ? s['workingDir'] : null);
|
|
14
|
+
const projectRoot = workingDir || '<absolute project root>';
|
|
15
|
+
const planBody = plan || tr('cmd.workflow.planaudit.noPlan', locale, '<current PABCD plan>');
|
|
16
|
+
const checks = [
|
|
17
|
+
'Verify all file paths in the plan actually exist.',
|
|
18
|
+
'Verify imports and function signatures match real code.',
|
|
19
|
+
'Check for integration risks.',
|
|
20
|
+
'Verify existing source-of-truth docs/logs were read when present.',
|
|
21
|
+
'No new structure/, devlog/, docs, or AGENTS files without user approval.',
|
|
22
|
+
'New TS files follow strict-compatible TypeScript.',
|
|
23
|
+
'Devlog phase documents use the numbered Jawdev filename convention.',
|
|
24
|
+
].join('\n- ');
|
|
25
|
+
return {
|
|
26
|
+
id: createWorkflowArtifactId('auditTask'),
|
|
27
|
+
kind: 'auditTask',
|
|
28
|
+
version: 1,
|
|
29
|
+
title: tr('cmd.workflow.planaudit.title', locale, 'Read-only plan audit'),
|
|
30
|
+
sourcePrompt,
|
|
31
|
+
summary: `Audit task for: ${planBody.slice(0, 100)}`,
|
|
32
|
+
locale,
|
|
33
|
+
createdAt: new Date().toISOString(),
|
|
34
|
+
lifetime: 'local-cache',
|
|
35
|
+
durable: false,
|
|
36
|
+
authoritative: false,
|
|
37
|
+
storage: createWorkflowStorage(projectKey),
|
|
38
|
+
sections: [
|
|
39
|
+
{ id: 'project-root', title: 'Project root', body: projectRoot, format: 'plain', required: true },
|
|
40
|
+
{ id: 'plan', title: 'Plan', body: planBody, format: 'plain', required: true },
|
|
41
|
+
{ id: 'checks', title: 'Read-only checks', body: `- ${checks}`, format: 'plain', required: true },
|
|
42
|
+
{ id: 'authority', title: 'Authority boundaries', body: 'Read-only audit only. Do not implement code, write files, or dispatch employees.', format: 'plain', required: true },
|
|
43
|
+
{ id: 'verdict', title: 'Required verdict', body: 'PASS or FAIL with specific findings.', format: 'plain', required: true },
|
|
44
|
+
],
|
|
45
|
+
suggestedNextActions: [
|
|
46
|
+
{ id: 'copy', labelKey: 'cmd.artifact.action.copy', kind: 'copy' },
|
|
47
|
+
{ id: 'reinsert', labelKey: 'cmd.artifact.action.reinsert', kind: 'reinsert' },
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function formatPlanAuditText(artifact, locale = 'ko') {
|
|
52
|
+
const lines = [
|
|
53
|
+
artifact.title,
|
|
54
|
+
'',
|
|
55
|
+
...artifact.sections.flatMap(section => [
|
|
56
|
+
`## ${section.title}`,
|
|
57
|
+
section.body,
|
|
58
|
+
'',
|
|
59
|
+
]),
|
|
60
|
+
tr('cmd.workflow.planaudit.footer', locale, 'Preview only. Dispatch is handled by PABCD A phase.'),
|
|
61
|
+
];
|
|
62
|
+
return lines.join('\n').trim();
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=planaudit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planaudit.js","sourceRoot":"","sources":["../../../src/workflows/planaudit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Shared guard functions used by /goal, /goal run, heartbeat, and /team.
|
|
2
|
+
// Does NOT import provider SDKs.
|
|
3
|
+
import { guardPass, guardBlock } from './guards.js';
|
|
4
|
+
export function guardIdleState(orcState) {
|
|
5
|
+
if (orcState !== 'IDLE') {
|
|
6
|
+
return guardBlock('not-idle', `PABCD state is ${orcState}, expected IDLE`);
|
|
7
|
+
}
|
|
8
|
+
return guardPass('idle', 'PABCD is IDLE');
|
|
9
|
+
}
|
|
10
|
+
export function guardNoActiveWorkers(activeWorkers) {
|
|
11
|
+
if (activeWorkers > 0) {
|
|
12
|
+
return guardBlock('workers-busy', `${activeWorkers} worker(s) still active`);
|
|
13
|
+
}
|
|
14
|
+
return guardPass('no-workers', 'No active workers');
|
|
15
|
+
}
|
|
16
|
+
export function guardNoPendingReplay(hasPending) {
|
|
17
|
+
if (hasPending) {
|
|
18
|
+
return guardBlock('pending-replay', 'Worker results pending replay');
|
|
19
|
+
}
|
|
20
|
+
return guardPass('no-replay', 'No pending replays');
|
|
21
|
+
}
|
|
22
|
+
export function guardHasGoal(goalId) {
|
|
23
|
+
if (!goalId) {
|
|
24
|
+
return guardBlock('no-goal', 'No active goal set');
|
|
25
|
+
}
|
|
26
|
+
return guardPass('has-goal', 'Active goal exists');
|
|
27
|
+
}
|
|
28
|
+
export function guardBudgetRemaining(opts) {
|
|
29
|
+
if (opts.turnsUsed >= opts.maxTurns) {
|
|
30
|
+
return guardBlock('budget-turns', `Turn budget exhausted: ${opts.turnsUsed}/${opts.maxTurns}`);
|
|
31
|
+
}
|
|
32
|
+
if (opts.minutesUsed >= opts.maxMinutes) {
|
|
33
|
+
return guardBlock('budget-minutes', `Time budget exhausted: ${opts.minutesUsed}/${opts.maxMinutes} min`);
|
|
34
|
+
}
|
|
35
|
+
if (opts.dispatchesUsed >= opts.maxDispatches) {
|
|
36
|
+
return guardBlock('budget-dispatches', `Dispatch budget exhausted: ${opts.dispatchesUsed}/${opts.maxDispatches}`);
|
|
37
|
+
}
|
|
38
|
+
return guardPass('budget-ok', 'Budget within limits');
|
|
39
|
+
}
|
|
40
|
+
export function guardNoForce(forceRequested) {
|
|
41
|
+
if (forceRequested) {
|
|
42
|
+
return guardBlock('force-forbidden', 'Goal-run must never use force');
|
|
43
|
+
}
|
|
44
|
+
return guardPass('no-force', 'No force requested');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=runtime-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-guards.js","sourceRoot":"","sources":["../../../src/workflows/runtime-guards.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iCAAiC;AAGjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,UAAU,cAAc,CAAC,QAAsB;IACjD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,UAAU,EAAE,kBAAkB,QAAQ,iBAAiB,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACtD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,cAAc,EAAE,GAAG,aAAa,yBAAyB,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAmB;IACpD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,gBAAgB,EAAE,+BAA+B,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,UAAU,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAOpC;IACG,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,cAAc,EAAE,0BAA0B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,gBAAgB,EAAE,0BAA0B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC,mBAAmB,EAAE,8BAA8B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,cAAuB;IAChD,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Reads CLI_REGISTRY and normalizes runtime capability metadata for workflows.
|
|
2
|
+
// Does NOT import provider SDKs.
|
|
3
|
+
import { CLI_REGISTRY, CLI_KEYS } from '../cli/registry.js';
|
|
4
|
+
export function getAvailableRuntimes() {
|
|
5
|
+
return CLI_KEYS.map(key => {
|
|
6
|
+
const entry = CLI_REGISTRY[key];
|
|
7
|
+
return {
|
|
8
|
+
key,
|
|
9
|
+
label: entry.label,
|
|
10
|
+
binary: entry.binary,
|
|
11
|
+
hasEfforts: Array.isArray(entry.efforts) && entry.efforts.length > 0,
|
|
12
|
+
experimental: 'experimental' in entry && entry.experimental === true,
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export function getRuntimeByKey(key) {
|
|
17
|
+
if (!CLI_KEYS.includes(key))
|
|
18
|
+
return null;
|
|
19
|
+
const runtimes = getAvailableRuntimes();
|
|
20
|
+
return runtimes.find(r => r.key === key) ?? null;
|
|
21
|
+
}
|
|
22
|
+
export function isValidRuntime(key) {
|
|
23
|
+
return CLI_KEYS.includes(key);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/workflows/runtime.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iCAAiC;AAEjC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAU5D,MAAM,UAAU,oBAAoB;IAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAgC,CAAC,CAAC;QAC7D,OAAO;YACH,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACpE,YAAY,EAAE,cAAc,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;SACvE,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAY,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Stable workflow status JSON — SDK-free.
|
|
2
|
+
// Consumed by CLI automation and frontend hydration.
|
|
3
|
+
export function goalToStatus(goal, phase) {
|
|
4
|
+
if (!goal)
|
|
5
|
+
return null;
|
|
6
|
+
return {
|
|
7
|
+
workflow: 'goal',
|
|
8
|
+
id: goal.id,
|
|
9
|
+
state: goal.status,
|
|
10
|
+
phase,
|
|
11
|
+
updatedAt: goal.updatedAt,
|
|
12
|
+
blockers: goal.status === 'blocked'
|
|
13
|
+
? [{ code: 'goal-blocked', message: 'Goal is in blocked state' }]
|
|
14
|
+
: undefined,
|
|
15
|
+
confirmationRequired: false,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function goalRunToStatus(run, phase) {
|
|
19
|
+
if (!run)
|
|
20
|
+
return null;
|
|
21
|
+
const blockers = run.gates
|
|
22
|
+
.filter(g => !g.passed)
|
|
23
|
+
.map(g => ({ code: g.gate, message: g.reason ?? 'Gate failed' }));
|
|
24
|
+
return {
|
|
25
|
+
workflow: 'goal-run',
|
|
26
|
+
id: run.goalId,
|
|
27
|
+
state: run.status,
|
|
28
|
+
phase,
|
|
29
|
+
updatedAt: run.startedAt ?? new Date().toISOString(),
|
|
30
|
+
blockers: blockers.length ? blockers : undefined,
|
|
31
|
+
confirmationRequired: run.status === 'preflight',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function teamToStatus(run) {
|
|
35
|
+
if (!run)
|
|
36
|
+
return null;
|
|
37
|
+
const blockedLanes = run.plan.lanes.filter(l => l.state === 'blocked');
|
|
38
|
+
return {
|
|
39
|
+
workflow: 'team',
|
|
40
|
+
id: run.teamId,
|
|
41
|
+
state: run.state,
|
|
42
|
+
updatedAt: run.startedAt ?? run.plan.createdAt,
|
|
43
|
+
blockers: blockedLanes.length
|
|
44
|
+
? blockedLanes.map(l => ({ code: `lane-blocked-${l.laneId}`, message: `Lane ${l.role} is blocked` }))
|
|
45
|
+
: undefined,
|
|
46
|
+
confirmationRequired: run.state === 'planned',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/workflows/status.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,qDAAqD;AAQrD,MAAM,UAAU,YAAY,CAAC,IAAsB,EAAE,KAAoB;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACH,QAAQ,EAAE,MAAM;QAChB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS;YAC/B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;YACjE,CAAC,CAAC,SAAS;QACf,oBAAoB,EAAE,KAAK;KAC9B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAwB,EAAE,KAAoB;IAC1E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO;QACH,QAAQ,EAAE,UAAU;QACpB,EAAE,EAAE,GAAG,CAAC,MAAM;QACd,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,KAAK;QACL,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChD,oBAAoB,EAAE,GAAG,CAAC,MAAM,KAAK,WAAW;KACnD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACvE,OAAO;QACH,QAAQ,EAAE,MAAM;QAChB,EAAE,EAAE,GAAG,CAAC,MAAM;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS;QAC9C,QAAQ,EAAE,YAAY,CAAC,MAAM;YACzB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;YACrG,CAAC,CAAC,SAAS;QACf,oBAAoB,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS;KAChD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflows/types.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,0EAA0E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Uses capability registry to block unsupported/mutation-unsafe workflow actions.
|
|
2
|
+
// Does NOT import provider SDKs.
|
|
3
|
+
import { guardPass, guardBlock } from './guards.js';
|
|
4
|
+
export function checkVendorSupported(vendor, supportedVendors) {
|
|
5
|
+
if (!supportedVendors.includes(vendor)) {
|
|
6
|
+
return guardBlock('vendor-unsupported', `Vendor "${vendor}" is not in the supported list: ${supportedVendors.join(', ')}`);
|
|
7
|
+
}
|
|
8
|
+
return guardPass('vendor-supported', `Vendor "${vendor}" is supported.`);
|
|
9
|
+
}
|
|
10
|
+
export function checkMutationSafe(capabilityId, mutationAllowed) {
|
|
11
|
+
if (!mutationAllowed) {
|
|
12
|
+
return guardBlock('mutation-blocked', `Capability "${capabilityId}" does not allow mutation.`);
|
|
13
|
+
}
|
|
14
|
+
return guardPass('mutation-allowed', `Capability "${capabilityId}" allows mutation.`);
|
|
15
|
+
}
|
|
16
|
+
export function checkSourceAuditResult(auditPassed, claimCount) {
|
|
17
|
+
if (!auditPassed) {
|
|
18
|
+
return guardBlock('source-audit-failed', `Source audit failed with ${claimCount} unsourced claim(s). Results are advisory only.`);
|
|
19
|
+
}
|
|
20
|
+
return guardPass('source-audit-passed', 'All claims are sourced.');
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=web-ai-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-ai-guards.js","sourceRoot":"","sources":["../../../src/workflows/web-ai-guards.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,iCAAiC;AAGjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,gBAA0B;IAC3E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CACb,oBAAoB,EACpB,WAAW,MAAM,mCAAmC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC,kBAAkB,EAAE,WAAW,MAAM,iBAAiB,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,eAAwB;IAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,OAAO,UAAU,CACb,kBAAkB,EAClB,eAAe,YAAY,4BAA4B,CAC1D,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC,kBAAkB,EAAE,eAAe,YAAY,oBAAoB,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,WAAoB,EACpB,UAAkB;IAElB,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,UAAU,CACb,qBAAqB,EACrB,4BAA4B,UAAU,iDAAiD,CAC1F,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-jaw",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills",
|
|
3
|
+
"version": "2.0.16",
|
|
4
|
+
"description": "Personal AI assistant powered by Antigravity, AI-E, Claude, Claude E, Codex, Codex App, Cursor, Gemini, Grok, OpenCode, and Copilot — Web, Terminal, Telegram, and Discord interfaces with 107 built-in skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ai-assistant",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"antigravity",
|
|
10
10
|
"claude",
|
|
11
11
|
"codex",
|
|
12
|
+
"cursor",
|
|
12
13
|
"gemini",
|
|
13
14
|
"grok",
|
|
14
15
|
"copilot",
|
|
@@ -99,11 +100,12 @@
|
|
|
99
100
|
"gate:browser-primitives-catalog": "node scripts/release-gates.mjs browser-primitives-catalog",
|
|
100
101
|
"gate:action-memory-safe-replay": "node scripts/release-gates.mjs action-memory-safe-replay",
|
|
101
102
|
"gate:model-adapter-frozen": "node scripts/release-gates.mjs model-adapter-frozen",
|
|
103
|
+
"gate:workflow-common-layer-no-sdk": "node scripts/release-gates.mjs workflow-common-layer-no-sdk",
|
|
102
104
|
"gate:all": "node scripts/release-gates.mjs",
|
|
103
|
-
"prepublishOnly": "
|
|
105
|
+
"prepublishOnly": "npm run build && npm run build:frontend",
|
|
104
106
|
"electron:dev": "concurrently -k -n jaw,electron \"node scripts/electron-dev-manager.mjs\" \"npm --prefix electron run dev\"",
|
|
105
107
|
"electron:build": "npm --prefix electron run build",
|
|
106
|
-
"electron:dist:mac": "npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac",
|
|
108
|
+
"electron:dist:mac": "npm run build:frontend && npm --prefix electron run build && CSC_IDENTITY_AUTO_DISCOVERY=false npm --prefix electron run dist:mac",
|
|
107
109
|
"electron:start": "npm --prefix electron run start",
|
|
108
110
|
"check:electron-no-native": "node scripts/check-electron-no-native.cjs"
|
|
109
111
|
},
|
|
@@ -119,8 +121,11 @@
|
|
|
119
121
|
"@lezer/highlight": "^1.2.3",
|
|
120
122
|
"@lucide/icons": "^1.8.0",
|
|
121
123
|
"@milkdown/kit": "^7.20.0",
|
|
124
|
+
"@replit/codemirror-vim": "^6.3.0",
|
|
122
125
|
"@tanstack/virtual-core": "^3.13.23",
|
|
123
126
|
"@uiw/react-codemirror": "^4.25.9",
|
|
127
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
128
|
+
"@xterm/xterm": "^6.0.0",
|
|
124
129
|
"better-sqlite3": "^12.8.0",
|
|
125
130
|
"d3": "^7.9.0",
|
|
126
131
|
"discord.js": "^14.25.1",
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!-- Source: https://cursor.com/en-US/brand (brand-logo-7.svg), cropped to app icon. -->
|
|
2
|
+
<svg width="1em" height="1em" viewBox="600 300 400 400" fill="none" xmlns="http://www.w3.org/2000/svg"><title>Cursor</title><path fill="#14120B" d="M999.994 554.294C999.994 559.859 999.994 565.419 999.962 570.984C999.935 575.67 999.882 580.357 999.753 585.038C999.475 595.247 998.875 605.542 997.059 615.639C995.217 625.88 992.212 635.409 987.477 644.718C982.822 653.861 976.738 662.233 969.485 669.491C962.227 676.748 953.861 682.828 944.712 687.482C935.409 692.217 925.875 695.222 915.633 697.065C905.537 698.88 895.242 699.48 885.033 699.759C880.346 699.887 875.665 699.941 870.978 699.968C865.413 700.005 859.853 700 854.288 700H745.695C740.13 700 734.571 700 729.005 699.968C724.319 699.941 719.632 699.887 714.951 699.759C704.742 699.48 694.447 698.88 684.35 697.065C674.109 695.222 664.58 692.217 655.271 687.482C646.128 682.828 637.756 676.743 630.499 669.491C623.241 662.233 617.161 653.866 612.507 644.718C607.772 635.414 604.767 625.88 602.925 615.639C601.109 605.542 600.509 595.247 600.23 585.038C600.102 580.352 600.048 575.67 600.021 570.984C600 565.419 600 559.859 600 554.294V445.701C600 440.136 600 434.576 600.032 429.011C600.059 424.324 600.112 419.637 600.241 414.956C600.52 404.747 601.119 394.452 602.935 384.356C604.778 374.115 607.783 364.586 612.518 355.277C617.172 346.133 623.257 337.762 630.509 330.504C637.767 323.246 646.133 317.167 655.282 312.512C664.586 307.777 674.12 304.772 684.361 302.93C694.458 301.114 704.752 300.514 714.961 300.236C719.648 300.107 724.329 300.054 729.016 300.027C734.576 300 740.136 300 745.701 300H854.294C859.859 300 865.419 300 870.984 300.032C875.67 300.059 880.357 300.112 885.038 300.241C895.247 300.52 905.542 301.119 915.639 302.935C925.88 304.778 935.409 307.783 944.718 312.518C953.861 317.172 962.233 323.257 969.491 330.509C976.748 337.767 982.828 346.133 987.482 355.282C992.217 364.586 995.222 374.12 997.065 384.361C998.88 394.458 999.48 404.752 999.759 414.961C999.887 419.648 999.941 424.329 999.968 429.016C1000.01 434.581 1000 440.141 1000 445.706V554.299L999.994 554.294Z"/><path fill="#EDECEC" d="M920.015 424.958L805.919 359.086C802.256 356.97 797.735 356.97 794.071 359.086L679.981 424.958C676.901 426.736 675 430.025 675 433.587V566.419C675 569.981 676.901 573.269 679.981 575.048L794.077 640.92C797.74 643.036 802.261 643.036 805.925 640.92L920.02 575.048C923.1 573.269 925.001 569.981 925.001 566.419V433.587C925.001 430.025 923.1 426.736 920.02 424.958H920.015ZM912.848 438.911L802.706 629.682C801.961 630.968 799.995 630.443 799.995 628.954V504.039C799.995 501.543 798.662 499.234 796.498 497.981L688.321 435.526C687.036 434.781 687.561 432.816 689.05 432.816H909.334C912.462 432.816 914.417 436.206 912.853 438.917H912.848V438.911Z"/></svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!-- Source: https://cursor.com/en-US/brand (brand-logo-7.svg), cropped to mono symbol. -->
|
|
2
|
+
<svg width="1em" height="1em" viewBox="675 357 250 286" fill="none" xmlns="http://www.w3.org/2000/svg"><title>Cursor</title><path fill="currentColor" d="M920.015 424.958L805.919 359.086C802.256 356.97 797.735 356.97 794.071 359.086L679.981 424.958C676.901 426.736 675 430.025 675 433.587V566.419C675 569.981 676.901 573.269 679.981 575.048L794.077 640.92C797.74 643.036 802.261 643.036 805.925 640.92L920.02 575.048C923.1 573.269 925.001 569.981 925.001 566.419V433.587C925.001 430.025 923.1 426.736 920.02 424.958H920.015ZM912.848 438.911L802.706 629.682C801.961 630.968 799.995 630.443 799.995 628.954V504.039C799.995 501.543 798.662 499.234 796.498 497.981L688.321 435.526C687.036 434.781 687.561 432.816 689.05 432.816H909.334C912.462 432.816 914.417 436.206 912.853 438.917H912.848V438.911Z"/></svg>
|
package/public/css/chat.css
CHANGED
|
@@ -1182,18 +1182,52 @@ div.math-placeholder {
|
|
|
1182
1182
|
color: var(--accent);
|
|
1183
1183
|
font-weight: 700;
|
|
1184
1184
|
font-family: var(--font-mono);
|
|
1185
|
+
flex-shrink: 0;
|
|
1185
1186
|
}
|
|
1186
1187
|
|
|
1187
1188
|
.cmd-desc {
|
|
1188
1189
|
flex: 1;
|
|
1190
|
+
min-width: 0;
|
|
1189
1191
|
color: var(--text-dim);
|
|
1190
1192
|
font-size: 12px;
|
|
1193
|
+
overflow: hidden;
|
|
1194
|
+
text-overflow: ellipsis;
|
|
1195
|
+
white-space: nowrap;
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
.cmd-meta {
|
|
1199
|
+
display: inline-flex;
|
|
1200
|
+
align-items: center;
|
|
1201
|
+
gap: 4px;
|
|
1202
|
+
min-width: 0;
|
|
1203
|
+
flex-wrap: wrap;
|
|
1204
|
+
flex-shrink: 0;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
.cmd-chip {
|
|
1208
|
+
font-size: 11px;
|
|
1209
|
+
line-height: 1.4;
|
|
1210
|
+
border: 1px solid var(--border);
|
|
1211
|
+
border-radius: 6px;
|
|
1212
|
+
padding: 1px 5px;
|
|
1213
|
+
color: var(--text-dim);
|
|
1214
|
+
white-space: nowrap;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
.cmd-risk-high {
|
|
1218
|
+
color: var(--error, #b42318);
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
.cmd-risk-medium {
|
|
1222
|
+
color: var(--warning, #925400);
|
|
1191
1223
|
}
|
|
1192
1224
|
|
|
1193
1225
|
.cmd-args {
|
|
1194
1226
|
color: var(--text-dim);
|
|
1195
1227
|
font-size: 11px;
|
|
1196
1228
|
opacity: 0.8;
|
|
1229
|
+
white-space: nowrap;
|
|
1230
|
+
flex-shrink: 0;
|
|
1197
1231
|
}
|
|
1198
1232
|
|
|
1199
1233
|
.cmd-empty {
|
|
@@ -1211,6 +1245,71 @@ div.math-placeholder {
|
|
|
1211
1245
|
border-radius: 2px;
|
|
1212
1246
|
}
|
|
1213
1247
|
|
|
1248
|
+
.cmd-recovery {
|
|
1249
|
+
margin-top: 8px;
|
|
1250
|
+
border: 1px solid var(--border);
|
|
1251
|
+
border-radius: 8px;
|
|
1252
|
+
padding: 8px;
|
|
1253
|
+
background: color-mix(in oklch, var(--surface) 80%, var(--bg));
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
.cmd-recovery-label {
|
|
1257
|
+
font-size: 11px;
|
|
1258
|
+
font-weight: 700;
|
|
1259
|
+
color: var(--text-dim);
|
|
1260
|
+
margin-bottom: 4px;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
.cmd-recovery-text {
|
|
1264
|
+
margin: 0;
|
|
1265
|
+
max-height: 160px;
|
|
1266
|
+
overflow: auto;
|
|
1267
|
+
white-space: pre-wrap;
|
|
1268
|
+
overflow-wrap: anywhere;
|
|
1269
|
+
color: var(--text);
|
|
1270
|
+
font-family: var(--font-mono);
|
|
1271
|
+
font-size: 12px;
|
|
1272
|
+
line-height: 1.45;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
.cmd-recovery-suggestions {
|
|
1276
|
+
display: flex;
|
|
1277
|
+
flex-wrap: wrap;
|
|
1278
|
+
gap: 4px;
|
|
1279
|
+
margin-top: 6px;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
.cmd-recovery-suggestions code {
|
|
1283
|
+
border: 1px solid var(--border);
|
|
1284
|
+
border-radius: 6px;
|
|
1285
|
+
padding: 1px 5px;
|
|
1286
|
+
color: var(--text-dim);
|
|
1287
|
+
font-size: 11px;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
.cmd-recovery-actions {
|
|
1291
|
+
display: flex;
|
|
1292
|
+
flex-wrap: wrap;
|
|
1293
|
+
gap: 6px;
|
|
1294
|
+
margin-top: 8px;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
.cmd-recovery-btn {
|
|
1298
|
+
min-height: 28px;
|
|
1299
|
+
border: 1px solid var(--border);
|
|
1300
|
+
border-radius: 6px;
|
|
1301
|
+
background: var(--surface);
|
|
1302
|
+
color: var(--text);
|
|
1303
|
+
padding: 3px 8px;
|
|
1304
|
+
font-size: 12px;
|
|
1305
|
+
cursor: pointer;
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
.cmd-recovery-btn:hover,
|
|
1309
|
+
.cmd-recovery-btn:focus-visible {
|
|
1310
|
+
border-color: var(--accent);
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1214
1313
|
/* ── Loading / Typing ── */
|
|
1215
1314
|
.typing-indicator {
|
|
1216
1315
|
display: none;
|
package/public/css/orc-state.css
CHANGED
|
@@ -104,6 +104,7 @@ body[data-orc-state].orc-pulse #chatMessages {
|
|
|
104
104
|
border: 1px solid color-mix(in oklch, var(--text) 10%, transparent);
|
|
105
105
|
opacity: 0.65;
|
|
106
106
|
}
|
|
107
|
+
.pabc-dot[data-phase="I"].active, .pabc-dot[data-phase="I"].done { background: var(--orc-glow-I); }
|
|
107
108
|
.pabc-dot[data-phase="P"].active, .pabc-dot[data-phase="P"].done { background: var(--orc-glow-P); }
|
|
108
109
|
.pabc-dot[data-phase="A"].active, .pabc-dot[data-phase="A"].done { background: var(--orc-glow-A); }
|
|
109
110
|
.pabc-dot[data-phase="B"].active, .pabc-dot[data-phase="B"].done { background: var(--orc-glow-B); }
|
|
@@ -134,7 +135,7 @@ body[data-orc-state].orc-pulse #chatMessages {
|
|
|
134
135
|
font-size: 13px;
|
|
135
136
|
font-weight: 700;
|
|
136
137
|
letter-spacing: 4px;
|
|
137
|
-
background: linear-gradient(90deg, var(--orc-glow-P), var(--orc-glow-A), var(--orc-glow-B), var(--orc-glow-C));
|
|
138
|
+
background: linear-gradient(90deg, var(--orc-glow-I), var(--orc-glow-P), var(--orc-glow-A), var(--orc-glow-B), var(--orc-glow-C));
|
|
138
139
|
-webkit-background-clip: text;
|
|
139
140
|
-webkit-text-fill-color: transparent;
|
|
140
141
|
background-clip: text;
|
|
@@ -237,3 +238,12 @@ body[data-orc-state].orc-pulse #chatMessages {
|
|
|
237
238
|
[data-theme="light"] .shark-runner {
|
|
238
239
|
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15));
|
|
239
240
|
}
|
|
241
|
+
|
|
242
|
+
/* ─── Interview Panel ─── */
|
|
243
|
+
.interview-panel { margin: 0 auto 8px; max-width: 600px; display: flex; gap: 16px; font-size: 0.82rem; }
|
|
244
|
+
.interview-panel[hidden] { display: none; }
|
|
245
|
+
.iv-section { flex: 1; }
|
|
246
|
+
.iv-section ul { list-style: none; padding: 0; margin: 4px 0; }
|
|
247
|
+
.iv-known::before { content: '✓ '; color: var(--accent-green, #4caf50); }
|
|
248
|
+
.iv-unknown::before { content: '? '; color: var(--accent-yellow, #ff9800); }
|
|
249
|
+
.iv-round { font-size: 0.75rem; opacity: 0.6; align-self: flex-end; }
|