@xopcai/xopc 0.0.411 → 0.0.413
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/{agent-avatar-dicebear-sGJnq-SA.js → agent-avatar-dicebear-BT6oqCMD.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BFmRRD_4.js +1 -0
- package/dist/gateway/static/root/assets/agents-Clwskw2J.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-uGDeJR1f.js → agents-admin-api-CeBkHnl8.js} +1 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-BdCgtTfT.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-C3-hCFlF.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-DJbKg3va.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-CGdU_E5B.js → archive-plugin-BviFGCy4.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-BAPZY56r.js → automations-page-CfzazXE5.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-D_X0_1X3.js +8 -0
- package/dist/gateway/static/root/assets/{binary-plugins-B0ispXo2.js → binary-plugins-Dp-gtJEk.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-B9Ci-prO.js → block-editor-D-DEPdpi.js} +4 -4
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D4-vQc4g.js → browser-automation-inputs-D1pDgMJu.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-BI-ep6uM.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BTyQ4-vN.js +3 -0
- package/dist/gateway/static/root/assets/capabilities-Bpeh6E22.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-GNS95mG9.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-DBiv1HN-.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-Cic05oWh.js → capability-header-actions-CP2fI9Fe.js} +1 -1
- package/dist/gateway/static/root/assets/channels-DWlrUKBr.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Bm-IGeDe.js → chat-terminal-dock-BL3tFntQ.js} +2 -2
- package/dist/gateway/static/root/assets/computer-settings-page-DEQ5GYfC.js +1 -0
- package/dist/gateway/static/root/assets/{connector-service-page-DcdASUU9.js → connector-service-page-CecwMnC5.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-BcpUvrtl.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-gVLWu9R0.js → date-picker-N5jnlvPs.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-C0LARyok.js → dependency-picker-C4jddxFl.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-v_le3sCs.js → desktop-pet-BCbiUNQG.js} +1 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-CkKU0JMY.js +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard--E2GQoY1.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-CBefVUPR.js → directory-picker-path-field-CbMbPimD.js} +1 -1
- package/dist/gateway/static/root/assets/extension-debug-page-OE1nJMQ8.js +1 -0
- package/dist/gateway/static/root/assets/{extension-page-C0-oP7S_.js → extension-page-BEomiKhy.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-BFOjQeSX.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-BVqYVaGy.js → gateway-config-swr-DF_HV6NP.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-CY1LBGBS.js → gateway-realtime-DMAzNlm-.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-CoIgC1Al.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-CR4CsfNN.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CPKGkr6D.js → gateway-startup-retry-B91CBTzO.js} +1 -1
- package/dist/gateway/static/root/assets/highlight-code-6ONPRH5r.js +1 -0
- package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-CN5PNRN3.js → highlighted-body-KQOG7T2V-EJ9Kg4iQ.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-B9w3a6r2.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-DRLXG9Ws.js → image-generation-api-D0HNic89.js} +1 -1
- package/dist/gateway/static/root/assets/imports-page-bxTINe-2.js +1 -0
- package/dist/gateway/static/root/assets/index-D1oivYvN.js +710 -0
- package/dist/gateway/static/root/assets/index-D_7q1UkI.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-Cmi-2SIh.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-NGCmXpa_.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-BChE6nUD.js → local-apps-page-jgaogH9Z.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-BCaC-1rH.js → local-session-drafts-DvmwiLUx.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-DAgpZxAS.js → locale-store-JogcXC4J.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-drrr-c2W.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-Dc1opXVr.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-BmLuWkkZ.js → media-plugins-BRS9puQV.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-B--edI1I.js +1 -0
- package/dist/gateway/static/root/assets/{messages-DMXSIJUO.js → messages-RzwPiQNL.js} +2 -2
- package/dist/gateway/static/root/assets/note-detail-panel-C3s4-ytB.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-D7q5-KuS.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-qVxoErUS.js +8 -0
- package/dist/gateway/static/root/assets/{page-context-capture-button-B7rDRlS7.js → page-context-capture-button-D_VOB2_C.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-B-T8NzQo.js +1 -0
- package/dist/gateway/static/root/assets/personal-settings-panel-BKA4fbYH.js +1 -0
- package/dist/gateway/static/root/assets/phone-dependencies-card-DhEsfEUN.js +1 -0
- package/dist/gateway/static/root/assets/phone-model-picker-J4mFDk21.js +1 -0
- package/dist/gateway/static/root/assets/phone-settings-page-BLflz8CQ.js +1 -0
- package/dist/gateway/static/root/assets/plugin-details-dialog-1BwvmKZi.js +1 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Z4NM7_Dn.js → preview-open-alternatives-DaTaSKox.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-C5TcIaJj.js → product-open-page-wYlC0IVZ.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-5xID6jIj.js → product-preview-content-Bxur-p6S.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-DwowzxzD.js +7 -0
- package/dist/gateway/static/root/assets/projects-page-Bwvn4i_e.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-B6kqbuw8.js → registry-api-BGqSwITi.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-DrHisOUe.js +1 -0
- package/dist/gateway/static/root/assets/runtime-tools-api-CSm5SpnR.js +5 -0
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-DXNidliV.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-DtPkiYwm.js → schema-form-DeSZ7SiO.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-D6-Vz8xK.js → session-api-DTxZyMta.js} +1 -1
- package/dist/gateway/static/root/assets/{session-manager-DWbcMHcj.js → session-manager-B2HDomj4.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-seP7t0kv.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-VqBu7gHu.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-DD3iD5t5.js → settings-form-section-BNYQjZU4.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-iLY3LRDq.js → settings-page-29Ix0jSQ.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-Dx5S-Msc.js → settings-page-header-CYpuTXUW.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-layout-B20AfmFG.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-COQZgKX9.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-B8h9lqDL.js → share-preview-page-CwMRULXc.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-BWaykw9E.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-C9RsrvOp.js → skill-api-xfB5fUAh.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Bq-3_MCt.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-C3LfWsAZ.js +2 -0
- package/dist/gateway/static/root/assets/system-settings-panel-DRJu1ehM.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-XCJFP-Aa.js +2 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-DjNWPpn_.js → task-result-evidence-C4o_Yue_.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-CYslh-Pu.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-C6XfsSWy.js → tunnel-api-Bi_kw6bv.js} +1 -1
- package/dist/gateway/static/root/assets/usage-page-CTTmklCs.js +1 -0
- package/dist/gateway/static/root/assets/{use-autosave-DO-Twmbm.js → use-autosave-BkB9uD93.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-BDqguzRE.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-MGe3HkS_.js → voice-api-key-field-bt8_Agih.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-CPKzUb4R.js → voice-config-api-D7xsWrdh.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DptHqYh5.js → work-discovery-overlay-D3NG14dX.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Y_UIryBH.js → xopc-cloud-account-card-B2OUKOQi.js} +1 -1
- package/dist/gateway/static/root/index.html +14 -14
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/capabilities.js +1 -0
- package/dist/src/agent/agent-manager.js +1 -1
- package/dist/src/agent/background-review/prompts.js +4 -3
- package/dist/src/agent/background-review/run-background-review.js +1 -1
- package/dist/src/agent/embedded/run-turn.js +1 -1
- package/dist/src/agent/embedded/xopc-stream-bridge.js +7 -3
- package/dist/src/agent/external-tools/cliProvider.js +2 -2
- package/dist/src/agent/external-tools/composio-provider.js +2 -2
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/prompt/system-prompt.js +1 -1
- package/dist/src/agent/service.js +1 -1
- 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/tool-manuals/index.js +7 -0
- package/dist/src/agent/tool-manuals/phone.d.ts +1 -0
- package/dist/src/agent/tool-manuals/phone.js +16 -0
- package/dist/src/agent/tools/factory.js +15 -0
- package/dist/src/agent/tools/knowledge-memory-tool.js +1 -1
- package/dist/src/agent/tools/personal-read-tool.js +1 -1
- package/dist/src/agent/tools/personal-task-tool.d.ts +2 -1
- package/dist/src/agent/tools/personal-task-tool.js +43 -20
- package/dist/src/agent/tools/phone-use-tool.d.ts +8 -0
- package/dist/src/agent/tools/phone-use-tool.js +49 -0
- package/dist/src/agent/tools/session-recall-tool.js +2 -1
- package/dist/src/agent/tools/session-search-tool.js +11 -5
- package/dist/src/agent/tools/user-context-tool.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.js +2 -2
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/agent-catalog/repository.js +5 -1
- package/dist/src/agent-config/index.js +2 -2
- package/dist/src/agent-config/resolver.js +5 -0
- package/dist/src/agent-config/schema.d.ts +24 -0
- package/dist/src/agent-config/schema.js +5 -2
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +1 -1
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/cli/command-manifest.js +1 -1
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard/model.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/runtime.js +32 -4
- package/dist/src/cli/utils/init-workspace-core.js +6 -4
- package/dist/src/computer/diagnostics.d.ts +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/config-file.d.ts +6 -0
- package/dist/src/config/config-file.js +35 -0
- package/dist/src/config/loader.js +5 -4
- package/dist/src/config/models-json.d.ts +36 -0
- package/dist/src/config/models-json.js +9 -0
- package/dist/src/config/schema.d.ts +12 -0
- package/dist/src/config/schema.js +6 -2
- package/dist/src/execution-environments/local-worktree-manager.js +1 -1
- package/dist/src/extensions/agent-plugins/skill-catalog.js +1 -1
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +7 -1
- package/dist/src/gateway/agent-builtin-tools.js +7 -0
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/global-defaults-admin.js +2 -0
- package/dist/src/gateway/hono/lib/config-payload.d.ts +8 -0
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/models.js +3 -0
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/phone-dependencies.d.ts +3 -0
- package/dist/src/gateway/hono/routes/phone-dependencies.js +137 -0
- package/dist/src/gateway/hono/routes/phone.d.ts +4 -0
- package/dist/src/gateway/hono/routes/phone.js +445 -0
- package/dist/src/gateway/hono/routes/projects.js +2 -2
- package/dist/src/gateway/hono/routes/runtime-tools.js +2 -0
- 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/image-generation-setup.js +1 -1
- package/dist/src/gateway/server.js +1 -0
- package/dist/src/gateway/service/config-coordinator.d.ts +8 -0
- package/dist/src/gateway/service.d.ts +2 -0
- package/dist/src/gateway/service.js +17 -12
- package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/imports/importService.js +1 -1
- package/dist/src/knowledge-memory/repository.js +5 -0
- package/dist/src/local-apps/service.js +1 -1
- package/dist/src/memory-learning/forget-capture.js +12 -3
- package/dist/src/memory-learning/forgotten-history.d.ts +4 -0
- package/dist/src/memory-learning/forgotten-history.js +71 -4
- package/dist/src/memory-learning/work-capture.d.ts +1 -0
- package/dist/src/memory-learning/work-capture.js +28 -17
- package/dist/src/personal-agent/prompts.js +3 -2
- package/dist/src/personal-agent/service.js +1 -1
- package/dist/src/phone/adb-driver.d.ts +35 -0
- package/dist/src/phone/adb-driver.js +368 -0
- package/dist/src/phone/cloud-adb.d.ts +34 -0
- package/dist/src/phone/cloud-adb.js +223 -0
- package/dist/src/phone/cloud-phones.d.ts +29 -0
- package/dist/src/phone/cloud-phones.js +141 -0
- package/dist/src/phone/cloud-scrcpy.d.ts +20 -0
- package/dist/src/phone/cloud-scrcpy.js +122 -0
- package/dist/src/phone/contracts.d.ts +204 -0
- package/dist/src/phone/contracts.js +115 -0
- package/dist/src/phone/interactive-session.d.ts +34 -0
- package/dist/src/phone/interactive-session.js +164 -0
- package/dist/src/phone/live-provider.d.ts +57 -0
- package/dist/src/phone/live-provider.js +18 -0
- package/dist/src/phone/live-state.d.ts +28 -0
- package/dist/src/phone/live-state.js +71 -0
- package/dist/src/phone/model-adapter.d.ts +25 -0
- package/dist/src/phone/model-adapter.js +340 -0
- package/dist/src/phone/repository.d.ts +19 -0
- package/dist/src/phone/repository.js +100 -0
- package/dist/src/phone/runtime.d.ts +83 -0
- package/dist/src/phone/runtime.js +896 -0
- package/dist/src/phone/scrcpy.d.ts +62 -0
- package/dist/src/phone/scrcpy.js +345 -0
- package/dist/src/phone/stream-gateway.d.ts +26 -0
- package/dist/src/phone/stream-gateway.js +210 -0
- package/dist/src/process/phone-process.d.ts +4 -0
- package/dist/src/process/phone-process.js +38 -0
- package/dist/src/providers/extension-stream-bridge.js +8 -1
- package/dist/src/providers/model-call.js +6 -2
- package/dist/src/providers/model-catalog-persistence.js +3 -0
- package/dist/src/providers/model-catalog-types.d.ts +3 -0
- package/dist/src/providers/model-reference-auditor.js +5 -1
- package/dist/src/providers/model-registry.js +3 -0
- package/dist/src/runtime-tools/archive.d.ts +2 -2
- package/dist/src/runtime-tools/archive.js +1 -1
- package/dist/src/runtime-tools/downloader.d.ts +2 -2
- package/dist/src/runtime-tools/errors.d.ts +3 -3
- package/dist/src/runtime-tools/phone-dependencies.d.ts +40 -0
- package/dist/src/runtime-tools/phone-dependencies.js +188 -0
- package/dist/src/runtime-tools/phone-dependency-catalog.d.ts +16 -0
- package/dist/src/runtime-tools/phone-dependency-catalog.js +51 -0
- package/dist/src/runtime-tools/types.d.ts +1 -0
- package/dist/src/storage/sqlite/context-extraction-repository.d.ts +1 -0
- package/dist/src/storage/sqlite/context-extraction-repository.js +12 -2
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/task-research-result.js +19 -2
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/usage/cloud-receipts.d.ts +5 -1
- package/dist/src/usage/cloud-receipts.js +10 -4
- package/dist/src/usage/cloud-wire.d.ts +37 -0
- package/dist/src/usage/cloud-wire.js +181 -0
- package/dist/src/usage/recorder.js +5 -4
- package/dist/src/user-model/capture/semantic.js +2 -2
- package/dist/src/voice/platform-catalog.d.ts +3 -0
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/package.json +9 -4
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BI7OTo-T.js +0 -1
- package/dist/gateway/static/root/assets/agents-RIXL0p7_.js +0 -77
- package/dist/gateway/static/root/assets/app-management-settings-panel-BGzhSS6H.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-DtEZq4b2.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-DZqBof2D.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-CI-yQnSj.js +0 -8
- package/dist/gateway/static/root/assets/browser-automations-page-Xzdif447.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-Bhu-83eC.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-B9b5KCBb.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-BIc0Zlsw.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CQEfpLdj.js +0 -8
- package/dist/gateway/static/root/assets/channels-DQbEoo_o.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-C9xMfwXK.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-eh-xpMPK.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-B_-j-D4W.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-CxG_FcQ6.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-CTe7Molh.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-DYJmgMUg.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Dafw95ol.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-C13P4lQd.js +0 -1
- package/dist/gateway/static/root/assets/highlight-code-CslBKXdS.js +0 -1
- package/dist/gateway/static/root/assets/home-page-B_XrkGmA.js +0 -2
- package/dist/gateway/static/root/assets/imports-page--cuF5vwU.js +0 -1
- package/dist/gateway/static/root/assets/index-6YjAt50A.js +0 -710
- package/dist/gateway/static/root/assets/index-caRW34rg.css +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-5g2PxgBs.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-B6U1HQpp.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-B9mq03SK.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-2W_qJsha.js +0 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-61Il2HQR.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-C4gZsNBL.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-XqJIaaRV.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-Chdwrjni.js +0 -8
- package/dist/gateway/static/root/assets/personal-page-mQl9BftY.js +0 -1
- package/dist/gateway/static/root/assets/personal-settings-panel-BgcJLmZN.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-FvwSxZPB.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-CGOyx7zX.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-Dd11tbRX.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Bintk9nL.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-api-CY3R7unQ.js +0 -5
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-CbmiiLsq.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BBlEP7y3.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BCQUth4g.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-v4P0IAkG.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-DMzej6z2.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-B20x7EE9.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-C_ulsnv7.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-PTRGMKkq.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-DEPwo4vf.js +0 -2
- package/dist/gateway/static/root/assets/tracing-settings-page-CVJt7IXC.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-DgqLD8Y5.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-BwK37aob.js +0 -2
|
@@ -3,7 +3,7 @@ import { SpecialistProfileSchema } from "../../packages/gateway-contract/src/spe
|
|
|
3
3
|
import { init_src } from "../../packages/gateway-contract/src/index.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/agent-config/schema.ts
|
|
6
|
-
var DEFAULT_AGENT_MODEL_REF, DEFAULT_CORE_SKILLS, DEFAULT_SKILL_POLICY, AgentIdSchema, ModelRefSchema, ModelRouteSchema, ImageGenerationRouteSchema, ComputerModelRouteSchema, ModelIntentSchema, ModelIntentRoutesSchema, ModelIntentOverridesSchema, AgentModelsDefaultsSchema, AgentModelsOverrideSchema, ToolModeSchema, ToolPolicySchema, ToolPoliciesSchema, SkillDefaultsSchema, SkillOverrideSchema, RuntimePolicySchema, AgentDefaultsSchema, AgentProfileSchema, AgentEntrySchema, EffectiveAgentConfigSchema;
|
|
6
|
+
var DEFAULT_AGENT_MODEL_REF, DEFAULT_CORE_SKILLS, DEFAULT_SKILL_POLICY, AgentIdSchema, ModelRefSchema, ModelRouteSchema, ImageGenerationRouteSchema, ComputerModelRouteSchema, PhoneModelRouteSchema, ModelIntentSchema, ModelIntentRoutesSchema, ModelIntentOverridesSchema, AgentModelsDefaultsSchema, AgentModelsOverrideSchema, ToolModeSchema, ToolPolicySchema, ToolPoliciesSchema, SkillDefaultsSchema, SkillOverrideSchema, RuntimePolicySchema, AgentDefaultsSchema, AgentProfileSchema, AgentEntrySchema, EffectiveAgentConfigSchema;
|
|
7
7
|
var init_schema = __esmMin((() => {
|
|
8
8
|
init_src();
|
|
9
9
|
DEFAULT_AGENT_MODEL_REF = "xopc-cloud/auto";
|
|
@@ -31,6 +31,7 @@ var init_schema = __esmMin((() => {
|
|
|
31
31
|
autoProviderFallback: z.boolean().default(false)
|
|
32
32
|
}).strict();
|
|
33
33
|
ComputerModelRouteSchema = ModelRouteSchema.extend({ fallbacks: z.array(ModelRefSchema).max(0, "Computer Use does not support fallback models").default([]) }).strict();
|
|
34
|
+
PhoneModelRouteSchema = ModelRouteSchema.extend({ fallbacks: z.array(ModelRefSchema).max(0, "Phone Use does not support fallback models").default([]) }).strict();
|
|
34
35
|
ModelIntentSchema = z.enum([
|
|
35
36
|
"fast",
|
|
36
37
|
"reasoning",
|
|
@@ -47,6 +48,7 @@ var init_schema = __esmMin((() => {
|
|
|
47
48
|
intents: ModelIntentRoutesSchema.default({}),
|
|
48
49
|
imageUnderstanding: ModelRouteSchema.optional(),
|
|
49
50
|
computerUse: ComputerModelRouteSchema.optional(),
|
|
51
|
+
phoneUse: PhoneModelRouteSchema.optional(),
|
|
50
52
|
imageGeneration: ImageGenerationRouteSchema.optional()
|
|
51
53
|
}).strict();
|
|
52
54
|
AgentModelsOverrideSchema = z.object({
|
|
@@ -55,6 +57,7 @@ var init_schema = __esmMin((() => {
|
|
|
55
57
|
intents: ModelIntentOverridesSchema.optional(),
|
|
56
58
|
imageUnderstanding: ModelRouteSchema.nullable().optional(),
|
|
57
59
|
computerUse: ComputerModelRouteSchema.nullable().optional(),
|
|
60
|
+
phoneUse: PhoneModelRouteSchema.nullable().optional(),
|
|
58
61
|
imageGeneration: ImageGenerationRouteSchema.nullable().optional()
|
|
59
62
|
}).strict();
|
|
60
63
|
ToolModeSchema = z.enum([
|
|
@@ -175,4 +178,4 @@ var init_schema = __esmMin((() => {
|
|
|
175
178
|
}));
|
|
176
179
|
//#endregion
|
|
177
180
|
init_schema();
|
|
178
|
-
export { AgentDefaultsSchema, AgentEntrySchema, AgentIdSchema, AgentModelsDefaultsSchema, AgentModelsOverrideSchema, AgentProfileSchema, ComputerModelRouteSchema, DEFAULT_AGENT_MODEL_REF, DEFAULT_CORE_SKILLS, DEFAULT_SKILL_POLICY, EffectiveAgentConfigSchema, ImageGenerationRouteSchema, ModelIntentSchema, ModelRefSchema, ModelRouteSchema, RuntimePolicySchema, SkillDefaultsSchema, SkillOverrideSchema, ToolModeSchema, ToolPoliciesSchema, ToolPolicySchema, init_schema };
|
|
181
|
+
export { AgentDefaultsSchema, AgentEntrySchema, AgentIdSchema, AgentModelsDefaultsSchema, AgentModelsOverrideSchema, AgentProfileSchema, ComputerModelRouteSchema, DEFAULT_AGENT_MODEL_REF, DEFAULT_CORE_SKILLS, DEFAULT_SKILL_POLICY, EffectiveAgentConfigSchema, ImageGenerationRouteSchema, ModelIntentSchema, ModelRefSchema, ModelRouteSchema, PhoneModelRouteSchema, RuntimePolicySchema, SkillDefaultsSchema, SkillOverrideSchema, ToolModeSchema, ToolPoliciesSchema, ToolPolicySchema, init_schema };
|
|
@@ -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";
|
|
6
7
|
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
7
8
|
import { ExternalEffectNotAppliedError } from "../../capabilities/runtime/external-operations.js";
|
|
8
9
|
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";
|
|
@@ -13,8 +13,8 @@ import { chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, realpathSy
|
|
|
13
13
|
import { fileURLToPath } from "node:url";
|
|
14
14
|
import { execFileSync, spawn } from "node:child_process";
|
|
15
15
|
import { createHash } from "node:crypto";
|
|
16
|
-
import { readFile, readdir, rm } from "node:fs/promises";
|
|
17
16
|
import AdmZip from "adm-zip";
|
|
17
|
+
import { readFile, readdir, rm } from "node:fs/promises";
|
|
18
18
|
//#region src/browser/providers/browser-ext-install.ts
|
|
19
19
|
/**
|
|
20
20
|
* Install bundled Chrome extension artifacts into {resolveBinDir()}/browser-ext/.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SqliteCommitEffectError, init_transaction } from "../../storage/sqlite/transaction.js";
|
|
2
|
-
import { OperationConflictError, executeAtomicOperation } from "./atomic-operations.js";
|
|
3
2
|
import { CapabilityError } from "./errors.js";
|
|
4
3
|
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,6 +1,5 @@
|
|
|
1
1
|
import { CapabilityError } from "./errors.js";
|
|
2
2
|
import { CapabilityDispatcher } from "./dispatcher.js";
|
|
3
|
-
import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
|
|
4
3
|
import { registerLocalAppReadCapabilities } from "../../local-apps/capabilities/read.js";
|
|
5
4
|
import { registerNoteReadCapabilities } from "../../notes/capabilities/read.js";
|
|
6
5
|
import { registerNoteWriteCapabilities } from "../../notes/capabilities/write.js";
|
|
@@ -17,6 +16,7 @@ import { registerAutomationDraftCapabilities } from "../../automations/capabilit
|
|
|
17
16
|
import { registerTaskWriteCapabilities } from "../../tasks/capabilities/write.js";
|
|
18
17
|
import { registerSettingsCapability } from "./settings.js";
|
|
19
18
|
import { registerAppContextCapability } from "./app-context.js";
|
|
19
|
+
import { registerAgentCapabilities } from "../../agent-catalog/capabilities.js";
|
|
20
20
|
//#region src/capabilities/runtime/product.ts
|
|
21
21
|
function createProductDispatcher(getNotes, taskWrites) {
|
|
22
22
|
const dispatcher = new CapabilityDispatcher();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { normalizeAgentId, validateAgentIdForNewAgent } from "../../agent-catalog/id.js";
|
|
2
2
|
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
3
3
|
import { init_agent_scope, resolveAgentDir, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
4
|
-
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
5
4
|
import { resolveEffectiveAgentConfigForAgent } from "../../config/agent-profile.js";
|
|
5
|
+
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
6
6
|
import { colors } from "../utils/colors.js";
|
|
7
7
|
//#region src/cli/commands/agents.ts
|
|
8
8
|
init_repository();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { creditDecimal } from "../../../packages/gateway-contract/src/cloud-credits.js";
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
3
|
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
4
|
-
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
5
4
|
import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
|
|
6
5
|
import { CredentialResolver, init_credentials } from "../../auth/credentials.js";
|
|
7
6
|
import { getAllModels, getAvailableModels, getConfiguredProviders, getProviderAuthState, getProviderDisplayName, init_providers, isProviderConfigured, providerSupportsApiKey, providerSupportsOAuth, resolveModel } from "../../providers/index.js";
|
|
8
7
|
import { XopcCloudAccountService } from "../../providers/xopc-cloud-account-service.js";
|
|
8
|
+
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
9
9
|
import { listImageProviderSpecs } from "../../../packages/image-providers/src/catalog.js";
|
|
10
10
|
import "../../../packages/image-providers/src/index.js";
|
|
11
11
|
import { loadConfig } from "../../config/loader.js";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
|
|
2
|
-
import { AgentCatalogService } from "../../../agent-catalog/service.js";
|
|
3
2
|
import { resolveModelsJsonPath } from "../../../config/paths.js";
|
|
4
3
|
import { ConfigSchema, getAgentDefaultModelRef, init_schema } from "../../../config/schema.js";
|
|
5
4
|
import { init_models_json, loadModelsJson, saveModelsJson } from "../../../config/models-json.js";
|
|
@@ -7,6 +6,7 @@ import { getApiKeyFromEnv } from "../../../providers/env-keys.js";
|
|
|
7
6
|
import { getModelRegistry } from "../../../providers/model-registry.js";
|
|
8
7
|
import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
|
|
9
8
|
import { getAllProviders, getModelsByProvider, getProviderDisplayName, init_providers, providerSupportsApiKey, providerSupportsOAuth } from "../../../providers/index.js";
|
|
9
|
+
import { AgentCatalogService } from "../../../agent-catalog/service.js";
|
|
10
10
|
import { prepareUpdateGlobalDefaults } from "../../../gateway/global-defaults-admin.js";
|
|
11
11
|
import { discoverProviderModels, isProviderApiDiscoverable } from "../../../providers/model-discovery.js";
|
|
12
12
|
import { getXopcCloudCatalogCoordinator } from "../../../providers/xopc-cloud-catalog-coordinator.js";
|
|
@@ -5,8 +5,8 @@ import { resolveGatewayLocalClientHost } from "../../config/gateway-bind.js";
|
|
|
5
5
|
import { saveConfig } from "../../config/loader.js";
|
|
6
6
|
import { formatExamples, register } from "../registry.js";
|
|
7
7
|
import "../../config/index.js";
|
|
8
|
-
import { provisionEagerRuntimes } from "../../runtime-tools/bootstrap.js";
|
|
9
8
|
import { colors } from "../utils/colors.js";
|
|
9
|
+
import { provisionEagerRuntimes } from "../../runtime-tools/bootstrap.js";
|
|
10
10
|
import { initWorkspace } from "../utils/init-workspace.js";
|
|
11
11
|
import { setupModel } from "./onboard/model.js";
|
|
12
12
|
import { getChannelConfigurators } from "./onboard/channels/registry.js";
|
|
@@ -6,6 +6,15 @@ import { pruneRuntimeTools } from "../../runtime-tools/prune.js";
|
|
|
6
6
|
import { Command } from "commander";
|
|
7
7
|
//#region src/cli/commands/runtime.ts
|
|
8
8
|
init_paths_state();
|
|
9
|
+
async function phoneDependencies(ctx) {
|
|
10
|
+
const { PhoneDependencyManager } = await import("../../runtime-tools/phone-dependencies.js");
|
|
11
|
+
const config = loadConfig(ctx.configPath);
|
|
12
|
+
return new PhoneDependencyManager({
|
|
13
|
+
stateDir: resolveStateDir(),
|
|
14
|
+
config: config.runtimeTools,
|
|
15
|
+
adbPath: config.phone.adbPath
|
|
16
|
+
});
|
|
17
|
+
}
|
|
9
18
|
const RUNTIMES = [
|
|
10
19
|
"node",
|
|
11
20
|
"uv",
|
|
@@ -29,25 +38,44 @@ function printStatuses(statuses) {
|
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
40
|
function createRuntimeCommand(ctx) {
|
|
32
|
-
const command = new Command("runtime").description("Manage
|
|
41
|
+
const command = new Command("runtime").description("Manage agent runtimes and phone dependencies").addHelpText("after", formatExamples([
|
|
33
42
|
"xopc runtime status",
|
|
34
43
|
"xopc runtime install node",
|
|
35
44
|
"xopc runtime install python --version 3.12",
|
|
45
|
+
"xopc runtime install adb",
|
|
46
|
+
"xopc runtime install scrcpy",
|
|
36
47
|
"xopc runtime repair python",
|
|
37
48
|
"xopc runtime prune"
|
|
38
49
|
]));
|
|
39
|
-
command.command("status").description("Show managed tool runtime status").option("--json", "Output JSON").action(async (options) => {
|
|
50
|
+
command.command("status").description("Show managed tool runtime status").option("--json", "Output JSON").option("--phone", "Show ADB and scrcpy server dependencies").action(async (options) => {
|
|
51
|
+
if (options.phone) {
|
|
52
|
+
const statuses = await (await phoneDependencies(ctx)).status();
|
|
53
|
+
console.log(options.json ? JSON.stringify(statuses, null, 2) : statuses.map((status) => `${status.kind.padEnd(6)} ${status.state.padEnd(10)} ${status.version ?? status.requestedVersion}${status.path ? ` — ${status.path}` : ""}`).join("\n"));
|
|
54
|
+
if (statuses.some((status) => status.state === "corrupted")) process.exitCode = 1;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
40
57
|
const statuses = await manager(ctx).statusAll();
|
|
41
58
|
if (options.json) console.log(JSON.stringify(statuses, null, 2));
|
|
42
59
|
else printStatuses(statuses);
|
|
43
60
|
if (statuses.some((status) => status.state === "corrupted" || status.state === "failed")) process.exitCode = 1;
|
|
44
61
|
});
|
|
45
|
-
command.command("install").description("Install one managed runtime").argument("<runtime>", "node, uv, or
|
|
62
|
+
command.command("install").description("Install one managed runtime").argument("<runtime>", "node, uv, python, adb, or scrcpy").option("--version <version>", "Requested runtime version").action(async (runtimeValue, options) => {
|
|
63
|
+
if (runtimeValue === "adb" || runtimeValue === "scrcpy") {
|
|
64
|
+
if (options.version) throw new Error("Phone dependencies use the pinned catalog version; omit --version");
|
|
65
|
+
await (await phoneDependencies(ctx)).install(runtimeValue);
|
|
66
|
+
console.log(`${runtimeValue} installed in the Gateway state directory`);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
46
69
|
const runtime = parseRuntime(runtimeValue);
|
|
47
70
|
const resolved = await manager(ctx).install(runtime, options.version);
|
|
48
71
|
console.log(`${runtime} ${resolved.version} installed at ${resolved.executable}`);
|
|
49
72
|
});
|
|
50
|
-
command.command("repair").description("Reinstall one invalid managed runtime").argument("<runtime>", "node, uv, or
|
|
73
|
+
command.command("repair").description("Reinstall one invalid managed runtime").argument("<runtime>", "node, uv, python, adb, or scrcpy").action(async (runtimeValue) => {
|
|
74
|
+
if (runtimeValue === "adb" || runtimeValue === "scrcpy") {
|
|
75
|
+
await (await phoneDependencies(ctx)).install(runtimeValue, { repair: true });
|
|
76
|
+
console.log(`${runtimeValue} managed installation repaired`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
51
79
|
const runtime = parseRuntime(runtimeValue);
|
|
52
80
|
const resolved = await manager(ctx).repair(runtime);
|
|
53
81
|
console.log(`${runtime} ${resolved.version} repaired at ${resolved.executable}`);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
2
|
-
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
3
2
|
import { ConfigSchema, init_schema } from "../../config/schema.js";
|
|
3
|
+
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
4
|
+
import { readConfigFileSnapshot } from "../../config/config-file.js";
|
|
4
5
|
import { saveConfig } from "../../config/loader.js";
|
|
5
6
|
import { ensureStarterAgentsInitialized } from "../../agent/starter-agents.js";
|
|
6
7
|
import { bootstrapApplicationStateSync } from "../../bootstrap/application-state.js";
|
|
7
8
|
import { dirname } from "node:path";
|
|
8
|
-
import { existsSync, mkdirSync,
|
|
9
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
9
10
|
import { randomBytes } from "node:crypto";
|
|
10
11
|
//#region src/cli/utils/init-workspace-core.ts
|
|
11
12
|
init_schema();
|
|
@@ -19,9 +20,10 @@ async function serializeConfig(cfg, assertChannelPlugins) {
|
|
|
19
20
|
return JSON.stringify(validated, null, 2);
|
|
20
21
|
}
|
|
21
22
|
async function readDiskConfig(configPath, assertChannelPlugins) {
|
|
22
|
-
const
|
|
23
|
-
const cfg =
|
|
23
|
+
const snapshot = readConfigFileSnapshot(configPath);
|
|
24
|
+
const cfg = snapshot.config;
|
|
24
25
|
await assertChannelPluginsIfNeeded(cfg, assertChannelPlugins);
|
|
26
|
+
snapshot.discardRetiredFields();
|
|
25
27
|
return cfg;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
@@ -178,12 +178,12 @@ export declare const ComputerSessionReportSchema: z.ZodObject<{
|
|
|
178
178
|
recentActions: z.ZodArray<z.ZodObject<{
|
|
179
179
|
kind: z.ZodEnum<{
|
|
180
180
|
wait: "wait";
|
|
181
|
+
typeText: "typeText";
|
|
181
182
|
activate: "activate";
|
|
182
183
|
showMenu: "showMenu";
|
|
183
184
|
click: "click";
|
|
184
185
|
drag: "drag";
|
|
185
186
|
setValue: "setValue";
|
|
186
|
-
typeText: "typeText";
|
|
187
187
|
pressKeys: "pressKeys";
|
|
188
188
|
scroll: "scroll";
|
|
189
189
|
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { normalizeAgentId } from "../agent-catalog/id.js";
|
|
1
2
|
import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
|
|
2
3
|
import { init_agent_config } from "../agent-config/index.js";
|
|
3
|
-
import { normalizeAgentId } from "../agent-catalog/id.js";
|
|
4
4
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
5
5
|
import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
|
|
6
6
|
import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createLogger } from "../utils/logger/index.js";
|
|
2
|
+
import { init_logger } from "../utils/logger.js";
|
|
3
|
+
import { init_write_file_atomic, writeTextAtomicSync } from "../infra/write-file-atomic.js";
|
|
4
|
+
import { ConfigSchema, init_schema } from "./schema.js";
|
|
5
|
+
import { readFileSync } from "node:fs";
|
|
6
|
+
//#region src/config/config-file.ts
|
|
7
|
+
init_write_file_atomic();
|
|
8
|
+
init_logger();
|
|
9
|
+
init_schema();
|
|
10
|
+
const log = createLogger("ConfigFile");
|
|
11
|
+
/** Validate existing settings before committing removal of retired fields. */
|
|
12
|
+
function readConfigFileSnapshot(path) {
|
|
13
|
+
const original = readFileSync(path, "utf8");
|
|
14
|
+
const raw = JSON.parse(original);
|
|
15
|
+
const hasRetiredFields = raw !== null && typeof raw === "object" && !Array.isArray(raw) && Object.hasOwn(raw, "workflows");
|
|
16
|
+
const current = hasRetiredFields ? { ...raw } : raw;
|
|
17
|
+
if (hasRetiredFields) delete current.workflows;
|
|
18
|
+
return {
|
|
19
|
+
config: ConfigSchema.parse(current),
|
|
20
|
+
discardRetiredFields: () => {
|
|
21
|
+
if (!hasRetiredFields) return;
|
|
22
|
+
try {
|
|
23
|
+
if (readFileSync(path, "utf8") !== original) return;
|
|
24
|
+
writeTextAtomicSync(path, `${JSON.stringify(current, null, 2)}\n`);
|
|
25
|
+
} catch (err) {
|
|
26
|
+
log.warn({
|
|
27
|
+
err,
|
|
28
|
+
path
|
|
29
|
+
}, "Could not remove retired configuration fields from disk");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { readConfigFileSnapshot };
|
|
@@ -5,8 +5,9 @@ import { init_paths, resolveConfigPath } from "./paths.js";
|
|
|
5
5
|
import { ConfigSchema, init_schema } from "./schema.js";
|
|
6
6
|
import { init_resolution, setActivePlatformDiscovery } from "../platform/resolution.js";
|
|
7
7
|
import { assertChannelPluginConfigs } from "./validate-channel-configs.js";
|
|
8
|
+
import { readConfigFileSnapshot } from "./config-file.js";
|
|
8
9
|
import { dirname } from "path";
|
|
9
|
-
import { existsSync, mkdirSync, promises
|
|
10
|
+
import { existsSync, mkdirSync, promises } from "fs";
|
|
10
11
|
import { config } from "dotenv";
|
|
11
12
|
//#region src/config/loader.ts
|
|
12
13
|
init_write_file_atomic();
|
|
@@ -47,10 +48,10 @@ function loadConfig(configPath) {
|
|
|
47
48
|
config({ quiet: true });
|
|
48
49
|
const path = configPath || process.env.XOPC_CONFIG_PATH || resolveConfigPath();
|
|
49
50
|
if (existsSync(path)) try {
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const cfg = ConfigSchema.parse(json);
|
|
51
|
+
const snapshot = readConfigFileSnapshot(path);
|
|
52
|
+
const cfg = snapshot.config;
|
|
53
53
|
assertChannelPluginConfigs(cfg);
|
|
54
|
+
snapshot.discardRetiredFields();
|
|
54
55
|
return activateConfig(cfg);
|
|
55
56
|
} catch (error) {
|
|
56
57
|
log.error({
|
|
@@ -372,6 +372,12 @@ export declare const CustomModelSchema: z.ZodObject<{
|
|
|
372
372
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
373
373
|
}>;
|
|
374
374
|
}, z.core.$strict>>;
|
|
375
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
376
|
+
profile: z.ZodEnum<{
|
|
377
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
378
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
379
|
+
}>;
|
|
380
|
+
}, z.core.$strict>>;
|
|
375
381
|
id: z.ZodString;
|
|
376
382
|
name: z.ZodOptional<z.ZodString>;
|
|
377
383
|
api: z.ZodOptional<z.ZodEnum<{
|
|
@@ -454,6 +460,12 @@ export declare const ModelOverrideSchema: z.ZodObject<{
|
|
|
454
460
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
455
461
|
}>;
|
|
456
462
|
}, z.core.$strict>>;
|
|
463
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
464
|
+
profile: z.ZodEnum<{
|
|
465
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
466
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
467
|
+
}>;
|
|
468
|
+
}, z.core.$strict>>;
|
|
457
469
|
name: z.ZodOptional<z.ZodString>;
|
|
458
470
|
reasoning: z.ZodOptional<z.ZodBoolean>;
|
|
459
471
|
thinkingLevelMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
@@ -540,6 +552,12 @@ export declare const ProviderConfigSchema: z.ZodObject<{
|
|
|
540
552
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
541
553
|
}>;
|
|
542
554
|
}, z.core.$strict>>;
|
|
555
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
556
|
+
profile: z.ZodEnum<{
|
|
557
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
558
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
559
|
+
}>;
|
|
560
|
+
}, z.core.$strict>>;
|
|
543
561
|
id: z.ZodString;
|
|
544
562
|
name: z.ZodOptional<z.ZodString>;
|
|
545
563
|
api: z.ZodOptional<z.ZodEnum<{
|
|
@@ -622,6 +640,12 @@ export declare const ProviderConfigSchema: z.ZodObject<{
|
|
|
622
640
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
623
641
|
}>;
|
|
624
642
|
}, z.core.$strict>>;
|
|
643
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
644
|
+
profile: z.ZodEnum<{
|
|
645
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
646
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
647
|
+
}>;
|
|
648
|
+
}, z.core.$strict>>;
|
|
625
649
|
name: z.ZodOptional<z.ZodString>;
|
|
626
650
|
reasoning: z.ZodOptional<z.ZodBoolean>;
|
|
627
651
|
thinkingLevelMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
@@ -823,6 +847,12 @@ export declare const ModelsJsonSchema: z.ZodObject<{
|
|
|
823
847
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
824
848
|
}>;
|
|
825
849
|
}, z.core.$strict>>;
|
|
850
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
851
|
+
profile: z.ZodEnum<{
|
|
852
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
853
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
854
|
+
}>;
|
|
855
|
+
}, z.core.$strict>>;
|
|
826
856
|
id: z.ZodString;
|
|
827
857
|
name: z.ZodOptional<z.ZodString>;
|
|
828
858
|
api: z.ZodOptional<z.ZodEnum<{
|
|
@@ -905,6 +935,12 @@ export declare const ModelsJsonSchema: z.ZodObject<{
|
|
|
905
935
|
"openai-responses-computer-v1": "openai-responses-computer-v1";
|
|
906
936
|
}>;
|
|
907
937
|
}, z.core.$strict>>;
|
|
938
|
+
phoneUse: z.ZodOptional<z.ZodObject<{
|
|
939
|
+
profile: z.ZodEnum<{
|
|
940
|
+
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
941
|
+
"structured-phone-v1": "structured-phone-v1";
|
|
942
|
+
}>;
|
|
943
|
+
}, z.core.$strict>>;
|
|
908
944
|
name: z.ZodOptional<z.ZodString>;
|
|
909
945
|
reasoning: z.ZodOptional<z.ZodBoolean>;
|
|
910
946
|
thinkingLevelMap: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { init_write_file_atomic, writeTextAtomicSync } from "../infra/write-file-atomic.js";
|
|
3
3
|
import { init_paths, resolveModelsJsonPath } from "./paths.js";
|
|
4
|
+
import { PhoneModelMetadataSchema, init_contracts } from "../phone/contracts.js";
|
|
4
5
|
import { ComputerProfileSchema, init_src } from "../../packages/computer-control-contract/src/index.js";
|
|
5
6
|
import { init_model_policy, isComputerModel } from "../computer/model-policy.js";
|
|
6
7
|
import { assertCurrentModelProvider, init_provider_policy } from "../providers/provider-policy.js";
|
|
@@ -124,6 +125,11 @@ function validateModelsConfig(config) {
|
|
|
124
125
|
});
|
|
125
126
|
if (providerConfig.models) for (let i = 0; i < providerConfig.models.length; i++) {
|
|
126
127
|
const model = providerConfig.models[i];
|
|
128
|
+
if (model.phoneUse && (!model.input?.includes("image") || (model.api ?? providerConfig.api) !== "openai-completions")) errors.push({
|
|
129
|
+
path: `providers.${providerName}.models[${i}].phoneUse`,
|
|
130
|
+
message: "Phone Use requires image input and OpenAI Chat Completions",
|
|
131
|
+
severity: "error"
|
|
132
|
+
});
|
|
127
133
|
if (model.computerUse && !isComputerModel({
|
|
128
134
|
...model,
|
|
129
135
|
api: model.api ?? providerConfig.api
|
|
@@ -237,6 +243,7 @@ function modelsJsonExists(path = resolveModelsJsonPath()) {
|
|
|
237
243
|
}
|
|
238
244
|
var OpenRouterRoutingSchema, VercelGatewayRoutingSchema, OpenAICompletionsCompatSchema, OpenAIResponsesCompatSchema, OpenAICompatSchema, ImageGenerationResolutionSchema, ImageGenerationQualitySchema, ImageGenerationOutputFormatSchema, ImageGenerationBackgroundSchema, ImageGeometrySchema, ImageGenerationCapabilitiesSchema, ImageGenerationModelSchema, ImageGenerationProviderSchema, CustomModelSchema, ModelOverrideSchema, ProviderConfigSchema, ModelsJsonSchema, PROVIDER_ID_REGEX, RESERVED_PROVIDER_IDS;
|
|
239
245
|
var init_models_json = __esmMin((() => {
|
|
246
|
+
init_contracts();
|
|
240
247
|
init_src();
|
|
241
248
|
init_write_file_atomic();
|
|
242
249
|
init_paths();
|
|
@@ -374,6 +381,7 @@ var init_models_json = __esmMin((() => {
|
|
|
374
381
|
CustomModelSchema = z.object({
|
|
375
382
|
supportsTools: z.boolean().optional(),
|
|
376
383
|
computerUse: z.object({ profile: ComputerProfileSchema }).strict().optional(),
|
|
384
|
+
phoneUse: PhoneModelMetadataSchema.optional(),
|
|
377
385
|
id: z.string().min(1),
|
|
378
386
|
name: z.string().min(1).optional(),
|
|
379
387
|
api: z.enum([
|
|
@@ -411,6 +419,7 @@ var init_models_json = __esmMin((() => {
|
|
|
411
419
|
ModelOverrideSchema = z.object({
|
|
412
420
|
supportsTools: z.boolean().optional(),
|
|
413
421
|
computerUse: z.object({ profile: ComputerProfileSchema }).strict().optional(),
|
|
422
|
+
phoneUse: PhoneModelMetadataSchema.optional(),
|
|
414
423
|
name: z.string().min(1).optional(),
|
|
415
424
|
reasoning: z.boolean().optional(),
|
|
416
425
|
thinkingLevelMap: z.partialRecord(z.enum([
|
|
@@ -49,6 +49,10 @@ export declare const AgentModelsSchema: z.ZodObject<{
|
|
|
49
49
|
primary: z.ZodString;
|
|
50
50
|
fallbacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
51
51
|
}, z.core.$strict>>>;
|
|
52
|
+
phoneUse: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
53
|
+
primary: z.ZodString;
|
|
54
|
+
fallbacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
55
|
+
}, z.core.$strict>>>;
|
|
52
56
|
imageGeneration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
53
57
|
primary: z.ZodString;
|
|
54
58
|
fallbacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
@@ -1774,6 +1778,14 @@ export declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
1774
1778
|
maxSessionDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
1775
1779
|
idleGrantTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
1776
1780
|
}, z.core.$strict>>;
|
|
1781
|
+
phone: z.ZodPrefault<z.ZodObject<{
|
|
1782
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1783
|
+
adbPath: z.ZodOptional<z.ZodString>;
|
|
1784
|
+
maxActionsPerSession: z.ZodDefault<z.ZodNumber>;
|
|
1785
|
+
maxModelRequests: z.ZodDefault<z.ZodNumber>;
|
|
1786
|
+
maxOperationDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
1787
|
+
maxSessionDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
1788
|
+
}, z.core.$strict>>;
|
|
1777
1789
|
tunnel: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
1778
1790
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1779
1791
|
brokerUrl: z.ZodDefault<z.ZodString>;
|
|
@@ -3,13 +3,14 @@ import { AgentModelsOverrideSchema, ImageGenerationRouteSchema, ModelRouteSchema
|
|
|
3
3
|
import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
|
|
4
4
|
import { init_agent_config } from "../agent-config/index.js";
|
|
5
5
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
6
|
+
import { PhoneConfigSchema, init_contracts } from "../phone/contracts.js";
|
|
6
7
|
import { getModelUsageOrigin, init_model_usage } from "../providers/model-usage.js";
|
|
7
8
|
import { TracingConfigSchema, init_config } from "../observability/config.js";
|
|
8
9
|
import { OutboundProxySchema, init_outbound_proxy } from "./outbound-proxy.js";
|
|
9
10
|
import { ComputerConfigSchema, init_config as init_config$1 } from "../computer/config.js";
|
|
10
11
|
import { DEFAULT_CONTEXT_COMPACTION_POLICY, UserContextConfigSchema, init_config as init_config$2 } from "../user-context/config.js";
|
|
11
12
|
import { init_public_url, validatePublicUrl } from "./public-url.js";
|
|
12
|
-
import { PlatformConfigSchema, init_contracts } from "../platform/contracts.js";
|
|
13
|
+
import { PlatformConfigSchema, init_contracts as init_contracts$1 } from "../platform/contracts.js";
|
|
13
14
|
import { deepseekSearchEndpoint, init_deepseek_protocol } from "../agent/tools/search/providers/deepseek-protocol.js";
|
|
14
15
|
import { TelegramAccountConfigSchema, TelegramConfigSchema, TelegramGroupConfigSchema, TelegramTopicConfigSchema, init_config_schema } from "../../extensions/telegram/src/config-schema.js";
|
|
15
16
|
import { WeixinAccountConfigSchema, WeixinConfigSchema, init_config_schema as init_config_schema$1 } from "../../extensions/weixin/src/config-schema.js";
|
|
@@ -52,6 +53,7 @@ function parseModelRef(ref) {
|
|
|
52
53
|
}
|
|
53
54
|
var AgentModelRefSchema, AgentImageGenerationModelSchema, AgentModelsSchema, BrowserDriverSchema, BrowserHostnameSchema, BrowserConfigSchema, SessionDmScopeSchema, SessionStorageConfigSchema, SessionResetModeSchema, SessionResetConfigSchema, SessionResetByTypeSchema, SessionScopeSchema, SessionConfigSchema, ChannelsConfigSchema, SearchProviderEntrySchema, WebSearchConfigSchema, WebsiteBlocklistSchema, WebToolsConfigSchema, ToolsConfigSchema, RuntimePreferenceSchema, RuntimeProvisionSchema, RuntimeVersionRequestSchema, LanguageRuntimeSchema, DEFAULT_RUNTIME_TOOLS_CONFIG, RuntimeToolsConfigSchema, GatewayAuthRateLimitSchema, GatewaySecuritySchema, GatewayTrustedProxySchema, GatewayAuthSchema, GatewayTailscaleConsentSchema, GatewayTailscaleSchema, GatewayRemoteSchema, GatewayTlsSchema, GatewayModeSchema, GatewayChannelConnectDeferModeSchema, TunnelConsentSchema, TunnelBrokerUrlSchema, TunnelConfigSchema, WorkspaceImportConfigSchema, WorkspaceConfigSchema, GatewayBindModeSchema, GatewayWebchatConfigSchema, GatewayConfigSchema, ModelsDevConfigSchema, ModelCatalogConfigSchema, SttProviderConfigCatchallSchema, STTProviderConfigSchema, STTFallbackConfigSchema, MediaUnderstandingCapabilitiesSchema, MediaUnderstandingModelSchema, STTConfigSchema, TtsProviderConfigCatchallSchema, TTSProviderConfigSchema, TTSFallbackConfigSchema, TTSModelOverridesConfigSchema, TTSEdgeConfigSchema, TTSSummarizationConfigSchema, TTSConfigSchema, VoiceRefinementConfigSchema, VoiceConfigSchema, MessagesConfigSchema, ToolsMediaAudioConfigSchema, ToolsMediaConfigSchema, ProviderAzureConfigSchema, ProviderRequestOverridesSchema, ProviderAuthConfigSchema, ProvidersConfigSchema, ExtensionSecurityConfigSchema, ExtensionSlotsConfigSchema, ExtensionsConfigSchema, UpdateAutoConfigSchema, UpdateConfigSchema, CommandsConfigSchema, McpHttpUrlSchema, ConnectorSecretReferenceSchema, McpConfigScalarSchema, McpExposureSchema, McpOAuthConfigSchema, McpServerSchema, McpConfigSchema, ConnectorsConfigSchema, ExperimentalConfigSchema, ConfigSchema;
|
|
54
55
|
var init_schema = __esmMin((() => {
|
|
56
|
+
init_contracts();
|
|
55
57
|
init_model_usage();
|
|
56
58
|
init_config();
|
|
57
59
|
init_outbound_proxy();
|
|
@@ -60,7 +62,7 @@ var init_schema = __esmMin((() => {
|
|
|
60
62
|
init_repository();
|
|
61
63
|
init_config$2();
|
|
62
64
|
init_public_url();
|
|
63
|
-
init_contracts();
|
|
65
|
+
init_contracts$1();
|
|
64
66
|
init_deepseek_protocol();
|
|
65
67
|
init_config_schema();
|
|
66
68
|
init_config_schema$1();
|
|
@@ -1019,6 +1021,7 @@ workDiscoveryOnboarding: z.boolean().default(true) }).strict().default({ workDis
|
|
|
1019
1021
|
gateway: GatewayConfigSchema,
|
|
1020
1022
|
browser: BrowserConfigSchema,
|
|
1021
1023
|
computer: ComputerConfigSchema,
|
|
1024
|
+
phone: PhoneConfigSchema,
|
|
1022
1025
|
tunnel: TunnelConfigSchema.optional(),
|
|
1023
1026
|
workspace: WorkspaceConfigSchema,
|
|
1024
1027
|
tools: ToolsConfigSchema,
|
|
@@ -1126,6 +1129,7 @@ workDiscoveryOnboarding: z.boolean().default(true) }).strict().default({ workDis
|
|
|
1126
1129
|
skillsStoreBaseUrl: "https://store.xopc.ai"
|
|
1127
1130
|
},
|
|
1128
1131
|
computer: ComputerConfigSchema.parse({}),
|
|
1132
|
+
phone: PhoneConfigSchema.parse({}),
|
|
1129
1133
|
browser: {
|
|
1130
1134
|
enabled: true,
|
|
1131
1135
|
driver: { kind: "extension" },
|
|
@@ -8,8 +8,8 @@ import { assertManagedWorktreePath, assertNoNestedRegisteredWorktrees, readDirec
|
|
|
8
8
|
import { dirname, resolve } from "node:path";
|
|
9
9
|
import { existsSync } from "node:fs";
|
|
10
10
|
import { randomUUID } from "node:crypto";
|
|
11
|
-
import { mkdir, rm, stat } from "node:fs/promises";
|
|
12
11
|
import lockfile from "proper-lockfile";
|
|
12
|
+
import { mkdir, rm, stat } from "node:fs/promises";
|
|
13
13
|
//#region src/execution-environments/local-worktree-manager.ts
|
|
14
14
|
init_logger();
|
|
15
15
|
const log = createLogger("ExecutionEnvironment:LocalWorktree");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
2
1
|
import { containedPath } from "./validation.js";
|
|
3
2
|
import { AgentPluginStore } from "./store.js";
|
|
3
|
+
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
4
4
|
import { createSkillConfigManager } from "../../agent/skills/config.js";
|
|
5
5
|
import { parseSkillLocalizations } from "../../agent/skills/parse-skill-metadata.js";
|
|
6
6
|
import { buildSkillMarkdownPreviewFromRaw } from "../../agent/skills/skill-markdown-preview-from-raw.js";
|
|
@@ -8,8 +8,8 @@ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
|
8
8
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import yaml from "js-yaml";
|
|
12
11
|
import { validateHeaderName, validateHeaderValue } from "node:http";
|
|
12
|
+
import yaml from "js-yaml";
|
|
13
13
|
//#region src/extensions/agent-plugins/validation.ts
|
|
14
14
|
init_schema();
|
|
15
15
|
const PLUGIN_SCHEMA = "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json";
|
|
@@ -7,6 +7,12 @@ export type GatewayBuiltinToolSummary = {
|
|
|
7
7
|
};
|
|
8
8
|
/** Built-in agent tools exposed by the gateway configuration UI. */
|
|
9
9
|
export declare const GATEWAY_BUILTIN_TOOLS: readonly [{
|
|
10
|
+
readonly id: "phone_use";
|
|
11
|
+
readonly description: {
|
|
12
|
+
readonly en: "Observe and control an authorized Android phone through the local ADB runner.";
|
|
13
|
+
readonly zh: "通过本地 ADB 执行端观察和操作已授权的 Android 手机。";
|
|
14
|
+
};
|
|
15
|
+
}, {
|
|
10
16
|
readonly id: "computer_use";
|
|
11
17
|
readonly description: {
|
|
12
18
|
readonly en: "Observe and control a locally authorized desktop application.";
|
|
@@ -271,4 +277,4 @@ export declare const GATEWAY_BUILTIN_TOOLS: readonly [{
|
|
|
271
277
|
readonly zh: "使用已验证的参数执行选定的外部工具。";
|
|
272
278
|
};
|
|
273
279
|
}];
|
|
274
|
-
export declare const GATEWAY_BUILTIN_TOOL_IDS: ("automation" | "find" | "image" | "knowledge_search" | "knowledge_get" | "knowledge_write" | "user_context_search" | "user_context_get" | "user_context_update" | "web_search" | "web_fetch" | "browser_use" | "grep" | "session_search" | "read_file" | "list_dir" | "write_file" | "apply_patch" | "exec_command" | "update_plan" | "todo" | "web_extract" | "clarify" | "xopc_tool_execute" | "tool_manual" | "session_status" | "read_media" | "xopc_tool_search" | "xopc_tool_describe" | "image_generate" | "skills_list" | "skill_view" | "skill_manage" | "skills_marketplace_search" | "computer_use" | "send_message" | "text_to_speech" | "execute_code" | "send_media" | "create_share" | "memory_maintenance" | "delegate_task" | "skill_install" | "create_desktop_pet")[];
|
|
280
|
+
export declare const GATEWAY_BUILTIN_TOOL_IDS: ("automation" | "find" | "image" | "knowledge_search" | "knowledge_get" | "knowledge_write" | "user_context_search" | "user_context_get" | "user_context_update" | "web_search" | "web_fetch" | "browser_use" | "grep" | "session_search" | "read_file" | "list_dir" | "write_file" | "apply_patch" | "exec_command" | "update_plan" | "todo" | "web_extract" | "clarify" | "xopc_tool_execute" | "tool_manual" | "session_status" | "read_media" | "xopc_tool_search" | "xopc_tool_describe" | "phone_use" | "image_generate" | "skills_list" | "skill_view" | "skill_manage" | "skills_marketplace_search" | "computer_use" | "send_message" | "text_to_speech" | "execute_code" | "send_media" | "create_share" | "memory_maintenance" | "delegate_task" | "skill_install" | "create_desktop_pet")[];
|
|
@@ -3,6 +3,13 @@ import "../agent/external-tools/index.js";
|
|
|
3
3
|
//#region src/gateway/agent-builtin-tools.ts
|
|
4
4
|
/** Built-in agent tools exposed by the gateway configuration UI. */
|
|
5
5
|
const GATEWAY_BUILTIN_TOOLS = [
|
|
6
|
+
{
|
|
7
|
+
id: "phone_use",
|
|
8
|
+
description: {
|
|
9
|
+
en: "Observe and control an authorized Android phone through the local ADB runner.",
|
|
10
|
+
zh: "通过本地 ADB 执行端观察和操作已授权的 Android 手机。"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
6
13
|
{
|
|
7
14
|
id: "computer_use",
|
|
8
15
|
description: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { normalizeAgentId, validateAgentIdForNewAgent } from "../agent-catalog/id.js";
|
|
2
2
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
3
3
|
import { init_agent_scope, listAgentEntries, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId, resolveUserPath } from "../agent/agent-scope.js";
|
|
4
|
-
import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
|
|
5
|
-
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
6
4
|
import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
|
|
5
|
+
import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
|
|
7
6
|
import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
|
|
7
|
+
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
8
8
|
import { GATEWAY_BUILTIN_TOOL_IDS } from "./agent-builtin-tools.js";
|
|
9
9
|
import { resolve } from "node:path";
|
|
10
10
|
import { mkdir, readFile, realpath, stat, unlink, writeFile } from "node:fs/promises";
|