@xopcai/xopc 0.0.378 → 0.0.380
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/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-Xnu0H9yx.js → activity-store-D2oKh5ik.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-sKMpwYNC.js → agent-avatar-dicebear-OKK1A-IR.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-By5OXUfL.js +1 -0
- package/dist/gateway/static/root/assets/{agent-plugin-dialog-CxZeGEuL.js → agent-plugin-dialog-b24CxjaT.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-admin-api-DFBVz3bV.js → agents-admin-api-D-DNV0ms.js} +1 -1
- package/dist/gateway/static/root/assets/agents-tJxKA9VH.js +66 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-CWqbEntC.js → app-management-settings-panel-DxKh06hG.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-QznCLnam.js → appearance-settings-C8CeHpdR.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-wbVq-6PP.js → apps-page-CZSTLErb.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-BclI5H7-.js → archive-plugin-aoEF5gna.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CTKIwPAS.js → automations-page-CSWWUZse.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-D2RJ-Lzn.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-D9FwadCs.js → binary-plugins-BM3Lr1BP.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-Dqqtybdf.js → block-editor-DMZ3_pPz.js} +3 -3
- package/dist/gateway/static/root/assets/{browser-automation-inputs-FGALoJY8.js → browser-automation-inputs-BcBLdyVd.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-BLSr6du1.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BlDHSstc.js +3 -0
- package/dist/gateway/static/root/assets/{capabilities-CQuaJBPv.js → capabilities-BOJYAeEJ.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-ClI4hof_.js → capabilities-Bf6NYuvT.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-page-CbPvaNJF.js → capabilities-page-DHT4cB-Y.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-NZZNtjwZ.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-XMz78V4c.js → capability-header-actions-V7TdNf7i.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-CJUz97Cw.js → channels-sgWMfPkw.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Dr3rujcs.js → chat-terminal-dock-B4HNp59x.js} +2 -2
- package/dist/gateway/static/root/assets/{computer-settings-page-G2lMB7CR.js → computer-settings-page-B2iwtbBu.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-Cne5MBuz.js → connector-service-page-DTn3Z-MT.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-BJii6NMu.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-yGmnkoC5.js → date-picker-DrUc4ivy.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-CdKC_TNa.js → dependency-picker-Bs16sgfD.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-C4d305Me.js → desktop-pet-Dg0Cp16O.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-hCS9Mddt.js → desktop-pet-settings-BeJg3R-X.js} +1 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-DPqFaLVI.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-kYdBIm8m.js → directory-picker-path-field-BZkjdejC.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-odpIjn1q.js → extension-debug-page-CFnlTs2-.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-C6Jn5baO.js → extension-page-BH25rxhA.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-DB4M3dc8.js → extension-provider-CmaIRIVP.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-Clx81lZy.js → extension-settings-page-D0af0S3r.js} +1 -1
- package/dist/gateway/static/root/assets/{fallback-models-pBVU4PxA.js → fallback-models-BD_9_8lg.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-ArYo4YFd.js → gateway-config-swr-f-4qw3AG.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-BaE0shFY.js → gateway-realtime-BGhPOSfz.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BYe-jWB1.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-settings-BcSr6MzW.js → gateway-settings-Bzrm6DMQ.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-BRCCiCBH.js → gateway-startup-retry-90pvxKox.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-oHguULk0.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-B5FwRmo9.js → image-generation-api-CtDjTXwX.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-7s8jzc2G.js → imports-page-CjFNSzDN.js} +1 -1
- package/dist/gateway/static/root/assets/index-_xgO2IDa.css +1 -0
- package/dist/gateway/static/root/assets/index-hn5CBddI.js +106 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CyFSxteg.js → keyboard-shortcuts-settings-DKdWZ7pq.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-B-hYeH8P.js → local-app-workbench-page-CXJQpTS9.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-CFt8G-ae.js → local-apps-page-9dyoG2s0.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-CLR702g5.js → local-session-drafts-CrD74S6k.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-CeoW7A5a.js → locale-store-pmT2B_By.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-pMgnuu0O.js +2 -0
- package/dist/gateway/static/root/assets/{management-settings-BDuuXJ5t.js → management-settings-CxElPS5j.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-CdqdeQqI.js → markdown-view-B_7--qVD.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-hqKbHVyi.js → media-plugins-C6tT2oPH.js} +1 -1
- package/dist/gateway/static/root/assets/{messages-BpEhZm54.js → messages-Ib6DaUTo.js} +2 -2
- package/dist/gateway/static/root/assets/models-hub-cache-3slk24cw.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-4GI5kfs2.js +5 -0
- package/dist/gateway/static/root/assets/{notes-api-B0QQSN4M.js → notes-api-ChO4X97y.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-DaMnzWfF.js +8 -0
- package/dist/gateway/static/root/assets/{page-context-capture-button-Dp1RoS6x.js → page-context-capture-button-3bLWMSqt.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-BeAW5QQd.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-DZyCQVVW.js → product-open-page-BiGwWy9s.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-CrfIfrVJ.js → product-preview-content-Dvy5ieTo.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-BNgCsfeE.js +1 -0
- package/dist/gateway/static/root/assets/{projects-page-DZ98gcjB.js → projects-page-CATt0m8t.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-Dzl61MkW.js → registry-api-Bi4muyaZ.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-5o06KAdu.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-Cg9dqJon.js → runtime-tools-api-9bk1payF.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-oEdBs0He.js → runtime-tools-settings-panel-BnRVbeGi.js} +1 -1
- package/dist/gateway/static/root/assets/{scenes-page-CVlz-PiN.js → scenes-page-BVjQ4A9S.js} +2 -2
- package/dist/gateway/static/root/assets/{schema-form-DIC8IlM1.js → schema-form-C0QHo3do.js} +1 -1
- package/dist/gateway/static/root/assets/send-session-input-BhWG0d-Z.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-CVHFZq_A.js → session-api-D2J6VacQ.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-D2xce33J.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-BHYhAsHC.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-DO148Ocl.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-CN0_Np6E.js → settings-page-BT6dQ5nv.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-B9EqOzrI.js +1 -0
- package/dist/gateway/static/root/assets/{share-link-dialog-C0gKFt8r.js → share-link-dialog-Cu1miKUo.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-DxQ6yfYv.js → share-preview-page-CWH4BdnM.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-tR66Fdly.js → shares-api-cGtd3rjc.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-B3Z6sQEA.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-BFhU0NNu.js → skill-api-pzPKld3K.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-D_04Mpcb.js → skill-reload-api-VT8F0enn.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-4-d-lfhq.js → skills-page-Busjd4VD.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-DHhaFWty.js → system-settings-panel-CDuqpAIG.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-CHBEI5uz.js → task-detail-page-CNt-P3Kl.js} +2 -2
- package/dist/gateway/static/root/assets/{task-expandable-content-AGJtkFIu.js → task-expandable-content-Dgk9lYGd.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-DezB9Sal.js → theme-store-D7m5Eng5.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-BEHmd2wL.js → tracing-settings-page-B90frz6c.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-Bbb_6pV4.js → tunnel-api-BJ2UEjeF.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-BEiWznDq.js → usage-page-DrV2qcKO.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-BtTE5X_M.js → use-autosave-Ct1x4pqI.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-BBHrVqB7.js → use-composer-attachments-CyWRo1B1.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-CQmLEkdj.js → use-file-preview-expanded-JIgp5qPT.js} +2 -2
- package/dist/gateway/static/root/assets/user-model-page-CQReU8e2.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-tQsUdQnu.js → voice-api-key-field-CSG8Hx8V.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-69Yqf0QM.js → voice-config-api-415pyWx8.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-Cvf8u31v.js → work-discovery-overlay-Dp107FXF.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CqYp6zjF.js → workflow-run-setup-panel-CZKJ6leF.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-2HuveBs_.js +6 -0
- package/dist/gateway/static/root/assets/{workspace-api-Bu6Csrxf.js → workspace-api-DO_TWsiS.js} +2 -2
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-D3Cyk8pp.js → xopc-cloud-account-card-CBjtpPiL.js} +1 -1
- package/dist/gateway/static/root/index.html +27 -27
- package/dist/package.js +1 -1
- package/dist/packages/realtime-protocol/src/voice-catalog.js +7 -2
- package/dist/src/agent/agent-manager.js +3 -3
- package/dist/src/agent/background-review/run-background-review.js +1 -1
- package/dist/src/agent/embedded/run-turn.js +38 -0
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/prompt/response-language.js +9 -1
- package/dist/src/agent/service/process-direct-streaming.js +1 -1
- package/dist/src/agent/service.js +2 -2
- package/dist/src/agent/session/session-config-service.js +0 -13
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/tasks/task-judge-service.d.ts +2 -2
- package/dist/src/agent/tasks/task-judge-service.js +16 -9
- package/dist/src/agent/tools/factory.js +1 -1
- package/dist/src/agent/tools/personal-read-tool.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.js +8 -4
- package/dist/src/agent/workspace-runtime/registry.js +1 -1
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/automations/service/action-executor.js +1 -1
- package/dist/src/bootstrap/application-state.js +1 -1
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/chat-commands/agent-edit.js +1 -1
- package/dist/src/cli/bin.js +2 -2
- package/dist/src/cli/commands/agent.js +3 -3
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/auth.js +1 -1
- package/dist/src/cli/commands/extension-agent-plugin.js +1 -1
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/gateway-ssh-tunnel.js +1 -1
- package/dist/src/cli/commands/import.js +1 -1
- package/dist/src/cli/commands/mcp.js +2 -2
- package/dist/src/cli/commands/models.js +3 -3
- package/dist/src/cli/commands/onboard/model.js +3 -3
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/platform.js +1 -1
- package/dist/src/cli/commands/profile.js +1 -1
- package/dist/src/cli/commands/tunnel.js +1 -1
- package/dist/src/cli/commands/update.js +1 -1
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +1 -1
- package/dist/src/config/agent-profile.js +2 -2
- package/dist/src/config/index.js +1 -1
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.js +1 -1
- package/dist/src/config/schema.js +1 -1
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/chat-stream/mapper.d.ts +2 -0
- package/dist/src/gateway/chat-stream/mapper.js +4 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +4 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/routes/chat-model-config.d.ts +0 -4
- package/dist/src/gateway/hono/routes/chat-model-config.js +0 -6
- package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
- package/dist/src/gateway/hono/routes/connectors.js +1 -1
- package/dist/src/gateway/hono/routes/context-sources.js +1 -1
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/personal-agent.js +4 -2
- package/dist/src/gateway/hono/routes/projects.js +2 -2
- package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +1 -1
- package/dist/src/gateway/hono/routes/voice.js +12 -4
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/lock.js +1 -1
- package/dist/src/gateway/rate-limit/buckets.d.ts +1 -1
- package/dist/src/gateway/rate-limit/buckets.js +2 -2
- package/dist/src/gateway/run-loop.js +1 -1
- package/dist/src/gateway/server.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.js +8 -3
- package/dist/src/gateway/service.js +2 -2
- package/dist/src/gateway/side-chat/manager.js +1 -1
- package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
- package/dist/src/local-apps/service.js +1 -1
- package/dist/src/personal-agent/communication.d.ts +2 -1
- package/dist/src/personal-agent/communication.js +4 -3
- package/dist/src/personal-agent/proactivity/service.js +1 -1
- package/dist/src/personal-agent/prompt-context.js +3 -3
- package/dist/src/personal-agent/prompts.d.ts +1 -0
- package/dist/src/personal-agent/prompts.js +29 -5
- package/dist/src/personal-agent/reply-composer.js +19 -4
- package/dist/src/personal-agent/reply-style.d.ts +4 -2
- package/dist/src/personal-agent/reply-style.js +57 -5
- package/dist/src/personal-agent/service.js +2 -2
- package/dist/src/providers/model-catalog-persistence.js +1 -1
- package/dist/src/routing/resolve-route.js +1 -1
- package/dist/src/routing/resolve-tui-session-key.js +1 -1
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/capabilities/write.js +10 -1
- package/dist/src/tasks/task-application-service.js +5 -4
- package/dist/src/tasks/task-context-assembler.js +1 -0
- package/dist/src/tasks/task-contract-definition.d.ts +1 -1
- package/dist/src/tasks/task-contract-definition.js +2 -2
- package/dist/src/tasks/task-contract-planner.d.ts +1 -0
- package/dist/src/tasks/task-contract-planner.js +2 -1
- package/dist/src/tasks/task-handoff-service.js +1 -1
- package/dist/src/tasks/task-language.d.ts +7 -0
- package/dist/src/tasks/task-language.js +15 -0
- package/dist/src/tasks/task-read-model-projector.js +3 -2
- package/dist/src/tasks/task-result-delivery-service.js +2 -1
- package/dist/src/tasks/task-run-coordinator.js +22 -8
- package/dist/src/tasks/task-run-dispatcher.js +8 -6
- package/dist/src/tui/backends/embedded-backend.js +2 -2
- package/dist/src/voice/platform-catalog.d.ts +1 -0
- package/dist/src/voice/platform-settings.d.ts +1 -1
- package/dist/src/voice/platform-settings.js +6 -2
- package/dist/src/voice/platform-streams.js +3 -1
- package/dist/src/voice/realtime/omniRoute.d.ts +1 -1
- package/dist/src/voice/realtime/omniRoute.js +4 -1
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/dist/src/voice/tts/providers/xopc-cloud-speech.js +6 -2
- package/dist/src/voice/tts/speech-provider-types.d.ts +1 -0
- package/package.json +4 -4
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DLrGOiCS.js +0 -1
- package/dist/gateway/static/root/assets/agents-CUnG8q3J.js +0 -66
- package/dist/gateway/static/root/assets/automations-workspace-BblZP4ft.js +0 -6
- package/dist/gateway/static/root/assets/browser-automations-page-hQbQFWl-.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-DQvfXaeq.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CjApEiV4.js +0 -8
- package/dist/gateway/static/root/assets/connectors-page-CbxL6ENI.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-C6qeCyfO.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-CHAa_VNb.js +0 -1
- package/dist/gateway/static/root/assets/home-page-CKeRXki2.js +0 -2
- package/dist/gateway/static/root/assets/index-B3BVcMQj.js +0 -106
- package/dist/gateway/static/root/assets/index-BU0KqtLI.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-BQ9AzAj9.js +0 -2
- package/dist/gateway/static/root/assets/models-hub-cache-D0yA-nf6.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-G_6LpTik.js +0 -5
- package/dist/gateway/static/root/assets/notes-page-kBo3rUvj.js +0 -8
- package/dist/gateway/static/root/assets/personal-page-Bf07rfSd.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-C3wJ8U07.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-BvhaF5Pi.js +0 -1
- package/dist/gateway/static/root/assets/send-session-input-C449pdoe.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-CKFTwYtq.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-DtB119_G.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-2ciK8mPP.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-VtNv07PN.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-C_ZOqMjz.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-B4Gwo5T7.js +0 -2
- package/dist/gateway/static/root/assets/workflows-page-DMzGl3CE.js +0 -6
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260910-1" />
|
|
12
12
|
<link rel="manifest" href="/site.webmanifest?v=20260910-1" />
|
|
13
13
|
<title>XOPC — Keep what matters moving.</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-hn5CBddI.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
<link rel="modulepreload" crossorigin href="/assets/download-Dk-ZjtO6.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/plus-Q2yW6OE7.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/x-B_N4OPjy.js">
|
|
28
|
-
<link rel="modulepreload" crossorigin href="/assets/messages-
|
|
29
|
-
<link rel="modulepreload" crossorigin href="/assets/locale-store-
|
|
28
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-Ib6DaUTo.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/locale-store-pmT2B_By.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/cn-JdwAhgNB.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/schemas-CObaziC7.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/local-apps-yys1VChX.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/product-delivery-BAks11S4.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/app-link-4gpFbdsr.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/copy-to-clipboard-HOJ79TWv.js">
|
|
36
|
-
<link rel="modulepreload" crossorigin href="/assets/markdown-view-
|
|
36
|
+
<link rel="modulepreload" crossorigin href="/assets/markdown-view-B_7--qVD.js">
|
|
37
37
|
<link rel="modulepreload" crossorigin href="/assets/check-DUBLcKHA.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/copy-Dv6d4Dvw.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/button-CS04eWY9.js">
|
|
@@ -69,29 +69,29 @@
|
|
|
69
69
|
<link rel="modulepreload" crossorigin href="/assets/rotate-cw-LIg3Am9S.js">
|
|
70
70
|
<link rel="modulepreload" crossorigin href="/assets/search-DA7gz22f.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="/assets/index.module-Cd9ENXfk.js">
|
|
72
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
73
|
-
<link rel="modulepreload" crossorigin href="/assets/session-api-
|
|
72
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-90pvxKox.js">
|
|
73
|
+
<link rel="modulepreload" crossorigin href="/assets/session-api-D2J6VacQ.js">
|
|
74
74
|
<link rel="modulepreload" crossorigin href="/assets/constants-Dy8Gw0sF.js">
|
|
75
75
|
<link rel="modulepreload" crossorigin href="/assets/app-chrome-BeB4KgOf.js">
|
|
76
76
|
<link rel="modulepreload" crossorigin href="/assets/attachment-utils-core-BIOUBrpT.js">
|
|
77
77
|
<link rel="modulepreload" crossorigin href="/assets/files-Bw4SBGdM.js">
|
|
78
|
-
<link rel="modulepreload" crossorigin href="/assets/workspace-api-
|
|
78
|
+
<link rel="modulepreload" crossorigin href="/assets/workspace-api-DO_TWsiS.js">
|
|
79
79
|
<link rel="modulepreload" crossorigin href="/assets/electron-env-Dit0bHgy.js">
|
|
80
80
|
<link rel="modulepreload" crossorigin href="/assets/use-async-resource-GrnWNwMZ.js">
|
|
81
|
-
<link rel="modulepreload" crossorigin href="/assets/activity-store-
|
|
82
|
-
<link rel="modulepreload" crossorigin href="/assets/use-file-preview-expanded-
|
|
81
|
+
<link rel="modulepreload" crossorigin href="/assets/activity-store-D2oKh5ik.js">
|
|
82
|
+
<link rel="modulepreload" crossorigin href="/assets/use-file-preview-expanded-JIgp5qPT.js">
|
|
83
83
|
<link rel="modulepreload" crossorigin href="/assets/mic-CuUb7zc-.js">
|
|
84
84
|
<link rel="modulepreload" crossorigin href="/assets/globe-DSSGFWFn.js">
|
|
85
|
-
<link rel="modulepreload" crossorigin href="/assets/share-link-dialog-
|
|
86
|
-
<link rel="modulepreload" crossorigin href="/assets/local-session-drafts-
|
|
85
|
+
<link rel="modulepreload" crossorigin href="/assets/share-link-dialog-Cu1miKUo.js">
|
|
86
|
+
<link rel="modulepreload" crossorigin href="/assets/local-session-drafts-CrD74S6k.js">
|
|
87
87
|
<link rel="modulepreload" crossorigin href="/assets/tasks-DwKXgZ-I.js">
|
|
88
|
-
<link rel="modulepreload" crossorigin href="/assets/capabilities-
|
|
88
|
+
<link rel="modulepreload" crossorigin href="/assets/capabilities-Bf6NYuvT.js">
|
|
89
89
|
<link rel="modulepreload" crossorigin href="/assets/skill-wire-pattern-BPpeIcCi.js">
|
|
90
|
-
<link rel="modulepreload" crossorigin href="/assets/shares-api-
|
|
91
|
-
<link rel="modulepreload" crossorigin href="/assets/capabilities-
|
|
92
|
-
<link rel="modulepreload" crossorigin href="/assets/use-composer-attachments-
|
|
90
|
+
<link rel="modulepreload" crossorigin href="/assets/shares-api-cGtd3rjc.js">
|
|
91
|
+
<link rel="modulepreload" crossorigin href="/assets/capabilities-BOJYAeEJ.js">
|
|
92
|
+
<link rel="modulepreload" crossorigin href="/assets/use-composer-attachments-CyWRo1B1.js">
|
|
93
93
|
<link rel="modulepreload" crossorigin href="/assets/git-branch-Dh9uxTot.js">
|
|
94
|
-
<link rel="modulepreload" crossorigin href="/assets/notes-api-
|
|
94
|
+
<link rel="modulepreload" crossorigin href="/assets/notes-api-ChO4X97y.js">
|
|
95
95
|
<link rel="modulepreload" crossorigin href="/assets/message-square-fVE7Ghj1.js">
|
|
96
96
|
<link rel="modulepreload" crossorigin href="/assets/pause-DuPxgSxk.js">
|
|
97
97
|
<link rel="modulepreload" crossorigin href="/assets/play-kxZvpBg8.js">
|
|
@@ -99,24 +99,24 @@
|
|
|
99
99
|
<link rel="modulepreload" crossorigin href="/assets/settings-2-D-csvaET.js">
|
|
100
100
|
<link rel="modulepreload" crossorigin href="/assets/sparkles-DHlfQFAF.js">
|
|
101
101
|
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
102
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-realtime-store-
|
|
103
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-realtime-
|
|
102
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-realtime-store-BYe-jWB1.js">
|
|
103
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-realtime-BGhPOSfz.js">
|
|
104
104
|
<link rel="modulepreload" crossorigin href="/assets/tool-activity-BtJkgjFf.js">
|
|
105
|
-
<link rel="modulepreload" crossorigin href="/assets/registry-api-
|
|
106
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-config-swr-
|
|
107
|
-
<link rel="modulepreload" crossorigin href="/assets/agents-admin-api-
|
|
108
|
-
<link rel="modulepreload" crossorigin href="/assets/session-manager-
|
|
109
|
-
<link rel="modulepreload" crossorigin href="/assets/send-session-input-
|
|
110
|
-
<link rel="modulepreload" crossorigin href="/assets/theme-store-
|
|
111
|
-
<link rel="modulepreload" crossorigin href="/assets/extension-provider-
|
|
105
|
+
<link rel="modulepreload" crossorigin href="/assets/registry-api-Bi4muyaZ.js">
|
|
106
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-config-swr-f-4qw3AG.js">
|
|
107
|
+
<link rel="modulepreload" crossorigin href="/assets/agents-admin-api-D-DNV0ms.js">
|
|
108
|
+
<link rel="modulepreload" crossorigin href="/assets/session-manager-D2xce33J.js">
|
|
109
|
+
<link rel="modulepreload" crossorigin href="/assets/send-session-input-BhWG0d-Z.js">
|
|
110
|
+
<link rel="modulepreload" crossorigin href="/assets/theme-store-D7m5Eng5.js">
|
|
111
|
+
<link rel="modulepreload" crossorigin href="/assets/extension-provider-CmaIRIVP.js">
|
|
112
112
|
<link rel="modulepreload" crossorigin href="/assets/loopi-Djb8XU3l.js">
|
|
113
|
-
<link rel="modulepreload" crossorigin href="/assets/models-hub-cache-
|
|
113
|
+
<link rel="modulepreload" crossorigin href="/assets/models-hub-cache-3slk24cw.js">
|
|
114
114
|
<link rel="modulepreload" crossorigin href="/assets/skill-api-utils-C7V4JVXM.js">
|
|
115
115
|
<link rel="modulepreload" crossorigin href="/assets/date-formatters-CUZAyDEg.js">
|
|
116
116
|
<link rel="modulepreload" crossorigin href="/assets/settings-form-draft-Dy10ldo8.js">
|
|
117
117
|
<link rel="stylesheet" crossorigin href="/assets/markdown-view-DSjfHfaW.css">
|
|
118
118
|
<link rel="stylesheet" crossorigin href="/assets/loopi-C09I2mNj.css">
|
|
119
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
119
|
+
<link rel="stylesheet" crossorigin href="/assets/index-_xgO2IDa.css">
|
|
120
120
|
</head>
|
|
121
121
|
<body>
|
|
122
122
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { __esmMin } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
//#region packages/realtime-protocol/src/voice-catalog.ts
|
|
4
|
+
/** Older catalogs apply each voice to every mode published by its model. */
|
|
5
|
+
function voiceSupportsMode(voice, mode) {
|
|
6
|
+
return voice.modes === void 0 || voice.modes.includes(mode);
|
|
7
|
+
}
|
|
4
8
|
var voiceDisplayNamesSchema, voiceModeCapabilitySchema, voiceManifestSchema, voiceSelectionSchema;
|
|
5
9
|
var init_voice_catalog = __esmMin((() => {
|
|
6
10
|
voiceDisplayNamesSchema = z.strictObject({
|
|
@@ -40,7 +44,8 @@ var init_voice_catalog = __esmMin((() => {
|
|
|
40
44
|
languages: z.array(z.string()),
|
|
41
45
|
gender: z.enum(["female", "male"]).optional(),
|
|
42
46
|
style: z.string().optional(),
|
|
43
|
-
description: z.string().optional()
|
|
47
|
+
description: z.string().optional(),
|
|
48
|
+
modes: z.array(voiceModeCapabilitySchema).optional()
|
|
44
49
|
})),
|
|
45
50
|
defaultVoice: z.string().min(1).optional(),
|
|
46
51
|
limits: z.strictObject({
|
|
@@ -67,4 +72,4 @@ var init_voice_catalog = __esmMin((() => {
|
|
|
67
72
|
}));
|
|
68
73
|
//#endregion
|
|
69
74
|
init_voice_catalog();
|
|
70
|
-
export { init_voice_catalog, voiceManifestSchema, voiceModeCapabilitySchema, voiceSelectionSchema };
|
|
75
|
+
export { init_voice_catalog, voiceManifestSchema, voiceModeCapabilitySchema, voiceSelectionSchema, voiceSupportsMode };
|
|
@@ -6,10 +6,11 @@ import { consumeClarificationApproval, init_clarification_wait_repository } from
|
|
|
6
6
|
import { getInteractionState } from "../storage/sqlite/interaction-state-repository.js";
|
|
7
7
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
8
8
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
9
|
-
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
10
|
-
import { enqueueConversationLearning } from "../memory-learning/repository.js";
|
|
11
9
|
import { expandWorkspacePathString, init_workspace_path } from "../config/workspace-path.js";
|
|
12
10
|
import { init_agent_scope, listAgentEntries, resolveAgentProfileDir } from "./agent-scope.js";
|
|
11
|
+
import { extractTextContent } from "./context/workspace.js";
|
|
12
|
+
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
13
|
+
import { enqueueConversationLearning } from "../memory-learning/repository.js";
|
|
13
14
|
import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
14
15
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
15
16
|
import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
|
|
@@ -20,7 +21,6 @@ import { createExtensionAwareStreamFn } from "../providers/extension-stream-brid
|
|
|
20
21
|
import { traceTools } from "../observability/runtime.js";
|
|
21
22
|
import { continuesAfterTool, trackAiUsageStream } from "../usage/recorder.js";
|
|
22
23
|
import { MemoryLearningService } from "../memory-learning/service.js";
|
|
23
|
-
import { extractTextContent } from "./context/workspace.js";
|
|
24
24
|
import { runPersistentLearningJob } from "./background-review/run-background-review.js";
|
|
25
25
|
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
26
26
|
import { isPersonalConversation } from "../personal-agent/repository.js";
|
|
@@ -5,6 +5,7 @@ import { finishContextExtractionRun } from "../../storage/sqlite/context-extract
|
|
|
5
5
|
import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
|
|
6
6
|
import { loadCompactionSourceSnapshot } from "../../storage/sqlite/transcript-repository.js";
|
|
7
7
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
8
|
+
import { extractTextContent } from "../context/workspace.js";
|
|
8
9
|
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
9
10
|
import { failLearningJob, finishLearningJob, learningPolicyHash } from "../../memory-learning/repository.js";
|
|
10
11
|
import { extractProfileAgentId } from "../../config/agent-profile.js";
|
|
@@ -21,7 +22,6 @@ import { getAssertionSlot, listUserAssertions } from "../../user-model/repositor
|
|
|
21
22
|
import { emptyUserModelCaptureResult, executeUserModelInterpretation } from "../../user-model/capture/executor.js";
|
|
22
23
|
import { parseUserModelInterpretation } from "../../user-model/capture/semantic.js";
|
|
23
24
|
import "../../user-model/capture/index.js";
|
|
24
|
-
import { extractTextContent } from "../context/workspace.js";
|
|
25
25
|
import { readAgentMessageContent } from "../memory/agent-message-access.js";
|
|
26
26
|
import { resolveAgentTurnTimeoutMs, runAgentTurnWithTimeout } from "../orchestration/run-agent-turn-with-timeout.js";
|
|
27
27
|
import { isAssistantTurnAborted, isAssistantTurnFailed } from "../orchestration/llm-turn-retry.js";
|
|
@@ -285,6 +285,13 @@ async function runXopcEmbeddedTurn(params) {
|
|
|
285
285
|
});
|
|
286
286
|
}
|
|
287
287
|
async function runXopcEmbeddedTurnInner(params) {
|
|
288
|
+
const preparationStartedAt = performance.now();
|
|
289
|
+
let firstModelRequestAt;
|
|
290
|
+
let currentModelRequestAt;
|
|
291
|
+
let modelRequestNumber = 0;
|
|
292
|
+
let firstModelTextSeen = false;
|
|
293
|
+
let latencyModelRef;
|
|
294
|
+
let latencyReasoning;
|
|
288
295
|
const { conversationId, runId, userMessage, model, tools: rawTools, systemPrompt, thinkingLevel, workspaceDir, sessionStore, onEvent } = params;
|
|
289
296
|
const toolPolicyConversationId = params.toolPolicyConversationId ?? conversationId;
|
|
290
297
|
const executionToolPolicy = resolveExecutionToolPolicy(toolPolicyConversationId);
|
|
@@ -526,6 +533,24 @@ async function runXopcEmbeddedTurnInner(params) {
|
|
|
526
533
|
tools: effectiveTools
|
|
527
534
|
} } : {}
|
|
528
535
|
}, "Sending messages to AI");
|
|
536
|
+
currentModelRequestAt = performance.now();
|
|
537
|
+
modelRequestNumber += 1;
|
|
538
|
+
latencyModelRef = `${streamModel.provider}/${streamModel.id}`;
|
|
539
|
+
latencyReasoning = options?.reasoning;
|
|
540
|
+
if (firstModelRequestAt === void 0) {
|
|
541
|
+
firstModelRequestAt = currentModelRequestAt;
|
|
542
|
+
log.info({
|
|
543
|
+
conversationId,
|
|
544
|
+
runId,
|
|
545
|
+
modelRef: latencyModelRef,
|
|
546
|
+
thinking: latencyReasoning ?? "off",
|
|
547
|
+
phase: "first_model_request",
|
|
548
|
+
preparationMs: firstModelRequestAt - preparationStartedAt,
|
|
549
|
+
messageCount: effectiveContext.messages.length,
|
|
550
|
+
systemPromptLength: effectiveSystemPrompt.length,
|
|
551
|
+
toolCount: effectiveTools.length
|
|
552
|
+
}, "Embedded first model request ready");
|
|
553
|
+
}
|
|
529
554
|
return trackAiUsageStream(streamModel, {
|
|
530
555
|
operation: continuesAfterTool(effectiveContext.messages) ? "agent.continue_after_tool" : "agent.answer",
|
|
531
556
|
conversationId,
|
|
@@ -641,6 +666,19 @@ async function runXopcEmbeddedTurnInner(params) {
|
|
|
641
666
|
if (baseDecision && baseDecision.action === "continue") return { action: "continue" };
|
|
642
667
|
};
|
|
643
668
|
unsubscribe = subscribeEmbeddedSessionEvents(session, (event) => {
|
|
669
|
+
if (!firstModelTextSeen && firstModelRequestAt !== void 0 && currentModelRequestAt !== void 0 && event.type === "message_update" && event.assistantMessageEvent?.type === "text_delta" && event.assistantMessageEvent.delta.trim()) {
|
|
670
|
+
firstModelTextSeen = true;
|
|
671
|
+
log.info({
|
|
672
|
+
conversationId,
|
|
673
|
+
runId,
|
|
674
|
+
modelRef: latencyModelRef,
|
|
675
|
+
thinking: latencyReasoning ?? "off",
|
|
676
|
+
phase: "first_model_text",
|
|
677
|
+
modelFirstTextMs: performance.now() - currentModelRequestAt,
|
|
678
|
+
firstRequestToTextMs: performance.now() - firstModelRequestAt,
|
|
679
|
+
modelRequestNumber
|
|
680
|
+
}, "Embedded first response text ready");
|
|
681
|
+
}
|
|
644
682
|
if (event.type === "message_end" && event.message.role === "assistant") recordPromptCacheTouch(conversationId, resolvedModel, event.message.usage);
|
|
645
683
|
if (event.type === "tool_execution_end") {
|
|
646
684
|
markTurnToolResult(conversationId, runId, event.toolName);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { init_src } from "../../../packages/computer-control-contract/src/index.js";
|
|
2
|
-
import "../../../packages/browser-control-contract/src/index.js";
|
|
3
1
|
import { ExternalEffectNotAppliedError, executeExternalOperation } from "../../capabilities/runtime/external-operations.js";
|
|
4
2
|
import { canonicalCapabilityJson } from "../../capabilities/runtime/dispatcher.js";
|
|
3
|
+
import { init_src } from "../../../packages/computer-control-contract/src/index.js";
|
|
4
|
+
import "../../../packages/browser-control-contract/src/index.js";
|
|
5
5
|
import { externalToolRef, parseExternalToolRef } from "./refs.js";
|
|
6
6
|
import { extractDocumentText } from "../../document-understanding/extract.js";
|
|
7
7
|
import { prepareImageForModel } from "../image/prepare-image-for-model.js";
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { isXopcDatabaseOpen } from "../../storage/sqlite/connection.js";
|
|
2
|
+
import { TaskRepository, init_task_repository } from "../../tasks/task-repository.js";
|
|
2
3
|
import { getSessionConfig } from "../../storage/sqlite/config-repository.js";
|
|
3
4
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
4
5
|
import { init_response_language, resolveResponseLanguage } from "../../i18n/response-language.js";
|
|
6
|
+
import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
|
|
7
|
+
import { resolveTaskLocale } from "../../tasks/task-language.js";
|
|
5
8
|
//#region src/agent/prompt/response-language.ts
|
|
6
9
|
init_response_language();
|
|
7
10
|
init_sqlite();
|
|
11
|
+
init_task_repository();
|
|
8
12
|
function resolveResponseLanguageForSession(config, conversationId) {
|
|
9
|
-
|
|
13
|
+
const language = resolveResponseLanguage(config?.userContext?.preferences?.responseLanguage ?? "auto", conversationId && isXopcDatabaseOpen() ? getSessionConfig(conversationId)?.responseLanguage : void 0);
|
|
14
|
+
if (language !== "auto" || !conversationId || !isXopcDatabaseOpen()) return language;
|
|
15
|
+
const taskId = new TaskConversationRepository().resolveActiveExecutionSession(conversationId)?.taskId;
|
|
16
|
+
const task = taskId ? new TaskRepository().get(taskId) : void 0;
|
|
17
|
+
return task ? resolveTaskLocale(task) === "zh" ? "zh-CN" : "en" : language;
|
|
10
18
|
}
|
|
11
19
|
//#endregion
|
|
12
20
|
export { resolveResponseLanguageForSession };
|
|
@@ -3,8 +3,8 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
|
3
3
|
import { init_session_input_repository, listTaskUpdateTriggers } from "../../storage/sqlite/session-input-repository.js";
|
|
4
4
|
import { getClarificationResumeInput, init_clarification_wait_repository } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
5
5
|
import { getConnectionResumeInput, init_connection_wait_repository } from "../../storage/sqlite/connection-wait-repository.js";
|
|
6
|
-
import { init_agent_session_key, resolveAgentMainConversationId } from "../../routing/agent-session-key.js";
|
|
7
6
|
import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
7
|
+
import { init_agent_session_key, resolveAgentMainConversationId } from "../../routing/agent-session-key.js";
|
|
8
8
|
import { readAgentMessageContent } from "../memory/agent-message-access.js";
|
|
9
9
|
import { abortEmbeddedRun } from "../embedded/runs.js";
|
|
10
10
|
import { clearPendingTranscriptUserMessage, setPendingTranscriptUserMessage } from "../inbound/attachment-pipeline.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { init_attachment_ref, parseNoteAttachmentTarget } from "../notes/attachment-ref.js";
|
|
4
|
-
import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
|
|
5
4
|
import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
|
|
5
|
+
import { extractTextContent } from "./context/workspace.js";
|
|
6
|
+
import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
|
|
6
7
|
import { extractProfileAgentId, resolveEffectiveAgentConfigForSession } from "../config/agent-profile.js";
|
|
7
8
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
8
9
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
9
10
|
import { configureTracing, flushTracing } from "../observability/runtime.js";
|
|
10
11
|
import { getUserTimezone } from "../user-model/repository.js";
|
|
11
|
-
import { extractTextContent } from "./context/workspace.js";
|
|
12
12
|
import { resolveAgentTurnTimeoutMs } from "./orchestration/run-agent-turn-with-timeout.js";
|
|
13
13
|
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
14
14
|
import { effectiveWorkspacePathForSession } from "../session/session-workspace.js";
|
|
@@ -74,19 +74,6 @@ var SessionConfigService = class {
|
|
|
74
74
|
fixedModel: partial.fixedModel ?? existing?.fixedModel ?? false
|
|
75
75
|
});
|
|
76
76
|
this.opts.modelManager.restoreSessionModel(conversationId, modelRef, updated.fixedModel === true);
|
|
77
|
-
try {
|
|
78
|
-
if (this.opts.agentManager.getAgent(conversationId)) {
|
|
79
|
-
this.opts.agentManager.setModelForSession(conversationId, modelRef);
|
|
80
|
-
this.opts.agentManager.setThinkingLevel(conversationId, thinkingLevel);
|
|
81
|
-
}
|
|
82
|
-
} catch (err) {
|
|
83
|
-
this.opts.agentManager.removeAgent(conversationId);
|
|
84
|
-
log.warn({
|
|
85
|
-
err,
|
|
86
|
-
conversationId,
|
|
87
|
-
modelRef
|
|
88
|
-
}, "Saved model configuration; runtime will reload before the next turn");
|
|
89
|
-
}
|
|
90
77
|
}
|
|
91
78
|
}
|
|
92
79
|
const activityDetailLevel = partial.activityDetailLevel !== void 0 ? partial.activityDetailLevel : partial.reasoningLevel;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolveStateDir } from "../../config/paths-state.js";
|
|
2
2
|
import { createLogger } from "../../utils/logger/index.js";
|
|
3
3
|
import { init_logger } from "../../utils/logger.js";
|
|
4
|
-
import { init_paths } from "../../config/paths.js";
|
|
5
4
|
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
5
|
+
import { init_paths } from "../../config/paths.js";
|
|
6
6
|
import { findInstallSpec, hasBinary, installSkill } from "./installer.js";
|
|
7
7
|
import { applySkillEnvOverrides, createSkillConfigManager, getSkillEnvironment, isSkillEnabled, resolveSkillConfig, validateSkillConfig } from "./config.js";
|
|
8
8
|
import { parseSkillToolConditions } from "./skill-tool-gating.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
2
1
|
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
2
|
+
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
3
3
|
import { loadSkillsLock } from "./hub-lock.js";
|
|
4
4
|
import { dirname, join, resolve, sep } from "node:path";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
2
1
|
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
2
|
+
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
3
3
|
import { resolveWorkspaceSkillsDir } from "./workspace-skills-dir.js";
|
|
4
4
|
import { formatScanSummary, scanSkillDirectory } from "./scanner.js";
|
|
5
5
|
import { fuzzyFindText, normalizeForFuzzyMatch, normalizeToLF, restoreLineEndings } from "../tools/edit-diff.js";
|
|
@@ -19,8 +19,8 @@ export interface TaskJudgeDecision {
|
|
|
19
19
|
nextAction?: string;
|
|
20
20
|
judgment: TaskJudgment;
|
|
21
21
|
}
|
|
22
|
-
export declare function parseTaskJudgeDecision(raw: string, criteriaCount: number): TaskJudgeDecision;
|
|
23
|
-
export declare function requestTaskJudgeDecision(complete: (attempt: number) => Promise<string>, criteriaCount: number): Promise<TaskJudgeDecision>;
|
|
22
|
+
export declare function parseTaskJudgeDecision(raw: string, criteriaCount: number, locale?: 'en' | 'zh'): TaskJudgeDecision;
|
|
23
|
+
export declare function requestTaskJudgeDecision(complete: (attempt: number) => Promise<string>, criteriaCount: number, locale?: 'en' | 'zh'): Promise<TaskJudgeDecision>;
|
|
24
24
|
export declare function codingCompletionEvidence(rows: readonly TranscriptStoredRow[]): {
|
|
25
25
|
allowed: boolean;
|
|
26
26
|
workspace?: string;
|
|
@@ -8,7 +8,10 @@ import { getApiKey, init_providers, resolveModel } from "../../providers/index.j
|
|
|
8
8
|
import { completeWithResolvedCredentials } from "../../providers/model-call.js";
|
|
9
9
|
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../../providers/model-response.js";
|
|
10
10
|
import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
|
|
11
|
+
import { resolveTaskLocale } from "../../tasks/task-language.js";
|
|
11
12
|
import { readWorkspaceRevision } from "../coding/workspace-revision.js";
|
|
13
|
+
import { buildResponseLanguageSection } from "../prompt/sections/response-language.js";
|
|
14
|
+
import { resolveResponseLanguageForSession } from "../prompt/response-language.js";
|
|
12
15
|
import { TaskApplicationService } from "../../tasks/task-application-service.js";
|
|
13
16
|
//#region src/agent/tasks/task-judge-service.ts
|
|
14
17
|
init_schema();
|
|
@@ -22,7 +25,7 @@ function compactHistory(messages) {
|
|
|
22
25
|
const text = JSON.stringify(messages);
|
|
23
26
|
return text.length <= MAX_HISTORY_CHARS ? text : text.slice(-MAX_HISTORY_CHARS);
|
|
24
27
|
}
|
|
25
|
-
function parseTaskJudgeDecision(raw, criteriaCount) {
|
|
28
|
+
function parseTaskJudgeDecision(raw, criteriaCount, locale = "en") {
|
|
26
29
|
const text = stripCodeFences(raw);
|
|
27
30
|
const start = text.indexOf("{");
|
|
28
31
|
const end = text.lastIndexOf("}");
|
|
@@ -42,7 +45,7 @@ function parseTaskJudgeDecision(raw, criteriaCount) {
|
|
|
42
45
|
}] : [];
|
|
43
46
|
}).slice(0, 5) : [];
|
|
44
47
|
const nextAction = typeof decision.nextAction === "string" && decision.nextAction.trim() ? decision.nextAction.trim() : void 0;
|
|
45
|
-
const recommendation = typeof decision.recommendation === "string" && decision.recommendation.trim() ? decision.recommendation.trim() : nextAction ?? "Continue gathering verifiable evidence.";
|
|
48
|
+
const recommendation = typeof decision.recommendation === "string" && decision.recommendation.trim() ? decision.recommendation.trim() : nextAction ?? (locale === "zh" ? "继续收集可验证的证据。" : "Continue gathering verifiable evidence.");
|
|
46
49
|
const confidence = typeof decision.confidence === "number" && Number.isFinite(decision.confidence) ? Math.max(0, Math.min(1, decision.confidence)) : .5;
|
|
47
50
|
return {
|
|
48
51
|
completedCriteria,
|
|
@@ -50,19 +53,19 @@ function parseTaskJudgeDecision(raw, criteriaCount) {
|
|
|
50
53
|
...nextAction ? { nextAction } : {},
|
|
51
54
|
judgment: {
|
|
52
55
|
recommendation,
|
|
53
|
-
reasons: reasons.length > 0 ? reasons : ["No verified completion evidence was found."],
|
|
56
|
+
reasons: reasons.length > 0 ? reasons : [locale === "zh" ? "尚未找到已验证的完成证据。" : "No verified completion evidence was found."],
|
|
54
57
|
rejectedAlternatives,
|
|
55
58
|
...typeof decision.uncertainty === "string" && decision.uncertainty.trim() ? { uncertainty: decision.uncertainty.trim() } : {},
|
|
56
59
|
confidence
|
|
57
60
|
}
|
|
58
61
|
};
|
|
59
62
|
}
|
|
60
|
-
async function requestTaskJudgeDecision(complete, criteriaCount) {
|
|
63
|
+
async function requestTaskJudgeDecision(complete, criteriaCount, locale = "en") {
|
|
61
64
|
let parseError;
|
|
62
65
|
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
63
66
|
const raw = await complete(attempt);
|
|
64
67
|
try {
|
|
65
|
-
return parseTaskJudgeDecision(raw, criteriaCount);
|
|
68
|
+
return parseTaskJudgeDecision(raw, criteriaCount, locale);
|
|
66
69
|
} catch (error) {
|
|
67
70
|
parseError = error;
|
|
68
71
|
}
|
|
@@ -129,8 +132,12 @@ var TaskJudgeService = class {
|
|
|
129
132
|
const history = compactHistory(await this.options.sessionStore.loadMessages(payload.conversationId));
|
|
130
133
|
const proof = codingCompletionEvidence(await this.options.sessionStore.loadTranscriptRows(payload.conversationId));
|
|
131
134
|
const criteria = task.contract.acceptanceCriteria;
|
|
135
|
+
const responseLanguage = resolveResponseLanguageForSession(this.options.getConfig(), payload.conversationId);
|
|
136
|
+
const locale = responseLanguage === "auto" ? resolveTaskLocale(task) : responseLanguage === "zh-CN" ? "zh" : "en";
|
|
132
137
|
const prompt = [
|
|
133
138
|
"You are an independent task verifier. Be strict and evidence-driven.",
|
|
139
|
+
buildResponseLanguageSection(locale === "zh" ? "zh-CN" : "en"),
|
|
140
|
+
"The recommendation, nextAction, reasons, rejectedAlternatives and uncertainty are displayed directly to the user. Apply the response language to every prose value. Keep JSON keys, criterion indexes, identifiers and proper nouns unchanged.",
|
|
134
141
|
"Mark a criterion complete only when observed tool results or user-provided facts prove it. An assistant completion claim is not verification evidence.",
|
|
135
142
|
`Runtime coding evidence: ${JSON.stringify(proof)}`,
|
|
136
143
|
"needsUser is true only when a specific decision, permission, credential, or missing fact must come from the user.",
|
|
@@ -165,15 +172,15 @@ var TaskJudgeService = class {
|
|
|
165
172
|
const modelError = getAssistantMessageErrorReason(response);
|
|
166
173
|
if (modelError) throw new Error(modelError);
|
|
167
174
|
return extractAssistantText(response.content);
|
|
168
|
-
}, criteria.length);
|
|
175
|
+
}, criteria.length, locale);
|
|
169
176
|
if (!proof.allowed || proof.workspace && (!proof.revision || await readWorkspaceRevision(proof.workspace) !== proof.revision)) {
|
|
170
177
|
decision.completedCriteria = [];
|
|
171
|
-
decision.judgment.reasons.unshift("Current workspace verification is missing, failed or stale.");
|
|
178
|
+
decision.judgment.reasons.unshift(locale === "zh" ? "当前工作区验证缺失、失败或已过期。" : "Current workspace verification is missing, failed or stale.");
|
|
172
179
|
}
|
|
173
180
|
const now = Date.now();
|
|
174
181
|
const evidence = decision.completedCriteria.map((index) => ({
|
|
175
182
|
kind: "state",
|
|
176
|
-
title: `Independently verified: ${criteria[index]}`,
|
|
183
|
+
title: locale === "zh" ? `已独立验证:${criteria[index]}` : `Independently verified: ${criteria[index]}`,
|
|
177
184
|
summary: decision.judgment.reasons[0],
|
|
178
185
|
verifies: [criteria[index]],
|
|
179
186
|
provenance: "judge",
|
|
@@ -207,7 +214,7 @@ var TaskJudgeService = class {
|
|
|
207
214
|
expectedRunVersion: run.version,
|
|
208
215
|
receipt: {
|
|
209
216
|
status: "succeeded",
|
|
210
|
-
summary: payload.assistantPlainText || "Agent run completed",
|
|
217
|
+
summary: payload.assistantPlainText || (locale === "zh" ? "助手执行完成" : "Agent run completed"),
|
|
211
218
|
changes: [],
|
|
212
219
|
evidence,
|
|
213
220
|
verification: {
|
|
@@ -8,8 +8,8 @@ import { getSessionMetadata } from "../../storage/sqlite/session-read-repository
|
|
|
8
8
|
import { patchSessionMetadata } from "../../storage/sqlite/session-repository.js";
|
|
9
9
|
import { getSessionTaskPlan, setSessionTaskPlan } from "../../storage/sqlite/session-task-plan-repository.js";
|
|
10
10
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
11
|
-
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
12
11
|
import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
12
|
+
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
13
13
|
import { resolveEffectiveAgentConfigForAgent, resolveEffectiveAgentConfigForSession } from "../../config/agent-profile.js";
|
|
14
14
|
import { createPersonalAttentionTool } from "./personal-attention-tool.js";
|
|
15
15
|
import { markCodemodeCoreRead } from "./codemode-permissions.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LOCAL_READ_MAX_CHARS } from "./local-read-budget.js";
|
|
2
1
|
import { CapabilityDispatcher } from "../../capabilities/runtime/dispatcher.js";
|
|
2
|
+
import { LOCAL_READ_MAX_CHARS } from "./local-read-budget.js";
|
|
3
3
|
import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
|
|
4
4
|
import { registerProjectReadCapabilities } from "../../projects/capabilities/read.js";
|
|
5
5
|
import { registerAutomationReadCapabilities } from "../../automations/capabilities/read.js";
|
|
@@ -10,12 +10,14 @@ import { TaskRunRepository } from "../../tasks/task-run-repository.js";
|
|
|
10
10
|
import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
|
|
11
11
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
12
12
|
import "../../activity/index.js";
|
|
13
|
-
import { getDefaultAgentId, init_resolve_route } from "../../routing/resolve-route.js";
|
|
14
|
-
import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
|
|
15
13
|
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
16
14
|
import "../../capabilities/runtime/dispatcher.js";
|
|
15
|
+
import { getDefaultAgentId, init_resolve_route } from "../../routing/resolve-route.js";
|
|
16
|
+
import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
|
|
17
|
+
import { resolveTaskLocale } from "../../tasks/task-language.js";
|
|
17
18
|
import { resolveProjectAgentId } from "../../projects/project-agent.js";
|
|
18
19
|
import "../../projects/index.js";
|
|
20
|
+
import { resolveResponseLanguageForSession } from "../prompt/response-language.js";
|
|
19
21
|
import { TaskDeletionService } from "../../tasks/task-deletion-service.js";
|
|
20
22
|
import { TaskDeleteOutputSchema } from "../../tasks/capabilities/management.js";
|
|
21
23
|
import { TaskCollaborationRepository } from "../../tasks/task-collaboration-repository.js";
|
|
@@ -1413,7 +1415,9 @@ async function handleTask(command, args, deps, dryRun, capabilities) {
|
|
|
1413
1415
|
ok: false,
|
|
1414
1416
|
error: "Invalid dependsOnTaskIds"
|
|
1415
1417
|
};
|
|
1416
|
-
const
|
|
1418
|
+
const responseLanguage = resolveResponseLanguageForSession(deps.getConfig?.(), deps.getCurrentConversationId?.());
|
|
1419
|
+
const taskLocale = locale ?? (responseLanguage === "auto" ? resolveTaskLocale({ title: objective }) : responseLanguage === "zh-CN" ? "zh" : "en");
|
|
1420
|
+
const baseContract = defineTaskContract(objective, taskLocale);
|
|
1417
1421
|
const contractFields = [
|
|
1418
1422
|
"expectedOutputs",
|
|
1419
1423
|
"acceptanceCriteria",
|
|
@@ -1470,7 +1474,7 @@ async function handleTask(command, args, deps, dryRun, capabilities) {
|
|
|
1470
1474
|
...projectId ? { projectId } : {},
|
|
1471
1475
|
delegateAgentId: agentId,
|
|
1472
1476
|
...originConversationId ? { originConversationId } : {},
|
|
1473
|
-
|
|
1477
|
+
locale: taskLocale,
|
|
1474
1478
|
contract: {
|
|
1475
1479
|
...contract,
|
|
1476
1480
|
acceptancePolicy: "verified_auto",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { init_agent_session_key, normalizeAgentId } from "../../routing/agent-session-key.js";
|
|
2
1
|
import { init_agent_scope, resolveAgentIdForWorkspacePath } from "../agent-scope.js";
|
|
2
|
+
import { init_agent_session_key, normalizeAgentId } from "../../routing/agent-session-key.js";
|
|
3
3
|
import { SkillManager } from "../skills/skill-manager.js";
|
|
4
4
|
import { SystemPromptBuilder } from "../prompt/service-prompt-builder.js";
|
|
5
5
|
import { UserContextRuntimeRegistry } from "../../user-context/runtime.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AgentEntrySchema, EffectiveAgentConfigSchema } from "../agent-config/schema.js";
|
|
2
2
|
import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
|
|
3
3
|
import { init_agent_config } from "../agent-config/index.js";
|
|
4
|
-
import { AgentCatalogRepository, init_repository } from "./repository.js";
|
|
5
|
-
import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
|
|
6
4
|
import { CapabilityError } from "../capabilities/runtime/errors.js";
|
|
7
5
|
import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.js";
|
|
6
|
+
import { AgentCatalogRepository, init_repository } from "./repository.js";
|
|
7
|
+
import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
|
|
8
8
|
import { AgentCatalogService } from "./service.js";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
//#region src/agent-catalog/capabilities.ts
|
|
@@ -3,10 +3,10 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
|
3
3
|
import { init_trust_policy, resolveAutomationSafetyForTrust } from "../../user-context/trust-policy.js";
|
|
4
4
|
import { getUserTrustPolicy } from "../../storage/sqlite/user-trust-repository.js";
|
|
5
5
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
6
|
-
import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
7
6
|
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
8
7
|
import { ExternalEffectNotAppliedError } from "../../capabilities/runtime/external-operations.js";
|
|
9
8
|
import { defineExternalCapability, defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
|
|
9
|
+
import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
10
10
|
import { AutomationCreateCapabilityInputSchema } from "./write.js";
|
|
11
11
|
import { simulateAutomation } from "../draft/automation-draft-validator.js";
|
|
12
12
|
import { AutomationDraftService } from "../draft/automation-draft-service.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
-
import { init_session_key, resolveConversationId } from "../../routing/session-key.js";
|
|
4
3
|
import { normalizeAgentId } from "../../agent-catalog/id.js";
|
|
5
4
|
import { init_agent_scope } from "../../agent/agent-scope.js";
|
|
5
|
+
import { init_session_key, resolveConversationId } from "../../routing/session-key.js";
|
|
6
6
|
import { resolveAutomationTimeoutSeconds } from "../domain/defaults.js";
|
|
7
7
|
//#region src/automations/service/action-executor.ts
|
|
8
8
|
init_agent_scope();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { requireXopcDatabase } from "../storage/sqlite/connection.js";
|
|
2
2
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
3
3
|
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
4
|
-
import { ensureStarterAgentsInitialized } from "../agent/starter-agents.js";
|
|
5
4
|
import { cutoverLegacyAgentConfig } from "../agent-catalog/migrations/legacy-config-cutover.js";
|
|
6
5
|
import "../agent-catalog/index.js";
|
|
6
|
+
import { ensureStarterAgentsInitialized } from "../agent/starter-agents.js";
|
|
7
7
|
import { migrateIdentityMarkdownToCatalog } from "../agent-catalog/migrations/identity-markdown-cutover.js";
|
|
8
8
|
import { migrateCloudPublicModelsSync } from "../migrations/cloud-public-models.js";
|
|
9
9
|
import { runBootstrapMigrationsSync } from "../migrations/runner.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SqliteCommitEffectError, init_transaction } from "../../storage/sqlite/transaction.js";
|
|
2
|
+
import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
|
|
2
3
|
import { CapabilityError } from "./errors.js";
|
|
3
4
|
import { executeExternalOperation } from "./external-operations.js";
|
|
4
|
-
import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
//#region src/capabilities/runtime/dispatcher.ts
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CapabilityError } from "./errors.js";
|
|
2
2
|
import { CapabilityDispatcher } from "./dispatcher.js";
|
|
3
|
+
import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
|
|
3
4
|
import { registerLocalAppReadCapabilities } from "../../local-apps/capabilities/read.js";
|
|
4
5
|
import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
|
|
5
6
|
import { registerNoteWriteCapabilities } from "../../notes/capabilities/write.js";
|
|
@@ -18,7 +19,6 @@ import { registerSceneReadCapabilities } from "../../scenes/capabilities/read.js
|
|
|
18
19
|
import { registerSceneWriteCapabilities } from "../../scenes/capabilities/write.js";
|
|
19
20
|
import { registerSettingsCapability } from "./settings.js";
|
|
20
21
|
import { registerAppContextCapability } from "./app-context.js";
|
|
21
|
-
import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
|
|
22
22
|
//#region src/capabilities/runtime/product.ts
|
|
23
23
|
function createProductDispatcher(getNotes, taskWrites) {
|
|
24
24
|
const dispatcher = new CapabilityDispatcher();
|