cli-jaw 2.0.1 → 2.0.2
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.ko.md +3 -2
- package/README.md +41 -12
- package/dist/bin/_http-client.js +34 -0
- package/dist/bin/_http-client.js.map +1 -0
- package/dist/bin/cli-jaw.js +10 -5
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/browser-web-ai.js +155 -38
- package/dist/bin/commands/browser-web-ai.js.map +1 -1
- package/dist/bin/commands/browser.js +265 -37
- package/dist/bin/commands/browser.js.map +1 -1
- package/dist/bin/commands/chat.js +18 -14
- package/dist/bin/commands/chat.js.map +1 -1
- package/dist/bin/commands/clone.js +3 -2
- package/dist/bin/commands/clone.js.map +1 -1
- package/dist/bin/commands/dashboard.js +22 -18
- package/dist/bin/commands/dashboard.js.map +1 -1
- package/dist/bin/commands/dispatch.js +9 -11
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/doctor.js +26 -14
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/employee.js +12 -7
- package/dist/bin/commands/employee.js.map +1 -1
- package/dist/bin/commands/init.js +9 -9
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/launchd.js +17 -7
- package/dist/bin/commands/launchd.js.map +1 -1
- package/dist/bin/commands/mcp.js +7 -4
- package/dist/bin/commands/mcp.js.map +1 -1
- package/dist/bin/commands/memory.js +7 -5
- package/dist/bin/commands/memory.js.map +1 -1
- package/dist/bin/commands/orchestrate.js +6 -3
- package/dist/bin/commands/orchestrate.js.map +1 -1
- package/dist/bin/commands/reset.js +4 -3
- package/dist/bin/commands/reset.js.map +1 -1
- package/dist/bin/commands/serve.js +3 -2
- package/dist/bin/commands/serve.js.map +1 -1
- package/dist/bin/commands/service.js +2 -2
- package/dist/bin/commands/service.js.map +1 -1
- package/dist/bin/commands/status.js +10 -9
- package/dist/bin/commands/status.js.map +1 -1
- package/dist/bin/commands/tui/api.js +26 -18
- package/dist/bin/commands/tui/api.js.map +1 -1
- package/dist/bin/commands/tui/overlays.js +3 -1
- package/dist/bin/commands/tui/overlays.js.map +1 -1
- package/dist/bin/commands/tui/simple-mode.js +1 -1
- package/dist/bin/commands/tui/simple-mode.js.map +1 -1
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/bin/postinstall.js +153 -65
- package/dist/bin/postinstall.js.map +1 -1
- package/dist/bin/star-prompt.js +4 -3
- package/dist/bin/star-prompt.js.map +1 -1
- package/dist/lib/mcp/format-converters.js +15 -10
- package/dist/lib/mcp/format-converters.js.map +1 -1
- package/dist/lib/mcp/mcp-install.js +2 -2
- package/dist/lib/mcp/mcp-install.js.map +1 -1
- package/dist/lib/mcp/skills-distribution.js +2 -2
- package/dist/lib/mcp/skills-distribution.js.map +1 -1
- package/dist/lib/mcp/skills-reset.js +5 -4
- package/dist/lib/mcp/skills-reset.js.map +1 -1
- package/dist/lib/mcp/skills-symlinks.js +9 -9
- package/dist/lib/mcp/skills-symlinks.js.map +1 -1
- package/dist/lib/mcp/skills-utils.js +5 -4
- package/dist/lib/mcp/skills-utils.js.map +1 -1
- package/dist/lib/mcp/unified-config.js +3 -2
- package/dist/lib/mcp/unified-config.js.map +1 -1
- package/dist/lib/mime-detect.js +65 -0
- package/dist/lib/mime-detect.js.map +1 -0
- package/dist/lib/quota-copilot.js +12 -10
- package/dist/lib/quota-copilot.js.map +1 -1
- package/dist/lib/stt.js +3 -3
- package/dist/lib/stt.js.map +1 -1
- package/dist/lib/upload.js +14 -5
- package/dist/lib/upload.js.map +1 -1
- package/dist/scripts/i18n-registry.js +4 -4
- package/dist/scripts/i18n-registry.js.map +1 -1
- package/dist/server.js +61 -57
- package/dist/server.js.map +1 -1
- package/dist/src/agent/alert-escalation.js +61 -0
- package/dist/src/agent/alert-escalation.js.map +1 -0
- package/dist/src/agent/args.js +71 -2
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/error-classifier.js +9 -4
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/events.js +130 -101
- package/dist/src/agent/events.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +44 -19
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/live-run-state.js +7 -3
- package/dist/src/agent/live-run-state.js.map +1 -1
- package/dist/src/agent/memory-flush-controller.js +6 -4
- package/dist/src/agent/memory-flush-controller.js.map +1 -1
- package/dist/src/agent/opencode-diagnostics.js +7 -6
- package/dist/src/agent/opencode-diagnostics.js.map +1 -1
- package/dist/src/agent/session-persistence.js +1 -1
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn-env.js +33 -16
- package/dist/src/agent/spawn-env.js.map +1 -1
- package/dist/src/agent/spawn.js +176 -110
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/agent/watchdog.js +56 -0
- package/dist/src/agent/watchdog.js.map +1 -0
- package/dist/src/browser/actions.js +179 -70
- package/dist/src/browser/actions.js.map +1 -1
- package/dist/src/browser/connection.js +296 -19
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/index.js +4 -1
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/launch-policy.js +1 -1
- package/dist/src/browser/launch-policy.js.map +1 -1
- package/dist/src/browser/primitives.js +11 -7
- package/dist/src/browser/primitives.js.map +1 -1
- package/dist/src/browser/runtime-diagnostics.js +45 -0
- package/dist/src/browser/runtime-diagnostics.js.map +1 -0
- package/dist/src/browser/runtime-orphans.js +127 -0
- package/dist/src/browser/runtime-orphans.js.map +1 -0
- package/dist/src/browser/runtime-owner-store.js +51 -0
- package/dist/src/browser/runtime-owner-store.js.map +1 -0
- package/dist/src/browser/runtime-owner.js +2 -2
- package/dist/src/browser/runtime-owner.js.map +1 -1
- package/dist/src/browser/tab-lifecycle.js +157 -0
- package/dist/src/browser/tab-lifecycle.js.map +1 -0
- package/dist/src/browser/vision.js +35 -11
- package/dist/src/browser/vision.js.map +1 -1
- package/dist/src/browser/web-ai/action-breadth.js +56 -0
- package/dist/src/browser/web-ai/action-breadth.js.map +1 -0
- package/dist/src/browser/web-ai/action-cache.js +9 -8
- package/dist/src/browser/web-ai/action-cache.js.map +1 -1
- package/dist/src/browser/web-ai/action-intent.js +64 -0
- package/dist/src/browser/web-ai/action-intent.js.map +1 -0
- package/dist/src/browser/web-ai/action-memory.js +82 -0
- package/dist/src/browser/web-ai/action-memory.js.map +1 -0
- package/dist/src/browser/web-ai/action-trace.js +11 -6
- package/dist/src/browser/web-ai/action-trace.js.map +1 -1
- package/dist/src/browser/web-ai/annotated-screenshot.js +2 -1
- package/dist/src/browser/web-ai/annotated-screenshot.js.map +1 -1
- package/dist/src/browser/web-ai/answer-artifact.js +97 -0
- package/dist/src/browser/web-ai/answer-artifact.js.map +1 -0
- package/dist/src/browser/web-ai/ax-snapshot.js +3 -2
- package/dist/src/browser/web-ai/ax-snapshot.js.map +1 -1
- package/dist/src/browser/web-ai/browser-primitives.js +10 -7
- package/dist/src/browser/web-ai/browser-primitives.js.map +1 -1
- package/dist/src/browser/web-ai/capability-registry.js +1 -1
- package/dist/src/browser/web-ai/capability-registry.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-composer.js +12 -12
- package/dist/src/browser/web-ai/chatgpt-composer.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-model.js +469 -50
- package/dist/src/browser/web-ai/chatgpt-model.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-response.js +82 -10
- package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt.js +325 -49
- package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
- package/dist/src/browser/web-ai/churn-log.js +1 -1
- package/dist/src/browser/web-ai/churn-log.js.map +1 -1
- package/dist/src/browser/web-ai/cli-sessions.js +42 -26
- package/dist/src/browser/web-ai/cli-sessions.js.map +1 -1
- package/dist/src/browser/web-ai/context-pack/builder.js +1 -1
- package/dist/src/browser/web-ai/context-pack/builder.js.map +1 -1
- package/dist/src/browser/web-ai/context-pack/file-selector.js +2 -2
- package/dist/src/browser/web-ai/context-pack/file-selector.js.map +1 -1
- package/dist/src/browser/web-ai/context-pack/report.js +1 -1
- package/dist/src/browser/web-ai/context-pack/report.js.map +1 -1
- package/dist/src/browser/web-ai/copy-markdown.js +25 -5
- package/dist/src/browser/web-ai/copy-markdown.js.map +1 -1
- package/dist/src/browser/web-ai/diagnostics.js +17 -14
- package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/doctor.js +10 -6
- package/dist/src/browser/web-ai/doctor.js.map +1 -1
- package/dist/src/browser/web-ai/dom-hash.js.map +1 -1
- package/dist/src/browser/web-ai/errors.js +5 -22
- package/dist/src/browser/web-ai/errors.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-live.js +7 -6
- package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
- package/dist/src/browser/web-ai/grok-live.js +9 -5
- package/dist/src/browser/web-ai/grok-live.js.map +1 -1
- package/dist/src/browser/web-ai/index.js +5 -0
- package/dist/src/browser/web-ai/index.js.map +1 -1
- package/dist/src/browser/web-ai/observation-bundle.js +90 -0
- package/dist/src/browser/web-ai/observation-bundle.js.map +1 -0
- package/dist/src/browser/web-ai/observe-actions.js +186 -0
- package/dist/src/browser/web-ai/observe-actions.js.map +1 -0
- package/dist/src/browser/web-ai/observe-targets.js +6 -1
- package/dist/src/browser/web-ai/observe-targets.js.map +1 -1
- package/dist/src/browser/web-ai/planner-contract.js +18 -0
- package/dist/src/browser/web-ai/planner-contract.js.map +1 -0
- package/dist/src/browser/web-ai/post-action-assert.js +8 -7
- package/dist/src/browser/web-ai/post-action-assert.js.map +1 -1
- package/dist/src/browser/web-ai/product-surfaces.js +2 -1
- package/dist/src/browser/web-ai/product-surfaces.js.map +1 -1
- package/dist/src/browser/web-ai/provider-adapter.js.map +1 -1
- package/dist/src/browser/web-ai/question.js +14 -7
- package/dist/src/browser/web-ai/question.js.map +1 -1
- package/dist/src/browser/web-ai/ref-registry.js.map +1 -1
- package/dist/src/browser/web-ai/self-heal.js +20 -14
- package/dist/src/browser/web-ai/self-heal.js.map +1 -1
- package/dist/src/browser/web-ai/session-store.js +61 -1
- package/dist/src/browser/web-ai/session-store.js.map +1 -1
- package/dist/src/browser/web-ai/session.js +43 -2
- package/dist/src/browser/web-ai/session.js.map +1 -1
- package/dist/src/browser/web-ai/source-audit.js +116 -0
- package/dist/src/browser/web-ai/source-audit.js.map +1 -0
- package/dist/src/browser/web-ai/tab-finalizer.js +18 -0
- package/dist/src/browser/web-ai/tab-finalizer.js.map +1 -0
- package/dist/src/browser/web-ai/tab-lease-store.js +390 -0
- package/dist/src/browser/web-ai/tab-lease-store.js.map +1 -0
- package/dist/src/browser/web-ai/tab-pool.js +44 -0
- package/dist/src/browser/web-ai/tab-pool.js.map +1 -0
- package/dist/src/browser/web-ai/target-resolver.js +31 -0
- package/dist/src/browser/web-ai/target-resolver.js.map +1 -0
- package/dist/src/browser/web-ai/trace-persistence.js +4 -2
- package/dist/src/browser/web-ai/trace-persistence.js.map +1 -1
- package/dist/src/browser/web-ai/vendor-editor-contract.js.map +1 -1
- package/dist/src/browser/web-ai/watcher.js +8 -7
- package/dist/src/browser/web-ai/watcher.js.map +1 -1
- package/dist/src/cli/acp-client.js +40 -26
- package/dist/src/cli/acp-client.js.map +1 -1
- package/dist/src/cli/command-context.js +3 -3
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/commands.js +25 -16
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/handlers-completions.js +6 -4
- package/dist/src/cli/handlers-completions.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +45 -38
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers.js +44 -36
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/readiness.js +3 -1
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry.js +1 -1
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/tui/overlay.js +4 -1
- package/dist/src/cli/tui/overlay.js.map +1 -1
- package/dist/src/cli/types.js +4 -0
- package/dist/src/cli/types.js.map +1 -0
- package/dist/src/command-contract/catalog.js +1 -1
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/command-contract/help-renderer.js +1 -1
- package/dist/src/command-contract/help-renderer.js.map +1 -1
- package/dist/src/core/browser-open-default.js +13 -0
- package/dist/src/core/browser-open-default.js.map +1 -0
- package/dist/src/core/browser-open.js +41 -0
- package/dist/src/core/browser-open.js.map +1 -0
- package/dist/src/core/bus.js +13 -2
- package/dist/src/core/bus.js.map +1 -1
- package/dist/src/core/compact.js +5 -4
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +51 -52
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +48 -6
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/employees.js +9 -8
- package/dist/src/core/employees.js.map +1 -1
- package/dist/src/core/instance.js +7 -6
- package/dist/src/core/instance.js.map +1 -1
- package/dist/src/core/logger.js +1 -1
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/main-session.js +7 -7
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/core/path-expand.js +10 -0
- package/dist/src/core/path-expand.js.map +1 -0
- package/dist/src/core/runtime-path.js +1 -1
- package/dist/src/core/runtime-path.js.map +1 -1
- package/dist/src/core/runtime-settings.js +13 -13
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/settings-merge.js +14 -14
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/core/strip-undefined.js +13 -0
- package/dist/src/core/strip-undefined.js.map +1 -0
- package/dist/src/core/tcc.js +1 -1
- package/dist/src/core/tcc.js.map +1 -1
- package/dist/src/discord/bot.js +19 -18
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/channel-types.js +14 -0
- package/dist/src/discord/channel-types.js.map +1 -0
- package/dist/src/discord/commands.js +7 -6
- package/dist/src/discord/commands.js.map +1 -1
- package/dist/src/discord/discord-file.js.map +1 -1
- package/dist/src/discord/forwarder.js +3 -3
- package/dist/src/discord/forwarder.js.map +1 -1
- package/dist/src/http/error-middleware.js +3 -3
- package/dist/src/http/error-middleware.js.map +1 -1
- package/dist/src/http/response.js +2 -2
- package/dist/src/http/response.js.map +1 -1
- package/dist/src/ide/diff.js +7 -7
- package/dist/src/ide/diff.js.map +1 -1
- package/dist/src/manager/board/routes.js +28 -27
- package/dist/src/manager/board/routes.js.map +1 -1
- package/dist/src/manager/dashboard-home.js +3 -5
- package/dist/src/manager/dashboard-home.js.map +1 -1
- package/dist/src/manager/dashboard-service.js +2 -2
- package/dist/src/manager/dashboard-service.js.map +1 -1
- package/dist/src/manager/health-history.js +10 -9
- package/dist/src/manager/health-history.js.map +1 -1
- package/dist/src/manager/launchd-service.js +2 -2
- package/dist/src/manager/launchd-service.js.map +1 -1
- package/dist/src/manager/lifecycle-helpers.js +7 -6
- package/dist/src/manager/lifecycle-helpers.js.map +1 -1
- package/dist/src/manager/lifecycle.js +7 -6
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/logs.js +18 -18
- package/dist/src/manager/logs.js.map +1 -1
- package/dist/src/manager/metadata.js +10 -2
- package/dist/src/manager/metadata.js.map +1 -1
- package/dist/src/manager/notes/assets.js +216 -0
- package/dist/src/manager/notes/assets.js.map +1 -0
- package/dist/src/manager/notes/capabilities.js +56 -0
- package/dist/src/manager/notes/capabilities.js.map +1 -0
- package/dist/src/manager/notes/constants.js +11 -0
- package/dist/src/manager/notes/constants.js.map +1 -0
- package/dist/src/manager/notes/frontmatter.js +120 -0
- package/dist/src/manager/notes/frontmatter.js.map +1 -0
- package/dist/src/manager/notes/link-resolver.js +96 -0
- package/dist/src/manager/notes/link-resolver.js.map +1 -0
- package/dist/src/manager/notes/path-guards.js +4 -0
- package/dist/src/manager/notes/path-guards.js.map +1 -1
- package/dist/src/manager/notes/remote-assets.js +128 -0
- package/dist/src/manager/notes/remote-assets.js.map +1 -0
- package/dist/src/manager/notes/routes.js +63 -13
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/store.js +3 -2
- package/dist/src/manager/notes/store.js.map +1 -1
- package/dist/src/manager/notes/system-trash.js +3 -3
- package/dist/src/manager/notes/system-trash.js.map +1 -1
- package/dist/src/manager/notes/vault-index.js +220 -0
- package/dist/src/manager/notes/vault-index.js.map +1 -0
- package/dist/src/manager/notes/watcher.js +27 -0
- package/dist/src/manager/notes/watcher.js.map +1 -0
- package/dist/src/manager/notes/wiki-links.js +109 -0
- package/dist/src/manager/notes/wiki-links.js.map +1 -0
- package/dist/src/manager/process-verify.js +29 -0
- package/dist/src/manager/process-verify.js.map +1 -1
- package/dist/src/manager/profiles.js +3 -2
- package/dist/src/manager/profiles.js.map +1 -1
- package/dist/src/manager/registry.js +60 -58
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/routes/electron-metrics.js +22 -22
- package/dist/src/manager/routes/electron-metrics.js.map +1 -1
- package/dist/src/manager/scan.js +2 -2
- package/dist/src/manager/scan.js.map +1 -1
- package/dist/src/manager/schedule/routes.js +24 -23
- package/dist/src/manager/schedule/routes.js.map +1 -1
- package/dist/src/manager/server.js +28 -28
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/systemd-service.js +1 -1
- package/dist/src/manager/systemd-service.js.map +1 -1
- package/dist/src/memory/bootstrap.js +5 -4
- package/dist/src/memory/bootstrap.js.map +1 -1
- package/dist/src/memory/heartbeat-schedule.js +10 -10
- package/dist/src/memory/heartbeat-schedule.js.map +1 -1
- package/dist/src/memory/heartbeat.js +23 -22
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/memory/keyword-expand.js +1 -1
- package/dist/src/memory/keyword-expand.js.map +1 -1
- package/dist/src/memory/memory.js +2 -2
- package/dist/src/memory/memory.js.map +1 -1
- package/dist/src/memory/runtime.js +6 -5
- package/dist/src/memory/runtime.js.map +1 -1
- package/dist/src/memory/shared.js +2 -1
- package/dist/src/memory/shared.js.map +1 -1
- package/dist/src/memory/worklog.js +1 -1
- package/dist/src/memory/worklog.js.map +1 -1
- package/dist/src/messaging/runtime.js +13 -10
- package/dist/src/messaging/runtime.js.map +1 -1
- package/dist/src/messaging/send.js +16 -15
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/collect.js +6 -6
- package/dist/src/orchestrator/collect.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +112 -77
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +6 -5
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +42 -42
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +3 -3
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js +4 -3
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +24 -19
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +15 -10
- package/dist/src/prompt/templates/control-system.md +9 -7
- package/dist/src/prompt/templates/employee.md +5 -4
- package/dist/src/prompt/templates/vision-click.md +1 -1
- package/dist/src/routes/_http-error.js +15 -0
- package/dist/src/routes/_http-error.js.map +1 -0
- package/dist/src/routes/avatar.js +6 -5
- package/dist/src/routes/avatar.js.map +1 -1
- package/dist/src/routes/browser.js +132 -45
- package/dist/src/routes/browser.js.map +1 -1
- package/dist/src/routes/employees.js +28 -21
- package/dist/src/routes/employees.js.map +1 -1
- package/dist/src/routes/heartbeat.js +12 -9
- package/dist/src/routes/heartbeat.js.map +1 -1
- package/dist/src/routes/i18n.js +13 -7
- package/dist/src/routes/i18n.js.map +1 -1
- package/dist/src/routes/jaw-memory.js +15 -11
- package/dist/src/routes/jaw-memory.js.map +1 -1
- package/dist/src/routes/memory.js +25 -20
- package/dist/src/routes/memory.js.map +1 -1
- package/dist/src/routes/messaging.js +50 -29
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +38 -24
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/quota.js +81 -17
- package/dist/src/routes/quota.js.map +1 -1
- package/dist/src/routes/settings.js +28 -18
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/skills.js +22 -13
- package/dist/src/routes/skills.js.map +1 -1
- package/dist/src/routes/traces.js +77 -0
- package/dist/src/routes/traces.js.map +1 -0
- package/dist/src/security/path-guards.js +2 -1
- package/dist/src/security/path-guards.js.map +1 -1
- package/dist/src/shared/tool-log-sanitize.js +191 -0
- package/dist/src/shared/tool-log-sanitize.js.map +1 -0
- package/dist/src/telegram/bot.js +65 -55
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/forwarder.js +5 -9
- package/dist/src/telegram/forwarder.js.map +1 -1
- package/dist/src/telegram/telegram-file.js +28 -24
- 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/dist/src/trace/redact.js +50 -0
- package/dist/src/trace/redact.js.map +1 -0
- package/dist/src/trace/store.js +162 -0
- package/dist/src/trace/store.js.map +1 -0
- package/dist/src/trace/types.js +2 -0
- package/dist/src/trace/types.js.map +1 -0
- package/dist/src/types/cli-engine.js +34 -0
- package/dist/src/types/cli-engine.js.map +1 -0
- package/dist/src/types/cli-events.js +31 -0
- package/dist/src/types/cli-events.js.map +1 -0
- package/package.json +22 -2
- package/public/css/tool-ui.css +3 -1
- package/public/css/trace-drawer.css +48 -0
- package/public/dist/assets/{AdvancedExport-3WAYIabE.js → AdvancedExport-DJZ2VmBR.js} +1 -1
- package/public/dist/assets/Agent-CgpLT8IY.js +1 -0
- package/public/dist/assets/Browser-CrkiQoB8.js +1 -0
- package/public/dist/assets/{ChannelsDiscord-UzFPlWT4.js → ChannelsDiscord-CVUC22D4.js} +1 -1
- package/public/dist/assets/{ChannelsTelegram-DNWtPX0w.js → ChannelsTelegram-DEatIQNM.js} +1 -1
- package/public/dist/assets/{DashboardMeta-Y_6nVeJO.js → DashboardMeta-BKoxRc7i.js} +1 -1
- package/public/dist/assets/{Display-D8vGOl4s.js → Display-DnNGV9Km.js} +1 -1
- package/public/dist/assets/{Employees-YR_sIRK4.js → Employees-DZ2iJYKy.js} +1 -1
- package/public/dist/assets/{HealthBadge-CPePajyU.js → HealthBadge-Cq2c7G9s.js} +1 -1
- package/public/dist/assets/{Heartbeat-DTpAULQR.js → Heartbeat-BML6eTXZ.js} +1 -1
- package/public/dist/assets/{Mcp-DM-PgG6z.js → Mcp-BlEviQ3h.js} +1 -1
- package/public/dist/assets/{Memory-C_LvJnkn.js → Memory-BRyH80He.js} +1 -1
- package/public/dist/assets/MilkdownWysiwygEditor-Cm3uXfWf.js +52 -0
- package/public/dist/assets/ModelProvider-DxyR7EL9.js +1 -0
- package/public/dist/assets/Network-DDOOESh1.js +1 -0
- package/public/dist/assets/{Permissions-B1naJjjw.js → Permissions-Br0eSbKb.js} +1 -1
- package/public/dist/assets/{Permissions-BKffrMJD.js → Permissions-QHkzStqQ.js} +1 -1
- package/public/dist/assets/{Profile-DIqjSe2C.js → Profile-C79NKumk.js} +1 -1
- package/public/dist/assets/{Prompts-BMfbV6Y4.js → Prompts-BmiIDiXW.js} +1 -1
- package/public/dist/assets/{SpeechKeys-DjiQTzSL.js → SpeechKeys-B8304XJK.js} +1 -1
- package/public/dist/assets/app-Be58Cs3Y.js +32 -0
- package/public/dist/assets/{app-BzvwJJiv.css → app-CphocJzo.css} +1 -1
- package/public/dist/assets/{dist-DTvxN3ux.js → dist-BD0UXfgF2.js} +1 -1
- package/public/dist/assets/{dist-CASeq-Tl.js → dist-BNfXO3Yr.js} +1 -1
- package/public/dist/assets/{dist-BMPiaUzF.js → dist-BUnPYbK3.js} +1 -1
- package/public/dist/assets/{dist-CT_X3hVT.js → dist-BZosRD2u.js} +1 -1
- package/public/dist/assets/{dist-4J6YbNXv.js → dist-Bd9PlnQm.js} +1 -1
- package/public/dist/assets/{dist-BcZjyn5g.js → dist-BsT5UdNP.js} +1 -1
- package/public/dist/assets/{dist-BfBhOPR-.js → dist-CIuXW-sc.js} +1 -1
- package/public/dist/assets/{dist-BMiCig3A2.js → dist-CL4PTYWf.js} +1 -1
- package/public/dist/assets/{dist-VyP6-HLb.js → dist-Ch5VAlV9.js} +1 -1
- package/public/dist/assets/dist-ClqO40BE.js +1 -0
- package/public/dist/assets/{dist-c98Tp7bP.js → dist-Cp42cMcI.js} +1 -1
- package/public/dist/assets/{dist-CIlYL1qe.js → dist-CpUK8ypo.js} +1 -1
- package/public/dist/assets/dist-CxeLAw2Y.js +1 -0
- package/public/dist/assets/dist-D2SH8nxa.js +1 -0
- package/public/dist/assets/{dist-84fwQ7bO.js → dist-D6cUXP7K.js} +1 -1
- package/public/dist/assets/{dist-BOCcQAyF.js → dist-D7bCuS3f.js} +1 -1
- package/public/dist/assets/{dist-DMmpfLVP.js → dist-DFYRUAjN.js} +1 -1
- package/public/dist/assets/{dist-DdY6pTJr.js → dist-DZsFVYF4.js} +1 -1
- package/public/dist/assets/{dist-B0p3Eyme.js → dist-Db16ogVk.js} +1 -1
- package/public/dist/assets/{dist-DlnNtr6L.js → dist-DfodGES_.js} +1 -1
- package/public/dist/assets/{dist-DO9so2a2.js → dist-SU-YTAIg.js} +1 -1
- package/public/dist/assets/{dist-DUjXiMLP.js → dist-UYn7T-GH.js} +1 -1
- package/public/dist/assets/{dist-BW1409rz.js → dist-W51oDoeA.js} +1 -1
- package/public/dist/assets/{dist-BimBQZx1.js → dist-eU7TyC86.js} +1 -1
- package/public/dist/assets/dist-l9HH00ip.js +1 -0
- package/public/dist/assets/{dist-BrOPNxdH.js → dist-urPTQzXL.js} +1 -1
- package/public/dist/assets/{dist-AloEV3J52.js → dist-yHP6L0Ty.js} +1 -1
- package/public/dist/assets/{employees-Bbabvbyx.js → employees-CxdghzoD.js} +7 -7
- package/public/dist/assets/{error-normalize-DdvKGLt_.js → error-normalize-5n-zlEQ3.js} +1 -1
- package/public/dist/assets/insert-image-markdown-DIEa-zjk.js +22 -0
- package/public/dist/assets/{manager-DyB2ZUr9.css → manager-DEiyrWDP.css} +1 -1
- package/public/dist/assets/manager-UEXd1_9T.js +25 -0
- package/public/dist/assets/{memory-B_plvcuQ.js → memory-CsMNkYtv.js} +9 -9
- package/public/dist/assets/memory-DXad_DPO.js +1 -0
- package/public/dist/assets/{page-shell-DML_HneX.js → page-shell-D5tbivHH.js} +1 -1
- package/public/dist/assets/{render-DEhbfUAW.js → render-DGQX46ei.js} +2 -2
- package/public/dist/assets/{settings-D7F-_kYG.js → settings-BH213Yv3.js} +14 -14
- package/public/dist/assets/settings-DXT87G2U.js +1 -0
- package/public/dist/assets/settings-client-ajlwI-oK.js +1 -0
- package/public/dist/assets/skills-5o_1v0nz.js +1 -0
- package/public/dist/assets/{skills-DoGJOc0D.js → skills-CQtCtHPA.js} +6 -6
- package/public/dist/assets/slash-commands-D4-hrrmh.js +1 -0
- package/public/dist/assets/{slash-commands-khNFPOyF.js → slash-commands-Dzk1xHWS.js} +1 -1
- package/public/dist/assets/trace-drawer-SRKcfm2S.js +15 -0
- package/public/dist/assets/ui-CdRKN2S6.js +141 -0
- package/public/dist/assets/ui-n43jmg_f.js +1 -0
- package/public/dist/assets/{ws-B2aJ-nD2.js → ws-CTHQFzM1.js} +8 -8
- package/public/dist/index.html +2 -2
- package/public/dist/manager/index.html +2 -2
- package/public/index.html +1 -0
- package/public/js/constants.ts +5 -5
- package/public/js/diagram/iframe-renderer.ts +11 -11
- package/public/js/features/chat.ts +1 -1
- package/public/js/features/memory.ts +10 -10
- package/public/js/features/pending-queue.ts +2 -2
- package/public/js/features/process-block.ts +257 -29
- package/public/js/features/process-step-match.ts +18 -0
- package/public/js/features/settings-cli-status.ts +1 -1
- package/public/js/features/settings-stt.ts +37 -11
- package/public/js/features/settings-templates.ts +2 -2
- package/public/js/features/slash-commands.ts +1 -1
- package/public/js/features/tool-ui.ts +13 -7
- package/public/js/features/trace-drawer.ts +122 -0
- package/public/js/icons.ts +1 -1
- package/public/js/main.ts +28 -28
- package/public/js/provider-icons.ts +1 -1
- package/public/js/render.ts +29 -27
- package/public/js/sanitizer.ts +4 -0
- package/public/js/ui.ts +234 -68
- package/public/js/virtual-scroll.ts +19 -33
- package/public/js/ws.ts +22 -10
- package/public/manager/src/App.tsx +34 -6
- package/public/manager/src/api.ts +55 -1
- package/public/manager/src/components/ActivityTimeline.tsx +1 -1
- package/public/manager/src/components/InstanceDetailPanel.tsx +2 -2
- package/public/manager/src/components/InstanceGroups.tsx +5 -5
- package/public/manager/src/components/InstanceListContent.tsx +1 -1
- package/public/manager/src/dashboard-features.ts +1 -1
- package/public/manager/src/manager-notes.css +49 -2
- package/public/manager/src/notes/MarkdownEditor.tsx +7 -3
- package/public/manager/src/notes/NotesFileTree.tsx +45 -6
- package/public/manager/src/notes/NotesSidebar.tsx +24 -55
- package/public/manager/src/notes/NotesWorkspace.tsx +50 -3
- package/public/manager/src/notes/image-assets/clipboard-images.ts +100 -0
- package/public/manager/src/notes/image-assets/insert-image-markdown.ts +85 -0
- package/public/manager/src/notes/notes-api.ts +2 -0
- package/public/manager/src/notes/notes-types.ts +8 -1
- package/public/manager/src/notes/rendering/MarkdownRenderer.tsx +6 -0
- package/public/manager/src/notes/rendering/markdown-render-security.ts +19 -1
- package/public/manager/src/notes/rich-markdown/paste-policy.ts +6 -2
- package/public/manager/src/notes/rich-markdown/rich-markdown-extension.ts +5 -5
- package/public/manager/src/notes/rich-markdown/rich-widget.ts +8 -8
- package/public/manager/src/notes/useNotesExternalSync.ts +37 -0
- package/public/manager/src/notes/useNotesModel.ts +91 -0
- package/public/manager/src/notes/wysiwyg/MilkdownWysiwygEditor.tsx +157 -17
- package/public/manager/src/notes/wysiwyg/milkdown-block-keymap.ts +14 -2
- package/public/manager/src/notes/wysiwyg/milkdown-code-block-view.ts +20 -20
- package/public/manager/src/notes/wysiwyg/milkdown-heading-source-view.ts +8 -8
- package/public/manager/src/notes/wysiwyg/milkdown-math.ts +25 -25
- package/public/manager/src/settings/pages/Browser.tsx +38 -20
- package/public/manager/src/settings/pages/ModelProvider.tsx +11 -9
- package/public/manager/src/settings/pages/Network.tsx +10 -10
- package/public/manager/src/settings/pages/components/HealthBadge.tsx +12 -12
- package/public/manager/src/settings/pages/components/agent/runtime-employees-helpers.ts +12 -10
- package/public/manager/src/settings/pages/components/employees-helpers.ts +9 -9
- package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +13 -13
- package/public/manager/src/settings/pages/components/memory-helpers.ts +4 -4
- package/public/manager/src/settings/pages/mcp-helpers.ts +7 -7
- package/public/manager/src/settings/settings-client.ts +4 -3
- package/public/manager/src/sync/IframeBridge.tsx +29 -0
- package/public/manager/src/sync/VisibilityBridge.tsx +24 -0
- package/public/manager/src/sync/invalidation-bus.ts +30 -0
- package/public/manager/src/sync/useInvalidationSubscription.ts +19 -0
- package/public/manager/src/types.ts +101 -0
- package/scripts/check-strict-baseline.mjs +255 -0
- package/scripts/claim-audit.mjs +159 -0
- package/scripts/i18n-registry.ts +4 -4
- package/scripts/install-officecli.sh +2 -2
- package/scripts/install-wsl.sh +2 -1
- package/scripts/release-gates.mjs +347 -0
- package/scripts/release-preview.sh +3 -0
- package/scripts/release.sh +4 -0
- package/scripts/smoke/opencode-external-dir-smoke.ts +14 -5
- package/public/dist/assets/Agent-BYdzZwD0.js +0 -1
- package/public/dist/assets/Browser-CkGeczuN.js +0 -1
- package/public/dist/assets/MilkdownWysiwygEditor-B7k9bAey.js +0 -52
- package/public/dist/assets/ModelProvider-CX3Qhowu.js +0 -1
- package/public/dist/assets/Network-DfPLFAvw.js +0 -1
- package/public/dist/assets/app-DLYoRkU9.js +0 -32
- package/public/dist/assets/dist-8zNAQAIa.js +0 -1
- package/public/dist/assets/dist-BgeY6nvK.js +0 -1
- package/public/dist/assets/dist-BzDGGxHQ.js +0 -1
- package/public/dist/assets/dist-D3YKbVi-.js +0 -1
- package/public/dist/assets/manager-CUSgFbMO.js +0 -25
- package/public/dist/assets/markdown-render-security-DJfJPWO-.js +0 -22
- package/public/dist/assets/memory-DQ6dU0qs.js +0 -1
- package/public/dist/assets/settings-DxLPUbpj.js +0 -1
- package/public/dist/assets/settings-client-CGf3uPPf.js +0 -1
- package/public/dist/assets/skills-yMfNYJ8m.js +0 -1
- package/public/dist/assets/slash-commands-CZcwr1W6.js +0 -1
- package/public/dist/assets/ui-04YlOMgn.js +0 -136
- package/public/dist/assets/ui-D6hlMjRq.js +0 -1
- /package/public/dist/assets/{InlineWarn-CqgWEC41.js → InlineWarn-BooBRm7o.js} +0 -0
- /package/public/dist/assets/{agent-meta-puNn13DV.js → agent-meta-DHddpWHQ.js} +0 -0
- /package/public/dist/assets/{fields-DH9JS3mb.js → fields-BtncIZYA.js} +0 -0
- /package/public/dist/assets/{mermaid-loader-6XC0y10y.js → mermaid-loader-BEFIOoJn.js} +0 -0
- /package/public/dist/assets/{path-utils-CtsDDGZg.js → path-utils-BuEEtj9w.js} +0 -0
- /package/public/dist/assets/{w3c-keyname-VSld09PZ.js → w3c-keyname-IiiZScED.js} +0 -0
package/README.ko.md
CHANGED
|
@@ -127,7 +127,7 @@ curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/in
|
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
129
|
source ~/.bashrc
|
|
130
|
-
copilot login # 또는: claude auth / codex login / gemini
|
|
130
|
+
copilot login # 또는: claude auth login / codex login / gemini
|
|
131
131
|
jaw serve # -> http://localhost:3457
|
|
132
132
|
```
|
|
133
133
|
|
|
@@ -171,7 +171,7 @@ copilot login # GitHub Copilot (무료 티어 있음)
|
|
|
171
171
|
opencode # OpenCode (무료 모델 사용 가능)
|
|
172
172
|
|
|
173
173
|
# 유료 (월 구독)
|
|
174
|
-
claude auth
|
|
174
|
+
claude auth login # Claude Max 구독
|
|
175
175
|
codex login # ChatGPT Pro 구독
|
|
176
176
|
gemini # Gemini Advanced 구독
|
|
177
177
|
```
|
|
@@ -179,6 +179,7 @@ gemini # Gemini Advanced 구독
|
|
|
179
179
|
제대로 됐는지 확인하려면:
|
|
180
180
|
|
|
181
181
|
```bash
|
|
182
|
+
claude auth status
|
|
182
183
|
jaw doctor
|
|
183
184
|
```
|
|
184
185
|
|
package/README.md
CHANGED
|
@@ -41,12 +41,39 @@ This is the general availability release. Here's what landed:
|
|
|
41
41
|
| **Employee System** | Your main CLI dispatches other CLIs as workers. "Fix the frontend" goes to OpenCode. "Update the API" goes to Codex. You approve the results |
|
|
42
42
|
| **Responsive Mobile Layout** | Sidebar overlay, touch-friendly controls. Manage your fleet from your phone |
|
|
43
43
|
|
|
44
|
-
Plus:
|
|
44
|
+
Plus: explicit PABCD orchestration (`/orchestrate`, `/pabcd`, `/continue`), 230+ reference skills, SQLite FTS5 memory search, cron/every heartbeat jobs, and Computer Use desktop automation.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Recent Architecture Updates
|
|
49
|
+
|
|
50
|
+
| Area | Update |
|
|
51
|
+
|---|---|
|
|
52
|
+
| **PABCD** | Worklog resume is explicit: use `/continue`. Natural language “continue” stays a normal prompt |
|
|
53
|
+
| **Gemini CLI** | Full-access Gemini runs use `--skip-trust --approval-mode yolo` plus `--include-directories` for OS home access; WSL also includes the Windows user home when discoverable |
|
|
54
|
+
| **Messaging** | `/api/channel/send` is the canonical Telegram/Discord outbound path; legacy channel-specific endpoints remain |
|
|
55
|
+
| **Heartbeat** | Jobs support `every` and `cron` schedules with optional IANA time zones |
|
|
56
|
+
| **Browser web-AI** | Runtime diagnostics/orphan cleanup, persistent tab lifecycle, session reattach, and ChatGPT/Gemini/Grok vendor paths are documented in `structure/` |
|
|
57
|
+
| **Release gates** | `npm run gate:all` runs named release/doc parity checks when developing locally |
|
|
45
58
|
|
|
46
59
|
---
|
|
47
60
|
|
|
48
61
|
## Two-Line Install
|
|
49
62
|
|
|
63
|
+
Existing users who already manage Codex, Gemini, Claude, MCP servers, OfficeCLI, or other tools can run a safe update first. Safe install creates `~/.cli-jaw` only, skips optional tool/runtime setup, and lets you run `jaw init` later when you want interactive setup.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# macOS/Linux safe update
|
|
67
|
+
JAW_SAFE=1 npm install -g cli-jaw
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```powershell
|
|
71
|
+
# Windows PowerShell safe update
|
|
72
|
+
$env:JAW_SAFE="1"; npm install -g cli-jaw
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Normal install performs the full setup:
|
|
76
|
+
|
|
50
77
|
```bash
|
|
51
78
|
npm install -g cli-jaw
|
|
52
79
|
jaw dashboard
|
|
@@ -140,12 +167,12 @@ copilot login # GitHub Copilot (free tier available)
|
|
|
140
167
|
opencode # OpenCode — free models available
|
|
141
168
|
|
|
142
169
|
# Paid (monthly subscription you already pay for)
|
|
143
|
-
claude auth
|
|
170
|
+
claude auth login # Anthropic Claude Max
|
|
144
171
|
codex login # OpenAI ChatGPT Pro
|
|
145
172
|
gemini # Google Gemini Advanced
|
|
146
173
|
```
|
|
147
174
|
|
|
148
|
-
Check everything at once: `jaw doctor`
|
|
175
|
+
Check everything at once: `claude auth status && jaw doctor`
|
|
149
176
|
|
|
150
177
|
<details>
|
|
151
178
|
<summary>Example jaw doctor output</summary>
|
|
@@ -198,7 +225,7 @@ A markdown vault lives inside the dashboard. Think mini-Obsidian:
|
|
|
198
225
|
|
|
199
226
|
### Kanban Board
|
|
200
227
|
|
|
201
|
-
Drag instance cards into lanes (Backlog /
|
|
228
|
+
Drag instance cards into lanes (Backlog / Ready / Active / Review / Done). Each card links to the live instance and has an editor for notes. Good for tracking what each AI session is working on when you're running multiple instances.
|
|
202
229
|
|
|
203
230
|
### Settings Inspector
|
|
204
231
|
|
|
@@ -248,7 +275,7 @@ No per-token API billing. Route through subscriptions you already pay for.
|
|
|
248
275
|
|
|
249
276
|
| CLI | Default Model | Auth | Cost |
|
|
250
277
|
|---|---|---|---|
|
|
251
|
-
| **Claude** | `opus-4-6` | `claude auth` | Claude Max subscription |
|
|
278
|
+
| **Claude** | `opus-4-6` | `claude auth login` | Claude Max subscription |
|
|
252
279
|
| **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro subscription |
|
|
253
280
|
| **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced subscription |
|
|
254
281
|
| **OpenCode** | `minimax-m2.7` | `opencode` | Free models available |
|
|
@@ -279,7 +306,7 @@ P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
|
|
|
279
306
|
| **C — Check** | Type-check (`tsc --noEmit`), docs update, consistency check |
|
|
280
307
|
| **D — Done** | Summary of all changes. Returns to idle |
|
|
281
308
|
|
|
282
|
-
State is DB-persisted and survives restarts. Workers cannot modify files — only verify. Activate with `jaw orchestrate
|
|
309
|
+
State is DB-persisted and survives restarts. Workers cannot modify files — only verify. Activate with `jaw orchestrate`, `/orchestrate`, or `/pabcd`; resume an active worklog explicitly with `/continue`.
|
|
283
310
|
|
|
284
311
|
---
|
|
285
312
|
|
|
@@ -314,7 +341,7 @@ jaw memory search "how did we set up the API auth?"
|
|
|
314
341
|
| **Visualization** | `diagram` | SVG diagrams, charts, interactive visualizations rendered in chat |
|
|
315
342
|
| **Dev Guides** | `dev`, `dev-frontend`, `dev-backend`, `dev-data`, `dev-testing`, `dev-pabcd` | Engineering guidelines injected into agent prompts |
|
|
316
343
|
|
|
317
|
-
|
|
344
|
+
Reference skills live in `skills_ref/` and install into the active runtime on demand; active skills are loaded from the user runtime home.
|
|
318
345
|
|
|
319
346
|
```bash
|
|
320
347
|
jaw skill install <name> # activate a reference skill
|
|
@@ -330,7 +357,7 @@ jaw skill list # see what's available
|
|
|
330
357
|
| **Chrome CDP** | Navigate, click, type, screenshot, evaluate JS, scroll, press keys — full DevTools Protocol control |
|
|
331
358
|
| **Vision-click** | Screenshot the screen → AI extracts target coordinates → clicks. `jaw browser vision-click "Login button"` |
|
|
332
359
|
| **Computer Use** | Desktop app automation via Codex Computer Use MCP. Use Safari for localhost and it feels like the Codex app |
|
|
333
|
-
| **
|
|
360
|
+
| **Web-AI vendors** | `jaw browser web-ai --vendor chatgpt\|gemini\|grok` with session lifecycle, diagnostics, and source-audit/answer-artifact support where implemented |
|
|
334
361
|
| **Diagram Skill** | Generate SVG diagrams and interactive visualizations, rendered inline in chat |
|
|
335
362
|
|
|
336
363
|
Computer Use lets you control any macOS app — Finder, Safari, System Settings, Xcode — through natural language. Point it at your localhost dev server in Safari and you get a full visual testing loop.
|
|
@@ -345,7 +372,7 @@ Computer Use lets you control any macOS app — Finder, Safari, System Settings,
|
|
|
345
372
|
📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
|
|
346
373
|
```
|
|
347
374
|
|
|
348
|
-
Text chat, voice messages (auto-transcribed via multi-provider STT), file/photo upload, slash commands (`/cli`, `/model`, `/status`), scheduled task delivery.
|
|
375
|
+
Text chat, voice messages (auto-transcribed via multi-provider STT), file/photo upload, slash commands (`/cli`, `/model`, `/status`), scheduled task delivery via `every`/`cron` heartbeat jobs.
|
|
349
376
|
|
|
350
377
|
<details>
|
|
351
378
|
<summary>Setup (3 steps)</summary>
|
|
@@ -358,7 +385,7 @@ Text chat, voice messages (auto-transcribed via multi-provider STT), file/photo
|
|
|
358
385
|
|
|
359
386
|
### Discord
|
|
360
387
|
|
|
361
|
-
Same capabilities as Telegram — text, files, commands. Channel
|
|
388
|
+
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.
|
|
362
389
|
|
|
363
390
|
### Voice & STT
|
|
364
391
|
|
|
@@ -399,7 +426,8 @@ jaw service install # auto-start on boot
|
|
|
399
426
|
|
|
400
427
|
# AI & Orchestration
|
|
401
428
|
jaw dispatch --agent "Backend" --task "..." # dispatch employee
|
|
402
|
-
jaw orchestrate # enter PABCD workflow
|
|
429
|
+
jaw orchestrate # enter/control PABCD workflow
|
|
430
|
+
# in chat: /continue # explicit worklog/PABCD resume
|
|
403
431
|
|
|
404
432
|
# Skills & MCP
|
|
405
433
|
jaw skill install <name> # activate a skill
|
|
@@ -468,9 +496,10 @@ docker run -e CHROME_NO_SANDBOX=1 -p 3457:3457 cli-jaw
|
|
|
468
496
|
npm run build # tsc → dist/
|
|
469
497
|
npm run dev # tsx server.ts (hot-reload)
|
|
470
498
|
npm test # native Node.js test runner
|
|
499
|
+
npm run gate:all # named release/docs parity gates
|
|
471
500
|
```
|
|
472
501
|
|
|
473
|
-
Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Test coverage: [TESTS.md](TESTS.md) · Internal docs: [
|
|
502
|
+
Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Test coverage: [TESTS.md](TESTS.md) · Internal structure docs: [structure/](structure/)
|
|
474
503
|
|
|
475
504
|
---
|
|
476
505
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export function isRecord(value) {
|
|
2
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
|
+
}
|
|
4
|
+
export function asRecord(value) {
|
|
5
|
+
return isRecord(value) ? value : {};
|
|
6
|
+
}
|
|
7
|
+
export function asArray(value) {
|
|
8
|
+
return Array.isArray(value) ? value : [];
|
|
9
|
+
}
|
|
10
|
+
export function errString(error) {
|
|
11
|
+
if (error instanceof Error)
|
|
12
|
+
return error.message;
|
|
13
|
+
if (typeof error === 'string')
|
|
14
|
+
return error;
|
|
15
|
+
try {
|
|
16
|
+
return JSON.stringify(error);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return String(error);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function fieldString(value, fallback = '') {
|
|
23
|
+
if (typeof value === 'string')
|
|
24
|
+
return value;
|
|
25
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
26
|
+
return String(value);
|
|
27
|
+
return fallback;
|
|
28
|
+
}
|
|
29
|
+
export function isConnRefused(error) {
|
|
30
|
+
const err = asRecord(error);
|
|
31
|
+
const cause = asRecord(err["cause"]);
|
|
32
|
+
return cause["code"] === 'ECONNREFUSED' || err["code"] === 'ECONNREFUSED';
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=_http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_http-client.js","sourceRoot":"","sources":["../../bin/_http-client.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO,CAAc,KAAc;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC;AAC9E,CAAC"}
|
package/dist/bin/cli-jaw.js
CHANGED
|
@@ -4,20 +4,25 @@
|
|
|
4
4
|
* CLI entrypoint with subcommand routing.
|
|
5
5
|
* No external dependencies — Node built-in only.
|
|
6
6
|
*/
|
|
7
|
-
import { dirname, join
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { readFileSync } from 'node:fs';
|
|
10
10
|
import { homedir } from 'node:os';
|
|
11
11
|
import { maybePromptGithubStar } from './star-prompt.js';
|
|
12
|
+
import { resolveHomePath } from '../src/core/path-expand.js';
|
|
12
13
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
function readPackageJson(pkgPath) {
|
|
15
|
+
const parsed = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
16
|
+
return typeof parsed === 'object' && parsed !== null ? parsed : {};
|
|
17
|
+
}
|
|
13
18
|
let pkg;
|
|
14
19
|
try {
|
|
15
20
|
const pkgPath = join(__dirname, '..', 'package.json');
|
|
16
|
-
pkg =
|
|
21
|
+
pkg = readPackageJson(pkgPath);
|
|
17
22
|
}
|
|
18
23
|
catch {
|
|
19
24
|
const pkgPath = join(__dirname, '..', '..', 'package.json');
|
|
20
|
-
pkg =
|
|
25
|
+
pkg = readPackageJson(pkgPath);
|
|
21
26
|
}
|
|
22
27
|
// ─── --home flag: must run BEFORE command parsing (ESM hoisting safe) ───
|
|
23
28
|
// Manual parsing instead of parseArgs to avoid absorbing subcommand flags
|
|
@@ -32,7 +37,7 @@ if (_homeIdx !== -1 && process.argv[_homeIdx + 1]) {
|
|
|
32
37
|
console.error(` Usage: jaw --home <path> ${_homeVal}`);
|
|
33
38
|
process.exit(1);
|
|
34
39
|
}
|
|
35
|
-
process.env
|
|
40
|
+
process.env["CLI_JAW_HOME"] = resolveHomePath(_homeVal, homedir());
|
|
36
41
|
process.argv.splice(_homeIdx, 2);
|
|
37
42
|
}
|
|
38
43
|
else if (_homeIdx !== -1 && !process.argv[_homeIdx + 1]) {
|
|
@@ -42,7 +47,7 @@ else if (_homeIdx !== -1 && !process.argv[_homeIdx + 1]) {
|
|
|
42
47
|
}
|
|
43
48
|
else if (_homeEqArg) {
|
|
44
49
|
const val = _homeEqArg.slice('--home='.length);
|
|
45
|
-
process.env
|
|
50
|
+
process.env["CLI_JAW_HOME"] = resolveHomePath(val, homedir());
|
|
46
51
|
process.argv.splice(process.argv.indexOf(_homeEqArg), 1);
|
|
47
52
|
}
|
|
48
53
|
const command = process.argv[2];
|
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,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"cli-jaw.js","sourceRoot":"","sources":["../../bin/cli-jaw.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,90 @@
|
|
|
1
1
|
import { parseArgs } from 'node:util';
|
|
2
2
|
import { renderContextDryRunReport } from '../../src/browser/web-ai/context-pack/index.js';
|
|
3
3
|
const WEB_AI_COMMANDS = new Set(['render', 'status', 'send', 'poll', 'query', 'watch', 'watchers', 'sessions', 'sessions-prune', 'resume', 'reattach', 'notifications', 'capabilities', 'stop', 'diagnose', 'doctor', 'context-dry-run', 'context-render']);
|
|
4
|
+
function parseContextDryRunMode(value) {
|
|
5
|
+
return value === 'json' || value === 'full' || value === 'summary' ? value : 'summary';
|
|
6
|
+
}
|
|
7
|
+
export const WEB_AI_USAGE = `
|
|
8
|
+
Usage:
|
|
9
|
+
cli-jaw browser web-ai <command> --vendor <chatgpt|gemini|grok> [options]
|
|
10
|
+
|
|
11
|
+
Commands:
|
|
12
|
+
render Render the prompt envelope without opening a browser
|
|
13
|
+
status Check verified provider tab state
|
|
14
|
+
send Send a prompt and store a durable session
|
|
15
|
+
poll Poll a session for completion
|
|
16
|
+
query send + poll in one command
|
|
17
|
+
watch Watch a saved session until terminal status
|
|
18
|
+
watchers List active web-ai watchers
|
|
19
|
+
sessions List saved web-ai sessions
|
|
20
|
+
notifications List web-ai completion notifications
|
|
21
|
+
capabilities List observed/provider capability schemas
|
|
22
|
+
diagnose | doctor Capture redacted diagnostics for the active provider page
|
|
23
|
+
stop Stop current provider generation with Escape
|
|
24
|
+
context-dry-run Build a context package without sending
|
|
25
|
+
context-render Render full prompt/context package text
|
|
26
|
+
|
|
27
|
+
Provider:
|
|
28
|
+
--vendor <name> chatgpt | gemini | grok (default: chatgpt)
|
|
29
|
+
--model <alias> ChatGPT: instant, thinking, pro
|
|
30
|
+
Gemini: fast, thinking, pro
|
|
31
|
+
Grok: auto, fast, expert, thinking, heavy
|
|
32
|
+
--effort <alias> ChatGPT reasoning effort. Requires --model because
|
|
33
|
+
Pro and Thinking expose different effort menus.
|
|
34
|
+
Pro: standard, extended
|
|
35
|
+
Thinking: light, standard, extended, heavy
|
|
36
|
+
--reasoning-effort <alias>
|
|
37
|
+
Alias for --effort
|
|
38
|
+
--timeout <sec> Polling timeout
|
|
39
|
+
|
|
40
|
+
Prompt and context:
|
|
41
|
+
--prompt <text> Main prompt/question
|
|
42
|
+
--inline-only Required for send/query without files
|
|
43
|
+
--file <path> Upload a single file
|
|
44
|
+
--context-from-files <glob|path>
|
|
45
|
+
--context-exclude <glob>
|
|
46
|
+
--context-file <path>
|
|
47
|
+
--context-transport <upload|inline>
|
|
48
|
+
--allow-copy-markdown-fallback
|
|
49
|
+
--allow-grok-context-pack
|
|
50
|
+
--require-source-audit
|
|
51
|
+
Fail closed when completed answers lack inline sources
|
|
52
|
+
--source-audit-ratio <0..1>
|
|
53
|
+
Required sourced claim ratio (default: 1)
|
|
54
|
+
--source-audit-scope <text>
|
|
55
|
+
Checked scope for absence/no-result claims
|
|
56
|
+
--source-audit-date <text>
|
|
57
|
+
Checked date for absence/no-result claims
|
|
58
|
+
|
|
59
|
+
Sessions:
|
|
60
|
+
--session <id> Resume/poll a saved session
|
|
61
|
+
--deadline <iso> Override session deadline
|
|
62
|
+
--navigate Allow resume to switch tabs if needed
|
|
63
|
+
--new-tab Force a fresh provider tab; default reuses pooled or inactive tabs first
|
|
64
|
+
--parallel Alias for --new-tab. Use to run a query without
|
|
65
|
+
contending with another in-flight one (lease per-key cap)
|
|
66
|
+
--reuse-tab Reuse active tab
|
|
67
|
+
|
|
68
|
+
Output:
|
|
69
|
+
--json Print JSON
|
|
70
|
+
--full Print full context dry-run/render output
|
|
71
|
+
|
|
72
|
+
Examples:
|
|
73
|
+
cli-jaw browser web-ai render --vendor chatgpt --prompt "hello" --json
|
|
74
|
+
cli-jaw browser web-ai query --vendor chatgpt --model pro --effort extended --inline-only --prompt "Reply OK"
|
|
75
|
+
cli-jaw browser web-ai query --vendor grok --inline-only --prompt "Reply OK"
|
|
76
|
+
`;
|
|
4
77
|
function rejectFutureWebAiFlags(values) {
|
|
5
|
-
const vendor = values
|
|
78
|
+
const vendor = values["vendor"] ?? 'chatgpt';
|
|
6
79
|
if (vendor !== 'chatgpt' && vendor !== 'gemini' && vendor !== 'grok')
|
|
7
80
|
throw new Error(`unsupported vendor: ${vendor}`);
|
|
8
|
-
if (values
|
|
9
|
-
throw new Error(`unsupported ${webAiVendorLabel(vendor)} model selection: ${values
|
|
81
|
+
if (values["model"] && !isSupportedWebAiModel(vendor, values["model"]))
|
|
82
|
+
throw new Error(`unsupported ${webAiVendorLabel(vendor)} model selection: ${values["model"]}`);
|
|
83
|
+
const effort = values["effort"] || values['reasoning-effort'];
|
|
84
|
+
if (effort && !values["model"])
|
|
85
|
+
throw new Error(`${webAiVendorLabel(vendor)} reasoning effort requires --model because effort menus differ by model`);
|
|
86
|
+
if (effort && !isSupportedWebAiEffort(vendor, values["model"], effort))
|
|
87
|
+
throw new Error(`unsupported ${webAiVendorLabel(vendor)} reasoning effort: ${effort}`);
|
|
10
88
|
}
|
|
11
89
|
function isSupportedWebAiModel(vendor, model) {
|
|
12
90
|
const key = String(model || '').trim().toLowerCase();
|
|
@@ -17,6 +95,21 @@ function isSupportedWebAiModel(vendor, model) {
|
|
|
17
95
|
};
|
|
18
96
|
return Boolean(byVendor[String(vendor || 'chatgpt')]?.has(key));
|
|
19
97
|
}
|
|
98
|
+
function isSupportedWebAiEffort(vendor, model, effort) {
|
|
99
|
+
if (String(vendor || 'chatgpt') !== 'chatgpt')
|
|
100
|
+
return false;
|
|
101
|
+
const effortKey = String(effort || '').trim().toLowerCase();
|
|
102
|
+
const normalizedEffort = { low: 'light', light: 'light', standard: 'standard', normal: 'standard', regular: 'standard', default: 'standard', high: 'extended', extended: 'extended', heavy: 'heavy' }[effortKey];
|
|
103
|
+
if (!normalizedEffort)
|
|
104
|
+
return false;
|
|
105
|
+
const modelKey = String(model || '').trim().toLowerCase();
|
|
106
|
+
const normalizedModel = { think: 'thinking', thinking: 'thinking', 'gpt-5-5-thinking': 'thinking', 'gpt-5.5-thinking': 'thinking', pro: 'pro', 'gpt-5-5-pro': 'pro', 'gpt-5.5-pro': 'pro' }[modelKey];
|
|
107
|
+
if (normalizedModel === 'thinking')
|
|
108
|
+
return ['light', 'standard', 'extended', 'heavy'].includes(normalizedEffort);
|
|
109
|
+
if (normalizedModel === 'pro')
|
|
110
|
+
return ['standard', 'extended'].includes(normalizedEffort);
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
20
113
|
function webAiVendorLabel(vendor) {
|
|
21
114
|
const key = String(vendor || 'chatgpt');
|
|
22
115
|
if (key === 'chatgpt')
|
|
@@ -29,8 +122,12 @@ function webAiVendorLabel(vendor) {
|
|
|
29
122
|
}
|
|
30
123
|
export async function runWebAiCommand(args, deps) {
|
|
31
124
|
const command = args[0];
|
|
125
|
+
if (!command || command === '--help' || command === 'help' || args.includes('--help')) {
|
|
126
|
+
console.log(WEB_AI_USAGE.trim());
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
32
129
|
if (!command || !WEB_AI_COMMANDS.has(command)) {
|
|
33
|
-
throw new Error(
|
|
130
|
+
throw new Error(WEB_AI_USAGE.trim());
|
|
34
131
|
}
|
|
35
132
|
const { values } = parseArgs({
|
|
36
133
|
args: args.slice(1),
|
|
@@ -55,9 +152,15 @@ export async function runWebAiCommand(args, deps) {
|
|
|
55
152
|
'inline-only': { type: 'boolean', default: false },
|
|
56
153
|
'allow-copy-markdown-fallback': { type: 'boolean', default: false },
|
|
57
154
|
'allow-grok-context-pack': { type: 'boolean', default: false },
|
|
155
|
+
'require-source-audit': { type: 'boolean', default: false },
|
|
156
|
+
'source-audit-ratio': { type: 'string' },
|
|
157
|
+
'source-audit-scope': { type: 'string' },
|
|
158
|
+
'source-audit-date': { type: 'string' },
|
|
58
159
|
notify: { type: 'boolean', default: true },
|
|
59
160
|
file: { type: 'string' },
|
|
60
161
|
model: { type: 'string' },
|
|
162
|
+
effort: { type: 'string' },
|
|
163
|
+
'reasoning-effort': { type: 'string' },
|
|
61
164
|
'thinking-time': { type: 'string' },
|
|
62
165
|
'context-from-files': { type: 'string', multiple: true },
|
|
63
166
|
'context-exclude': { type: 'string', multiple: true },
|
|
@@ -72,6 +175,9 @@ export async function runWebAiCommand(args, deps) {
|
|
|
72
175
|
probe: { type: 'string' },
|
|
73
176
|
deadline: { type: 'string' },
|
|
74
177
|
navigate: { type: 'boolean', default: false },
|
|
178
|
+
'new-tab': { type: 'boolean', default: false },
|
|
179
|
+
parallel: { type: 'boolean', default: false },
|
|
180
|
+
'reuse-tab': { type: 'boolean', default: false },
|
|
75
181
|
full: { type: 'boolean', default: false },
|
|
76
182
|
json: { type: 'boolean', default: false },
|
|
77
183
|
},
|
|
@@ -98,6 +204,7 @@ export async function runWebAiCommand(args, deps) {
|
|
|
98
204
|
...(values.file ? { filePath: values.file } : {}),
|
|
99
205
|
...(values['thinking-time'] ? { thinkingTime: values['thinking-time'] } : {}),
|
|
100
206
|
...(values.model ? { model: values.model } : {}),
|
|
207
|
+
...(values.effort || values['reasoning-effort'] ? { reasoningEffort: values.effort || values['reasoning-effort'] } : {}),
|
|
101
208
|
contextFromFiles: values['context-from-files'] || [],
|
|
102
209
|
contextExclude: values['context-exclude'] || [],
|
|
103
210
|
...(values['context-file'] ? { contextFile: values['context-file'] } : {}),
|
|
@@ -108,60 +215,70 @@ export async function runWebAiCommand(args, deps) {
|
|
|
108
215
|
...(values['inline-only'] ? { inlineOnly: true } : {}),
|
|
109
216
|
...(values['allow-copy-markdown-fallback'] ? { allowCopyMarkdownFallback: true } : {}),
|
|
110
217
|
...(values['allow-grok-context-pack'] ? { allowGrokContextPack: true } : {}),
|
|
218
|
+
...(values['require-source-audit'] ? { requireSourceAudit: true } : {}),
|
|
219
|
+
...(values['source-audit-ratio'] ? { sourceAuditRatio: values['source-audit-ratio'] } : {}),
|
|
220
|
+
...(values['source-audit-scope'] ? { sourceAuditScope: values['source-audit-scope'] } : {}),
|
|
221
|
+
...(values['source-audit-date'] ? { sourceAuditDate: values['source-audit-date'] } : {}),
|
|
222
|
+
...(values['new-tab'] || values.parallel ? { newTab: true } : {}),
|
|
223
|
+
...(values['reuse-tab'] ? { reuseTab: true } : {}),
|
|
111
224
|
};
|
|
112
|
-
const
|
|
225
|
+
const rawResult = await callWebAiEndpoint(command, body, values, deps);
|
|
113
226
|
const fullContextOutput = values.full === true || command === 'context-render';
|
|
114
|
-
if (isContextCommand(command)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
227
|
+
if (isContextCommand(command)) {
|
|
228
|
+
const result = rawResult;
|
|
229
|
+
if (values.json) {
|
|
230
|
+
console.log(renderContextDryRunReport(result, {
|
|
231
|
+
mode: 'json',
|
|
232
|
+
full: fullContextOutput,
|
|
233
|
+
json: true,
|
|
234
|
+
includeComposerText: fullContextOutput,
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
console.log(renderContextDryRunReport(result, {
|
|
239
|
+
mode: fullContextOutput ? 'full' : parseContextDryRunMode(values['dry-run']),
|
|
240
|
+
full: fullContextOutput,
|
|
241
|
+
}));
|
|
242
|
+
}
|
|
121
243
|
}
|
|
122
244
|
else if (values.json)
|
|
123
|
-
console.log(JSON.stringify(
|
|
124
|
-
else
|
|
125
|
-
|
|
126
|
-
mode: fullContextOutput ? 'full' : String(values['dry-run'] || 'summary'),
|
|
127
|
-
full: fullContextOutput,
|
|
128
|
-
}));
|
|
245
|
+
console.log(JSON.stringify(rawResult, null, 2));
|
|
246
|
+
else {
|
|
247
|
+
printWebAiHuman(command, rawResult);
|
|
129
248
|
}
|
|
130
|
-
else
|
|
131
|
-
printWebAiHuman(command, result);
|
|
132
249
|
}
|
|
133
250
|
async function callWebAiEndpoint(command, body, values, deps) {
|
|
134
251
|
if (command === 'status')
|
|
135
|
-
return deps.api('GET', `/web-ai/status${deps.qs({ vendor: values
|
|
252
|
+
return deps.api('GET', `/web-ai/status${deps.qs({ vendor: values["vendor"], probe: values["probe"] })}`);
|
|
136
253
|
if (command === 'sessions')
|
|
137
|
-
return deps.api('GET', `/web-ai/sessions${deps.qs({ vendor: values
|
|
254
|
+
return deps.api('GET', `/web-ai/sessions${deps.qs({ vendor: values["vendor"], status: values["status"] })}`);
|
|
138
255
|
if (command === 'sessions-prune') {
|
|
139
256
|
const olderThanMs = values['older-than-ms'] ? Number(values['older-than-ms']) : undefined;
|
|
140
257
|
return deps.api('POST', '/web-ai/sessions/prune', {
|
|
141
258
|
...(olderThanMs !== undefined && Number.isFinite(olderThanMs) ? { olderThanMs } : {}),
|
|
142
|
-
...(values
|
|
143
|
-
...(values
|
|
259
|
+
...(values["before"] ? { before: values["before"] } : {}),
|
|
260
|
+
...(values["status"] ? { status: values["status"] } : {}),
|
|
144
261
|
});
|
|
145
262
|
}
|
|
146
263
|
if (command === 'notifications')
|
|
147
|
-
return deps.api('GET', `/web-ai/notifications${deps.qs({ vendor: values
|
|
264
|
+
return deps.api('GET', `/web-ai/notifications${deps.qs({ vendor: values["vendor"], status: values["status"], session: values["session"] })}`);
|
|
148
265
|
if (command === 'watchers')
|
|
149
266
|
return deps.api('GET', '/web-ai/watchers');
|
|
150
267
|
if (command === 'capabilities')
|
|
151
|
-
return deps.api('GET', `/web-ai/capabilities${deps.qs({ vendor: values
|
|
268
|
+
return deps.api('GET', `/web-ai/capabilities${deps.qs({ vendor: values["vendor"], family: values["family"], frontendStatus: values['frontend-status'] })}`);
|
|
152
269
|
if (command === 'poll')
|
|
153
|
-
return deps.api('GET', `/web-ai/poll${deps.qs({ vendor: values
|
|
270
|
+
return deps.api('GET', `/web-ai/poll${deps.qs({ vendor: values["vendor"], timeout: values["timeout"], session: values["session"], allowCopyMarkdownFallback: values['allow-copy-markdown-fallback'], requireSourceAudit: values['require-source-audit'], sourceAuditRatio: values['source-audit-ratio'], sourceAuditScope: values['source-audit-scope'], sourceAuditDate: values['source-audit-date'] })}`);
|
|
154
271
|
if (command === 'watch')
|
|
155
|
-
return deps.api('GET', `/web-ai/watch${deps.qs({ vendor: values
|
|
272
|
+
return deps.api('GET', `/web-ai/watch${deps.qs({ vendor: values["vendor"], timeout: values["timeout"], session: values["session"], url: values["url"], notify: values["notify"], pollIntervalSeconds: values['poll-interval'], allowCopyMarkdownFallback: values['allow-copy-markdown-fallback'], requireSourceAudit: values['require-source-audit'], sourceAuditRatio: values['source-audit-ratio'], sourceAuditScope: values['source-audit-scope'], sourceAuditDate: values['source-audit-date'] })}`);
|
|
156
273
|
if (command === 'resume')
|
|
157
|
-
return deps.api('GET', `/web-ai/poll${deps.qs({ vendor: values
|
|
274
|
+
return deps.api('GET', `/web-ai/poll${deps.qs({ vendor: values["vendor"], session: values["session"], timeout: values["timeout"] || values["deadline"], allowCopyMarkdownFallback: values['allow-copy-markdown-fallback'], requireSourceAudit: values['require-source-audit'], sourceAuditRatio: values['source-audit-ratio'], sourceAuditScope: values['source-audit-scope'], sourceAuditDate: values['source-audit-date'] })}`);
|
|
158
275
|
if (command === 'reattach') {
|
|
159
|
-
if (!values
|
|
276
|
+
if (!values["session"])
|
|
160
277
|
throw new Error('reattach requires --session <id>');
|
|
161
|
-
return deps.api('GET', `/web-ai/status${deps.qs({ vendor: values
|
|
278
|
+
return deps.api('GET', `/web-ai/status${deps.qs({ vendor: values["vendor"], session: values["session"], navigate: values["navigate"] })}`);
|
|
162
279
|
}
|
|
163
280
|
if (command === 'doctor' || command === 'diagnose')
|
|
164
|
-
return deps.api('GET', `/web-ai/diagnose${deps.qs({ vendor: values
|
|
281
|
+
return deps.api('GET', `/web-ai/diagnose${deps.qs({ vendor: values["vendor"], stage: values["stage"] })}`);
|
|
165
282
|
if (command === 'context-dry-run' || command === 'context-render')
|
|
166
283
|
return deps.api('POST', `/web-ai/${command}`, body);
|
|
167
284
|
return deps.api('POST', `/web-ai/${command}`, body);
|
|
@@ -171,14 +288,14 @@ function isContextCommand(command) {
|
|
|
171
288
|
}
|
|
172
289
|
function printWebAiHuman(command, result) {
|
|
173
290
|
if (command === 'render') {
|
|
174
|
-
const rendered = result
|
|
291
|
+
const rendered = result["rendered"];
|
|
175
292
|
console.log(rendered?.composerText || rendered?.markdown || '');
|
|
176
|
-
if (Array.isArray(result
|
|
177
|
-
console.error(`[warnings] ${result
|
|
293
|
+
if (Array.isArray(result["warnings"]) && result["warnings"].length)
|
|
294
|
+
console.error(`[warnings] ${result["warnings"].join(', ')}`);
|
|
178
295
|
return;
|
|
179
296
|
}
|
|
180
|
-
if (result
|
|
181
|
-
console.log(result
|
|
297
|
+
if (result["answerText"]) {
|
|
298
|
+
console.log(result["answerText"]);
|
|
182
299
|
return;
|
|
183
300
|
}
|
|
184
301
|
for (const key of ['sessions', 'notifications', 'watchers', 'capabilities']) {
|
|
@@ -187,6 +304,6 @@ function printWebAiHuman(command, result) {
|
|
|
187
304
|
return;
|
|
188
305
|
}
|
|
189
306
|
}
|
|
190
|
-
console.log(`${result
|
|
307
|
+
console.log(`${result["status"]}: ${result["url"] || result["vendor"] || 'web-ai'}`);
|
|
191
308
|
}
|
|
192
309
|
//# sourceMappingURL=browser-web-ai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-web-ai.js","sourceRoot":"","sources":["../../../bin/commands/browser-web-ai.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-web-ai.js","sourceRoot":"","sources":["../../../bin/commands/browser-web-ai.ts"],"names":[],"mappings":"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"}
|