@xopcai/xopc 0.0.364 → 0.0.367
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/dist/sidepanel.js +16 -4
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-GvR2gZ0T.js → activity-store-Cuf3JFFJ.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-7Ct-ZlfL.js → agent-avatar-dicebear-DyATPNTe.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-gT9_j4tr.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-CLXCJ6JN.js +1 -0
- package/dist/gateway/static/root/assets/agents-BAUfOMsq.js +66 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-BkXb7VEZ.js → agents-admin-api-D842OcNo.js} +1 -1
- package/dist/gateway/static/root/assets/app-link-4gpFbdsr.js +1 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-CjfsIn9A.js → app-management-settings-panel-CoIFxQKH.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-qqHZ15GU.js → appearance-settings-DQr0o6Lm.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-Ba2VkQk6.js → apps-page-CltMV4Xp.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-CKe3qAaL.js → archive-plugin-DT8Nio-r.js} +1 -1
- package/dist/gateway/static/root/assets/automation-display-DCkjVzA0.js +2 -0
- package/dist/gateway/static/root/assets/{automations-page-Bt8Q58ut.js → automations-page-BIfWS_3Y.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BCGPjsdU.js +6 -0
- package/dist/gateway/static/root/assets/binary-plugins-7qs3qcW9.js +2 -0
- package/dist/gateway/static/root/assets/{block-editor-ClRFbHP7.js → block-editor-BFPUlxJ6.js} +28 -28
- package/dist/gateway/static/root/assets/{browser-automation-inputs-5B3qAdmb.js → browser-automation-inputs-BUAIKIX0.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-BjMub7JM.js → browser-automations-page-CSwu1U1F.js} +2 -2
- package/dist/gateway/static/root/assets/browser-settings-page-C1ReMNqX.js +3 -0
- package/dist/gateway/static/root/assets/capabilities-BzWFO_x_.js +1 -0
- package/dist/gateway/static/root/assets/{capabilities-BKu9BqPe.js → capabilities-K0Zb_lH0.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-page-BdTSqloI.js +2 -0
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-gZ8auLwa.js → capabilities-settings-panel-BUblBMZC.js} +4 -4
- package/dist/gateway/static/root/assets/{capability-header-actions-L1NvoOUG.js → capability-header-actions-AMn_vTNv.js} +1 -1
- package/dist/gateway/static/root/assets/channels-CXCf5qO6.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-DsCpKPBe.js → chat-terminal-dock-C7nAROhF.js} +2 -2
- package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +1 -0
- package/dist/gateway/static/root/assets/computer-settings-page-B5SuSZ3G.js +1 -0
- package/dist/gateway/static/root/assets/{connector-service-page-mtH9mEBf.js → connector-service-page-CTx1B8wx.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-DfnK1crf.js +2 -0
- package/dist/gateway/static/root/assets/date-formatters-CUZAyDEg.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-Cx_xIKvN.js +1 -0
- package/dist/gateway/static/root/assets/{dependency-picker-B_fPQBTM.js → dependency-picker-DYm96PDu.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-CJrO9Vd_.js → desktop-pet-D90OzgeR.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-DYAfri9w.js → desktop-pet-settings-CmdCecjm.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-CqRys2R8.js → device-pairing-wizard-s2ogSa4l.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-D7_qSxNZ.js → directory-picker-path-field-DZpaoeNa.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-BGyJpRv4.js → extension-debug-page-Bv6QE8kC.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-D1zBmd8F.js → extension-page-CEsq71Cm.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-F9JzOWZ3.js → extension-provider-CX-sK0Tw.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-CTR8AjCG.js → extension-settings-page-UyOHF39P.js} +1 -1
- package/dist/gateway/static/root/assets/{fallback-models-Chhv4Nfv.js → fallback-models-CKv_Wqg8.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-CoRoOG1l.js → gateway-config-swr-Cjnkle5J.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-D0ygm6bc.js → gateway-realtime-DCCLdyQD.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-C_Th8kGg.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-CZ73IpbP.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-FDS6S6qa.js → gateway-startup-retry-CXKmdVzN.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-BQWq4kYi.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-BPd76jW5.js → image-generation-api-NLHzm4Nc.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-9EnECtcl.js → imports-page-C7qvlBTQ.js} +1 -1
- package/dist/gateway/static/root/assets/index-BQgqzhQj.js +106 -0
- package/dist/gateway/static/root/assets/index-COB4QIJp.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-MC7mG2h2.js → keyboard-shortcuts-settings-pkgFWJb-.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-dMDhZXAi.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-c3HncHZ3.js → local-apps-page-TpUAfOn2.js} +1 -1
- package/dist/gateway/static/root/assets/local-session-drafts-Cvv7I0fw.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-DId6-v2R.js → locale-store-C8TMD2gn.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-B-Y9oZLh.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-B2lzsw6X.js +1 -0
- package/dist/gateway/static/root/assets/markdown-view-Dse7rkio.js +201 -0
- package/dist/gateway/static/root/assets/{media-plugins-XLewwq2q.js → media-plugins-BZrnzaBM.js} +1 -1
- package/dist/gateway/static/root/assets/messages-Dy26npMy.js +3 -0
- package/dist/gateway/static/root/assets/{models-hub-cache-B9SKjidc.js → models-hub-cache-B1C86nRp.js} +1 -1
- package/dist/gateway/static/root/assets/note-detail-panel-DL__qP6U.js +5 -0
- package/dist/gateway/static/root/assets/{notes-api-Byt65v3r.js → notes-api-DKiVeQKG.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-DTBbg9Hs.js +8 -0
- package/dist/gateway/static/root/assets/{oauth-api-BYsCbyGZ.js → oauth-api-BwpzpRwC.js} +1 -1
- package/dist/gateway/static/root/assets/open-route-MyZ2sB9C.js +1 -0
- package/dist/gateway/static/root/assets/{page-context-capture-button-RBp1QK0F.js → page-context-capture-button-Cxzd4QPB.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-CzaTnHeD.js +1 -0
- package/dist/gateway/static/root/assets/product-open-page-D4hoEWiu.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-content-aR38El2E.js +1 -0
- package/dist/gateway/static/root/assets/project-detail-page-D20QH4YB.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-Bf3BIcT6.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-7F2WNEZC.js → registry-api-AdnxowbH.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CKxqncqW.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-B0c120iI.js → runtime-tools-settings-panel-CBN3raz1.js} +1 -1
- package/dist/gateway/static/root/assets/scenes-page-Cv_5ozfX.js +2 -0
- package/dist/gateway/static/root/assets/{schema-form-DQpQc9tH.js → schema-form-CxrMGsT9.js} +1 -1
- package/dist/gateway/static/root/assets/secret-input-D93UrW4C.js +1 -0
- package/dist/gateway/static/root/assets/{send-session-input-D1oc6BC6.js → send-session-input-CgOzhDZ0.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-N3N37MrR.js → session-api-_HIN8or3.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-CzCto5zT.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-DZcu6NLJ.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-DazqeDQ7.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-GgBEp6O7.js → settings-page-D8Q3H3-o.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DvLMMiuS.js +1 -0
- package/dist/gateway/static/root/assets/{share-link-dialog-TBBGJPfT.js → share-link-dialog-Dg5os066.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-DyRLPsPv.js → share-preview-page-DMvohAyr.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-DU0fHP2G.js → shares-api-C96IO4qJ.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-DJ1ME-XM.js → shares-settings-CsDATuCw.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-api-1Puv6wOz.js → skill-api-C10ML0CH.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-ClyFqHk7.js → skill-reload-api-DNbJzSfB.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-DObMKvA6.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel--yV67a8L.js → system-settings-panel-Bn3khdzb.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-BR2L1L8l.js +2 -0
- package/dist/gateway/static/root/assets/task-expandable-content-DL2Q2gre.js +1 -0
- package/dist/gateway/static/root/assets/{tasks-CH6KoBeY.js → tasks-DwKXgZ-I.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-OhcbFEUR.js → theme-store-DQ6KJa4l.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-Ed8_GYUT.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-COLdiP_E.js → tunnel-api-D3X8jDwo.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-CtM5IfrL.js → usage-page-BqzRyyb9.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-veoM0dHn.js → use-autosave-CRFefpzO.js} +1 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-OLrvSjn5.js +2 -0
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-Bope6MW6.js → use-file-preview-expanded-CJvzfQvw.js} +2 -2
- package/dist/gateway/static/root/assets/user-model-page-CG6wqIKP.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-CwD6a3KQ.js → voice-api-key-field-R9zNWYR_.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-Daexehmc.js → voice-config-api-DLudE9Rc.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-C9u7tuEc.js → work-discovery-overlay-DVmQrolV.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BMOBbf33.js → workflow-run-setup-panel-DEkmuD3T.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-pqCB3sh4.js +6 -0
- package/dist/gateway/static/root/assets/workspace-api-CdVUhyPo.js +2 -0
- package/dist/gateway/static/root/index.html +33 -31
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/automations.js +1 -0
- package/dist/packages/gateway-contract/src/home.js +14 -0
- package/dist/packages/gateway-contract/src/index.js +2 -0
- package/dist/packages/gateway-contract/src/notifications.js +2 -1
- package/dist/packages/gateway-contract/src/personal-proactivity.js +139 -0
- package/dist/packages/gateway-contract/src/session-input-command.js +1 -0
- package/dist/packages/image-providers/src/catalog.js +373 -0
- package/dist/packages/image-providers/src/execute.js +372 -0
- package/dist/packages/image-providers/src/http.js +94 -0
- package/dist/packages/image-providers/src/index.js +5 -0
- package/dist/packages/image-providers/src/types.d.ts +95 -0
- package/dist/packages/image-providers/src/validation.js +52 -0
- package/dist/src/agent/agent-manager.d.ts +1 -0
- package/dist/src/agent/agent-manager.js +35 -3
- package/dist/src/agent/background-review/run-background-review.js +1 -1
- package/dist/src/agent/commands/command-registry.js +1 -1
- package/dist/src/agent/context/execution-context.js +1 -1
- package/dist/src/agent/context/project-context.js +4 -4
- package/dist/src/agent/embedded/run-for-session.js +1 -1
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/failover-error.d.ts +1 -1
- package/dist/src/agent/failover-error.js +7 -0
- package/dist/src/agent/image/generation/native-provider.d.ts +2 -0
- package/dist/src/agent/image/generation/native-provider.js +118 -0
- package/dist/src/agent/image/generation/openai-images-provider.d.ts +1 -1
- package/dist/src/agent/image/generation/openai-images-provider.js +48 -32
- package/dist/src/agent/image/generation/provider-registry.js +4 -13
- package/dist/src/agent/image/generation/providers/xopc-cloud.js +5 -34
- package/dist/src/agent/image/generation/runtime-types.d.ts +2 -4
- package/dist/src/agent/image/generation/runtime.js +28 -23
- package/dist/src/agent/image/generation/types.d.ts +3 -50
- package/dist/src/agent/image/generation/validation.d.ts +6 -0
- package/dist/src/agent/image/generation/validation.js +16 -0
- package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
- package/dist/src/agent/prompt/voice-presentation.d.ts +1 -1
- package/dist/src/agent/prompt/voice-presentation.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +17 -1
- package/dist/src/agent/service.js +3 -3
- 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/tools/delegation-parent-policy.js +2 -0
- package/dist/src/agent/tools/delegation-policy.js +2 -0
- package/dist/src/agent/tools/factory.d.ts +2 -0
- package/dist/src/agent/tools/factory.js +31 -4
- package/dist/src/agent/tools/image-generate-tool.js +5 -19
- package/dist/src/agent/tools/index.d.ts +2 -2
- package/dist/src/agent/tools/index.js +3 -3
- package/dist/src/agent/tools/knowledge-memory-tool.d.ts +2 -0
- package/dist/src/agent/tools/knowledge-memory-tool.js +60 -1
- package/dist/src/agent/tools/personal-attention-tool.d.ts +21 -0
- package/dist/src/agent/tools/personal-attention-tool.js +191 -0
- package/dist/src/agent/tools/personal-task-tool.d.ts +12 -8
- package/dist/src/agent/tools/personal-task-tool.js +35 -41
- package/dist/src/agent/tools/user-context-tool.d.ts +2 -0
- package/dist/src/agent/tools/user-context-tool.js +61 -2
- 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/migrations/legacy-config-cutover.js +1 -1
- package/dist/src/agent-catalog/repository.d.ts +1 -0
- package/dist/src/agent-catalog/repository.js +4 -1
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/automations/capabilities/write.d.ts +2 -0
- package/dist/src/automations/domain/types.d.ts +1 -1
- package/dist/src/automations/domain/validation.d.ts +4 -0
- package/dist/src/automations/domain/validation.js +1 -0
- package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -1
- package/dist/src/bootstrap/application-state.js +1 -1
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/chat-commands/personal-command-policy.d.ts +2 -0
- package/dist/src/chat-commands/personal-command-policy.js +9 -0
- package/dist/src/chat-commands/registry.js +6 -0
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
- package/dist/src/cli/commands/models.js +4 -9
- package/dist/src/cli/commands/onboard/model.js +2 -2
- package/dist/src/cli/utils/init-workspace-core.js +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/models-json.d.ts +170 -0
- package/dist/src/config/models-json.js +23 -8
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/files/file-service.d.ts +6 -0
- package/dist/src/files/file-service.js +38 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/custom-image-providers.d.ts +34 -0
- package/dist/src/gateway/file-path-classifier.js +12 -3
- 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/files.js +13 -2
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/observability.js +8 -0
- package/dist/src/gateway/hono/routes/personal-agent.js +41 -0
- package/dist/src/gateway/hono/routes/projects.js +3 -3
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -0
- package/dist/src/gateway/hono/routes/session-input-handler.js +9 -1
- package/dist/src/gateway/hono/routes/sessions.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +1 -1
- package/dist/src/gateway/hono/routes/voice.js +1 -1
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/service/agent-runner.d.ts +1 -0
- package/dist/src/gateway/service/agent-runner.js +12 -1
- package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -0
- package/dist/src/gateway/service/run-gateway-agent.js +15 -0
- package/dist/src/gateway/service/session-command-service.js +5 -3
- package/dist/src/gateway/service/session-input-coordinator.d.ts +12 -0
- package/dist/src/gateway/service/session-input-coordinator.js +63 -5
- package/dist/src/gateway/service/sessions-api.js +1 -1
- package/dist/src/gateway/service.d.ts +3 -0
- package/dist/src/gateway/service.js +54 -9
- package/dist/src/gateway/session-context-summary.js +1 -1
- package/dist/src/gateway/session-reset-service.js +1 -1
- package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/local-apps/service.js +2 -2
- package/dist/src/notifications/planner.js +32 -0
- package/dist/src/notifications/service.d.ts +2 -0
- package/dist/src/personal-agent/capability-service.js +3 -2
- package/dist/src/personal-agent/communication.d.ts +3 -2
- package/dist/src/personal-agent/communication.js +4 -3
- package/dist/src/personal-agent/conversation-state.d.ts +5 -0
- package/dist/src/personal-agent/conversation-state.js +17 -0
- package/dist/src/personal-agent/notifications.d.ts +4 -0
- package/dist/src/personal-agent/notifications.js +40 -0
- package/dist/src/personal-agent/persona.d.ts +6 -0
- package/dist/src/personal-agent/persona.js +16 -0
- package/dist/src/personal-agent/policy.d.ts +3 -1
- package/dist/src/personal-agent/policy.js +28 -6
- package/dist/src/personal-agent/proactivity/automation.d.ts +3 -0
- package/dist/src/personal-agent/proactivity/automation.js +41 -0
- package/dist/src/personal-agent/proactivity/follow-up-request.d.ts +5 -0
- package/dist/src/personal-agent/proactivity/follow-up-request.js +44 -0
- package/dist/src/personal-agent/proactivity/repository.d.ts +128 -0
- package/dist/src/personal-agent/proactivity/repository.js +403 -0
- package/dist/src/personal-agent/proactivity/routes.d.ts +3 -0
- package/dist/src/personal-agent/proactivity/routes.js +182 -0
- package/dist/src/personal-agent/proactivity/service.d.ts +32 -0
- package/dist/src/personal-agent/proactivity/service.js +496 -0
- package/dist/src/personal-agent/prompt-context.d.ts +10 -0
- package/dist/src/personal-agent/prompt-context.js +119 -0
- package/dist/src/personal-agent/prompts.d.ts +7 -0
- package/dist/src/personal-agent/prompts.js +135 -0
- package/dist/src/personal-agent/reply-composer.d.ts +1 -1
- package/dist/src/personal-agent/reply-composer.js +41 -13
- package/dist/src/personal-agent/repository.d.ts +1 -1
- package/dist/src/personal-agent/repository.js +1 -1
- package/dist/src/personal-agent/request-delivery.js +1 -1
- package/dist/src/personal-agent/request-service.js +2 -2
- package/dist/src/personal-agent/service.d.ts +1 -2
- package/dist/src/personal-agent/service.js +5 -93
- package/dist/src/personal-agent/specialist-capabilities.d.ts +9 -0
- package/dist/src/personal-agent/specialist-capabilities.js +37 -0
- package/dist/src/personal-agent/unread.d.ts +10 -0
- package/dist/src/personal-agent/unread.js +43 -0
- package/dist/src/providers/env-keys.js +6 -0
- package/dist/src/providers/model-catalog-persistence.js +3 -22
- package/dist/src/providers/model-catalog-store.js +1 -8
- package/dist/src/providers/model-catalog-types.d.ts +1 -9
- package/dist/src/providers/xopc-cloud-model-source.js +4 -25
- package/dist/src/session/client-history.d.ts +2 -0
- package/dist/src/session/client-history.js +26 -0
- package/dist/src/session/init-session-turn.js +10 -0
- package/dist/src/session/session-context-for-llm.js +28 -0
- package/dist/src/session/store.js +1 -1
- package/dist/src/storage/sqlite/migrations/235_personal_conversation_priority.sql +3 -0
- package/dist/src/storage/sqlite/migrations/236_personal_proactivity.sql +53 -0
- package/dist/src/storage/sqlite/migrations/237_personal_strategy_versions.sql +18 -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/session-input-repository.d.ts +2 -0
- package/dist/src/storage/sqlite/session-input-repository.js +18 -5
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/execution-context.js +1 -1
- package/dist/src/tasks/home-query-service.js +27 -1
- package/dist/src/tasks/task-main-update-decision-service.js +1 -1
- package/dist/src/tasks/task-result-delivery-service.js +1 -1
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/voice/platform-catalog.d.ts +1 -9
- package/dist/src/voice/realtime/agentEngine.js +32 -7
- package/dist/src/voice/realtime/engine.d.ts +1 -0
- package/dist/src/voice/realtime/omniEngine.d.ts +1 -0
- package/dist/src/voice/realtime/omniEngine.js +10 -0
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/dist/src/voice/realtime/runtime.d.ts +1 -0
- package/dist/src/voice/realtime/runtime.js +5 -0
- package/dist/src/voice/realtime/runtime.types.d.ts +2 -0
- package/dist/src/work-discovery/service.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.js +1 -1
- package/package.json +4 -3
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-wYj-iyqv.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-C9HYMhnJ.js +0 -1
- package/dist/gateway/static/root/assets/agents-hPkFQ81z.js +0 -66
- package/dist/gateway/static/root/assets/app-link-DRL0YnPs.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-Ch0ViAJW.js +0 -7
- package/dist/gateway/static/root/assets/binary-plugins-J51oS7-D.js +0 -2
- package/dist/gateway/static/root/assets/browser-settings-page-CYrPA-Fp.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-CT_ZW9fT.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-dW6FXtOy.js +0 -2
- package/dist/gateway/static/root/assets/channels-Dx5T2G73.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-6FWwxYLe.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-DgDLaws0.js +0 -2
- package/dist/gateway/static/root/assets/date-picker-BDcwEaIx.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DBvCRclh.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BVfz4Tla.js +0 -1
- package/dist/gateway/static/root/assets/home-page-BF_9C9yW.js +0 -1
- package/dist/gateway/static/root/assets/index-BpXej9jJ.js +0 -106
- package/dist/gateway/static/root/assets/index-CbJNcWAn.css +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-CytNu0-_.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-gbemPamv.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-D4aXtitd.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-CRzWi_iJ.js +0 -1
- package/dist/gateway/static/root/assets/markdown-view-DQZ51j9e.js +0 -201
- package/dist/gateway/static/root/assets/messages-BHvpZNe9.js +0 -3
- package/dist/gateway/static/root/assets/note-detail-panel-BgbByI-4.js +0 -5
- package/dist/gateway/static/root/assets/notes-page-R2BX5XCE.js +0 -8
- package/dist/gateway/static/root/assets/personal-page-F0jTBWva.js +0 -1
- package/dist/gateway/static/root/assets/product-open-page-BtDK68qb.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DmQEm0yH.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CrLQvkHX.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-C25_hQAd.js +0 -1
- package/dist/gateway/static/root/assets/scenes-page-DM64yMnx.js +0 -2
- package/dist/gateway/static/root/assets/secret-input-DPl3VYM8.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-CMGUwtbN.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-DvDO8LtA.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BNhgbmcX.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-10bMi6yL.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-D52pEr5x.js +0 -2
- package/dist/gateway/static/root/assets/task-detail-page-D-tcS2bS.js +0 -2
- package/dist/gateway/static/root/assets/tracing-settings-page-DoBJ0TYY.js +0 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-DB0bBGzZ.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-CSh61kZ5.js +0 -2
- package/dist/gateway/static/root/assets/workflows-page-BrD9vXqO.js +0 -6
- package/dist/gateway/static/root/assets/workspace-api-Cs4sjV2A.js +0 -2
- package/dist/src/agent/image/generation/normalization.d.ts +0 -38
- package/dist/src/agent/image/generation/normalization.js +0 -181
- package/dist/src/agent/image/generation/providers/dashscope.d.ts +0 -35
- package/dist/src/agent/image/generation/providers/dashscope.js +0 -257
- package/dist/src/agent/image/generation/providers/fal.d.ts +0 -15
- package/dist/src/agent/image/generation/providers/fal.js +0 -323
- package/dist/src/agent/image/generation/providers/google.d.ts +0 -16
- package/dist/src/agent/image/generation/providers/google.js +0 -244
- package/dist/src/agent/image/generation/providers/minimax.d.ts +0 -23
- package/dist/src/agent/image/generation/providers/minimax.js +0 -215
- package/dist/src/agent/image/generation/providers/openai.d.ts +0 -5
- package/dist/src/agent/image/generation/providers/openai.js +0 -134
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { createLogger } from "../../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../../utils/logger.js";
|
|
3
3
|
import { PROVIDER_ENV_MAP, init_env_keys } from "../../../providers/env-keys.js";
|
|
4
|
+
import { ImageProviderError } from "../../../../packages/image-providers/src/validation.js";
|
|
5
|
+
import "../../../../packages/image-providers/src/index.js";
|
|
4
6
|
import { describeFailoverError, isFailoverError } from "../../failover-error.js";
|
|
5
|
-
import {
|
|
7
|
+
import { buildNoCapabilityModelConfiguredMessage, recordCapabilityCandidateFailure, resolveCapabilityModelCandidates, throwCapabilityGenerationFailure } from "../../media-generation/runtime-shared.js";
|
|
6
8
|
import "../../media-generation/index.js";
|
|
7
9
|
import { parseImageGenerationModelRef } from "./model-ref.js";
|
|
8
|
-
import {
|
|
10
|
+
import { validateImageGenerationRequest } from "./validation.js";
|
|
9
11
|
import { getImageGenerationProvider, listImageGenerationProviders, listImageGenerationProvidersSummary as listImageGenerationProvidersSummary$1 } from "./provider-registry.js";
|
|
10
12
|
//#region src/agent/image/generation/runtime.ts
|
|
11
13
|
init_env_keys();
|
|
@@ -29,9 +31,13 @@ async function generateImage(params, deps = {}) {
|
|
|
29
31
|
autoProviderFallback: params.autoProviderFallback
|
|
30
32
|
});
|
|
31
33
|
if (candidates.length === 0) throw new Error(buildNoImageGenerationModelConfiguredMessage(params.cfg, deps));
|
|
34
|
+
params = {
|
|
35
|
+
...params,
|
|
36
|
+
signal: AbortSignal.any([AbortSignal.timeout(params.timeoutMs ?? 6e5), ...params.signal ? [params.signal] : []])
|
|
37
|
+
};
|
|
32
38
|
const attempts = [];
|
|
33
39
|
let lastError;
|
|
34
|
-
for (const candidate of candidates) {
|
|
40
|
+
for (const candidate of candidates.slice(0, 3)) {
|
|
35
41
|
const startedAt = Date.now();
|
|
36
42
|
const provider = getProvider(candidate.provider, params.cfg);
|
|
37
43
|
if (!provider) {
|
|
@@ -51,13 +57,15 @@ async function generateImage(params, deps = {}) {
|
|
|
51
57
|
continue;
|
|
52
58
|
}
|
|
53
59
|
try {
|
|
60
|
+
if (!provider.models.includes(candidate.model)) throw new ImageProviderError(`Unsupported image model: ${candidate.model}`, 400);
|
|
54
61
|
const modelCapabilities = provider.modelCapabilities?.[candidate.model];
|
|
55
|
-
|
|
62
|
+
validateImageGenerationRequest({
|
|
56
63
|
provider: modelCapabilities ? {
|
|
57
64
|
...provider,
|
|
58
65
|
capabilities: modelCapabilities
|
|
59
66
|
} : provider,
|
|
60
67
|
size: params.size,
|
|
68
|
+
count: params.count,
|
|
61
69
|
aspectRatio: params.aspectRatio,
|
|
62
70
|
resolution: params.resolution,
|
|
63
71
|
quality: params.quality,
|
|
@@ -68,32 +76,29 @@ async function generateImage(params, deps = {}) {
|
|
|
68
76
|
const request = buildProviderRequest({
|
|
69
77
|
provider,
|
|
70
78
|
candidate,
|
|
71
|
-
params
|
|
72
|
-
sanitized
|
|
79
|
+
params
|
|
73
80
|
});
|
|
74
81
|
log.debug({
|
|
75
82
|
provider: candidate.provider,
|
|
76
83
|
model: candidate.model,
|
|
77
|
-
phase: "provider_invoked"
|
|
78
|
-
normalizationCount: sanitized.normalization ? Object.keys(sanitized.normalization).length : 0,
|
|
79
|
-
ignoredCount: sanitized.ignoredOverrides.length
|
|
84
|
+
phase: "provider_invoked"
|
|
80
85
|
}, `image-generation provider invoked: ${candidate.provider}/${candidate.model}`);
|
|
81
86
|
const result = await provider.generateImage(request);
|
|
82
87
|
if (!result.images?.length) throw new Error("Image generation provider returned no images.");
|
|
83
|
-
const normalizationMetadata = buildMediaGenerationNormalizationMetadata({ normalization: sanitized.normalization });
|
|
84
88
|
return {
|
|
85
89
|
images: result.images,
|
|
86
90
|
provider: candidate.provider,
|
|
87
91
|
model: result.model ?? candidate.model,
|
|
88
92
|
attempts,
|
|
89
|
-
|
|
90
|
-
ignoredOverrides: sanitized.ignoredOverrides,
|
|
91
|
-
metadata: {
|
|
92
|
-
...result.metadata ?? {},
|
|
93
|
-
...normalizationMetadata
|
|
94
|
-
}
|
|
93
|
+
metadata: result.metadata
|
|
95
94
|
};
|
|
96
95
|
} catch (err) {
|
|
96
|
+
const status = err && typeof err === "object" && "status" in err ? err.status : void 0;
|
|
97
|
+
if (params.signal?.aborted || err instanceof ImageProviderError && !err.retryable || ![
|
|
98
|
+
401,
|
|
99
|
+
403,
|
|
100
|
+
429
|
|
101
|
+
].includes(Number(status))) throw err;
|
|
97
102
|
lastError = err;
|
|
98
103
|
const durationMs = Date.now() - startedAt;
|
|
99
104
|
recordCapabilityCandidateFailure({
|
|
@@ -127,7 +132,7 @@ function listImageGenerationProvidersSummary() {
|
|
|
127
132
|
return listImageGenerationProvidersSummary$1();
|
|
128
133
|
}
|
|
129
134
|
function buildProviderRequest(input) {
|
|
130
|
-
const { provider, candidate, params
|
|
135
|
+
const { provider, candidate, params } = input;
|
|
131
136
|
const inputImages = params.inputImages ? cloneInputImages(params.inputImages) : void 0;
|
|
132
137
|
return {
|
|
133
138
|
provider: provider.id,
|
|
@@ -140,12 +145,12 @@ function buildProviderRequest(input) {
|
|
|
140
145
|
...typeof params.timeoutMs === "number" ? { timeoutMs: params.timeoutMs } : {},
|
|
141
146
|
...params.signal ? { signal: params.signal } : {},
|
|
142
147
|
...typeof params.count === "number" ? { count: params.count } : {},
|
|
143
|
-
...
|
|
144
|
-
...
|
|
145
|
-
...
|
|
146
|
-
...
|
|
147
|
-
...
|
|
148
|
-
...
|
|
148
|
+
...params.size !== void 0 ? { size: params.size } : {},
|
|
149
|
+
...params.aspectRatio !== void 0 ? { aspectRatio: params.aspectRatio } : {},
|
|
150
|
+
...params.resolution !== void 0 ? { resolution: params.resolution } : {},
|
|
151
|
+
...params.quality !== void 0 ? { quality: params.quality } : {},
|
|
152
|
+
...params.outputFormat !== void 0 ? { outputFormat: params.outputFormat } : {},
|
|
153
|
+
...params.background !== void 0 ? { background: params.background } : {},
|
|
149
154
|
...inputImages ? { inputImages } : {},
|
|
150
155
|
...params.providerOptions ? { providerOptions: params.providerOptions } : {}
|
|
151
156
|
};
|
|
@@ -1,48 +1,11 @@
|
|
|
1
1
|
import type { Config } from '../../../config/schema.js';
|
|
2
2
|
import type { AuthProfileStore } from '../../../providers/auth-runtime/index.js';
|
|
3
|
-
import type { MediaNormalizationEntry } from '../../media-generation/normalization.types.js';
|
|
4
3
|
export type ImageGenerationResolution = '1K' | '2K' | '4K';
|
|
5
|
-
export type ImageGenerationQuality = 'low' | 'medium' | 'high' | 'auto';
|
|
4
|
+
export type ImageGenerationQuality = 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto';
|
|
6
5
|
export type ImageGenerationOutputFormat = 'png' | 'jpeg' | 'webp';
|
|
7
6
|
export type ImageGenerationBackground = 'transparent' | 'opaque' | 'auto';
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
/** Maximum images per call (defaults to 1 when omitted). */
|
|
11
|
-
maxCount?: number;
|
|
12
|
-
/** Provider supports an explicit `size` parameter. */
|
|
13
|
-
supportsSize?: boolean;
|
|
14
|
-
/** Provider supports `aspectRatio` parameter. */
|
|
15
|
-
supportsAspectRatio?: boolean;
|
|
16
|
-
/** Provider supports `resolution` parameter. */
|
|
17
|
-
supportsResolution?: boolean;
|
|
18
|
-
}
|
|
19
|
-
/** Edit-mode (image → image) capability slice. */
|
|
20
|
-
export interface ImageGenerationEditCapability {
|
|
21
|
-
enabled: boolean;
|
|
22
|
-
/** Max number of input reference images (1 = single ref). */
|
|
23
|
-
maxInputImages?: number;
|
|
24
|
-
supportsSize?: boolean;
|
|
25
|
-
supportsAspectRatio?: boolean;
|
|
26
|
-
}
|
|
27
|
-
/** Geometry constraints (allowed values for size / aspectRatio / resolution). */
|
|
28
|
-
export interface ImageGenerationGeometryCapability {
|
|
29
|
-
sizes?: string[];
|
|
30
|
-
aspectRatios?: string[];
|
|
31
|
-
resolutions?: ImageGenerationResolution[];
|
|
32
|
-
}
|
|
33
|
-
/** Output / styling capability slice. */
|
|
34
|
-
export interface ImageGenerationOutputCapability {
|
|
35
|
-
qualities?: ImageGenerationQuality[];
|
|
36
|
-
formats?: ImageGenerationOutputFormat[];
|
|
37
|
-
backgrounds?: ImageGenerationBackground[];
|
|
38
|
-
}
|
|
39
|
-
/** New nested capability shape. */
|
|
40
|
-
export interface ImageGenerationProviderCapabilities {
|
|
41
|
-
generate?: ImageGenerationGenerateCapability;
|
|
42
|
-
edit?: ImageGenerationEditCapability;
|
|
43
|
-
geometry?: ImageGenerationGeometryCapability;
|
|
44
|
-
output?: ImageGenerationOutputCapability;
|
|
45
|
-
}
|
|
7
|
+
export type { ImageGeometry as ImageGenerationGeometryCapability } from '../../../../packages/image-providers/src/types.js';
|
|
8
|
+
export type ImageGenerationProviderCapabilities = import('../../../../packages/image-providers/src/types.js').ImageCapabilities;
|
|
46
9
|
export interface ImageGenerationProviderConfiguredContext {
|
|
47
10
|
cfg?: Config;
|
|
48
11
|
agentId?: string;
|
|
@@ -112,16 +75,6 @@ export interface ImageGenerationSourceImage {
|
|
|
112
75
|
fileName?: string;
|
|
113
76
|
metadata?: Record<string, unknown>;
|
|
114
77
|
}
|
|
115
|
-
export type ImageGenerationIgnoredOverrideKey = 'size' | 'aspectRatio' | 'resolution' | 'quality' | 'outputFormat' | 'background';
|
|
116
|
-
export interface ImageGenerationIgnoredOverride {
|
|
117
|
-
key: ImageGenerationIgnoredOverrideKey;
|
|
118
|
-
value: string;
|
|
119
|
-
}
|
|
120
|
-
export interface ImageGenerationNormalization {
|
|
121
|
-
size?: MediaNormalizationEntry<string>;
|
|
122
|
-
aspectRatio?: MediaNormalizationEntry<string>;
|
|
123
|
-
resolution?: MediaNormalizationEntry<ImageGenerationResolution>;
|
|
124
|
-
}
|
|
125
78
|
export interface ImageGenerationRequest {
|
|
126
79
|
provider: string;
|
|
127
80
|
model: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ImageGenerationProvider, ImageGenerationRequest } from './types.js';
|
|
2
|
+
export interface ImageGenerationValidationParams extends Pick<ImageGenerationRequest, 'size' | 'count' | 'aspectRatio' | 'resolution' | 'quality' | 'outputFormat' | 'background' | 'inputImages'> {
|
|
3
|
+
provider: ImageGenerationProvider;
|
|
4
|
+
}
|
|
5
|
+
export declare function validateImageGenerationRequest(params: ImageGenerationValidationParams): void;
|
|
6
|
+
export type { ImageGenerationProviderCapabilities } from './types.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { validateImageRequest } from "../../../../packages/image-providers/src/validation.js";
|
|
2
|
+
import "../../../../packages/image-providers/src/index.js";
|
|
3
|
+
//#region src/agent/image/generation/validation.ts
|
|
4
|
+
function validateImageGenerationRequest(params) {
|
|
5
|
+
validateImageRequest({
|
|
6
|
+
...params,
|
|
7
|
+
model: params.provider.defaultModel,
|
|
8
|
+
prompt: "validate",
|
|
9
|
+
inputImages: params.inputImages?.map((image, index) => ({
|
|
10
|
+
blob: new Blob([new Uint8Array(image.buffer)], { type: image.mimeType }),
|
|
11
|
+
fileName: image.fileName ?? `image-${index}`
|
|
12
|
+
}))
|
|
13
|
+
}, params.provider.capabilities);
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { validateImageGenerationRequest };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { stripRuntimeUserMessageEnvelope } from "../../../packages/gateway-contract/src/user-message-display.js";
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
3
|
import { extractProfileAgentId } from "../../config/agent-profile.js";
|
|
4
|
+
import { isPersonalConversation } from "../../personal-agent/repository.js";
|
|
4
5
|
import { mimeTypeFromMediaPath } from "../../media/store.js";
|
|
5
6
|
import { readAgentMessageContent } from "../memory/agent-message-access.js";
|
|
6
7
|
import { readMediaReference } from "../../media/media-reference.js";
|
|
7
|
-
import { isPersonalConversation } from "../../personal-agent/repository.js";
|
|
8
8
|
import { isImageInboundAttachment } from "../../channels/attachments/attachment-classifiers.js";
|
|
9
9
|
import "../../channels/attachments/inbound-persist.js";
|
|
10
10
|
import { expandAtFileMentionsInPlainText } from "../context/expand-at-file-mentions.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Per-turn presentation only; never persisted as a user message or Agent identity. */
|
|
2
|
-
export declare const voicePresentationPrompt = "This turn is a live voice conversation in the same Chat.\nLead with the useful answer. Prefer one to three natural spoken sentences unless the user asks for detail.\nAllow silence. Do not repeatedly greet, recap unrelated old tasks, or end every reply with a question.\nFor work, briefly say what you are doing, use the available tools, then report the actual result.\nKeep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.\nDo not imply a task continues in the background unless an existing task or workflow actually started it.\
|
|
2
|
+
export declare const voicePresentationPrompt = "This turn is a live voice conversation in the same Chat.\nLead with the useful answer. Prefer one to three natural spoken sentences unless the user asks for detail.\nAllow silence. Do not repeatedly greet, recap unrelated old tasks, or end every reply with a question.\nFor work, briefly say what you are doing, use the available tools, then report the actual result.\nKeep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.\nDo not imply a task continues in the background unless an existing task or workflow actually started it.\nAsk ordinary follow-up questions directly in speech, then let the user answer in the next turn; do not use a blocking clarification form. Keep formal action approvals in the existing approval mechanism. A background sound or ambiguous interjection is not permission for an action.\nStopping speech does not undo a completed tool action. State consequential results accurately.";
|
|
@@ -6,7 +6,7 @@ Allow silence. Do not repeatedly greet, recap unrelated old tasks, or end every
|
|
|
6
6
|
For work, briefly say what you are doing, use the available tools, then report the actual result.
|
|
7
7
|
Keep code, long URLs, tables and detailed reference material in Chat; introduce them with a short spoken explanation.
|
|
8
8
|
Do not imply a task continues in the background unless an existing task or workflow actually started it.
|
|
9
|
-
|
|
9
|
+
Ask ordinary follow-up questions directly in speech, then let the user answer in the next turn; do not use a blocking clarification form. Keep formal action approvals in the existing approval mechanism. A background sound or ambiguous interjection is not permission for an action.
|
|
10
10
|
Stopping speech does not undo a completed tool action. State consequential results accurately.`;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { voicePresentationPrompt };
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { getClarificationResumeInput, init_clarification_wait_repository } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
2
2
|
import { getConnectionResumeInput, init_connection_wait_repository } from "../../storage/sqlite/connection-wait-repository.js";
|
|
3
|
+
import { isPersonalConversation } from "../../personal-agent/repository.js";
|
|
3
4
|
import { resolveImageHandlingStrategy } from "../image/vision-detection.js";
|
|
4
5
|
import { hydrateUserTurnForLlm } from "../inbound/attachment-pipeline.js";
|
|
5
6
|
import { buildDelegatedTaskDirective, buildTaskExecutionDirective } from "../../tasks/task-context-assembler.js";
|
|
6
7
|
import { shouldSkipResetOverlapCommand } from "../../session/reset-triggers.js";
|
|
7
8
|
import { parseSlashCommand } from "../../chat-commands/command-parse.js";
|
|
9
|
+
import { personalCommandRejection } from "../../chat-commands/personal-command-policy.js";
|
|
8
10
|
import { commandRegistry } from "../../chat-commands/registry.js";
|
|
9
11
|
import "../../chat-commands/index.js";
|
|
10
12
|
import { runEmbeddedTurnForSession } from "../embedded/run-for-session.js";
|
|
@@ -33,11 +35,25 @@ async function hydratePerTurnState(deps, conversationId, thinking) {
|
|
|
33
35
|
* can persist the receipt or stream it as a token.
|
|
34
36
|
*/
|
|
35
37
|
async function tryRunSlashCommand(deps, ctx, content, options) {
|
|
36
|
-
const
|
|
38
|
+
const personal = isPersonalConversation(ctx.conversationId);
|
|
39
|
+
const parsed = personal ? /^\/[a-z][a-z0-9_:-]*(?:\s|$)/i.test(content.trim()) ? parseSlashCommand(content.trim().split(/\r?\n/)[0]) : null : parseSlashCommand(content);
|
|
37
40
|
if (!parsed) return {
|
|
38
41
|
matched: false,
|
|
39
42
|
aggregatedText: ""
|
|
40
43
|
};
|
|
44
|
+
if (personal) {
|
|
45
|
+
const command = commandRegistry.findByName(parsed.command);
|
|
46
|
+
if (!command && !parsed.command.startsWith("skill:")) return {
|
|
47
|
+
matched: false,
|
|
48
|
+
aggregatedText: ""
|
|
49
|
+
};
|
|
50
|
+
const rejection = personalCommandRejection(ctx.conversationId, command?.id ?? "skill.invoke", parsed.command);
|
|
51
|
+
if (rejection) return {
|
|
52
|
+
matched: true,
|
|
53
|
+
aggregatedText: rejection,
|
|
54
|
+
command: parsed.command
|
|
55
|
+
};
|
|
56
|
+
}
|
|
41
57
|
if (options?.skipResetCommands && shouldSkipResetOverlapCommand(parsed.command, true)) return {
|
|
42
58
|
matched: false,
|
|
43
59
|
aggregatedText: ""
|
|
@@ -2,22 +2,22 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { init_attachment_ref, parseNoteAttachmentTarget } from "../notes/attachment-ref.js";
|
|
4
4
|
import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
|
|
5
|
-
import { extractTextContent } from "./context/workspace.js";
|
|
6
5
|
import { configureTracing, flushTracing } from "../observability/runtime.js";
|
|
7
6
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
8
7
|
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
9
8
|
import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
|
|
10
9
|
import { extractProfileAgentId, resolveEffectiveAgentConfigForSession } from "../config/agent-profile.js";
|
|
11
10
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
11
|
+
import { extractTextContent } from "./context/workspace.js";
|
|
12
12
|
import { effectiveWorkspacePathForSession } from "../session/session-workspace.js";
|
|
13
13
|
import { getProjectForSession } from "../projects/workspace.js";
|
|
14
|
+
import { getUserTimezone } from "../user-model/repository.js";
|
|
15
|
+
import "../user-model/index.js";
|
|
14
16
|
import { runWithEmbeddedExecutionSession } from "./embedded/execution-context.js";
|
|
15
17
|
import { removeSkillsLockEntry } from "./skills/hub-lock.js";
|
|
16
18
|
import { installSkillFromZip } from "./skills/managed-store.js";
|
|
17
19
|
import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "./skills/workspace-skills-dir.js";
|
|
18
20
|
import { pullSkillFromSource } from "./skills/hub-pull.js";
|
|
19
|
-
import { getUserTimezone } from "../user-model/repository.js";
|
|
20
|
-
import "../user-model/index.js";
|
|
21
21
|
import { resolveAgentTurnTimeoutMs } from "./orchestration/run-agent-turn-with-timeout.js";
|
|
22
22
|
import { onSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
23
23
|
import { persistInboundAttachments } from "../channels/attachments/inbound-persist.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolveStateDir } from "../../config/paths-state.js";
|
|
2
2
|
import { createLogger } from "../../utils/logger/index.js";
|
|
3
3
|
import { init_logger } from "../../utils/logger.js";
|
|
4
|
-
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
5
4
|
import { init_paths } from "../../config/paths.js";
|
|
5
|
+
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
6
6
|
import { findInstallSpec, hasBinary, installSkill } from "./installer.js";
|
|
7
7
|
import { applySkillEnvOverrides, createSkillConfigManager, getSkillEnvironment, isSkillEnabled, resolveSkillConfig, validateSkillConfig } from "./config.js";
|
|
8
8
|
import { parseSkillToolConditions } from "./skill-tool-gating.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
2
1
|
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
2
|
+
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
3
3
|
import { loadSkillsLock } from "./hub-lock.js";
|
|
4
4
|
import { dirname, join, resolve, sep } from "node:path";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
2
1
|
import { init_paths, resolveSkillsDir } from "../../config/paths.js";
|
|
2
|
+
import { parseFrontmatter } from "../../markdown/frontmatter.js";
|
|
3
3
|
import { resolveWorkspaceSkillsDir } from "./workspace-skills-dir.js";
|
|
4
4
|
import { formatScanSummary, scanSkillDirectory } from "./scanner.js";
|
|
5
5
|
import { fuzzyFindText, normalizeForFuzzyMatch, normalizeToLF, restoreLineEndings } from "../tools/edit-diff.js";
|
|
@@ -9,6 +9,8 @@ function createDelegationParentPolicy(options) {
|
|
|
9
9
|
if (!options.getConfig()) return [];
|
|
10
10
|
const resolved = options.conversationId ? resolveEffectiveAgentConfigForSession(options.conversationId) : options.agentId ? resolveEffectiveAgentConfigForAgent(options.agentId) : resolveEffectiveAgentConfigForSession(void 0);
|
|
11
11
|
const names = [name];
|
|
12
|
+
const command = args?.command;
|
|
13
|
+
if ((name === "user_context_read" || name === "knowledge_read") && (command === "search" || command === "get")) names.push(`${name.slice(0, -5)}_${command}`);
|
|
12
14
|
if (name === "xopc_tool_execute") {
|
|
13
15
|
const parsed = parseExternalToolRef(String(args?.toolRef ?? ""), "mcp");
|
|
14
16
|
const ref = String(args?.toolRef ?? "");
|
|
@@ -23,6 +23,8 @@ const DELEGATION_TOOL_CAPABILITIES = {
|
|
|
23
23
|
web_search: "web_read",
|
|
24
24
|
web_fetch: "web_read",
|
|
25
25
|
web_extract: "web_read",
|
|
26
|
+
knowledge_read: "knowledge_read",
|
|
27
|
+
user_context_read: "knowledge_read",
|
|
26
28
|
knowledge_search: "knowledge_read",
|
|
27
29
|
knowledge_get: "knowledge_read",
|
|
28
30
|
session_search: "knowledge_read",
|
|
@@ -15,6 +15,7 @@ import type { TurnOrigin } from '@xopcai/endpoint-tools-protocol';
|
|
|
15
15
|
import type { ExtensionRegistry } from '../../extensions/types/index.js';
|
|
16
16
|
import type { MessageBus } from '../../infra/bus/index.js';
|
|
17
17
|
import { type SkillInstallToolOptions, type SkillInstallToolResult, type MarketplaceSkillInstallToolOptions, type MarketplaceSkillInstallToolResult } from './index.js';
|
|
18
|
+
import { type PersonalTaskToolDeps } from './personal-task-tool.js';
|
|
18
19
|
import type { MemoryManager } from '../memory/manager.js';
|
|
19
20
|
import type { SessionStore } from '../../session/store.js';
|
|
20
21
|
import type { GatewayClarifyRequestFn } from './clarify-tool.js';
|
|
@@ -47,6 +48,7 @@ export interface ToolFactoryDeps {
|
|
|
47
48
|
getMemoryManager?: () => MemoryManager;
|
|
48
49
|
/** Skill runtime for the current workspace/session. */
|
|
49
50
|
getSkillManager?: () => SkillManager;
|
|
51
|
+
getAgentSkillAvailability?: PersonalTaskToolDeps['getAgentSkillAvailability'];
|
|
50
52
|
/** Session store for `session_search`. */
|
|
51
53
|
getSessionStore?: () => SessionStore;
|
|
52
54
|
/** When set (gateway webchat), enables the `clarify` tool. */
|
|
@@ -10,7 +10,10 @@ import { getSessionTaskPlan, setSessionTaskPlan } from "../../storage/sqlite/ses
|
|
|
10
10
|
import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
11
11
|
import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
12
12
|
import { resolveEffectiveAgentConfigForAgent, resolveEffectiveAgentConfigForSession } from "../../config/agent-profile.js";
|
|
13
|
+
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
14
|
+
import { createPersonalAttentionTool } from "./personal-attention-tool.js";
|
|
13
15
|
import "../../../packages/browser-control-contract/src/index.js";
|
|
16
|
+
import { PERSONAL_TOOL_DESCRIPTIONS } from "../../personal-agent/policy.js";
|
|
14
17
|
import { getEmbeddedExecutionRunId, getEmbeddedExecutionSession } from "../embedded/execution-context.js";
|
|
15
18
|
import { wrapToolsWithProtection } from "./executor.js";
|
|
16
19
|
import { EXTERNAL_TOOL_NAMES } from "../external-tools/gateway-tools.js";
|
|
@@ -24,8 +27,8 @@ import { createListDirTool } from "./list-dir.js";
|
|
|
24
27
|
import { createPublishArtifactsTool } from "./publish-artifacts.js";
|
|
25
28
|
import { createExecCommandTool } from "./exec-command.js";
|
|
26
29
|
import { createApplyPatchTool } from "./apply-patch.js";
|
|
27
|
-
import { createUserContextGetTool, createUserContextSearchTool, createUserContextUpdateTool } from "./user-context-tool.js";
|
|
28
|
-
import { createKnowledgeGetTool, createKnowledgeSearchTool, createKnowledgeWriteTool } from "./knowledge-memory-tool.js";
|
|
30
|
+
import { createUserContextGetTool, createUserContextReadTool, createUserContextSearchTool, createUserContextUpdateTool } from "./user-context-tool.js";
|
|
31
|
+
import { createKnowledgeGetTool, createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeWriteTool } from "./knowledge-memory-tool.js";
|
|
29
32
|
import { createSessionSearchTool } from "./session-search-tool.js";
|
|
30
33
|
import { createSessionRecallTool } from "./session-recall-tool.js";
|
|
31
34
|
import { createGrepTool } from "./grep.js";
|
|
@@ -68,7 +71,6 @@ import { createPersonalTaskTool } from "./personal-task-tool.js";
|
|
|
68
71
|
import { createPersonalRequestTools } from "./personal-request-tool.js";
|
|
69
72
|
import { createPersonalRequestConnectionTool, createPersonalRequestResultTool } from "./personal-request-result-tool.js";
|
|
70
73
|
import { createPersonalPreferenceTool } from "./personal-preference-tool.js";
|
|
71
|
-
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
72
74
|
import { createBrowserUseTool } from "./browser/tool/browser-use-tool.js";
|
|
73
75
|
import { ComputerRuntime } from "../../computer/runtime.js";
|
|
74
76
|
import { createComputerUseTool } from "./computer-use-tool.js";
|
|
@@ -294,6 +296,7 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
294
296
|
const grep = createGrepTool(workspace);
|
|
295
297
|
const find = createFindTool(workspace);
|
|
296
298
|
const productToolDeps = {
|
|
299
|
+
getAgentSkillAvailability: this.deps.getAgentSkillAvailability,
|
|
297
300
|
getWorkspace: () => this.deps.workspace,
|
|
298
301
|
getConfig: () => this.deps.getConfig?.(),
|
|
299
302
|
getCurrentAgentId: () => options?.agentId,
|
|
@@ -412,6 +415,13 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
412
415
|
workspace,
|
|
413
416
|
getConfig: () => this.deps.getConfig?.()
|
|
414
417
|
})] : [],
|
|
418
|
+
...personalToolsConfigured || allowed?.has("user_context_read") ? [createUserContextReadTool({
|
|
419
|
+
agentId: resolvedAgentId,
|
|
420
|
+
workspaceId: workspace,
|
|
421
|
+
getSessionId: currentConversationId,
|
|
422
|
+
getProjectId: currentProjectId,
|
|
423
|
+
canRead: () => currentAccess().userModel
|
|
424
|
+
}, (command) => !disabled?.has(`user_context_${command}`) && (!isXopcDatabaseOpen() || resolveEffectiveAgentConfigForAgent(resolvedAgentId).config.tools[`user_context_${command}`]?.mode !== "deny"))] : [],
|
|
415
425
|
createUserContextSearchTool({
|
|
416
426
|
agentId: resolvedAgentId,
|
|
417
427
|
workspaceId: workspace,
|
|
@@ -438,6 +448,16 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
438
448
|
return conversationId ? getPendingTranscriptUserText(conversationId) : void 0;
|
|
439
449
|
}
|
|
440
450
|
}),
|
|
451
|
+
...personalToolsConfigured || allowed?.has("knowledge_read") ? [createKnowledgeReadTool({
|
|
452
|
+
agentId: resolvedAgentId,
|
|
453
|
+
workspaceId: workspace,
|
|
454
|
+
getSessionId: currentConversationId,
|
|
455
|
+
getProjectId: currentProjectId,
|
|
456
|
+
canRead: () => currentAccess().knowledge,
|
|
457
|
+
canWrite: () => currentAccess().knowledge,
|
|
458
|
+
getWritePolicy: knowledgeWritePolicy,
|
|
459
|
+
getReadPolicy: () => currentAccess().knowledgePolicy
|
|
460
|
+
}, (command) => !disabled?.has(`knowledge_${command}`) && (!isXopcDatabaseOpen() || resolveEffectiveAgentConfigForAgent(resolvedAgentId).config.tools[`knowledge_${command}`]?.mode !== "deny"))] : [],
|
|
441
461
|
createKnowledgeSearchTool({
|
|
442
462
|
agentId: resolvedAgentId,
|
|
443
463
|
workspaceId: workspace,
|
|
@@ -489,6 +509,10 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
489
509
|
createPersonalTaskTool(productToolDeps),
|
|
490
510
|
createPersonalReadTool(productToolDeps),
|
|
491
511
|
...createPersonalRequestTools(productToolDeps),
|
|
512
|
+
createPersonalAttentionTool({
|
|
513
|
+
getConversationId: () => this.deps.getCurrentContext()?.conversationId,
|
|
514
|
+
getConfig: () => this.deps.getConfig?.()
|
|
515
|
+
}),
|
|
492
516
|
createPersonalPreferenceTool({
|
|
493
517
|
getCurrentConversationId: () => this.deps.getCurrentContext()?.conversationId,
|
|
494
518
|
onAgentCatalogMutate: this.deps.onAgentCatalogMutate
|
|
@@ -591,7 +615,10 @@ var AgentToolsFactory = class AgentToolsFactory {
|
|
|
591
615
|
allowHostGit: () => getCommandIsolation()?.mode !== "docker"
|
|
592
616
|
}));
|
|
593
617
|
}
|
|
594
|
-
return filterToolsByDisabledSet(core, disabled).filter((tool) => !allowed || allowed.has(tool.name))
|
|
618
|
+
return filterToolsByDisabledSet(core, disabled).filter((tool) => (!allowed || allowed.has(tool.name)) && !(personalToolsConfigured && tool.name === "clarify")).map((tool) => personalToolsConfigured && PERSONAL_TOOL_DESCRIPTIONS[tool.name] ? {
|
|
619
|
+
...tool,
|
|
620
|
+
description: PERSONAL_TOOL_DESCRIPTIONS[tool.name]
|
|
621
|
+
} : tool);
|
|
595
622
|
}
|
|
596
623
|
createCapabilityTools(capabilityNames, options) {
|
|
597
624
|
const disabled = options?.disabledTools;
|
|
@@ -19,6 +19,8 @@ const ALLOWED_QUALITIES = [
|
|
|
19
19
|
"low",
|
|
20
20
|
"medium",
|
|
21
21
|
"high",
|
|
22
|
+
"xhigh",
|
|
23
|
+
"max",
|
|
22
24
|
"auto"
|
|
23
25
|
];
|
|
24
26
|
const ALLOWED_OUTPUT_FORMATS = [
|
|
@@ -39,7 +41,7 @@ const ALLOWED_RESOLUTIONS = [
|
|
|
39
41
|
const ImageGenerateToolSchema = Type.Object({
|
|
40
42
|
action: Type.Optional(Type.String({ description: "Optional: \"generate\" (default) or \"list\" available image-generation providers." })),
|
|
41
43
|
prompt: Type.Optional(Type.String({ description: "Image generation prompt." })),
|
|
42
|
-
model: Type.Optional(Type.String({ description: "Optional provider/model override, e.g. openai/gpt-image-2 / dashscope/wan2.7-image-pro / minimax/image-01." })),
|
|
44
|
+
model: Type.Optional(Type.String({ description: "Optional provider/model override, e.g. openai/gpt-image-2.5-flare / dashscope/wan2.7-image-pro / minimax/image-01." })),
|
|
43
45
|
filename: Type.Optional(Type.String({ description: "Optional basename hint for saved files." })),
|
|
44
46
|
size: Type.Optional(Type.String({ description: "Optional pixel size, e.g. 1024x1024." })),
|
|
45
47
|
aspectRatio: Type.Optional(Type.String({ description: "Optional aspect ratio, e.g. 16:9 / 9:16 / 1:1." })),
|
|
@@ -49,7 +51,7 @@ const ImageGenerateToolSchema = Type.Object({
|
|
|
49
51
|
maximum: MAX_COUNT,
|
|
50
52
|
description: `Number of images (1–${MAX_COUNT}).`
|
|
51
53
|
})),
|
|
52
|
-
quality: Type.Optional(Type.String({ description: "Optional quality: low / medium / high / auto." })),
|
|
54
|
+
quality: Type.Optional(Type.String({ description: "Optional quality: low / medium / high / xhigh / max / auto." })),
|
|
53
55
|
outputFormat: Type.Optional(Type.String({ description: "Optional output format: png / jpeg / webp." })),
|
|
54
56
|
background: Type.Optional(Type.String({ description: "Optional background: transparent / opaque / auto." })),
|
|
55
57
|
inputImages: Type.Optional(Type.Array(Type.Object({ source: Type.String({ description: "Workspace-relative file path or `data:image/...;base64,...` URL." }) }), { description: "Reference images for edit mode (provider must support edit)." })),
|
|
@@ -282,12 +284,10 @@ function createImageGenerateTool(options) {
|
|
|
282
284
|
filePath: paths[index],
|
|
283
285
|
mediaType: "photo"
|
|
284
286
|
})));
|
|
285
|
-
const lines = [`Generated and attached ${paths.length} image(s) with ${result.provider}/${result.model}.`, ...paths.map((p) => `Saved: ${p}`)];
|
|
286
|
-
for (const note of buildNormalizationNotes(result.normalization, result.ignoredOverrides)) lines.push(note);
|
|
287
287
|
return {
|
|
288
288
|
content: [{
|
|
289
289
|
type: "text",
|
|
290
|
-
text:
|
|
290
|
+
text: [`Generated and attached ${paths.length} image(s) with ${result.provider}/${result.model}.`, ...paths.map((p) => `Saved: ${p}`)].join("\n")
|
|
291
291
|
}],
|
|
292
292
|
details: {
|
|
293
293
|
provider: result.provider,
|
|
@@ -308,8 +308,6 @@ function createImageGenerateTool(options) {
|
|
|
308
308
|
workspaceRelativePath: workspaceRelativePaths[index]
|
|
309
309
|
})),
|
|
310
310
|
attempts: result.attempts,
|
|
311
|
-
...result.normalization ? { normalization: result.normalization } : {},
|
|
312
|
-
...result.ignoredOverrides.length > 0 ? { ignoredOverrides: result.ignoredOverrides } : {},
|
|
313
311
|
...result.metadata ? { metadata: result.metadata } : {}
|
|
314
312
|
}
|
|
315
313
|
};
|
|
@@ -337,17 +335,5 @@ function createImageGenerateTool(options) {
|
|
|
337
335
|
}
|
|
338
336
|
};
|
|
339
337
|
}
|
|
340
|
-
function buildNormalizationNotes(normalization, ignoredOverrides) {
|
|
341
|
-
const notes = [];
|
|
342
|
-
if (normalization) for (const [key, entry] of Object.entries(normalization)) {
|
|
343
|
-
if (!entry) continue;
|
|
344
|
-
const requested = entry.requested;
|
|
345
|
-
const applied = entry.applied;
|
|
346
|
-
if (requested !== void 0 && applied !== void 0 && requested !== applied) notes.push(`Note: requested ${key}="${requested}" → applied "${applied}".`);
|
|
347
|
-
else if (applied !== void 0 && entry.derivedFrom) notes.push(`Note: ${key}="${applied}" derived from ${entry.derivedFrom}.`);
|
|
348
|
-
}
|
|
349
|
-
for (const ig of ignoredOverrides) notes.push(`Note: ignored ${ig.key}="${ig.value}" (not supported by provider).`);
|
|
350
|
-
return notes;
|
|
351
|
-
}
|
|
352
338
|
//#endregion
|
|
353
339
|
export { createImageGenerateTool, parseImageDataUrl, resolveImageGenerationModelConfigForTool };
|
|
@@ -6,8 +6,8 @@ export { createWriteFileTool, writeFileTool } from './write.js';
|
|
|
6
6
|
export { createListDirTool, listDirTool } from './list-dir.js';
|
|
7
7
|
export { createExecCommandTool, type ExecCommandDetails, type ExecCommandUpdateDetails, } from './exec-command.js';
|
|
8
8
|
export { createApplyPatchTool, type AppliedPatchChange, type ApplyPatchDetails, } from './apply-patch.js';
|
|
9
|
-
export { createUserContextSearchTool, createUserContextGetTool, createUserContextUpdateTool, type UserContextToolOptions, } from './user-context-tool.js';
|
|
10
|
-
export { createKnowledgeSearchTool, createKnowledgeGetTool, createKnowledgeWriteTool, type KnowledgeToolOptions, } from './knowledge-memory-tool.js';
|
|
9
|
+
export { createUserContextReadTool, createUserContextSearchTool, createUserContextGetTool, createUserContextUpdateTool, type UserContextToolOptions, } from './user-context-tool.js';
|
|
10
|
+
export { createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeGetTool, createKnowledgeWriteTool, type KnowledgeToolOptions, } from './knowledge-memory-tool.js';
|
|
11
11
|
export { createSessionSearchTool } from './session-search-tool.js';
|
|
12
12
|
export { createSessionRecallTool, type SessionRecallToolDeps } from './session-recall-tool.js';
|
|
13
13
|
export { grepTool, createGrepTool, type GrepToolInput, type GrepToolDetails, } from './grep.js';
|
|
@@ -9,8 +9,8 @@ import { createPublishArtifactsTool } from "./publish-artifacts.js";
|
|
|
9
9
|
import { createExecCommandTool } from "./exec-command.js";
|
|
10
10
|
import { fuzzyFindText, generateDiffString, normalizeForFuzzyMatch, normalizeToLF, restoreLineEndings, stripBom } from "./edit-diff.js";
|
|
11
11
|
import { createApplyPatchTool } from "./apply-patch.js";
|
|
12
|
-
import { createUserContextGetTool, createUserContextSearchTool, createUserContextUpdateTool } from "./user-context-tool.js";
|
|
13
|
-
import { createKnowledgeGetTool, createKnowledgeSearchTool, createKnowledgeWriteTool } from "./knowledge-memory-tool.js";
|
|
12
|
+
import { createUserContextGetTool, createUserContextReadTool, createUserContextSearchTool, createUserContextUpdateTool } from "./user-context-tool.js";
|
|
13
|
+
import { createKnowledgeGetTool, createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeWriteTool } from "./knowledge-memory-tool.js";
|
|
14
14
|
import { createSessionSearchTool } from "./session-search-tool.js";
|
|
15
15
|
import { createSessionRecallTool } from "./session-recall-tool.js";
|
|
16
16
|
import { createGrepTool, grepTool } from "./grep.js";
|
|
@@ -46,4 +46,4 @@ import { createManagedJobTool } from "./managed-job-tool.js";
|
|
|
46
46
|
import { createImageTool } from "./image-tool.js";
|
|
47
47
|
import { createImageGenerateTool, resolveImageGenerationModelConfigForTool } from "./image-generate-tool.js";
|
|
48
48
|
import { createPersonalReadTool } from "./personal-read-tool.js";
|
|
49
|
-
export { BrowserRuntime, DEFAULT_DELEGATE_TOOLS, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_TOOL_METADATA, DEFAULT_WEB_EXTRACT_MAX_LENGTH, DELEGATE_BLOCKED_TOOLS, GREP_MAX_LINE_LENGTH, MAX_RAW_HTML_CHARS_FOR_WEB_EXTRACT, TodoStore, ToolConcurrencyController, assertBrowserUrlAllowed, createApplyPatchTool, createAutomationTool, createBrowserAutomationTool, createClarifyTool, createCreateShareTool, createDataBatchTool, createDelegateTool, createDesktopPetTool, createExecCommandTool, createFindTool, createGrepTool, createImageGenerateTool, createImageTool, createKnowledgeGetTool, createKnowledgeSearchTool, createKnowledgeWriteTool, createListDirTool, createManagedJobTool, createMemoryMaintenanceTool, createMessageTool, createPersonalReadTool, createPublishArtifactsTool, createReadFileTool, createReadMediaTool, createSendMediaTool, createSessionRecallTool, createSessionSearchTool, createSessionStatusTool, createSkillInstallTool, createSkillManageTool, createSkillViewTool, createSkillsListTool, createSkillsMarketplaceSearchTool, createTodoTool, createToolManualTool, createUpdatePlanTool, createUserContextGetTool, createUserContextSearchTool, createUserContextUpdateTool, createWebExtractTool, createWebFetchTool, createWebSearchTool, createWorkflowManageTool, createWorkflowTool, createWriteFileTool, createXopcUseTool, findTool, formatSize, fuzzyFindText, generateDiffString, getToolMetadata, grepTool, isShareToolAvailable, listDirTool, normalizeForFuzzyMatch, normalizeToLF, resolveImageGenerationModelConfigForTool, resolveImageModelConfigForTool, resolveToolLockMode, restoreLineEndings, stripBom, stripHtmlBoilerplate, truncateHead, truncateLine, truncateTail, writeFileTool };
|
|
49
|
+
export { BrowserRuntime, DEFAULT_DELEGATE_TOOLS, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_TOOL_METADATA, DEFAULT_WEB_EXTRACT_MAX_LENGTH, DELEGATE_BLOCKED_TOOLS, GREP_MAX_LINE_LENGTH, MAX_RAW_HTML_CHARS_FOR_WEB_EXTRACT, TodoStore, ToolConcurrencyController, assertBrowserUrlAllowed, createApplyPatchTool, createAutomationTool, createBrowserAutomationTool, createClarifyTool, createCreateShareTool, createDataBatchTool, createDelegateTool, createDesktopPetTool, createExecCommandTool, createFindTool, createGrepTool, createImageGenerateTool, createImageTool, createKnowledgeGetTool, createKnowledgeReadTool, createKnowledgeSearchTool, createKnowledgeWriteTool, createListDirTool, createManagedJobTool, createMemoryMaintenanceTool, createMessageTool, createPersonalReadTool, createPublishArtifactsTool, createReadFileTool, createReadMediaTool, createSendMediaTool, createSessionRecallTool, createSessionSearchTool, createSessionStatusTool, createSkillInstallTool, createSkillManageTool, createSkillViewTool, createSkillsListTool, createSkillsMarketplaceSearchTool, createTodoTool, createToolManualTool, createUpdatePlanTool, createUserContextGetTool, createUserContextReadTool, createUserContextSearchTool, createUserContextUpdateTool, createWebExtractTool, createWebFetchTool, createWebSearchTool, createWorkflowManageTool, createWorkflowTool, createWriteFileTool, createXopcUseTool, findTool, formatSize, fuzzyFindText, generateDiffString, getToolMetadata, grepTool, isShareToolAvailable, listDirTool, normalizeForFuzzyMatch, normalizeToLF, resolveImageGenerationModelConfigForTool, resolveImageModelConfigForTool, resolveToolLockMode, restoreLineEndings, stripBom, stripHtmlBoilerplate, truncateHead, truncateLine, truncateTail, writeFileTool };
|
|
@@ -13,3 +13,5 @@ export interface KnowledgeToolOptions {
|
|
|
13
13
|
export declare function createKnowledgeSearchTool(options: KnowledgeToolOptions): AgentTool;
|
|
14
14
|
export declare function createKnowledgeGetTool(options: KnowledgeToolOptions): AgentTool;
|
|
15
15
|
export declare function createKnowledgeWriteTool(options: KnowledgeToolOptions): AgentTool;
|
|
16
|
+
/** Combines bounded reads while preserving the original visibility and policy checks. */
|
|
17
|
+
export declare function createKnowledgeReadTool(options: KnowledgeToolOptions, canUseCommand?: (command: 'search' | 'get') => boolean): AgentTool;
|