@songsid/agend 2.3.4-beta.5 → 2.3.5-alpha.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.md +2 -0
- package/README.zh-TW.md +2 -0
- package/THIRD_PARTY_NOTICES.md +53 -0
- package/dist/agent-endpoint.d.ts +5 -1
- package/dist/agent-endpoint.js +12 -2
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/backend/claude-code.d.ts +18 -12
- package/dist/backend/claude-code.js +225 -136
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex-package.d.ts +5 -2
- package/dist/backend/codex-package.js +1 -5
- package/dist/backend/codex-package.js.map +1 -1
- package/dist/backend/codex.d.ts +136 -113
- package/dist/backend/codex.js +1271 -1219
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/grok-model-cache.d.ts +7 -0
- package/dist/backend/grok-model-cache.js +65 -0
- package/dist/backend/grok-model-cache.js.map +1 -0
- package/dist/backend/grok.d.ts +2 -0
- package/dist/backend/grok.js +22 -0
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/native-pane.d.ts +9 -0
- package/dist/backend/native-pane.js +59 -0
- package/dist/backend/native-pane.js.map +1 -0
- package/dist/backend/types.d.ts +7 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/ipc-bridge.d.ts +2 -0
- package/dist/channel/mcp-tools.js +1 -1
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +59 -0
- package/dist/config-validator.js.map +1 -1
- package/dist/config.js +16 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon.d.ts +62 -5
- package/dist/daemon.js +760 -240
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-consumed-watch.d.ts +15 -3
- package/dist/delivery-consumed-watch.js +23 -1
- package/dist/delivery-consumed-watch.js.map +1 -1
- package/dist/delivery-outbox.d.ts +5 -0
- package/dist/delivery-outbox.js +32 -4
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/delivery-reconciliation.d.ts +2 -35
- package/dist/delivery-reconciliation.js +2 -156
- package/dist/delivery-reconciliation.js.map +1 -1
- package/dist/fleet-context.d.ts +2 -2
- package/dist/fleet-level-config.d.ts +1 -1
- package/dist/fleet-level-config.js +2 -0
- package/dist/fleet-level-config.js.map +1 -1
- package/dist/fleet-manager.d.ts +125 -2
- package/dist/fleet-manager.js +1157 -27
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-windows-runtime.d.ts +92 -0
- package/dist/fleet-windows-runtime.js +373 -0
- package/dist/fleet-windows-runtime.js.map +1 -0
- package/dist/instance-config-impact.js +4 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +20 -3
- package/dist/instance-lifecycle.js +358 -156
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/local-pane-endpoint.d.ts +46 -0
- package/dist/local-pane-endpoint.js +189 -0
- package/dist/local-pane-endpoint.js.map +1 -0
- package/dist/local-pane-launcher.d.ts +2 -0
- package/dist/local-pane-launcher.js +38 -0
- package/dist/local-pane-launcher.js.map +1 -0
- package/dist/local-pane-stage.ps1 +101 -0
- package/dist/locale.js +34 -0
- package/dist/locale.js.map +1 -1
- package/dist/model-catalog-defaults.d.ts +14 -0
- package/dist/model-catalog-defaults.js +20 -0
- package/dist/model-catalog-defaults.js.map +1 -0
- package/dist/native-agent-admission.d.ts +7 -0
- package/dist/native-agent-admission.js +26 -0
- package/dist/native-agent-admission.js.map +1 -0
- package/dist/native-daemon-client.d.ts +13 -0
- package/dist/native-daemon-client.js +28 -0
- package/dist/native-daemon-client.js.map +1 -0
- package/dist/native-instance-api.d.ts +14 -0
- package/dist/native-instance-api.js +205 -0
- package/dist/native-instance-api.js.map +1 -0
- package/dist/native-instance-input.d.ts +84 -0
- package/dist/native-instance-input.js +54 -0
- package/dist/native-instance-input.js.map +1 -0
- package/dist/native-instance-registry.d.ts +32 -0
- package/dist/native-instance-registry.js +105 -0
- package/dist/native-instance-registry.js.map +1 -0
- package/dist/native-mcp.d.ts +40 -0
- package/dist/native-mcp.js +278 -0
- package/dist/native-mcp.js.map +1 -0
- package/dist/native-model-catalog.d.ts +5 -0
- package/dist/native-model-catalog.js +76 -0
- package/dist/native-model-catalog.js.map +1 -0
- package/dist/native-pane-crash-budget.d.ts +20 -0
- package/dist/native-pane-crash-budget.js +60 -0
- package/dist/native-pane-crash-budget.js.map +1 -0
- package/dist/native-pane-create.d.ts +26 -0
- package/dist/native-pane-create.js +53 -0
- package/dist/native-pane-create.js.map +1 -0
- package/dist/native-pane-lifecycle.d.ts +65 -0
- package/dist/native-pane-lifecycle.js +227 -0
- package/dist/native-pane-lifecycle.js.map +1 -0
- package/dist/native-pane-manager.d.ts +58 -0
- package/dist/native-pane-manager.js +563 -0
- package/dist/native-pane-manager.js.map +1 -0
- package/dist/native-pane-output-log.d.ts +15 -0
- package/dist/native-pane-output-log.js +108 -0
- package/dist/native-pane-output-log.js.map +1 -0
- package/dist/native-pane-reconciliation.d.ts +4 -0
- package/dist/native-pane-reconciliation.js +40 -0
- package/dist/native-pane-reconciliation.js.map +1 -0
- package/dist/native-pane-recovery.d.ts +12 -0
- package/dist/native-pane-recovery.js +10 -0
- package/dist/native-pane-recovery.js.map +1 -0
- package/dist/native-pane-tools.d.ts +2 -0
- package/dist/native-pane-tools.js +14 -0
- package/dist/native-pane-tools.js.map +1 -0
- package/dist/needs-you-hub.d.ts +2 -0
- package/dist/needs-you-hub.js +1 -0
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you.d.ts +12 -1
- package/dist/needs-you.js +8 -1
- package/dist/needs-you.js.map +1 -1
- package/dist/outbound-handlers.d.ts +16 -2
- package/dist/outbound-handlers.js +67 -3
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +38 -0
- package/dist/outbound-schemas.js +12 -0
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/pane-port.d.ts +107 -0
- package/dist/pane-port.js +2 -0
- package/dist/pane-port.js.map +1 -0
- package/dist/runtime-api.d.ts +8 -0
- package/dist/runtime-api.js +96 -0
- package/dist/runtime-api.js.map +1 -0
- package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +21 -0
- package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +2 -0
- package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +19 -0
- package/dist/runtime-assets/@xterm/addon-serialize/package.json +29 -0
- package/dist/runtime-assets/@xterm/headless/LICENSE +21 -0
- package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +2 -0
- package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +46 -0
- package/dist/runtime-assets/@xterm/headless/package.json +29 -0
- package/dist/runtime-assets/node-pty/CONPTY-LICENSE +21 -0
- package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +503 -0
- package/dist/runtime-assets/node-pty/LICENSE +69 -0
- package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +16 -0
- package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +47 -0
- package/dist/runtime-assets/node-pty/lib/index.js +52 -0
- package/dist/runtime-assets/node-pty/lib/interfaces.js +7 -0
- package/dist/runtime-assets/node-pty/lib/shared/conout.js +11 -0
- package/dist/runtime-assets/node-pty/lib/terminal.js +190 -0
- package/dist/runtime-assets/node-pty/lib/types.js +7 -0
- package/dist/runtime-assets/node-pty/lib/unixTerminal.js +346 -0
- package/dist/runtime-assets/node-pty/lib/utils.js +39 -0
- package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +125 -0
- package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +320 -0
- package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +199 -0
- package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +22 -0
- package/dist/runtime-assets/node-pty/package.json +64 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/dist/runtime-bundle.d.ts +17 -0
- package/dist/runtime-bundle.js +147 -0
- package/dist/runtime-bundle.js.map +1 -0
- package/dist/runtime-cli.d.ts +2 -0
- package/dist/runtime-cli.js +117 -0
- package/dist/runtime-cli.js.map +1 -0
- package/dist/runtime-client-store.d.ts +49 -0
- package/dist/runtime-client-store.js +292 -0
- package/dist/runtime-client-store.js.map +1 -0
- package/dist/runtime-client.d.ts +100 -0
- package/dist/runtime-client.js +700 -0
- package/dist/runtime-client.js.map +1 -0
- package/dist/runtime-coordinator.d.ts +82 -0
- package/dist/runtime-coordinator.js +864 -0
- package/dist/runtime-coordinator.js.map +1 -0
- package/dist/runtime-pane-assets.d.ts +17 -0
- package/dist/runtime-pane-assets.js +23 -0
- package/dist/runtime-pane-assets.js.map +1 -0
- package/dist/runtime-pane-boot.d.ts +2 -0
- package/dist/runtime-pane-boot.js +24 -0
- package/dist/runtime-pane-boot.js.map +1 -0
- package/dist/runtime-pane-codex-index.d.ts +1 -0
- package/dist/runtime-pane-codex-index.js +47 -0
- package/dist/runtime-pane-codex-index.js.map +1 -0
- package/dist/runtime-pane-config.d.ts +16 -0
- package/dist/runtime-pane-config.js +54 -0
- package/dist/runtime-pane-config.js.map +1 -0
- package/dist/runtime-pane-host.d.ts +43 -0
- package/dist/runtime-pane-host.js +403 -0
- package/dist/runtime-pane-host.js.map +1 -0
- package/dist/runtime-pane-job-owner.d.ts +1 -0
- package/dist/runtime-pane-job-owner.js +29 -0
- package/dist/runtime-pane-job-owner.js.map +1 -0
- package/dist/runtime-pane-job.ps1 +116 -0
- package/dist/runtime-pane-link.d.ts +40 -0
- package/dist/runtime-pane-link.js +246 -0
- package/dist/runtime-pane-link.js.map +1 -0
- package/dist/runtime-pane-mcp-protocol.d.ts +32 -0
- package/dist/runtime-pane-mcp-protocol.js +39 -0
- package/dist/runtime-pane-mcp-protocol.js.map +1 -0
- package/dist/runtime-pane-mcp-relay.d.ts +17 -0
- package/dist/runtime-pane-mcp-relay.js +70 -0
- package/dist/runtime-pane-mcp-relay.js.map +1 -0
- package/dist/runtime-pane-mcp.d.ts +43 -0
- package/dist/runtime-pane-mcp.js +137 -0
- package/dist/runtime-pane-mcp.js.map +1 -0
- package/dist/runtime-pane-native.d.ts +45 -0
- package/dist/runtime-pane-native.js +65 -0
- package/dist/runtime-pane-native.js.map +1 -0
- package/dist/runtime-pane-output.d.ts +19 -0
- package/dist/runtime-pane-output.js +53 -0
- package/dist/runtime-pane-output.js.map +1 -0
- package/dist/runtime-pane-port.d.ts +134 -0
- package/dist/runtime-pane-port.js +537 -0
- package/dist/runtime-pane-port.js.map +1 -0
- package/dist/runtime-pane-private.d.ts +14 -0
- package/dist/runtime-pane-private.js +51 -0
- package/dist/runtime-pane-private.js.map +1 -0
- package/dist/runtime-pane-private.ps1 +14 -0
- package/dist/runtime-pane-process.d.ts +4 -0
- package/dist/runtime-pane-process.js +108 -0
- package/dist/runtime-pane-process.js.map +1 -0
- package/dist/runtime-pane-protocol.d.ts +169 -0
- package/dist/runtime-pane-protocol.js +189 -0
- package/dist/runtime-pane-protocol.js.map +1 -0
- package/dist/runtime-pane-screen.d.ts +19 -0
- package/dist/runtime-pane-screen.js +76 -0
- package/dist/runtime-pane-screen.js.map +1 -0
- package/dist/runtime-pane-service.d.ts +11 -0
- package/dist/runtime-pane-service.js +221 -0
- package/dist/runtime-pane-service.js.map +1 -0
- package/dist/runtime-pane-stdio-protocol.d.ts +54 -0
- package/dist/runtime-pane-stdio-protocol.js +94 -0
- package/dist/runtime-pane-stdio-protocol.js.map +1 -0
- package/dist/runtime-pane-stdio.d.ts +3 -0
- package/dist/runtime-pane-stdio.js +123 -0
- package/dist/runtime-pane-stdio.js.map +1 -0
- package/dist/runtime-pane-store.d.ts +33 -0
- package/dist/runtime-pane-store.js +164 -0
- package/dist/runtime-pane-store.js.map +1 -0
- package/dist/runtime-pane-transcript-protocol.d.ts +43 -0
- package/dist/runtime-pane-transcript-protocol.js +58 -0
- package/dist/runtime-pane-transcript-protocol.js.map +1 -0
- package/dist/runtime-pane-transcript.d.ts +45 -0
- package/dist/runtime-pane-transcript.js +605 -0
- package/dist/runtime-pane-transcript.js.map +1 -0
- package/dist/runtime-pane-worker.d.ts +1 -0
- package/dist/runtime-pane-worker.js +154 -0
- package/dist/runtime-pane-worker.js.map +1 -0
- package/dist/runtime-protocol.d.ts +149 -0
- package/dist/runtime-protocol.js +19 -0
- package/dist/runtime-protocol.js.map +1 -0
- package/dist/runtime-switches.d.ts +79 -0
- package/dist/runtime-switches.js +90 -0
- package/dist/runtime-switches.js.map +1 -0
- package/dist/runtime-transcript-delta-reader.d.ts +23 -0
- package/dist/runtime-transcript-delta-reader.js +74 -0
- package/dist/runtime-transcript-delta-reader.js.map +1 -0
- package/dist/runtime-transcript-source.d.ts +36 -0
- package/dist/runtime-transcript-source.js +189 -0
- package/dist/runtime-transcript-source.js.map +1 -0
- package/dist/runtime-windows-bridge.d.ts +41 -0
- package/dist/runtime-windows-bridge.js +157 -0
- package/dist/runtime-windows-bridge.js.map +1 -0
- package/dist/settings-api.js +58 -0
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +28 -0
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-confirmation.d.ts +15 -1
- package/dist/settings-confirmation.js +46 -9
- package/dist/settings-confirmation.js.map +1 -1
- package/dist/settings-effect.js +23 -1
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.js +11 -2
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/tmux-control.d.ts +2 -1
- package/dist/tmux-control.js.map +1 -1
- package/dist/tmux-manager.d.ts +2 -1
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tmux-pane-host.d.ts +26 -0
- package/dist/tmux-pane-host.js +25 -0
- package/dist/tmux-pane-host.js.map +1 -0
- package/dist/topic-commands.js +3 -0
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-delta-reader.d.ts +1 -1
- package/dist/transcript-delta-reader.js +1 -1
- package/dist/transcript-delta-reader.js.map +1 -1
- package/dist/transcript-monitor.d.ts +3 -0
- package/dist/transcript-monitor.js +22 -46
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-needles.d.ts +35 -0
- package/dist/transcript-needles.js +158 -0
- package/dist/transcript-needles.js.map +1 -0
- package/dist/transcript-records.d.ts +21 -0
- package/dist/transcript-records.js +140 -0
- package/dist/transcript-records.js.map +1 -0
- package/dist/transcript-sources.d.ts +5 -0
- package/dist/transcript-sources.js +8 -79
- package/dist/transcript-sources.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/ui/agent-proposals.js +90 -0
- package/dist/ui/agent-runtime.js +106 -0
- package/dist/ui/chat-store.js +13 -2
- package/dist/ui/chat-strings.js +48 -0
- package/dist/ui/cli-picker.js +42 -0
- package/dist/ui/native-instance-settings.js +47 -0
- package/dist/ui/native-pane-recovery.js +45 -0
- package/dist/ui/panel-chat.js +61 -32
- package/dist/ui/panel-details.js +2 -1
- package/dist/ui/panel-fleet.js +99 -18
- package/dist/ui/panel-needs.js +152 -3
- package/dist/ui/panel-runtimes.js +231 -0
- package/dist/ui/panel-settings.js +14 -8
- package/dist/ui/panel-windows-agent.js +86 -0
- package/dist/ui/panel-windows-cli.js +143 -0
- package/dist/ui/provider-marks.js +83 -0
- package/dist/ui/runtime-catalog.js +55 -0
- package/dist/ui/settings-catalog.js +37 -10
- package/dist/ui/settings-confirm.js +3 -1
- package/dist/ui/settings-dialogs.js +14 -5
- package/dist/ui/settings-registry.js +5 -0
- package/dist/ui/settings-strings.js +14 -0
- package/dist/ui/shared/app-i18n.js +2 -2
- package/dist/ui/shared/app-route.js +6 -2
- package/dist/ui/shared/app-shell.js +3 -2
- package/dist/ui/shared/app-store.js +1 -0
- package/dist/ui/shared/app-stream.js +3 -1
- package/dist/ui/shared/app.css +301 -0
- package/dist/ui/shared/app.js +4 -0
- package/dist/ui/shared/header-tools.js +6 -4
- package/dist/ui/shared/instance-nav.js +20 -4
- package/dist/ui/shared/instance-switch.js +4 -3
- package/dist/ui/shared/ui-menu.js +28 -8
- package/dist/ui/shared/view-strings.js +6 -0
- package/dist/ui/windows-agents-nav.js +2 -0
- package/dist/ui/windows-cli-catalog.js +79 -0
- package/dist/update-check.d.ts +8 -2
- package/dist/update-check.js +5 -2
- package/dist/update-check.js.map +1 -1
- package/dist/web-api.d.ts +25 -0
- package/dist/web-api.js +171 -6
- package/dist/web-api.js.map +1 -1
- package/dist/web-chat-history.d.ts +19 -2
- package/dist/web-chat-history.js +72 -3
- package/dist/web-chat-history.js.map +1 -1
- package/dist/web-shell-routes.d.ts +4 -1
- package/dist/web-shell-routes.js +7 -2
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/windows-agents.d.ts +112 -0
- package/dist/windows-agents.js +463 -0
- package/dist/windows-agents.js.map +1 -0
- package/dist/windows-cli-api.d.ts +23 -0
- package/dist/windows-cli-api.js +158 -0
- package/dist/windows-cli-api.js.map +1 -0
- package/dist/windows-cli-providers.d.ts +115 -0
- package/dist/windows-cli-providers.js +429 -0
- package/dist/windows-cli-providers.js.map +1 -0
- package/dist/windows-cli-worker.d.ts +58 -0
- package/dist/windows-cli-worker.js +479 -0
- package/dist/windows-cli-worker.js.map +1 -0
- package/dist/windows-cli.d.ts +115 -0
- package/dist/windows-cli.js +402 -0
- package/dist/windows-cli.js.map +1 -0
- package/dist/windows-native-mcp.d.ts +19 -0
- package/dist/windows-native-mcp.js +143 -0
- package/dist/windows-native-mcp.js.map +1 -0
- package/dist/windows-pane-mcp.d.ts +26 -0
- package/dist/windows-pane-mcp.js +187 -0
- package/dist/windows-pane-mcp.js.map +1 -0
- package/package.json +9 -3
- package/templates/runtime-assets/conpty-LICENSE +21 -0
- package/templates/runtime-assets/conpty-NOTICE.md +503 -0
- package/templates/runtime-assets/local-pane-stage.ps1 +101 -0
- package/templates/runtime-assets/runtime-pane-job.ps1 +116 -0
- package/templates/runtime-assets/runtime-pane-private.ps1 +14 -0
- package/templates/runtime-assets/xterm-LICENSE +21 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { evaluateWebRequest } from "./web-auth.js";
|
|
2
|
+
import { gatewayRequestContext } from "./web-request-context.js";
|
|
3
|
+
import { readBoundedWebBody } from "./web-body.js";
|
|
4
|
+
import { windowsBridgeFor, windowsCliEnabled } from "./windows-cli.js";
|
|
5
|
+
import { windowsAgentsFor } from "./windows-agents.js";
|
|
6
|
+
import { nativeAgentId } from "./native-instance-registry.js";
|
|
7
|
+
import { isSettingsReplay, settingsRequestLocalAdmin } from "./settings-request-capability.js";
|
|
8
|
+
function json(res, code, value) {
|
|
9
|
+
if (res.destroyed || res.writableEnded)
|
|
10
|
+
return;
|
|
11
|
+
res.writeHead(code, { "Content-Type": "application/json; charset=utf-8", "Cache-Control": "no-store" });
|
|
12
|
+
res.end(JSON.stringify(value));
|
|
13
|
+
}
|
|
14
|
+
/** The ordinary dashboard gate AND an explicit admin-only, non-public boundary. Rechecked after every await. */
|
|
15
|
+
export function nativeCliAuthorization(req, url, ctx) {
|
|
16
|
+
if (gatewayRequestContext(req))
|
|
17
|
+
return false;
|
|
18
|
+
// Confirmed creation replays intentionally carry no browser cookies or bearer headers. Only the server-owned,
|
|
19
|
+
// still-current administrator capability may continue this exact operation; it grants no other native route.
|
|
20
|
+
if (isSettingsReplay(req)) {
|
|
21
|
+
try {
|
|
22
|
+
return req.method === "POST" && url.pathname === "/ui/instances" && settingsRequestLocalAdmin(req);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const v = evaluateWebRequest(req, url, ctx.webToken, ctx.webSessions, { touch: false });
|
|
29
|
+
return v.kind === "allow" && (v.via === "header-token" || v.session.tier === "admin");
|
|
30
|
+
}
|
|
31
|
+
export function handleWindowsCliRequest(req, res, url, ctx, bridge) {
|
|
32
|
+
const path = url.pathname;
|
|
33
|
+
const agentPage = /^\/ui\/windows-agents\/[a-f0-9-]{36}$/i.test(path);
|
|
34
|
+
if (!agentPage && path !== "/ui/windows-cli" && !path.startsWith("/ui/windows-cli/"))
|
|
35
|
+
return false;
|
|
36
|
+
if (!windowsCliEnabled()) {
|
|
37
|
+
json(res, 404, { error: "Windows CLI preview is not enabled" });
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
const authorized = () => nativeCliAuthorization(req, url, ctx);
|
|
41
|
+
if (!authorized()) {
|
|
42
|
+
json(res, 403, { error: "Windows CLI tasks require an administrator on the local dashboard" });
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
const service = bridge ?? windowsBridgeFor(ctx);
|
|
46
|
+
const method = req.method ?? "GET";
|
|
47
|
+
if (path === "/ui/windows-cli/agents" || path.startsWith("/ui/windows-cli/agents/")) {
|
|
48
|
+
void (async () => {
|
|
49
|
+
const store = windowsAgentsFor(ctx);
|
|
50
|
+
const runtime = ctx.nativeInstanceRuntime?.();
|
|
51
|
+
const canonical = (id) => {
|
|
52
|
+
const row = Object.entries(ctx.fleetConfig?.instances ?? {}).find(([, config]) => nativeAgentId(config) === id.toLowerCase());
|
|
53
|
+
if (!row)
|
|
54
|
+
throw new Error("Windows instance is not registered in the Fleet");
|
|
55
|
+
return row[0];
|
|
56
|
+
};
|
|
57
|
+
const agent = /^\/ui\/windows-cli\/agents\/([a-f0-9-]{36})(?:\/(messages|recover))?$/i.exec(path);
|
|
58
|
+
if (method === "GET" && path === "/ui/windows-cli/agents") {
|
|
59
|
+
json(res, 200, { agents: store.list() });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (method === "GET" && agent && !agent[2]) {
|
|
63
|
+
json(res, 200, { agent: runtime ? runtime.get(canonical(agent[1])) : store.get(agent[1]) });
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (method !== "POST") {
|
|
67
|
+
json(res, 404, { error: "Unknown Windows agent operation" });
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const raw = await readBoundedWebBody(req, 40_000);
|
|
71
|
+
if (!authorized()) {
|
|
72
|
+
json(res, 403, { error: "Authorization expired" });
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const input = JSON.parse(raw.toString("utf8"));
|
|
76
|
+
if (path === "/ui/windows-cli/agents") {
|
|
77
|
+
const result = runtime ? await runtime.create(input, authorized) : null;
|
|
78
|
+
const created = result ? result.agent : await store.create(input, authorized);
|
|
79
|
+
if (!authorized()) {
|
|
80
|
+
json(res, 403, { error: "Authorization expired" });
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
json(res, 201, { ...(result ?? {}), agent: created });
|
|
84
|
+
}
|
|
85
|
+
else if (agent?.[2] === "messages" && runtime && ctx.deliverToInstance) {
|
|
86
|
+
if (!input || typeof input !== "object" || Array.isArray(input) || Object.keys(input).some(key => !["requestId", "prompt"].includes(key)) || !/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i.test(input.requestId) || typeof input.prompt !== "string" || !input.prompt.trim() || input.prompt.length > 8000)
|
|
87
|
+
throw new Error("Invalid Windows agent message");
|
|
88
|
+
const name = canonical(agent[1]), existing = runtime.get(name)?.turns.find(turn => turn.id === input.requestId);
|
|
89
|
+
if (existing && existing.prompt !== input.prompt)
|
|
90
|
+
throw new Error("requestId belongs to a different message");
|
|
91
|
+
if (!existing) {
|
|
92
|
+
const messageId = `native:${input.requestId}:user`, ts = new Date().toISOString();
|
|
93
|
+
const sent = await ctx.deliverToInstance(name, { type: "fleet_inbound", content: input.prompt, requestId: input.requestId, meta: { source: "web", user: "You", message_id: messageId, ts } }, { stillCurrent: authorized });
|
|
94
|
+
if (!authorized()) {
|
|
95
|
+
json(res, 403, { error: "Authorization expired" });
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (sent === false)
|
|
99
|
+
throw new Error("The instance did not accept this message");
|
|
100
|
+
ctx.emitSseEvent?.("message", { instance: name, role: "user", sender: "You", text: input.prompt, ts, messageId });
|
|
101
|
+
}
|
|
102
|
+
json(res, 202, { accepted: true, agent: runtime.get(name) });
|
|
103
|
+
}
|
|
104
|
+
else if (agent?.[2] === "messages")
|
|
105
|
+
json(res, 202, { task: store.send(agent[1], input, authorized) });
|
|
106
|
+
else if (agent?.[2] === "recover")
|
|
107
|
+
json(res, 200, { agent: runtime ? runtime.recoverAsync ? await runtime.recoverAsync(canonical(agent[1]), input.confirmedStopped) : runtime.recover(canonical(agent[1]), input.confirmedStopped) : store.recover(agent[1], input.confirmedStopped) });
|
|
108
|
+
else
|
|
109
|
+
json(res, 404, { error: "Unknown Windows agent operation" });
|
|
110
|
+
})().catch(error => {
|
|
111
|
+
const allowed = authorized();
|
|
112
|
+
json(res, allowed ? 400 : 403, { error: allowed ? error instanceof Error ? error.message : "Windows agent operation failed" : "Authorization expired" });
|
|
113
|
+
});
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
if ((method === "GET" || method === "HEAD") && (agentPage || path === "/ui/windows-cli")) {
|
|
117
|
+
return false; // The ordinary app shell owns this panel, after the preview/admin checks above.
|
|
118
|
+
}
|
|
119
|
+
if (method === "GET" && path === "/ui/windows-cli/tasks") {
|
|
120
|
+
json(res, 200, { tasks: service.list() });
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
const task = /^\/ui\/windows-cli\/tasks\/([a-z0-9-]{16,80})$/i.exec(path);
|
|
124
|
+
if (method === "GET" && task) {
|
|
125
|
+
const result = service.get(task[1]);
|
|
126
|
+
json(res, result ? 200 : 404, result ?? { error: "Task not found" });
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
const cancel = /^\/ui\/windows-cli\/tasks\/([a-z0-9-]{16,80})\/cancel$/i.exec(path);
|
|
130
|
+
if (method !== "POST" || (!cancel && path !== "/ui/windows-cli/tasks" && path !== "/ui/windows-cli/probe")) {
|
|
131
|
+
json(res, 404, { error: "Unknown Windows CLI operation" });
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
void (async () => {
|
|
135
|
+
const raw = await readBoundedWebBody(req, 80_000);
|
|
136
|
+
if (!authorized()) {
|
|
137
|
+
json(res, 403, { error: "Authorization expired" });
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const input = raw.length ? JSON.parse(raw.toString("utf8")) : {};
|
|
141
|
+
if (path === "/ui/windows-cli/probe") {
|
|
142
|
+
if (!input || typeof input !== "object" || Array.isArray(input) || Object.keys(input).some(key => key !== "force") || (input.force !== undefined && typeof input.force !== "boolean"))
|
|
143
|
+
throw new Error("Probe accepts only an optional boolean force field");
|
|
144
|
+
const result = await service.probe(input, authorized);
|
|
145
|
+
if (!authorized()) {
|
|
146
|
+
json(res, 403, { error: "Authorization expired" });
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
json(res, 200, result);
|
|
150
|
+
}
|
|
151
|
+
else if (cancel)
|
|
152
|
+
json(res, 202, service.cancel(cancel[1]));
|
|
153
|
+
else
|
|
154
|
+
json(res, 202, service.start(input, authorized));
|
|
155
|
+
})().catch(error => json(res, 400, { error: error instanceof Error ? error.message : "Windows CLI operation failed" }));
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=windows-cli-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windows-cli-api.js","sourceRoot":"","sources":["../src/windows-cli-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native Windows CLI adapters. Built-ins only: also loaded by Windows Node from WSL.
|
|
3
|
+
* Protocol references (fixtures below intentionally require explicit terminal success):
|
|
4
|
+
* - Antigravity: https://antigravity.google/docs/cli/headless/
|
|
5
|
+
* - Grok: https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/14-headless-mode.md
|
|
6
|
+
* - OpenCode: https://opencode.ai/docs/cli/ and anomalyco/opencode#26855 (stdin/step_finish).
|
|
7
|
+
* - Muse: https://dev.meta.ai/docs/muse-code/extending and meta-models/muse-code-sdk MSP schema.
|
|
8
|
+
* - Claude flags were checked against the installed native 2.1.299 --help.
|
|
9
|
+
*/
|
|
10
|
+
export declare const NATIVE_PROVIDER_IDS: readonly ["codex", "claude-code", "antigravity", "grok", "kiro-cli", "opencode", "muse"];
|
|
11
|
+
export type NativeProviderId = typeof NATIVE_PROVIDER_IDS[number];
|
|
12
|
+
export type NativeSandbox = "read-only" | "workspace-write";
|
|
13
|
+
/** Internal execution capability. Never accepted as part of a public task input or persisted with a turn. */
|
|
14
|
+
export interface NativeMcpConnection {
|
|
15
|
+
endpoint: string;
|
|
16
|
+
token: string;
|
|
17
|
+
tools: string[];
|
|
18
|
+
}
|
|
19
|
+
export declare const NATIVE_MCP_SERVER = "agend_native";
|
|
20
|
+
export declare function nativeProviderMcpSupported(cli: unknown): boolean;
|
|
21
|
+
export declare function validateNativeMcpConnection(value: unknown): NativeMcpConnection;
|
|
22
|
+
export interface NativeProviderDescriptor {
|
|
23
|
+
id: NativeProviderId;
|
|
24
|
+
name: string;
|
|
25
|
+
company: string;
|
|
26
|
+
/** Executable basenames only. IDE launchers such as kiro.cmd are deliberately excluded. */
|
|
27
|
+
binaryNames: readonly string[];
|
|
28
|
+
supports: {
|
|
29
|
+
execution: boolean;
|
|
30
|
+
resume: boolean;
|
|
31
|
+
model: boolean;
|
|
32
|
+
mcp?: boolean;
|
|
33
|
+
};
|
|
34
|
+
readOnlySupport: boolean;
|
|
35
|
+
permission: "os-sandbox" | "read-tools" | "native-policy";
|
|
36
|
+
permissionNote: string;
|
|
37
|
+
promptTransport: "stdin-text" | "stdin-json" | "file";
|
|
38
|
+
/** null means unknown, not signed out. These commands must never initiate a login. */
|
|
39
|
+
authProbe: readonly string[] | null;
|
|
40
|
+
/** A listing command only; never an inference/model request. */
|
|
41
|
+
modelProbe: readonly string[] | null;
|
|
42
|
+
reason?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare function isNativeProviderId(value: unknown): value is NativeProviderId;
|
|
45
|
+
export declare function nativeProvider(id: NativeProviderId): NativeProviderDescriptor;
|
|
46
|
+
/**
|
|
47
|
+
* M-2239 P1-2: each CLI's own "do not update" switch, put in front of every argv AgEnD runs (probe and task), as the
|
|
48
|
+
* Linux backends do (codex.ts, grok.ts). The env switches are in nativeCliEnvironment. Antigravity has no documented
|
|
49
|
+
* switch: it is started only by an administrator's explicit detection or a task, never on a timer or a read.
|
|
50
|
+
*/
|
|
51
|
+
export declare function nativeUpdateGuard(id: NativeProviderId): string[];
|
|
52
|
+
/** Empty means native CLI default. Models remain literal argv, never shell source. */
|
|
53
|
+
export declare function validateNativeModel(value: unknown): string | undefined;
|
|
54
|
+
export declare function validNativeSessionId(cli: NativeProviderId, value: unknown): value is string;
|
|
55
|
+
export interface NativeProviderTask {
|
|
56
|
+
cli: NativeProviderId;
|
|
57
|
+
cwd: string;
|
|
58
|
+
prompt: string;
|
|
59
|
+
sandbox: NativeSandbox;
|
|
60
|
+
model?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface NativeInvocationOptions {
|
|
63
|
+
resumeSessionId?: string;
|
|
64
|
+
/** For file transports, a private file containing exactly task.prompt, owned/cleaned up by the worker. */
|
|
65
|
+
promptFile?: string;
|
|
66
|
+
mcp?: NativeMcpLaunch;
|
|
67
|
+
}
|
|
68
|
+
export interface NativeMcpLaunch {
|
|
69
|
+
nodePath: string;
|
|
70
|
+
helperPath: string;
|
|
71
|
+
connectionPath: string;
|
|
72
|
+
configPath: string;
|
|
73
|
+
tools: string[];
|
|
74
|
+
serverName?: string;
|
|
75
|
+
}
|
|
76
|
+
export declare function nativeMcpServerConfig(launch: NativeMcpLaunch): {
|
|
77
|
+
mcpServers: Record<string, {
|
|
78
|
+
command: string;
|
|
79
|
+
args: string[];
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
82
|
+
export interface NativeInvocation {
|
|
83
|
+
args: string[];
|
|
84
|
+
stdin: string;
|
|
85
|
+
env?: Record<string, string>;
|
|
86
|
+
}
|
|
87
|
+
/** Launch-local file policy, supported by the audited native Claude release. No account settings are rewritten.
|
|
88
|
+
* acceptEdits alone can still honor broader ambient allow rules. This hard file-tool check takes precedence over
|
|
89
|
+
* those grants. User/project/local settings are excluded so inherited additionalDirectories cannot widen the file
|
|
90
|
+
* boundary. Managed organization policy remains provider-owned. This is not an OS sandbox for shell commands or MCP
|
|
91
|
+
* tools. Both the exec and persistent adapter must use this exact policy.
|
|
92
|
+
*/
|
|
93
|
+
export declare function nativeClaudeFilePolicyArgs(): string[];
|
|
94
|
+
/** Only an argv plan. The caller supplies cwd to spawn({ shell: false, stdio: ['pipe', ...] }). */
|
|
95
|
+
export declare function buildNativeInvocation(task: NativeProviderTask, options?: NativeInvocationOptions): NativeInvocation;
|
|
96
|
+
export interface NativeProviderEvent {
|
|
97
|
+
text?: string;
|
|
98
|
+
sessionId?: string;
|
|
99
|
+
completed?: boolean;
|
|
100
|
+
failed?: boolean;
|
|
101
|
+
error?: string;
|
|
102
|
+
}
|
|
103
|
+
/** A recognized provider event, never arbitrary stdout, supplies completion proof. */
|
|
104
|
+
export declare function parseNativeProviderEvent(cli: NativeProviderId, line: string): NativeProviderEvent | null;
|
|
105
|
+
/** No auth probe may infer signed-out from an unsupported command, timeout or malformed output. */
|
|
106
|
+
export declare function parseNativeAuthResult(cli: NativeProviderId, ok: boolean, output: string): boolean | null;
|
|
107
|
+
export interface NativeModelOption {
|
|
108
|
+
id: string;
|
|
109
|
+
name?: string;
|
|
110
|
+
description?: string;
|
|
111
|
+
}
|
|
112
|
+
/** Seven providers share a 64 KiB worker reply. Keep catalog data below 6 KiB each. */
|
|
113
|
+
export declare function boundNativeModelOptions(options: readonly NativeModelOption[]): NativeModelOption[];
|
|
114
|
+
/** Conservative model listing parser; malformed/unrecognized listings leave custom model entry available. */
|
|
115
|
+
export declare function parseNativeModels(cli: NativeProviderId, output: string): NativeModelOption[];
|