@0xmaxma/claude-gateway 2.0.6 → 2.0.7
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 +14 -1
- package/dist/agent/builtin-commands.js +5 -5
- package/dist/agent/builtin-commands.js.map +1 -1
- package/dist/agent/command-help.d.ts +9 -0
- package/dist/agent/command-help.d.ts.map +1 -0
- package/dist/agent/command-help.js +50 -0
- package/dist/agent/command-help.js.map +1 -0
- package/dist/agent/dreaming/index.d.ts +6 -3
- package/dist/agent/dreaming/index.d.ts.map +1 -1
- package/dist/agent/dreaming/index.js +21 -1
- package/dist/agent/dreaming/index.js.map +1 -1
- package/dist/agent/knowledge/reflection.d.ts +7 -4
- package/dist/agent/knowledge/reflection.d.ts.map +1 -1
- package/dist/agent/knowledge/reflection.js +19 -1
- package/dist/agent/knowledge/reflection.js.map +1 -1
- package/dist/agent/runner.d.ts +37 -3
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +164 -47
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-confirmations.d.ts +12 -0
- package/dist/agent/session-confirmations.d.ts.map +1 -0
- package/dist/agent/session-confirmations.js +43 -0
- package/dist/agent/session-confirmations.js.map +1 -0
- package/dist/agent/session-status.d.ts +7 -0
- package/dist/agent/session-status.d.ts.map +1 -0
- package/dist/agent/session-status.js +16 -0
- package/dist/agent/session-status.js.map +1 -0
- package/dist/agent/skill-learning/index.d.ts +5 -1
- package/dist/agent/skill-learning/index.d.ts.map +1 -1
- package/dist/agent/skill-learning/index.js +23 -1
- package/dist/agent/skill-learning/index.js.map +1 -1
- package/dist/agent/skill-learning/notifier.d.ts +2 -1
- package/dist/agent/skill-learning/notifier.d.ts.map +1 -1
- package/dist/agent/skill-learning/notifier.js +1 -0
- package/dist/agent/skill-learning/notifier.js.map +1 -1
- package/dist/api/apps-router.d.ts.map +1 -1
- package/dist/api/apps-router.js +1 -3
- package/dist/api/apps-router.js.map +1 -1
- package/dist/api/cron-router.d.ts +1 -1
- package/dist/api/cron-router.d.ts.map +1 -1
- package/dist/api/cron-router.js +4 -4
- package/dist/api/cron-router.js.map +1 -1
- package/dist/api/dashboard-processes.d.ts +86 -0
- package/dist/api/dashboard-processes.d.ts.map +1 -0
- package/dist/api/dashboard-processes.js +155 -0
- package/dist/api/dashboard-processes.js.map +1 -0
- package/dist/api/dashboard-sessions.d.ts +15 -0
- package/dist/api/dashboard-sessions.d.ts.map +1 -0
- package/dist/api/dashboard-sessions.js +66 -0
- package/dist/api/dashboard-sessions.js.map +1 -0
- package/dist/api/gateway-router.d.ts +3 -4
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +77 -56
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/oauth-connectors-router.d.ts +1 -1
- package/dist/api/oauth-connectors-router.d.ts.map +1 -1
- package/dist/api/oauth-connectors-router.js +11 -21
- package/dist/api/oauth-connectors-router.js.map +1 -1
- package/dist/api/router.d.ts +1 -1
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +3 -9
- package/dist/api/router.js.map +1 -1
- package/dist/api/share-router.d.ts +1 -1
- package/dist/api/share-router.d.ts.map +1 -1
- package/dist/api/share-router.js +1 -1
- package/dist/api/share-router.js.map +1 -1
- package/dist/api/slack-webhook-router.js +1 -1
- package/dist/api/slack-webhook-router.js.map +1 -1
- package/dist/api/voice-router.d.ts +1 -0
- package/dist/api/voice-router.d.ts.map +1 -1
- package/dist/api/voice-router.js +7 -0
- package/dist/api/voice-router.js.map +1 -1
- package/dist/apps/agent-container-migration.d.ts +2 -0
- package/dist/apps/agent-container-migration.d.ts.map +1 -1
- package/dist/apps/agent-container-migration.js +59 -2
- package/dist/apps/agent-container-migration.js.map +1 -1
- package/dist/apps/agent-manager.d.ts +4 -2
- package/dist/apps/agent-manager.d.ts.map +1 -1
- package/dist/apps/agent-manager.js +39 -3
- package/dist/apps/agent-manager.js.map +1 -1
- package/dist/apps/installer.d.ts +4 -3
- package/dist/apps/installer.d.ts.map +1 -1
- package/dist/apps/installer.js +8 -4
- package/dist/apps/installer.js.map +1 -1
- package/dist/build-provenance.json +8 -0
- package/dist/cli/args.js +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/app.d.ts.map +1 -1
- package/dist/cli/commands/app.js +39 -3
- package/dist/cli/commands/app.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +6 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/safemode.d.ts +2 -0
- package/dist/cli/commands/safemode.d.ts.map +1 -0
- package/dist/cli/commands/safemode.js +279 -0
- package/dist/cli/commands/safemode.js.map +1 -0
- package/dist/cli/dependencies.d.ts +2 -0
- package/dist/cli/dependencies.d.ts.map +1 -1
- package/dist/cli/dependencies.js +81 -0
- package/dist/cli/dependencies.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +11 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/manager.d.ts.map +1 -1
- package/dist/cli/manager.js +4 -1
- package/dist/cli/manager.js.map +1 -1
- package/dist/config/agent-lifecycle.d.ts +26 -0
- package/dist/config/agent-lifecycle.d.ts.map +1 -0
- package/dist/config/agent-lifecycle.js +63 -0
- package/dist/config/agent-lifecycle.js.map +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +11 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/reload-policy.d.ts +9 -0
- package/dist/config/reload-policy.d.ts.map +1 -0
- package/dist/config/reload-policy.js +62 -0
- package/dist/config/reload-policy.js.map +1 -0
- package/dist/config/watcher.d.ts +3 -2
- package/dist/config/watcher.d.ts.map +1 -1
- package/dist/config/watcher.js +34 -51
- package/dist/config/watcher.js.map +1 -1
- package/dist/cron/tool-schemas.d.ts +296 -0
- package/dist/cron/tool-schemas.d.ts.map +1 -0
- package/dist/cron/tool-schemas.js +122 -0
- package/dist/cron/tool-schemas.js.map +1 -0
- package/dist/index.js +141 -158
- package/dist/index.js.map +1 -1
- package/dist/orchestration/agent-tool-schemas.js +4 -4
- package/dist/orchestration/agent-tool-schemas.js.map +1 -1
- package/dist/orchestration/background-work.d.ts +9 -0
- package/dist/orchestration/background-work.d.ts.map +1 -0
- package/dist/orchestration/background-work.js +49 -0
- package/dist/orchestration/background-work.js.map +1 -0
- package/dist/orchestration/bridge.d.ts +6 -15
- package/dist/orchestration/bridge.d.ts.map +1 -1
- package/dist/orchestration/bridge.js +67 -32
- package/dist/orchestration/bridge.js.map +1 -1
- package/dist/orchestration/capabilities.d.ts.map +1 -1
- package/dist/orchestration/capabilities.js +18 -10
- package/dist/orchestration/capabilities.js.map +1 -1
- package/dist/orchestration/capacity.d.ts +3 -2
- package/dist/orchestration/capacity.d.ts.map +1 -1
- package/dist/orchestration/capacity.js +7 -0
- package/dist/orchestration/capacity.js.map +1 -1
- package/dist/orchestration/channel-controls.d.ts.map +1 -1
- package/dist/orchestration/channel-controls.js +3 -2
- package/dist/orchestration/channel-controls.js.map +1 -1
- package/dist/orchestration/cli-skills.d.ts +5 -0
- package/dist/orchestration/cli-skills.d.ts.map +1 -1
- package/dist/orchestration/container-tool-schemas.d.ts +37 -0
- package/dist/orchestration/container-tool-schemas.d.ts.map +1 -0
- package/dist/orchestration/container-tool-schemas.js +27 -0
- package/dist/orchestration/container-tool-schemas.js.map +1 -0
- package/dist/orchestration/container.d.ts.map +1 -1
- package/dist/orchestration/container.js +7 -0
- package/dist/orchestration/container.js.map +1 -1
- package/dist/orchestration/dashboard-reader-worker.js +7 -7
- package/dist/orchestration/dashboard-reader-worker.js.map +1 -1
- package/dist/orchestration/decision-context.js +1 -1
- package/dist/orchestration/decision-context.js.map +1 -1
- package/dist/orchestration/gateway-tasks/controller.d.ts +29 -0
- package/dist/orchestration/gateway-tasks/controller.d.ts.map +1 -0
- package/dist/orchestration/gateway-tasks/controller.js +139 -0
- package/dist/orchestration/gateway-tasks/controller.js.map +1 -0
- package/dist/orchestration/gateway-tasks/safemode.d.ts +19 -0
- package/dist/orchestration/gateway-tasks/safemode.d.ts.map +1 -0
- package/dist/orchestration/gateway-tasks/safemode.js +128 -0
- package/dist/orchestration/gateway-tasks/safemode.js.map +1 -0
- package/dist/orchestration/process-turn.d.ts +11 -2
- package/dist/orchestration/process-turn.d.ts.map +1 -1
- package/dist/orchestration/process-turn.js +47 -7
- package/dist/orchestration/process-turn.js.map +1 -1
- package/dist/orchestration/recovery.d.ts.map +1 -1
- package/dist/orchestration/recovery.js +4 -2
- package/dist/orchestration/recovery.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +10 -0
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +31 -4
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/skills.d.ts +2 -0
- package/dist/orchestration/skills.d.ts.map +1 -1
- package/dist/orchestration/skills.js +4 -3
- package/dist/orchestration/skills.js.map +1 -1
- package/dist/orchestration/task-controls.d.ts +12 -0
- package/dist/orchestration/task-controls.d.ts.map +1 -1
- package/dist/orchestration/task-controls.js +3 -1
- package/dist/orchestration/task-controls.js.map +1 -1
- package/dist/orchestration/tasks/driver.d.ts.map +1 -1
- package/dist/orchestration/tasks/driver.js +99 -12
- package/dist/orchestration/tasks/driver.js.map +1 -1
- package/dist/orchestration/tasks/pool.d.ts +2 -0
- package/dist/orchestration/tasks/pool.d.ts.map +1 -1
- package/dist/orchestration/tasks/pool.js +4 -0
- package/dist/orchestration/tasks/pool.js.map +1 -1
- package/dist/orchestration/tasks/scheduler.d.ts.map +1 -1
- package/dist/orchestration/tasks/scheduler.js +4 -0
- package/dist/orchestration/tasks/scheduler.js.map +1 -1
- package/dist/orchestration/tasks/service.d.ts +4 -0
- package/dist/orchestration/tasks/service.d.ts.map +1 -1
- package/dist/orchestration/tasks/service.js +38 -8
- package/dist/orchestration/tasks/service.js.map +1 -1
- package/dist/orchestration/token-ledger.d.ts +1 -0
- package/dist/orchestration/token-ledger.d.ts.map +1 -1
- package/dist/orchestration/token-ledger.js +6 -2
- package/dist/orchestration/token-ledger.js.map +1 -1
- package/dist/orchestration/token-usage.d.ts +3 -0
- package/dist/orchestration/token-usage.d.ts.map +1 -1
- package/dist/orchestration/token-usage.js +12 -3
- package/dist/orchestration/token-usage.js.map +1 -1
- package/dist/orchestration/types.d.ts +19 -1
- package/dist/orchestration/types.d.ts.map +1 -1
- package/dist/orchestration/types.js.map +1 -1
- package/dist/orchestration/worker-crons.d.ts +5 -0
- package/dist/orchestration/worker-crons.d.ts.map +1 -0
- package/dist/orchestration/worker-crons.js +84 -0
- package/dist/orchestration/worker-crons.js.map +1 -0
- package/dist/orchestration/worker-harness.d.ts +15 -0
- package/dist/orchestration/worker-harness.d.ts.map +1 -0
- package/dist/orchestration/worker-harness.js +72 -0
- package/dist/orchestration/worker-harness.js.map +1 -0
- package/dist/safemode/config.d.ts +7 -0
- package/dist/safemode/config.d.ts.map +1 -0
- package/dist/safemode/config.js +67 -0
- package/dist/safemode/config.js.map +1 -0
- package/dist/safemode/context.d.ts +7 -0
- package/dist/safemode/context.d.ts.map +1 -0
- package/dist/safemode/context.js +397 -0
- package/dist/safemode/context.js.map +1 -0
- package/dist/safemode/external-owners.d.ts +19 -0
- package/dist/safemode/external-owners.d.ts.map +1 -0
- package/dist/safemode/external-owners.js +229 -0
- package/dist/safemode/external-owners.js.map +1 -0
- package/dist/safemode/native.d.ts +38 -0
- package/dist/safemode/native.d.ts.map +1 -0
- package/dist/safemode/native.js +220 -0
- package/dist/safemode/native.js.map +1 -0
- package/dist/safemode/params.d.ts +10 -0
- package/dist/safemode/params.d.ts.map +1 -0
- package/dist/safemode/params.js +86 -0
- package/dist/safemode/params.js.map +1 -0
- package/dist/safemode/provenance.d.ts +45 -0
- package/dist/safemode/provenance.d.ts.map +1 -0
- package/dist/safemode/provenance.js +153 -0
- package/dist/safemode/provenance.js.map +1 -0
- package/dist/safemode/runner.d.ts +17 -0
- package/dist/safemode/runner.d.ts.map +1 -0
- package/dist/safemode/runner.js +398 -0
- package/dist/safemode/runner.js.map +1 -0
- package/dist/safemode/store.d.ts +56 -0
- package/dist/safemode/store.d.ts.map +1 -0
- package/dist/safemode/store.js +451 -0
- package/dist/safemode/store.js.map +1 -0
- package/dist/session/codex-auth.d.ts +37 -0
- package/dist/session/codex-auth.d.ts.map +1 -0
- package/dist/session/codex-auth.js +266 -0
- package/dist/session/codex-auth.js.map +1 -0
- package/dist/session/codex-container-runtime.d.ts +15 -0
- package/dist/session/codex-container-runtime.d.ts.map +1 -0
- package/dist/session/codex-container-runtime.js +85 -0
- package/dist/session/codex-container-runtime.js.map +1 -0
- package/dist/session/codex-context-defaults.json +5 -0
- package/dist/session/codex-context.d.ts +13 -0
- package/dist/session/codex-context.d.ts.map +1 -0
- package/dist/session/codex-context.js +27 -0
- package/dist/session/codex-context.js.map +1 -0
- package/dist/session/codex-extension-discovery.d.ts +21 -0
- package/dist/session/codex-extension-discovery.d.ts.map +1 -0
- package/dist/session/codex-extension-discovery.js +132 -0
- package/dist/session/codex-extension-discovery.js.map +1 -0
- package/dist/session/codex-native-mcp-client.d.ts +37 -0
- package/dist/session/codex-native-mcp-client.d.ts.map +1 -0
- package/dist/session/codex-native-mcp-client.js +164 -0
- package/dist/session/codex-native-mcp-client.js.map +1 -0
- package/dist/session/codex-policy.d.ts +6 -0
- package/dist/session/codex-policy.d.ts.map +1 -0
- package/dist/session/codex-policy.js +17 -0
- package/dist/session/codex-policy.js.map +1 -0
- package/dist/session/codex-process.d.ts +114 -0
- package/dist/session/codex-process.d.ts.map +1 -0
- package/dist/session/codex-process.js +759 -0
- package/dist/session/codex-process.js.map +1 -0
- package/dist/session/codex-runtime.d.ts +20 -0
- package/dist/session/codex-runtime.d.ts.map +1 -0
- package/dist/session/codex-runtime.js +182 -0
- package/dist/session/codex-runtime.js.map +1 -0
- package/dist/session/codex-tool-capture.d.ts +35 -0
- package/dist/session/codex-tool-capture.d.ts.map +1 -0
- package/dist/session/codex-tool-capture.js +178 -0
- package/dist/session/codex-tool-capture.js.map +1 -0
- package/dist/session/container-connectors.d.ts +10 -0
- package/dist/session/container-connectors.d.ts.map +1 -0
- package/dist/session/container-connectors.js +41 -0
- package/dist/session/container-connectors.js.map +1 -0
- package/dist/session/container-extensions.d.ts +4 -0
- package/dist/session/container-extensions.d.ts.map +1 -0
- package/dist/session/container-extensions.js +45 -0
- package/dist/session/container-extensions.js.map +1 -0
- package/dist/session/managed-connectors.d.ts +16 -0
- package/dist/session/managed-connectors.d.ts.map +1 -0
- package/dist/session/managed-connectors.js +25 -0
- package/dist/session/managed-connectors.js.map +1 -0
- package/dist/session/process-diagnostics.d.ts +14 -0
- package/dist/session/process-diagnostics.d.ts.map +1 -0
- package/dist/session/process-diagnostics.js +39 -0
- package/dist/session/process-diagnostics.js.map +1 -0
- package/dist/session/process.d.ts +4 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +21 -16
- package/dist/session/process.js.map +1 -1
- package/dist/session/request-tool-capture.d.ts +1 -1
- package/dist/session/request-tool-capture.d.ts.map +1 -1
- package/dist/session/runtime-profile.d.ts +8 -0
- package/dist/session/runtime-profile.d.ts.map +1 -1
- package/dist/session/runtime-profile.js +3 -2
- package/dist/session/runtime-profile.js.map +1 -1
- package/dist/session/worker-environment.d.ts +5 -0
- package/dist/session/worker-environment.d.ts.map +1 -0
- package/dist/session/worker-environment.js +27 -0
- package/dist/session/worker-environment.js.map +1 -0
- package/dist/session/worker-extensions.d.ts +20 -0
- package/dist/session/worker-extensions.d.ts.map +1 -0
- package/dist/session/worker-extensions.js +322 -0
- package/dist/session/worker-extensions.js.map +1 -0
- package/dist/skills/loader.d.ts +2 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/codex-context.d.ts +4 -0
- package/dist/ui/codex-context.d.ts.map +1 -0
- package/dist/ui/codex-context.js +15 -0
- package/dist/ui/codex-context.js.map +1 -0
- package/dist/ui/dashboard-client.d.ts.map +1 -1
- package/dist/ui/dashboard-client.js +14 -11
- package/dist/ui/dashboard-client.js.map +1 -1
- package/dist/ui/dashboard-presentation.d.ts +1 -1
- package/dist/ui/dashboard-presentation.d.ts.map +1 -1
- package/dist/ui/dashboard-presentation.js +2 -2
- package/dist/ui/dashboard-presentation.js.map +1 -1
- package/dist/ui/token-report.d.ts +3 -0
- package/dist/ui/token-report.d.ts.map +1 -1
- package/dist/ui/token-report.js +22 -10
- package/dist/ui/token-report.js.map +1 -1
- package/dist/ui/web-ui.d.ts.map +1 -1
- package/dist/ui/web-ui.js +53 -132
- package/dist/ui/web-ui.js.map +1 -1
- package/mcp/capability-catalog.ts +2 -0
- package/mcp/extension-catalog.ts +18 -0
- package/mcp/lazy-connector.ts +4 -2
- package/mcp/lazy-tools.test.ts +29 -0
- package/mcp/modules.ts +1 -0
- package/mcp/server.ts +2 -2
- package/mcp/tools/cron/module.ts +8 -114
- package/mcp/tools/discord/commands.ts +4 -1
- package/mcp/tools/safemode/module.test.ts +29 -0
- package/mcp/tools/telegram/receiver-server.ts +2 -22
- package/mcp/tools/telegram/task-detail.ts +2 -1
- package/package.json +3 -2
- package/scripts/orchestration/audit-codex-context.cjs +83 -0
- package/scripts/orchestration/benchmark-worker-harnesses.cjs +112 -0
- package/scripts/orchestration/smoke-codex-extensions.ts +29 -0
- package/scripts/orchestration/smoke-codex-worker.cjs +166 -0
- package/scripts/orchestration/smoke-safemode-codex.cjs +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-connectors.js","sourceRoot":"","sources":["../../src/session/container-connectors.ts"],"names":[],"mappings":";;AAYA,sDAaC;AAED,gEAMC;AAjCD,iDAAyC;AACzC,+BAAiC;AACjC,0CAAoD;AACpD,+BAAqC;AACrC,2BAA4B;AAC5B,0DAA2D;AAG3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;AACnD;;mFAEmF;AACnF,SAAgB,qBAAqB,CAAC,KAAK,GAAG,mBAAmB,EAAE,SAAwB,KAAK;IAC9F,MAAM,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC;IACjC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC3C,MAAM,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAA,cAAO,EAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,WAAW,GAAG,MAAM,EAAE,eAAe,EAAE,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC/M,OAAO,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;oBAAS,CAAC;gBAAC,MAAM,IAAA,aAAE,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3J,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,KAAkB,EAAE,SAAiB,EAAE,OAA4B;IAClH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,cAAc,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACzI,MAAM,IAAA,yBAAa,EAAC,KAAK,CAAC,SAAU,EAAE,qQAAqQ,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACxX,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-extensions.d.ts","sourceRoot":"","sources":["../../src/session/container-extensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAC;AAO5E,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0B/F"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.discoverContainerExtensions = discoverContainerExtensions;
|
|
4
|
+
const container_1 = require("../orchestration/container");
|
|
5
|
+
const parser_1 = require("../skills/parser");
|
|
6
|
+
const codex_extension_discovery_1 = require("./codex-extension-discovery");
|
|
7
|
+
const codex_runtime_1 = require("./codex-runtime");
|
|
8
|
+
const os_1 = require("os");
|
|
9
|
+
const container_connectors_1 = require("./container-connectors");
|
|
10
|
+
async function discoverContainerExtensions(agent) {
|
|
11
|
+
await (0, container_1.validateContainer)(agent);
|
|
12
|
+
const code = await (0, container_connectors_1.bundleContainerModule)('extension-catalog.ts', 'cjs');
|
|
13
|
+
const codexHome = await (0, container_1.containerNode)(agent.container, "process.stdout.write(process.env.CODEX_HOME || require('path').join(process.env.HOME, '.codex'));", []);
|
|
14
|
+
let native;
|
|
15
|
+
const notices = [];
|
|
16
|
+
try {
|
|
17
|
+
native = await (0, codex_extension_discovery_1.inspectCodexExtensions)(codex_runtime_1.CODEX_CONTAINER_EXECUTABLE, '/workspace', { ...process.env, CODEX_HOME: codexHome }, agent.container);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
notices.push('Native Codex extension discovery is unavailable inside this container. Its gateway and Claude extension MCP remain available.');
|
|
21
|
+
}
|
|
22
|
+
// Both harnesses use the same file/enablement reader, executed entirely inside
|
|
23
|
+
// the selected container. Native metadata is passed over stdin, never argv.
|
|
24
|
+
const data = JSON.parse(await (0, container_1.containerNode)(agent.container, `let s='';process.stdin.on('data',b=>s+=b);process.stdin.on('end',()=>{const p=JSON.parse(s);globalThis.__gatewayNativeExtensions=p.native;const Module=require('module');const m=new Module('/tmp/gateway-extension-catalog.cjs');m.filename='/tmp/gateway-extension-catalog.cjs';m.paths=[];m._compile(p.code,m.filename);});`, ['/workspace', (0, os_1.homedir)()], JSON.stringify({ code, native })));
|
|
25
|
+
data.notices.push(...notices);
|
|
26
|
+
if (native) {
|
|
27
|
+
const servers = Object.entries(native.config.mcp_servers ?? {}).filter(([, entry]) => entry.enabled !== false).map(([name]) => name);
|
|
28
|
+
if (servers.length || native.pluginIds?.length)
|
|
29
|
+
data.servers.codex_native = { nativeCodex: { bin: codex_runtime_1.CODEX_CONTAINER_EXECUTABLE, cwd: '/workspace', home: codexHome, servers, pluginIds: native.pluginIds ?? [] } };
|
|
30
|
+
}
|
|
31
|
+
const skills = [];
|
|
32
|
+
for (const skill of data.skills ?? []) {
|
|
33
|
+
const fm = (0, parser_1.extractFrontmatter)(skill.content)?.frontmatter;
|
|
34
|
+
if (fm?.['user-invocable'] === false)
|
|
35
|
+
continue;
|
|
36
|
+
const entry = { ...skill, description: (typeof fm?.description === 'string' ? fm.description : `Container skill ${skill.name}`).slice(0, 4096) };
|
|
37
|
+
const index = skills.findIndex(value => value.name === entry.name);
|
|
38
|
+
if (index >= 0)
|
|
39
|
+
skills[index] = entry;
|
|
40
|
+
else
|
|
41
|
+
skills.push(entry);
|
|
42
|
+
}
|
|
43
|
+
return { skills, servers: data.servers ?? {}, notices: data.notices ?? [] };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=container-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-extensions.js","sourceRoot":"","sources":["../../src/session/container-extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AgentConfig, GatewayConfig } from '../types';
|
|
2
|
+
import type { RuntimeProfile } from './runtime-profile';
|
|
3
|
+
/** Both worker harnesses use the same host-only connector policy and lazy proxy.
|
|
4
|
+
* Track paths before writing so failed preparation can also remove credentials. */
|
|
5
|
+
export declare function prepareManagedConnectors(agent: AgentConfig, gateway: GatewayConfig, profile: RuntimeProfile, paths: Set<string>, extensions?: Record<string, any>): {
|
|
6
|
+
servers: {
|
|
7
|
+
[k: string]: {
|
|
8
|
+
command: string;
|
|
9
|
+
args: string[];
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
connectors: {
|
|
13
|
+
[k: string]: any;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=managed-connectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-connectors.d.ts","sourceRoot":"","sources":["../../src/session/managed-connectors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;mFACmF;AACnF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EACjF,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;EAclF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prepareManagedConnectors = prepareManagedConnectors;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const resolve_1 = require("../connectors/resolve");
|
|
7
|
+
const custom_1 = require("../connectors/custom");
|
|
8
|
+
/** Both worker harnesses use the same host-only connector policy and lazy proxy.
|
|
9
|
+
* Track paths before writing so failed preparation can also remove credentials. */
|
|
10
|
+
function prepareManagedConnectors(agent, gateway, profile, paths, extensions = {}) {
|
|
11
|
+
const connectors = profile.role === 'worker' && profile.hostExecution &&
|
|
12
|
+
agent.type !== 'app-agent' && agent.allow_tools !== false && profile.connectorsAllowed !== false
|
|
13
|
+
? (0, resolve_1.resolveEnabledConnectors)(agent, gateway.gateway.customConnectors, gateway.gateway.connectorsDefaultEnabled ?? true)
|
|
14
|
+
: {};
|
|
15
|
+
const eligible = Object.entries({ ...(profile.hostExecution && agent.type !== 'app-agent' && agent.allow_tools !== false && profile.connectorsAllowed !== false ? extensions : {}), ...connectors }).filter(([id]) => !(0, custom_1.isReservedConnectorId)(id));
|
|
16
|
+
const servers = Object.fromEntries(eligible.map(([id, server], index) => {
|
|
17
|
+
const filename = (0, path_1.join)((0, path_1.dirname)(profile.mcpConfigPath), `connector-${index}.json`);
|
|
18
|
+
paths.add(filename);
|
|
19
|
+
(0, fs_1.writeFileSync)(filename, JSON.stringify(server), { mode: 0o600 });
|
|
20
|
+
(0, fs_1.chmodSync)(filename, 0o600);
|
|
21
|
+
return [id, { command: 'bun', args: [(0, path_1.resolve)(__dirname, '../../mcp/lazy-connector.ts'), filename] }];
|
|
22
|
+
}));
|
|
23
|
+
return { servers, connectors: Object.fromEntries(eligible) };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=managed-connectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-connectors.js","sourceRoot":"","sources":["../../src/session/managed-connectors.ts"],"names":[],"mappings":";;AASA,4DAeC;AAxBD,2BAA8C;AAC9C,+BAA8C;AAG9C,mDAAiE;AACjE,iDAA6D;AAE7D;mFACmF;AACnF,SAAgB,wBAAwB,CAAC,KAAkB,EAAE,OAAsB,EACjF,OAAuB,EAAE,KAAkB,EAAE,aAAkC,EAAE;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa;QACnE,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK;QAChG,CAAC,CAAC,IAAA,kCAAwB,EAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;QACrH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,8BAAqB,EAAC,EAAE,CAAC,CAAC,CAAC;IAClP,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;QACtE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC;QACjF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpB,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,IAAA,cAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAA,cAAO,EAAC,SAAS,EAAE,6BAA6B,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Protocol outcomes are independent of OS exit codes and CLI stderr warnings. */
|
|
2
|
+
export type TurnOutcome = 'pending' | 'completed' | 'failed' | 'cancelled' | 'timeout';
|
|
3
|
+
export declare class ProcessDiagnostics {
|
|
4
|
+
outcome: TurnOutcome;
|
|
5
|
+
stopReason?: 'cancelled' | 'timeout' | 'shutdown';
|
|
6
|
+
stderrObserved: boolean;
|
|
7
|
+
nativeMessageId?: string;
|
|
8
|
+
errorCode?: string;
|
|
9
|
+
reset(): void;
|
|
10
|
+
observe(event: Record<string, any>): void;
|
|
11
|
+
finish(outcome: TurnOutcome, errorCode?: string): void;
|
|
12
|
+
snapshot(): object;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=process-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-diagnostics.d.ts","sourceRoot":"","sources":["../../src/session/process-diagnostics.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AACvF,qBAAa,kBAAkB;IAC7B,OAAO,EAAE,WAAW,CAAa;IACjC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IAClD,cAAc,UAAS;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKzC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAItD,QAAQ,IAAI,MAAM;CAQnB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessDiagnostics = void 0;
|
|
4
|
+
class ProcessDiagnostics {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.outcome = 'pending';
|
|
7
|
+
this.stderrObserved = false;
|
|
8
|
+
}
|
|
9
|
+
reset() {
|
|
10
|
+
this.outcome = 'pending';
|
|
11
|
+
this.stopReason = undefined;
|
|
12
|
+
this.stderrObserved = false;
|
|
13
|
+
this.nativeMessageId = undefined;
|
|
14
|
+
this.errorCode = undefined;
|
|
15
|
+
}
|
|
16
|
+
observe(event) {
|
|
17
|
+
const id = event.message?.id ?? event.event?.message?.id;
|
|
18
|
+
if (typeof id === 'string')
|
|
19
|
+
this.nativeMessageId = id;
|
|
20
|
+
if (event.type === 'result' && this.outcome === 'pending')
|
|
21
|
+
this.outcome = event.is_error || (typeof event.subtype === 'string' && event.subtype.startsWith('error')) ? 'failed' : 'completed';
|
|
22
|
+
}
|
|
23
|
+
finish(outcome, errorCode) {
|
|
24
|
+
this.outcome = outcome;
|
|
25
|
+
this.errorCode = errorCode;
|
|
26
|
+
if (outcome === 'timeout' || outcome === 'cancelled')
|
|
27
|
+
this.stopReason = outcome;
|
|
28
|
+
}
|
|
29
|
+
snapshot() {
|
|
30
|
+
return { turnOutcome: this.outcome, stopReason: this.stopReason,
|
|
31
|
+
exitReason: this.stopReason ?? (this.outcome === 'completed' ? 'completed' : this.outcome === 'failed' ? 'failed' : 'unexpected_exit'),
|
|
32
|
+
nativeMessageId: this.nativeMessageId, errorCode: this.errorCode,
|
|
33
|
+
stderrObserved: this.stderrObserved,
|
|
34
|
+
// A warning alone establishes neither success nor a provider rejection.
|
|
35
|
+
inferenceOutcome: this.outcome === 'completed' ? 'succeeded' : this.outcome === 'failed' ? 'failed' : 'unconfirmed' };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ProcessDiagnostics = ProcessDiagnostics;
|
|
39
|
+
//# sourceMappingURL=process-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-diagnostics.js","sourceRoot":"","sources":["../../src/session/process-diagnostics.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAA/B;QACE,YAAO,GAAgB,SAAS,CAAC;QAEjC,mBAAc,GAAG,KAAK,CAAC;IAwBzB,CAAC;IArBC,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QACnF,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,KAA0B;QAChC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IAChM,CAAC;IACD,MAAM,CAAC,OAAoB,EAAE,SAAkB;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAClF,CAAC;IACD,QAAQ;QACN,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC7D,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACtI,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS;YAChE,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,wEAAwE;YACxE,gBAAgB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC1H,CAAC;CACF;AA3BD,gDA2BC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TurnOutcome } from './process-diagnostics';
|
|
1
2
|
import { RequestToolSchemas } from './request-tool-capture';
|
|
2
3
|
import type { InputImage } from './input-image';
|
|
3
4
|
import { EventEmitter } from 'events';
|
|
@@ -46,6 +47,9 @@ export declare class SessionProcess extends EventEmitter {
|
|
|
46
47
|
} | null;
|
|
47
48
|
private process;
|
|
48
49
|
private stopping;
|
|
50
|
+
private readonly diagnostics;
|
|
51
|
+
recordTurnOutcome(outcome: TurnOutcome, errorCode?: string): void;
|
|
52
|
+
private diagnosticContext;
|
|
49
53
|
private restartCount;
|
|
50
54
|
private lastSpawnAt;
|
|
51
55
|
private _restartScheduled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
|
package/dist/session/process.js
CHANGED
|
@@ -38,6 +38,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.SessionProcess = exports.INTERRUPTED_NO_REPLY_TEXT = exports.MAX_HISTORY_MESSAGES = void 0;
|
|
40
40
|
exports.resolveMaxHistoryMessages = resolveMaxHistoryMessages;
|
|
41
|
+
const worker_environment_1 = require("./worker-environment");
|
|
42
|
+
const process_diagnostics_1 = require("./process-diagnostics");
|
|
43
|
+
const managed_connectors_1 = require("./managed-connectors");
|
|
41
44
|
const request_tool_capture_1 = require("./request-tool-capture");
|
|
42
45
|
const container_1 = require("../orchestration/container");
|
|
43
46
|
const child_process_1 = require("child_process");
|
|
@@ -240,6 +243,8 @@ const STATE_SUBDIR = {
|
|
|
240
243
|
class SessionProcess extends events_1.EventEmitter {
|
|
241
244
|
get processId() { return this.isRunning() ? this.process?.pid : undefined; }
|
|
242
245
|
get managedProcessId() { return this.managedProcessGroup; }
|
|
246
|
+
recordTurnOutcome(outcome, errorCode) { this.diagnostics.finish(outcome, errorCode); }
|
|
247
|
+
diagnosticContext() { return { sessionId: this.sessionId, responseId: this.runtimeProfile?.responseId, taskId: this.runtimeProfile?.taskId, attemptId: this.runtimeProfile?.attemptId, model: this._lastModel || this.agentConfig.claude.model }; }
|
|
243
248
|
/** Last stderr line the child produced. A failed turn is diagnosed from this, so a
|
|
244
249
|
* caller can tell a rejected `--resume` apart from an ordinary process exit. */
|
|
245
250
|
get lastStderr() { return this.lastStderrLine; }
|
|
@@ -287,6 +292,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
287
292
|
this.spawnContext = null;
|
|
288
293
|
this.process = null;
|
|
289
294
|
this.stopping = false;
|
|
295
|
+
this.diagnostics = new process_diagnostics_1.ProcessDiagnostics();
|
|
290
296
|
this.restartCount = 0;
|
|
291
297
|
// Wall-clock time the current (or most recent) child was spawned. Used by the
|
|
292
298
|
// exit handler to measure how long that child survived, so a death after
|
|
@@ -698,20 +704,8 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
698
704
|
if (this.runtimeProfile.role === 'agent' || this.agentConfig.allow_tools === false || this.runtimeProfile.connectorsAllowed === false || this.agentConfig.type === 'app-agent' || (this.runtimeProfile.role === 'worker' && !this.runtimeProfile.hostExecution))
|
|
699
705
|
return this.runtimeProfile.mcpConfigPath;
|
|
700
706
|
const ticket = JSON.parse(fs.readFileSync(this.runtimeProfile.mcpConfigPath, 'utf8'));
|
|
701
|
-
const connectors = (0,
|
|
702
|
-
this.spawnedConnectors = new Map();
|
|
703
|
-
for (const [id, server] of Object.entries(connectors)) {
|
|
704
|
-
if ((0, custom_1.isReservedConnectorId)(id))
|
|
705
|
-
continue;
|
|
706
|
-
this.spawnedConnectors.set(id, connectorFingerprint(server));
|
|
707
|
-
}
|
|
708
|
-
const servers = Object.fromEntries([...this.spawnedConnectors.keys()].map((id, index) => {
|
|
709
|
-
const connectorPath = path.join(path.dirname(this.runtimeProfile.mcpConfigPath), `connector-${index}.json`);
|
|
710
|
-
fs.writeFileSync(connectorPath, JSON.stringify(connectors[id]), { mode: 0o600 });
|
|
711
|
-
fs.chmodSync(connectorPath, 0o600);
|
|
712
|
-
this.managedConnectorPaths.add(connectorPath);
|
|
713
|
-
return [id, { command: 'bun', args: [path.resolve(__dirname, '../../mcp/lazy-connector.ts'), connectorPath] }];
|
|
714
|
-
}));
|
|
707
|
+
const { servers, connectors } = (0, managed_connectors_1.prepareManagedConnectors)(this.agentConfig, this.gatewayConfig, this.runtimeProfile, this.managedConnectorPaths);
|
|
708
|
+
this.spawnedConnectors = new Map(Object.entries(connectors).map(([id, server]) => [id, connectorFingerprint(server)]));
|
|
715
709
|
const configPath = path.join(path.dirname(this.runtimeProfile.mcpConfigPath), 'managed-connectors.json');
|
|
716
710
|
fs.writeFileSync(configPath, JSON.stringify({ mcpServers: { ...servers, ...ticket.mcpServers } }), { mode: 0o600 });
|
|
717
711
|
fs.chmodSync(configPath, 0o600);
|
|
@@ -1073,6 +1067,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1073
1067
|
containerUid = os.userInfo().uid;
|
|
1074
1068
|
}
|
|
1075
1069
|
catch { /* use 1000 */ }
|
|
1070
|
+
const configuredWorkerEnvironment = this.runtimeProfile?.role === 'worker' ? (0, worker_environment_1.workerEnvironment)(this.agentConfig, this.gatewayConfig) : {};
|
|
1076
1071
|
const containerEnv = {
|
|
1077
1072
|
HOME: os.homedir(),
|
|
1078
1073
|
CLAUDE_WORKSPACE: '/workspace',
|
|
@@ -1090,7 +1085,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1090
1085
|
// Claude credentials — it is a bearer token for the agent's whole bot
|
|
1091
1086
|
// account. It is already placed in the spawn env below, unconditionally.
|
|
1092
1087
|
const containerAuthEnv = isAppAgent || (this.runtimeProfile?.checkpointCommand && !this.runtimeProfile.hostExecution) ? this.resolveContainerAuthEnv() : {};
|
|
1093
|
-
const byNameKeys = [...(this.runtimeProfile ? [] : ['TELEGRAM_BOT_TOKEN']), ...Object.keys(containerAuthEnv)];
|
|
1088
|
+
const byNameKeys = [...(this.runtimeProfile ? [] : ['TELEGRAM_BOT_TOKEN']), ...Object.keys(containerAuthEnv), ...Object.keys(configuredWorkerEnvironment)];
|
|
1094
1089
|
const dockerEnvFlags = [
|
|
1095
1090
|
...Object.entries(containerEnv).flatMap(([k, v]) => ['-e', `${k}=${v}`]),
|
|
1096
1091
|
...byNameKeys.flatMap((k) => ['-e', k]),
|
|
@@ -1137,6 +1132,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1137
1132
|
...containerAuthEnv,
|
|
1138
1133
|
...(toolCapture ? { OTEL_LOG_RAW_API_BODIES: 'file:' + toolCapture.directory } : {}),
|
|
1139
1134
|
...(hardenedPath ? { PATH: hardenedPath } : {}),
|
|
1135
|
+
...configuredWorkerEnvironment,
|
|
1140
1136
|
GATEWAY_ORIGIN_SESSION_ID: this.runtimeProfile?.originSessionId ?? this.sessionId,
|
|
1141
1137
|
GATEWAY_TASK_ID: this.runtimeProfile?.taskId ?? '',
|
|
1142
1138
|
GATEWAY_TASK_ATTEMPT_ID: this.runtimeProfile?.attemptId ?? '',
|
|
@@ -1255,6 +1251,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1255
1251
|
// Try to capture assistant text for SessionStore + update status file
|
|
1256
1252
|
try {
|
|
1257
1253
|
const obj = JSON.parse(line);
|
|
1254
|
+
this.diagnostics.observe(obj);
|
|
1258
1255
|
// stream-json assistant message (partial or final)
|
|
1259
1256
|
if (obj.type === 'assistant' && Array.isArray(obj.message?.content)) {
|
|
1260
1257
|
// Capture the real model from the stream
|
|
@@ -1432,6 +1429,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1432
1429
|
}
|
|
1433
1430
|
// result = end of turn
|
|
1434
1431
|
if (obj.type === 'result') {
|
|
1432
|
+
this.logger.info('session turn finished', { ...this.diagnosticContext(), ...this.diagnostics.snapshot() });
|
|
1435
1433
|
if (!obj.is_error && this.contextResetId) {
|
|
1436
1434
|
try {
|
|
1437
1435
|
this.sessionStore.completeContextReset(this.agentConfig.id, this.sessionId, this.contextResetId);
|
|
@@ -1524,7 +1522,8 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1524
1522
|
const lastLine = lines.map(l => l.trim()).filter(Boolean).pop();
|
|
1525
1523
|
if (lastLine)
|
|
1526
1524
|
this.lastStderrLine = lastLine;
|
|
1527
|
-
this.
|
|
1525
|
+
this.diagnostics.stderrObserved = true;
|
|
1526
|
+
this.logger.warn('session stderr', { stderr: text, ...this.diagnosticContext(), requestOutcome: this.diagnostics.outcome, outcomeRequiresTerminalEvent: true });
|
|
1528
1527
|
});
|
|
1529
1528
|
proc.on('exit', (code, signal) => {
|
|
1530
1529
|
// Flush any unterminated trailing stderr fragment (a process that dies
|
|
@@ -1534,6 +1533,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1534
1533
|
this.lastStderrLine = trailing;
|
|
1535
1534
|
this.stderrBuffer = '';
|
|
1536
1535
|
this.logger.info('session subprocess exited', {
|
|
1536
|
+
...this.diagnosticContext(), ...this.diagnostics.snapshot(),
|
|
1537
1537
|
code,
|
|
1538
1538
|
signal,
|
|
1539
1539
|
sessionId: this.sessionId,
|
|
@@ -1684,6 +1684,7 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1684
1684
|
this.process.kill('SIGTERM');
|
|
1685
1685
|
}
|
|
1686
1686
|
sendMessage(text, images = []) {
|
|
1687
|
+
this.diagnostics.reset();
|
|
1687
1688
|
if (!this.process?.stdin?.writable) {
|
|
1688
1689
|
this.logger.warn('Cannot send message: subprocess not running', {
|
|
1689
1690
|
sessionId: this.sessionId,
|
|
@@ -1907,6 +1908,8 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1907
1908
|
if (!this._processing)
|
|
1908
1909
|
return false;
|
|
1909
1910
|
this.interruptRequested = true;
|
|
1911
|
+
if (this.diagnostics.outcome === 'pending')
|
|
1912
|
+
this.diagnostics.finish('cancelled');
|
|
1910
1913
|
this.process.kill('SIGINT');
|
|
1911
1914
|
return true;
|
|
1912
1915
|
}
|
|
@@ -1981,6 +1984,8 @@ class SessionProcess extends events_1.EventEmitter {
|
|
|
1981
1984
|
}
|
|
1982
1985
|
async flushToolSchemas(expectedIds) { return this.toolCapture?.flush(expectedIds) ?? []; }
|
|
1983
1986
|
async stop() {
|
|
1987
|
+
if (this.diagnostics.outcome === 'pending' && !this.diagnostics.stopReason)
|
|
1988
|
+
this.diagnostics.stopReason = 'shutdown';
|
|
1984
1989
|
this.stopping = true;
|
|
1985
1990
|
if (this.containerAttempt && this.agentConfig.container) {
|
|
1986
1991
|
this.managedGroupStopped = await (0, container_1.stopContainerProfile)(this.agentConfig.container, this.containerAttempt.directory);
|