@gaodefa/daocore 2026.5.29 → 2026.5.30
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/abort-DI3P6TIb.js +277 -0
- package/dist/abort.runtime-B6Z7lDEa.js +2 -0
- package/dist/abort.runtime.js +1 -1
- package/dist/account-inspect-BFz7X0TX.js +173 -0
- package/dist/accounts-BoYYrY7x.js +107 -0
- package/dist/accounts-Busq29zW.js +107 -0
- package/dist/accounts-CuvH2tuN.js +119 -0
- package/dist/accounts-DkIcqvf7.js +2 -0
- package/dist/acp-runtime-BA8lzXzf.js +26 -0
- package/dist/acp-spawn-DPz2aX3A.js +2 -0
- package/dist/acp-spawn-DvVCsWYV.js +1275 -0
- package/dist/acp-stateful-target-driver-DcC76aZW.js +89 -0
- package/dist/action-kill-D-dVisIX.js +33 -0
- package/dist/action-runtime-BEiqwxDD.js +469 -0
- package/dist/action-runtime-api-1LzcGjcX.js +2 -0
- package/dist/action-send-c3CnDuPg.js +39 -0
- package/dist/action-spawn-Dj4kwpWs.js +47 -0
- package/dist/actions-qLccmQBc.js +161 -0
- package/dist/actions.runtime-B5vYAgNi.js +5 -0
- package/dist/agent-command-D6Ds198G.js +1367 -0
- package/dist/agent-components.runtime-xquK0B3L.js +10 -0
- package/dist/agent-components.runtime.js +1 -1
- package/dist/agent-harness-runtime-Dq1fCBOM.js +180 -0
- package/dist/agent-harness-task-runtime-DvSEqFkD.js +140 -0
- package/dist/agent-lm5ZYOFy.js +3 -0
- package/dist/agent-runner-execution-Dbh2pDhQ.js +1713 -0
- package/dist/agent-runner-utils-Di3r2T1T.js +266 -0
- package/dist/agent-runner.runtime-BW90EcGW.js +3455 -0
- package/dist/agent-runner.runtime.js +1 -1
- package/dist/agent-runtime-BgIT5Ytc.js +229 -0
- package/dist/agent-via-gateway-DMMS8-hK.js +463 -0
- package/dist/agent-ylolD8-V.js +2 -0
- package/dist/api-BB4vXLtW.js +2 -0
- package/dist/api-CUhM3KNB.js +134 -0
- package/dist/api-CewRHSbT.js +6 -0
- package/dist/api-CfKjNJlW.js +2 -0
- package/dist/api-Rsnqui1u.js +3 -0
- package/dist/api-k7AvxwHr.js +639 -0
- package/dist/apply-DQ4TQNMA.js +54 -0
- package/dist/apply-S_75Py4Y.js +41 -0
- package/dist/approval-handler.runtime-Cthxrstu.js +130 -0
- package/dist/assistant-Cp9pGaBw.js +291 -0
- package/dist/attachment-normalize-5R0bLLOj.js +225 -0
- package/dist/attempt-execution-DuyyZYsU.js +558 -0
- package/dist/attempt-execution.runtime-DF2GPgNh.js +3 -0
- package/dist/attempt-execution.runtime.js +1 -1
- package/dist/attempt-execution.shared-CwdukA3t.js +38 -0
- package/dist/attempt.prompt-helpers-CUqKtIa5.js +475 -0
- package/dist/attempt.tool-run-context-BbN4_BYO.js +2094 -0
- package/dist/binding-routing-C6Ex2Blu.js +113 -0
- package/dist/binding-targets-BqREncSL.js +121 -0
- package/dist/bot-DGMEkaIJ.js +7894 -0
- package/dist/bot-deps-BltYjeMX.js +2 -0
- package/dist/bot-deps-XvGCor9f.js +747 -0
- package/dist/bot-message-context.runtime-kK-xvLV7.js +7 -0
- package/dist/bot-message-context.runtime.js +1 -1
- package/dist/bot-message-context.session.runtime-DpOIJUae.js +12 -0
- package/dist/bot-message-context.session.runtime.js +1 -1
- package/dist/bot-native-commands.delivery.runtime-D49p5Lc1.js +4 -0
- package/dist/bot-native-commands.delivery.runtime.js +1 -1
- package/dist/bot-native-commands.runtime-8XBdSpkQ.js +13 -0
- package/dist/bot-native-commands.runtime.js +1 -1
- package/dist/bridge-server-y_XGduPx.js +113 -0
- package/dist/browser-cli-B2jmmTT3.js +230 -0
- package/dist/browser-cli-actions-input-JQt5ZQcn.js +473 -0
- package/dist/browser-cli-actions-observe-CrfKh6AX.js +81 -0
- package/dist/browser-cli-debug-DQACWlvC.js +137 -0
- package/dist/browser-cli-inspect-DDnxx0Xw.js +104 -0
- package/dist/browser-cli-lEuOnZzs.js +2 -0
- package/dist/browser-cli-manage-DogmwtYt.js +443 -0
- package/dist/browser-cli-resize-BHuV71VZ.js +26 -0
- package/dist/browser-cli-shared-CidShgoF.js +50 -0
- package/dist/browser-cli-state-i8cCGbiQ.js +337 -0
- package/dist/browser-control-auth-CKfXdXWj.js +2 -0
- package/dist/browser-profiles-ATBTvUGh.js +2 -0
- package/dist/browser-runtime-KmCT6FuL.js +384 -0
- package/dist/build-DOOT6f62.js +257 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/capability-cli-DwvrwB-g.js +1782 -0
- package/dist/channel-B-wgK1bK.js +481 -0
- package/dist/channel-B1e_k1P0.js +867 -0
- package/dist/channel-BRDfa5tc.js +1777 -0
- package/dist/channel-BVEO1O4p.js +376 -0
- package/dist/channel-BYlO5l1d.js +508 -0
- package/dist/channel-Bl0sPoNx.js +653 -0
- package/dist/channel-C84xtDBy.js +1134 -0
- package/dist/channel-CLgKq4Ds.js +1556 -0
- package/dist/channel-CZT0qxLh.js +1249 -0
- package/dist/channel-CffBHWkb.js +955 -0
- package/dist/channel-D34ZJvVB.js +2126 -0
- package/dist/channel-DcdXLo_W.js +238 -0
- package/dist/channel-DnK5TrXV.js +362 -0
- package/dist/channel-Dzj4RHY2.js +740 -0
- package/dist/channel-OhZzLZCj.js +562 -0
- package/dist/channel-actions.runtime-Cdvhqc9s.js +265 -0
- package/dist/channel-actions.runtime.js +1 -1
- package/dist/channel-core-Dz9I_R4j.js +5 -0
- package/dist/channel-inbound-COGoV_aS.js +80 -0
- package/dist/channel-mP6HCIMr.js +1496 -0
- package/dist/channel-plugin-runtime-C0R46KeG.js +998 -0
- package/dist/channel-quGdgWel.js +808 -0
- package/dist/channel-runtime-FvPQoIF9.js +408 -0
- package/dist/channel.runtime-2vUz3gij.js +109 -0
- package/dist/channel.runtime-BZLDSNuQ.js +254 -0
- package/dist/channel.runtime-Bo5jO0Hj.js +4 -0
- package/dist/channel.runtime-CDgvrjM2.js +652 -0
- package/dist/channel.runtime-COf8SDFn.js +88 -0
- package/dist/channel.runtime-C_C1f8lu.js +733 -0
- package/dist/channel.runtime-CqPbsg8t.js +2528 -0
- package/dist/channel.runtime-DtV85Khx.js +1008 -0
- package/dist/channel.runtime-Spt1ukGW.js +21009 -0
- package/dist/channel.setup-Bc0LUQS1.js +1098 -0
- package/dist/channel.setup-ChTkj2hq.js +343 -0
- package/dist/channel.setup-CpMD9F8i.js +10 -0
- package/dist/chat-mUsjD5YN.js +2666 -0
- package/dist/chrome-u314zcbM.js +1503 -0
- package/dist/cli/run-main.js +5 -5
- package/dist/cli-CJMoqXrc.js +1341 -0
- package/dist/cli-compaction-qGYB7suI.js +347 -0
- package/dist/cli-metadata-BBJFpNU9.js +22 -0
- package/dist/cli-runner-C0kcts0I.js +540 -0
- package/dist/cli-runner-CTm8K6s8.js +2 -0
- package/dist/cli-runner.runtime-C8deL5FL.js +3 -0
- package/dist/cli-runner.runtime-DDAg1D0L.js +4 -0
- package/dist/cli-runner.runtime.js +1 -1
- package/dist/cli-startup-metadata.json +8 -8
- package/dist/client-CPxpgs4m.js +650 -0
- package/dist/client-adapter-CLlqOqfu.js +897 -0
- package/dist/client-factory-R7Rr2jwn.js +9 -0
- package/dist/command-auth-CkQP1buP.js +135 -0
- package/dist/command-handlers-CJEjFyMk.js +1609 -0
- package/dist/command-registry-BDgyOqDw.js +4 -0
- package/dist/command-registry-BVi5Jn1S.js +9 -0
- package/dist/command-registry-core-JCfsVRtz.js +110 -0
- package/dist/command-status.runtime-CM1JLzi6.js +90 -0
- package/dist/command-status.runtime.js +1 -1
- package/dist/commands-acp-C1-I78U6.js +74 -0
- package/dist/commands-compact.runtime-DOsNavwp.js +10 -0
- package/dist/commands-compact.runtime.js +1 -1
- package/dist/commands-handlers.runtime-BD1n2WGw.js +6154 -0
- package/dist/commands-handlers.runtime.js +1 -1
- package/dist/commands-status-DU_UTQz1.js +16 -0
- package/dist/commands-status-DejfTakp.js +3 -0
- package/dist/commands-status.runtime-DejfTakp.js +3 -0
- package/dist/commands-status.runtime.js +1 -1
- package/dist/commands-subagents-control.runtime-D7vo_2Y_.js +3 -0
- package/dist/commands-subagents-control.runtime-DGybTjJ6.js +2 -0
- package/dist/commands-subagents-control.runtime.js +1 -1
- package/dist/commands-system-prompt-BEBXAMea.js +2 -0
- package/dist/commands-system-prompt-gj3oQpQO.js +162 -0
- package/dist/commands.runtime-CgXX70IN.js +176 -0
- package/dist/commands.runtime.js +1 -1
- package/dist/commitments/runtime.js +1 -1
- package/dist/compact-C41XxMDt.js +480 -0
- package/dist/compact-DUVAF9EC.js +1141 -0
- package/dist/compact.runtime-COMRg6s3.js +12 -0
- package/dist/compact.runtime.js +1 -1
- package/dist/completion-cli-CmEYoB9a.js +315 -0
- package/dist/computer-use-BwJHu1QF.js +367 -0
- package/dist/config-ATBTvUGh.js +2 -0
- package/dist/config-DlNgjF8W.js +373 -0
- package/dist/config-mutations-tl_OqI6d.js +159 -0
- package/dist/context-engine-host-compat-BNPAIK9F.js +288 -0
- package/dist/context-engine-host-compat-C69CK7zS.js +2 -0
- package/dist/context-engine-lifecycle-iQ8f5a_-.js +1274 -0
- package/dist/control-auth-vVxyGKxY.js +114 -0
- package/dist/control-service-73nj79EW.js +145 -0
- package/dist/control-ui/assets/agents-DdWIz8Vk.js +1008 -0
- package/dist/control-ui/assets/channel-config-extras-C7ELhuDi.js +2 -0
- package/dist/control-ui/assets/channels-Bsoj-9BS.js +367 -0
- package/dist/control-ui/assets/cron-BRTEw1tT.js +1013 -0
- package/dist/control-ui/assets/debug-EKl_F8_L.js +97 -0
- package/dist/control-ui/assets/index-DSbSO7ys.js +7370 -0
- package/dist/control-ui/assets/instances-B1AoYwI5.js +57 -0
- package/dist/control-ui/assets/logs-BChOznzh.js +74 -0
- package/dist/control-ui/assets/nodes-5yebKh9k.js +436 -0
- package/dist/control-ui/assets/sessions-BlDYNThc.js +399 -0
- package/dist/control-ui/assets/skills-shared-CNFnf7KU.js +11 -0
- package/dist/control-ui/assets/skills-uxTDRmLx.js +314 -0
- package/dist/control-ui/index.html +1 -1
- package/dist/control-ui/sw.js +1 -1
- package/dist/conversation-binding-runtime-CmoTKcY1.js +4 -0
- package/dist/conversation-runtime-BxOHxuin.js +31 -0
- package/dist/core-D0Y2H55f.js +282 -0
- package/dist/core-api-BKlJUtDt.js +5 -0
- package/dist/core-api-_fiftUHn.js +2 -0
- package/dist/crestodian/crestodian.js +1 -1
- package/dist/crestodian/rescue-message.js +1 -1
- package/dist/crestodian-BJifoQiR.js +55 -0
- package/dist/daocore-tools-BMdF8RwK.js +11727 -0
- package/dist/delivery-e2ci_bcX.js +1002 -0
- package/dist/dialogue-BXayGhnz.js +37 -0
- package/dist/dir-fetch-tool-Cara5mZh.js +565 -0
- package/dist/dir-list-tool-CQ8Bo5Ez.js +100 -0
- package/dist/direct-dm-CPk6Qm9D.js +64 -0
- package/dist/directive-handling.fast-lane-BQ9aXqk8.js +68 -0
- package/dist/directive-handling.impl--a5AGurq.js +818 -0
- package/dist/directive-handling.impl-C4JqMwle.js +2 -0
- package/dist/directive-handling.model-selection-pyTYMIXn.js +122 -0
- package/dist/directive-handling.persist.runtime-B7vWT1r9.js +263 -0
- package/dist/directive-handling.persist.runtime.js +1 -1
- package/dist/dispatch-3Ru_eGq1.js +1640 -0
- package/dist/dispatch-acp-transcript.runtime-CYMP-5oE.js +40 -0
- package/dist/dispatch-acp-transcript.runtime.js +1 -1
- package/dist/dispatch-acp.runtime-BVCiklXk.js +18 -0
- package/dist/dispatch-acp.runtime.js +1 -1
- package/dist/doctor-B8mR3Sgr.js +2 -0
- package/dist/doctor-BJ6DuerV.js +6 -0
- package/dist/doctor-config-flow-BdOGs_zn.js +1741 -0
- package/dist/doctor-core-checks-CDf0stz-.js +2 -0
- package/dist/doctor-core-checks-Cpdnu2XI.js +573 -0
- package/dist/doctor-health-0qv_acBu.js +65 -0
- package/dist/doctor-health-contributions-Db1FQgFw.js +696 -0
- package/dist/doctor-lint-C1g4Llgl.js +94 -0
- package/dist/doctor-state-integrity-C8iXFLJ7.js +1231 -0
- package/dist/doctor-update-CsPu6p3d.js +58 -0
- package/dist/dynamic-tools-YQ0z0YKH.js +486 -0
- package/dist/embedded-backend-S0cahIZw.js +579 -0
- package/dist/embedded-gateway-stub.runtime-Cjw12ALm.js +12 -0
- package/dist/embedded-gateway-stub.runtime.js +1 -1
- package/dist/exec-approvals-ArHHjoE-.js +149 -0
- package/dist/extensionAPI.js +1 -1
- package/dist/extensions/active-memory/index.js +1 -1
- package/dist/extensions/admin-http-rpc/index.js +1 -1
- package/dist/extensions/browser/browser-bridge.js +1 -1
- package/dist/extensions/browser/browser-config.js +4 -4
- package/dist/extensions/browser/browser-control-auth.js +2 -2
- package/dist/extensions/browser/browser-doctor.js +2 -2
- package/dist/extensions/browser/browser-maintenance.js +1 -1
- package/dist/extensions/browser/browser-profiles.js +2 -2
- package/dist/extensions/browser/browser-runtime-api.js +11 -11
- package/dist/extensions/browser/cli-metadata.js +1 -1
- package/dist/extensions/browser/index.js +1 -1
- package/dist/extensions/browser/plugin-registration.js +1 -1
- package/dist/extensions/browser/register.runtime.js +4 -4
- package/dist/extensions/browser/runtime-api.js +13 -13
- package/dist/extensions/canvas/index.js +1 -1
- package/dist/extensions/clickclack/api.js +2 -2
- package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
- package/dist/extensions/clickclack/runtime-api.js +2 -2
- package/dist/extensions/device-pair/api.js +1 -1
- package/dist/extensions/device-pair/pair-command-approve.js +1 -1
- package/dist/extensions/file-transfer/index.js +4 -4
- package/dist/extensions/imessage/api.js +2 -2
- package/dist/extensions/imessage/channel-plugin-api.js +1 -1
- package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
- package/dist/extensions/imessage/runtime-api.js +3 -3
- package/dist/extensions/irc/api.js +2 -2
- package/dist/extensions/irc/channel-plugin-api.js +1 -1
- package/dist/extensions/llm-task/index.js +1 -1
- package/dist/extensions/mattermost/api.js +1 -1
- package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
- package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
- package/dist/extensions/mattermost/policy-api.js +1 -1
- package/dist/extensions/mattermost/runtime-api.js +2 -2
- package/dist/extensions/mattermost/slash-route-api.js +1 -1
- package/dist/extensions/memory-core/cli-metadata.js +1 -1
- package/dist/extensions/migrate-claude/apply.js +1 -1
- package/dist/extensions/migrate-claude/index.js +1 -1
- package/dist/extensions/migrate-claude/plan.js +1 -1
- package/dist/extensions/migrate-claude/provider.js +1 -1
- package/dist/extensions/migrate-claude/targets.js +1 -1
- package/dist/extensions/migrate-hermes/apply.js +1 -1
- package/dist/extensions/migrate-hermes/index.js +1 -1
- package/dist/extensions/migrate-hermes/model.js +1 -1
- package/dist/extensions/migrate-hermes/plan.js +1 -1
- package/dist/extensions/migrate-hermes/provider.js +1 -1
- package/dist/extensions/migrate-hermes/secrets.js +1 -1
- package/dist/extensions/migrate-hermes/targets.js +1 -1
- package/dist/extensions/policy/api.js +1 -1
- package/dist/extensions/policy/index.js +2 -2
- package/dist/extensions/signal/api.js +6 -6
- package/dist/extensions/signal/channel-plugin-api.js +1 -1
- package/dist/extensions/signal/reaction-runtime-api.js +1 -1
- package/dist/extensions/signal/runtime-api.js +7 -7
- package/dist/extensions/skill-workshop/api.js +1 -1
- package/dist/extensions/skill-workshop/index.js +2 -2
- package/dist/extensions/telegram/account-inspect-api.js +1 -1
- package/dist/extensions/telegram/api.js +11 -11
- package/dist/extensions/telegram/channel-plugin-api.js +2 -2
- package/dist/extensions/telegram/contract-api.js +3 -3
- package/dist/extensions/telegram/runtime-api.js +7 -7
- package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
- package/dist/extensions/telegram/setup-plugin-api.js +1 -1
- package/dist/extensions/telegram/test-api.js +2 -2
- package/dist/extensions/webhooks/api.js +1 -1
- package/dist/extensions/webhooks/index.js +1 -1
- package/dist/extensions/xai/index.js +4 -4
- package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
- package/dist/extensions/xai/speech-provider.js +1 -1
- package/dist/extensions/xai/test-api.js +1 -1
- package/dist/extensions/xai/tts.js +1 -1
- package/dist/extensions/xai/web-search.js +1 -1
- package/dist/extensions/xai/xai-oauth.js +1 -1
- package/dist/file-fetch-tool-DQpAtjX4.js +124 -0
- package/dist/file-write-tool-CkB0oYwe.js +127 -0
- package/dist/format-DUJUpMFQ.js +1145 -0
- package/dist/gateway-cli-CQo_E4Ka.js +435 -0
- package/dist/gateway-method-runtime-1QPgVJH7.js +21 -0
- package/dist/get-reply-DfUcsC-O.js +4689 -0
- package/dist/get-reply-from-config.runtime-C95MG73O.js +2 -0
- package/dist/get-reply-from-config.runtime.js +1 -1
- package/dist/graph-users-DPJe0fPs.js +1419 -0
- package/dist/group-access-DefaNJ6L.js +112 -0
- package/dist/handle-action.guild-admin-C1sy1kGJ.js +288 -0
- package/dist/harness-BgPRdmNK.js +61 -0
- package/dist/health-DFR9A1YV.js +4 -0
- package/dist/heartbeat-runner-BiYVPs25.js +5 -0
- package/dist/heartbeat-runner.runtime-Bmaq8WUA.js +4 -0
- package/dist/heartbeat-runner.runtime.js +1 -1
- package/dist/hooks-CNJDuJUm.js +534 -0
- package/dist/inbound-direct-dm-runtime-DFt58p71.js +2 -0
- package/dist/inbound-reply-dispatch-kgSDM8ax.js +148 -0
- package/dist/index.js +1 -1
- package/dist/init-B0zO_U4r.js +59 -0
- package/dist/inline-buttons-B6zgQW3J.js +40 -0
- package/dist/internal-events-C3Q5t6hg.js +90 -0
- package/dist/isolated-agent-CaSU5GCJ.js +2 -0
- package/dist/isolated-agent-CnsD2TmP.js +1118 -0
- package/dist/lifecycle-i3WZDaIn.js +571 -0
- package/dist/list.probe-g0rUiVXW.js +449 -0
- package/dist/list.status-command-DG3PrmeO.js +789 -0
- package/dist/llm-slug-generator-CHlf69FU.js +78 -0
- package/dist/llm-slug-generator.js +1 -1
- package/dist/local-dispatch.runtime-CDeHUp_A.js +9 -0
- package/dist/local-dispatch.runtime.js +1 -1
- package/dist/manager.runtime-BlLMPUTq.js +2714 -0
- package/dist/manager.runtime.js +1 -1
- package/dist/markdown-to-line-r_mBHMdy.js +811 -0
- package/dist/mcp-http-C5UPIJGR.js +555 -0
- package/dist/mcp-http-CTy9gpfA.js +2 -0
- package/dist/media-understanding-provider-BT6TOuVa.js +339 -0
- package/dist/message-actions-BdcjjwFt.js +145 -0
- package/dist/message-handler-B29Tj2p2.js +1715 -0
- package/dist/message-handler-BhHb1FHI.js +384 -0
- package/dist/message-handler.preflight-ouZ_-3o8.js +1125 -0
- package/dist/message-handler.process-CrYiBx_F.js +1484 -0
- package/dist/model-CLbtocQX.js +74 -0
- package/dist/model-selection-BG_vU9Kl.js +272 -0
- package/dist/models-4KERn3ya.js +104 -0
- package/dist/models-BCa-ipxi.js +2 -0
- package/dist/models-cli-DtpGXEsf.js +256 -0
- package/dist/monitor-B-egsvmI.js +1657 -0
- package/dist/monitor-BJX9Yv7k.js +2 -0
- package/dist/monitor-BPrIy3pV.js +715 -0
- package/dist/monitor-BWknZZ7N.js +4377 -0
- package/dist/monitor-C3y_PtI1.js +60 -0
- package/dist/monitor-DCzfdqE4.js +1370 -0
- package/dist/monitor-P24epSwE.js +2788 -0
- package/dist/monitor-auth-CEG_xldE.js +179 -0
- package/dist/monitor-jEePJbbS.js +834 -0
- package/dist/monitor-polling.runtime-BzlHK11u.js +883 -0
- package/dist/monitor-polling.runtime.js +1 -1
- package/dist/monitor-webhook.runtime-vFEhk_Zj.js +387 -0
- package/dist/monitor-webhook.runtime.js +1 -1
- package/dist/monitor.account-BUIfgWXg.js +5233 -0
- package/dist/monitor.runtime-Cp7W4fhb.js +2 -0
- package/dist/monitor.runtime.js +1 -1
- package/dist/monitor.webhook-DzrbeR4T.js +180 -0
- package/dist/node-cli-sessions-CLbI14UA.js +1228 -0
- package/dist/openai-http-BM9BIA_g.js +824 -0
- package/dist/openresponses-http-CNoW9kk8.js +1173 -0
- package/dist/operations-DT4bsxV6.js +805 -0
- package/dist/outbound-adapter-CZRUOgY0.js +543 -0
- package/dist/outbound-session-route-DneMsGNx.js +45 -0
- package/dist/outbound.runtime-CHuoKJJI.js +2 -0
- package/dist/outbound.runtime.js +1 -1
- package/dist/pi-embedded-1-rsueO_.js +3796 -0
- package/dist/pi-embedded-BRfDncVO.js +4 -0
- package/dist/pi-embedded.runtime-DEYoa6bW.js +4 -0
- package/dist/pi-embedded.runtime.js +1 -1
- package/dist/pi-tools-C0P3NgP5.js +2413 -0
- package/dist/plan-BQUkjBMY.js +81 -0
- package/dist/plan-CRO9_2_k.js +112 -0
- package/dist/plugin-BJCmWhnh.js +12396 -0
- package/dist/plugin-app-cache-key-CXAg0F7A.js +46 -0
- package/dist/plugin-enabled-D93Z9LSo.js +233 -0
- package/dist/plugin-registration-BBrTcZnf.js +88 -0
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
- package/dist/plugin-sdk/acp-runtime.js +2 -2
- package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
- package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
- package/dist/plugin-sdk/agent-harness.js +7 -7
- package/dist/plugin-sdk/agent-runtime.js +2 -2
- package/dist/plugin-sdk/channel-core.js +2 -2
- package/dist/plugin-sdk/channel-inbound.js +2 -2
- package/dist/plugin-sdk/channel-test-helpers.js +1 -1
- package/dist/plugin-sdk/command-auth.js +1 -1
- package/dist/plugin-sdk/command-status-runtime.js +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
- package/dist/plugin-sdk/conversation-runtime.js +3 -3
- package/dist/plugin-sdk/core.js +2 -2
- package/dist/plugin-sdk/direct-dm.js +1 -1
- package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
- package/dist/plugin-sdk/health.js +2 -2
- package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/mattermost.js +1 -1
- package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
- package/dist/plugin-sdk/provider-test-contracts.js +4 -4
- package/dist/plugin-sdk/reply-runtime.js +4 -4
- package/dist/plugin-sdk/testing.js +2 -2
- package/dist/plugin-sdk/zalouser.js +1 -1
- package/dist/plugin-service-DnZEPBEA.js +1229 -0
- package/dist/plugins/runtime/index.js +4 -4
- package/dist/policy-CMv5QMPG.js +138 -0
- package/dist/policy-CeoP4t9J.js +680 -0
- package/dist/prepare.runtime-DZ55JiTt.js +732 -0
- package/dist/prepare.runtime.js +1 -1
- package/dist/preview-warnings-O08PZRxu.js +392 -0
- package/dist/probe-C6w3bP8X.js +682 -0
- package/dist/probe-Cs1_X1NA.js +47 -0
- package/dist/probe-Cuee_jyM.js +2204 -0
- package/dist/probe-DZxCnDzn.js +2 -0
- package/dist/program-C2dT8VHB.js +131 -0
- package/dist/provider-C2_vSzYh.js +32 -0
- package/dist/provider-DSfTDQbj.js +152 -0
- package/dist/provider-U8hrm9h-.js +32 -0
- package/dist/provider-_v910H8y.js +8735 -0
- package/dist/provider-dispatcher-C3kmmIEC.js +22 -0
- package/dist/provider-dispatcher.runtime.js +1 -1
- package/dist/provider-session.runtime-Mg0fx5hH.js +9 -0
- package/dist/provider-session.runtime.js +1 -1
- package/dist/provider.runtime-pSTXuHrq.js +2 -0
- package/dist/provider.runtime.js +1 -1
- package/dist/public-surface-loader-09t4TTue.js +114 -0
- package/dist/pw-ai-DjNqHV3_.js +3029 -0
- package/dist/pw-role-snapshot-DoGefdv7.js +333 -0
- package/dist/reaction-level-C8Mqxizo.js +19 -0
- package/dist/reaction-runtime-api-DOP6xOsm.js +116 -0
- package/dist/realtime-transcription-provider-BTGEXXna.js +205 -0
- package/dist/register-CbZPpqI3.js +2178 -0
- package/dist/register.agent-DrBFuPKh.js +156 -0
- package/dist/register.crestodian-DwTbmaK8.js +24 -0
- package/dist/register.maintenance-BIeoYBub.js +83 -0
- package/dist/register.runtime-B5V9_Dwz.js +54 -0
- package/dist/register.subclis-CJE9ISZY.js +31 -0
- package/dist/register.subclis-YQsKas8N.js +3 -0
- package/dist/register.subclis-core-CjwdGeGU.js +273 -0
- package/dist/repair-sequencing-C0jrL5pw.js +640 -0
- package/dist/reply-delivery-B28mTIpb.js +196 -0
- package/dist/reply-runtime-BqQX7HHw.js +11 -0
- package/dist/reply.runtime-C95MG73O.js +2 -0
- package/dist/reply.runtime.js +1 -1
- package/dist/request-BqoMvXxH.js +54 -0
- package/dist/resolve-allowlist-hbKKd_kq.js +220 -0
- package/dist/result-fallback-classifier-BrORPoxj.js +79 -0
- package/dist/route-HHRgSzVy.js +469 -0
- package/dist/route-resolution-C7bafjVc.js +274 -0
- package/dist/routes-86XGeo7a.js +2 -0
- package/dist/routes-BhVGr9ie.js +3602 -0
- package/dist/run-Bb5QP5JV.js +1162 -0
- package/dist/run-attempt-CLi0wV7j.js +7704 -0
- package/dist/run-command-Be6GAxiW.js +2 -0
- package/dist/run-command-Ds4hr3iU.js +23 -0
- package/dist/run-embedded.runtime-wX9ORojX.js +4 -0
- package/dist/run-embedded.runtime.js +1 -1
- package/dist/run-execution-cli.runtime-BmNZVB2N.js +4 -0
- package/dist/run-execution-cli.runtime.js +1 -1
- package/dist/run-executor.runtime.js +1 -1
- package/dist/run-subagent-registry.runtime-Uq5sjftu.js +2 -0
- package/dist/run-subagent-registry.runtime.js +1 -1
- package/dist/runtime-BktLQ75j.js +1287 -0
- package/dist/runtime-C9XdR62_.js +438 -0
- package/dist/runtime-CTvWDPx9.js +6179 -0
- package/dist/runtime-api-BojB3MUw.js +21 -0
- package/dist/runtime-api-C92MlAwp.js +13 -0
- package/dist/runtime-api-CFNZE9Xt.js +13 -0
- package/dist/runtime-api-Cimpgm5_.js +3 -0
- package/dist/runtime-api-D8qG_lUm.js +17 -0
- package/dist/runtime-api-DMDMnQEG.js +4 -0
- package/dist/runtime-api-DupQdIlE.js +24 -0
- package/dist/runtime-api.actions-B8i3elqu.js +3 -0
- package/dist/runtime-api.monitor-BntFzf_M.js +6 -0
- package/dist/runtime-api.send-CPlmi1jc.js +4 -0
- package/dist/runtime-api.threads-D-H_r_Nl.js +2 -0
- package/dist/runtime-channel-BGhTxnXZ.js +150 -0
- package/dist/runtime-channel-CPFxNapZ.js +2 -0
- package/dist/runtime-embedded-pi.runtime-BjnMTurB.js +2 -0
- package/dist/runtime-embedded-pi.runtime.js +1 -1
- package/dist/sanitize-outbound-BMUv1NeS.js +127 -0
- package/dist/sdk-setup-tools-Do3DkQi_.js +8 -0
- package/dist/secrets-B8YVPHhk.js +113 -0
- package/dist/security-audit-7Gg_nL4o.js +122 -0
- package/dist/security-audit-Bk3CREj-.js +118 -0
- package/dist/security-audit.runtime-BmSJrdeq.js +2 -0
- package/dist/security-audit.runtime.js +1 -1
- package/dist/selection-BFGde9-_.js +3 -0
- package/dist/selection-DrLFlbgG.js +16157 -0
- package/dist/send-4dLa-BQo.js +1631 -0
- package/dist/send-CV6gCwYP.js +192 -0
- package/dist/send-aGiK3Efu.js +143 -0
- package/dist/send-dB3CehAN.js +2 -0
- package/dist/send.components-BcG9BlkC.js +2 -0
- package/dist/send.components-rLjDlfYU.js +500 -0
- package/dist/send.runtime-D20k2MSr.js +2 -0
- package/dist/send.runtime.js +1 -1
- package/dist/server-BTRx_U1s.js +73 -0
- package/dist/server-CY0ymhBg.js +24 -0
- package/dist/server-close.runtime.js +1 -1
- package/dist/server-context-BxGT8wbK.js +955 -0
- package/dist/server-context-DYlbhAaT.js +2 -0
- package/dist/server-cron-BB_15lcP.js +2 -0
- package/dist/server-cron-CfyJX_a4.js +2989 -0
- package/dist/server-methods-Ck2ab6TC.js +16494 -0
- package/dist/server-node-events-BdRizF-5.js +596 -0
- package/dist/server-plugin-bootstrap-CPUr8NFE.js +70 -0
- package/dist/server-plugins-__5AxjzH.js +432 -0
- package/dist/server-reload-handlers-BMl9Fx9b.js +714 -0
- package/dist/server-restart-sentinel-D11M_ZsH.js +747 -0
- package/dist/server-restart-sentinel-DGptQ27c.js +2 -0
- package/dist/server-runtime-services-BwtLs-8I.js +2 -0
- package/dist/server-runtime-services-aJydixRu.js +267 -0
- package/dist/server-startup-plugins-m_P3gY4m.js +113 -0
- package/dist/server-startup-post-attach-DuXQ1AXL.js +716 -0
- package/dist/server-ws-runtime-mXmxB1W8.js +349 -0
- package/dist/server.impl-fuV8aKSP.js +2586 -0
- package/dist/service-a8cTFka4.js +1446 -0
- package/dist/session-binding-BIycxo9u.js +2 -0
- package/dist/session-binding-xHwQr9vM.js +219 -0
- package/dist/session-kill-http-DiUZhcoN.js +121 -0
- package/dist/session-reset-service-DkepDoob.js +625 -0
- package/dist/session-route-Ba5u7ecb.js +93 -0
- package/dist/session-status.runtime-Cb1X69Rl.js +2 -0
- package/dist/session-status.runtime.js +1 -1
- package/dist/session-subagent-reactivation.runtime-rbqmto4G.js +2 -0
- package/dist/session-subagent-reactivation.runtime.js +1 -1
- package/dist/session-tab-registry-DSKOoJta.js +521 -0
- package/dist/sessions-history-http-CWP88I_C.js +430 -0
- package/dist/sessions.runtime-1q1OwLn3.js +2 -0
- package/dist/sessions.runtime.js +1 -1
- package/dist/setup-api-DtrOOYeP.js +29 -0
- package/dist/setup-core-DMrJS6LP.js +174 -0
- package/dist/setup-surface-BFPNu1qA.js +405 -0
- package/dist/setup-surface-CedShqhO.js +288 -0
- package/dist/setup-surface-DLOBH1Vf.js +320 -0
- package/dist/setup-surface-MhCeEWSj.js +221 -0
- package/dist/shared-DamL-e8D.js +121 -0
- package/dist/shared-client-B48JoAsz.js +2 -0
- package/dist/shared-client-BoSiDnUo.js +629 -0
- package/dist/side-question-DQoQ_ETb.js +683 -0
- package/dist/skill-tool-dispatch.runtime-CWLloYA8.js +143 -0
- package/dist/skill-tool-dispatch.runtime.js +1 -1
- package/dist/slash-state-DrrWJQfv.js +2166 -0
- package/dist/speech-provider-8Hx1uw41.js +184 -0
- package/dist/src-BbUYOPwU.js +4256 -0
- package/dist/startup-context-opAJAamX.js +313 -0
- package/dist/status-subagents.runtime-DSo7ZK_Z.js +18 -0
- package/dist/status-subagents.runtime.js +1 -1
- package/dist/status-text-AyPuDzrO.js +296 -0
- package/dist/sticker-cache-91Tp8mLP.js +206 -0
- package/dist/sticker-vision.runtime-DjleFXi5.js +17 -0
- package/dist/sticker-vision.runtime.js +1 -1
- package/dist/subagent-announce-delivery-DS_2W9oZ.js +958 -0
- package/dist/subagent-announce-hatA_PZ2.js +354 -0
- package/dist/subagent-control-IyFIvc7T.js +508 -0
- package/dist/subagent-hooks-BCj5eB0Z.js +2 -0
- package/dist/subagent-hooks-BWjTBkox.js +146 -0
- package/dist/subagent-hooks-CdGLK9_3.js +230 -0
- package/dist/subagent-hooks-EH0tBkw9.js +2 -0
- package/dist/subagent-hooks-api-BhYaXQJV.js +23 -0
- package/dist/subagent-hooks-api-uGsV8Xn5.js +22 -0
- package/dist/subagent-hooks-api-wfJFKIPx.js +23 -0
- package/dist/subagent-hooks-l8Xd94dt.js +2 -0
- package/dist/subagent-hooks-m2eHUO_d.js +116 -0
- package/dist/subagent-orphan-recovery-Bq9zvX3L.js +352 -0
- package/dist/subagent-registry-Bcb3zy6b.js +3 -0
- package/dist/subagent-registry-CoZNTFx-.js +2351 -0
- package/dist/subagent-registry.runtime.js +1 -1
- package/dist/subagent-session-cleanup--00EjDLe.js +525 -0
- package/dist/subagent-spawn-ClJJkz3D.js +1164 -0
- package/dist/target-id-BsZLiF3x.js +107 -0
- package/dist/targets-CQMe4AZP.js +44 -0
- package/dist/targets-SmL1AU-H.js +19 -0
- package/dist/targets-Y-roiA47.js +19 -0
- package/dist/task-registry-control.runtime.js +1 -1
- package/dist/telegram/token.js +1 -1
- package/dist/testing-B5hNJDuF.js +267 -0
- package/dist/thread-bindings-BD3eE0kK.js +232 -0
- package/dist/thread-bindings-C9NNiv8K.js +571 -0
- package/dist/thread-bindings-Dl4PN1vZ.js +228 -0
- package/dist/thread-bindings-uK1LLAwy.js +8 -0
- package/dist/thread-bindings.discord-api-BHNEUbnk.js +187 -0
- package/dist/thread-bindings.manager-B0LXiH3F.js +2 -0
- package/dist/thread-bindings.manager-BTlH4XMG.js +536 -0
- package/dist/thread-lifecycle-DG8uyPHd.js +1614 -0
- package/dist/token-BbGCANnE.js +134 -0
- package/dist/tool-actions.runtime-oUUrD8HB.js +534 -0
- package/dist/tool-actions.runtime.js +1 -1
- package/dist/tool-bqg-_vYv.js +139 -0
- package/dist/tool-resolution-CSZsa3kP.js +149 -0
- package/dist/tools-effective-inventory-0CqFp-vq.js +204 -0
- package/dist/tools-invoke-http-DhYHY0Yh.js +67 -0
- package/dist/tools-invoke-shared-CbVJJUj7.js +200 -0
- package/dist/tts-C2qD-ad6.js +66 -0
- package/dist/tui-CzGY254f.js +4709 -0
- package/dist/tui-backend-fzoeoSN0.js +256 -0
- package/dist/tui-cli-B2RWb2gM.js +37 -0
- package/dist/tui-dgS8hdXU.js +2 -0
- package/dist/update-cli-BmiBDf3c.js +3664 -0
- package/dist/update-runner-CM7QVX6u.js +2379 -0
- package/dist/vision-tools-BzoBZnIc.js +1409 -0
- package/dist/web-search-DmfOd66S.js +62 -0
- package/dist/web-search-provider.runtime-3C5-pODD.js +328 -0
- package/dist/web-search-provider.runtime-Doh-Z9We.js +2 -0
- package/dist/web-search-provider.runtime.js +1 -1
- package/dist/xai-oauth-BLvQ43hx.js +479 -0
- package/dist/xai-user-agent-BdMQ_0_O.js +32 -0
- package/package.json +1 -1
- package/dist/abort-DeEb_wKd.js +0 -277
- package/dist/abort.runtime-CoYXQGPK.js +0 -2
- package/dist/account-inspect-D_06-CYS.js +0 -173
- package/dist/accounts-BCTqtj4Y.js +0 -107
- package/dist/accounts-BudLl8P2.js +0 -107
- package/dist/accounts-CUReBDA0.js +0 -2
- package/dist/accounts-PCioSzzr.js +0 -119
- package/dist/acp-runtime-B2t9_BHD.js +0 -26
- package/dist/acp-spawn-0x4Iiu1o.js +0 -2
- package/dist/acp-spawn-B2Ghe0jJ.js +0 -1275
- package/dist/acp-stateful-target-driver-C4VgcSyz.js +0 -89
- package/dist/action-kill-ClYsXEz7.js +0 -33
- package/dist/action-runtime-DrLPkNvU.js +0 -469
- package/dist/action-runtime-api-BqSflr9q.js +0 -2
- package/dist/action-send-CIy9cziD.js +0 -39
- package/dist/action-spawn-BjV6lFnX.js +0 -47
- package/dist/actions-D-QH7wq5.js +0 -161
- package/dist/actions.runtime-hzDtXQGU.js +0 -5
- package/dist/agent-Bb1DTBgv.js +0 -3
- package/dist/agent-Cnqj258q.js +0 -2
- package/dist/agent-command-BRx6ZNgJ.js +0 -1367
- package/dist/agent-components.runtime-D-g6xXJ0.js +0 -10
- package/dist/agent-harness-runtime-dKUQFuOc.js +0 -180
- package/dist/agent-harness-task-runtime-v2crUm3i.js +0 -140
- package/dist/agent-runner-execution-AOzdxvWR.js +0 -1713
- package/dist/agent-runner-utils-Byv50B4Z.js +0 -266
- package/dist/agent-runner.runtime-hhgRE0Z-.js +0 -3455
- package/dist/agent-runtime-BHmh3i0o.js +0 -229
- package/dist/agent-via-gateway-DnCqaK4a.js +0 -463
- package/dist/api-Bzyb8sFU.js +0 -3
- package/dist/api-CIEDFXZs.js +0 -2
- package/dist/api-D_dTQAu8.js +0 -2
- package/dist/api-DilBjZ9Q.js +0 -6
- package/dist/api-E5zoQMmh.js +0 -134
- package/dist/api-OJZug8gQ.js +0 -639
- package/dist/apply-C0eV5T0O.js +0 -41
- package/dist/apply-alsYvxLE.js +0 -54
- package/dist/approval-handler.runtime-C6jqZXSN.js +0 -130
- package/dist/assistant-DDXnAAB5.js +0 -291
- package/dist/attachment-normalize-Cv-_4DWU.js +0 -225
- package/dist/attempt-execution-DECEU59r.js +0 -558
- package/dist/attempt-execution.runtime-kasMxuER.js +0 -3
- package/dist/attempt-execution.shared-ClUxk52p.js +0 -38
- package/dist/attempt.prompt-helpers-Bxlv9VSu.js +0 -475
- package/dist/attempt.tool-run-context-CplQWX6g.js +0 -2094
- package/dist/binding-routing-0Obpp-Ij.js +0 -113
- package/dist/binding-targets-CZHQaZL4.js +0 -121
- package/dist/bot-BPbQ0840.js +0 -7894
- package/dist/bot-deps-Cs1M9USs.js +0 -2
- package/dist/bot-deps-xAcaOtTZ.js +0 -747
- package/dist/bot-message-context.runtime-Bji78Cbn.js +0 -7
- package/dist/bot-message-context.session.runtime-C3dyOIYH.js +0 -12
- package/dist/bot-native-commands.delivery.runtime-WshH99fy.js +0 -4
- package/dist/bot-native-commands.runtime-C1L364gU.js +0 -13
- package/dist/bridge-server-DPlM8_Lk.js +0 -113
- package/dist/browser-cli-DFNQE98N.js +0 -230
- package/dist/browser-cli-Drb5E5--.js +0 -2
- package/dist/browser-cli-actions-input-Dx-1OXmE.js +0 -473
- package/dist/browser-cli-actions-observe-BMDfE7xU.js +0 -81
- package/dist/browser-cli-debug-nu7Ih09g.js +0 -137
- package/dist/browser-cli-inspect-D5X2wohg.js +0 -104
- package/dist/browser-cli-manage-DkzYwph4.js +0 -443
- package/dist/browser-cli-resize-B30Avedl.js +0 -26
- package/dist/browser-cli-shared-cMgQoQzF.js +0 -50
- package/dist/browser-cli-state-CQLDvDy7.js +0 -337
- package/dist/browser-control-auth-D7ArmHUt.js +0 -2
- package/dist/browser-profiles-B39SIZNb.js +0 -2
- package/dist/browser-runtime-DUbSAOOS.js +0 -384
- package/dist/build-D25KqC92.js +0 -257
- package/dist/capability-cli-CuyXrlAB.js +0 -1782
- package/dist/channel-0N3YGMGg.js +0 -1496
- package/dist/channel-1UyKoLyp.js +0 -481
- package/dist/channel-BG87pSEW.js +0 -740
- package/dist/channel-BPGSaZW7.js +0 -1249
- package/dist/channel-BQMPh1J_.js +0 -376
- package/dist/channel-Bd_8V6zn.js +0 -1134
- package/dist/channel-BtBjh_ij.js +0 -362
- package/dist/channel-CpFBlVH6.js +0 -562
- package/dist/channel-CwuTrIrF.js +0 -508
- package/dist/channel-Cxl4sJA-.js +0 -1777
- package/dist/channel-D-VfU4Z2.js +0 -2126
- package/dist/channel-D9q8aYrN.js +0 -867
- package/dist/channel-DKSvVvZh.js +0 -238
- package/dist/channel-DvoFfWLx.js +0 -808
- package/dist/channel-GktTcGHm.js +0 -955
- package/dist/channel-actions.runtime-CKcRA0GW.js +0 -265
- package/dist/channel-core-nm8s1qFZ.js +0 -5
- package/dist/channel-d3t2ESlE.js +0 -653
- package/dist/channel-inbound-DKz40dq-.js +0 -80
- package/dist/channel-plugin-runtime-DKIGZWfW.js +0 -998
- package/dist/channel-runtime-Bh8_GY12.js +0 -408
- package/dist/channel-yQ8jCOb9.js +0 -1556
- package/dist/channel.runtime-BG4mM5cQ.js +0 -652
- package/dist/channel.runtime-BS6PyFFa.js +0 -1008
- package/dist/channel.runtime-CE_xECqN.js +0 -88
- package/dist/channel.runtime-Cd1Sw8U4.js +0 -254
- package/dist/channel.runtime-DIq3XOEe.js +0 -733
- package/dist/channel.runtime-Dy1cx35I.js +0 -21009
- package/dist/channel.runtime-NyIMjLnP.js +0 -109
- package/dist/channel.runtime-Zx5mfE2V.js +0 -4
- package/dist/channel.runtime-rJRibGfN.js +0 -2528
- package/dist/channel.setup--4ACadmF.js +0 -10
- package/dist/channel.setup-DzwqIlo3.js +0 -1098
- package/dist/channel.setup-FKYSJwXR.js +0 -343
- package/dist/chat-CKxSm7r1.js +0 -2666
- package/dist/chrome-rMubJwRG.js +0 -1503
- package/dist/cli-CbTod55I.js +0 -1341
- package/dist/cli-compaction-BbHgjJyW.js +0 -347
- package/dist/cli-metadata-DkOWLC_p.js +0 -22
- package/dist/cli-runner-Cwzv_RKf.js +0 -540
- package/dist/cli-runner-DdnUsgPl.js +0 -2
- package/dist/cli-runner.runtime-BlrSgbEW.js +0 -3
- package/dist/cli-runner.runtime-D8kVfvFH.js +0 -4
- package/dist/client-ClvxsWgL.js +0 -650
- package/dist/client-adapter-CsrIIjK1.js +0 -897
- package/dist/client-factory-DAYClhwm.js +0 -9
- package/dist/command-auth-CCha2ofd.js +0 -135
- package/dist/command-handlers-DCWJzHyB.js +0 -1609
- package/dist/command-registry-BIf61QNz.js +0 -9
- package/dist/command-registry-DJROBy4h.js +0 -4
- package/dist/command-registry-core-BQOWqi6S.js +0 -110
- package/dist/command-status.runtime-D88CUglL.js +0 -90
- package/dist/commands-acp-B-8dHX4Z.js +0 -74
- package/dist/commands-compact.runtime-ComX5mUk.js +0 -10
- package/dist/commands-handlers.runtime-DR3wjXHX.js +0 -6154
- package/dist/commands-status-CDyGrwsI.js +0 -3
- package/dist/commands-status-DV-i_ZIK.js +0 -16
- package/dist/commands-status.runtime-CDyGrwsI.js +0 -3
- package/dist/commands-subagents-control.runtime-B029cXAS.js +0 -3
- package/dist/commands-subagents-control.runtime-DR8Qspe0.js +0 -2
- package/dist/commands-system-prompt-C10ctsG3.js +0 -162
- package/dist/commands-system-prompt-DQlRWwnk.js +0 -2
- package/dist/commands.runtime-BYmIAuN0.js +0 -176
- package/dist/compact-14Ljaaeu.js +0 -480
- package/dist/compact-B--ovdkx.js +0 -1141
- package/dist/compact.runtime-E0Idf2Dq.js +0 -12
- package/dist/completion-cli-DMvvQGSk.js +0 -315
- package/dist/computer-use-CcLwX5SR.js +0 -367
- package/dist/config-B39SIZNb.js +0 -2
- package/dist/config-D4rsGOyV.js +0 -373
- package/dist/config-mutations-CsI3YJu7.js +0 -159
- package/dist/context-engine-host-compat-BZpDFiMJ.js +0 -2
- package/dist/context-engine-host-compat-runUdES5.js +0 -288
- package/dist/context-engine-lifecycle-D6odtNrn.js +0 -1274
- package/dist/control-auth-BPGpPtfz.js +0 -114
- package/dist/control-service-C-OmdPCe.js +0 -145
- package/dist/control-ui/assets/agents-GeyOHPuW.js +0 -1008
- package/dist/control-ui/assets/channel-config-extras-D7en6iUg.js +0 -2
- package/dist/control-ui/assets/channels-DkEyr1w5.js +0 -367
- package/dist/control-ui/assets/cron-C-wThQ1Q.js +0 -1013
- package/dist/control-ui/assets/debug-83AFRtIX.js +0 -97
- package/dist/control-ui/assets/index-CiGEhMOA.js +0 -7370
- package/dist/control-ui/assets/instances-CVl0t-1h.js +0 -57
- package/dist/control-ui/assets/logs-eybVEXxg.js +0 -74
- package/dist/control-ui/assets/nodes-C_A7eoU2.js +0 -436
- package/dist/control-ui/assets/sessions-Cq4Nc69u.js +0 -399
- package/dist/control-ui/assets/skills-ZN6hroIh.js +0 -314
- package/dist/control-ui/assets/skills-shared-DIWGwmdC.js +0 -11
- package/dist/conversation-binding-runtime-C2U1JElL.js +0 -4
- package/dist/conversation-runtime-NmIUd3Zu.js +0 -31
- package/dist/core-DGKJP1dm.js +0 -282
- package/dist/core-api-1fA4sNeC.js +0 -5
- package/dist/core-api-BY822Quq.js +0 -2
- package/dist/crestodian-Bp-NXiBC.js +0 -55
- package/dist/daocore-tools-Defpam0j.js +0 -11727
- package/dist/delivery-CEdVAUGB.js +0 -1002
- package/dist/dialogue-CZ69INPq.js +0 -37
- package/dist/dir-fetch-tool-BCicHhQE.js +0 -565
- package/dist/dir-list-tool-Cv_WktsJ.js +0 -100
- package/dist/direct-dm-Bz89rM8x.js +0 -64
- package/dist/directive-handling.fast-lane-DDnbcc5S.js +0 -68
- package/dist/directive-handling.impl-B0H52Ymr.js +0 -818
- package/dist/directive-handling.impl-CgKpwEW-.js +0 -2
- package/dist/directive-handling.model-selection-_cXAr0vt.js +0 -122
- package/dist/directive-handling.persist.runtime-Dw0mfzXT.js +0 -263
- package/dist/dispatch-C3AeYvyP.js +0 -1640
- package/dist/dispatch-acp-transcript.runtime-CP8pqBwS.js +0 -40
- package/dist/dispatch-acp.runtime-Cdap-AZI.js +0 -18
- package/dist/doctor-BZwVH97p.js +0 -2
- package/dist/doctor-BfkGBii1.js +0 -6
- package/dist/doctor-config-flow-D3JASGDt.js +0 -1741
- package/dist/doctor-core-checks-DH5AIT0Q.js +0 -573
- package/dist/doctor-core-checks-DiNu7VSh.js +0 -2
- package/dist/doctor-health-BDIJ-Nro.js +0 -65
- package/dist/doctor-health-contributions-BgmF7w8X.js +0 -696
- package/dist/doctor-lint-uIxkMUSO.js +0 -94
- package/dist/doctor-state-integrity-ws1b_BGk.js +0 -1231
- package/dist/doctor-update-Cx4CqxaX.js +0 -58
- package/dist/dynamic-tools-DiqOxhJh.js +0 -486
- package/dist/embedded-backend-C634irMl.js +0 -579
- package/dist/embedded-gateway-stub.runtime-CCfrTOeN.js +0 -12
- package/dist/exec-approvals-D85KThSg.js +0 -149
- package/dist/file-fetch-tool-BERaGYCT.js +0 -124
- package/dist/file-write-tool-BjHrMyfe.js +0 -127
- package/dist/format-DE9PuPg1.js +0 -1145
- package/dist/gateway-cli-B5hjhbUy.js +0 -435
- package/dist/gateway-method-runtime-Bu0E9Eki.js +0 -21
- package/dist/get-reply-6PtPz9hv.js +0 -4689
- package/dist/get-reply-from-config.runtime-CwprvhoR.js +0 -2
- package/dist/graph-users-DUp1kgnS.js +0 -1419
- package/dist/group-access-D5GBQ3w6.js +0 -112
- package/dist/handle-action.guild-admin-CA0Y-buD.js +0 -288
- package/dist/harness-B5nOFVfm.js +0 -61
- package/dist/health-D5heIDj3.js +0 -4
- package/dist/heartbeat-runner-BzFkIFHh.js +0 -5
- package/dist/heartbeat-runner.runtime-p6H1_xMV.js +0 -4
- package/dist/hooks-BvTyQ14X.js +0 -534
- package/dist/inbound-direct-dm-runtime-DwiDXi8L.js +0 -2
- package/dist/inbound-reply-dispatch-YoDUOC6C.js +0 -148
- package/dist/init-CPtcV5Xu.js +0 -59
- package/dist/inline-buttons-DeD5d42c.js +0 -40
- package/dist/internal-events-DEb50Sw3.js +0 -90
- package/dist/isolated-agent-CcxFFZ-Z.js +0 -1118
- package/dist/isolated-agent-CpHzq5qr.js +0 -2
- package/dist/lifecycle-DNel-oMe.js +0 -571
- package/dist/list.probe-DCa3N25d.js +0 -449
- package/dist/list.status-command-CyeAJmZW.js +0 -789
- package/dist/llm-slug-generator-CyqTY37Z.js +0 -78
- package/dist/local-dispatch.runtime-nE39kFIP.js +0 -9
- package/dist/manager.runtime-CpAPB8D5.js +0 -2714
- package/dist/markdown-to-line-Ci6TRmoZ.js +0 -811
- package/dist/mcp-http-BR0vmxFL.js +0 -2
- package/dist/mcp-http-C0oniA8h.js +0 -555
- package/dist/media-understanding-provider-BwA0XqC3.js +0 -339
- package/dist/message-actions-C9C_Ngkd.js +0 -145
- package/dist/message-handler-CUUKPC5n.js +0 -384
- package/dist/message-handler-xRTfIXWV.js +0 -1715
- package/dist/message-handler.preflight-Ch2Q7V3M.js +0 -1125
- package/dist/message-handler.process-HM3mK93q.js +0 -1484
- package/dist/model-CB8Ex5xS.js +0 -74
- package/dist/model-selection-2s0Dinux.js +0 -272
- package/dist/models-Cn-6DJ41.js +0 -2
- package/dist/models-CzszJD__.js +0 -104
- package/dist/models-cli-CbhElnA5.js +0 -256
- package/dist/monitor-7aprTsMV.js +0 -715
- package/dist/monitor-BuVhqwDS.js +0 -1370
- package/dist/monitor-C4H_YkgY.js +0 -2
- package/dist/monitor-CPQsMxgv.js +0 -1657
- package/dist/monitor-Ce0V1PiR.js +0 -4377
- package/dist/monitor-D0bcGJWI.js +0 -60
- package/dist/monitor-DEjlJqzh.js +0 -834
- package/dist/monitor-auth-DjJZsjgV.js +0 -179
- package/dist/monitor-ikSYagv3.js +0 -2788
- package/dist/monitor-polling.runtime-D7yEflMM.js +0 -883
- package/dist/monitor-webhook.runtime-CIZt-biI.js +0 -387
- package/dist/monitor.account-C2sMOBCS.js +0 -5233
- package/dist/monitor.runtime-BAi6zmcn.js +0 -2
- package/dist/monitor.webhook-BcjpfRCX.js +0 -180
- package/dist/node-cli-sessions-CIhkJRU4.js +0 -1228
- package/dist/openai-http-Dj21RwSj.js +0 -824
- package/dist/openresponses-http-COnnr1ox.js +0 -1173
- package/dist/operations-H3vUh0lM.js +0 -805
- package/dist/outbound-adapter-WLtWE7wv.js +0 -543
- package/dist/outbound-session-route-CZtd64EH.js +0 -45
- package/dist/outbound.runtime-D98P0sN1.js +0 -2
- package/dist/pi-embedded-BWJzd4mK.js +0 -4
- package/dist/pi-embedded-DeNsSqQQ.js +0 -3796
- package/dist/pi-embedded.runtime-CZnNwFpc.js +0 -4
- package/dist/pi-tools-CNHSpjBa.js +0 -2413
- package/dist/plan-B0reFFlM.js +0 -81
- package/dist/plan-CrfF-TH8.js +0 -112
- package/dist/plugin-DI_8eYOe.js +0 -12396
- package/dist/plugin-app-cache-key-WaTUD3e-.js +0 -46
- package/dist/plugin-enabled-aWLXgGGi.js +0 -233
- package/dist/plugin-registration-ByjRIVJm.js +0 -88
- package/dist/plugin-service-VQm_241d.js +0 -1229
- package/dist/policy-BmJH-swe.js +0 -680
- package/dist/policy-DE-bO1zn.js +0 -138
- package/dist/prepare.runtime-bSj3-res.js +0 -732
- package/dist/preview-warnings-CbuGYsF9.js +0 -392
- package/dist/probe-C_rWg7_m.js +0 -682
- package/dist/probe-CagOFfx6.js +0 -2
- package/dist/probe-thX1HqOh.js +0 -2204
- package/dist/probe-zU6B6gFt.js +0 -47
- package/dist/program-BtVdH743.js +0 -131
- package/dist/provider-CDoD7tO0.js +0 -8735
- package/dist/provider-CK1gMdJ2.js +0 -32
- package/dist/provider-DJqr9djy.js +0 -32
- package/dist/provider-DsOJp5bK.js +0 -152
- package/dist/provider-dispatcher-UNQ-LSx9.js +0 -22
- package/dist/provider-session.runtime-DMrkMb4x.js +0 -9
- package/dist/provider.runtime-C2-t3zm8.js +0 -2
- package/dist/public-surface-loader-hTeyyHcd.js +0 -114
- package/dist/pw-ai-BaL3eVYx.js +0 -3029
- package/dist/pw-role-snapshot-DKeBqhN1.js +0 -333
- package/dist/reaction-level-BV2potsD.js +0 -19
- package/dist/reaction-runtime-api-CCBxgM10.js +0 -116
- package/dist/realtime-transcription-provider-CHYtIXZm.js +0 -205
- package/dist/register-BJf28G9B.js +0 -2178
- package/dist/register.agent-oXAHwNQv.js +0 -156
- package/dist/register.crestodian-CQ0sqdV2.js +0 -24
- package/dist/register.maintenance-CylVRs5M.js +0 -83
- package/dist/register.runtime-CcDgwy0X.js +0 -54
- package/dist/register.subclis-CpBYNw2X.js +0 -3
- package/dist/register.subclis-N2CvieOL.js +0 -31
- package/dist/register.subclis-core-BHaGvbzg.js +0 -273
- package/dist/repair-sequencing-EBBnBdIB.js +0 -640
- package/dist/reply-delivery-BLoPALlI.js +0 -196
- package/dist/reply-runtime-D4asNTSa.js +0 -11
- package/dist/reply.runtime-CwprvhoR.js +0 -2
- package/dist/request-DlWPRUDt.js +0 -54
- package/dist/resolve-allowlist-BukQf58x.js +0 -220
- package/dist/result-fallback-classifier-DyHFnqfV.js +0 -79
- package/dist/route-BMf4keN5.js +0 -469
- package/dist/route-resolution-DWNi1QAu.js +0 -274
- package/dist/routes-C20LC8c4.js +0 -3602
- package/dist/routes-CkK7Vv_m.js +0 -2
- package/dist/run-KDF_AEza.js +0 -1162
- package/dist/run-attempt-JHYCfonU.js +0 -7704
- package/dist/run-command-3PVihYIy.js +0 -2
- package/dist/run-command-QHAXnyKY.js +0 -23
- package/dist/run-embedded.runtime-BJw-2vss.js +0 -4
- package/dist/run-execution-cli.runtime-GHClMn2g.js +0 -4
- package/dist/run-subagent-registry.runtime-BLLMrhtE.js +0 -2
- package/dist/runtime-C2u-dC1r.js +0 -1287
- package/dist/runtime-ClyfkDWT.js +0 -6179
- package/dist/runtime-WXCarlPc.js +0 -438
- package/dist/runtime-api-3QhGLpZf.js +0 -13
- package/dist/runtime-api-DRAu3mjv.js +0 -4
- package/dist/runtime-api-JE07pOem.js +0 -13
- package/dist/runtime-api-JuKylHvw.js +0 -24
- package/dist/runtime-api-bcbk4yax.js +0 -21
- package/dist/runtime-api-dDe9U2_V.js +0 -17
- package/dist/runtime-api-uMexLqGS.js +0 -3
- package/dist/runtime-api.actions-Bo7TLDFl.js +0 -3
- package/dist/runtime-api.monitor-7q78L1Em.js +0 -6
- package/dist/runtime-api.send-Bf9RR4nV.js +0 -4
- package/dist/runtime-api.threads-Dj2QuhHj.js +0 -2
- package/dist/runtime-channel-k1C0Satl.js +0 -2
- package/dist/runtime-channel-qt9t0J-J.js +0 -150
- package/dist/runtime-embedded-pi.runtime-BPB9NlTS.js +0 -2
- package/dist/sanitize-outbound-BLH_SQvg.js +0 -127
- package/dist/sdk-setup-tools-BshlBPau.js +0 -8
- package/dist/secrets-CsHXv7d3.js +0 -113
- package/dist/security-audit-CUXBQXNX.js +0 -122
- package/dist/security-audit-CzdXbRma.js +0 -118
- package/dist/security-audit.runtime-Ca0FMFJG.js +0 -2
- package/dist/selection-BmvQJlSD.js +0 -3
- package/dist/selection-BplDXc9w.js +0 -16157
- package/dist/send--qFg8a9v.js +0 -1631
- package/dist/send-BPdryPPA.js +0 -192
- package/dist/send-Bl4YaRkS.js +0 -143
- package/dist/send-Ccm7RMXC.js +0 -2
- package/dist/send.components-c3OUPSmR.js +0 -2
- package/dist/send.components-rhQJYoXs.js +0 -500
- package/dist/send.runtime-dfUkAp5d.js +0 -2
- package/dist/server-DRhyTMLe.js +0 -73
- package/dist/server-Dv4BzjGn.js +0 -24
- package/dist/server-context-4HRJy2vp.js +0 -955
- package/dist/server-context-DlxYb1G5.js +0 -2
- package/dist/server-cron-Bt8Pkc3i.js +0 -2989
- package/dist/server-cron-CtNWsa4Z.js +0 -2
- package/dist/server-methods-rye_okUW.js +0 -16494
- package/dist/server-node-events-C1yZ5a1u.js +0 -596
- package/dist/server-plugin-bootstrap-DUMyVtlP.js +0 -70
- package/dist/server-plugins-B5ZWWkRE.js +0 -432
- package/dist/server-reload-handlers-CTnMXNjT.js +0 -714
- package/dist/server-restart-sentinel-CAYxtwmY.js +0 -747
- package/dist/server-restart-sentinel-DqrtSIvy.js +0 -2
- package/dist/server-runtime-services-CuptQTe5.js +0 -2
- package/dist/server-runtime-services-aaS2IiW3.js +0 -267
- package/dist/server-startup-plugins-D0ymJgQT.js +0 -113
- package/dist/server-startup-post-attach-DlrN2uyt.js +0 -716
- package/dist/server-ws-runtime-CdpLbv4o.js +0 -349
- package/dist/server.impl-Cb4qcMTg.js +0 -2586
- package/dist/service-qxvDlMQE.js +0 -1446
- package/dist/session-binding-6bLobLHL.js +0 -219
- package/dist/session-binding-Bm6fCpoY.js +0 -2
- package/dist/session-kill-http-B6WjVo8V.js +0 -121
- package/dist/session-reset-service-GUVIhxp4.js +0 -625
- package/dist/session-route-BcRDnvzG.js +0 -93
- package/dist/session-status.runtime-BcjOunV4.js +0 -2
- package/dist/session-subagent-reactivation.runtime-BSmk_KYn.js +0 -2
- package/dist/session-tab-registry-BBYzbSOu.js +0 -521
- package/dist/sessions-history-http-bLJJfgLm.js +0 -430
- package/dist/sessions.runtime-DNRtQzCk.js +0 -2
- package/dist/setup-api-CcolVVJs.js +0 -29
- package/dist/setup-core-eJD18F3B.js +0 -174
- package/dist/setup-surface-B75C2Qtz.js +0 -221
- package/dist/setup-surface-CFuPfVHp.js +0 -405
- package/dist/setup-surface-Dyy-Mzyz.js +0 -288
- package/dist/setup-surface-ZsVF_g8W.js +0 -320
- package/dist/shared-BkCNrcLX.js +0 -121
- package/dist/shared-client-B7zqC9p2.js +0 -2
- package/dist/shared-client-yXjKgZBz.js +0 -629
- package/dist/side-question-DU3gESCb.js +0 -683
- package/dist/skill-tool-dispatch.runtime-CPBuqyvk.js +0 -143
- package/dist/slash-state-Do3bAahA.js +0 -2166
- package/dist/speech-provider-Bg9los3C.js +0 -184
- package/dist/src-D7LzUctH.js +0 -4256
- package/dist/startup-context-CCF2gIOl.js +0 -313
- package/dist/status-subagents.runtime-DX5FTymp.js +0 -18
- package/dist/status-text-B-1u5dSV.js +0 -296
- package/dist/sticker-cache-DwpU_9RJ.js +0 -206
- package/dist/sticker-vision.runtime-Bbldi_YL.js +0 -17
- package/dist/subagent-announce-BCo0VHVL.js +0 -354
- package/dist/subagent-announce-delivery-JcnuDN_N.js +0 -958
- package/dist/subagent-control-BzbA3Suz.js +0 -508
- package/dist/subagent-hooks-BIGZQWrG.js +0 -2
- package/dist/subagent-hooks-Bj4qYZfv.js +0 -230
- package/dist/subagent-hooks-C-rvhVBv.js +0 -2
- package/dist/subagent-hooks-P01_AFl5.js +0 -116
- package/dist/subagent-hooks-VEfak8nl.js +0 -2
- package/dist/subagent-hooks-api-BPnSxxN4.js +0 -23
- package/dist/subagent-hooks-api-DwIAvMoS.js +0 -22
- package/dist/subagent-hooks-api-kgyR9FOb.js +0 -23
- package/dist/subagent-hooks-oED56wqq.js +0 -146
- package/dist/subagent-orphan-recovery-D79ZzwKN.js +0 -352
- package/dist/subagent-registry-D0soBT5j.js +0 -2351
- package/dist/subagent-registry-DRJDkmty.js +0 -3
- package/dist/subagent-session-cleanup-9eAO1aJe.js +0 -525
- package/dist/subagent-spawn-D80vbogm.js +0 -1164
- package/dist/target-id-COLv5LsJ.js +0 -107
- package/dist/targets-CDW5IQ6a.js +0 -44
- package/dist/targets-Ci6O1ZdP.js +0 -19
- package/dist/targets-CsaWFBg1.js +0 -19
- package/dist/testing-BoJit-h1.js +0 -267
- package/dist/thread-bindings-CGCvw0KT.js +0 -571
- package/dist/thread-bindings-ClCTNacX.js +0 -228
- package/dist/thread-bindings-DRb7BMZ6.js +0 -8
- package/dist/thread-bindings-Xc6smav0.js +0 -232
- package/dist/thread-bindings.discord-api-DC467oeF.js +0 -187
- package/dist/thread-bindings.manager-C_mpTDIZ.js +0 -536
- package/dist/thread-bindings.manager-DkCRs612.js +0 -2
- package/dist/thread-lifecycle-DpqCXlx9.js +0 -1614
- package/dist/token-CI6HjbTA.js +0 -134
- package/dist/tool-BMe7hjBK.js +0 -139
- package/dist/tool-actions.runtime-D-h5PI_m.js +0 -534
- package/dist/tool-resolution-CnLx0CHe.js +0 -149
- package/dist/tools-effective-inventory-BR6MUMtE.js +0 -204
- package/dist/tools-invoke-http-CTTs2yMT.js +0 -67
- package/dist/tools-invoke-shared-9B1EjXWf.js +0 -200
- package/dist/tts-eGOviZ5c.js +0 -66
- package/dist/tui-Bw0HqKd7.js +0 -4709
- package/dist/tui-CIZJnPzj.js +0 -2
- package/dist/tui-backend-BJ_r7tcF.js +0 -256
- package/dist/tui-cli-BaSMBpuA.js +0 -37
- package/dist/update-cli-zuCybGNR.js +0 -3664
- package/dist/update-runner-Dek2BHmQ.js +0 -2379
- package/dist/vision-tools-1ps0BEE5.js +0 -1409
- package/dist/web-search-B7EziZXE.js +0 -62
- package/dist/web-search-provider.runtime-DGTCvGch.js +0 -328
- package/dist/web-search-provider.runtime-DWL5t39M.js +0 -2
- package/dist/xai-oauth-CRtsj2Gs.js +0 -479
- package/dist/xai-user-agent-Dndwzw2S.js +0 -32
- /package/dist/{acp-runtime-backend-DSDBcyh9.js → acp-runtime-backend-Cxo7eBHf.js} +0 -0
- /package/dist/{channel-actions-FV66JqtI.js → channel-actions-UDeVjgGz.js} +0 -0
- /package/dist/{command-status-runtime-BRWKSoG7.js → command-status-runtime-CoHd4Fws.js} +0 -0
- /package/dist/{delegate-DGqKhwB4.js → delegate-B-2xZ77o.js} +0 -0
- /package/dist/{dispatch-acp-Ceoxja_Z.js → dispatch-acp-DLPkmK7K.js} +0 -0
- /package/dist/{heartbeat-runner-CJHvr5pG.js → heartbeat-runner-D2j6JwOI.js} +0 -0
- /package/dist/{library-Bq3aDek_.js → library-DBT0cIPP.js} +0 -0
- /package/dist/{run-executor.runtime-DNJhGPbA.js → run-executor.runtime-DE4J7f4M.js} +0 -0
- /package/dist/{shared-CYxmRpq1.js → shared-xeo8Yh5n.js} +0 -0
|
@@ -0,0 +1,1446 @@
|
|
|
1
|
+
import { a as normalizeLowercaseStringOrEmpty } from "./string-coerce-DyL154ka.js";
|
|
2
|
+
import { i as formatErrorMessage } from "./errors-D_oyTIw2.js";
|
|
3
|
+
import { At as boolean, Et as array, Ln as strictObject, Nn as record, Rn as string, Tn as object, wn as number, yt as _enum } from "./schemas-Del5uzR8.js";
|
|
4
|
+
import { a as unregisterAcpRuntimeBackend, n as registerAcpRuntimeBackend } from "./registry-DZLZ16sq.js";
|
|
5
|
+
import { n as readJsonFileWithFallback } from "./json-store-GaAZLixM.js";
|
|
6
|
+
import "./error-runtime--zM-GsR-.js";
|
|
7
|
+
import "./string-coerce-runtime-DcopKqDR.js";
|
|
8
|
+
import { s as formatPluginConfigIssue } from "./extension-shared-D6I0yOLZ.js";
|
|
9
|
+
import "./runtime-api-Cimpgm5_.js";
|
|
10
|
+
import { a as DAOCORE_ACPX_LEASE_ID_ENV, c as createAcpxProcessLeaseStore, d as quoteCommandPart, f as splitCommandParts, i as DAOCORE_ACPX_LEASE_ID_ARG, o as DAOCORE_GATEWAY_INSTANCE_ID_ARG, r as reapStaleDaoCoreOwnedAcpxOrphans, t as cleanupDaoCoreOwnedAcpxProcessTree } from "./process-reaper-BHdgnDmv.js";
|
|
11
|
+
import { createRequire } from "node:module";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
|
+
import fs from "node:fs";
|
|
14
|
+
import path from "node:path";
|
|
15
|
+
import fs$1 from "node:fs/promises";
|
|
16
|
+
import os from "node:os";
|
|
17
|
+
import { randomUUID } from "node:crypto";
|
|
18
|
+
import { inspect } from "node:util";
|
|
19
|
+
//#region extensions/acpx/src/codex-trust-config.ts
|
|
20
|
+
function stripTomlComment(line) {
|
|
21
|
+
let quote = null;
|
|
22
|
+
let escaping = false;
|
|
23
|
+
for (let index = 0; index < line.length; index += 1) {
|
|
24
|
+
const ch = line[index];
|
|
25
|
+
if (escaping) {
|
|
26
|
+
escaping = false;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (quote === "\"" && ch === "\\") {
|
|
30
|
+
escaping = true;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (quote) {
|
|
34
|
+
if (ch === quote) quote = null;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (ch === "'" || ch === "\"") {
|
|
38
|
+
quote = ch;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (ch === "#") return line.slice(0, index);
|
|
42
|
+
}
|
|
43
|
+
return line;
|
|
44
|
+
}
|
|
45
|
+
function parseTomlString(value) {
|
|
46
|
+
const trimmed = value.trim();
|
|
47
|
+
if (trimmed.startsWith("\"") && trimmed.endsWith("\"")) try {
|
|
48
|
+
return JSON.parse(trimmed);
|
|
49
|
+
} catch {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (trimmed.startsWith("'") && trimmed.endsWith("'")) return trimmed.slice(1, -1);
|
|
53
|
+
}
|
|
54
|
+
function parseTomlDottedKey(value) {
|
|
55
|
+
const parts = [];
|
|
56
|
+
let current = "";
|
|
57
|
+
let quote = null;
|
|
58
|
+
let escaping = false;
|
|
59
|
+
for (const ch of value.trim()) {
|
|
60
|
+
if (escaping) {
|
|
61
|
+
current += ch;
|
|
62
|
+
escaping = false;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (quote === "\"" && ch === "\\") {
|
|
66
|
+
current += ch;
|
|
67
|
+
escaping = true;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (quote) {
|
|
71
|
+
current += ch;
|
|
72
|
+
if (ch === quote) quote = null;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (ch === "'" || ch === "\"") {
|
|
76
|
+
quote = ch;
|
|
77
|
+
current += ch;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (ch === ".") {
|
|
81
|
+
parts.push(current.trim());
|
|
82
|
+
current = "";
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
current += ch;
|
|
86
|
+
}
|
|
87
|
+
if (current.trim()) parts.push(current.trim());
|
|
88
|
+
return parts.map((part) => parseTomlString(part) ?? part);
|
|
89
|
+
}
|
|
90
|
+
function parseProjectHeader(line) {
|
|
91
|
+
const trimmed = line.trim();
|
|
92
|
+
if (!trimmed.startsWith("[") || !trimmed.endsWith("]") || trimmed.startsWith("[[")) return;
|
|
93
|
+
const parts = parseTomlDottedKey(trimmed.slice(1, -1));
|
|
94
|
+
return parts.length === 2 && parts[0] === "projects" ? parts[1] : void 0;
|
|
95
|
+
}
|
|
96
|
+
function parseTrustedInlineProjectEntries(value) {
|
|
97
|
+
const trusted = [];
|
|
98
|
+
for (const match of value.matchAll(/(?<key>"(?:\\.|[^"\\])*"|'[^']*'|[A-Za-z0-9_\-/.~:]+)\s*=\s*\{(?<body>[^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g)) {
|
|
99
|
+
const key = match.groups?.key;
|
|
100
|
+
const body = match.groups?.body;
|
|
101
|
+
if (!key || !body || !/\btrust_level\s*=\s*["']trusted["']/.test(body)) continue;
|
|
102
|
+
const projectPath = parseTomlString(key) ?? key.trim();
|
|
103
|
+
if (projectPath) trusted.push(projectPath);
|
|
104
|
+
}
|
|
105
|
+
return trusted;
|
|
106
|
+
}
|
|
107
|
+
function extractTrustedCodexProjectPaths(configToml) {
|
|
108
|
+
const trusted = /* @__PURE__ */ new Set();
|
|
109
|
+
let currentProjectPath;
|
|
110
|
+
let inProjectsTable = false;
|
|
111
|
+
for (const rawLine of configToml.split(/\r?\n/)) {
|
|
112
|
+
const line = stripTomlComment(rawLine).trim();
|
|
113
|
+
if (!line) continue;
|
|
114
|
+
if (line.startsWith("[")) {
|
|
115
|
+
currentProjectPath = parseProjectHeader(line);
|
|
116
|
+
inProjectsTable = line === "[projects]";
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (currentProjectPath && /^trust_level\s*=\s*["']trusted["']\s*$/.test(line)) {
|
|
120
|
+
trusted.add(currentProjectPath);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const assignment = /^(?<key>"(?:\\.|[^"\\])*"|'[^']*'|[A-Za-z0-9_\-/.~:]+)\s*=\s*(?<value>.+)$/.exec(line);
|
|
124
|
+
if (!assignment?.groups) continue;
|
|
125
|
+
const key = parseTomlString(assignment.groups.key) ?? assignment.groups.key;
|
|
126
|
+
const value = assignment.groups.value.trim();
|
|
127
|
+
if (inProjectsTable && /^\{.*\}$/.test(value)) {
|
|
128
|
+
if (/\btrust_level\s*=\s*["']trusted["']/.test(value) && key) trusted.add(key);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (key === "projects" || inProjectsTable) for (const projectPath of parseTrustedInlineProjectEntries(value)) trusted.add(projectPath);
|
|
132
|
+
}
|
|
133
|
+
return Array.from(trusted);
|
|
134
|
+
}
|
|
135
|
+
const INHERITED_TOP_LEVEL_CODEX_CONFIG_KEYS = new Set([
|
|
136
|
+
"model",
|
|
137
|
+
"model_provider",
|
|
138
|
+
"model_reasoning_effort",
|
|
139
|
+
"sandbox_mode"
|
|
140
|
+
]);
|
|
141
|
+
const INHERITED_MODEL_PROVIDER_CONFIG_KEYS = new Set([
|
|
142
|
+
"name",
|
|
143
|
+
"base_url",
|
|
144
|
+
"wire_api",
|
|
145
|
+
"env_key",
|
|
146
|
+
"env_key_instructions",
|
|
147
|
+
"requires_openai_auth",
|
|
148
|
+
"request_max_retries",
|
|
149
|
+
"stream_max_retries",
|
|
150
|
+
"stream_idle_timeout_ms"
|
|
151
|
+
]);
|
|
152
|
+
function parseTableHeader(line) {
|
|
153
|
+
const trimmed = line.trim();
|
|
154
|
+
if (!trimmed.startsWith("[") || !trimmed.endsWith("]") || trimmed.startsWith("[[")) return;
|
|
155
|
+
return parseTomlDottedKey(trimmed.slice(1, -1));
|
|
156
|
+
}
|
|
157
|
+
function isInheritedModelProviderTable(parts) {
|
|
158
|
+
return parts?.[0] === "model_providers" && parts.length === 2;
|
|
159
|
+
}
|
|
160
|
+
function parseTopLevelAssignmentKey(line) {
|
|
161
|
+
return /^(?<key>[A-Za-z0-9_-]+)\s*=\s*(?<value>.+)$/.exec(line)?.groups?.key;
|
|
162
|
+
}
|
|
163
|
+
function extractInheritedCodexRuntimeConfig(configToml) {
|
|
164
|
+
const inheritedLines = [];
|
|
165
|
+
let inAnyTable = false;
|
|
166
|
+
let inInheritedTable = false;
|
|
167
|
+
let pendingInheritedTableHeader = "";
|
|
168
|
+
function flushInheritedTableHeader() {
|
|
169
|
+
if (!pendingInheritedTableHeader) return;
|
|
170
|
+
if (inheritedLines.length > 0 && inheritedLines[inheritedLines.length - 1] !== "") inheritedLines.push("");
|
|
171
|
+
inheritedLines.push(pendingInheritedTableHeader);
|
|
172
|
+
pendingInheritedTableHeader = "";
|
|
173
|
+
}
|
|
174
|
+
for (const rawLine of configToml.split(/\r?\n/)) {
|
|
175
|
+
const trimmedLine = rawLine.trim();
|
|
176
|
+
const semanticLine = stripTomlComment(rawLine).trim();
|
|
177
|
+
if (trimmedLine.startsWith("[")) {
|
|
178
|
+
const tableParts = parseTableHeader(trimmedLine);
|
|
179
|
+
inAnyTable = true;
|
|
180
|
+
inInheritedTable = isInheritedModelProviderTable(tableParts);
|
|
181
|
+
if (inInheritedTable) pendingInheritedTableHeader = rawLine.trimEnd();
|
|
182
|
+
else pendingInheritedTableHeader = "";
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
if (inInheritedTable) {
|
|
186
|
+
if (!semanticLine) continue;
|
|
187
|
+
const key = parseTopLevelAssignmentKey(semanticLine);
|
|
188
|
+
if (!key || !INHERITED_MODEL_PROVIDER_CONFIG_KEYS.has(key)) continue;
|
|
189
|
+
flushInheritedTableHeader();
|
|
190
|
+
inheritedLines.push(rawLine.trimEnd());
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
if (inAnyTable) continue;
|
|
194
|
+
const key = parseTopLevelAssignmentKey(semanticLine);
|
|
195
|
+
if (!key) continue;
|
|
196
|
+
if (!INHERITED_TOP_LEVEL_CODEX_CONFIG_KEYS.has(key)) continue;
|
|
197
|
+
inheritedLines.push(rawLine.trimEnd());
|
|
198
|
+
}
|
|
199
|
+
while (inheritedLines.length > 0 && inheritedLines[inheritedLines.length - 1] === "") inheritedLines.pop();
|
|
200
|
+
return inheritedLines.join("\n");
|
|
201
|
+
}
|
|
202
|
+
function renderIsolatedCodexConfig(params) {
|
|
203
|
+
const normalized = Array.from(new Set(params.projectPaths.map((projectPath) => projectPath.trim()).filter(Boolean).map((projectPath) => path.resolve(projectPath)))).toSorted((left, right) => left.localeCompare(right));
|
|
204
|
+
return [
|
|
205
|
+
"# Generated by DaoCore for Codex ACP sessions.",
|
|
206
|
+
params.sourceConfigToml ? extractInheritedCodexRuntimeConfig(params.sourceConfigToml) : "",
|
|
207
|
+
...normalized.flatMap((projectPath) => [
|
|
208
|
+
"",
|
|
209
|
+
`[projects.${JSON.stringify(projectPath)}]`,
|
|
210
|
+
"trust_level = \"trusted\""
|
|
211
|
+
]),
|
|
212
|
+
""
|
|
213
|
+
].filter((line, index, lines) => !(line === "" && lines[index - 1] === "")).join("\n");
|
|
214
|
+
}
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region extensions/acpx/src/config-schema.ts
|
|
217
|
+
const ACPX_PERMISSION_MODES = [
|
|
218
|
+
"approve-all",
|
|
219
|
+
"approve-reads",
|
|
220
|
+
"deny-all"
|
|
221
|
+
];
|
|
222
|
+
const ACPX_NON_INTERACTIVE_POLICIES = ["deny", "fail"];
|
|
223
|
+
const nonEmptyTrimmedString = (message) => string({ error: message }).trim().min(1, { error: message });
|
|
224
|
+
const McpServerConfigSchema = object({
|
|
225
|
+
command: nonEmptyTrimmedString("command must be a non-empty string").describe("Command to run the MCP server"),
|
|
226
|
+
args: array(string({ error: "args must be an array of strings" }), { error: "args must be an array of strings" }).optional().describe("Arguments to pass to the command"),
|
|
227
|
+
env: record(string(), string({ error: "env values must be strings" }), { error: "env must be an object of strings" }).optional().describe("Environment variables for the MCP server")
|
|
228
|
+
});
|
|
229
|
+
const AcpxPluginConfigSchema = strictObject({
|
|
230
|
+
cwd: nonEmptyTrimmedString("cwd must be a non-empty string").optional(),
|
|
231
|
+
stateDir: nonEmptyTrimmedString("stateDir must be a non-empty string").optional(),
|
|
232
|
+
probeAgent: nonEmptyTrimmedString("probeAgent must be a non-empty string").optional(),
|
|
233
|
+
permissionMode: _enum(ACPX_PERMISSION_MODES, { error: `permissionMode must be one of: ${ACPX_PERMISSION_MODES.join(", ")}` }).optional(),
|
|
234
|
+
nonInteractivePermissions: _enum(ACPX_NON_INTERACTIVE_POLICIES, { error: `nonInteractivePermissions must be one of: ${ACPX_NON_INTERACTIVE_POLICIES.join(", ")}` }).optional(),
|
|
235
|
+
pluginToolsMcpBridge: boolean({ error: "pluginToolsMcpBridge must be a boolean" }).optional(),
|
|
236
|
+
openClawToolsMcpBridge: boolean({ error: "openClawToolsMcpBridge must be a boolean" }).optional(),
|
|
237
|
+
strictWindowsCmdWrapper: boolean({ error: "strictWindowsCmdWrapper must be a boolean" }).optional(),
|
|
238
|
+
timeoutSeconds: number({ error: "timeoutSeconds must be a number >= 0.001" }).min(.001, { error: "timeoutSeconds must be a number >= 0.001" }).default(120),
|
|
239
|
+
queueOwnerTtlSeconds: number({ error: "queueOwnerTtlSeconds must be a number >= 0" }).min(0, { error: "queueOwnerTtlSeconds must be a number >= 0" }).optional(),
|
|
240
|
+
mcpServers: record(string(), McpServerConfigSchema).optional(),
|
|
241
|
+
agents: record(string(), strictObject({
|
|
242
|
+
command: nonEmptyTrimmedString("agents.<id>.command must be a non-empty string"),
|
|
243
|
+
args: array(string({ error: "args must be an array of strings" })).optional()
|
|
244
|
+
})).optional()
|
|
245
|
+
});
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region extensions/acpx/src/config.ts
|
|
248
|
+
const ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME = "daocore-plugin-tools";
|
|
249
|
+
const ACPX_DAOCORE_TOOLS_MCP_SERVER_NAME = "daocore-tools";
|
|
250
|
+
const requireFromHere$1 = createRequire(import.meta.url);
|
|
251
|
+
function isAcpxPluginRoot(dir) {
|
|
252
|
+
return fs.existsSync(path.join(dir, "daocore.plugin.json")) && fs.existsSync(path.join(dir, "package.json"));
|
|
253
|
+
}
|
|
254
|
+
function resolveNearestAcpxPluginRoot(moduleUrl) {
|
|
255
|
+
let cursor = path.dirname(fileURLToPath(moduleUrl));
|
|
256
|
+
for (let i = 0; i < 3; i += 1) {
|
|
257
|
+
if (isAcpxPluginRoot(cursor)) return cursor;
|
|
258
|
+
const parent = path.dirname(cursor);
|
|
259
|
+
if (parent === cursor) break;
|
|
260
|
+
cursor = parent;
|
|
261
|
+
}
|
|
262
|
+
return path.resolve(path.dirname(fileURLToPath(moduleUrl)), "..");
|
|
263
|
+
}
|
|
264
|
+
function resolveWorkspaceAcpxPluginRoot(currentRoot) {
|
|
265
|
+
if (path.basename(currentRoot) !== "acpx" || path.basename(path.dirname(currentRoot)) !== "extensions" || path.basename(path.dirname(path.dirname(currentRoot))) !== "dist") return null;
|
|
266
|
+
const workspaceRoot = path.resolve(currentRoot, "..", "..", "..", "extensions", "acpx");
|
|
267
|
+
return isAcpxPluginRoot(workspaceRoot) ? workspaceRoot : null;
|
|
268
|
+
}
|
|
269
|
+
function resolveRepoAcpxPluginRoot(currentRoot) {
|
|
270
|
+
const workspaceRoot = path.join(currentRoot, "extensions", "acpx");
|
|
271
|
+
return isAcpxPluginRoot(workspaceRoot) ? workspaceRoot : null;
|
|
272
|
+
}
|
|
273
|
+
function resolveAcpxPluginRootFromDaoCoreLayout(moduleUrl) {
|
|
274
|
+
let cursor = path.dirname(fileURLToPath(moduleUrl));
|
|
275
|
+
for (let i = 0; i < 5; i += 1) {
|
|
276
|
+
const candidates = [
|
|
277
|
+
path.join(cursor, "extensions", "acpx"),
|
|
278
|
+
path.join(cursor, "dist", "extensions", "acpx"),
|
|
279
|
+
path.join(cursor, "dist-runtime", "extensions", "acpx")
|
|
280
|
+
];
|
|
281
|
+
for (const candidate of candidates) if (isAcpxPluginRoot(candidate)) return candidate;
|
|
282
|
+
const parent = path.dirname(cursor);
|
|
283
|
+
if (parent === cursor) break;
|
|
284
|
+
cursor = parent;
|
|
285
|
+
}
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
function resolveAcpxPluginRoot(moduleUrl = import.meta.url) {
|
|
289
|
+
const resolvedRoot = resolveNearestAcpxPluginRoot(moduleUrl);
|
|
290
|
+
return resolveWorkspaceAcpxPluginRoot(resolvedRoot) ?? resolveRepoAcpxPluginRoot(resolvedRoot) ?? resolveAcpxPluginRootFromDaoCoreLayout(moduleUrl) ?? resolvedRoot;
|
|
291
|
+
}
|
|
292
|
+
const DEFAULT_PERMISSION_MODE = "approve-reads";
|
|
293
|
+
const DEFAULT_NON_INTERACTIVE_POLICY = "fail";
|
|
294
|
+
const DEFAULT_QUEUE_OWNER_TTL_SECONDS = .1;
|
|
295
|
+
const DEFAULT_STRICT_WINDOWS_CMD_WRAPPER = true;
|
|
296
|
+
function parseAcpxPluginConfig(value) {
|
|
297
|
+
if (value === void 0) return {
|
|
298
|
+
ok: true,
|
|
299
|
+
value: void 0
|
|
300
|
+
};
|
|
301
|
+
const parsed = AcpxPluginConfigSchema.safeParse(value);
|
|
302
|
+
if (!parsed.success) return {
|
|
303
|
+
ok: false,
|
|
304
|
+
message: formatPluginConfigIssue(parsed.error.issues[0])
|
|
305
|
+
};
|
|
306
|
+
return {
|
|
307
|
+
ok: true,
|
|
308
|
+
value: parsed.data
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
function resolveDaoCoreRoot(currentRoot) {
|
|
312
|
+
if (path.basename(currentRoot) === "acpx" && path.basename(path.dirname(currentRoot)) === "extensions") {
|
|
313
|
+
const parent = path.dirname(path.dirname(currentRoot));
|
|
314
|
+
if (path.basename(parent) === "dist") return path.dirname(parent);
|
|
315
|
+
return parent;
|
|
316
|
+
}
|
|
317
|
+
return path.resolve(currentRoot, "..");
|
|
318
|
+
}
|
|
319
|
+
function resolveTsxImportSpecifier() {
|
|
320
|
+
try {
|
|
321
|
+
return requireFromHere$1.resolve("tsx");
|
|
322
|
+
} catch {
|
|
323
|
+
return "tsx";
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
function shellQuoteCommandArg(arg) {
|
|
327
|
+
if (!/[\s'"\\$|&;<>{}()*?[\]~`]/.test(arg)) return arg;
|
|
328
|
+
return `'${arg.replace(/'/g, "'\"'\"'")}'`;
|
|
329
|
+
}
|
|
330
|
+
function resolvePluginToolsMcpServerConfig(moduleUrl = import.meta.url) {
|
|
331
|
+
const openClawRoot = resolveDaoCoreRoot(resolveAcpxPluginRoot(moduleUrl));
|
|
332
|
+
const distEntry = path.join(openClawRoot, "dist", "mcp", "plugin-tools-serve.js");
|
|
333
|
+
if (fs.existsSync(distEntry)) return {
|
|
334
|
+
command: process.execPath,
|
|
335
|
+
args: [distEntry]
|
|
336
|
+
};
|
|
337
|
+
const sourceEntry = path.join(openClawRoot, "src", "mcp", "plugin-tools-serve.ts");
|
|
338
|
+
return {
|
|
339
|
+
command: process.execPath,
|
|
340
|
+
args: [
|
|
341
|
+
"--import",
|
|
342
|
+
resolveTsxImportSpecifier(),
|
|
343
|
+
sourceEntry
|
|
344
|
+
]
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
function resolveDaoCoreToolsMcpServerConfig(moduleUrl = import.meta.url) {
|
|
348
|
+
const openClawRoot = resolveDaoCoreRoot(resolveAcpxPluginRoot(moduleUrl));
|
|
349
|
+
const distEntry = path.join(openClawRoot, "dist", "mcp", "daocore-tools-serve.js");
|
|
350
|
+
if (fs.existsSync(distEntry)) return {
|
|
351
|
+
command: process.execPath,
|
|
352
|
+
args: [distEntry]
|
|
353
|
+
};
|
|
354
|
+
const sourceEntry = path.join(openClawRoot, "src", "mcp", "daocore-tools-serve.ts");
|
|
355
|
+
return {
|
|
356
|
+
command: process.execPath,
|
|
357
|
+
args: [
|
|
358
|
+
"--import",
|
|
359
|
+
resolveTsxImportSpecifier(),
|
|
360
|
+
sourceEntry
|
|
361
|
+
]
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
function resolveConfiguredMcpServers(params) {
|
|
365
|
+
const resolved = { ...params.mcpServers };
|
|
366
|
+
if (params.pluginToolsMcpBridge && resolved[ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME]) throw new Error(`mcpServers.${ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME} is reserved when pluginToolsMcpBridge=true`);
|
|
367
|
+
if (params.openClawToolsMcpBridge && resolved[ACPX_DAOCORE_TOOLS_MCP_SERVER_NAME]) throw new Error(`mcpServers.${ACPX_DAOCORE_TOOLS_MCP_SERVER_NAME} is reserved when openClawToolsMcpBridge=true`);
|
|
368
|
+
if (params.pluginToolsMcpBridge) resolved[ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME] = resolvePluginToolsMcpServerConfig(params.moduleUrl);
|
|
369
|
+
if (params.openClawToolsMcpBridge) resolved[ACPX_DAOCORE_TOOLS_MCP_SERVER_NAME] = resolveDaoCoreToolsMcpServerConfig(params.moduleUrl);
|
|
370
|
+
return resolved;
|
|
371
|
+
}
|
|
372
|
+
function toAcpMcpServers(mcpServers) {
|
|
373
|
+
return Object.entries(mcpServers).map(([name, server]) => ({
|
|
374
|
+
name,
|
|
375
|
+
command: server.command,
|
|
376
|
+
args: [...server.args ?? []],
|
|
377
|
+
env: Object.entries(server.env ?? {}).map(([envName, value]) => ({
|
|
378
|
+
name: envName,
|
|
379
|
+
value
|
|
380
|
+
}))
|
|
381
|
+
}));
|
|
382
|
+
}
|
|
383
|
+
function resolveAcpxPluginConfig(params) {
|
|
384
|
+
const parsed = parseAcpxPluginConfig(params.rawConfig);
|
|
385
|
+
if (!parsed.ok) throw new Error(parsed.message);
|
|
386
|
+
const normalized = parsed.value ?? {};
|
|
387
|
+
const workspaceDir = params.workspaceDir?.trim() || process.cwd();
|
|
388
|
+
const fallbackCwd = workspaceDir;
|
|
389
|
+
const cwd = path.resolve(normalized.cwd?.trim() || fallbackCwd);
|
|
390
|
+
const stateDir = path.resolve(normalized.stateDir?.trim() || path.join(workspaceDir, "state"));
|
|
391
|
+
const pluginToolsMcpBridge = normalized.pluginToolsMcpBridge === true;
|
|
392
|
+
const openClawToolsMcpBridge = normalized.openClawToolsMcpBridge === true;
|
|
393
|
+
const mcpServers = resolveConfiguredMcpServers({
|
|
394
|
+
mcpServers: normalized.mcpServers,
|
|
395
|
+
pluginToolsMcpBridge,
|
|
396
|
+
openClawToolsMcpBridge,
|
|
397
|
+
moduleUrl: params.moduleUrl
|
|
398
|
+
});
|
|
399
|
+
const agents = Object.fromEntries(Object.entries(normalized.agents ?? {}).map(([name, entry]) => {
|
|
400
|
+
const cmd = entry.command.trim();
|
|
401
|
+
const cmdArgs = entry.args ?? [];
|
|
402
|
+
const fullCommand = cmdArgs.length > 0 ? `${cmd} ${cmdArgs.map(shellQuoteCommandArg).join(" ")}` : cmd;
|
|
403
|
+
return [normalizeLowercaseStringOrEmpty(name), fullCommand];
|
|
404
|
+
}));
|
|
405
|
+
return {
|
|
406
|
+
cwd,
|
|
407
|
+
stateDir,
|
|
408
|
+
probeAgent: normalizeLowercaseStringOrEmpty(normalized.probeAgent) || void 0,
|
|
409
|
+
permissionMode: normalized.permissionMode ?? DEFAULT_PERMISSION_MODE,
|
|
410
|
+
nonInteractivePermissions: normalized.nonInteractivePermissions ?? DEFAULT_NON_INTERACTIVE_POLICY,
|
|
411
|
+
pluginToolsMcpBridge,
|
|
412
|
+
openClawToolsMcpBridge,
|
|
413
|
+
strictWindowsCmdWrapper: normalized.strictWindowsCmdWrapper ?? DEFAULT_STRICT_WINDOWS_CMD_WRAPPER,
|
|
414
|
+
timeoutSeconds: normalized.timeoutSeconds ?? 120,
|
|
415
|
+
queueOwnerTtlSeconds: normalized.queueOwnerTtlSeconds ?? DEFAULT_QUEUE_OWNER_TTL_SECONDS,
|
|
416
|
+
legacyCompatibilityConfig: {
|
|
417
|
+
strictWindowsCmdWrapper: normalized.strictWindowsCmdWrapper,
|
|
418
|
+
queueOwnerTtlSeconds: normalized.queueOwnerTtlSeconds
|
|
419
|
+
},
|
|
420
|
+
mcpServers,
|
|
421
|
+
agents
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
//#endregion
|
|
425
|
+
//#region extensions/acpx/src/codex-auth-bridge.ts
|
|
426
|
+
const CODEX_ACP_PACKAGE = "@zed-industries/codex-acp";
|
|
427
|
+
const CODEX_ACP_BIN = "codex-acp";
|
|
428
|
+
const CLAUDE_ACP_PACKAGE = "@agentclientprotocol/claude-agent-acp";
|
|
429
|
+
const CLAUDE_ACP_BIN = "claude-agent-acp";
|
|
430
|
+
const RUN_CONFIGURED_COMMAND_SENTINEL = "--daocore-run-configured";
|
|
431
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
432
|
+
function readSelfManifest() {
|
|
433
|
+
const manifestPath = path.join(resolveAcpxPluginRoot(import.meta.url), "package.json");
|
|
434
|
+
return JSON.parse(fs.readFileSync(manifestPath, "utf8"));
|
|
435
|
+
}
|
|
436
|
+
function readManifestDependencyVersion(packageName) {
|
|
437
|
+
const version = readSelfManifest().dependencies?.[packageName];
|
|
438
|
+
if (typeof version !== "string" || version.trim() === "") throw new Error(`Missing ${packageName} dependency version in @daocore/acpx manifest`);
|
|
439
|
+
return version;
|
|
440
|
+
}
|
|
441
|
+
const CODEX_ACP_PACKAGE_VERSION = readManifestDependencyVersion(CODEX_ACP_PACKAGE);
|
|
442
|
+
const CLAUDE_ACP_PACKAGE_VERSION = readManifestDependencyVersion(CLAUDE_ACP_PACKAGE);
|
|
443
|
+
function basename$1(value) {
|
|
444
|
+
return value.split(/[\\/]/).pop() ?? value;
|
|
445
|
+
}
|
|
446
|
+
function resolvePackageBinPath(packageJsonPath, manifest, binName) {
|
|
447
|
+
const { bin } = manifest;
|
|
448
|
+
const relativeBinPath = typeof bin === "string" ? bin : bin && typeof bin === "object" ? bin[binName] : void 0;
|
|
449
|
+
if (typeof relativeBinPath !== "string" || relativeBinPath.trim() === "") return;
|
|
450
|
+
return path.resolve(path.dirname(packageJsonPath), relativeBinPath);
|
|
451
|
+
}
|
|
452
|
+
async function resolveInstalledAcpPackageBinPath(packageName, binName) {
|
|
453
|
+
try {
|
|
454
|
+
const packageJsonPath = requireFromHere.resolve(`${packageName}/package.json`);
|
|
455
|
+
const { value: manifest } = await readJsonFileWithFallback(packageJsonPath, {});
|
|
456
|
+
if (manifest.name !== packageName) return;
|
|
457
|
+
const binPath = resolvePackageBinPath(packageJsonPath, manifest, binName);
|
|
458
|
+
if (!binPath) return;
|
|
459
|
+
await fs$1.access(binPath);
|
|
460
|
+
return binPath;
|
|
461
|
+
} catch {
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
async function resolveInstalledCodexAcpBinPath() {
|
|
466
|
+
return await resolveInstalledAcpPackageBinPath(CODEX_ACP_PACKAGE, CODEX_ACP_BIN);
|
|
467
|
+
}
|
|
468
|
+
async function resolveInstalledClaudeAcpBinPath() {
|
|
469
|
+
return await resolveInstalledAcpPackageBinPath(CLAUDE_ACP_PACKAGE, CLAUDE_ACP_BIN);
|
|
470
|
+
}
|
|
471
|
+
const DIAGNOSTIC_REDACTION_RULES = [
|
|
472
|
+
{
|
|
473
|
+
source: String.raw`(authorization\s*[:=]\s*bearer\s+)[^\s'"<>]+`,
|
|
474
|
+
flags: "gi",
|
|
475
|
+
replacement: "$1[REDACTED]"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
source: String.raw`((?:api[_-]?key|apiKey|access[_-]?token|refresh[_-]?token|client[_-]?secret|token|secret|password|passwd|credential)\s*[:=]\s*)[^\s'"<>]+`,
|
|
479
|
+
flags: "gi",
|
|
480
|
+
replacement: "$1[REDACTED]"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
source: String.raw`("(?:apiKey|token|secret|password|passwd|accessToken|refreshToken)"\s*:\s*")[^"]+`,
|
|
484
|
+
flags: "g",
|
|
485
|
+
replacement: "$1[REDACTED]"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
source: String.raw`(["']?(?:api[-_]?key|apiKey|access[-_]?token|accessToken|refresh[-_]?token|refreshToken|id[-_]?token|idToken|auth[-_]?token|authToken|client[-_]?secret|clientSecret|app[-_]?secret|appSecret|token|secret|password|passwd|credential)["']?\s*[:=]\s*["']?)[^"',}\s<>]+`,
|
|
489
|
+
flags: "gi",
|
|
490
|
+
replacement: "$1[REDACTED]"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
source: String.raw`([?&](?:access[-_]?token|auth[-_]?token|refresh[-_]?token|api[-_]?key|client[-_]?secret|token|key|secret|password|pass|passwd|auth|signature)=)[^&\s'"<>]+`,
|
|
494
|
+
flags: "gi",
|
|
495
|
+
replacement: "$1[REDACTED]"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
source: String.raw`(--(?:api[-_]?key|token|secret|password|passwd)\s+)[^\s'"]+`,
|
|
499
|
+
flags: "gi",
|
|
500
|
+
replacement: "$1[REDACTED]"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
source: String.raw`-----BEGIN [A-Z ]*PRI` + String.raw`VATE KEY-----[\s\S]+?-----END [A-Z ]*PRI` + String.raw`VATE KEY-----`,
|
|
504
|
+
flags: "g",
|
|
505
|
+
replacement: "[REDACTED_PRIVATE_KEY]"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
source: String.raw`\b(sk-[A-Za-z0-9_-]{8,})\b`,
|
|
509
|
+
flags: "g",
|
|
510
|
+
replacement: "[REDACTED_OPENAI_KEY]"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
source: String.raw`\b(gh[pousr]_[A-Za-z0-9_]{20,})\b`,
|
|
514
|
+
flags: "g",
|
|
515
|
+
replacement: "[REDACTED_GITHUB_TOKEN]"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
source: String.raw`\b(github_pat_[A-Za-z0-9_]{20,})\b`,
|
|
519
|
+
flags: "g",
|
|
520
|
+
replacement: "[REDACTED_GITHUB_TOKEN]"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
source: String.raw`\b(xox[baprs]-[A-Za-z0-9-]{10,})\b`,
|
|
524
|
+
flags: "g",
|
|
525
|
+
replacement: "[REDACTED_SLACK_TOKEN]"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
source: String.raw`\b(gsk_[A-Za-z0-9_-]{10,})\b`,
|
|
529
|
+
flags: "g",
|
|
530
|
+
replacement: "[REDACTED_API_KEY]"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
source: String.raw`\b(AIza[0-9A-Za-z\-_]{20,})\b`,
|
|
534
|
+
flags: "g",
|
|
535
|
+
replacement: "[REDACTED_GOOGLE_KEY]"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
source: String.raw`\b(ya29\.[0-9A-Za-z_\-./+=]{10,})\b`,
|
|
539
|
+
flags: "g",
|
|
540
|
+
replacement: "[REDACTED_GOOGLE_TOKEN]"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
source: String.raw`\b(eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,})\b`,
|
|
544
|
+
flags: "g",
|
|
545
|
+
replacement: "[REDACTED_JWT]"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
source: String.raw`\b(pplx-[A-Za-z0-9_-]{10,})\b`,
|
|
549
|
+
flags: "g",
|
|
550
|
+
replacement: "[REDACTED_API_KEY]"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
source: String.raw`\b(npm_[A-Za-z0-9]{10,})\b`,
|
|
554
|
+
flags: "g",
|
|
555
|
+
replacement: "[REDACTED_NPM_TOKEN]"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
source: String.raw`\b(LTAI[A-Za-z0-9]{10,})\b`,
|
|
559
|
+
flags: "g",
|
|
560
|
+
replacement: "[REDACTED_ACCESS_KEY]"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
source: String.raw`\b(hf_[A-Za-z0-9]{10,})\b`,
|
|
564
|
+
flags: "g",
|
|
565
|
+
replacement: "[REDACTED_API_KEY]"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
source: String.raw`\bbot(\d{6,}:[A-Za-z0-9_-]{20,})\b`,
|
|
569
|
+
flags: "g",
|
|
570
|
+
replacement: "bot[REDACTED_TELEGRAM_TOKEN]"
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
source: String.raw`\b(\d{6,}:[A-Za-z0-9_-]{20,})\b`,
|
|
574
|
+
flags: "g",
|
|
575
|
+
replacement: "[REDACTED_TELEGRAM_TOKEN]"
|
|
576
|
+
}
|
|
577
|
+
];
|
|
578
|
+
function renderDiagnosticRedactionRuleSpecs() {
|
|
579
|
+
return JSON.stringify(DIAGNOSTIC_REDACTION_RULES);
|
|
580
|
+
}
|
|
581
|
+
function buildAdapterWrapperScript(params) {
|
|
582
|
+
return `#!/usr/bin/env node
|
|
583
|
+
import { appendFileSync, existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
584
|
+
import path from "node:path";
|
|
585
|
+
import { spawn } from "node:child_process";
|
|
586
|
+
import { fileURLToPath } from "node:url";
|
|
587
|
+
|
|
588
|
+
${params.envSetup}
|
|
589
|
+
const stderrLogFileNamePrefix = ${params.stderrLogFileNamePrefix ? JSON.stringify(params.stderrLogFileNamePrefix) : "undefined"};
|
|
590
|
+
const stderrLogMaxChars = 256 * 1024;
|
|
591
|
+
|
|
592
|
+
const openClawWrapperArgs = new Set([
|
|
593
|
+
${quoteCommandPart(DAOCORE_ACPX_LEASE_ID_ARG)},
|
|
594
|
+
${quoteCommandPart(DAOCORE_GATEWAY_INSTANCE_ID_ARG)},
|
|
595
|
+
]);
|
|
596
|
+
|
|
597
|
+
function readDaoCoreWrapperArg(args, name) {
|
|
598
|
+
const index = args.indexOf(name);
|
|
599
|
+
if (index < 0) {
|
|
600
|
+
return undefined;
|
|
601
|
+
}
|
|
602
|
+
const value = args[index + 1];
|
|
603
|
+
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
function safeDiagnosticFilePart(value) {
|
|
607
|
+
const sanitized = String(value || "").replace(/[^A-Za-z0-9._-]/g, "_").slice(0, 120);
|
|
608
|
+
return sanitized || "pid-" + process.pid;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
function resolveStderrLogPath(args) {
|
|
612
|
+
if (!stderrLogFileNamePrefix) {
|
|
613
|
+
return undefined;
|
|
614
|
+
}
|
|
615
|
+
const leaseId =
|
|
616
|
+
process.env[${JSON.stringify(DAOCORE_ACPX_LEASE_ID_ENV)}] ||
|
|
617
|
+
readDaoCoreWrapperArg(args, ${quoteCommandPart(DAOCORE_ACPX_LEASE_ID_ARG)}) ||
|
|
618
|
+
"pid-" + process.pid;
|
|
619
|
+
const fileName = stderrLogFileNamePrefix + "." + safeDiagnosticFilePart(leaseId) + ".log";
|
|
620
|
+
return fileURLToPath(new URL("./" + fileName, import.meta.url));
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
const diagnosticRedactionRules = ${renderDiagnosticRedactionRuleSpecs()}.map((rule) => [
|
|
624
|
+
new RegExp(rule.source, rule.flags),
|
|
625
|
+
rule.replacement,
|
|
626
|
+
]);
|
|
627
|
+
|
|
628
|
+
function redactDiagnosticText(text) {
|
|
629
|
+
let redacted = text;
|
|
630
|
+
for (const [pattern, replacement] of diagnosticRedactionRules) {
|
|
631
|
+
redacted = redacted.replace(pattern, replacement);
|
|
632
|
+
}
|
|
633
|
+
return redacted;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
let pendingStderrLogText = "";
|
|
637
|
+
const stderrPrivateKeyEndPattern = /-----END [A-Z ]*PRIVATE KEY-----/;
|
|
638
|
+
|
|
639
|
+
function hasUnclosedPrivateKeyBlock(text) {
|
|
640
|
+
let lastBeginIndex = -1;
|
|
641
|
+
for (const match of text.matchAll(/-----BEGIN [A-Z ]*PRIVATE KEY-----/g)) {
|
|
642
|
+
lastBeginIndex = match.index ?? lastBeginIndex;
|
|
643
|
+
}
|
|
644
|
+
if (lastBeginIndex === -1) {
|
|
645
|
+
return -1;
|
|
646
|
+
}
|
|
647
|
+
return stderrPrivateKeyEndPattern.test(text.slice(lastBeginIndex)) ? -1 : lastBeginIndex;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
function writeRedactedStderrLog(text) {
|
|
651
|
+
if (!stderrLogPath) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
if (!text) {
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
try {
|
|
658
|
+
appendFileSync(stderrLogPath, redactDiagnosticText(text), "utf8");
|
|
659
|
+
const current = readFileSync(stderrLogPath, "utf8");
|
|
660
|
+
if (current.length > stderrLogMaxChars) {
|
|
661
|
+
writeFileSync(stderrLogPath, current.slice(-stderrLogMaxChars), "utf8");
|
|
662
|
+
}
|
|
663
|
+
} catch {
|
|
664
|
+
// Stderr capture is diagnostic-only; never break the ACP adapter.
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
function redactIncompletePrivateKeyTail(text) {
|
|
669
|
+
const unclosedPrivateKeyStart = hasUnclosedPrivateKeyBlock(text);
|
|
670
|
+
if (unclosedPrivateKeyStart === -1) {
|
|
671
|
+
return text;
|
|
672
|
+
}
|
|
673
|
+
return text.slice(0, unclosedPrivateKeyStart) + "[REDACTED_PRIVATE_KEY]";
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
function flushFinalizedStderrLogText() {
|
|
677
|
+
const lastLineBreak = pendingStderrLogText.lastIndexOf("\\n");
|
|
678
|
+
if (lastLineBreak === -1) {
|
|
679
|
+
if (pendingStderrLogText.length > stderrLogMaxChars) {
|
|
680
|
+
pendingStderrLogText = pendingStderrLogText.slice(-stderrLogMaxChars);
|
|
681
|
+
}
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
let flushEnd = lastLineBreak + 1;
|
|
685
|
+
const unclosedPrivateKeyStart = hasUnclosedPrivateKeyBlock(
|
|
686
|
+
pendingStderrLogText.slice(0, flushEnd),
|
|
687
|
+
);
|
|
688
|
+
if (unclosedPrivateKeyStart !== -1) {
|
|
689
|
+
flushEnd = unclosedPrivateKeyStart;
|
|
690
|
+
}
|
|
691
|
+
if (flushEnd <= 0) {
|
|
692
|
+
if (pendingStderrLogText.length > stderrLogMaxChars) {
|
|
693
|
+
pendingStderrLogText = pendingStderrLogText.slice(-stderrLogMaxChars);
|
|
694
|
+
}
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
const finalizedText = pendingStderrLogText.slice(0, flushEnd);
|
|
698
|
+
pendingStderrLogText = pendingStderrLogText.slice(flushEnd);
|
|
699
|
+
writeRedactedStderrLog(finalizedText);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
function appendStderrLog(chunk) {
|
|
703
|
+
const text = typeof chunk === "string" ? chunk : chunk.toString("utf8");
|
|
704
|
+
if (!text) {
|
|
705
|
+
return;
|
|
706
|
+
}
|
|
707
|
+
pendingStderrLogText += text;
|
|
708
|
+
flushFinalizedStderrLogText();
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
function finishStderrLog() {
|
|
712
|
+
const text = redactIncompletePrivateKeyTail(pendingStderrLogText);
|
|
713
|
+
pendingStderrLogText = "";
|
|
714
|
+
writeRedactedStderrLog(text);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
function stripDaoCoreWrapperArgs(args) {
|
|
718
|
+
const stripped = [];
|
|
719
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
720
|
+
const value = args[index];
|
|
721
|
+
if (openClawWrapperArgs.has(value)) {
|
|
722
|
+
index += 1;
|
|
723
|
+
continue;
|
|
724
|
+
}
|
|
725
|
+
stripped.push(value);
|
|
726
|
+
}
|
|
727
|
+
return stripped;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
const rawConfiguredArgs = process.argv.slice(2);
|
|
731
|
+
const stderrLogPath = resolveStderrLogPath(rawConfiguredArgs);
|
|
732
|
+
|
|
733
|
+
try {
|
|
734
|
+
if (stderrLogPath) {
|
|
735
|
+
writeFileSync(stderrLogPath, "", "utf8");
|
|
736
|
+
}
|
|
737
|
+
} catch {
|
|
738
|
+
// Stderr capture is diagnostic-only; never break the ACP adapter.
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
const configuredArgs = stripDaoCoreWrapperArgs(rawConfiguredArgs);
|
|
742
|
+
|
|
743
|
+
function resolveNpmCliPath() {
|
|
744
|
+
const candidate = path.resolve(
|
|
745
|
+
path.dirname(process.execPath),
|
|
746
|
+
"..",
|
|
747
|
+
"lib",
|
|
748
|
+
"node_modules",
|
|
749
|
+
"npm",
|
|
750
|
+
"bin",
|
|
751
|
+
"npm-cli.js",
|
|
752
|
+
);
|
|
753
|
+
return existsSync(candidate) ? candidate : undefined;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
const npmCliPath = resolveNpmCliPath();
|
|
757
|
+
const installedBinPath = ${params.installedBinPath ? quoteCommandPart(params.installedBinPath) : "undefined"};
|
|
758
|
+
let defaultCommand;
|
|
759
|
+
let defaultArgs;
|
|
760
|
+
if (installedBinPath) {
|
|
761
|
+
defaultCommand = process.execPath;
|
|
762
|
+
defaultArgs = [installedBinPath];
|
|
763
|
+
} else if (npmCliPath) {
|
|
764
|
+
defaultCommand = process.execPath;
|
|
765
|
+
defaultArgs = [npmCliPath, "exec", "--yes", "--package", "${params.packageSpec}", "--", "${params.binName}"];
|
|
766
|
+
} else {
|
|
767
|
+
defaultCommand = process.platform === "win32" ? "npx.cmd" : "npx";
|
|
768
|
+
defaultArgs = ["--yes", "--package", "${params.packageSpec}", "--", "${params.binName}"];
|
|
769
|
+
}
|
|
770
|
+
const command =
|
|
771
|
+
configuredArgs[0] === "${RUN_CONFIGURED_COMMAND_SENTINEL}" ? configuredArgs[1] : defaultCommand;
|
|
772
|
+
const args =
|
|
773
|
+
configuredArgs[0] === "${RUN_CONFIGURED_COMMAND_SENTINEL}"
|
|
774
|
+
? configuredArgs.slice(2)
|
|
775
|
+
: [...defaultArgs, ...configuredArgs];
|
|
776
|
+
|
|
777
|
+
if (!command) {
|
|
778
|
+
console.error("[daocore] missing configured ${params.displayName} ACP command");
|
|
779
|
+
process.exit(1);
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
const child = spawn(command, args, {
|
|
783
|
+
detached: process.platform !== "win32",
|
|
784
|
+
env,
|
|
785
|
+
stdio: ["inherit", "inherit", "pipe"],
|
|
786
|
+
windowsHide: true,
|
|
787
|
+
});
|
|
788
|
+
|
|
789
|
+
child.stderr?.on("data", (chunk) => {
|
|
790
|
+
appendStderrLog(chunk);
|
|
791
|
+
process.stderr.write(chunk);
|
|
792
|
+
});
|
|
793
|
+
|
|
794
|
+
let forceKillTimer;
|
|
795
|
+
let orphanCleanupStarted = false;
|
|
796
|
+
let childExitCode = 1;
|
|
797
|
+
|
|
798
|
+
function killChildTree(signal, options = {}) {
|
|
799
|
+
if (!child.pid || (!options.force && child.killed)) {
|
|
800
|
+
return;
|
|
801
|
+
}
|
|
802
|
+
if (process.platform !== "win32") {
|
|
803
|
+
try {
|
|
804
|
+
// The adapter can spawn grandchildren; signaling the process group keeps
|
|
805
|
+
// the generated wrapper from leaving an ACP tree behind.
|
|
806
|
+
process.kill(-child.pid, signal);
|
|
807
|
+
return;
|
|
808
|
+
} catch {
|
|
809
|
+
// Fall back to direct child signaling below.
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
child.kill(signal);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) {
|
|
816
|
+
process.once(signal, () => {
|
|
817
|
+
killChildTree(signal);
|
|
818
|
+
});
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
const originalParentPid = process.ppid;
|
|
822
|
+
const parentWatcher =
|
|
823
|
+
process.platform === "win32"
|
|
824
|
+
? undefined
|
|
825
|
+
: setInterval(() => {
|
|
826
|
+
if (process.ppid === originalParentPid || process.ppid !== 1) {
|
|
827
|
+
return;
|
|
828
|
+
}
|
|
829
|
+
if (orphanCleanupStarted) {
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
832
|
+
orphanCleanupStarted = true;
|
|
833
|
+
if (parentWatcher) {
|
|
834
|
+
clearInterval(parentWatcher);
|
|
835
|
+
}
|
|
836
|
+
killChildTree("SIGTERM");
|
|
837
|
+
// Keep the wrapper alive long enough for stubborn adapters to receive
|
|
838
|
+
// a forced fallback signal after SIGTERM.
|
|
839
|
+
forceKillTimer = setTimeout(() => {
|
|
840
|
+
killChildTree("SIGKILL", { force: true });
|
|
841
|
+
childExitCode = 1;
|
|
842
|
+
}, 1_500);
|
|
843
|
+
}, 1_000);
|
|
844
|
+
parentWatcher?.unref?.();
|
|
845
|
+
|
|
846
|
+
child.on("error", (error) => {
|
|
847
|
+
console.error(\`[daocore] failed to launch ${params.displayName} ACP wrapper: \${error.message}\`);
|
|
848
|
+
process.exit(1);
|
|
849
|
+
});
|
|
850
|
+
|
|
851
|
+
child.on("exit", (code, signal) => {
|
|
852
|
+
if (parentWatcher) {
|
|
853
|
+
clearInterval(parentWatcher);
|
|
854
|
+
}
|
|
855
|
+
if (orphanCleanupStarted) {
|
|
856
|
+
return;
|
|
857
|
+
}
|
|
858
|
+
if (forceKillTimer) {
|
|
859
|
+
clearTimeout(forceKillTimer);
|
|
860
|
+
}
|
|
861
|
+
if (code !== null) {
|
|
862
|
+
childExitCode = code;
|
|
863
|
+
return;
|
|
864
|
+
}
|
|
865
|
+
childExitCode = signal ? 1 : 0;
|
|
866
|
+
});
|
|
867
|
+
|
|
868
|
+
child.on("close", () => {
|
|
869
|
+
finishStderrLog();
|
|
870
|
+
process.exit(childExitCode);
|
|
871
|
+
});
|
|
872
|
+
`;
|
|
873
|
+
}
|
|
874
|
+
function buildCodexAcpWrapperScript(installedBinPath) {
|
|
875
|
+
return buildAdapterWrapperScript({
|
|
876
|
+
displayName: "Codex",
|
|
877
|
+
packageSpec: `${CODEX_ACP_PACKAGE}@${CODEX_ACP_PACKAGE_VERSION}`,
|
|
878
|
+
binName: CODEX_ACP_BIN,
|
|
879
|
+
installedBinPath,
|
|
880
|
+
stderrLogFileNamePrefix: "codex-acp-wrapper.stderr",
|
|
881
|
+
envSetup: `const codexHome = fileURLToPath(new URL("./codex-home/", import.meta.url));
|
|
882
|
+
const env = {
|
|
883
|
+
...process.env,
|
|
884
|
+
CODEX_HOME: codexHome,
|
|
885
|
+
};`
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
function buildClaudeAcpWrapperScript(installedBinPath) {
|
|
889
|
+
return buildAdapterWrapperScript({
|
|
890
|
+
displayName: "Claude",
|
|
891
|
+
packageSpec: `${CLAUDE_ACP_PACKAGE}@${CLAUDE_ACP_PACKAGE_VERSION}`,
|
|
892
|
+
binName: CLAUDE_ACP_BIN,
|
|
893
|
+
installedBinPath,
|
|
894
|
+
envSetup: `const env = {
|
|
895
|
+
...process.env,
|
|
896
|
+
};`
|
|
897
|
+
});
|
|
898
|
+
}
|
|
899
|
+
async function readSourceCodexConfig(codexHome) {
|
|
900
|
+
try {
|
|
901
|
+
return await fs$1.readFile(path.join(codexHome, "config.toml"), "utf8");
|
|
902
|
+
} catch (error) {
|
|
903
|
+
if (error.code === "ENOENT") return;
|
|
904
|
+
throw error;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
async function prepareIsolatedCodexHome(params) {
|
|
908
|
+
const sourceConfig = await readSourceCodexConfig(process.env.CODEX_HOME || path.join(os.homedir(), ".codex"));
|
|
909
|
+
const trustedProjectPaths = [...sourceConfig ? extractTrustedCodexProjectPaths(sourceConfig) : [], params.workspaceDir];
|
|
910
|
+
const codexHome = path.join(params.baseDir, "codex-home");
|
|
911
|
+
await fs$1.mkdir(codexHome, { recursive: true });
|
|
912
|
+
await fs$1.writeFile(path.join(codexHome, "config.toml"), renderIsolatedCodexConfig({
|
|
913
|
+
sourceConfigToml: sourceConfig,
|
|
914
|
+
projectPaths: trustedProjectPaths
|
|
915
|
+
}), "utf8");
|
|
916
|
+
return codexHome;
|
|
917
|
+
}
|
|
918
|
+
async function makeGeneratedWrapperExecutableIfPossible(wrapperPath) {
|
|
919
|
+
try {
|
|
920
|
+
await fs$1.chmod(wrapperPath, 493);
|
|
921
|
+
} catch {}
|
|
922
|
+
}
|
|
923
|
+
async function writeCodexAcpWrapper(baseDir, installedBinPath) {
|
|
924
|
+
await fs$1.mkdir(baseDir, { recursive: true });
|
|
925
|
+
const wrapperPath = path.join(baseDir, "codex-acp-wrapper.mjs");
|
|
926
|
+
await fs$1.writeFile(wrapperPath, buildCodexAcpWrapperScript(installedBinPath), { encoding: "utf8" });
|
|
927
|
+
await makeGeneratedWrapperExecutableIfPossible(wrapperPath);
|
|
928
|
+
return wrapperPath;
|
|
929
|
+
}
|
|
930
|
+
async function writeClaudeAcpWrapper(baseDir, installedBinPath) {
|
|
931
|
+
await fs$1.mkdir(baseDir, { recursive: true });
|
|
932
|
+
const wrapperPath = path.join(baseDir, "claude-agent-acp-wrapper.mjs");
|
|
933
|
+
await fs$1.writeFile(wrapperPath, buildClaudeAcpWrapperScript(installedBinPath), { encoding: "utf8" });
|
|
934
|
+
await makeGeneratedWrapperExecutableIfPossible(wrapperPath);
|
|
935
|
+
return wrapperPath;
|
|
936
|
+
}
|
|
937
|
+
function buildWrapperCommand(wrapperPath, args = []) {
|
|
938
|
+
return [
|
|
939
|
+
process.execPath,
|
|
940
|
+
wrapperPath,
|
|
941
|
+
...args
|
|
942
|
+
].map(quoteCommandPart).join(" ");
|
|
943
|
+
}
|
|
944
|
+
function isAcpPackageSpec(value, packageName) {
|
|
945
|
+
const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
946
|
+
return new RegExp(`^${escapedPackageName}(?:@.+)?$`, "i").test(value.trim());
|
|
947
|
+
}
|
|
948
|
+
function isAcpBinName(value, binName) {
|
|
949
|
+
const commandName = basename$1(value);
|
|
950
|
+
const escapedBinName = binName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
951
|
+
return new RegExp(`^${escapedBinName}(?:\\.exe|\\.[cm]?js)?$`, "i").test(commandName);
|
|
952
|
+
}
|
|
953
|
+
function isPackageRunnerCommand(value) {
|
|
954
|
+
return /^(?:npx|npm|pnpm|bunx)(?:\.cmd|\.exe)?$/i.test(basename$1(value));
|
|
955
|
+
}
|
|
956
|
+
function extractConfiguredAdapterArgs(params) {
|
|
957
|
+
const trimmedConfiguredCommand = params.configuredCommand?.trim();
|
|
958
|
+
if (!trimmedConfiguredCommand) return [];
|
|
959
|
+
const parts = splitCommandParts(trimmedConfiguredCommand);
|
|
960
|
+
if (!parts.length) return [];
|
|
961
|
+
const packageIndex = parts.findIndex((part) => isAcpPackageSpec(part, params.packageName));
|
|
962
|
+
if (packageIndex >= 0) {
|
|
963
|
+
if (!isPackageRunnerCommand(parts[0] ?? "")) return;
|
|
964
|
+
const afterPackage = parts.slice(packageIndex + 1);
|
|
965
|
+
if (afterPackage[0] === "--" && isAcpBinName(afterPackage[1] ?? "", params.binName)) return afterPackage.slice(2);
|
|
966
|
+
if (isAcpBinName(afterPackage[0] ?? "", params.binName)) return afterPackage.slice(1);
|
|
967
|
+
return afterPackage[0] === "--" ? afterPackage.slice(1) : afterPackage;
|
|
968
|
+
}
|
|
969
|
+
if (isAcpBinName(parts[0] ?? "", params.binName)) return parts.slice(1);
|
|
970
|
+
if (basename$1(parts[0] ?? "") === "node" && isAcpBinName(parts[1] ?? "", params.binName)) return parts.slice(2);
|
|
971
|
+
}
|
|
972
|
+
function buildCodexAcpWrapperCommand(wrapperPath, configuredCommand) {
|
|
973
|
+
const configuredAdapterArgs = extractConfiguredAdapterArgs({
|
|
974
|
+
configuredCommand,
|
|
975
|
+
packageName: CODEX_ACP_PACKAGE,
|
|
976
|
+
binName: CODEX_ACP_BIN
|
|
977
|
+
});
|
|
978
|
+
if (configuredAdapterArgs) return buildWrapperCommand(wrapperPath, configuredAdapterArgs);
|
|
979
|
+
return buildWrapperCommand(wrapperPath, [RUN_CONFIGURED_COMMAND_SENTINEL, ...splitCommandParts(configuredCommand?.trim() ?? "")]);
|
|
980
|
+
}
|
|
981
|
+
function buildClaudeAcpWrapperCommand(wrapperPath, configuredCommand) {
|
|
982
|
+
const configuredAdapterArgs = extractConfiguredAdapterArgs({
|
|
983
|
+
configuredCommand,
|
|
984
|
+
packageName: CLAUDE_ACP_PACKAGE,
|
|
985
|
+
binName: CLAUDE_ACP_BIN
|
|
986
|
+
});
|
|
987
|
+
if (configuredAdapterArgs) return buildWrapperCommand(wrapperPath, configuredAdapterArgs);
|
|
988
|
+
return configuredCommand?.trim() || buildWrapperCommand(wrapperPath);
|
|
989
|
+
}
|
|
990
|
+
async function prepareAcpxCodexAuthConfig(params) {
|
|
991
|
+
params.logger;
|
|
992
|
+
const codexBaseDir = path.join(params.stateDir, "acpx");
|
|
993
|
+
await prepareIsolatedCodexHome({
|
|
994
|
+
baseDir: codexBaseDir,
|
|
995
|
+
workspaceDir: params.pluginConfig.cwd
|
|
996
|
+
});
|
|
997
|
+
const installedCodexBinPath = await (params.resolveInstalledCodexAcpBinPath ?? resolveInstalledCodexAcpBinPath)();
|
|
998
|
+
const installedClaudeBinPath = await (params.resolveInstalledClaudeAcpBinPath ?? resolveInstalledClaudeAcpBinPath)();
|
|
999
|
+
const wrapperPath = await writeCodexAcpWrapper(codexBaseDir, installedCodexBinPath);
|
|
1000
|
+
const claudeWrapperPath = await writeClaudeAcpWrapper(codexBaseDir, installedClaudeBinPath);
|
|
1001
|
+
const configuredCodexCommand = params.pluginConfig.agents.codex;
|
|
1002
|
+
const configuredClaudeCommand = params.pluginConfig.agents.claude;
|
|
1003
|
+
return {
|
|
1004
|
+
...params.pluginConfig,
|
|
1005
|
+
agents: {
|
|
1006
|
+
...params.pluginConfig.agents,
|
|
1007
|
+
codex: buildCodexAcpWrapperCommand(wrapperPath, configuredCodexCommand),
|
|
1008
|
+
claude: buildClaudeAcpWrapperCommand(claudeWrapperPath, configuredClaudeCommand)
|
|
1009
|
+
}
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
1012
|
+
//#endregion
|
|
1013
|
+
//#region extensions/acpx/src/service.ts
|
|
1014
|
+
const ENABLE_STARTUP_PROBE_ENV = "DAOCORE_ACPX_RUNTIME_STARTUP_PROBE";
|
|
1015
|
+
const SKIP_RUNTIME_PROBE_ENV = "DAOCORE_SKIP_ACPX_RUNTIME_PROBE";
|
|
1016
|
+
const ACPX_BACKEND_ID = "acpx";
|
|
1017
|
+
let runtimeModulePromise = null;
|
|
1018
|
+
function loadRuntimeModule() {
|
|
1019
|
+
runtimeModulePromise ??= import("./runtime-CTvWDPx9.js");
|
|
1020
|
+
return runtimeModulePromise;
|
|
1021
|
+
}
|
|
1022
|
+
function createDeferredResult() {
|
|
1023
|
+
let resolve;
|
|
1024
|
+
let reject;
|
|
1025
|
+
return {
|
|
1026
|
+
promise: new Promise((resolvePromise, rejectPromise) => {
|
|
1027
|
+
resolve = resolvePromise;
|
|
1028
|
+
reject = rejectPromise;
|
|
1029
|
+
}),
|
|
1030
|
+
resolve,
|
|
1031
|
+
reject
|
|
1032
|
+
};
|
|
1033
|
+
}
|
|
1034
|
+
var LegacyRunTurnEventQueue = class {
|
|
1035
|
+
constructor() {
|
|
1036
|
+
this.items = [];
|
|
1037
|
+
this.waits = [];
|
|
1038
|
+
this.closed = false;
|
|
1039
|
+
}
|
|
1040
|
+
push(item) {
|
|
1041
|
+
if (this.closed) return;
|
|
1042
|
+
const waiter = this.waits.shift();
|
|
1043
|
+
if (waiter) {
|
|
1044
|
+
waiter.resolve(item);
|
|
1045
|
+
return;
|
|
1046
|
+
}
|
|
1047
|
+
this.items.push(item);
|
|
1048
|
+
}
|
|
1049
|
+
clear() {
|
|
1050
|
+
this.items.length = 0;
|
|
1051
|
+
}
|
|
1052
|
+
close() {
|
|
1053
|
+
if (this.closed) return;
|
|
1054
|
+
this.closed = true;
|
|
1055
|
+
for (const waiter of this.waits.splice(0)) waiter.resolve(null);
|
|
1056
|
+
}
|
|
1057
|
+
fail(error) {
|
|
1058
|
+
if (this.closed) return;
|
|
1059
|
+
this.error = error;
|
|
1060
|
+
this.closed = true;
|
|
1061
|
+
for (const waiter of this.waits.splice(0)) waiter.reject(error);
|
|
1062
|
+
}
|
|
1063
|
+
async next() {
|
|
1064
|
+
const item = this.items.shift();
|
|
1065
|
+
if (item) return item;
|
|
1066
|
+
if (this.error) throw this.error;
|
|
1067
|
+
if (this.closed) return null;
|
|
1068
|
+
return await new Promise((resolve, reject) => {
|
|
1069
|
+
this.waits.push({
|
|
1070
|
+
resolve,
|
|
1071
|
+
reject
|
|
1072
|
+
});
|
|
1073
|
+
});
|
|
1074
|
+
}
|
|
1075
|
+
async *iterate() {
|
|
1076
|
+
for (;;) {
|
|
1077
|
+
const item = await this.next();
|
|
1078
|
+
if (!item) return;
|
|
1079
|
+
yield item;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
};
|
|
1083
|
+
function legacyRunTurnAsStartTurn(runtime, input) {
|
|
1084
|
+
const result = createDeferredResult();
|
|
1085
|
+
result.promise.catch(() => {});
|
|
1086
|
+
const queue = new LegacyRunTurnEventQueue();
|
|
1087
|
+
let resultSettled = false;
|
|
1088
|
+
const settleResult = (next) => {
|
|
1089
|
+
if (resultSettled) return;
|
|
1090
|
+
resultSettled = true;
|
|
1091
|
+
result.resolve(next);
|
|
1092
|
+
};
|
|
1093
|
+
(async () => {
|
|
1094
|
+
try {
|
|
1095
|
+
for await (const event of runtime.runTurn(input)) {
|
|
1096
|
+
if (event.type === "done") {
|
|
1097
|
+
settleResult({
|
|
1098
|
+
status: "completed",
|
|
1099
|
+
...event.stopReason ? { stopReason: event.stopReason } : {}
|
|
1100
|
+
});
|
|
1101
|
+
continue;
|
|
1102
|
+
}
|
|
1103
|
+
if (event.type === "error") {
|
|
1104
|
+
settleResult({
|
|
1105
|
+
status: "failed",
|
|
1106
|
+
error: {
|
|
1107
|
+
message: event.message,
|
|
1108
|
+
...event.code ? { code: event.code } : {},
|
|
1109
|
+
...event.detailCode ? { detailCode: event.detailCode } : {},
|
|
1110
|
+
...event.retryable === void 0 ? {} : { retryable: event.retryable }
|
|
1111
|
+
}
|
|
1112
|
+
});
|
|
1113
|
+
continue;
|
|
1114
|
+
}
|
|
1115
|
+
queue.push(event);
|
|
1116
|
+
}
|
|
1117
|
+
settleResult({
|
|
1118
|
+
status: "failed",
|
|
1119
|
+
error: {
|
|
1120
|
+
code: "ACP_TURN_FAILED",
|
|
1121
|
+
message: "ACP turn ended without a terminal done event."
|
|
1122
|
+
}
|
|
1123
|
+
});
|
|
1124
|
+
} catch (error) {
|
|
1125
|
+
result.reject(error);
|
|
1126
|
+
queue.fail(error);
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
queue.close();
|
|
1130
|
+
})();
|
|
1131
|
+
return {
|
|
1132
|
+
requestId: input.requestId,
|
|
1133
|
+
events: queue.iterate(),
|
|
1134
|
+
result: result.promise,
|
|
1135
|
+
async cancel(inputArgs) {
|
|
1136
|
+
await runtime.cancel({
|
|
1137
|
+
handle: input.handle,
|
|
1138
|
+
reason: inputArgs?.reason
|
|
1139
|
+
});
|
|
1140
|
+
},
|
|
1141
|
+
async closeStream() {
|
|
1142
|
+
queue.clear();
|
|
1143
|
+
queue.close();
|
|
1144
|
+
}
|
|
1145
|
+
};
|
|
1146
|
+
}
|
|
1147
|
+
function startRuntimeTurn(runtime, input) {
|
|
1148
|
+
return runtime.startTurn?.(input) ?? legacyRunTurnAsStartTurn(runtime, input);
|
|
1149
|
+
}
|
|
1150
|
+
function createLazyDefaultRuntime(params) {
|
|
1151
|
+
let runtime = null;
|
|
1152
|
+
let runtimePromise = null;
|
|
1153
|
+
async function resolveRuntime() {
|
|
1154
|
+
if (runtime) return runtime;
|
|
1155
|
+
runtimePromise ??= loadRuntimeModule().then((module) => {
|
|
1156
|
+
runtime = new module.AcpxRuntime({
|
|
1157
|
+
cwd: params.pluginConfig.cwd,
|
|
1158
|
+
daocoreGatewayInstanceId: params.gatewayInstanceId,
|
|
1159
|
+
daocoreProcessLeaseStore: params.processLeaseStore,
|
|
1160
|
+
daocoreWrapperRoot: params.wrapperRoot,
|
|
1161
|
+
sessionStore: module.createFileSessionStore({ stateDir: params.pluginConfig.stateDir }),
|
|
1162
|
+
agentRegistry: module.createAgentRegistry({ overrides: params.pluginConfig.agents }),
|
|
1163
|
+
probeAgent: params.pluginConfig.probeAgent,
|
|
1164
|
+
mcpServers: toAcpMcpServers(params.pluginConfig.mcpServers),
|
|
1165
|
+
permissionMode: params.pluginConfig.permissionMode,
|
|
1166
|
+
nonInteractivePermissions: params.pluginConfig.nonInteractivePermissions,
|
|
1167
|
+
timeoutMs: params.pluginConfig.timeoutSeconds != null ? params.pluginConfig.timeoutSeconds * 1e3 : void 0
|
|
1168
|
+
});
|
|
1169
|
+
return runtime;
|
|
1170
|
+
});
|
|
1171
|
+
return await runtimePromise;
|
|
1172
|
+
}
|
|
1173
|
+
return {
|
|
1174
|
+
async ensureSession(input) {
|
|
1175
|
+
return await (await resolveRuntime()).ensureSession(input);
|
|
1176
|
+
},
|
|
1177
|
+
startTurn(input) {
|
|
1178
|
+
const turnPromise = resolveRuntime().then((resolved) => startRuntimeTurn(resolved, input));
|
|
1179
|
+
return {
|
|
1180
|
+
requestId: input.requestId,
|
|
1181
|
+
events: { async *[Symbol.asyncIterator]() {
|
|
1182
|
+
yield* (await turnPromise).events;
|
|
1183
|
+
} },
|
|
1184
|
+
result: turnPromise.then((turn) => turn.result),
|
|
1185
|
+
cancel(inputArgs) {
|
|
1186
|
+
return turnPromise.then((turn) => turn.cancel(inputArgs));
|
|
1187
|
+
},
|
|
1188
|
+
closeStream(inputArgs) {
|
|
1189
|
+
return turnPromise.then((turn) => turn.closeStream(inputArgs));
|
|
1190
|
+
}
|
|
1191
|
+
};
|
|
1192
|
+
},
|
|
1193
|
+
async *runTurn(input) {
|
|
1194
|
+
yield* (await resolveRuntime()).runTurn(input);
|
|
1195
|
+
},
|
|
1196
|
+
async getCapabilities(input) {
|
|
1197
|
+
return await (await resolveRuntime()).getCapabilities?.(input) ?? { controls: [] };
|
|
1198
|
+
},
|
|
1199
|
+
async getStatus(input) {
|
|
1200
|
+
return await (await resolveRuntime()).getStatus?.(input) ?? {};
|
|
1201
|
+
},
|
|
1202
|
+
async setMode(input) {
|
|
1203
|
+
await (await resolveRuntime()).setMode?.(input);
|
|
1204
|
+
},
|
|
1205
|
+
async setConfigOption(input) {
|
|
1206
|
+
await (await resolveRuntime()).setConfigOption?.(input);
|
|
1207
|
+
},
|
|
1208
|
+
async doctor() {
|
|
1209
|
+
return await (await resolveRuntime()).doctor?.() ?? {
|
|
1210
|
+
ok: true,
|
|
1211
|
+
message: "ok"
|
|
1212
|
+
};
|
|
1213
|
+
},
|
|
1214
|
+
async prepareFreshSession(input) {
|
|
1215
|
+
await (await resolveRuntime()).prepareFreshSession?.(input);
|
|
1216
|
+
},
|
|
1217
|
+
async cancel(input) {
|
|
1218
|
+
await (await resolveRuntime()).cancel(input);
|
|
1219
|
+
},
|
|
1220
|
+
async close(input) {
|
|
1221
|
+
await (await resolveRuntime()).close(input);
|
|
1222
|
+
},
|
|
1223
|
+
async probeAvailability() {
|
|
1224
|
+
await (await resolveRuntime()).probeAvailability();
|
|
1225
|
+
},
|
|
1226
|
+
isHealthy() {
|
|
1227
|
+
return runtime?.isHealthy() ?? false;
|
|
1228
|
+
}
|
|
1229
|
+
};
|
|
1230
|
+
}
|
|
1231
|
+
function warnOnIgnoredLegacyCompatibilityConfig(params) {
|
|
1232
|
+
const ignoredFields = [];
|
|
1233
|
+
if (params.pluginConfig.legacyCompatibilityConfig.queueOwnerTtlSeconds != null) ignoredFields.push("queueOwnerTtlSeconds");
|
|
1234
|
+
if (params.pluginConfig.legacyCompatibilityConfig.strictWindowsCmdWrapper === false) ignoredFields.push("strictWindowsCmdWrapper=false");
|
|
1235
|
+
if (ignoredFields.length === 0) return;
|
|
1236
|
+
params.logger?.warn(`embedded acpx runtime ignores legacy compatibility config: ${ignoredFields.join(", ")}`);
|
|
1237
|
+
}
|
|
1238
|
+
function formatDoctorDetail(detail) {
|
|
1239
|
+
if (!detail) return null;
|
|
1240
|
+
if (typeof detail === "string") return detail.trim() || null;
|
|
1241
|
+
if (detail instanceof Error) return formatErrorMessage(detail);
|
|
1242
|
+
if (typeof detail === "object") try {
|
|
1243
|
+
return JSON.stringify(detail) ?? inspect(detail, {
|
|
1244
|
+
breakLength: Infinity,
|
|
1245
|
+
depth: 3
|
|
1246
|
+
});
|
|
1247
|
+
} catch {
|
|
1248
|
+
return inspect(detail, {
|
|
1249
|
+
breakLength: Infinity,
|
|
1250
|
+
depth: 3
|
|
1251
|
+
});
|
|
1252
|
+
}
|
|
1253
|
+
if (typeof detail === "number" || typeof detail === "boolean" || typeof detail === "bigint" || typeof detail === "symbol") return detail.toString();
|
|
1254
|
+
return inspect(detail, {
|
|
1255
|
+
breakLength: Infinity,
|
|
1256
|
+
depth: 3
|
|
1257
|
+
});
|
|
1258
|
+
}
|
|
1259
|
+
function formatDoctorFailureMessage(report) {
|
|
1260
|
+
const detailText = report.details?.map(formatDoctorDetail).filter(Boolean).join("; ").trim();
|
|
1261
|
+
return detailText ? `${report.message} (${detailText})` : report.message;
|
|
1262
|
+
}
|
|
1263
|
+
function normalizeProbeAgent(value) {
|
|
1264
|
+
const normalized = value?.trim().toLowerCase();
|
|
1265
|
+
return normalized ? normalized : void 0;
|
|
1266
|
+
}
|
|
1267
|
+
function resolveAllowedAgentsProbeAgent(ctx) {
|
|
1268
|
+
for (const agent of ctx.config.acp?.allowedAgents ?? []) {
|
|
1269
|
+
const normalized = normalizeProbeAgent(agent);
|
|
1270
|
+
if (normalized) return normalized;
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
async function measureAcpxStartup(ctx, name, run) {
|
|
1274
|
+
return ctx.startupTrace ? await ctx.startupTrace.measure(name, run) : await run();
|
|
1275
|
+
}
|
|
1276
|
+
function detailAcpxStartup(ctx, name, metrics) {
|
|
1277
|
+
ctx.startupTrace?.detail?.(name, metrics);
|
|
1278
|
+
}
|
|
1279
|
+
function shouldRunStartupProbe(env = process.env) {
|
|
1280
|
+
return env[ENABLE_STARTUP_PROBE_ENV] !== "0";
|
|
1281
|
+
}
|
|
1282
|
+
function shouldProbeRuntimeAtStartup(env = process.env) {
|
|
1283
|
+
return shouldRunStartupProbe(env) && env[SKIP_RUNTIME_PROBE_ENV] !== "1";
|
|
1284
|
+
}
|
|
1285
|
+
async function withStartupProbeTimeout(params) {
|
|
1286
|
+
let timeout;
|
|
1287
|
+
const timeoutMs = Math.max(1, params.timeoutSeconds * 1e3);
|
|
1288
|
+
try {
|
|
1289
|
+
return await Promise.race([params.promise, new Promise((_, reject) => {
|
|
1290
|
+
timeout = setTimeout(() => {
|
|
1291
|
+
reject(/* @__PURE__ */ new Error(`embedded acpx runtime backend startup probe timed out after ${params.timeoutSeconds}s`));
|
|
1292
|
+
}, timeoutMs);
|
|
1293
|
+
timeout.unref?.();
|
|
1294
|
+
})]);
|
|
1295
|
+
} finally {
|
|
1296
|
+
if (timeout) clearTimeout(timeout);
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
async function resolveGatewayInstanceId(stateDir) {
|
|
1300
|
+
const filePath = path.join(stateDir, "gateway-instance-id");
|
|
1301
|
+
try {
|
|
1302
|
+
const existing = (await fs$1.readFile(filePath, "utf8")).trim();
|
|
1303
|
+
if (existing) return existing;
|
|
1304
|
+
} catch (error) {
|
|
1305
|
+
if (error.code !== "ENOENT") throw error;
|
|
1306
|
+
}
|
|
1307
|
+
const next = randomUUID();
|
|
1308
|
+
await fs$1.mkdir(stateDir, { recursive: true });
|
|
1309
|
+
await fs$1.writeFile(filePath, `${next}\n`, { mode: 384 });
|
|
1310
|
+
return next;
|
|
1311
|
+
}
|
|
1312
|
+
async function reapOpenAcpxProcessLeases(params) {
|
|
1313
|
+
const leases = await params.leaseStore.listOpen(params.gatewayInstanceId);
|
|
1314
|
+
const inspectedPids = [];
|
|
1315
|
+
const terminatedPids = [];
|
|
1316
|
+
const pendingLeaseRootResults = /* @__PURE__ */ new Map();
|
|
1317
|
+
for (const lease of leases) {
|
|
1318
|
+
if (lease.rootPid <= 0) {
|
|
1319
|
+
await params.leaseStore.markState(lease.leaseId, "closing");
|
|
1320
|
+
let result = pendingLeaseRootResults.get(lease.wrapperRoot);
|
|
1321
|
+
if (!result) {
|
|
1322
|
+
result = await reapStaleDaoCoreOwnedAcpxOrphans({
|
|
1323
|
+
wrapperRoot: lease.wrapperRoot,
|
|
1324
|
+
deps: params.deps
|
|
1325
|
+
});
|
|
1326
|
+
pendingLeaseRootResults.set(lease.wrapperRoot, result);
|
|
1327
|
+
inspectedPids.push(...result.inspectedPids);
|
|
1328
|
+
terminatedPids.push(...result.terminatedPids);
|
|
1329
|
+
}
|
|
1330
|
+
await params.leaseStore.markState(lease.leaseId, result.terminatedPids.length > 0 ? "closed" : "lost");
|
|
1331
|
+
continue;
|
|
1332
|
+
}
|
|
1333
|
+
await params.leaseStore.markState(lease.leaseId, "closing");
|
|
1334
|
+
const result = await cleanupDaoCoreOwnedAcpxProcessTree({
|
|
1335
|
+
rootPid: lease.rootPid,
|
|
1336
|
+
expectedLeaseId: lease.leaseId,
|
|
1337
|
+
expectedGatewayInstanceId: lease.gatewayInstanceId,
|
|
1338
|
+
wrapperRoot: lease.wrapperRoot,
|
|
1339
|
+
deps: params.deps
|
|
1340
|
+
});
|
|
1341
|
+
inspectedPids.push(...result.inspectedPids);
|
|
1342
|
+
terminatedPids.push(...result.terminatedPids);
|
|
1343
|
+
await params.leaseStore.markState(lease.leaseId, result.terminatedPids.length > 0 ? "closed" : "lost");
|
|
1344
|
+
}
|
|
1345
|
+
return {
|
|
1346
|
+
inspectedPids,
|
|
1347
|
+
terminatedPids
|
|
1348
|
+
};
|
|
1349
|
+
}
|
|
1350
|
+
function createAcpxRuntimeService(params = {}) {
|
|
1351
|
+
let runtime = null;
|
|
1352
|
+
let lifecycleRevision = 0;
|
|
1353
|
+
return {
|
|
1354
|
+
id: "acpx-runtime",
|
|
1355
|
+
async start(ctx) {
|
|
1356
|
+
if (process.env.DAOCORE_SKIP_ACPX_RUNTIME === "1") {
|
|
1357
|
+
ctx.logger.info("skipping embedded acpx runtime backend (DAOCORE_SKIP_ACPX_RUNTIME=1)");
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
const basePluginConfig = await measureAcpxStartup(ctx, "config.resolve", () => resolveAcpxPluginConfig({
|
|
1361
|
+
rawConfig: params.pluginConfig,
|
|
1362
|
+
workspaceDir: ctx.workspaceDir
|
|
1363
|
+
}));
|
|
1364
|
+
const effectiveBasePluginConfig = {
|
|
1365
|
+
...basePluginConfig,
|
|
1366
|
+
probeAgent: basePluginConfig.probeAgent ?? resolveAllowedAgentsProbeAgent(ctx)
|
|
1367
|
+
};
|
|
1368
|
+
const pluginConfig = await measureAcpxStartup(ctx, "config.prepare-codex-auth", () => prepareAcpxCodexAuthConfig({
|
|
1369
|
+
pluginConfig: effectiveBasePluginConfig,
|
|
1370
|
+
stateDir: ctx.stateDir,
|
|
1371
|
+
logger: ctx.logger
|
|
1372
|
+
}));
|
|
1373
|
+
const wrapperRoot = path.join(ctx.stateDir, "acpx");
|
|
1374
|
+
await measureAcpxStartup(ctx, "filesystem.prepare", async () => {
|
|
1375
|
+
await fs$1.mkdir(pluginConfig.stateDir, { recursive: true });
|
|
1376
|
+
await fs$1.mkdir(wrapperRoot, { recursive: true });
|
|
1377
|
+
});
|
|
1378
|
+
const gatewayInstanceId = await measureAcpxStartup(ctx, "gateway-instance-id", () => resolveGatewayInstanceId(ctx.stateDir));
|
|
1379
|
+
const processLeaseStore = createAcpxProcessLeaseStore({ stateDir: wrapperRoot });
|
|
1380
|
+
const startupReap = await measureAcpxStartup(ctx, "process-leases.reap", () => reapOpenAcpxProcessLeases({
|
|
1381
|
+
gatewayInstanceId,
|
|
1382
|
+
leaseStore: processLeaseStore,
|
|
1383
|
+
deps: params.processCleanupDeps
|
|
1384
|
+
}));
|
|
1385
|
+
if (startupReap.terminatedPids.length > 0) ctx.logger.info(`reaped ${startupReap.terminatedPids.length} stale DaoCore-owned ACPX process${startupReap.terminatedPids.length === 1 ? "" : "es"}`);
|
|
1386
|
+
warnOnIgnoredLegacyCompatibilityConfig({
|
|
1387
|
+
pluginConfig,
|
|
1388
|
+
logger: ctx.logger
|
|
1389
|
+
});
|
|
1390
|
+
const startedRuntime = await measureAcpxStartup(ctx, "runtime.create", () => params.runtimeFactory ? params.runtimeFactory({
|
|
1391
|
+
pluginConfig,
|
|
1392
|
+
gatewayInstanceId,
|
|
1393
|
+
processLeaseStore,
|
|
1394
|
+
wrapperRoot,
|
|
1395
|
+
logger: ctx.logger
|
|
1396
|
+
}) : createLazyDefaultRuntime({
|
|
1397
|
+
pluginConfig,
|
|
1398
|
+
gatewayInstanceId,
|
|
1399
|
+
processLeaseStore,
|
|
1400
|
+
wrapperRoot,
|
|
1401
|
+
logger: ctx.logger
|
|
1402
|
+
}));
|
|
1403
|
+
runtime = startedRuntime;
|
|
1404
|
+
const shouldProbeRuntime = shouldProbeRuntimeAtStartup();
|
|
1405
|
+
detailAcpxStartup(ctx, "probe-policy", [["startupProbeEnabledCount", shouldProbeRuntime ? 1 : 0], ["probeAgent", pluginConfig.probeAgent ?? "default"]]);
|
|
1406
|
+
await measureAcpxStartup(ctx, "backend.register", () => {
|
|
1407
|
+
registerAcpRuntimeBackend({
|
|
1408
|
+
id: ACPX_BACKEND_ID,
|
|
1409
|
+
runtime: startedRuntime,
|
|
1410
|
+
...shouldProbeRuntime ? { healthy: () => runtime?.isHealthy() ?? false } : {}
|
|
1411
|
+
});
|
|
1412
|
+
ctx.logger.info(`embedded acpx runtime backend registered (cwd: ${pluginConfig.cwd})`);
|
|
1413
|
+
});
|
|
1414
|
+
if (!shouldProbeRuntime) return;
|
|
1415
|
+
lifecycleRevision += 1;
|
|
1416
|
+
const currentRevision = lifecycleRevision;
|
|
1417
|
+
try {
|
|
1418
|
+
await measureAcpxStartup(ctx, "probe.availability", () => withStartupProbeTimeout({
|
|
1419
|
+
promise: startedRuntime.probeAvailability(),
|
|
1420
|
+
timeoutSeconds: pluginConfig.timeoutSeconds ?? 120
|
|
1421
|
+
}));
|
|
1422
|
+
if (currentRevision !== lifecycleRevision) return;
|
|
1423
|
+
if (startedRuntime.isHealthy()) {
|
|
1424
|
+
detailAcpxStartup(ctx, "probe.result", [["healthyCount", 1]]);
|
|
1425
|
+
ctx.logger.info("embedded acpx runtime backend ready");
|
|
1426
|
+
return;
|
|
1427
|
+
}
|
|
1428
|
+
const doctorReport = await measureAcpxStartup(ctx, "probe.doctor", () => startedRuntime.doctor?.());
|
|
1429
|
+
if (currentRevision !== lifecycleRevision) return;
|
|
1430
|
+
detailAcpxStartup(ctx, "probe.result", [["healthyCount", 0]]);
|
|
1431
|
+
ctx.logger.warn(`embedded acpx runtime backend probe failed: ${doctorReport ? formatDoctorFailureMessage(doctorReport) : "backend remained unhealthy after probe"}`);
|
|
1432
|
+
} catch (err) {
|
|
1433
|
+
if (currentRevision !== lifecycleRevision) return;
|
|
1434
|
+
detailAcpxStartup(ctx, "probe.result", [["healthyCount", 0]]);
|
|
1435
|
+
ctx.logger.warn(`embedded acpx runtime setup failed: ${formatErrorMessage(err)}`);
|
|
1436
|
+
}
|
|
1437
|
+
},
|
|
1438
|
+
async stop(_ctx) {
|
|
1439
|
+
lifecycleRevision += 1;
|
|
1440
|
+
unregisterAcpRuntimeBackend(ACPX_BACKEND_ID);
|
|
1441
|
+
runtime = null;
|
|
1442
|
+
}
|
|
1443
|
+
};
|
|
1444
|
+
}
|
|
1445
|
+
//#endregion
|
|
1446
|
+
export { createAcpxRuntimeService };
|