@xopcai/xopc 0.0.352 → 0.0.354
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/feishu/src/adapters/cli-login.js +3 -3
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/telegram/src/inbound-processor.js +2 -2
- package/dist/extensions/telegram/src/outbound-sender.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +2 -2
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +12 -12
- package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
- package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
- package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
- package/dist/gateway/static/root/assets/activity-store-X7CG9pzB.js +1 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-ChlaFmiD.js → agent-avatar-dicebear-B8PS1eLP.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CLBSL9hl.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-BninweSg.js +1 -0
- package/dist/gateway/static/root/assets/agents-CcVLP_WP.js +66 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-C_3ucZGI.js → agents-admin-api-Ck2x78jq.js} +1 -1
- package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-COdQOmdT.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-CDNjc2yy.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-C-kvpPj8.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-D4EiLLyl.js → archive-plugin-QfOaQPL_.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CMxBpT5v.js → automations-page-87DN5nXX.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BdZ8NO8k.js +7 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DQc_BlYP.js → binary-plugins-BF2lVwR9.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-C3S6gqnS.js → block-editor-B04Kv5DU.js} +39 -39
- package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D2SwaQ2F.js → browser-automation-inputs-FW3bYZ-z.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-CGG1740U.js → browser-automations-page-Ck6Zb9aU.js} +2 -2
- package/dist/gateway/static/root/assets/browser-settings-page-DHlyYItE.js +3 -0
- package/dist/gateway/static/root/assets/{capabilities-D4qdO980.js → capabilities-BCF_160Z.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-CF4-mrIa.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-C-6RLFNh.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CST_HBkR.js +8 -0
- package/dist/gateway/static/root/assets/capability-header-actions-PBPJJsp6.js +1 -0
- package/dist/gateway/static/root/assets/channels-CM4sIvcP.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-DfTUgrey.js → chat-terminal-dock-DTd7mWyE.js} +2 -2
- package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
- package/dist/gateway/static/root/assets/circle-dashed-8qMD7gHf.js +1 -0
- package/dist/gateway/static/root/assets/circle-dot-BAseJTrF.js +1 -0
- package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
- package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
- package/dist/gateway/static/root/assets/computer-settings-page--9rh1mvu.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-v6Is0BOO.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-CryQzmEZ.js +2 -0
- package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-DTsMzjoZ.js +1 -0
- package/dist/gateway/static/root/assets/{dependency-picker-CV2ybJJd.js → dependency-picker-Y1QYCcLp.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-DipFHe4X.js → desktop-pet-D9dfZrOp.js} +1 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-BHVOHZUL.js +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-Cy5YDZ2b.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-DeMo9KlE.js +1 -0
- package/dist/gateway/static/root/assets/dist-3h6cXXhT.js +1 -0
- package/dist/gateway/static/root/assets/dist-Che_jiQF.js +1 -0
- package/dist/gateway/static/root/assets/extension-debug-page-BrGWLJg9.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-AWrvy1Nb.js +1 -0
- package/dist/gateway/static/root/assets/extension-provider-CUpbXB2k.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-C5KgmhYu.js +1 -0
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-DZWFlfJr.js → gateway-config-swr-B31I6Gbq.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-HO9tL9xo.js → gateway-realtime-D6ffOiPe.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DQuFWNjA.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-DC-lok0J.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Cg1nbxJR.js → gateway-startup-retry-DVol958v.js} +1 -1
- package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
- package/dist/gateway/static/root/assets/home-page-C29_VFAs.js +1 -0
- package/dist/gateway/static/root/assets/{image-generation-api-DSnPfr_U.js → image-generation-api-TVgJfz9r.js} +1 -1
- package/dist/gateway/static/root/assets/imports-page-BKVKfVMA.js +1 -0
- package/dist/gateway/static/root/assets/index-BJh5gU04.css +1 -0
- package/dist/gateway/static/root/assets/index-ByFXhQ-T.js +107 -0
- package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
- package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-ixQ8_6ad.js → keyboard-shortcuts-settings-DiwE4gKU.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-Dt3TC64L.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-BV3NFUJQ.js → local-apps-page-DFPhWkxU.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-CuyTzbfW.js → local-session-drafts-wiq_12oN.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-qcYD05PF.js → locale-store-Y1aBayM_.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-C4faHZHj.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-pZLdvIiw.js +1 -0
- package/dist/gateway/static/root/assets/markdown-view-7tzqIp_G.js +201 -0
- package/dist/gateway/static/root/assets/{media-plugins-cpalRgVI.js → media-plugins-cjgrKnne.js} +1 -1
- package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
- package/dist/gateway/static/root/assets/messages-DPw2X06D.js +3 -0
- package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
- package/dist/gateway/static/root/assets/model-display-name-DXhO9rcM.js +1 -0
- package/dist/gateway/static/root/assets/models-hub-cache-HGrORbzR.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-BLnT1tYJ.js +5 -0
- package/dist/gateway/static/root/assets/notes-api-J0yhflxC.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-BawArJvP.js +8 -0
- package/dist/gateway/static/root/assets/oauth-api-CYe61zfD.js +1 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-CiBUm2Br.js +1 -0
- package/dist/gateway/static/root/assets/page-tabs-D2xpUV26.js +1 -0
- package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
- package/dist/gateway/static/root/assets/personal-page-Cng583RH.js +1 -0
- package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
- package/dist/gateway/static/root/assets/popover-select-DcsFzD_i.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-Dvey7GwU.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-BJwEshPw.js → product-open-page-B8_w6c3J.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-CDZdKiTz.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-BvahSrZi.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-C0j3sKT4.js → registry-api-DqDOrPQ0.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CU_UdkuI.js +1 -0
- package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-SbIgL9Ya.js → runtime-tools-settings-panel-BnMS50vK.js} +2 -2
- package/dist/gateway/static/root/assets/scenes-page-CDR1-q25.js +2 -0
- package/dist/gateway/static/root/assets/schema-form-B4Xa8w8S.js +1 -0
- package/dist/gateway/static/root/assets/secret-input-DPl3VYM8.js +1 -0
- package/dist/gateway/static/root/assets/send-session-input-C7Nqy0sK.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-iR1SFNHe.js → session-api-CTN4qwiN.js} +1 -1
- package/dist/gateway/static/root/assets/{session-manager-3YOU74jt.js → session-manager-DsH1DZI_.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-Ymyg98G-.js +1 -0
- package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-wMZhxwTM.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-exRhP9xn.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-CHZdpvkT.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-HESfALIF.js +1 -0
- package/dist/gateway/static/root/assets/share-link-dialog-COlX10Dc.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-NtRLUieq.js +2 -0
- package/dist/gateway/static/root/assets/shares-api-DICV5EKH.js +1 -0
- package/dist/gateway/static/root/assets/shares-settings-CXEBo5YL.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-DYgcO7y0.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CWH3Fmx4.js +1 -0
- package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-Dx5v64jU.js +2 -0
- package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
- package/dist/gateway/static/root/assets/system-settings-panel-wXCBwYwE.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-hoIyr7tp.js +1 -0
- package/dist/gateway/static/root/assets/tasks-Buv1mgPF.js +1 -0
- package/dist/gateway/static/root/assets/theme-store-BKgBPLH4.js +1 -0
- package/dist/gateway/static/root/assets/tunnel-api-C0t8y3Mi.js +1 -0
- package/dist/gateway/static/root/assets/usage-page-A2DZAidl.js +1 -0
- package/dist/gateway/static/root/assets/use-async-resource-GrnWNwMZ.js +1 -0
- package/dist/gateway/static/root/assets/use-autosave-Cn6hqqyM.js +1 -0
- package/dist/gateway/static/root/assets/use-composer-attachments-DL61XeSu.js +2 -0
- package/dist/gateway/static/root/assets/use-file-preview-expanded-Cl9mU32w.js +2 -0
- package/dist/gateway/static/root/assets/user-model-page-C1jGTwjK.js +2 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-Bw05QB_V.js +1 -0
- package/dist/gateway/static/root/assets/{voice-config-api-CylVelIb.js → voice-config-api-BM75K3mR.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-9bULjfGk.js → work-discovery-overlay-xB0QpOFk.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-VYQHBiz3.js → workflow-run-setup-panel-rM4U1FXc.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-QKC34FzQ.js +6 -0
- package/dist/gateway/static/root/assets/workspace-api-BbBT75Kg.js +2 -0
- package/dist/gateway/static/root/index.html +68 -26
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/tasks.js +19 -2
- package/dist/src/agent/agent-manager.js +27 -22
- package/dist/src/agent/agent-scope.js +2 -2
- package/dist/src/agent/background-review/prompts.js +1 -1
- package/dist/src/agent/background-review/run-background-review.js +4 -4
- package/dist/src/agent/bootstrap/bootstrap-files.d.ts +0 -4
- package/dist/src/agent/bootstrap/bootstrap-files.js +3 -9
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +2 -4
- package/dist/src/agent/coding/repository-instructions.js +1 -1
- package/dist/src/agent/context/coordinator.js +2 -2
- package/dist/src/agent/context/execution-context.js +4 -4
- package/dist/src/agent/context/execution-scope.js +2 -2
- package/dist/src/agent/context/project-context.js +3 -3
- package/dist/src/agent/context/workspace-seed.d.ts +1 -7
- package/dist/src/agent/context/workspace-seed.js +4 -13
- package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
- package/dist/src/agent/context/workspace.d.ts +1 -3
- package/dist/src/agent/context/workspace.js +3 -7
- package/dist/src/agent/data-acquisition/service.js +1 -1
- package/dist/src/agent/embedded/index.js +2 -2
- package/dist/src/agent/embedded/model-runtime.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +4 -4
- package/dist/src/agent/embedded/run-turn.js +15 -5
- package/dist/src/agent/embedded/session-tool-result-guard.js +3 -3
- package/dist/src/agent/embedded/tool-result-truncation.js +1 -1
- package/dist/src/agent/external-tools/cliProvider.js +3 -3
- package/dist/src/agent/external-tools/composio-provider.js +3 -3
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/external-tools/gateway-tools.js +1 -1
- package/dist/src/agent/external-tools/mcp-provider.js +3 -3
- package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
- package/dist/src/agent/image/generation/providers/dashscope.js +1 -1
- package/dist/src/agent/image/generation/providers/fal.js +1 -1
- package/dist/src/agent/image/generation/providers/google.js +1 -1
- package/dist/src/agent/image/generation/runtime.js +1 -1
- package/dist/src/agent/image/index.js +1 -1
- package/dist/src/agent/image/load-image-media.js +1 -1
- package/dist/src/agent/image/tool-model-config.js +2 -2
- package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
- package/dist/src/agent/inbound/inbound-loop.js +2 -2
- package/dist/src/agent/index.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-config.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-gateway.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
- package/dist/src/agent/mcp/index.js +2 -2
- package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +1 -1
- package/dist/src/agent/mcp/plugin-http-fetch.js +1 -1
- package/dist/src/agent/memory/context-recovery.js +1 -1
- package/dist/src/agent/memory/index.js +1 -1
- package/dist/src/agent/messaging/no-reply.d.ts +1 -0
- package/dist/src/agent/messaging/no-reply.js +4 -0
- package/dist/src/agent/messaging/outbound-coordinator.d.ts +0 -4
- package/dist/src/agent/messaging/outbound-coordinator.js +2 -4
- package/dist/src/agent/orchestration/agent-orchestrator.js +1 -1
- package/dist/src/agent/prompt/sections/agent-identity.d.ts +3 -0
- package/dist/src/agent/prompt/sections/agent-identity.js +13 -0
- package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +0 -5
- package/dist/src/agent/prompt/sections/messaging-runtime.js +2 -16
- package/dist/src/agent/prompt/sections/project-context.d.ts +0 -3
- package/dist/src/agent/prompt/sections/project-context.js +2 -9
- package/dist/src/agent/prompt/sections/tooling.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.d.ts +2 -0
- package/dist/src/agent/prompt/service-prompt-builder.js +5 -10
- package/dist/src/agent/prompt/subagent-context.js +1 -1
- package/dist/src/agent/prompt/system-prompt-params.d.ts +0 -4
- package/dist/src/agent/prompt/system-prompt-params.js +0 -2
- package/dist/src/agent/prompt/system-prompt.d.ts +2 -2
- package/dist/src/agent/prompt/system-prompt.js +8 -9
- package/dist/src/agent/sandbox/exec-policy.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +4 -4
- package/dist/src/agent/service/process-direct-one-shot.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +5 -5
- package/dist/src/agent/service/webchat-tts.js +2 -2
- package/dist/src/agent/service.js +24 -22
- package/dist/src/agent/session/session-config-service.js +27 -1
- package/dist/src/agent/session/session-hydrator.js +1 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/source-context/index.js +2 -2
- package/dist/src/agent/starter-agents.d.ts +0 -4
- package/dist/src/agent/starter-agents.js +57 -98
- package/dist/src/agent/tasks/task-judge-service.js +4 -4
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +7 -4
- package/dist/src/agent/tools/create-share-tool.js +3 -3
- package/dist/src/agent/tools/dataBatch.js +1 -1
- package/dist/src/agent/tools/delegate-tool.js +3 -3
- package/dist/src/agent/tools/delegation-parent-policy.js +1 -1
- package/dist/src/agent/tools/executor.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +1 -1
- package/dist/src/agent/tools/factory.js +37 -30
- package/dist/src/agent/tools/fetch-text.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +3 -3
- package/dist/src/agent/tools/index.js +6 -6
- package/dist/src/agent/tools/list-dir.js +1 -1
- package/dist/src/agent/tools/personal-preference-tool.d.ts +10 -0
- package/dist/src/agent/tools/personal-preference-tool.js +43 -0
- package/dist/src/agent/tools/personal-task-tool.d.ts +28 -0
- package/dist/src/agent/tools/personal-task-tool.js +165 -0
- package/dist/src/agent/tools/publish-artifacts.js +2 -2
- package/dist/src/agent/tools/read.js +2 -2
- package/dist/src/agent/tools/review-workspace.js +1 -1
- package/dist/src/agent/tools/send-media.js +2 -2
- package/dist/src/agent/tools/skills-tools.js +1 -1
- package/dist/src/agent/tools/tts-tool.js +1 -1
- package/dist/src/agent/tools/user-context-tool.js +1 -1
- package/dist/src/agent/tools/write.js +2 -2
- package/dist/src/agent/tools/xopc-use-tool.js +8 -7
- package/dist/src/agent/workflow/subagent-runner.js +1 -1
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/agent-catalog/migrations/identity-markdown-cutover.d.ts +5 -0
- package/dist/src/agent-catalog/migrations/identity-markdown-cutover.js +94 -0
- package/dist/src/agent-catalog/repository.js +7 -1
- package/dist/src/agent-catalog/service.d.ts +1 -1
- package/dist/src/agent-catalog/service.js +4 -3
- package/dist/src/agent-config/index.js +2 -2
- package/dist/src/agent-config/schema.d.ts +167 -0
- package/dist/src/agent-config/schema.js +47 -6
- package/dist/src/ai-assist/text-assist.js +1 -1
- package/dist/src/auth/credentials.js +1 -1
- package/dist/src/auth/oauth-provider-lock.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/automations/domain/index.js +2 -2
- package/dist/src/automations/index.js +4 -4
- package/dist/src/automations/service/automation-service.js +2 -2
- package/dist/src/backup/archive.js +1 -1
- package/dist/src/bootstrap/application-state.js +3 -1
- package/dist/src/browser/native-messaging-host.js +1 -1
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/channels/attachments/voice-stt-webchat.js +2 -2
- package/dist/src/channels/index.js +2 -2
- package/dist/src/channels/outbound-sender.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +9 -9
- package/dist/src/channels/pairing/pairing-store.js +6 -6
- package/dist/src/chat-commands/agent-edit.js +4 -7
- package/dist/src/chat-commands/builtins/config.js +4 -4
- package/dist/src/chat-commands/builtins/review.js +1 -1
- package/dist/src/chat-commands/builtins/session.js +1 -1
- package/dist/src/chat-commands/builtins/thinking.js +13 -3
- package/dist/src/chat-commands/builtins/tts.js +1 -1
- package/dist/src/chat-commands/builtins/understanding.js +1 -1
- package/dist/src/chat-commands/builtins/workflow.js +2 -2
- package/dist/src/chat-commands/context.js +10 -4
- package/dist/src/chat-commands/index.js +3 -3
- package/dist/src/cli/commands/agent.js +7 -7
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/config.js +1 -1
- package/dist/src/cli/commands/connectors.js +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +2 -2
- package/dist/src/cli/commands/doctor/checks/tool-runtimes.js +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +0 -1
- package/dist/src/cli/commands/extension-agent-plugin.js +2 -2
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +2 -2
- package/dist/src/cli/commands/extension.js +4 -4
- package/dist/src/cli/commands/gateway/shared.js +1 -1
- package/dist/src/cli/commands/gateway/token.js +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +1 -34
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
- package/dist/src/cli/commands/onboard/model.js +2 -2
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/project.js +2 -2
- package/dist/src/cli/commands/runtime.js +1 -1
- package/dist/src/cli/commands/skills.js +2 -2
- package/dist/src/cli/commands/tunnel.js +4 -4
- package/dist/src/cli/extension-cli-register.js +5 -5
- package/dist/src/cli/templates.d.ts +1 -1
- package/dist/src/cli/templates.js +1 -23
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -2
- package/dist/src/cli/utils/session.js +1 -1
- package/dist/src/computer/runtime.js +2 -2
- package/dist/src/config/index.js +8 -8
- package/dist/src/config/loader.js +3 -3
- package/dist/src/config/models-json.js +1 -1
- package/dist/src/config/paths.d.ts +0 -2
- package/dist/src/config/paths.js +1 -3
- package/dist/src/config/reload.d.ts +0 -1
- package/dist/src/config/reload.js +0 -4
- package/dist/src/config/rules.js +0 -5
- package/dist/src/config/schema.d.ts +0 -45
- package/dist/src/config/schema.js +3 -24
- package/dist/src/connectors/cli/authorization.js +1 -1
- package/dist/src/connectors/cli/runtime.js +1 -1
- package/dist/src/connectors/composio-sessions.js +1 -1
- package/dist/src/connectors/composio.js +1 -1
- package/dist/src/connectors/connected-source-understanding.js +3 -3
- package/dist/src/connectors/connection-recovery-service.js +5 -5
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/connectors/plugin-mcp-recovery.js +1 -1
- package/dist/src/discussions/live-worker.js +1 -1
- package/dist/src/discussions/recording.js +1 -1
- package/dist/src/discussions/sealer.js +1 -1
- package/dist/src/extensions/activation-context.js +3 -3
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/extensions/api.js +4 -4
- package/dist/src/extensions/bundled-extension-activation.js +1 -1
- package/dist/src/extensions/index.js +3 -3
- package/dist/src/extensions/install.js +1 -1
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/extensions/sdk/index.js +1 -1
- package/dist/src/extensions/sdk/media.js +1 -1
- package/dist/src/extensions/update.js +1 -1
- package/dist/src/gateway/agents-admin.d.ts +1 -9
- package/dist/src/gateway/agents-admin.js +9 -34
- package/dist/src/gateway/device-routes.js +2 -2
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +3 -3
- package/dist/src/gateway/hono/lib/config-payload.d.ts +1 -0
- package/dist/src/gateway/hono/lib/config-payload.js +4 -4
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/browser.js +1 -1
- package/dist/src/gateway/hono/routes/commands-skills.js +4 -4
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
- package/dist/src/gateway/hono/routes/home.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/mcp.js +2 -2
- package/dist/src/gateway/hono/routes/media.js +1 -1
- package/dist/src/gateway/hono/routes/models.js +5 -5
- package/dist/src/gateway/hono/routes/notes.js +3 -3
- package/dist/src/gateway/hono/routes/personal-agent.d.ts +3 -0
- package/dist/src/gateway/hono/routes/personal-agent.js +107 -0
- package/dist/src/gateway/hono/routes/projects.js +4 -4
- package/dist/src/gateway/hono/routes/session-command-handler.js +1 -1
- package/dist/src/gateway/hono/routes/session-input-handler.js +4 -4
- package/dist/src/gateway/hono/routes/sessions.js +6 -1
- package/dist/src/gateway/hono/routes/shares.js +3 -3
- package/dist/src/gateway/hono/routes/side-chats.js +1 -1
- package/dist/src/gateway/hono/routes/site-shares.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +66 -3
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
- package/dist/src/gateway/hono/routes/user-model.js +5 -5
- package/dist/src/gateway/hono/routes/voice.js +14 -6
- package/dist/src/gateway/hono/routes/workflows.js +2 -2
- package/dist/src/gateway/image-generation-setup.js +3 -3
- package/dist/src/gateway/index.js +1 -1
- package/dist/src/gateway/lock.js +11 -11
- package/dist/src/gateway/media-access.js +1 -1
- package/dist/src/gateway/mobile-privacy.js +2 -2
- package/dist/src/gateway/ports.js +6 -6
- package/dist/src/gateway/run-loop.js +1 -1
- package/dist/src/gateway/scenes/mailContext.js +1 -1
- package/dist/src/gateway/scenes/slackThreadSource.js +1 -1
- package/dist/src/gateway/server.js +1 -1
- package/dist/src/gateway/service/config-coordinator.js +3 -3
- package/dist/src/gateway/service/run-gateway-agent.js +3 -3
- package/dist/src/gateway/service/session-command-service.js +7 -1
- package/dist/src/gateway/service/sessions-api.js +12 -2
- package/dist/src/gateway/service.js +49 -49
- package/dist/src/gateway/session-context-summary.js +2 -2
- package/dist/src/gateway/session-reset-service.js +5 -0
- package/dist/src/gateway/workspace-editor-path.js +2 -2
- package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
- package/dist/src/home-intelligence/generator.js +1 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/infra/gateway-processes.js +2 -2
- package/dist/src/infra/path-env.js +3 -3
- package/dist/src/infra/update-global.js +10 -10
- package/dist/src/local-apps/service.js +2 -2
- package/dist/src/mcp/gateway-http-client.js +1 -1
- package/dist/src/media-understanding/openai-compatible-audio.js +1 -1
- package/dist/src/notes/agent-context.js +4 -4
- package/dist/src/notes/index.js +1 -1
- package/dist/src/notes/service.js +1 -1
- package/dist/src/notes/store.js +1 -1
- package/dist/src/personal-agent/policy.d.ts +1 -0
- package/dist/src/personal-agent/policy.js +13 -0
- package/dist/src/personal-agent/repository.d.ts +25 -0
- package/dist/src/personal-agent/repository.js +68 -0
- package/dist/src/personal-agent/service.d.ts +48 -0
- package/dist/src/personal-agent/service.js +222 -0
- package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
- package/dist/src/providers/index.js +2 -2
- package/dist/src/providers/model-catalog-persistence.js +1 -1
- package/dist/src/providers/model-reference-auditor.js +1 -1
- package/dist/src/providers/register-runtime-providers.js +1 -1
- package/dist/src/remote-access/exposure-manager.js +1 -1
- package/dist/src/scenes/taskFollowUp/agentExecutor.js +4 -4
- package/dist/src/scenes/taskFollowUp/resources.js +1 -1
- package/dist/src/scenes/taskFollowUp/service.js +4 -4
- package/dist/src/session/index.js +2 -2
- package/dist/src/session/resolve-session.js +4 -2
- package/dist/src/session/session-title.js +1 -1
- package/dist/src/session/store.js +4 -4
- package/dist/src/session/thinking-resolve.js +1 -1
- package/dist/src/share/share-store.js +1 -1
- package/dist/src/share/share-thumbnail.js +1 -1
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/share/site-share-store.js +1 -1
- package/dist/src/storage/sqlite/connection.js +9 -9
- package/dist/src/storage/sqlite/migrations/229_task_criterion_reviews.sql +12 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +13 -0
- package/dist/src/storage/sqlite/session-repository.js +6 -2
- package/dist/src/storage/sqlite/transcript-repository.js +2 -1
- package/dist/src/tasks/capabilities/read.js +5 -2
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/execution-context.js +1 -1
- package/dist/src/tasks/home-query-service.js +3 -3
- package/dist/src/tasks/index.js +4 -4
- package/dist/src/tasks/task-application-service.js +8 -3
- package/dist/src/tasks/task-collaboration-delivery.js +1 -1
- package/dist/src/tasks/task-context-assembler.js +1 -1
- package/dist/src/tasks/task-criterion-review-repository.d.ts +22 -0
- package/dist/src/tasks/task-criterion-review-repository.js +74 -0
- package/dist/src/tasks/task-handoff-service.js +1 -1
- package/dist/src/tasks/task-main-update-decision-service.js +7 -1
- package/dist/src/tui/backends/embedded-backend.js +12 -12
- package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
- package/dist/src/tui/extension-host/load-extensions.js +1 -1
- package/dist/src/tui/tui-command-formatters.js +1 -1
- package/dist/src/tui/tui-commands.js +6 -6
- package/dist/src/tui/tui-picker-overlay.js +1 -1
- package/dist/src/tui/tui-skills-autocomplete.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +4 -4
- package/dist/src/tui/tui.js +7 -7
- package/dist/src/tunnel/frpc-binary.js +1 -1
- package/dist/src/tunnel/gateway-lifecycle.js +1 -1
- package/dist/src/voice/realtime/memory-context.js +3 -3
- package/dist/src/voice/realtime/persona-context.d.ts +2 -2
- package/dist/src/voice/realtime/persona-context.js +19 -33
- package/dist/src/voice/realtime/runtime.js +3 -3
- package/dist/src/voice/stt/index.js +2 -2
- package/dist/src/voice/stt/preflight.js +1 -1
- package/dist/src/voice/stt/providers/alibaba-transcription.js +1 -1
- package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +1 -1
- package/dist/src/voice/stt/transcribe-core.js +1 -1
- package/dist/src/voice/tts/index.js +3 -3
- package/dist/src/voice/tts/merge-config.js +1 -1
- package/dist/src/voice/tts/payload.js +1 -1
- package/dist/src/voice/tts/providers/xopc-cloud-speech.js +1 -1
- package/dist/src/voice/tts/speak-core.js +1 -1
- package/dist/src/work-discovery/incremental-repository.js +1 -1
- package/dist/src/work-discovery/index.js +1 -1
- package/dist/src/work-discovery/service.js +5 -5
- package/dist/src/workflows/engine/workflow-engine.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.js +8 -8
- package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
- package/package.json +3 -3
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CgNagNMG.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-CDhtsMpV.js +0 -1
- package/dist/gateway/static/root/assets/agents-BLP0zRru.js +0 -70
- package/dist/gateway/static/root/assets/app-management-settings-panel-DqC-oj5_.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-Cfhepf6U.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-C6n5r8AP.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-DJ_-_kGh.js +0 -7
- package/dist/gateway/static/root/assets/browser-settings-page-COTo7btH.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-page-BsC346Ym.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CRL4gfk5.js +0 -8
- package/dist/gateway/static/root/assets/capability-header-actions-B_60-buR.js +0 -1
- package/dist/gateway/static/root/assets/channels-DNxr72oD.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-Bk84TKyF.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-B2pC--2X.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Bu15_14O.js +0 -2
- package/dist/gateway/static/root/assets/date-picker-CCN30yiy.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-Dg3RM_vY.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-DUy1HymM.js +0 -1
- package/dist/gateway/static/root/assets/directory-picker-path-field-BTuFpGIK.js +0 -1
- package/dist/gateway/static/root/assets/dist-CKkafhaS.js +0 -1
- package/dist/gateway/static/root/assets/dist-io9jFpN72.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-xM8vfbRZ.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-Cl8zlion.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-DODk0nOi.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-B01fiKrV.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BL3C7Q9w.js +0 -1
- package/dist/gateway/static/root/assets/home-page-CjJVq_Ff.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-By9oc8sD.js +0 -1
- package/dist/gateway/static/root/assets/index-B-w6Rk9Z.css +0 -1
- package/dist/gateway/static/root/assets/index-S4z-eKe-.js +0 -106
- package/dist/gateway/static/root/assets/local-app-workbench-page-Bnz5YOks.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-DVqwybaT.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-CUoDWFg7.js +0 -1
- package/dist/gateway/static/root/assets/markdown-view-BhFHoVtG.js +0 -201
- package/dist/gateway/static/root/assets/messages-vL3EpIrL.js +0 -3
- package/dist/gateway/static/root/assets/note-detail-panel-CxbZWvj1.js +0 -5
- package/dist/gateway/static/root/assets/notes-page-DkEOEza6.js +0 -8
- package/dist/gateway/static/root/assets/page-context-capture-button-CjCYNkVb.js +0 -1
- package/dist/gateway/static/root/assets/page-tabs-Dnzie6QW.js +0 -1
- package/dist/gateway/static/root/assets/popover-select-0p9PIHRy.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-D1H4_Nfl.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-BWC89e7l.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-BYmHC91B.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-DuVzpZ9R.js +0 -1
- package/dist/gateway/static/root/assets/scenes-page-BBl_4U1U.js +0 -2
- package/dist/gateway/static/root/assets/schema-form-Rj-wi9sm.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BnipzwJ6.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-C7oNKVxC.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-6gOr-ype.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-D1tVcmlR.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-CR0VBBw3.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-CK0Bg_-o.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-B3Ghvh3c.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-CoIsCPbI.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-DMIwfISw.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-CDkm7yig.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-Cfv-jDmY.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-eYs6qgcW.js +0 -1
- package/dist/gateway/static/root/assets/tasks-BH8_WMUF.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-CpOQaCFN.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-Cye-2eKA.js +0 -1
- package/dist/gateway/static/root/assets/use-autosave-o6YLrkpO.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-Bg-jeU7W.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-FMNwQIho.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-KnoMMEDN.js +0 -6
- package/dist/src/agent/bootstrap/filter-bootstrap-files.d.ts +0 -3
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js +0 -18
- package/dist/src/agent/context/workspace-templates/HEARTBEAT.md +0 -26
- package/dist/src/agent/context/workspace-templates/IDENTITY.md +0 -30
- package/dist/src/agent/service/parse-outbound-session-key.d.ts +0 -8
- package/dist/src/agent/service/parse-outbound-session-key.js +0 -44
- package/dist/src/heartbeat/active-hours.d.ts +0 -11
- package/dist/src/heartbeat/active-hours.js +0 -40
- package/dist/src/heartbeat/content-check.d.ts +0 -4
- package/dist/src/heartbeat/content-check.js +0 -17
- package/dist/src/heartbeat/event-prompt.d.ts +0 -4
- package/dist/src/heartbeat/event-prompt.js +0 -11
- package/dist/src/heartbeat/index.d.ts +0 -5
- package/dist/src/heartbeat/index.js +0 -6
- package/dist/src/heartbeat/tokens.d.ts +0 -15
- package/dist/src/heartbeat/tokens.js +0 -25
- package/dist/src/heartbeat/wake.d.ts +0 -13
- package/dist/src/heartbeat/wake.js +0 -46
- /package/dist/gateway/static/root/assets/{dist-CI_fqRk-2.js → dist-CI_fqRk-.js} +0 -0
|
@@ -7,27 +7,16 @@ import { getSessionMetadata } from "../../storage/sqlite/session-read-repository
|
|
|
7
7
|
import { getSessionTaskPlan, setSessionTaskPlan } from "../../storage/sqlite/session-task-plan-repository.js";
|
|
8
8
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
9
9
|
import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
10
|
-
import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
|
|
11
|
-
import "../../../packages/browser-control-contract/src/index.js";
|
|
12
|
-
import { createBrowserDriver } from "../../browser/drivers/create-driver.js";
|
|
13
|
-
import { checkBrowserReadiness } from "../../browser/readiness.js";
|
|
14
|
-
import "../../browser/index.js";
|
|
15
|
-
import { mergeTtsConfigFromAppConfig } from "../../voice/tts/merge-config.js";
|
|
16
10
|
import { resolveEffectiveAgentConfigForAgent, resolveEffectiveAgentConfigForSession } from "../../config/agent-profile.js";
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import { buildRuntimeEnvironment } from "../../runtime-tools/environment.js";
|
|
20
|
-
import { skillEnvironmentId } from "../skills/installer.js";
|
|
11
|
+
import "../../../packages/browser-control-contract/src/index.js";
|
|
12
|
+
import { getEmbeddedExecutionRunId, getEmbeddedExecutionSession } from "../embedded/execution-context.js";
|
|
21
13
|
import { wrapToolsWithProtection } from "./executor.js";
|
|
22
14
|
import { EXTERNAL_TOOL_NAMES } from "../external-tools/gateway-tools.js";
|
|
15
|
+
import { buildRuntimeEnvironment } from "../../runtime-tools/environment.js";
|
|
23
16
|
import { createDefaultExternalToolGatewayTools } from "../external-tools/index.js";
|
|
24
|
-
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
25
|
-
import { getPendingTranscriptUserText } from "../inbound/attachment-pipeline.js";
|
|
26
|
-
import { createDataBatchTool } from "./dataBatch.js";
|
|
27
|
-
import { getEmbeddedExecutionRunId, getEmbeddedExecutionSession } from "../embedded/execution-context.js";
|
|
28
|
-
import { createDelegateTool } from "./delegate-tool.js";
|
|
29
|
-
import { createDelegationParentPolicy } from "./delegation-parent-policy.js";
|
|
30
17
|
import { createReadFileTool } from "./read.js";
|
|
18
|
+
import { createDataBatchTool } from "./dataBatch.js";
|
|
19
|
+
import { skillEnvironmentId } from "../skills/installer.js";
|
|
31
20
|
import { createWriteFileTool } from "./write.js";
|
|
32
21
|
import { createListDirTool } from "./list-dir.js";
|
|
33
22
|
import { createPublishArtifactsTool } from "./publish-artifacts.js";
|
|
@@ -50,7 +39,14 @@ import { createUpdatePlanTool } from "./update-plan-tool.js";
|
|
|
50
39
|
import { createSessionStatusTool } from "./session-status-tool.js";
|
|
51
40
|
import { createMemoryMaintenanceTool } from "./memory-maintenance-tool.js";
|
|
52
41
|
import { createClarifyTool } from "./clarify-tool.js";
|
|
42
|
+
import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
|
|
43
|
+
import { createBrowserDriver } from "../../browser/drivers/create-driver.js";
|
|
44
|
+
import { checkBrowserReadiness } from "../../browser/readiness.js";
|
|
45
|
+
import "../../browser/index.js";
|
|
46
|
+
import { getPendingTranscriptUserText } from "../inbound/attachment-pipeline.js";
|
|
47
|
+
import { createDelegateTool } from "./delegate-tool.js";
|
|
53
48
|
import { createWorkflowTool } from "./workflow-tool.js";
|
|
49
|
+
import { createWorkflowCatalog } from "../workflow/catalog.js";
|
|
54
50
|
import { createWorkflowManageTool } from "./workflow-manage-tool.js";
|
|
55
51
|
import { createAutomationTool } from "./automation-tool.js";
|
|
56
52
|
import { createBrowserAutomationTool } from "./browser-automation-tool.js";
|
|
@@ -65,10 +61,16 @@ import { createManagedJobTool } from "./managed-job-tool.js";
|
|
|
65
61
|
import { createImageTool } from "./image-tool.js";
|
|
66
62
|
import { createImageGenerateTool } from "./image-generate-tool.js";
|
|
67
63
|
import "./index.js";
|
|
64
|
+
import { createPersonalTaskTool } from "./personal-task-tool.js";
|
|
65
|
+
import { createPersonalPreferenceTool } from "./personal-preference-tool.js";
|
|
66
|
+
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
68
67
|
import { createBrowserUseTool } from "./browser/tool/browser-use-tool.js";
|
|
68
|
+
import { ComputerRuntime } from "../../computer/runtime.js";
|
|
69
69
|
import { createComputerUseTool } from "./computer-use-tool.js";
|
|
70
70
|
import { createReviewWorkspaceTool } from "./review-workspace.js";
|
|
71
71
|
import { createLanguageDiagnosticsTool } from "./language-diagnostics.js";
|
|
72
|
+
import { createDelegationParentPolicy } from "./delegation-parent-policy.js";
|
|
73
|
+
import { mergeTtsConfigFromAppConfig } from "../../voice/tts/merge-config.js";
|
|
72
74
|
import { createTextToSpeechTool } from "./tts-tool.js";
|
|
73
75
|
import { getAgentCapabilityToolNames } from "../capabilities/registry.js";
|
|
74
76
|
import "../capabilities/index.js";
|
|
@@ -210,6 +212,7 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
210
212
|
const getSkillMgr = options?.getSkillManager;
|
|
211
213
|
const disabled = options?.disabledTools;
|
|
212
214
|
const allowed = options?.toolAllowlist ? new Set(options.toolAllowlist) : void 0;
|
|
215
|
+
const personalToolsConfigured = Boolean(allowed?.has("personal_task") || allowed?.has("personal_preference"));
|
|
213
216
|
const primary = getPrimary?.();
|
|
214
217
|
const modelHasVision = primary?.input?.includes("image") ?? false;
|
|
215
218
|
const cfg = this.deps.getConfig?.();
|
|
@@ -261,6 +264,22 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
261
264
|
const listDir = createListDirTool(workspace);
|
|
262
265
|
const grep = createGrepTool(workspace);
|
|
263
266
|
const find = createFindTool(workspace);
|
|
267
|
+
const productToolDeps = {
|
|
268
|
+
getWorkspace: () => this.deps.workspace,
|
|
269
|
+
getConfig: () => this.deps.getConfig?.(),
|
|
270
|
+
getCurrentAgentId: () => options?.agentId,
|
|
271
|
+
getCurrentConversationId: () => this.deps.getCurrentContext()?.conversationId,
|
|
272
|
+
getAutomationService: this.deps.getAutomationService,
|
|
273
|
+
getSceneAccess: this.deps.getSceneAccess,
|
|
274
|
+
getNotesService: this.deps.getNotesService,
|
|
275
|
+
getProjectService: this.deps.getProjectService,
|
|
276
|
+
getWorkDiscovery: this.deps.getWorkDiscovery,
|
|
277
|
+
getLocalAppService: this.deps.getLocalAppService,
|
|
278
|
+
getChatPreviewService: this.deps.getChatPreviewService,
|
|
279
|
+
dispatchTaskEvents: this.deps.dispatchTaskEvents,
|
|
280
|
+
dispatchTaskRuns: this.deps.dispatchTaskRuns,
|
|
281
|
+
onAgentCatalogMutate: this.deps.onAgentCatalogMutate
|
|
282
|
+
};
|
|
264
283
|
const core = [
|
|
265
284
|
createSessionStatusTool(),
|
|
266
285
|
createMemoryMaintenanceTool({ getConfig: () => this.deps.getConfig?.() }),
|
|
@@ -432,22 +451,10 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
432
451
|
getProjectService: this.deps.getProjectService
|
|
433
452
|
})] : [],
|
|
434
453
|
...browserEnabled && this.deps.getBrowserAutomationService ? [createBrowserAutomationTool({ getBrowserAutomationService: this.deps.getBrowserAutomationService })] : [],
|
|
435
|
-
...this.deps.getAutomationService || this.deps.getSceneAccess || this.deps.getProjectService || this.deps.getNotesService || this.deps.getLocalAppService || this.deps.getChatPreviewService || this.deps.dispatchTaskEvents || this.deps.dispatchTaskRuns ? [createXopcUseTool({
|
|
436
|
-
getWorkspace: () => this.deps.workspace,
|
|
437
|
-
getConfig: () => this.deps.getConfig?.(),
|
|
438
|
-
getCurrentAgentId: () => options.agentId,
|
|
454
|
+
...this.deps.getAutomationService || this.deps.getSceneAccess || this.deps.getProjectService || this.deps.getNotesService || this.deps.getLocalAppService || this.deps.getChatPreviewService || this.deps.dispatchTaskEvents || this.deps.dispatchTaskRuns ? [createXopcUseTool(productToolDeps), ...personalToolsConfigured ? [createPersonalTaskTool(productToolDeps), createPersonalPreferenceTool({
|
|
439
455
|
getCurrentConversationId: () => this.deps.getCurrentContext()?.conversationId,
|
|
440
|
-
getAutomationService: this.deps.getAutomationService,
|
|
441
|
-
getSceneAccess: this.deps.getSceneAccess,
|
|
442
|
-
getNotesService: this.deps.getNotesService,
|
|
443
|
-
getProjectService: this.deps.getProjectService,
|
|
444
|
-
getWorkDiscovery: this.deps.getWorkDiscovery,
|
|
445
|
-
getLocalAppService: this.deps.getLocalAppService,
|
|
446
|
-
getChatPreviewService: this.deps.getChatPreviewService,
|
|
447
|
-
dispatchTaskEvents: this.deps.dispatchTaskEvents,
|
|
448
|
-
dispatchTaskRuns: this.deps.dispatchTaskRuns,
|
|
449
456
|
onAgentCatalogMutate: this.deps.onAgentCatalogMutate
|
|
450
|
-
})] : [],
|
|
457
|
+
})] : []] : [],
|
|
451
458
|
...cfg?.computer.enabled && this.deps.endpointTools ? [createComputerUseTool({
|
|
452
459
|
runtime: this.ensureComputerRuntime(),
|
|
453
460
|
context: () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { checkUrlSafety, checkWebsiteBlocklist } from "./url-safety.js";
|
|
2
|
-
import { lookup } from "node:dns";
|
|
3
2
|
import { Agent, fetch } from "undici";
|
|
3
|
+
import { lookup } from "node:dns";
|
|
4
4
|
//#region src/agent/tools/fetch-text.ts
|
|
5
5
|
/** Validate each redirect and the address actually used for the connection. */
|
|
6
6
|
async function fetchPublicText(input, blocklist, signal) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { getAgentDefaultImageGenerationModelConfig, init_schema } from "../../config/schema.js";
|
|
2
|
+
import { readWorkspaceFile, writeWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
2
3
|
import { imageAssetFromDataUrl, imageFileExtensionForMimeType, mimeTypeFromFileName, parseImageDataUrl, sniffImageMimeType } from "../image/generation/image-assets.js";
|
|
3
|
-
import {
|
|
4
|
+
import { persistToolMedia } from "./tool-media.js";
|
|
4
5
|
import { buildCapabilityPlansForConfig } from "../../capabilities/readiness/from-config.js";
|
|
5
6
|
import "../../capabilities/readiness/index.js";
|
|
6
7
|
import { applyImageGenerationModelConfigDefaults } from "../image/image-helpers.js";
|
|
7
|
-
import { readWorkspaceFile, writeWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
8
|
-
import { persistToolMedia } from "./tool-media.js";
|
|
9
8
|
import { isFailoverError } from "../failover-error.js";
|
|
9
|
+
import { getImageGenerationProvider } from "../image/generation/provider-registry.js";
|
|
10
10
|
import { generateImage, listImageGenerationProvidersSummary } from "../image/generation/runtime.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import { randomBytes } from "node:crypto";
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { assertBrowserUrlAllowed } from "../../browser/url-policy.js";
|
|
2
|
-
import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
|
|
3
|
-
import "../../browser/index.js";
|
|
4
1
|
import { DEFAULT_TOOL_METADATA, getToolMetadata } from "./metadata.js";
|
|
5
2
|
import { ToolConcurrencyController, resolveToolLockMode } from "./concurrency.js";
|
|
6
|
-
import { resolveImageModelConfigForTool } from "../image/tool-model-config.js";
|
|
7
|
-
import { createDataBatchTool } from "./dataBatch.js";
|
|
8
|
-
import { DEFAULT_DELEGATE_TOOLS, DELEGATE_BLOCKED_TOOLS, createDelegateTool } from "./delegate-tool.js";
|
|
9
3
|
import { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, GREP_MAX_LINE_LENGTH, formatSize, truncateHead, truncateLine, truncateTail } from "./truncate.js";
|
|
10
4
|
import { createReadFileTool } from "./read.js";
|
|
5
|
+
import { createDataBatchTool } from "./dataBatch.js";
|
|
11
6
|
import { createWriteFileTool, writeFileTool } from "./write.js";
|
|
12
7
|
import { createListDirTool, listDirTool } from "./list-dir.js";
|
|
13
8
|
import { createPublishArtifactsTool } from "./publish-artifacts.js";
|
|
@@ -31,6 +26,11 @@ import { createUpdatePlanTool } from "./update-plan-tool.js";
|
|
|
31
26
|
import { createSessionStatusTool } from "./session-status-tool.js";
|
|
32
27
|
import { createMemoryMaintenanceTool } from "./memory-maintenance-tool.js";
|
|
33
28
|
import { createClarifyTool } from "./clarify-tool.js";
|
|
29
|
+
import { assertBrowserUrlAllowed } from "../../browser/url-policy.js";
|
|
30
|
+
import { BrowserRuntime } from "../../browser/runtime/browser-runtime.js";
|
|
31
|
+
import "../../browser/index.js";
|
|
32
|
+
import { resolveImageModelConfigForTool } from "../image/tool-model-config.js";
|
|
33
|
+
import { DEFAULT_DELEGATE_TOOLS, DELEGATE_BLOCKED_TOOLS, createDelegateTool } from "./delegate-tool.js";
|
|
34
34
|
import { createWorkflowTool } from "./workflow-tool.js";
|
|
35
35
|
import { createWorkflowManageTool } from "./workflow-manage-tool.js";
|
|
36
36
|
import { createAutomationTool } from "./automation-tool.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
2
1
|
import { checkedFilePath } from "../sandbox/fileAccess.js";
|
|
2
|
+
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
3
3
|
import { readdir } from "fs/promises";
|
|
4
4
|
import { Type } from "@sinclair/typebox";
|
|
5
5
|
//#region src/agent/tools/list-dir.ts
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AgentTool } from '@earendil-works/pi-agent-core';
|
|
2
|
+
declare const PreferenceSchema: import("@sinclair/typebox").TObject<{
|
|
3
|
+
field: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"addressAs">, import("@sinclair/typebox").TLiteral<"warmth">, import("@sinclair/typebox").TLiteral<"humor">, import("@sinclair/typebox").TLiteral<"supportMode">, import("@sinclair/typebox").TLiteral<"detailLevel">, import("@sinclair/typebox").TLiteral<"proactivity">]>;
|
|
4
|
+
value: import("@sinclair/typebox").TString;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function createPersonalPreferenceTool(deps: {
|
|
7
|
+
getCurrentConversationId: () => string | undefined;
|
|
8
|
+
onAgentCatalogMutate?: () => void;
|
|
9
|
+
}): AgentTool<typeof PreferenceSchema, Record<string, never>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getPersonalAgentByConversation } from "../../personal-agent/repository.js";
|
|
2
|
+
import { PersonalPreferencesSchema, updatePersonalProfileRecord } from "../../personal-agent/service.js";
|
|
3
|
+
import { Type } from "@sinclair/typebox";
|
|
4
|
+
//#region src/agent/tools/personal-preference-tool.ts
|
|
5
|
+
const PreferenceSchema = Type.Object({
|
|
6
|
+
field: Type.Union([
|
|
7
|
+
Type.Literal("addressAs"),
|
|
8
|
+
Type.Literal("warmth"),
|
|
9
|
+
Type.Literal("humor"),
|
|
10
|
+
Type.Literal("supportMode"),
|
|
11
|
+
Type.Literal("detailLevel"),
|
|
12
|
+
Type.Literal("proactivity")
|
|
13
|
+
]),
|
|
14
|
+
value: Type.String({ description: "Use the exact enum for the field: warmth=reserved|balanced|gentle; humor=none|occasional|playful; supportMode=listen|untangle|solutions; detailLevel=brief|balanced|detailed; proactivity=decisions|important|open. addressAs is free text. Save only explicitly requested lasting preferences." })
|
|
15
|
+
});
|
|
16
|
+
function createPersonalPreferenceTool(deps) {
|
|
17
|
+
return {
|
|
18
|
+
name: "personal_preference",
|
|
19
|
+
label: "Personal Preference",
|
|
20
|
+
description: "Save how the user explicitly wants you to respond in future conversations. Do not save guesses, a temporary mood, or a one-time instruction.",
|
|
21
|
+
parameters: PreferenceSchema,
|
|
22
|
+
async execute(_toolCallId, input) {
|
|
23
|
+
const conversationId = deps.getCurrentConversationId();
|
|
24
|
+
const personal = conversationId ? getPersonalAgentByConversation(conversationId) : null;
|
|
25
|
+
if (!personal || personal.state !== "ready") throw new Error("Personal AI conversation is unavailable");
|
|
26
|
+
const next = PersonalPreferencesSchema.parse({
|
|
27
|
+
...personal.preferences,
|
|
28
|
+
[input.field]: input.value.trim()
|
|
29
|
+
});
|
|
30
|
+
if (!await updatePersonalProfileRecord(personal.ownerId, personal.revision, personal.displayName, next, personal.appearance)) throw new Error("Preference changed concurrently; read the current profile and try again");
|
|
31
|
+
deps.onAgentCatalogMutate?.();
|
|
32
|
+
return {
|
|
33
|
+
content: [{
|
|
34
|
+
type: "text",
|
|
35
|
+
text: `Saved ${input.field} as an explicit preference. It takes effect on the next reply.`
|
|
36
|
+
}],
|
|
37
|
+
details: {}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { createPersonalPreferenceTool };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AgentTool } from '@earendil-works/pi-agent-core';
|
|
2
|
+
import { type XopcUseToolDeps } from './xopc-use-tool.js';
|
|
3
|
+
declare const PersonalTaskSchema: import("@sinclair/typebox").TObject<{
|
|
4
|
+
command: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"agents">, import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"list">, import("@sinclair/typebox").TLiteral<"get">, import("@sinclair/typebox").TLiteral<"instruct">]>;
|
|
5
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
objective: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
agentId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
+
taskId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
10
|
+
instruction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
+
expectedOutputs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
12
|
+
acceptanceCriteria: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
13
|
+
constraints: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
14
|
+
requiredTools: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
15
|
+
idempotencyKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function buildPersonalTaskBrief(input: {
|
|
18
|
+
title?: string;
|
|
19
|
+
objective: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
}): {
|
|
22
|
+
title: string;
|
|
23
|
+
objective: string;
|
|
24
|
+
body?: string;
|
|
25
|
+
};
|
|
26
|
+
/** A narrow Task surface for the fast personal conversation. */
|
|
27
|
+
export declare function createPersonalTaskTool(deps: XopcUseToolDeps): AgentTool<typeof PersonalTaskSchema, Record<string, never>>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { resolveEffectiveAgentConfig } from "../../agent-config/resolver.js";
|
|
2
|
+
import { init_agent_config } from "../../agent-config/index.js";
|
|
3
|
+
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
4
|
+
import { resolveEffectiveAgentConfigForAgent } from "../../config/agent-profile.js";
|
|
5
|
+
import { TaskOriginRepository } from "../../tasks/task-origin-repository.js";
|
|
6
|
+
import { createXopcUseTool } from "./xopc-use-tool.js";
|
|
7
|
+
import { isPersonalConversation } from "../../personal-agent/repository.js";
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
9
|
+
import { Type } from "@sinclair/typebox";
|
|
10
|
+
//#region src/agent/tools/personal-task-tool.ts
|
|
11
|
+
init_repository();
|
|
12
|
+
init_agent_config();
|
|
13
|
+
const PersonalTaskSchema = Type.Object({
|
|
14
|
+
command: Type.Union([
|
|
15
|
+
Type.Literal("agents"),
|
|
16
|
+
Type.Literal("create"),
|
|
17
|
+
Type.Literal("list"),
|
|
18
|
+
Type.Literal("get"),
|
|
19
|
+
Type.Literal("instruct")
|
|
20
|
+
]),
|
|
21
|
+
title: Type.Optional(Type.String({ description: "Short task title, ideally under 60 characters. Do not put the full instructions here." })),
|
|
22
|
+
objective: Type.Optional(Type.String({ description: "One-sentence outcome for a new delegated Task." })),
|
|
23
|
+
description: Type.Optional(Type.String({ description: "Full task brief in Markdown: background, specific requests, source material, and delivery expectations." })),
|
|
24
|
+
agentId: Type.Optional(Type.String({ description: "Specialist Agent ID. Never use your own ID." })),
|
|
25
|
+
taskId: Type.Optional(Type.String()),
|
|
26
|
+
instruction: Type.Optional(Type.String({ description: "The user’s new direction for this delegated Task." })),
|
|
27
|
+
expectedOutputs: Type.Optional(Type.Array(Type.String())),
|
|
28
|
+
acceptanceCriteria: Type.Optional(Type.Array(Type.String())),
|
|
29
|
+
constraints: Type.Optional(Type.Array(Type.String())),
|
|
30
|
+
requiredTools: Type.Optional(Type.Array(Type.String({ description: "Tool names needed for this Task. Use names returned by agents; omit when matching by role or expertise." }))),
|
|
31
|
+
idempotencyKey: Type.Optional(Type.String())
|
|
32
|
+
});
|
|
33
|
+
const MAX_PERSONAL_TASK_TITLE = 60;
|
|
34
|
+
const DISCOVERY_TOOLS = [
|
|
35
|
+
"web_search",
|
|
36
|
+
"web_fetch",
|
|
37
|
+
"browser_use",
|
|
38
|
+
"read_file",
|
|
39
|
+
"write_file",
|
|
40
|
+
"exec_command",
|
|
41
|
+
"image",
|
|
42
|
+
"image_generate",
|
|
43
|
+
"read_media",
|
|
44
|
+
"automation",
|
|
45
|
+
"workflow",
|
|
46
|
+
"xopc_use",
|
|
47
|
+
"xopc_tool_search",
|
|
48
|
+
"computer_use",
|
|
49
|
+
"send_message",
|
|
50
|
+
"text_to_speech"
|
|
51
|
+
];
|
|
52
|
+
function availableAgentTools(config, deps) {
|
|
53
|
+
return (config.toolAllowlist ? [...new Set([...DISCOVERY_TOOLS, ...config.toolAllowlist])] : DISCOVERY_TOOLS).filter((name) => (name !== "browser_use" || deps.getConfig?.()?.browser?.enabled !== false) && (!config.toolAllowlist || config.toolAllowlist.includes(name)) && config.tools[name]?.mode !== "deny");
|
|
54
|
+
}
|
|
55
|
+
function buildPersonalTaskBrief(input) {
|
|
56
|
+
const fullObjective = input.objective.trim();
|
|
57
|
+
const titleSource = (input.title?.trim() || fullObjective).replace(/\s+/g, " ");
|
|
58
|
+
const firstClause = titleSource.split(/[。!?\n]|(?<=[.!?])\s/)[0]?.trim() || titleSource;
|
|
59
|
+
const title = firstClause.length > MAX_PERSONAL_TASK_TITLE ? `${firstClause.slice(0, MAX_PERSONAL_TASK_TITLE - 1).trimEnd()}…` : firstClause;
|
|
60
|
+
const objective = fullObjective.length > 120 ? title : fullObjective;
|
|
61
|
+
const description = input.description?.trim();
|
|
62
|
+
const body = fullObjective !== objective ? [fullObjective, description].filter(Boolean).join("\n\n") : description;
|
|
63
|
+
return {
|
|
64
|
+
title,
|
|
65
|
+
objective,
|
|
66
|
+
...body ? { body } : {}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** A narrow Task surface for the fast personal conversation. */
|
|
70
|
+
function createPersonalTaskTool(deps) {
|
|
71
|
+
const productTool = createXopcUseTool(deps);
|
|
72
|
+
return {
|
|
73
|
+
name: "personal_task",
|
|
74
|
+
label: "Personal Task",
|
|
75
|
+
description: "Find specialist Agents by role and availableTools, delegate work they can do, inspect Tasks, or send instructions. Before saying you cannot do a request, use agents to look for another Agent. If a candidate fails, try another suitable Agent or approach before reporting a blocker. agents can filter by requiredTools; if none match, inspect unfiltered Agents for another viable approach. Return to the user quickly after creation.",
|
|
76
|
+
parameters: PersonalTaskSchema,
|
|
77
|
+
mutatesWorkspace: true,
|
|
78
|
+
mutationScope: "external",
|
|
79
|
+
requiresExclusiveWorkspaceLock: true,
|
|
80
|
+
finalGuardRelevant: true,
|
|
81
|
+
async execute(toolCallId, input, signal) {
|
|
82
|
+
const conversationId = deps.getCurrentConversationId?.();
|
|
83
|
+
const ownAgentId = deps.getCurrentAgentId?.();
|
|
84
|
+
if (!conversationId || !ownAgentId || !isPersonalConversation(conversationId)) throw new Error("Personal conversation context is unavailable");
|
|
85
|
+
if (input.command === "agents") {
|
|
86
|
+
const requiredTools = input.requiredTools ?? [];
|
|
87
|
+
const catalog = new AgentCatalogRepository().snapshot();
|
|
88
|
+
const agents = catalog.agents.filter((agent) => agent.enabled !== false && agent.id !== ownAgentId && !agent.id.startsWith("personal-")).map((agent) => {
|
|
89
|
+
const config = resolveEffectiveAgentConfig({
|
|
90
|
+
defaults: catalog.defaults,
|
|
91
|
+
agent
|
|
92
|
+
}).config;
|
|
93
|
+
const availableTools = availableAgentTools(config, deps);
|
|
94
|
+
return {
|
|
95
|
+
id: agent.id,
|
|
96
|
+
name: agent.profile?.name ?? agent.id,
|
|
97
|
+
description: agent.profile?.description ?? "",
|
|
98
|
+
availableTools
|
|
99
|
+
};
|
|
100
|
+
}).filter((agent) => requiredTools.every((tool) => agent.availableTools.includes(tool)));
|
|
101
|
+
return {
|
|
102
|
+
content: [{
|
|
103
|
+
type: "text",
|
|
104
|
+
text: JSON.stringify(agents)
|
|
105
|
+
}],
|
|
106
|
+
details: {}
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
let command = input.command;
|
|
110
|
+
let args = {};
|
|
111
|
+
if (command === "create") {
|
|
112
|
+
const objective = input.objective?.trim();
|
|
113
|
+
const agentId = input.agentId?.trim();
|
|
114
|
+
if (!objective || !agentId) throw new Error("objective and specialist agentId are required");
|
|
115
|
+
if (agentId === ownAgentId || agentId.startsWith("personal-")) throw new Error("Delegate to a specialist Agent, not a personal Agent");
|
|
116
|
+
const specialist = new AgentCatalogRepository().get(agentId);
|
|
117
|
+
if (!specialist || specialist.enabled === false || specialist.provisioningState !== "ready") throw new Error(`Specialist Agent is unavailable: ${agentId}`);
|
|
118
|
+
const availableTools = availableAgentTools(resolveEffectiveAgentConfigForAgent(agentId).config, deps);
|
|
119
|
+
const missingTools = (input.requiredTools ?? []).filter((tool) => !availableTools.includes(tool));
|
|
120
|
+
if (missingTools.length > 0) throw new Error(`Agent ${agentId} lacks required tools: ${missingTools.join(", ")}. Find another Agent or approach.`);
|
|
121
|
+
args = {
|
|
122
|
+
...buildPersonalTaskBrief({
|
|
123
|
+
title: input.title,
|
|
124
|
+
objective,
|
|
125
|
+
description: input.description
|
|
126
|
+
}),
|
|
127
|
+
agentId,
|
|
128
|
+
createMode: "start",
|
|
129
|
+
includeConversationContext: false,
|
|
130
|
+
expectedOutputs: input.expectedOutputs ?? [],
|
|
131
|
+
acceptanceCriteria: input.acceptanceCriteria ?? [],
|
|
132
|
+
constraints: input.constraints ?? [],
|
|
133
|
+
idempotencyKey: input.idempotencyKey?.trim() || randomUUID()
|
|
134
|
+
};
|
|
135
|
+
} else if (command === "list") {
|
|
136
|
+
command = "delegated_tasks";
|
|
137
|
+
args = { limit: 20 };
|
|
138
|
+
} else {
|
|
139
|
+
const taskId = input.taskId?.trim();
|
|
140
|
+
if (!taskId) throw new Error("taskId is required");
|
|
141
|
+
if (!new TaskOriginRepository().owns(taskId, conversationId)) throw new Error("Task does not belong to this personal conversation");
|
|
142
|
+
if (command === "instruct") {
|
|
143
|
+
const body = input.instruction?.trim();
|
|
144
|
+
if (!body) throw new Error("instruction is required");
|
|
145
|
+
command = "collaboration_post";
|
|
146
|
+
args = {
|
|
147
|
+
taskId,
|
|
148
|
+
kind: "instruction",
|
|
149
|
+
body
|
|
150
|
+
};
|
|
151
|
+
} else args = { taskId };
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
content: (await productTool.execute(toolCallId, {
|
|
155
|
+
mode: "task",
|
|
156
|
+
command,
|
|
157
|
+
args
|
|
158
|
+
}, signal, void 0)).content,
|
|
159
|
+
details: {}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
export { buildPersonalTaskBrief, createPersonalTaskTool };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { turnOutcomeKindFromFileName, turnOutcomeMimeTypeFromFileName } from "../../../packages/gateway-contract/src/turn-outcome.js";
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
|
-
import { fileResourceId, fileSpaceId } from "../../files/file-service.js";
|
|
4
|
-
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
5
3
|
import { evaluateFilePolicy } from "../sandbox/exec-policy.js";
|
|
6
4
|
import { readWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
5
|
+
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
6
|
+
import { fileResourceId, fileSpaceId } from "../../files/file-service.js";
|
|
7
7
|
import { persistToolMedia } from "./tool-media.js";
|
|
8
8
|
import { basename, isAbsolute, relative, sep } from "node:path";
|
|
9
9
|
import { realpath } from "node:fs/promises";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isBareProfileMarkdownFileName, resolvePathUnderWorkspace, resolveProfileMarkdownPathIfBareName } from "./tool-paths.js";
|
|
2
1
|
import { checkedFilePath, readWorkspaceFileAsync } from "../sandbox/fileAccess.js";
|
|
3
|
-
import { checkFileSafety } from "../prompt/safety.js";
|
|
4
2
|
import { dataScheduler } from "../data-acquisition/scheduler.js";
|
|
3
|
+
import { checkFileSafety } from "../prompt/safety.js";
|
|
5
4
|
import { DEFAULT_MAX_BYTES, formatSize, truncateHead } from "./truncate.js";
|
|
5
|
+
import { isBareProfileMarkdownFileName, resolvePathUnderWorkspace, resolveProfileMarkdownPathIfBareName } from "./tool-paths.js";
|
|
6
6
|
import { stat } from "fs/promises";
|
|
7
7
|
import { Type } from "@sinclair/typebox";
|
|
8
8
|
//#region src/agent/tools/read.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { prepareSafeToolEnv } from "../sandbox/sanitize-env-vars.js";
|
|
2
1
|
import { readWorkspaceRevision } from "../coding/workspace-revision.js";
|
|
2
|
+
import { prepareSafeToolEnv } from "../sandbox/sanitize-env-vars.js";
|
|
3
3
|
import { evaluateFilePolicy } from "../sandbox/exec-policy.js";
|
|
4
4
|
import { checkedFilePath, readWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
5
5
|
import { resolve } from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { turnOutcomeKindFromFileName } from "../../../packages/gateway-contract/src/turn-outcome.js";
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
|
-
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
4
|
-
import { MEDIA_MAX_BYTES } from "../../media/store.js";
|
|
5
3
|
import { readWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
6
4
|
import { checkFileSafety } from "../prompt/safety.js";
|
|
5
|
+
import { resolvePathUnderWorkspace } from "./tool-paths.js";
|
|
6
|
+
import { MEDIA_MAX_BYTES } from "../../media/store.js";
|
|
7
7
|
import { persistToolMedia } from "./tool-media.js";
|
|
8
8
|
import { basename } from "node:path";
|
|
9
9
|
import { Type } from "@sinclair/typebox";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveStateDir } from "../../config/paths-state.js";
|
|
2
2
|
import { init_paths } from "../../config/paths.js";
|
|
3
|
-
import { createSkillConfigManager, isSkillEnabled, resolveSkillConfig } from "../skills/config.js";
|
|
4
3
|
import { DEFAULT_MAX_BYTES, formatSize, truncateHead } from "./truncate.js";
|
|
4
|
+
import { createSkillConfigManager, isSkillEnabled, resolveSkillConfig } from "../skills/config.js";
|
|
5
5
|
import { resolveSkillReadablePath } from "../skills/skill-view-path.js";
|
|
6
6
|
import { readFileSync, statSync } from "fs";
|
|
7
7
|
import { Type } from "@sinclair/typebox";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { speak } from "../../voice/tts/speak-core.js";
|
|
3
4
|
import { mergeTtsConfigFromAppConfig } from "../../voice/tts/merge-config.js";
|
|
4
5
|
import { getChannelOutputFormat } from "../../voice/tts/service.js";
|
|
5
|
-
import { speak } from "../../voice/tts/speak-core.js";
|
|
6
6
|
import { compressAudio } from "../../voice/tts/audio.js";
|
|
7
7
|
import { persistOutboundTtsAudio } from "../../channels/attachments/outbound-tts-persist.js";
|
|
8
8
|
import { Type } from "@sinclair/typebox";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { retrievalLexicalSimilarity } from "../../retrieval/textFeatures.js";
|
|
1
2
|
import { deleteUserAssertion, getAssertionSlot, getUserAssertion, listUserAssertionSources, listUserAssertions, reconcileAssertion, setAssertionStatus } from "../../user-model/repository.js";
|
|
2
3
|
import { canUseAssertion } from "../../user-model/usage-policy.js";
|
|
3
4
|
import "../../user-model/index.js";
|
|
4
|
-
import { retrievalLexicalSimilarity } from "../../retrieval/textFeatures.js";
|
|
5
5
|
import { Type } from "@sinclair/typebox";
|
|
6
6
|
//#region src/agent/tools/user-context-tool.ts
|
|
7
7
|
const SearchSchema = Type.Object({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { appendProductDeliveryText } from "../../../packages/gateway-contract/src/product-delivery.js";
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
|
-
import { fileResourceId, fileSpaceId } from "../../files/file-service.js";
|
|
4
|
-
import { isBareProfileMarkdownFileName, resolvePathUnderWorkspace, resolveProfileMarkdownPathIfBareName } from "./tool-paths.js";
|
|
5
3
|
import { writeWorkspaceFile } from "../sandbox/fileAccess.js";
|
|
6
4
|
import { checkFileSafety } from "../prompt/safety.js";
|
|
5
|
+
import { isBareProfileMarkdownFileName, resolvePathUnderWorkspace, resolveProfileMarkdownPathIfBareName } from "./tool-paths.js";
|
|
6
|
+
import { fileResourceId, fileSpaceId } from "../../files/file-service.js";
|
|
7
7
|
import { basename, relative, sep } from "path";
|
|
8
8
|
import { realpath } from "fs/promises";
|
|
9
9
|
import { Type } from "@sinclair/typebox";
|
|
@@ -10,22 +10,22 @@ 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 { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
14
|
-
import "../../capabilities/runtime/dispatcher.js";
|
|
15
13
|
import { getDefaultAgentId, init_resolve_route } from "../../routing/resolve-route.js";
|
|
16
|
-
import { TaskCollaborationRepository } from "../../tasks/task-collaboration-repository.js";
|
|
17
14
|
import { TaskConversationRepository } from "../../tasks/task-conversation-repository.js";
|
|
18
|
-
import {
|
|
15
|
+
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
16
|
+
import "../../capabilities/runtime/dispatcher.js";
|
|
19
17
|
import { resolveProjectAgentId } from "../../projects/project-agent.js";
|
|
20
18
|
import "../../projects/index.js";
|
|
21
|
-
import { TaskOriginRepository } from "../../tasks/task-origin-repository.js";
|
|
22
19
|
import { TaskDeletionService } from "../../tasks/task-deletion-service.js";
|
|
23
20
|
import { TaskDeleteOutputSchema } from "../../tasks/capabilities/management.js";
|
|
21
|
+
import { TaskCollaborationRepository } from "../../tasks/task-collaboration-repository.js";
|
|
22
|
+
import { TaskApplicationService } from "../../tasks/task-application-service.js";
|
|
24
23
|
import { AutomationCreateCapabilityInputSchema, AutomationUpdatePatchSchema } from "../../automations/capabilities/write.js";
|
|
25
24
|
import { TaskMutationOutputSchema } from "../../tasks/capabilities/write.js";
|
|
26
25
|
import { createProductDispatcher } from "../../capabilities/runtime/product.js";
|
|
27
26
|
import { localAppCapabilities } from "../../local-apps/capabilities/runtime.js";
|
|
28
27
|
import { defineTaskContract } from "../../tasks/task-contract-definition.js";
|
|
28
|
+
import { TaskOriginRepository } from "../../tasks/task-origin-repository.js";
|
|
29
29
|
import "../../tasks/index.js";
|
|
30
30
|
import { randomUUID } from "node:crypto";
|
|
31
31
|
import { Type } from "@sinclair/typebox";
|
|
@@ -1464,6 +1464,7 @@ async function handleTask(command, args, deps, dryRun, capabilities) {
|
|
|
1464
1464
|
const input = {
|
|
1465
1465
|
idempotencyKey: trimString(args.idempotencyKey) ?? randomUUID(),
|
|
1466
1466
|
title: trimString(args.title) ?? objective,
|
|
1467
|
+
...trimString(args.body) ? { body: trimString(args.body) } : {},
|
|
1467
1468
|
priority: priority ?? "normal",
|
|
1468
1469
|
...dueAt === void 0 ? {} : { dueAt },
|
|
1469
1470
|
...projectId ? { projectId } : {},
|
|
@@ -1476,7 +1477,7 @@ async function handleTask(command, args, deps, dryRun, capabilities) {
|
|
|
1476
1477
|
outputDestinations: []
|
|
1477
1478
|
},
|
|
1478
1479
|
dependencies: dependsOnTaskIds,
|
|
1479
|
-
context: conversationId ? [{
|
|
1480
|
+
context: args.includeConversationContext === false ? [] : conversationId ? [{
|
|
1480
1481
|
targetKind: "session",
|
|
1481
1482
|
targetId: conversationId,
|
|
1482
1483
|
role: "input",
|
|
@@ -1889,7 +1890,7 @@ function createXopcUseTool(deps) {
|
|
|
1889
1890
|
return {
|
|
1890
1891
|
name: "xopc_use",
|
|
1891
1892
|
label: "XOPC Use",
|
|
1892
|
-
description: "Operate first-class xopc objects through one safe entry point. To delegate work for immediate execution: mode task, command create, args {objective, createMode:\"start\", agentId:\"researcher\"}; omitting createMode creates a backlog task only. To start an existing Task: mode task, command command, args {taskId, type:\"start\", expectedVersion, commandArgs:{executor:{kind:\"agent\",agentId:\"main\"}}}. Inspect an existing Task and its run before creating another Task for the same objective. For delegated work, task delegated_tasks lists this conversation's tasks; task collaboration reads the shared board; task collaboration_post writes {taskId, kind, body, causationId?, idempotencyKey?}. Workers report progress or questions; the main Agent writes instructions and answers. Use chat_preview for lightweight UI mockups in the current conversation; do not create a Local App unless the user asks for a durable app. Local App capabilities takes extensionId and discovers already granted bindings. Local App invoke requires extensionId, the discovered manifestDigest, capabilityId and a pinned call {majorVersion, descriptorDigest, input, idempotencyKey for writes}. Never manufacture grants or change a retry key after an uncertain write. Use for Agents, scenes, projects, automations, notes, tasks, TaskRuns, chat previews, local apps, and exact settings jump targets instead of editing storage files directly. For non-trivial object changes, load the built-in manual first with tool_manual({ tool: \"xopc_use\" }).",
|
|
1893
|
+
description: "Operate first-class xopc objects through one safe entry point. To delegate work for immediate execution: mode task, command create, args {title:\"Short task name\", objective:\"One-sentence outcome\", body:\"Full Markdown task brief\", createMode:\"start\", agentId:\"researcher\"}; omitting createMode creates a backlog task only. To start an existing Task: mode task, command command, args {taskId, type:\"start\", expectedVersion, commandArgs:{executor:{kind:\"agent\",agentId:\"main\"}}}. Inspect an existing Task and its run before creating another Task for the same objective. For delegated work, task delegated_tasks lists this conversation's tasks; task collaboration reads the shared board; task collaboration_post writes {taskId, kind, body, causationId?, idempotencyKey?}. Workers report progress or questions; the main Agent writes instructions and answers. Use chat_preview for lightweight UI mockups in the current conversation; do not create a Local App unless the user asks for a durable app. Local App capabilities takes extensionId and discovers already granted bindings. Local App invoke requires extensionId, the discovered manifestDigest, capabilityId and a pinned call {majorVersion, descriptorDigest, input, idempotencyKey for writes}. Never manufacture grants or change a retry key after an uncertain write. Use for Agents, scenes, projects, automations, notes, tasks, TaskRuns, chat previews, local apps, and exact settings jump targets instead of editing storage files directly. For non-trivial object changes, load the built-in manual first with tool_manual({ tool: \"xopc_use\" }).",
|
|
1893
1894
|
parameters: XopcUseToolSchema,
|
|
1894
1895
|
mutatesWorkspace: true,
|
|
1895
1896
|
mutationScope: "external",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
3
|
import { createSqliteTranscriptRuntime } from "../embedded/transcript-runtime.js";
|
|
4
|
-
import { STRUCTURED_OUTPUT_TOOL_NAME, createStructuredOutputTool } from "./structured-output-tool.js";
|
|
5
4
|
import { createDelegateChildHandle } from "../child-agent-factory.js";
|
|
6
5
|
import { DELEGATION_TOOL_CAPABILITIES, protectDelegatedTool, resolveDelegationTools } from "../tools/delegation-policy.js";
|
|
7
6
|
import { DELEGATE_BLOCKED_TOOLS } from "../tools/delegate-tool.js";
|
|
8
7
|
import { createDelegationParentPolicy } from "../tools/delegation-parent-policy.js";
|
|
8
|
+
import { STRUCTURED_OUTPUT_TOOL_NAME, createStructuredOutputTool } from "./structured-output-tool.js";
|
|
9
9
|
//#region src/agent/workflow/subagent-runner.ts
|
|
10
10
|
init_logger();
|
|
11
11
|
const log = createLogger("Agent:WorkflowSubagent");
|
|
@@ -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 { CapabilityError } from "../capabilities/runtime/errors.js";
|
|
5
|
-
import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.js";
|
|
6
4
|
import { AgentCatalogRepository, init_repository } from "./repository.js";
|
|
7
5
|
import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
|
|
6
|
+
import { CapabilityError } from "../capabilities/runtime/errors.js";
|
|
7
|
+
import { defineAtomicCapability, defineReadCapability } from "../capabilities/runtime/dispatcher.js";
|
|
8
8
|
import { AgentCatalogService } from "./service.js";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
//#region src/agent-catalog/capabilities.ts
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentProfile } from '../../agent-config/index.js';
|
|
2
|
+
/** Parse only known identity fields. The original document is archived after migration. */
|
|
3
|
+
export declare function parseIdentityFieldsForCutover(content: string): Partial<AgentProfile>;
|
|
4
|
+
/** One-time upgrade. Runtime never reads the retired identity document. */
|
|
5
|
+
export declare function migrateIdentityMarkdownToCatalog(): void;
|