@seawork/server 1.0.22 → 2.0.2-rc.6
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/dist/scripts/supervisor-entrypoint.js +48 -8
- package/dist/scripts/supervisor-entrypoint.js.map +1 -1
- package/dist/scripts/supervisor-native-classifier.js +77 -5
- package/dist/scripts/supervisor-native-classifier.js.map +1 -1
- package/dist/scripts/supervisor-stdio-tail.js +27 -0
- package/dist/scripts/supervisor-stdio-tail.js.map +1 -0
- package/dist/scripts/supervisor.js +12 -0
- package/dist/scripts/supervisor.js.map +1 -1
- package/dist/server/client/daemon-client.d.ts +142 -2
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +384 -3
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +55 -3
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +324 -45
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.d.ts +1 -0
- package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.js +8 -0
- package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/server/server/agent/agent-projections.js +7 -2
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-response-loop.d.ts +3 -1
- package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
- package/dist/server/server/agent/agent-response-loop.js +33 -6
- package/dist/server/server/agent/agent-response-loop.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +43 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/claude-memory.d.ts +4 -0
- package/dist/server/server/agent/claude-memory.d.ts.map +1 -0
- package/dist/server/server/agent/claude-memory.js +97 -0
- package/dist/server/server/agent/claude-memory.js.map +1 -0
- package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-server.js +247 -0
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/mcp-shared.d.ts +2 -0
- package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.d.ts +6 -139
- package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.js +65 -33
- package/dist/server/server/agent/provider-launch-config.js.map +1 -1
- package/dist/server/server/agent/provider-manifest.d.ts +1 -0
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +36 -0
- package/dist/server/server/agent/provider-manifest.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +4 -0
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.d.ts +3 -1
- package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.js +13 -0
- package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +141 -27
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js +14 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +132 -4
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +2233 -163
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-binary-resolver.d.ts +9 -0
- package/dist/server/server/agent/providers/codex-binary-resolver.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-binary-resolver.js +35 -14
- package/dist/server/server/agent/providers/codex-binary-resolver.js.map +1 -1
- package/dist/server/server/agent/providers/codex-health-probe.js +1 -1
- package/dist/server/server/agent/providers/codex-health-probe.js.map +1 -1
- package/dist/server/server/agent/providers/deepseek/constants.d.ts +4 -0
- package/dist/server/server/agent/providers/deepseek/constants.d.ts.map +1 -0
- package/dist/server/server/agent/providers/deepseek/constants.js +11 -0
- package/dist/server/server/agent/providers/deepseek/constants.js.map +1 -0
- package/dist/server/server/agent/providers/deepseek/event-mapper.d.ts +21 -0
- package/dist/server/server/agent/providers/deepseek/event-mapper.d.ts.map +1 -0
- package/dist/server/server/agent/providers/deepseek/event-mapper.js +286 -0
- package/dist/server/server/agent/providers/deepseek/event-mapper.js.map +1 -0
- package/dist/server/server/agent/providers/deepseek/serve-client.d.ts +94 -0
- package/dist/server/server/agent/providers/deepseek/serve-client.d.ts.map +1 -0
- package/dist/server/server/agent/providers/deepseek/serve-client.js +142 -0
- package/dist/server/server/agent/providers/deepseek/serve-client.js.map +1 -0
- package/dist/server/server/agent/providers/deepseek/serve-process.d.ts +18 -0
- package/dist/server/server/agent/providers/deepseek/serve-process.d.ts.map +1 -0
- package/dist/server/server/agent/providers/deepseek/serve-process.js +93 -0
- package/dist/server/server/agent/providers/deepseek/serve-process.js.map +1 -0
- package/dist/server/server/agent/providers/deepseek-agent.d.ts +94 -0
- package/dist/server/server/agent/providers/deepseek-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/deepseek-agent.js +811 -0
- package/dist/server/server/agent/providers/deepseek-agent.js.map +1 -0
- package/dist/server/server/agent/providers/gateway-telemetry.d.ts +9 -0
- package/dist/server/server/agent/providers/gateway-telemetry.d.ts.map +1 -0
- package/dist/server/server/agent/providers/gateway-telemetry.js +36 -0
- package/dist/server/server/agent/providers/gateway-telemetry.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent/constants.d.ts +3 -0
- package/dist/server/server/agent/providers/seaagent/constants.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent/constants.js +3 -0
- package/dist/server/server/agent/providers/seaagent/constants.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent/event-mapper.d.ts +3 -0
- package/dist/server/server/agent/providers/seaagent/event-mapper.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent/event-mapper.js +69 -0
- package/dist/server/server/agent/providers/seaagent/event-mapper.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent/rpc-client.d.ts +23 -0
- package/dist/server/server/agent/providers/seaagent/rpc-client.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent/rpc-client.js +139 -0
- package/dist/server/server/agent/providers/seaagent/rpc-client.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent/tool-call-mapper.d.ts +3 -0
- package/dist/server/server/agent/providers/seaagent/tool-call-mapper.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent/tool-call-mapper.js +38 -0
- package/dist/server/server/agent/providers/seaagent/tool-call-mapper.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent-agent.d.ts +81 -0
- package/dist/server/server/agent/providers/seaagent-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent-agent.js +502 -0
- package/dist/server/server/agent/providers/seaagent-agent.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent-binary-resolver.d.ts +18 -0
- package/dist/server/server/agent/providers/seaagent-binary-resolver.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent-binary-resolver.js +46 -0
- package/dist/server/server/agent/providers/seaagent-binary-resolver.js.map +1 -0
- package/dist/server/server/agent/providers/seaagent-health-probe.d.ts +11 -0
- package/dist/server/server/agent/providers/seaagent-health-probe.d.ts.map +1 -0
- package/dist/server/server/agent/providers/seaagent-health-probe.js +49 -0
- package/dist/server/server/agent/providers/seaagent-health-probe.js.map +1 -0
- package/dist/server/server/agent/providers/seawork-models.d.ts +8 -0
- package/dist/server/server/agent/providers/seawork-models.d.ts.map +1 -1
- package/dist/server/server/agent/providers/seawork-models.js +118 -74
- package/dist/server/server/agent/providers/seawork-models.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +2 -2
- package/dist/server/server/agent/timeline-projection.d.ts +5 -1
- package/dist/server/server/agent/timeline-projection.d.ts.map +1 -1
- package/dist/server/server/agent/timeline-projection.js +20 -4
- package/dist/server/server/agent/timeline-projection.js.map +1 -1
- package/dist/server/server/agent-attention-policy.d.ts +1 -0
- package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.js +6 -0
- package/dist/server/server/agent-attention-policy.js.map +1 -1
- package/dist/server/server/allowed-hosts.d.ts +13 -0
- package/dist/server/server/allowed-hosts.d.ts.map +1 -1
- package/dist/server/server/allowed-hosts.js +33 -0
- package/dist/server/server/allowed-hosts.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +2 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +200 -14
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/browser-extension-token.d.ts +23 -0
- package/dist/server/server/browser-extension-token.d.ts.map +1 -0
- package/dist/server/server/browser-extension-token.js +114 -0
- package/dist/server/server/browser-extension-token.js.map +1 -0
- package/dist/server/server/bug-report-handler.d.ts +7 -1
- package/dist/server/server/bug-report-handler.d.ts.map +1 -1
- package/dist/server/server/bug-report-handler.js +73 -5
- package/dist/server/server/bug-report-handler.js.map +1 -1
- package/dist/server/server/bug-report-redact.d.ts +25 -1
- package/dist/server/server/bug-report-redact.d.ts.map +1 -1
- package/dist/server/server/bug-report-redact.js +42 -5
- package/dist/server/server/bug-report-redact.js.map +1 -1
- package/dist/server/server/config.d.ts +1 -0
- package/dist/server/server/config.d.ts.map +1 -1
- package/dist/server/server/config.js +51 -1
- package/dist/server/server/config.js.map +1 -1
- package/dist/server/server/crash-report.d.ts.map +1 -1
- package/dist/server/server/crash-report.js +18 -0
- package/dist/server/server/crash-report.js.map +1 -1
- package/dist/server/server/daemon-config-store.d.ts.map +1 -1
- package/dist/server/server/daemon-config-store.js +94 -3
- package/dist/server/server/daemon-config-store.js.map +1 -1
- package/dist/server/server/disk-full.d.ts +4 -0
- package/dist/server/server/disk-full.d.ts.map +1 -0
- package/dist/server/server/disk-full.js +46 -0
- package/dist/server/server/disk-full.js.map +1 -0
- package/dist/server/server/exports.d.ts +3 -2
- package/dist/server/server/exports.d.ts.map +1 -1
- package/dist/server/server/exports.js +2 -1
- package/dist/server/server/exports.js.map +1 -1
- package/dist/server/server/git-forge/github-client.d.ts +18 -0
- package/dist/server/server/git-forge/github-client.d.ts.map +1 -1
- package/dist/server/server/git-forge/github-client.js +88 -0
- package/dist/server/server/git-forge/github-client.js.map +1 -1
- package/dist/server/server/git-forge/parse-remote.d.ts +2 -0
- package/dist/server/server/git-forge/parse-remote.d.ts.map +1 -1
- package/dist/server/server/git-forge/parse-remote.js +71 -6
- package/dist/server/server/git-forge/parse-remote.js.map +1 -1
- package/dist/server/server/git-forge/service.d.ts +87 -0
- package/dist/server/server/git-forge/service.d.ts.map +1 -1
- package/dist/server/server/git-forge/service.js +198 -4
- package/dist/server/server/git-forge/service.js.map +1 -1
- package/dist/server/server/index.js +72 -0
- package/dist/server/server/index.js.map +1 -1
- package/dist/server/server/integrations/wecom-openclaw/bridge.d.ts +88 -0
- package/dist/server/server/integrations/wecom-openclaw/bridge.d.ts.map +1 -0
- package/dist/server/server/integrations/wecom-openclaw/bridge.js +1229 -0
- package/dist/server/server/integrations/wecom-openclaw/bridge.js.map +1 -0
- package/dist/server/server/integrations/wecom-openclaw/qr.d.ts +38 -0
- package/dist/server/server/integrations/wecom-openclaw/qr.d.ts.map +1 -0
- package/dist/server/server/integrations/wecom-openclaw/qr.js +101 -0
- package/dist/server/server/integrations/wecom-openclaw/qr.js.map +1 -0
- package/dist/server/server/integrations/wecom-openclaw/workspace.d.ts +5 -0
- package/dist/server/server/integrations/wecom-openclaw/workspace.d.ts.map +1 -0
- package/dist/server/server/integrations/wecom-openclaw/workspace.js +40 -0
- package/dist/server/server/integrations/wecom-openclaw/workspace.js.map +1 -0
- package/dist/server/server/latency-proxy.d.ts.map +1 -1
- package/dist/server/server/latency-proxy.js +45 -5
- package/dist/server/server/latency-proxy.js.map +1 -1
- package/dist/server/server/library/codex-skill-discovery.d.ts +9 -0
- package/dist/server/server/library/codex-skill-discovery.d.ts.map +1 -0
- package/dist/server/server/library/codex-skill-discovery.js +49 -0
- package/dist/server/server/library/codex-skill-discovery.js.map +1 -0
- package/dist/server/server/library/hub-install.d.ts +79 -0
- package/dist/server/server/library/hub-install.d.ts.map +1 -0
- package/dist/server/server/library/hub-install.js +263 -0
- package/dist/server/server/library/hub-install.js.map +1 -0
- package/dist/server/server/library/hub-test-run.d.ts +81 -0
- package/dist/server/server/library/hub-test-run.d.ts.map +1 -0
- package/dist/server/server/library/hub-test-run.js +237 -0
- package/dist/server/server/library/hub-test-run.js.map +1 -0
- package/dist/server/server/library/library-import.d.ts +27 -0
- package/dist/server/server/library/library-import.d.ts.map +1 -0
- package/dist/server/server/library/library-import.js +227 -0
- package/dist/server/server/library/library-import.js.map +1 -0
- package/dist/server/server/library/library-injection.d.ts +16 -0
- package/dist/server/server/library/library-injection.d.ts.map +1 -0
- package/dist/server/server/library/library-injection.js +49 -0
- package/dist/server/server/library/library-injection.js.map +1 -0
- package/dist/server/server/library/library-rpc.d.ts +73 -0
- package/dist/server/server/library/library-rpc.d.ts.map +1 -0
- package/dist/server/server/library/library-rpc.js +239 -0
- package/dist/server/server/library/library-rpc.js.map +1 -0
- package/dist/server/server/library/library-store.d.ts +35 -0
- package/dist/server/server/library/library-store.d.ts.map +1 -0
- package/dist/server/server/library/library-store.js +169 -0
- package/dist/server/server/library/library-store.js.map +1 -0
- package/dist/server/server/library/library-sync.d.ts +46 -0
- package/dist/server/server/library/library-sync.d.ts.map +1 -0
- package/dist/server/server/library/library-sync.js +235 -0
- package/dist/server/server/library/library-sync.js.map +1 -0
- package/dist/server/server/library/library-types.d.ts +756 -0
- package/dist/server/server/library/library-types.d.ts.map +1 -0
- package/dist/server/server/library/library-types.js +99 -0
- package/dist/server/server/library/library-types.js.map +1 -0
- package/dist/server/server/library/worktree-dev.d.ts +14 -0
- package/dist/server/server/library/worktree-dev.d.ts.map +1 -0
- package/dist/server/server/library/worktree-dev.js +24 -0
- package/dist/server/server/library/worktree-dev.js.map +1 -0
- package/dist/server/server/log-stream-error.d.ts +2 -0
- package/dist/server/server/log-stream-error.d.ts.map +1 -0
- package/dist/server/server/log-stream-error.js +33 -0
- package/dist/server/server/log-stream-error.js.map +1 -0
- package/dist/server/server/logger.d.ts +1 -0
- package/dist/server/server/logger.d.ts.map +1 -1
- package/dist/server/server/logger.js +32 -0
- package/dist/server/server/logger.js.map +1 -1
- package/dist/server/server/loop/rpc-schemas.d.ts +96 -96
- package/dist/server/server/loop-service.d.ts +18 -18
- package/dist/server/server/messages.d.ts +4 -1
- package/dist/server/server/messages.d.ts.map +1 -1
- package/dist/server/server/messages.js +40 -2
- package/dist/server/server/messages.js.map +1 -1
- package/dist/server/server/node-pty-error.d.ts +2 -0
- package/dist/server/server/node-pty-error.d.ts.map +1 -0
- package/dist/server/server/node-pty-error.js +19 -0
- package/dist/server/server/node-pty-error.js.map +1 -0
- package/dist/server/server/persisted-config.d.ts +219 -135
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +35 -1
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/port-in-use.d.ts +4 -0
- package/dist/server/server/port-in-use.d.ts.map +1 -0
- package/dist/server/server/port-in-use.js +35 -0
- package/dist/server/server/port-in-use.js.map +1 -0
- package/dist/server/server/provider-runtime-settings-mask.d.ts +7 -0
- package/dist/server/server/provider-runtime-settings-mask.d.ts.map +1 -0
- package/dist/server/server/provider-runtime-settings-mask.js +65 -0
- package/dist/server/server/provider-runtime-settings-mask.js.map +1 -0
- package/dist/server/server/sac/auth.d.ts +12 -0
- package/dist/server/server/sac/auth.d.ts.map +1 -1
- package/dist/server/server/sac/auth.js +19 -1
- package/dist/server/server/sac/auth.js.map +1 -1
- package/dist/server/server/sac/index.d.ts +2 -2
- package/dist/server/server/sac/index.d.ts.map +1 -1
- package/dist/server/server/sac/index.js +2 -2
- package/dist/server/server/sac/index.js.map +1 -1
- package/dist/server/server/sac/poll.d.ts +2 -0
- package/dist/server/server/sac/poll.d.ts.map +1 -1
- package/dist/server/server/sac/poll.js +7 -2
- package/dist/server/server/sac/poll.js.map +1 -1
- package/dist/server/server/schedule/cron.d.ts.map +1 -1
- package/dist/server/server/schedule/cron.js +6 -6
- package/dist/server/server/schedule/cron.js.map +1 -1
- package/dist/server/server/schedule/rpc-schemas.d.ts +895 -0
- package/dist/server/server/schedule/rpc-schemas.d.ts.map +1 -1
- package/dist/server/server/schedule/rpc-schemas.js +34 -0
- package/dist/server/server/schedule/rpc-schemas.js.map +1 -1
- package/dist/server/server/schedule/service.d.ts +5 -1
- package/dist/server/server/schedule/service.d.ts.map +1 -1
- package/dist/server/server/schedule/service.js +97 -14
- package/dist/server/server/schedule/service.js.map +1 -1
- package/dist/server/server/schedule/types.d.ts +19 -0
- package/dist/server/server/schedule/types.d.ts.map +1 -1
- package/dist/server/server/schedule/types.js +1 -0
- package/dist/server/server/schedule/types.js.map +1 -1
- package/dist/server/server/session.d.ts +83 -2
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +895 -82
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/speech/native-runtime-guard.d.ts +1 -0
- package/dist/server/server/speech/native-runtime-guard.d.ts.map +1 -1
- package/dist/server/server/speech/native-runtime-guard.js +10 -4
- package/dist/server/server/speech/native-runtime-guard.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +6 -1
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +79 -7
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/server/workspace-git-service.d.ts +2 -1
- package/dist/server/server/workspace-git-service.d.ts.map +1 -1
- package/dist/server/server/workspace-git-service.js +7 -3
- package/dist/server/server/workspace-git-service.js.map +1 -1
- package/dist/server/server/workspace-registry-model.d.ts +1 -0
- package/dist/server/server/workspace-registry-model.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-model.js +18 -0
- package/dist/server/server/workspace-registry-model.js.map +1 -1
- package/dist/server/server/worktree-session.d.ts +3 -3
- package/dist/server/server/worktree-session.d.ts.map +1 -1
- package/dist/server/server/worktree-session.js +1 -3
- package/dist/server/server/worktree-session.js.map +1 -1
- package/dist/server/shared/messages.d.ts +59658 -21927
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +531 -3
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/shared/provider-runtime-settings.d.ts +87 -0
- package/dist/server/shared/provider-runtime-settings.d.ts.map +1 -0
- package/dist/server/shared/provider-runtime-settings.js +33 -0
- package/dist/server/shared/provider-runtime-settings.js.map +1 -0
- package/dist/server/terminal/terminal.d.ts +9 -0
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +100 -3
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +23 -1
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +182 -21
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/directory-suggestions.d.ts.map +1 -1
- package/dist/server/utils/directory-suggestions.js +57 -9
- package/dist/server/utils/directory-suggestions.js.map +1 -1
- package/dist/src/server/bug-report-redact.js +42 -5
- package/dist/src/server/bug-report-redact.js.map +1 -1
- package/dist/src/server/crash-report.js +18 -0
- package/dist/src/server/crash-report.js.map +1 -1
- package/dist/src/server/speech/native-runtime-guard.js +177 -0
- package/dist/src/server/speech/native-runtime-guard.js.map +1 -0
- package/dist/src/server/speech/speech-types.js +8 -0
- package/dist/src/server/speech/speech-types.js.map +1 -0
- package/package.json +16 -4
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Health probe for the seaagent-server binary. `seaagent-server --probe`
|
|
2
|
+
// prints a one-line marker and exits 0; anything else means the candidate
|
|
3
|
+
// is not a usable seaagent-server.
|
|
4
|
+
import { spawnProcess } from "../../../utils/spawn.js";
|
|
5
|
+
const PROBE_MARKER = "seaagent-server ok";
|
|
6
|
+
const DEFAULT_TIMEOUT_MS = 10000;
|
|
7
|
+
export async function probeSeaAgentBinary(candidatePath, options = {}) {
|
|
8
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
9
|
+
const argv = [...(options.args ?? []), "--probe"];
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
let stdout = "";
|
|
12
|
+
let settled = false;
|
|
13
|
+
const finish = (result) => {
|
|
14
|
+
if (settled) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
settled = true;
|
|
18
|
+
resolve(result);
|
|
19
|
+
};
|
|
20
|
+
const child = spawnProcess(candidatePath, argv, {
|
|
21
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
22
|
+
env: options.spawnEnv ?? process.env,
|
|
23
|
+
});
|
|
24
|
+
const timer = setTimeout(() => {
|
|
25
|
+
child.kill("SIGKILL");
|
|
26
|
+
finish({ ok: false, reason: "probe-timeout" });
|
|
27
|
+
}, timeoutMs);
|
|
28
|
+
child.stdout?.on("data", (chunk) => {
|
|
29
|
+
stdout += chunk.toString();
|
|
30
|
+
});
|
|
31
|
+
child.on("error", (error) => {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
finish({ ok: false, reason: `spawn-error: ${error.message}` });
|
|
34
|
+
});
|
|
35
|
+
child.on("exit", (code) => {
|
|
36
|
+
clearTimeout(timer);
|
|
37
|
+
if (code !== 0) {
|
|
38
|
+
finish({ ok: false, reason: `probe-exit:${code}` });
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!stdout.includes(PROBE_MARKER)) {
|
|
42
|
+
finish({ ok: false, reason: "probe-marker-missing" });
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
finish({ ok: true });
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=seaagent-health-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seaagent-health-probe.js","sourceRoot":"","sources":["../../../../../src/server/agent/providers/seaagent-health-probe.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,0EAA0E;AAC1E,mCAAmC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAiBlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,EACrB,UAAiC,EAAE;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAElD,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,EAAE;QACnD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAA4B,EAAE,EAAE;YAC9C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE;YAC9C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG;SACrC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { AgentModelDefinition, AgentProvider } from "../agent-sdk-types.js";
|
|
2
2
|
export declare function getSeaworkModels(provider: AgentProvider): Promise<AgentModelDefinition[]>;
|
|
3
|
+
/**
|
|
4
|
+
* Return the entire gateway model catalog re-tagged for a single provider.
|
|
5
|
+
* Used by providers (seaagent) that are OpenAI-compatible and can run any
|
|
6
|
+
* gateway model regardless of which native vendor it originated from, so the
|
|
7
|
+
* per-vendor `provider` filter in {@link getSeaworkModels} would wrongly hide
|
|
8
|
+
* most of the catalog from them.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAllSeaworkModelsForProvider(provider: AgentProvider): Promise<AgentModelDefinition[]>;
|
|
3
11
|
export declare function invalidateModelCache(): void;
|
|
4
12
|
//# sourceMappingURL=seawork-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seawork-models.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/seawork-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seawork-models.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/seawork-models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAqB,MAAM,uBAAuB,CAAC;AAwQpG,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAkB/F;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAcjC;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { tryLoadPersistedConfig } from "../../persisted-config.js";
|
|
4
|
+
import { loadAuthConfig } from "../../sac/auth.js";
|
|
5
|
+
import { buildSeaworkGatewayHeaders } from "./gateway-telemetry.js";
|
|
6
|
+
/**
|
|
7
|
+
* Sea-work-service base URL used to fetch the gateway model catalog. Mirrors
|
|
8
|
+
* the constant the desktop app injects as `SEAWORK_API_BASE_URL` when it
|
|
9
|
+
* spawns the daemon — used as a fallback for launch paths that don't inject
|
|
10
|
+
* it (e.g. `npm run dev`, CLI-started daemons).
|
|
11
|
+
*/
|
|
12
|
+
const DEFAULT_SEAWORK_API_BASE_URL = "https://sea-work-service.gpu-service.dev.seaart.dev";
|
|
4
13
|
const CACHE_TTL_MS = 5 * 60 * 1000;
|
|
14
|
+
const MODEL_CATALOG_FETCH_TIMEOUT_MS = 10000;
|
|
5
15
|
const CODEX_THINKING_OPTIONS = [
|
|
6
16
|
{ id: "minimal", label: "Minimal" },
|
|
7
17
|
{ id: "low", label: "Low" },
|
|
@@ -74,36 +84,77 @@ let cachedModels = null;
|
|
|
74
84
|
let cachedAt = 0;
|
|
75
85
|
// In-flight promise so concurrent callers share one fetch. Without this,
|
|
76
86
|
// two providers (claude + codex) hitting fetchAllModels at the same time
|
|
77
|
-
// after the cache expires both enter the network branch
|
|
78
|
-
//
|
|
79
|
-
// to the hardcoded FALLBACK_MODELS) even though the other concurrently
|
|
80
|
-
// succeeded. Sharing the promise also makes the cache write race-free.
|
|
87
|
+
// after the cache expires both enter the network branch. Sharing the promise
|
|
88
|
+
// also makes the cache write race-free.
|
|
81
89
|
let pendingFetch = null;
|
|
90
|
+
class ModelCatalogUnavailableError extends Error {
|
|
91
|
+
constructor(message) {
|
|
92
|
+
super(message);
|
|
93
|
+
this.name = "ModelCatalogUnavailableError";
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Sea-work-service base URL. Priority: `SEAWORK_API_BASE_URL` env (injected by
|
|
98
|
+
* the desktop daemon spawn) → bundled default. The default keeps model fetching
|
|
99
|
+
* working on launch paths that don't set the env, such as `npm run dev`.
|
|
100
|
+
*/
|
|
82
101
|
function getApiBaseUrl() {
|
|
83
|
-
return process.env.SEAWORK_API_BASE_URL ||
|
|
102
|
+
return process.env.SEAWORK_API_BASE_URL || DEFAULT_SEAWORK_API_BASE_URL;
|
|
84
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Gateway API key. Priority: `*_API_KEY` env (desktop spawn) → `auth.json`
|
|
106
|
+
* token written by the Seawork app login. Without the auth.json fallback,
|
|
107
|
+
* daemons started outside the desktop see no key and the gateway fetch fails.
|
|
108
|
+
*/
|
|
85
109
|
function getApiKey() {
|
|
86
|
-
return process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY || null;
|
|
110
|
+
return (process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY || loadAuthConfig().token || null);
|
|
111
|
+
}
|
|
112
|
+
function parseGatewayModelEntries(json) {
|
|
113
|
+
if ("code" in json) {
|
|
114
|
+
if (json.code !== 0 || !json.data) {
|
|
115
|
+
throw new ModelCatalogUnavailableError("Model catalog unavailable: invalid gateway response");
|
|
116
|
+
}
|
|
117
|
+
return Object.entries(json.data).filter((entry) => typeof entry[0] === "string" && typeof entry[1] === "string" && entry[1].trim().length > 0);
|
|
118
|
+
}
|
|
119
|
+
const models = Array.isArray(json.data) ? json.data : null;
|
|
120
|
+
if (!models) {
|
|
121
|
+
throw new ModelCatalogUnavailableError("Model catalog unavailable: invalid gateway response");
|
|
122
|
+
}
|
|
123
|
+
return models
|
|
124
|
+
.map((entry) => entry?.id?.trim() ?? "")
|
|
125
|
+
.filter((id) => id.length > 0)
|
|
126
|
+
.map((id) => [id, id]);
|
|
87
127
|
}
|
|
88
128
|
async function fetchAllModelsFromGateway() {
|
|
89
129
|
const baseUrl = getApiBaseUrl();
|
|
90
|
-
if (!baseUrl)
|
|
91
|
-
return cachedModels ?? [];
|
|
92
130
|
const apiKey = getApiKey();
|
|
131
|
+
if (!apiKey) {
|
|
132
|
+
throw new ModelCatalogUnavailableError("Model catalog unavailable: missing API token");
|
|
133
|
+
}
|
|
134
|
+
const headers = {
|
|
135
|
+
Authorization: `Bearer ${apiKey}`,
|
|
136
|
+
...buildSeaworkGatewayHeaders("model-catalog"),
|
|
137
|
+
};
|
|
138
|
+
const controller = new AbortController();
|
|
139
|
+
const timeout = setTimeout(() => {
|
|
140
|
+
controller.abort();
|
|
141
|
+
}, MODEL_CATALOG_FETCH_TIMEOUT_MS);
|
|
93
142
|
try {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
143
|
+
const res = await fetch(`${baseUrl}/api/v1/models`, {
|
|
144
|
+
headers,
|
|
145
|
+
signal: controller.signal,
|
|
146
|
+
});
|
|
147
|
+
if (!res.ok) {
|
|
148
|
+
throw new ModelCatalogUnavailableError(`Model catalog unavailable: gateway returned HTTP ${res.status}`);
|
|
97
149
|
}
|
|
98
|
-
const res = await fetch(`${baseUrl}/api/v1/models`, { headers });
|
|
99
150
|
const json = (await res.json());
|
|
100
|
-
|
|
101
|
-
|
|
151
|
+
const entries = parseGatewayModelEntries(json);
|
|
152
|
+
if (entries.length === 0) {
|
|
153
|
+
throw new ModelCatalogUnavailableError("Model catalog unavailable: empty model catalog");
|
|
102
154
|
}
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
const entries = Object.entries(json.data);
|
|
155
|
+
// The legacy gateway returns { "display-name": "gateway-model-id" } while
|
|
156
|
+
// OpenAI-compatible `/v1/models` returns [{ id }]. In the latter case the
|
|
157
|
+
// label falls back to the raw model id and is prettified below.
|
|
107
158
|
cachedModels = entries.map(([displayName, gatewayId], index) => decorateWithThinkingOptions({
|
|
108
159
|
provider: resolveProvider(gatewayId),
|
|
109
160
|
id: gatewayId,
|
|
@@ -113,8 +164,19 @@ async function fetchAllModelsFromGateway() {
|
|
|
113
164
|
cachedAt = Date.now();
|
|
114
165
|
return cachedModels;
|
|
115
166
|
}
|
|
116
|
-
catch {
|
|
117
|
-
|
|
167
|
+
catch (error) {
|
|
168
|
+
if (error instanceof ModelCatalogUnavailableError) {
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
const reason = error instanceof Error && error.name === "AbortError"
|
|
172
|
+
? `timed out after ${MODEL_CATALOG_FETCH_TIMEOUT_MS}ms`
|
|
173
|
+
: error instanceof Error && error.message
|
|
174
|
+
? error.message
|
|
175
|
+
: String(error);
|
|
176
|
+
throw new ModelCatalogUnavailableError(`Model catalog unavailable: ${reason}`);
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
clearTimeout(timeout);
|
|
118
180
|
}
|
|
119
181
|
}
|
|
120
182
|
async function fetchAllModels() {
|
|
@@ -135,68 +197,27 @@ function resolveProvider(modelId) {
|
|
|
135
197
|
return "claude";
|
|
136
198
|
if (modelId.startsWith("gemini"))
|
|
137
199
|
return "claude";
|
|
200
|
+
if (modelId.startsWith("deepseek"))
|
|
201
|
+
return "deepseek";
|
|
138
202
|
if (modelId.startsWith("gpt") || modelId.startsWith("o1") || modelId.startsWith("o3")) {
|
|
139
203
|
return "codex";
|
|
140
204
|
}
|
|
141
205
|
return "claude";
|
|
142
206
|
}
|
|
207
|
+
function isModelVisibleForProvider(model, provider) {
|
|
208
|
+
if (model.provider === provider)
|
|
209
|
+
return true;
|
|
210
|
+
return provider === "claude" && model.provider === "deepseek";
|
|
211
|
+
}
|
|
212
|
+
function retagModelForProvider(model, provider) {
|
|
213
|
+
return model.provider === provider ? model : decorateWithThinkingOptions({ ...model, provider });
|
|
214
|
+
}
|
|
143
215
|
function formatLabel(id) {
|
|
144
216
|
return id
|
|
145
217
|
.split("-")
|
|
146
218
|
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
147
219
|
.join(" ");
|
|
148
220
|
}
|
|
149
|
-
const FALLBACK_MODELS = [
|
|
150
|
-
{
|
|
151
|
-
provider: "claude",
|
|
152
|
-
id: "claude-opus-4-7[1m]",
|
|
153
|
-
label: "Opus 4.7 1M",
|
|
154
|
-
description: "Opus 4.7 with 1M context window",
|
|
155
|
-
isDefault: false,
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
provider: "claude",
|
|
159
|
-
id: "claude-opus-4-7",
|
|
160
|
-
label: "Opus 4.7",
|
|
161
|
-
description: "Opus 4.7 · Most capable for complex work",
|
|
162
|
-
isDefault: true,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
provider: "claude",
|
|
166
|
-
id: "claude-sonnet-4-6",
|
|
167
|
-
label: "Sonnet 4.6",
|
|
168
|
-
description: "Sonnet 4.6 · Best for everyday tasks",
|
|
169
|
-
isDefault: false,
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
provider: "claude",
|
|
173
|
-
id: "claude-haiku-4-5",
|
|
174
|
-
label: "Haiku 4.5",
|
|
175
|
-
description: "Haiku 4.5 · Fastest for quick answers",
|
|
176
|
-
isDefault: false,
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
provider: "claude",
|
|
180
|
-
id: "gemini-3.1-pro-preview-seawork",
|
|
181
|
-
label: "Gemini 3.1 Pro",
|
|
182
|
-
description: "Gemini 3.1 Pro Preview · Served through the Seawork Claude gateway",
|
|
183
|
-
isDefault: false,
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
provider: "codex",
|
|
187
|
-
id: "gpt-5.5",
|
|
188
|
-
label: "GPT 5.5",
|
|
189
|
-
description: "GPT 5.5 · Latest OpenAI model",
|
|
190
|
-
isDefault: true,
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
provider: "codex",
|
|
194
|
-
id: "gpt-5.3-codex",
|
|
195
|
-
label: "GPT 5.3 Codex",
|
|
196
|
-
description: "GPT 5.3 Codex · Optimized for coding",
|
|
197
|
-
isDefault: false,
|
|
198
|
-
},
|
|
199
|
-
];
|
|
200
221
|
export async function getSeaworkModels(provider) {
|
|
201
222
|
// Priority 1: local overrides in ~/.seawork/config.json (agents.models.<provider>).
|
|
202
223
|
const local = loadLocalModelOverrides(provider);
|
|
@@ -205,16 +226,39 @@ export async function getSeaworkModels(provider) {
|
|
|
205
226
|
}
|
|
206
227
|
// Priority 2: gateway-fetched list (cached).
|
|
207
228
|
const all = await fetchAllModels();
|
|
208
|
-
let filtered = all
|
|
209
|
-
|
|
229
|
+
let filtered = all
|
|
230
|
+
.filter((m) => isModelVisibleForProvider(m, provider))
|
|
231
|
+
.map((m) => retagModelForProvider(m, provider));
|
|
210
232
|
if (filtered.length === 0) {
|
|
211
|
-
|
|
233
|
+
throw new ModelCatalogUnavailableError(`Model catalog unavailable: no models for ${provider}`);
|
|
212
234
|
}
|
|
213
235
|
if (filtered.length > 0 && !filtered.some((m) => m.isDefault)) {
|
|
214
236
|
filtered[0].isDefault = true;
|
|
215
237
|
}
|
|
216
238
|
return filtered;
|
|
217
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Return the entire gateway model catalog re-tagged for a single provider.
|
|
242
|
+
* Used by providers (seaagent) that are OpenAI-compatible and can run any
|
|
243
|
+
* gateway model regardless of which native vendor it originated from, so the
|
|
244
|
+
* per-vendor `provider` filter in {@link getSeaworkModels} would wrongly hide
|
|
245
|
+
* most of the catalog from them.
|
|
246
|
+
*/
|
|
247
|
+
export async function getAllSeaworkModelsForProvider(provider) {
|
|
248
|
+
const local = loadLocalModelOverrides(provider);
|
|
249
|
+
if (local) {
|
|
250
|
+
return local;
|
|
251
|
+
}
|
|
252
|
+
const all = await fetchAllModels();
|
|
253
|
+
let models = all.map((m) => ({ ...m, provider }));
|
|
254
|
+
if (models.length === 0) {
|
|
255
|
+
throw new ModelCatalogUnavailableError("Model catalog unavailable: empty model catalog");
|
|
256
|
+
}
|
|
257
|
+
if (models.length > 0 && !models.some((m) => m.isDefault)) {
|
|
258
|
+
models[0].isDefault = true;
|
|
259
|
+
}
|
|
260
|
+
return models;
|
|
261
|
+
}
|
|
218
262
|
export function invalidateModelCache() {
|
|
219
263
|
cachedModels = null;
|
|
220
264
|
cachedAt = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seawork-models.js","sourceRoot":"","sources":["../../../../../src/server/agent/providers/seawork-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"seawork-models.js","sourceRoot":"","sources":["../../../../../src/server/agent/providers/seawork-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -665,9 +665,9 @@ export declare const ToolEditInputSchema: z.ZodEffects<z.ZodIntersection<z.ZodUn
|
|
|
665
665
|
}, z.ZodTypeAny, "passthrough">) & {
|
|
666
666
|
content?: string | undefined;
|
|
667
667
|
diff?: string | undefined;
|
|
668
|
+
patch?: string | undefined;
|
|
668
669
|
oldContent?: string | undefined;
|
|
669
670
|
newContent?: string | undefined;
|
|
670
|
-
patch?: string | undefined;
|
|
671
671
|
old_str?: string | undefined;
|
|
672
672
|
old_string?: string | undefined;
|
|
673
673
|
new_str?: string | undefined;
|
|
@@ -764,9 +764,9 @@ export declare const ToolEditOutputSchema: z.ZodUnion<[z.ZodEffects<z.ZodInterse
|
|
|
764
764
|
}, z.ZodTypeAny, "passthrough">) & {
|
|
765
765
|
content?: string | undefined;
|
|
766
766
|
diff?: string | undefined;
|
|
767
|
+
patch?: string | undefined;
|
|
767
768
|
oldContent?: string | undefined;
|
|
768
769
|
newContent?: string | undefined;
|
|
769
|
-
patch?: string | undefined;
|
|
770
770
|
old_str?: string | undefined;
|
|
771
771
|
old_string?: string | undefined;
|
|
772
772
|
new_str?: string | undefined;
|
|
@@ -16,13 +16,17 @@ export type TimelineProjectionEntry = {
|
|
|
16
16
|
sourceSeqRanges: TimelineSeqRange[];
|
|
17
17
|
collapsed: TimelineProjectionKind[];
|
|
18
18
|
};
|
|
19
|
+
export type TimelineProjectionOptions = {
|
|
20
|
+
legacySystemErrorsAsAssistantMessage?: boolean;
|
|
21
|
+
legacyReconnectingAsReasoning?: boolean;
|
|
22
|
+
};
|
|
19
23
|
type ProjectedWindowSelection = {
|
|
20
24
|
projectedEntries: TimelineProjectionEntry[];
|
|
21
25
|
selectedRows: AgentTimelineRow[];
|
|
22
26
|
minSeq: number | null;
|
|
23
27
|
maxSeq: number | null;
|
|
24
28
|
};
|
|
25
|
-
export declare function projectTimelineRows(rows: readonly AgentTimelineRow[], provider: AgentProvider, mode: TimelineProjectionMode): TimelineProjectionEntry[];
|
|
29
|
+
export declare function projectTimelineRows(rows: readonly AgentTimelineRow[], provider: AgentProvider, mode: TimelineProjectionMode, options?: TimelineProjectionOptions): TimelineProjectionEntry[];
|
|
26
30
|
/**
|
|
27
31
|
* Select a timeline window based on projected-entry count, then map it back to
|
|
28
32
|
* contiguous canonical rows. This avoids cutting through merged assistant
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-projection.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/timeline-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline-projection.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/timeline-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,WAAW,CAAC;AAG/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAGF,KAAK,wBAAwB,GAAG;IAC9B,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AA+LF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EACjC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,yBAAyB,GAClC,uBAAuB,EAAE,CAQ3B;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,IAAI,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GAAG,wBAAwB,CAkF3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const SYSTEM_ERROR_PREFIX = "[System Error]";
|
|
1
2
|
function appendSeqToRanges(ranges, seq) {
|
|
2
3
|
if (ranges.length === 0) {
|
|
3
4
|
return [{ startSeq: seq, endSeq: seq }];
|
|
@@ -54,10 +55,25 @@ function mergeToolCallItems(existing, incoming) {
|
|
|
54
55
|
}
|
|
55
56
|
return merged;
|
|
56
57
|
}
|
|
57
|
-
function makeCanonicalEntries(rows, provider) {
|
|
58
|
+
function makeCanonicalEntries(rows, provider, options) {
|
|
58
59
|
return rows.map((row) => ({
|
|
59
60
|
provider,
|
|
60
|
-
item: row.item
|
|
61
|
+
item: options?.legacySystemErrorsAsAssistantMessage && row.item.type === "error"
|
|
62
|
+
? {
|
|
63
|
+
type: "assistant_message",
|
|
64
|
+
text: `${SYSTEM_ERROR_PREFIX} ${row.item.message}`,
|
|
65
|
+
}
|
|
66
|
+
: options?.legacyReconnectingAsReasoning && row.item.type === "reconnecting"
|
|
67
|
+
? {
|
|
68
|
+
type: "reasoning",
|
|
69
|
+
text: row.item.status === "loading"
|
|
70
|
+
? `Reconnecting to Codex stream${typeof row.item.attempt === "number" &&
|
|
71
|
+
typeof row.item.maxAttempts === "number"
|
|
72
|
+
? ` (${row.item.attempt}/${row.item.maxAttempts})`
|
|
73
|
+
: ""}...`
|
|
74
|
+
: "Codex stream reconnected.",
|
|
75
|
+
}
|
|
76
|
+
: row.item,
|
|
61
77
|
timestamp: row.timestamp,
|
|
62
78
|
seqStart: row.seq,
|
|
63
79
|
seqEnd: row.seq,
|
|
@@ -131,8 +147,8 @@ function mergeAssistantChunks(entries) {
|
|
|
131
147
|
}
|
|
132
148
|
return output;
|
|
133
149
|
}
|
|
134
|
-
export function projectTimelineRows(rows, provider, mode) {
|
|
135
|
-
const canonical = makeCanonicalEntries(rows, provider);
|
|
150
|
+
export function projectTimelineRows(rows, provider, mode, options) {
|
|
151
|
+
const canonical = makeCanonicalEntries(rows, provider, options);
|
|
136
152
|
if (mode === "canonical") {
|
|
137
153
|
return canonical;
|
|
138
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-projection.js","sourceRoot":"","sources":["../../../../src/server/agent/timeline-projection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timeline-projection.js","sourceRoot":"","sources":["../../../../src/server/agent/timeline-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-attention-policy.d.ts","sourceRoot":"","sources":["../../../src/server/agent-attention-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-attention-policy.d.ts","sourceRoot":"","sources":["../../../src/server/agent-attention-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACzC,CAAC;AA4BF,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,eAAe,EACf,OAAO,GACR,EAAE,8BAA8B,GAAG,OAAO,CAmC1C;AAED,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,eAAe,GAChB,EAAE,4BAA4B,GAAG,OAAO,CAMxC"}
|
|
@@ -20,6 +20,12 @@ export function computeShouldNotifyClient({ clientState, allClientStates, agentI
|
|
|
20
20
|
if (!clientState.isStale && clientState.appVisible && clientState.focusedAgentId !== null) {
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
+
if (!clientState.isStale &&
|
|
24
|
+
!clientState.appVisible &&
|
|
25
|
+
clientState.deviceType === "web" &&
|
|
26
|
+
clientState.desktopRuntime !== false) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
23
29
|
if (!clientState.isStale) {
|
|
24
30
|
return false;
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-attention-policy.js","sourceRoot":"","sources":["../../../src/server/agent-attention-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-attention-policy.js","sourceRoot":"","sources":["../../../src/server/agent-attention-policy.ts"],"names":[],"mappings":"AAqBA,SAAS,sBAAsB,CAAC,eAAuC,EAAE,OAAe;IACtF,OAAO,eAAe,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,eAAuC;IACjE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAiC,EACjC,eAAuC;IAEvC,OAAO,eAAe,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,eAAuC;IAC9E,OAAO,eAAe,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAC/E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,WAAW,EACX,eAAe,EACf,OAAO,GACwB;IAC/B,IAAI,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,CAAC,WAAW,CAAC,OAAO;QACpB,CAAC,WAAW,CAAC,UAAU;QACvB,WAAW,CAAC,UAAU,KAAK,KAAK;QAChC,WAAW,CAAC,cAAc,KAAK,KAAK,EACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,eAAe,GACc;IAC7B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -8,6 +8,19 @@ export type AllowedHostsConfig = true | string[] | undefined;
|
|
|
8
8
|
* - `allowedHosts === ['.example.com', 'myhost']` => allow those *in addition* to defaults.
|
|
9
9
|
*/
|
|
10
10
|
export declare function isHostAllowed(hostHeader: string | undefined, allowedHosts: AllowedHostsConfig): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* True for any `http(s)://` origin pointing at the local machine
|
|
13
|
+
* (localhost, *.localhost, or a loopback IP), on any port.
|
|
14
|
+
*
|
|
15
|
+
* The packaged desktop serves its renderer from a local HTTP server on a
|
|
16
|
+
* port that varies between launches (preferred 6768, falls back to a random
|
|
17
|
+
* port when taken), so its Origin can't be pinned to a fixed allowlist
|
|
18
|
+
* entry. Origin is defense-in-depth only — a browser never lets a remote
|
|
19
|
+
* page forge a `localhost` Origin, and DNS-rebinding is covered separately
|
|
20
|
+
* by the Host allowlist (see SECURITY.md) — so trusting any loopback Origin
|
|
21
|
+
* is safe and removes a whole class of port-drift breakage.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isLoopbackOrigin(origin: string | undefined): boolean;
|
|
11
24
|
export declare function mergeAllowedHosts(values: Array<AllowedHostsConfig>): AllowedHostsConfig;
|
|
12
25
|
export declare function parseAllowedHostsEnv(raw: string | undefined): AllowedHostsConfig;
|
|
13
26
|
//# sourceMappingURL=allowed-hosts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed-hosts.d.ts","sourceRoot":"","sources":["../../../src/server/allowed-hosts.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AA8C7D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAcT;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAUvF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAShF"}
|
|
1
|
+
{"version":3,"file":"allowed-hosts.d.ts","sourceRoot":"","sources":["../../../src/server/allowed-hosts.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AA8C7D;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAcT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAgBpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAUvF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,CAShF"}
|
|
@@ -66,6 +66,39 @@ export function isHostAllowed(hostHeader, allowedHosts) {
|
|
|
66
66
|
}
|
|
67
67
|
return false;
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* True for any `http(s)://` origin pointing at the local machine
|
|
71
|
+
* (localhost, *.localhost, or a loopback IP), on any port.
|
|
72
|
+
*
|
|
73
|
+
* The packaged desktop serves its renderer from a local HTTP server on a
|
|
74
|
+
* port that varies between launches (preferred 6768, falls back to a random
|
|
75
|
+
* port when taken), so its Origin can't be pinned to a fixed allowlist
|
|
76
|
+
* entry. Origin is defense-in-depth only — a browser never lets a remote
|
|
77
|
+
* page forge a `localhost` Origin, and DNS-rebinding is covered separately
|
|
78
|
+
* by the Host allowlist (see SECURITY.md) — so trusting any loopback Origin
|
|
79
|
+
* is safe and removes a whole class of port-drift breakage.
|
|
80
|
+
*/
|
|
81
|
+
export function isLoopbackOrigin(origin) {
|
|
82
|
+
if (!origin)
|
|
83
|
+
return false;
|
|
84
|
+
let url;
|
|
85
|
+
try {
|
|
86
|
+
url = new URL(origin);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (url.protocol !== "http:" && url.protocol !== "https:")
|
|
92
|
+
return false;
|
|
93
|
+
// URL keeps IPv6 hosts bracketed (`[::1]`); strip for IP matching.
|
|
94
|
+
const hostname = normalizeHostname(url.hostname).replace(/^\[|\]$/g, "");
|
|
95
|
+
if (hostname === "localhost" || hostname.endsWith(".localhost"))
|
|
96
|
+
return true;
|
|
97
|
+
if (net.isIP(hostname) !== 0) {
|
|
98
|
+
return hostname === "::1" || hostname.startsWith("127.");
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
69
102
|
export function mergeAllowedHosts(values) {
|
|
70
103
|
let merged = [];
|
|
71
104
|
for (const value of values) {
|