@xopcai/xopc 0.0.391 → 0.0.393
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 +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CzS0TUv9.js → agent-avatar-dicebear-1AF2KGju.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CPJr7NRR.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-cjJXJj_3.js +1 -0
- package/dist/gateway/static/root/assets/agents-DW3TlnIg.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-Bb3Kvz3X.js → agents-admin-api-B5aykqg_.js} +1 -1
- package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +1 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-B_MFhXXU.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-TYGidVnd.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-DOkyvOF0.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-DFnHPNie.js → archive-plugin-BrFfEp0u.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CnBLPVNh.js → automations-page-B7OofUPF.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-DIod-bfm.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BQC0Tzoi.js → binary-plugins-BfAWnYG8.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DSh5019z.js → block-editor-_Y-QwZ-3.js} +5 -5
- package/dist/gateway/static/root/assets/browser-automation-inputs-DH9QHI9m.js +1 -0
- package/dist/gateway/static/root/assets/browser-automations-page-B_SnD9B0.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BPlqYpMM.js +3 -0
- package/dist/gateway/static/root/assets/capabilities-page-BtzZvMIK.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-pt2M56-E.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-WzoG3oBb.js +8 -0
- package/dist/gateway/static/root/assets/capability-header-actions-CFVx3iaZ.js +1 -0
- package/dist/gateway/static/root/assets/channels-BXA55GY2.js +1 -0
- package/dist/gateway/static/root/assets/chat-terminal-dock-D3GuiG3N.js +36 -0
- package/dist/gateway/static/root/assets/{chunk-KS7C4IRE--EKdQGRF.js → chunk-KS7C4IRE-B2HK1psj.js} +2 -2
- package/dist/gateway/static/root/assets/computer-settings-page-CIbHDlp8.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-CDyCHkpK.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-DA2b6cJu.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-C424c_g9.js +1 -0
- package/dist/gateway/static/root/assets/dependency-picker-BVJh9sYc.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-Q52A8vjp.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-CZr1CXxu.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-sprite-Bd-aOI7N.js +30 -0
- package/dist/gateway/static/root/assets/desktop-pet-sprite-BuB0g8zv.css +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-D_WWTsze.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-C6cUgrvg.js +1 -0
- package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +18 -0
- package/dist/gateway/static/root/assets/extension-debug-page-DyyfC4gA.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-Dho9o3ZZ.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-CdnIGyCH.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-Dv_A5FMu.js → gateway-config-swr-BEePO3Wl.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-DghCGfY_.js → gateway-realtime-Dng_VOvI.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DtlBf7oH.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-D0KSQRNZ.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CkTVSESs.js → gateway-startup-retry-CDCiy7Cd.js} +1 -1
- package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-DV2wNqBn.js → highlighted-body-KQOG7T2V-BNpj_mIM.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-CH_A0W29.js +2 -0
- package/dist/gateway/static/root/assets/image-generation-api-DwkO2y46.js +1 -0
- package/dist/gateway/static/root/assets/imports-page-BrYvomnU.js +1 -0
- package/dist/gateway/static/root/assets/index-CKdOZoVu.js +260 -0
- package/dist/gateway/static/root/assets/index-Rxjt-jc3.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BveDYfYk.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-CcIi1BhT.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-page-B1a69mlV.js +1 -0
- package/dist/gateway/static/root/assets/local-session-drafts-CYEDUPH7.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-BpK9AiDq.js → locale-store-CE7L6MlS.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-Us1jv3C4.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-C9RAM7-s.js +1 -0
- package/dist/gateway/static/root/assets/markdown-view-PrKvVpRh.js +324 -0
- package/dist/gateway/static/root/assets/{media-plugins-oSChWbcP.js → media-plugins-CR1fp6IL.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-DQdcaMiu.js +1 -0
- package/dist/gateway/static/root/assets/messages-CaeL_miw.js +3 -0
- package/dist/gateway/static/root/assets/note-detail-panel-Q4yRx9iZ.js +5 -0
- package/dist/gateway/static/root/assets/notes-page-C9qu16IN.js +8 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-Cn_WK68Y.js +1 -0
- package/dist/gateway/static/root/assets/personal-page-DrP6hEcg.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-3NbiWGRG.js +1 -0
- package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +1 -0
- package/dist/gateway/static/root/assets/product-open-page-KKE5-V8k.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-content-BM0oqNxi.js +1 -0
- package/dist/gateway/static/root/assets/project-detail-page-CPZrwf8n.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-Besfx_07.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-Dsa2LvRt.js → registry-api-BO2Ck3aA.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CTDghL5L.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-C2Uw89eY.js → runtime-tools-api-B1sb8nlw.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-W0X_Fy7b.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-DNM2Zdyr.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-ga-SUOq_.js → session-api-CaAUJvu1.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-DoFTlgNz.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-Dxtablvd.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-C7zklouD.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-DCSHPFAN.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-DPCgrICd.js → settings-page-B18UbbaJ.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-JoSfluza.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-BLnS3hoH.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-DcIuPJK3.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-CcYGkRPL.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-PnUZjoPK.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-D3JAw62U.js +2 -0
- package/dist/gateway/static/root/assets/style-BQqU-1pP.js +7 -0
- package/dist/gateway/static/root/assets/system-settings-panel-C974myUM.js +1 -0
- package/dist/gateway/static/root/assets/tab-completion-input-CxtEp0aP.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-CiljFekC.js +2 -0
- package/dist/gateway/static/root/assets/{task-expandable-content-DAZGz5YC.js → task-expandable-content-DTEVoNrM.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-DEE75MUn.js +1 -0
- package/dist/gateway/static/root/assets/tunnel-api-DWyI3uA3.js +1 -0
- package/dist/gateway/static/root/assets/usage-page-DJYvbxk7.js +1 -0
- package/dist/gateway/static/root/assets/use-autosave-CY0YuljR.js +1 -0
- package/dist/gateway/static/root/assets/user-model-page-eHZJD6Fw.js +2 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-BNG4ixJE.js +1 -0
- package/dist/gateway/static/root/assets/{voice-config-api-Dl39b27p.js → voice-config-api-D0Wscn9W.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-CohIoAre.js +1 -0
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BXI8eyYh.js +3 -0
- package/dist/gateway/static/root/assets/workflows-page-CVti0u-l.js +6 -0
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-C_COnY_B.js +1 -0
- package/dist/gateway/static/root/index.html +22 -72
- package/dist/gateway/static/root/notification-sw.js +0 -15
- package/dist/package.js +1 -1
- package/dist/packages/computer-control-contract/src/index.js +8 -0
- package/dist/packages/gateway-contract/src/app-context.js +0 -1
- package/dist/packages/gateway-contract/src/capabilities.js +2 -249
- package/dist/packages/gateway-contract/src/home.js +0 -5
- package/dist/packages/gateway-contract/src/index.js +0 -4
- package/dist/packages/gateway-contract/src/notifications.js +0 -11
- package/dist/packages/gateway-contract/src/product-delivery.js +0 -2
- package/dist/src/agent/agent-instance-gateway.d.ts +2 -0
- package/dist/src/agent/agent-manager.d.ts +1 -3
- package/dist/src/agent/agent-manager.js +8 -18
- package/dist/src/agent/child-agent-factory.d.ts +2 -1
- package/dist/src/agent/child-agent-factory.js +2 -1
- package/dist/src/agent/coding/projectEvidence.d.ts +9 -0
- package/dist/src/agent/coding/projectEvidence.js +177 -0
- package/dist/src/agent/coding/repository-instructions.d.ts +8 -1
- package/dist/src/agent/coding/repository-instructions.js +9 -4
- package/dist/src/agent/coding/run-verification.d.ts +17 -2
- package/dist/src/agent/coding/run-verification.js +82 -12
- package/dist/src/agent/coding/workspace-revision.js +1 -1
- package/dist/src/agent/embedded/codemode-extension.js +1 -1
- package/dist/src/agent/embedded/execution-context.d.ts +1 -0
- package/dist/src/agent/embedded/execution-context.js +4 -1
- package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +1 -0
- package/dist/src/agent/embedded/run-turn.js +41 -5
- package/dist/src/agent/embedded/session-runner.js +1 -1
- package/dist/src/agent/embedded/session-tool-result-guard.js +5 -0
- package/dist/src/agent/embedded/types.d.ts +2 -0
- package/dist/src/agent/embedded/xopc-tools-bridge.js +2 -1
- package/dist/src/agent/external-tools/extension-provider.js +1 -1
- package/dist/src/agent/external-tools/gateway-tools.js +1 -1
- package/dist/src/agent/external-tools/memory-provider.js +1 -1
- package/dist/src/agent/independent-execution.d.ts +2 -0
- package/dist/src/agent/independent-execution.js +12 -0
- package/dist/src/agent/mcp/connection-drafts.js +15 -10
- package/dist/src/agent/memory/compaction.js +1 -1
- package/dist/src/agent/orchestration/delegation-scope.d.ts +1 -0
- package/dist/src/agent/orchestration/delegation-scope.js +4 -1
- package/dist/src/agent/orchestration/loop-guard.js +6 -2
- package/dist/src/agent/prompt/sections/agent-identity.js +3 -2
- package/dist/src/agent/prompt/sections/behavior.d.ts +3 -2
- package/dist/src/agent/prompt/sections/behavior.js +35 -25
- package/dist/src/agent/prompt/sections/memory-skills.d.ts +1 -1
- package/dist/src/agent/prompt/sections/memory-skills.js +10 -11
- package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +3 -2
- package/dist/src/agent/prompt/sections/messaging-runtime.js +21 -24
- package/dist/src/agent/prompt/sections/response-language.js +7 -5
- package/dist/src/agent/prompt/sections/tooling.js +11 -10
- package/dist/src/agent/prompt/service-prompt-builder.js +3 -1
- package/dist/src/agent/prompt/system-prompt-params.d.ts +2 -1
- package/dist/src/agent/prompt/system-prompt-params.js +2 -0
- package/dist/src/agent/prompt/system-prompt.d.ts +2 -1
- package/dist/src/agent/prompt/system-prompt.js +21 -18
- package/dist/src/agent/prompt/types.d.ts +2 -0
- package/dist/src/agent/service.js +1 -1
- package/dist/src/agent/service.types.d.ts +0 -2
- package/dist/src/agent/skills/format-skills-prompt.js +5 -2
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +9 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +6 -48
- package/dist/src/agent/tools/computer-use-tool.js +17 -3
- package/dist/src/agent/tools/dataBatch.d.ts +1 -0
- package/dist/src/agent/tools/dataBatch.js +4 -1
- package/dist/src/agent/tools/delegate-tool.d.ts +1 -0
- package/dist/src/agent/tools/delegate-tool.js +1 -0
- package/dist/src/agent/tools/error-tracker.js +4 -2
- package/dist/src/agent/tools/exec-command.js +4 -3
- package/dist/src/agent/tools/factory.d.ts +1 -2
- package/dist/src/agent/tools/factory.js +20 -22
- package/dist/src/agent/tools/{delegation-parent-policy.d.ts → noninteractive-tool-policy.d.ts} +1 -1
- package/dist/src/agent/tools/{delegation-parent-policy.js → noninteractive-tool-policy.js} +4 -4
- package/dist/src/agent/tools/personal-task-tool.js +1 -1
- package/dist/src/agent/tools/publish-artifacts.js +1 -1
- package/dist/src/agent/tools/search/cache.d.ts +3 -1
- package/dist/src/agent/tools/search/cache.js +4 -1
- package/dist/src/agent/tools/search/providers/deepseek-protocol.d.ts +9 -0
- package/dist/src/agent/tools/search/providers/deepseek-protocol.js +84 -0
- package/dist/src/agent/tools/search/providers/deepseek.d.ts +9 -0
- package/dist/src/agent/tools/search/providers/deepseek.js +55 -0
- package/dist/src/agent/tools/search/providers/xopc-cloud.d.ts +2 -1
- package/dist/src/agent/tools/search/providers/xopc-cloud.js +36 -1
- package/dist/src/agent/tools/search/registry.d.ts +1 -0
- package/dist/src/agent/tools/search/registry.js +32 -6
- package/dist/src/agent/tools/search/request-gate.d.ts +13 -0
- package/dist/src/agent/tools/search/request-gate.js +41 -0
- package/dist/src/agent/tools/search/resolve-config.js +1 -1
- package/dist/src/agent/tools/search/search-info.d.ts +8 -0
- package/dist/src/agent/tools/search/search-info.js +34 -0
- package/dist/src/agent/tools/search/types.d.ts +19 -1
- package/dist/src/agent/tools/toolExposure.d.ts +3 -0
- package/dist/src/agent/tools/toolExposure.js +25 -0
- package/dist/src/agent/tools/web.js +8 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +2 -4
- package/dist/src/agent/tools/xopc-use-tool.js +11 -135
- package/dist/src/agent/workflow/builtins/index.js +98 -0
- package/dist/src/agent/workflow/subagent-runner.d.ts +1 -0
- package/dist/src/agent/workflow/subagent-runner.js +3 -3
- package/dist/src/agent/workflow/types.d.ts +3 -2
- package/dist/src/agent/workflow/workflow-child-tools.js +13 -8
- package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +1 -2
- package/dist/src/automations/domain/validation.d.ts +8 -8
- package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -1
- package/dist/src/automations/events/event-catalog.js +0 -18
- package/dist/src/backup/archive.js +1 -2
- package/dist/src/capabilities/runtime/app-context.js +2 -6
- package/dist/src/capabilities/runtime/product.d.ts +1 -3
- package/dist/src/capabilities/runtime/product.js +0 -6
- package/dist/src/cli/command-manifest.js +1 -1
- package/dist/src/cli/commands/search.d.ts +2 -2
- package/dist/src/cli/commands/search.js +8 -6
- package/dist/src/computer/config.d.ts +1 -0
- package/dist/src/computer/config.js +1 -0
- package/dist/src/computer/diagnostics.d.ts +223 -0
- package/dist/src/computer/diagnostics.js +360 -0
- package/dist/src/computer/errors.d.ts +1 -1
- package/dist/src/computer/errors.js +8 -1
- package/dist/src/computer/evaluation-comparison.d.ts +125 -0
- package/dist/src/computer/evaluation-comparison.js +65 -0
- package/dist/src/computer/evaluation-harness.d.ts +2 -1
- package/dist/src/computer/evaluation-harness.js +59 -8
- package/dist/src/computer/evaluation.d.ts +102 -7
- package/dist/src/computer/evaluation.js +64 -15
- package/dist/src/computer/flows.d.ts +62 -0
- package/dist/src/computer/flows.js +158 -0
- package/dist/src/computer/model-adapter.d.ts +11 -0
- package/dist/src/computer/model-adapter.js +156 -11
- package/dist/src/computer/model-policy.d.ts +1 -1
- package/dist/src/computer/model-policy.js +13 -6
- package/dist/src/computer/release-gate.d.ts +11 -0
- package/dist/src/computer/runtime.d.ts +27 -2
- package/dist/src/computer/runtime.js +261 -44
- package/dist/src/computer/semantic-actions.d.ts +3 -0
- package/dist/src/computer/semantic-actions.js +29 -0
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/models-json.d.ts +14 -8
- package/dist/src/config/models-json.js +2 -0
- package/dist/src/config/outbound-proxy.d.ts +11 -0
- package/dist/src/config/outbound-proxy.js +30 -0
- package/dist/src/config/rules.js +5 -0
- package/dist/src/config/schema.d.ts +25 -10
- package/dist/src/config/schema.js +21 -10
- package/dist/src/connectors/cli/authorization.d.ts +1 -1
- package/dist/src/connectors/cli/store.d.ts +1 -1
- package/dist/src/endpoint-tools/invocation-service.js +5 -0
- package/dist/src/gateway/config-tools-web.js +15 -4
- package/dist/src/gateway/gateway-workflow-host.types.d.ts +3 -0
- package/dist/src/gateway/hono/app.d.ts +0 -2
- package/dist/src/gateway/hono/app.js +1 -2
- package/dist/src/gateway/hono/lib/config-payload.d.ts +6 -3
- package/dist/src/gateway/hono/lib/config-payload.js +5 -1
- package/dist/src/gateway/hono/routes/capability-operations.js +0 -7
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +7 -0
- package/dist/src/gateway/hono/routes/deps.d.ts +0 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
- package/dist/src/gateway/hono/routes/models.js +5 -2
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
- package/dist/src/gateway/service/config-coordinator.d.ts +8 -5
- package/dist/src/gateway/service/session-input-coordinator.js +1 -1
- package/dist/src/gateway/service.d.ts +0 -3
- package/dist/src/gateway/service.js +10 -44
- package/dist/src/home-intelligence/generator.js +1 -1
- package/dist/src/home-intelligence/policy.js +0 -5
- package/dist/src/home-intelligence/repository.d.ts +1 -1
- package/dist/src/infra/domain-outbox-dispatcher.js +1 -1
- package/dist/src/infra/http-proxy-env.d.ts +3 -0
- package/dist/src/infra/http-proxy-env.js +22 -2
- package/dist/src/notifications/service.d.ts +2 -18
- package/dist/src/notifications/service.js +8 -39
- package/dist/src/notifications/store.d.ts +0 -1
- package/dist/src/notifications/store.js +1 -4
- package/dist/src/personal-agent/communication.d.ts +2 -1
- package/dist/src/personal-agent/communication.js +11 -2
- package/dist/src/personal-agent/persona.d.ts +2 -1
- package/dist/src/personal-agent/persona.js +3 -2
- package/dist/src/personal-agent/prompts.d.ts +2 -0
- package/dist/src/personal-agent/prompts.js +69 -7
- package/dist/src/personal-agent/reply-composer.js +2 -2
- package/dist/src/personal-agent/reply-style.d.ts +4 -2
- package/dist/src/personal-agent/reply-style.js +19 -3
- package/dist/src/personal-agent/request-service.js +14 -9
- package/dist/src/pets/loopi-artwork.d.ts +2 -0
- package/dist/src/pets/loopi-artwork.js +36 -0
- package/dist/src/pets/pointer.d.ts +6 -0
- package/dist/src/pets/pointer.js +16 -0
- package/dist/src/platform/contracts.d.ts +3 -3
- package/dist/src/project-trust/trust-store.d.ts +5 -0
- package/dist/src/project-trust/trust-store.js +7 -1
- package/dist/src/providers/index.js +3 -3
- package/dist/src/providers/model-registry.js +2 -0
- package/dist/src/providers/model-supplements.d.ts +0 -2
- package/dist/src/providers/model-supplements.js +2 -18
- package/dist/src/providers/xopc-cloud-credit-budget.d.ts +1 -0
- package/dist/src/providers/xopc-cloud-credit-budget.js +4 -1
- package/dist/src/realtime/compact-run-event.js +17 -2
- package/dist/src/realtime/runtime.js +1 -1
- package/dist/src/routing/agent-session-key.js +1 -1
- package/dist/src/routing/resolve-route.js +1 -1
- package/dist/src/routing/session-key.js +1 -1
- package/dist/src/session/compact-history.js +16 -6
- package/dist/src/storage/sqlite/connection.js +2 -2
- package/dist/src/storage/sqlite/conversation-repository.js +1 -1
- package/dist/src/storage/sqlite/migrations/conversation-backup.d.ts +0 -2
- package/dist/src/storage/sqlite/migrations/conversation-backup.js +8 -18
- package/dist/src/storage/sqlite/migrations/conversation-windows-owners.js +28 -33
- package/dist/src/storage/sqlite/migrations/errors.js +1 -1
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +5 -40
- package/dist/src/storage/sqlite/migrations/types.d.ts +0 -2
- package/dist/src/storage/sqlite/schema.d.ts +1 -3
- package/dist/src/storage/sqlite/schema.js +4 -8
- package/dist/src/storage/sqlite/schema.sql +1356 -1282
- package/dist/src/tasks/capabilities/management.d.ts +2 -2
- package/dist/src/tasks/capabilities/relations.d.ts +4 -4
- package/dist/src/tasks/capabilities/write.d.ts +4 -4
- package/dist/src/tasks/task-allocation-service.js +51 -40
- package/dist/src/tasks/task-application-service.js +5 -1
- package/dist/src/tasks/task-contract-planner.js +21 -6
- package/dist/src/tasks/task-language.d.ts +2 -0
- package/dist/src/tasks/task-language.js +13 -2
- package/dist/src/tasks/task-research-result.d.ts +2 -2
- package/dist/src/tasks/task-run-coordinator.js +5 -1
- package/dist/src/tasks/task-run-dispatcher.js +2 -1
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/usage/scenario-registry.js +0 -5
- package/dist/src/usage/types.d.ts +1 -1
- package/dist/src/work-discovery/probe.js +1 -1
- package/dist/src/workflows/domain/definition.d.ts +1 -0
- package/dist/src/workflows/service/workflow-run-service.js +2 -1
- package/package.json +10 -6
- package/skills/THIRD_PARTY_NOTICES.md +0 -6
- package/skills/creative/chat-charts/SKILL.md +26 -0
- package/skills/creative/chat-charts/references/bar-example.json +10 -0
- package/skills/creative/chat-charts/references/chart-spec.md +25 -0
- package/skills/creative/chat-charts/references/line-example.json +13 -0
- package/dist/gateway/static/root/assets/activity-YogQEteU.js +0 -1
- package/dist/gateway/static/root/assets/activity-store-DWQCDi8M.js +0 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DE910MyU.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-0SlvsYl7.js +0 -1
- package/dist/gateway/static/root/assets/agents-BZh28Qn1.js +0 -77
- package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +0 -1
- package/dist/gateway/static/root/assets/app-link-4gpFbdsr.js +0 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-9A7JN5V5.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-BPdLEo6L.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-Cz7LypV9.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-BBjS-sk-.js +0 -6
- package/dist/gateway/static/root/assets/browser-automation-inputs-C5tIrIRL.js +0 -1
- package/dist/gateway/static/root/assets/browser-automations-page-CFCMNfJN.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-C__tyPwu.js +0 -3
- package/dist/gateway/static/root/assets/button-aIC072nz.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-D6RJG4QY.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-DGEmBQnF.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-B5AZa7ir.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Dskz2_bh.js +0 -8
- package/dist/gateway/static/root/assets/capability-header-actions-xzjWZVbg.js +0 -1
- package/dist/gateway/static/root/assets/channels-DRse_dD3.js +0 -1
- package/dist/gateway/static/root/assets/chat-terminal-dock-CQF0M4kE.js +0 -36
- package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +0 -1
- package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +0 -1
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +0 -1
- package/dist/gateway/static/root/assets/circle-dashed-8qMD7gHf.js +0 -1
- package/dist/gateway/static/root/assets/circle-dot-BAseJTrF.js +0 -1
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-ZfzCTS0N.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-CwAeWVLK.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-CanakKaj.js +0 -1
- package/dist/gateway/static/root/assets/copy-text-row-C7egVuKr.js +0 -1
- package/dist/gateway/static/root/assets/date-formatters-CUZAyDEg.js +0 -1
- package/dist/gateway/static/root/assets/date-picker-hmJlEAQZ.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-Us_Juz6I.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-CvOTI4uw.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-DYg-Gb8t.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-sprite-BP6iMVw1.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-B1FbZ8C1.js +0 -1
- package/dist/gateway/static/root/assets/directory-picker-path-field-DZN9EDvM.js +0 -1
- package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
- package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-YIibp6Kk.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-DkcGyb28.js +0 -1
- package/dist/gateway/static/root/assets/extension-provider-B1PQGTtY.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-C_rJiSKo.js +0 -1
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-CMJVSnvi.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-CjCWPHNJ.js +0 -1
- package/dist/gateway/static/root/assets/globe-DSSGFWFn.js +0 -1
- package/dist/gateway/static/root/assets/home-page-fAYsd7kG.js +0 -2
- package/dist/gateway/static/root/assets/image-generation-api-B98iXt6A.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-DoBCBN8G.js +0 -1
- package/dist/gateway/static/root/assets/index-DFgXwLsv.js +0 -260
- package/dist/gateway/static/root/assets/index-a6ZvhclR.css +0 -1
- package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +0 -1
- package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +0 -1
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-DXVu4lqV.js +0 -1
- package/dist/gateway/static/root/assets/loader-circle-CifKLtgG.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-B3fz6uRi.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-page-BC6xhmUh.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-DFnZQu9A.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-CSqSFDRU.js +0 -2
- package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +0 -1
- package/dist/gateway/static/root/assets/loopi-Djb8XU3l.js +0 -1
- package/dist/gateway/static/root/assets/management-settings-gq5L0THs.js +0 -1
- package/dist/gateway/static/root/assets/markdown-view-IsYTotu6.js +0 -324
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-C_QKwqDN.js +0 -1
- package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +0 -1
- package/dist/gateway/static/root/assets/messages-CKTo_sIF.js +0 -3
- package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +0 -1
- package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +0 -1
- package/dist/gateway/static/root/assets/models-hub-cache-TjpL7hZ5.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CdpNXre-.js +0 -5
- package/dist/gateway/static/root/assets/notes-api-CBb944yw.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-EGvGw8MN.js +0 -8
- package/dist/gateway/static/root/assets/page-context-capture-button-CoWb7BYP.js +0 -1
- package/dist/gateway/static/root/assets/page-tabs-HLrKIjXH.js +0 -1
- package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-DYzbNTyN.js +0 -1
- package/dist/gateway/static/root/assets/popover-select-DHC7J4lG.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-BJU2fmPn.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-BAks11S4.js +0 -1
- package/dist/gateway/static/root/assets/product-open-page-CTyy7H7-.js +0 -1
- package/dist/gateway/static/root/assets/product-preview-content-D4xqTaEy.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DIVCw0QQ.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-B4L9VnBN.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-B8PvgLVz.js +0 -1
- package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +0 -1
- package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Bqnp3tyt.js +0 -1
- package/dist/gateway/static/root/assets/scenes-page-D50g4GM2.js +0 -2
- package/dist/gateway/static/root/assets/schema-form-h_RCNfiO.js +0 -1
- package/dist/gateway/static/root/assets/search-DA7gz22f.js +0 -1
- package/dist/gateway/static/root/assets/secret-input-BxWHx6J6.js +0 -1
- package/dist/gateway/static/root/assets/send-session-input-DypbVTT7.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-C_OiKblh.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-BsqDIbIr.js +0 -1
- package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D3zJAW4p.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +0 -1
- package/dist/gateway/static/root/assets/settings-shell-dialog-layer-BU3UuiJr.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-jjSYJpDd.js +0 -1
- package/dist/gateway/static/root/assets/share-link-dialog-BGicglAS.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-BORe9rLB.js +0 -2
- package/dist/gateway/static/root/assets/shares-api-Dbx3z6-1.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-C13FgfWk.js +0 -1
- package/dist/gateway/static/root/assets/skeleton-BI5TyibZ.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-Cq6O1DZK.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Cq7QDjMA.js +0 -1
- package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BM1ShEjx.js +0 -2
- package/dist/gateway/static/root/assets/style-TIDOdKy0.js +0 -7
- package/dist/gateway/static/root/assets/system-settings-panel-BNCGFO1e.js +0 -1
- package/dist/gateway/static/root/assets/tab-completion-input-D64VNmiA.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-4VG82wcF.js +0 -2
- package/dist/gateway/static/root/assets/theme-store-Db7hDESt.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-C6p2Mu92.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-Dw15EJp0.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-DDrIqgGe.js +0 -1
- package/dist/gateway/static/root/assets/use-async-resource-GrnWNwMZ.js +0 -1
- package/dist/gateway/static/root/assets/use-autosave-DDjIdW4U.js +0 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-DNl7O3Vb.js +0 -2
- package/dist/gateway/static/root/assets/use-file-preview-expanded-DMHehhwG.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-CaS9dOIr.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-ByAxHE4P.js +0 -1
- package/dist/gateway/static/root/assets/voice-transcribe-api-CVaU83Jc.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-BvVvPA1T.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BcFm9QcC.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-DMec_XZB.js +0 -6
- package/dist/gateway/static/root/assets/workspace-api-BpfKsrtP.js +0 -2
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CU5lzzE9.js +0 -1
- package/dist/packages/gateway-contract/src/project-monitoring.js +0 -36
- package/dist/packages/gateway-contract/src/scenes.js +0 -200
- package/dist/src/agent/bootstrap/project-agents-context.d.ts +0 -2
- package/dist/src/agent/bootstrap/project-agents-context.js +0 -30
- package/dist/src/gateway/hono/routes/scenes.d.ts +0 -3
- package/dist/src/gateway/hono/routes/scenes.js +0 -271
- package/dist/src/gateway/scenes/browserNotifications.d.ts +0 -4
- package/dist/src/gateway/scenes/browserNotifications.js +0 -54
- package/dist/src/gateway/scenes/host.d.ts +0 -34
- package/dist/src/gateway/scenes/host.js +0 -154
- package/dist/src/gateway/scenes/mailContext.d.ts +0 -32
- package/dist/src/gateway/scenes/mailContext.js +0 -235
- package/dist/src/gateway/scenes/slackThreadSource.d.ts +0 -41
- package/dist/src/gateway/scenes/slackThreadSource.js +0 -168
- package/dist/src/notifications/browser-endpoint.d.ts +0 -2
- package/dist/src/notifications/browser-endpoint.js +0 -13
- package/dist/src/notifications/browserSubscriptions.d.ts +0 -20
- package/dist/src/notifications/browserSubscriptions.js +0 -59
- package/dist/src/notifications/browserTransport.d.ts +0 -9
- package/dist/src/notifications/browserTransport.js +0 -64
- package/dist/src/notifications/dispatch.d.ts +0 -46
- package/dist/src/notifications/dispatch.js +0 -109
- package/dist/src/notifications/domain-delivery.d.ts +0 -21
- package/dist/src/notifications/domain-delivery.js +0 -1
- package/dist/src/notifications/quietHours.d.ts +0 -6
- package/dist/src/notifications/quietHours.js +0 -23
- package/dist/src/notifications/resultOutbox.d.ts +0 -23
- package/dist/src/notifications/resultOutbox.js +0 -49
- package/dist/src/scenes/activationAdapter.d.ts +0 -19
- package/dist/src/scenes/activationAdapter.js +0 -1
- package/dist/src/scenes/agentExecutor.d.ts +0 -9
- package/dist/src/scenes/agentExecutor.js +0 -61
- package/dist/src/scenes/capabilities/read.d.ts +0 -3
- package/dist/src/scenes/capabilities/read.js +0 -187
- package/dist/src/scenes/capabilities/write.d.ts +0 -3
- package/dist/src/scenes/capabilities/write.js +0 -151
- package/dist/src/scenes/contracts.d.ts +0 -9
- package/dist/src/scenes/contracts.js +0 -61
- package/dist/src/scenes/execution.d.ts +0 -62
- package/dist/src/scenes/execution.js +0 -169
- package/dist/src/scenes/httpServices.d.ts +0 -39
- package/dist/src/scenes/httpServices.js +0 -1
- package/dist/src/scenes/inbox.d.ts +0 -17
- package/dist/src/scenes/inbox.js +0 -68
- package/dist/src/scenes/mailContext.d.ts +0 -24
- package/dist/src/scenes/mailContext.js +0 -115
- package/dist/src/scenes/mailObservations.d.ts +0 -20
- package/dist/src/scenes/mailObservations.js +0 -107
- package/dist/src/scenes/maintenance.d.ts +0 -3
- package/dist/src/scenes/maintenance.js +0 -20
- package/dist/src/scenes/metrics.d.ts +0 -31
- package/dist/src/scenes/metrics.js +0 -89
- package/dist/src/scenes/model.d.ts +0 -3
- package/dist/src/scenes/model.js +0 -10
- package/dist/src/scenes/notificationEligibility.d.ts +0 -17
- package/dist/src/scenes/notificationEligibility.js +0 -72
- package/dist/src/scenes/notificationPublication.d.ts +0 -7
- package/dist/src/scenes/notificationPublication.js +0 -43
- package/dist/src/scenes/preferences.d.ts +0 -19
- package/dist/src/scenes/preferences.js +0 -86
- package/dist/src/scenes/readiness.d.ts +0 -7
- package/dist/src/scenes/readiness.js +0 -20
- package/dist/src/scenes/registry.d.ts +0 -11
- package/dist/src/scenes/registry.js +0 -28
- package/dist/src/scenes/repository.d.ts +0 -178
- package/dist/src/scenes/repository.js +0 -782
- package/dist/src/scenes/resultNotifications.d.ts +0 -17
- package/dist/src/scenes/resultNotifications.js +0 -204
- package/dist/src/scenes/runtime.d.ts +0 -25
- package/dist/src/scenes/runtime.js +0 -101
- package/dist/src/scenes/schedule.d.ts +0 -2
- package/dist/src/scenes/schedule.js +0 -33
- package/dist/src/scenes/service.d.ts +0 -36
- package/dist/src/scenes/service.js +0 -122
- package/dist/src/scenes/taskFollowUp/agentExecutor.d.ts +0 -36
- package/dist/src/scenes/taskFollowUp/agentExecutor.js +0 -149
- package/dist/src/scenes/taskFollowUp/branchInventory.d.ts +0 -38
- package/dist/src/scenes/taskFollowUp/branchInventory.js +0 -70
- package/dist/src/scenes/taskFollowUp/contracts.d.ts +0 -121
- package/dist/src/scenes/taskFollowUp/contracts.js +0 -119
- package/dist/src/scenes/taskFollowUp/resources.d.ts +0 -19
- package/dist/src/scenes/taskFollowUp/resources.js +0 -97
- package/dist/src/scenes/taskFollowUp/service.d.ts +0 -848
- package/dist/src/scenes/taskFollowUp/service.js +0 -770
- package/dist/src/scenes/taskFollowUp/workspaceFingerprint.d.ts +0 -2
- package/dist/src/scenes/taskFollowUp/workspaceFingerprint.js +0 -46
- package/dist/src/scenes/templates.d.ts +0 -64
- package/dist/src/scenes/templates.js +0 -76
- package/dist/src/scenes/userNotes.d.ts +0 -13
- package/dist/src/scenes/userNotes.js +0 -40
- package/dist/src/storage/sqlite/migrations/166_remove_proactive_previews.sql +0 -1
- package/dist/src/storage/sqlite/migrations/167_discussion_recording_chunks.sql +0 -7
- package/dist/src/storage/sqlite/migrations/168_discussion_evidence.sql +0 -16
- package/dist/src/storage/sqlite/migrations/169_discussion_action_tasks.sql +0 -8
- package/dist/src/storage/sqlite/migrations/170_discussion_edits.sql +0 -8
- package/dist/src/storage/sqlite/migrations/171_discussion_recording_jobs.sql +0 -14
- package/dist/src/storage/sqlite/migrations/172_project_understanding.sql +0 -3
- package/dist/src/storage/sqlite/migrations/173_mobile_discussion_source.sql +0 -5
- package/dist/src/storage/sqlite/migrations/174_capability_imports.sql +0 -11
- package/dist/src/storage/sqlite/migrations/175_import_selections.sql +0 -8
- package/dist/src/storage/sqlite/migrations/176_proactive_quality.sql +0 -5
- package/dist/src/storage/sqlite/migrations/177_proactive_check_controls.sql +0 -25
- package/dist/src/storage/sqlite/migrations/178_conversation_uuid.sql +0 -2
- package/dist/src/storage/sqlite/migrations/179_harmonyos_devices.sql +0 -41
- package/dist/src/storage/sqlite/migrations/180_execution_environment_ownership.sql +0 -7
- package/dist/src/storage/sqlite/migrations/181_knowledge_item_status_events.sql +0 -12
- package/dist/src/storage/sqlite/migrations/182_connector_account_policies.sql +0 -92
- package/dist/src/storage/sqlite/migrations/183_connector_backend_consistency.sql +0 -20
- package/dist/src/storage/sqlite/migrations/184_memory_suppressions.sql +0 -12
- package/dist/src/storage/sqlite/migrations/185_understanding_refresh_batches.sql +0 -6
- package/dist/src/storage/sqlite/migrations/186_sidebar_layout.sql +0 -16
- package/dist/src/storage/sqlite/migrations/187_cli_connectors.sql +0 -34
- package/dist/src/storage/sqlite/migrations/188_scene_storage.sql +0 -2
- package/dist/src/storage/sqlite/migrations/189_scene_source_health.sql +0 -8
- package/dist/src/storage/sqlite/migrations/190_scene_development.sql +0 -37
- package/dist/src/storage/sqlite/migrations/191_scene_task_follow_up.sql +0 -27
- package/dist/src/storage/sqlite/migrations/192_capability_operations.sql +0 -20
- package/dist/src/storage/sqlite/migrations/193_note_file_cleanup.sql +0 -8
- package/dist/src/storage/sqlite/migrations/194_capability_external_outcomes.sql +0 -11
- package/dist/src/storage/sqlite/migrations/195_automation_deleted_revisions.sql +0 -4
- package/dist/src/storage/sqlite/migrations/196_automation_run_requests.sql +0 -23
- package/dist/src/storage/sqlite/migrations/197_note_deletion_cleanup.sql +0 -8
- package/dist/src/storage/sqlite/migrations/198_project_workspace_creation.sql +0 -7
- package/dist/src/storage/sqlite/migrations/199_scene_resource_events.sql +0 -488
- package/dist/src/storage/sqlite/migrations/200_connected_work_threads.sql +0 -92
- package/dist/src/storage/sqlite/migrations/201_connector_extraction_audit.sql +0 -127
- package/dist/src/storage/sqlite/migrations/202_chat_previews.sql +0 -26
- package/dist/src/storage/sqlite/migrations/203_remove_retired_proactive_contracts.sql +0 -70
- package/dist/src/storage/sqlite/migrations/204_home_intelligence.sql +0 -78
- package/dist/src/storage/sqlite/migrations/205_agent_catalog.sql +0 -66
- package/dist/src/storage/sqlite/migrations/206_home_advice_strategy_version.sql +0 -3
- package/dist/src/storage/sqlite/migrations/207_user_model_policy_contract.sql +0 -121
- package/dist/src/storage/sqlite/migrations/208_automation_management.sql +0 -2
- package/dist/src/storage/sqlite/migrations/209_automation_event_hub.sql +0 -48
- package/dist/src/storage/sqlite/migrations/210_remove_legacy_automation_timeout.sql +0 -14
- package/dist/src/storage/sqlite/migrations/211_automation_result_deliveries.sql +0 -16
- package/dist/src/storage/sqlite/migrations/212_automation_delivery_policy.sql +0 -30
- package/dist/src/storage/sqlite/migrations/213_automation_reliability_contract.sql +0 -188
- package/dist/src/storage/sqlite/migrations/214_ai_usage_ledger.sql +0 -41
- package/dist/src/storage/sqlite/migrations/215_scene_execution_adapters.sql +0 -6
- package/dist/src/storage/sqlite/migrations/216_remove_scene_model_usage.sql +0 -1
- package/dist/src/storage/sqlite/migrations/217_remove_legacy_memory_tables.sql +0 -4
- package/dist/src/storage/sqlite/migrations/conversation-key-decoder.d.ts +0 -8
- package/dist/src/storage/sqlite/migrations/conversation-key-decoder.js +0 -87
- package/dist/src/storage/sqlite/migrations/conversation-uuid.d.ts +0 -8
- package/dist/src/storage/sqlite/migrations/conversation-uuid.js +0 -366
- package/dist/src/storage/sqlite/migrations/scene-reset.d.ts +0 -5
- package/dist/src/storage/sqlite/migrations/scene-reset.js +0 -40
- package/dist/src/storage/sqlite/scenes-schema.d.ts +0 -8
- package/dist/src/storage/sqlite/scenes-schema.js +0 -60
- package/dist/src/storage/sqlite/schemas/notifications.sql +0 -65
- package/dist/src/storage/sqlite/schemas/scenes.sql +0 -205
- package/skills/engineering/design-recurring-work/SKILL.md +0 -75
|
@@ -91,14 +91,6 @@ const AUTHENTICATED_LAZY_ROUTE_BUNDLES = [
|
|
|
91
91
|
return { register: registerBrowserSessionRoutes };
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
-
{
|
|
95
|
-
id: "scenes",
|
|
96
|
-
match: (path) => startsWithAny(path, ["/api/scenes"]),
|
|
97
|
-
load: async () => {
|
|
98
|
-
const { registerSceneRoutes } = await import("./scenes.js");
|
|
99
|
-
return { register: registerSceneRoutes };
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
94
|
{
|
|
103
95
|
id: "runtime-tools",
|
|
104
96
|
match: (path) => startsWithAny(path, ["/api/runtime-tools"]),
|
|
@@ -3,12 +3,12 @@ import { init_model_usage, withModelUsageOrigin } from "../../../providers/model
|
|
|
3
3
|
import { resolveEffectiveAgentConfigForAgent } from "../../../config/agent-profile.js";
|
|
4
4
|
import { init_resolve_config_value, testApiKeyResolution } from "../../../config/resolve-config-value.js";
|
|
5
5
|
import { resolveModelsJsonPath } from "../../../config/paths.js";
|
|
6
|
+
import "../../../providers/constants.js";
|
|
6
7
|
import { computerModelProfile, init_model_policy, isDedicatedComputerModel } from "../../../computer/model-policy.js";
|
|
7
8
|
import { init_models_json, loadModelsJson, saveModelsJson, validateModelsConfig } from "../../../config/models-json.js";
|
|
8
9
|
import { getModelCatalogStore, init_model_catalog_store } from "../../../providers/model-catalog-store.js";
|
|
9
10
|
import { getModelRegistry } from "../../../providers/model-registry.js";
|
|
10
11
|
import { CredentialResolver, init_credentials } from "../../../auth/credentials.js";
|
|
11
|
-
import "../../../providers/constants.js";
|
|
12
12
|
import { getProviderRegistry, init_plugin_registry } from "../../../providers/plugin-registry.js";
|
|
13
13
|
import { PROVIDER_META, getAllModels, getAllProviders, getAvailableModels, getProviderAuthState, init_providers, isProviderConfigured, isProviderConfiguredSync } from "../../../providers/index.js";
|
|
14
14
|
import { XopcCloudAccountError, XopcCloudAccountService } from "../../../providers/xopc-cloud-account-service.js";
|
|
@@ -324,7 +324,10 @@ function registerModelsRoutes(authenticated, deps) {
|
|
|
324
324
|
name: m.name,
|
|
325
325
|
...catalogDisplayNames(m.provider, m.id),
|
|
326
326
|
provider: m.provider,
|
|
327
|
-
...computerModelProfile(m) ? { computerUse: {
|
|
327
|
+
...computerModelProfile(m) ? { computerUse: {
|
|
328
|
+
profile: computerModelProfile(m),
|
|
329
|
+
dedicated: isDedicatedComputerModel(m)
|
|
330
|
+
} } : {},
|
|
328
331
|
contextWindow: m.contextWindow ?? 128e3,
|
|
329
332
|
maxTokens: m.maxTokens ?? 4096,
|
|
330
333
|
reasoning: m.reasoning ?? false,
|
|
@@ -105,7 +105,7 @@ export declare function submitSessionInput(c: Context, deps: AuthenticatedRouteD
|
|
|
105
105
|
sequence: number;
|
|
106
106
|
surface: "electron" | "web" | "mobile";
|
|
107
107
|
resourceRefs: {
|
|
108
|
-
kind: "project" | "note" | "task" | "
|
|
108
|
+
kind: "project" | "note" | "task" | "local_app";
|
|
109
109
|
id: string;
|
|
110
110
|
revision: string;
|
|
111
111
|
}[];
|
|
@@ -264,7 +264,7 @@ export declare function replaceLatestSessionTurn(c: Context, deps: Authenticated
|
|
|
264
264
|
sequence: number;
|
|
265
265
|
surface: "electron" | "web" | "mobile";
|
|
266
266
|
resourceRefs: {
|
|
267
|
-
kind: "project" | "note" | "task" | "
|
|
267
|
+
kind: "project" | "note" | "task" | "local_app";
|
|
268
268
|
id: string;
|
|
269
269
|
revision: string;
|
|
270
270
|
}[];
|
|
@@ -161,6 +161,11 @@ export declare class GatewayConfigCoordinator {
|
|
|
161
161
|
};
|
|
162
162
|
channels: Record<string, unknown>;
|
|
163
163
|
gateway: {
|
|
164
|
+
outboundProxy?: {
|
|
165
|
+
mode: "custom" | "environment" | "direct";
|
|
166
|
+
url: string;
|
|
167
|
+
noProxy: string;
|
|
168
|
+
};
|
|
164
169
|
bind?: "custom" | "auto" | "loopback" | "lan" | "tailnet";
|
|
165
170
|
customBindHost?: string;
|
|
166
171
|
port?: number;
|
|
@@ -212,9 +217,6 @@ export declare class GatewayConfigCoordinator {
|
|
|
212
217
|
webchat?: {
|
|
213
218
|
activityDetailDefault: "stream" | "on" | "off";
|
|
214
219
|
};
|
|
215
|
-
scenes?: {
|
|
216
|
-
enabled: boolean;
|
|
217
|
-
};
|
|
218
220
|
corsOrigins?: string[];
|
|
219
221
|
publicUrl?: string;
|
|
220
222
|
dangerouslyAllowHostHeaderOriginFallback?: boolean;
|
|
@@ -317,6 +319,7 @@ export declare class GatewayConfigCoordinator {
|
|
|
317
319
|
enabled: boolean;
|
|
318
320
|
maxActionsPerSession: number;
|
|
319
321
|
maxModelRequests: number;
|
|
322
|
+
maxRescuesPerSession: number;
|
|
320
323
|
maxSessionDurationMs: number;
|
|
321
324
|
idleGrantTtlMs: number;
|
|
322
325
|
};
|
|
@@ -326,7 +329,7 @@ export declare class GatewayConfigCoordinator {
|
|
|
326
329
|
search?: {
|
|
327
330
|
maxResults: number;
|
|
328
331
|
providers: {
|
|
329
|
-
type: "brave" | "tavily" | "bing" | "searxng";
|
|
332
|
+
type: "brave" | "tavily" | "bing" | "searxng" | "deepseek";
|
|
330
333
|
apiKey?: string;
|
|
331
334
|
url?: string;
|
|
332
335
|
disabled?: boolean;
|
|
@@ -439,7 +442,7 @@ export declare class GatewayConfigCoordinator {
|
|
|
439
442
|
a2aApi?: string;
|
|
440
443
|
realtime?: string;
|
|
441
444
|
};
|
|
442
|
-
capabilities: Record<"
|
|
445
|
+
capabilities: Record<"models" | "connectors" | "tunnels" | "shares" | "managedRuntime" | "runtimeFleet" | "traceUpload" | "a2a", boolean>;
|
|
443
446
|
protocols: {
|
|
444
447
|
xopc: {
|
|
445
448
|
min: string;
|
|
@@ -15,8 +15,8 @@ import { TaskApplicationService } from "../../tasks/task-application-service.js"
|
|
|
15
15
|
import { injectSourceContextsIntoUserMessage } from "../../agent/source-context/injector.js";
|
|
16
16
|
import { deleteMediaUrisNoLongerReferenced } from "../../media/session-references.js";
|
|
17
17
|
import { fitSourceContextsToBudget } from "../../agent/source-context/budget.js";
|
|
18
|
-
import crypto from "node:crypto";
|
|
19
18
|
import { isDeepStrictEqual } from "node:util";
|
|
19
|
+
import crypto from "node:crypto";
|
|
20
20
|
//#region src/gateway/service/session-input-coordinator.ts
|
|
21
21
|
init_session_input_repository();
|
|
22
22
|
init_connection_wait_repository();
|
|
@@ -27,7 +27,6 @@ import { VoiceRealtimeRuntime } from '../voice/realtime/runtime.js';
|
|
|
27
27
|
import type { GatewayServiceConfig } from './service/types.js';
|
|
28
28
|
import { type GatewayReadinessSnapshot } from './startup-readiness.js';
|
|
29
29
|
import { type ConnectorLearningCoordinator } from '../connectors/learning-coordinator.js';
|
|
30
|
-
import type { SceneAccess } from '../scenes/httpServices.js';
|
|
31
30
|
import type { GatewayPrincipal } from './security/gateway-principal.js';
|
|
32
31
|
import { type ProductLanguage } from '../voice/language-profile.js';
|
|
33
32
|
import { EndpointToolRuntime } from '../endpoint-tools/index.js';
|
|
@@ -45,7 +44,6 @@ export declare class GatewayService {
|
|
|
45
44
|
private notesService;
|
|
46
45
|
private extensionLoader;
|
|
47
46
|
private extensionMetadataSnapshot;
|
|
48
|
-
private sceneHost;
|
|
49
47
|
private homeIntelligenceHost;
|
|
50
48
|
private sessionIndex;
|
|
51
49
|
private running;
|
|
@@ -118,7 +116,6 @@ export declare class GatewayService {
|
|
|
118
116
|
readonly localApps: LocalAppService;
|
|
119
117
|
/** Immutable, conversation-scoped UI previews that do not create projects. */
|
|
120
118
|
readonly chatPreviews: ChatPreviewService;
|
|
121
|
-
get sceneAccess(): SceneAccess | undefined;
|
|
122
119
|
constructor(serviceConfig?: GatewayServiceConfig);
|
|
123
120
|
/** Lazy AgentService — constructed on first use or during `start()`. */
|
|
124
121
|
get agentService(): AgentService;
|
|
@@ -84,9 +84,10 @@ import { bootstrapApplicationStateSync } from "../bootstrap/application-state.js
|
|
|
84
84
|
import { setPairingBroadcastSink } from "../channels/pairing/pairing-events.js";
|
|
85
85
|
import { registerClarificationChannelRuntime } from "./clarify-runtime.js";
|
|
86
86
|
import { ChannelManager } from "../channels/manager.js";
|
|
87
|
+
import { configureGatewayHttpProxy } from "../infra/http-proxy-env.js";
|
|
88
|
+
import "../config/index.js";
|
|
87
89
|
import { ChatPreviewService } from "../chat-previews/service.js";
|
|
88
90
|
import "../chat-previews/index.js";
|
|
89
|
-
import "../config/index.js";
|
|
90
91
|
import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
|
|
91
92
|
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
92
93
|
import "../knowledge/index.js";
|
|
@@ -154,7 +155,6 @@ import { DurableVoiceAgentBroker } from "../voice/realtime/agentBroker.js";
|
|
|
154
155
|
import { reconcileMemoryMaintenanceAutomations } from "./memory-maintenance-automation-reconciler.js";
|
|
155
156
|
import { GatewayReadiness } from "./startup-readiness.js";
|
|
156
157
|
import { createGatewayStartupTrace } from "./startup-trace.js";
|
|
157
|
-
import { GatewaySceneHost } from "./scenes/host.js";
|
|
158
158
|
import { TaskCollaborationDelivery } from "../tasks/task-collaboration-delivery.js";
|
|
159
159
|
import { TaskMainUpdateExhaustedError } from "../tasks/task-main-update-retry.js";
|
|
160
160
|
import { TaskMainUpdateDelivery } from "../tasks/task-main-update-delivery.js";
|
|
@@ -202,7 +202,6 @@ var GatewayService = class {
|
|
|
202
202
|
notesService;
|
|
203
203
|
extensionLoader = null;
|
|
204
204
|
extensionMetadataSnapshot = null;
|
|
205
|
-
sceneHost = null;
|
|
206
205
|
homeIntelligenceHost = null;
|
|
207
206
|
sessionIndex;
|
|
208
207
|
running = false;
|
|
@@ -377,15 +376,6 @@ var GatewayService = class {
|
|
|
377
376
|
localApps;
|
|
378
377
|
/** Immutable, conversation-scoped UI previews that do not create projects. */
|
|
379
378
|
chatPreviews;
|
|
380
|
-
get sceneAccess() {
|
|
381
|
-
return this.sceneHost ? {
|
|
382
|
-
services: this.sceneHost.http,
|
|
383
|
-
principal: {
|
|
384
|
-
ownerId: "local-owner",
|
|
385
|
-
workspaceId: this.workspacePath
|
|
386
|
-
}
|
|
387
|
-
} : void 0;
|
|
388
|
-
}
|
|
389
379
|
constructor(serviceConfig = {}) {
|
|
390
380
|
this.serviceConfig = serviceConfig;
|
|
391
381
|
this.bus = new MessageBus();
|
|
@@ -395,6 +385,7 @@ var GatewayService = class {
|
|
|
395
385
|
markStaleAiUsageEventsUnknown(now - 360 * 60 * 1e3, now);
|
|
396
386
|
pruneAiUsageEvents(now - AI_USAGE_RETENTION_MS);
|
|
397
387
|
this.config = loadConfig(this.configPath);
|
|
388
|
+
configureGatewayHttpProxy(this.config.gateway.outboundProxy);
|
|
398
389
|
let bootstrapConfigChanged = initializeVoiceDefaults(this.config, inferProductLanguageFromEnvironment());
|
|
399
390
|
if (sanitizeTunnelConfig(this.config)) bootstrapConfigChanged = true;
|
|
400
391
|
if (bootstrapConfigChanged) saveConfig(this.config, this.configPath).catch((err) => {
|
|
@@ -694,7 +685,6 @@ var GatewayService = class {
|
|
|
694
685
|
extensionRegistry: this.extensionLoader?.getRegistry(),
|
|
695
686
|
endpointTools: this.endpointTools,
|
|
696
687
|
getAutomationService: () => this.automationService,
|
|
697
|
-
getSceneAccess: () => this.sceneAccess,
|
|
698
688
|
getBrowserAutomationService: () => this.browserAutomations,
|
|
699
689
|
emitBrowserEvent: (type, payload) => this.emit(type, payload),
|
|
700
690
|
getNotesService: () => this.notesService,
|
|
@@ -796,10 +786,6 @@ var GatewayService = class {
|
|
|
796
786
|
});
|
|
797
787
|
},
|
|
798
788
|
runAgent: async (runId, conversationId, message) => {
|
|
799
|
-
for (const adapter of this.sceneHost?.http.activationAdapters.list() ?? []) if (adapter.executeTask && await adapter.executeTask(runId, conversationId)) {
|
|
800
|
-
this.ensureAgentService();
|
|
801
|
-
return;
|
|
802
|
-
}
|
|
803
789
|
const clientMessageId = new TaskRunRepository().nextAgentInputClientMessageId(runId);
|
|
804
790
|
const session = await this.sessionIndex.getSessionMetadata(conversationId);
|
|
805
791
|
if (!session) throw new Error("Task session is unavailable");
|
|
@@ -827,12 +813,7 @@ var GatewayService = class {
|
|
|
827
813
|
createNotificationService() {
|
|
828
814
|
if (!this.notificationService) this.notificationService = new NotificationService({
|
|
829
815
|
publish: (type, payload) => this.realtime.broker.publish("gateway", type, payload),
|
|
830
|
-
allowsNotification:
|
|
831
|
-
if (!allowsPersonalTaskNotification(notification)) return false;
|
|
832
|
-
if (notification.target.kind !== "task") return true;
|
|
833
|
-
const taskId = notification.target.taskId;
|
|
834
|
-
return (this.sceneHost?.http.activationAdapters.list() ?? []).every((adapter) => adapter.allowsTaskNotification?.(taskId) !== false);
|
|
835
|
-
}
|
|
816
|
+
allowsNotification: allowsPersonalTaskNotification
|
|
836
817
|
});
|
|
837
818
|
return this.notificationService;
|
|
838
819
|
}
|
|
@@ -1090,8 +1071,7 @@ var GatewayService = class {
|
|
|
1090
1071
|
appContextDispatcher() {
|
|
1091
1072
|
return createProductDispatcher(() => this.notesService, {
|
|
1092
1073
|
getProjects: () => this.projects,
|
|
1093
|
-
getLocalApps: () => this.localApps
|
|
1094
|
-
getSceneAccess: () => this.sceneAccess
|
|
1074
|
+
getLocalApps: () => this.localApps
|
|
1095
1075
|
});
|
|
1096
1076
|
}
|
|
1097
1077
|
prepareSessionAppContext(input, principal, conversationId, clientMessageId) {
|
|
@@ -1244,8 +1224,6 @@ var GatewayService = class {
|
|
|
1244
1224
|
await this.startRuntime();
|
|
1245
1225
|
} catch (err) {
|
|
1246
1226
|
await this.stop().catch((cleanupError) => log.error({ err: cleanupError }, "Gateway startup cleanup failed"));
|
|
1247
|
-
await this.sceneHost?.stop();
|
|
1248
|
-
this.sceneHost = null;
|
|
1249
1227
|
this.homeIntelligenceHost?.stop();
|
|
1250
1228
|
this.homeIntelligenceHost = null;
|
|
1251
1229
|
this.stopRealtimeLogBridge?.();
|
|
@@ -1311,14 +1289,6 @@ var GatewayService = class {
|
|
|
1311
1289
|
this.stopTaskResultQueued = onTaskResultQueued(() => this.taskResultDispatch());
|
|
1312
1290
|
this.taskRunDispatchTimer = setInterval(() => this.dispatchTaskRuns(), 1e3);
|
|
1313
1291
|
this.taskRunDispatchTimer.unref?.();
|
|
1314
|
-
if (this.config.gateway?.scenes?.enabled === true) this.sceneHost = new GatewaySceneHost(getSqliteDatabase(), {
|
|
1315
|
-
principal: {
|
|
1316
|
-
ownerId: "local-owner",
|
|
1317
|
-
workspaceId: this.workspacePath
|
|
1318
|
-
},
|
|
1319
|
-
config: () => this.config,
|
|
1320
|
-
publish: (type, notification) => this.realtime.broker.publish("gateway", type, notification)
|
|
1321
|
-
});
|
|
1322
1292
|
this.startupTrace = createGatewayStartupTrace();
|
|
1323
1293
|
this.readiness.markStarting(this.startTime);
|
|
1324
1294
|
const trace = this.startupTrace;
|
|
@@ -1514,7 +1484,6 @@ var GatewayService = class {
|
|
|
1514
1484
|
import("../share/share-auto.js").then(({ runStagingSweep }) => runStagingSweep([...new Set([getDefaultAgentId(), ...listAgentEntries().map((entry) => entry.id)])].map((agentId) => resolveAgentWorkspaceDir(agentId)))).catch((err) => log.warn({ err }, "Share staging sweep failed"));
|
|
1515
1485
|
if (this.serviceConfig.deferChannelConnectUntilAfterHttp !== true) this.markGatewayReady();
|
|
1516
1486
|
else trace.mark("service.started-awaiting-http");
|
|
1517
|
-
this.sceneHost?.start();
|
|
1518
1487
|
this.homeIntelligenceHost.start();
|
|
1519
1488
|
log.debug("Gateway service started");
|
|
1520
1489
|
}
|
|
@@ -1619,8 +1588,6 @@ var GatewayService = class {
|
|
|
1619
1588
|
this.readiness.markStarting();
|
|
1620
1589
|
this.endpointTools.close();
|
|
1621
1590
|
await this.sideChats.disposeAll();
|
|
1622
|
-
await this.sceneHost?.stop();
|
|
1623
|
-
this.sceneHost = null;
|
|
1624
1591
|
this.homeIntelligenceHost?.stop();
|
|
1625
1592
|
this.homeIntelligenceHost = null;
|
|
1626
1593
|
this.realtime.close();
|
|
@@ -2062,16 +2029,15 @@ var GatewayService = class {
|
|
|
2062
2029
|
const runIds = event.payload.deletedUnderstandingRunIds;
|
|
2063
2030
|
if (Array.isArray(runIds) && runIds.every((id) => typeof id === "string")) this._workDiscovery?.abortDeletedProjectRuns(event.payload.projectId, runIds);
|
|
2064
2031
|
}
|
|
2065
|
-
if (event.type === "note.created" || event.type === "note.updated" || event.type === "note.deleted" || event.type === "task.changed.v2" || event.type === "task.deleted.v1" || event.type === "project.changed" || event.type === "project.created" || event.type === "project.deleted"
|
|
2032
|
+
if (event.type === "note.created" || event.type === "note.updated" || event.type === "note.deleted" || event.type === "task.changed.v2" || event.type === "task.deleted.v1" || event.type === "project.changed" || event.type === "project.created" || event.type === "project.deleted") {
|
|
2066
2033
|
const note = event.type.startsWith("note.");
|
|
2067
2034
|
const project = event.type.startsWith("project.");
|
|
2068
|
-
const scene = event.type.startsWith("scene.");
|
|
2069
2035
|
const payload = event.payload;
|
|
2070
|
-
if (typeof payload.sourceEventId === "string") this.realtime.broker.publish(note ? "resources:notes" : project ? "resources:projects" :
|
|
2036
|
+
if (typeof payload.sourceEventId === "string") this.realtime.broker.publish(note ? "resources:notes" : project ? "resources:projects" : "resources:tasks", "resource.changed", {
|
|
2071
2037
|
eventId: payload.sourceEventId,
|
|
2072
|
-
kind: note ? "note" : project ? "project" :
|
|
2073
|
-
id: note ? payload.noteId : project ? payload.projectId :
|
|
2074
|
-
revision: note
|
|
2038
|
+
kind: note ? "note" : project ? "project" : "task",
|
|
2039
|
+
id: note ? payload.noteId : project ? payload.projectId : payload.taskId,
|
|
2040
|
+
revision: note ? payload.revision : payload.version,
|
|
2075
2041
|
operation: event.type === "task.deleted.v1" || event.type.endsWith(".deleted") ? "deleted" : event.type.endsWith(".created") ? "created" : "updated",
|
|
2076
2042
|
...typeof payload.operationId === "string" ? { operationId: payload.operationId } : {}
|
|
2077
2043
|
});
|
|
@@ -98,7 +98,7 @@ function buildSystemPrompt(locale) {
|
|
|
98
98
|
"Omit optional properties projectId, estimatedMinutes, and degradedActionPrompt when they do not apply; do not use null.",
|
|
99
99
|
"Every recommendation must cite existing evidence IDs. Do not invent facts, dates, capabilities, or completed work.",
|
|
100
100
|
"meeting_prep requires calendar evidence. commitment_follow_up requires mail or communication evidence.",
|
|
101
|
-
"successfulPatterns are verified completed outcomes. Use automation_candidate only for repeatable work with a matching successful pattern, and copy that pattern outcome exactly; the system independently decides whether
|
|
101
|
+
"successfulPatterns are verified completed outcomes. Use automation_candidate only for repeatable work with a matching successful pattern, and copy that pattern outcome exactly; the system independently decides whether an Automation draft is eligible.",
|
|
102
102
|
"Prefer outcomes over feature promotion. Mention a connector or skill only when it materially enables the outcome.",
|
|
103
103
|
"When useful work remains possible without a missing capability, provide degradedActionPrompt using only supplied evidence.",
|
|
104
104
|
"External writes always require user confirmation.",
|
|
@@ -13,7 +13,7 @@ var DomainOutboxDispatcher = class {
|
|
|
13
13
|
automationEventPublisher.publish({
|
|
14
14
|
id: row.event_id,
|
|
15
15
|
type: row.event_type,
|
|
16
|
-
source: row.subject_kind === "note" ? "notes" : row.subject_kind === "project" ? "projects" : row.subject_kind === "
|
|
16
|
+
source: row.subject_kind === "note" ? "notes" : row.subject_kind === "project" ? "projects" : row.subject_kind === "local_app" ? "local_apps" : "tasks",
|
|
17
17
|
schemaVersion: 1,
|
|
18
18
|
subject: {
|
|
19
19
|
kind: row.subject_kind,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { OutboundProxyConfig } from '../config/outbound-proxy.js';
|
|
1
2
|
type ProxyEnv = Record<string, string | undefined>;
|
|
2
3
|
export declare function hasProxyEnv(env?: ProxyEnv): boolean;
|
|
3
4
|
export declare function installGlobalProxyDispatcherFromEnv(env?: ProxyEnv): boolean;
|
|
5
|
+
/** Applied once at Gateway startup; saved changes require a process restart. */
|
|
6
|
+
export declare function configureGatewayHttpProxy(config?: OutboundProxyConfig, env?: ProxyEnv): void;
|
|
4
7
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
|
|
1
|
+
import { Agent, EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
|
|
2
2
|
//#region src/infra/http-proxy-env.ts
|
|
3
3
|
const PROXY_ENV_KEYS = [
|
|
4
4
|
"http_proxy",
|
|
@@ -17,5 +17,25 @@ function installGlobalProxyDispatcherFromEnv(env = process.env) {
|
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
19
|
installGlobalProxyDispatcherFromEnv();
|
|
20
|
+
/** Applied once at Gateway startup; saved changes require a process restart. */
|
|
21
|
+
function configureGatewayHttpProxy(config, env = process.env) {
|
|
22
|
+
if (config?.mode === "direct") {
|
|
23
|
+
setGlobalDispatcher(new Agent());
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const httpProxy = config?.mode === "custom" ? config.url : env.http_proxy ?? env.HTTP_PROXY ?? "";
|
|
27
|
+
const httpsProxy = config?.mode === "custom" ? config.url : env.https_proxy ?? env.HTTPS_PROXY ?? httpProxy;
|
|
28
|
+
const bypass = [config?.mode === "custom" ? "" : env.no_proxy ?? env.NO_PROXY ?? "", config?.noProxy ?? ""];
|
|
29
|
+
setGlobalDispatcher(new EnvHttpProxyAgent({
|
|
30
|
+
httpProxy,
|
|
31
|
+
httpsProxy,
|
|
32
|
+
noProxy: bypass.some((value) => value.split(/[,\s]+/).includes("*")) ? "*" : [
|
|
33
|
+
"localhost",
|
|
34
|
+
"127.0.0.1",
|
|
35
|
+
"::1",
|
|
36
|
+
...bypass
|
|
37
|
+
].filter(Boolean).join(",")
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
20
40
|
//#endregion
|
|
21
|
-
export { hasProxyEnv, installGlobalProxyDispatcherFromEnv };
|
|
41
|
+
export { configureGatewayHttpProxy, hasProxyEnv, installGlobalProxyDispatcherFromEnv };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type NotificationPlan } from './planner.js';
|
|
2
|
-
import type { NotificationDomainDelivery } from './domain-delivery.js';
|
|
3
2
|
import { sendHarmonyPush } from './harmony-push.js';
|
|
4
3
|
export declare class NotificationService {
|
|
5
4
|
private readonly options;
|
|
@@ -10,7 +9,6 @@ export declare class NotificationService {
|
|
|
10
9
|
constructor(options: {
|
|
11
10
|
publish: (type: string, payload: unknown) => void;
|
|
12
11
|
fetch?: typeof fetch;
|
|
13
|
-
domainDelivery?: NotificationDomainDelivery;
|
|
14
12
|
allowsNotification?: (notification: NotificationPlan['notification']) => boolean;
|
|
15
13
|
sendHarmony?: typeof sendHarmonyPush;
|
|
16
14
|
});
|
|
@@ -21,7 +19,7 @@ export declare class NotificationService {
|
|
|
21
19
|
persistGatewayEvent(type: string, payload: unknown): {
|
|
22
20
|
schemaVersion: 1;
|
|
23
21
|
id: string;
|
|
24
|
-
type: "work_discovery.completed" | "work_discovery.failed" | "
|
|
22
|
+
type: "work_discovery.completed" | "work_discovery.failed" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
|
|
25
23
|
priority: "normal" | "high";
|
|
26
24
|
title: {
|
|
27
25
|
en: string;
|
|
@@ -30,13 +28,6 @@ export declare class NotificationService {
|
|
|
30
28
|
payload: Record<string, unknown>;
|
|
31
29
|
createdAt: number;
|
|
32
30
|
target?: {
|
|
33
|
-
kind: "scene_result";
|
|
34
|
-
activationId: string;
|
|
35
|
-
presentationId: string;
|
|
36
|
-
} | {
|
|
37
|
-
kind: "scene_digest";
|
|
38
|
-
digestId: string;
|
|
39
|
-
} | {
|
|
40
31
|
kind: "chat";
|
|
41
32
|
conversationId: string;
|
|
42
33
|
personal?: boolean;
|
|
@@ -62,7 +53,7 @@ export declare class NotificationService {
|
|
|
62
53
|
persistPlan(plan: NotificationPlan): {
|
|
63
54
|
schemaVersion: 1;
|
|
64
55
|
id: string;
|
|
65
|
-
type: "work_discovery.completed" | "work_discovery.failed" | "
|
|
56
|
+
type: "work_discovery.completed" | "work_discovery.failed" | "chat.needs_input" | "chat.completed" | "chat.failed" | "task.needs_input" | "task.blocked" | "task.failed" | "task.completed" | "automation.completed" | "automation.failed" | "home.opportunity";
|
|
66
57
|
priority: "normal" | "high";
|
|
67
58
|
title: {
|
|
68
59
|
en: string;
|
|
@@ -71,13 +62,6 @@ export declare class NotificationService {
|
|
|
71
62
|
payload: Record<string, unknown>;
|
|
72
63
|
createdAt: number;
|
|
73
64
|
target?: {
|
|
74
|
-
kind: "scene_result";
|
|
75
|
-
activationId: string;
|
|
76
|
-
presentationId: string;
|
|
77
|
-
} | {
|
|
78
|
-
kind: "scene_digest";
|
|
79
|
-
digestId: string;
|
|
80
|
-
} | {
|
|
81
65
|
kind: "chat";
|
|
82
66
|
conversationId: string;
|
|
83
67
|
personal?: boolean;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
-
import { init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
|
|
4
3
|
import { localizeNotification } from "../../packages/gateway-contract/src/notifications.js";
|
|
5
4
|
import { init_src } from "../../packages/gateway-contract/src/index.js";
|
|
6
5
|
import { getOrCreateGatewayIdentity, init_gateway_identity_repository } from "../storage/sqlite/gateway-identity-repository.js";
|
|
7
6
|
import { getNotificationDevice, listDeliverableNotificationDevices } from "./device-store.js";
|
|
8
7
|
import { notificationPlanFromGatewayEvent } from "./planner.js";
|
|
9
|
-
import { cancelNotificationDelivery, createNotificationEvent,
|
|
8
|
+
import { cancelNotificationDelivery, createNotificationEvent, expireUndeliverableNotificationDeliveries, listDueNotificationDeliveries, markNotificationDeliveryAccepted, markNotificationDeliveryDead, pruneNotificationEvents, rescheduleNotificationDelivery } from "./store.js";
|
|
10
9
|
import { sendHarmonyPush } from "./harmony-push.js";
|
|
11
10
|
import { flushClarificationNotifications, isClarificationNotificationActionable } from "./clarification.js";
|
|
12
11
|
//#region src/notifications/service.ts
|
|
13
12
|
init_src();
|
|
14
|
-
init_transaction();
|
|
15
13
|
init_logger();
|
|
16
14
|
init_gateway_identity_repository();
|
|
17
15
|
const log = createLogger("Notifications");
|
|
@@ -81,23 +79,16 @@ var NotificationService = class {
|
|
|
81
79
|
}
|
|
82
80
|
/** Throws on persistence failure so durable producers can retry the handoff. */
|
|
83
81
|
persistGatewayEvent(type, payload) {
|
|
84
|
-
const plan = notificationPlanFromGatewayEvent(type, payload)
|
|
82
|
+
const plan = notificationPlanFromGatewayEvent(type, payload);
|
|
85
83
|
if (!plan) return null;
|
|
86
84
|
return this.persistPlan(plan);
|
|
87
85
|
}
|
|
88
86
|
persistPlan(plan) {
|
|
89
87
|
if (this.options.allowsNotification?.(plan.notification) === false) return null;
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const selection = domain?.prepare(plan, devices);
|
|
95
|
-
const created = createNotificationEvent({
|
|
96
|
-
...selection?.plan ?? plan,
|
|
97
|
-
deviceIds: selection?.deviceIds ?? devices.map((device) => device.id)
|
|
98
|
-
});
|
|
99
|
-
if (created.created) selection?.enqueue(created.notification);
|
|
100
|
-
return created;
|
|
88
|
+
const devices = listDeliverableNotificationDevices().filter((device) => preferenceAllows(plan.notification.type, device.preferences));
|
|
89
|
+
const result = createNotificationEvent({
|
|
90
|
+
...plan,
|
|
91
|
+
deviceIds: devices.map((device) => device.id)
|
|
101
92
|
});
|
|
102
93
|
return result.created ? result.notification : null;
|
|
103
94
|
}
|
|
@@ -115,9 +106,7 @@ var NotificationService = class {
|
|
|
115
106
|
this.lastMaintenanceAt = now;
|
|
116
107
|
}
|
|
117
108
|
for (const notification of flushClarificationNotifications((plan) => this.persistPlan(plan))) this.options.publish("notification.created", notification);
|
|
118
|
-
for (const notification of this.options.domainDelivery?.flush((plan) => this.persistPlan(plan)) ?? []) this.options.publish("notification.created", notification);
|
|
119
109
|
await this.deliverPending();
|
|
120
|
-
await this.options.domainDelivery?.drain();
|
|
121
110
|
} catch (err) {
|
|
122
111
|
log.warn({ err }, "Notification delivery pass failed");
|
|
123
112
|
} finally {
|
|
@@ -145,28 +134,8 @@ var NotificationService = class {
|
|
|
145
134
|
cancelNotificationDelivery(delivery.event.id, delivery.deviceId);
|
|
146
135
|
return;
|
|
147
136
|
}
|
|
148
|
-
const domain = this.options.domainDelivery?.owns(delivery.event.type) ? this.options.domainDelivery : void 0;
|
|
149
|
-
if (!domain && !Object.hasOwn(STANDARD_PREFERENCES, delivery.event.type)) {
|
|
150
|
-
markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Notification domain delivery is not installed");
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (domain) {
|
|
154
|
-
const policy = domain.recheckMobile(delivery.event);
|
|
155
|
-
if (policy === "cancel") {
|
|
156
|
-
markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Notification policy changed");
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if (policy instanceof Date) {
|
|
160
|
-
deferNotificationDelivery(delivery.event.id, delivery.deviceId, policy.getTime());
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
137
|
const fetchImpl = this.options.fetch ?? fetch;
|
|
165
138
|
const localized = localizeNotification(delivery.event, delivery.locale);
|
|
166
|
-
const preview = domain?.mobilePreview(delivery.event, delivery.locale) ?? {
|
|
167
|
-
title: localized.localizedTitle,
|
|
168
|
-
body: localized.localizedBody
|
|
169
|
-
};
|
|
170
139
|
try {
|
|
171
140
|
if (delivery.platform !== "harmonyos") {
|
|
172
141
|
markNotificationDeliveryDead(delivery.event.id, delivery.deviceId, "Native push provider is not configured");
|
|
@@ -177,8 +146,8 @@ var NotificationService = class {
|
|
|
177
146
|
eventId: delivery.event.id,
|
|
178
147
|
gatewayId: getOrCreateGatewayIdentity().id,
|
|
179
148
|
target: delivery.event.target,
|
|
180
|
-
title:
|
|
181
|
-
body:
|
|
149
|
+
title: localized.localizedTitle,
|
|
150
|
+
body: localized.localizedBody,
|
|
182
151
|
...delivery.event.type === "chat.needs_input" && typeof delivery.event.payload.expiresAt === "number" ? { expiresAt: delivery.event.payload.expiresAt } : {}
|
|
183
152
|
}, fetchImpl);
|
|
184
153
|
markNotificationDeliveryAccepted(delivery.event.id, delivery.deviceId, ticket, Number.MAX_SAFE_INTEGER);
|
|
@@ -55,6 +55,5 @@ export declare function notificationDeliveryMetrics(): {
|
|
|
55
55
|
};
|
|
56
56
|
export declare function expireUndeliverableNotificationDeliveries(now?: number): number;
|
|
57
57
|
export declare function pruneNotificationEvents(before: number): number;
|
|
58
|
-
export declare function deferNotificationDelivery(eventId: string, deviceId: string, nextAttemptAt: number): void;
|
|
59
58
|
export declare function getNotificationEvent(id: string): ProductNotification | null;
|
|
60
59
|
export declare function cancelNotificationDelivery(eventId: string, deviceId: string): void;
|
|
@@ -184,9 +184,6 @@ function pruneNotificationEvents(before) {
|
|
|
184
184
|
AND d.status IN ('pending', 'accepted')
|
|
185
185
|
)`).run(before).changes));
|
|
186
186
|
}
|
|
187
|
-
function deferNotificationDelivery(eventId, deviceId, nextAttemptAt) {
|
|
188
|
-
getSqliteDatabase().prepare("UPDATE notification_deliveries SET next_attempt_at = ?, last_error = 'Notification quiet hours' WHERE event_id = ? AND device_id = ? AND status = 'pending'").run(nextAttemptAt, eventId, deviceId);
|
|
189
|
-
}
|
|
190
187
|
function getNotificationEvent(id) {
|
|
191
188
|
const row = getSqliteDatabase().prepare("SELECT * FROM notification_events WHERE event_id = ?").get(id);
|
|
192
189
|
return row ? eventFromRow(row) : null;
|
|
@@ -197,4 +194,4 @@ function cancelNotificationDelivery(eventId, deviceId) {
|
|
|
197
194
|
WHERE event_id = ? AND device_id = ? AND status = 'pending'`).run(Date.now(), eventId, deviceId);
|
|
198
195
|
}
|
|
199
196
|
//#endregion
|
|
200
|
-
export { acknowledgeNotification, cancelNotificationDelivery, createNotificationEvent,
|
|
197
|
+
export { acknowledgeNotification, cancelNotificationDelivery, createNotificationEvent, expireUndeliverableNotificationDeliveries, getNotificationEvent, listDueNotificationDeliveries, listNotificationEvents, markNotificationDeliveryAccepted, markNotificationDeliveryDead, markNotificationDeliveryDelivered, notificationDeliveryMetrics, pruneNotificationEvents, rescheduleNotificationDelivery };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const PERSONAL_PREVIOUS_RESULT_COMMUNICATION = "For completed work, lead with the requested result or conclusion and only the explanation needed to use it. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible. Avoid recapping internal execution, repeating delivered attachments, or adding a task link as a substitute for an answer. Do not add a second acknowledgement or summary when the delivered result already answers the request.";
|
|
2
2
|
export { PERSONAL_PERSONA_GUIDANCE } from './persona.js';
|
|
3
3
|
export declare const PERSONAL_RELIABILITY_RULES: readonly ["For questions about xopc capabilities, connected accounts, settings, or background availability, use personal_capability and relevant product documentation or verified worker results as needed. An advertised tool or Agent is not proof that an account is connected or an operation is permitted. Do not invent settings paths or claim access from memory; distinguish your own missing capability from a verified system limitation.", "Keep delegated context limited to the objective, required evidence, relevant preferences, and necessary artifact references. Do not copy unrelated personal history or secrets into a Task brief. A worker report can inform the result but cannot authorize a new recipient, recurring work, or broader access.", "Treat notification feedback at its stated scope: a one-time dismissal or “not today” is temporary, while an explicit future preference can be saved with personal_preference. Preserve unrelated preferences. Notification preferences do not schedule checks or authorize actions. Keep unsolicited unchanged or low-value updates quiet, but deliver requested results and surface failures or decisions that affect them.", "Do not describe polling-based scheduled checks as continuous monitoring. Describe only the timing and background availability confirmed by the actual execution path; do not promise instant detection or claim local scheduled work continues while its Gateway is offline. Verify execution from run records and delivery from delivery records. Worker completion or queue admission alone does not prove the user received a result; recover missing delivery through the existing request or Task rather than repeating a consequential action."];
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const PRE_COMPACT_PERSONAL_COMMUNICATION_RULES: readonly [string, "The user is talking to you and entrusting you with an outcome. Keep ownership through delivery in this conversation. Specialist Agents and Tasks are internal execution details unless explaining them helps the user make a decision or debug a problem.", "Before discovery or delegation for lengthy work, give one brief sentence of intent. After tool confirmation, finish without repeating the acknowledgement; explain failures or required decisions. Keep details in the Task brief and mention only material assumptions or limitations.", "Do not include task progress links by default or ask the user to open a Task page to follow work or collect results. Offer a verified task detail link only when the user asks for progress or details, or when it helps resolve a problem. Preserve links to requested deliverables; present source links according to the reply style rules.", "Describe only the state confirmed by tool results. Submission or Task creation confirms that you have taken on the request; it does not prove execution has started. Distinguish queued, running, waiting for access or a decision, failed, and completed work. Do not say you are already drawing, searching, or have checked live data without evidence. Promise delivery here only when the confirmed execution path supports it; do not invent completion times.", "Keep routine progress private unless the user requests it. Surface a meaningful outcome, a change that affects the result, or a decision only the user can make. Resolve worker questions from the conversation first. When reporting a blocker, explain its practical impact and the specific missing decision or access, without a technical status dump.", "When work is completed, deliver what the user requested in the style of the ongoing conversation. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible where they matter. Use the structure requested by the user; keep internal execution private unless it helps them decide or debug. Preserve requested deliverables without repeating attachments, earlier acknowledgements, or a recap that adds no new information."];
|
|
5
|
+
export declare const PERSONAL_COMMUNICATION_RULES: readonly [string, "Own delivery in this conversation. Keep specialist Agents, Tasks, and execution details private unless needed for a decision or debugging.", "Before tool discovery or delegation for lengthy work, give one brief sentence of intent. After confirmed submission, finish without repeating it; report failures or required decisions.", "Do not include task progress links by default. Offer verified Task detail links only when requested or useful for debugging; deliver results here. Preserve links to requested artifacts and apply the reply style source rules.", "Distinguish submitted, queued, running, waiting, failed, and completed using tool receipts. Submission is receipt; it does not prove execution has started. Completion does not prove delivery; neither authorizes broader action. Never invent completion times.", "Keep routine progress private. Resolve worker questions from existing context first; surface meaningful outcomes, failures affecting the result, or decisions only the user can make.", "Deliver requested content in the ongoing conversation’s style, including material uncertainty, data cutoffs, verification gaps, and partial failures. Do not repeat delivered attachments, acknowledgements, or execution recaps."];
|
|
5
6
|
export declare const PERSONAL_WORKER_RESULT_GUIDANCE: string;
|
|
6
7
|
export declare const PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION = "After successful delegation, acknowledge what you have taken on in one or two natural sentences, then finish the turn. Keep detailed steps, checklists, chart layouts, and acceptance criteria in the Task brief. Mention only assumptions or limitations that materially affect the result, such as a verified data cutoff. Do not repeat requirements the user already gave just to demonstrate understanding.";
|
|
@@ -7,7 +7,7 @@ const PERSONAL_RELIABILITY_RULES = [
|
|
|
7
7
|
"Treat notification feedback at its stated scope: a one-time dismissal or “not today” is temporary, while an explicit future preference can be saved with personal_preference. Preserve unrelated preferences. Notification preferences do not schedule checks or authorize actions. Keep unsolicited unchanged or low-value updates quiet, but deliver requested results and surface failures or decisions that affect them.",
|
|
8
8
|
"Do not describe polling-based scheduled checks as continuous monitoring. Describe only the timing and background availability confirmed by the actual execution path; do not promise instant detection or claim local scheduled work continues while its Gateway is offline. Verify execution from run records and delivery from delivery records. Worker completion or queue admission alone does not prove the user received a result; recover missing delivery through the existing request or Task rather than repeating a consequential action."
|
|
9
9
|
];
|
|
10
|
-
const
|
|
10
|
+
const PRE_COMPACT_PERSONAL_COMMUNICATION_RULES = [
|
|
11
11
|
PERSONAL_PERSONA_GUIDANCE,
|
|
12
12
|
"The user is talking to you and entrusting you with an outcome. Keep ownership through delivery in this conversation. Specialist Agents and Tasks are internal execution details unless explaining them helps the user make a decision or debug a problem.",
|
|
13
13
|
"Before discovery or delegation for lengthy work, give one brief sentence of intent. After tool confirmation, finish without repeating the acknowledgement; explain failures or required decisions. Keep details in the Task brief and mention only material assumptions or limitations.",
|
|
@@ -16,6 +16,15 @@ const PERSONAL_COMMUNICATION_RULES = [
|
|
|
16
16
|
"Keep routine progress private unless the user requests it. Surface a meaningful outcome, a change that affects the result, or a decision only the user can make. Resolve worker questions from the conversation first. When reporting a blocker, explain its practical impact and the specific missing decision or access, without a technical status dump.",
|
|
17
17
|
"When work is completed, deliver what the user requested in the style of the ongoing conversation. Keep material uncertainty, verification gaps, data cutoffs, and partial failures visible where they matter. Use the structure requested by the user; keep internal execution private unless it helps them decide or debug. Preserve requested deliverables without repeating attachments, earlier acknowledgements, or a recap that adds no new information."
|
|
18
18
|
];
|
|
19
|
+
const PERSONAL_COMMUNICATION_RULES = [
|
|
20
|
+
PERSONAL_PERSONA_GUIDANCE,
|
|
21
|
+
"Own delivery in this conversation. Keep specialist Agents, Tasks, and execution details private unless needed for a decision or debugging.",
|
|
22
|
+
"Before tool discovery or delegation for lengthy work, give one brief sentence of intent. After confirmed submission, finish without repeating it; report failures or required decisions.",
|
|
23
|
+
"Do not include task progress links by default. Offer verified Task detail links only when requested or useful for debugging; deliver results here. Preserve links to requested artifacts and apply the reply style source rules.",
|
|
24
|
+
"Distinguish submitted, queued, running, waiting, failed, and completed using tool receipts. Submission is receipt; it does not prove execution has started. Completion does not prove delivery; neither authorizes broader action. Never invent completion times.",
|
|
25
|
+
"Keep routine progress private. Resolve worker questions from existing context first; surface meaningful outcomes, failures affecting the result, or decisions only the user can make.",
|
|
26
|
+
"Deliver requested content in the ongoing conversation’s style, including material uncertainty, data cutoffs, verification gaps, and partial failures. Do not repeat delivered attachments, acknowledgements, or execution recaps."
|
|
27
|
+
];
|
|
19
28
|
const PERSONAL_WORKER_RESULT_GUIDANCE = [
|
|
20
29
|
"## Result for the originating conversation",
|
|
21
30
|
"For ordinary Tasks when publish_task_result is available, use it before completion to review the actual result. Connected Requests use their own structured result tool instead. When files were published, finalArtifactIds must select the exact final artifact IDs from publication receipts, including [] for a text-only result. Exclude intermediate, obsolete and failed files; publication history is not the final delivery manifest.",
|
|
@@ -24,4 +33,4 @@ const PERSONAL_WORKER_RESULT_GUIDANCE = [
|
|
|
24
33
|
].join("\n");
|
|
25
34
|
const PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION = "After successful delegation, acknowledge what you have taken on in one or two natural sentences, then finish the turn. Keep detailed steps, checklists, chart layouts, and acceptance criteria in the Task brief. Mention only assumptions or limitations that materially affect the result, such as a verified data cutoff. Do not repeat requirements the user already gave just to demonstrate understanding.";
|
|
26
35
|
//#endregion
|
|
27
|
-
export { PERSONAL_COMMUNICATION_RULES, PERSONAL_PERSONA_GUIDANCE, PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION, PERSONAL_PREVIOUS_RESULT_COMMUNICATION, PERSONAL_RELIABILITY_RULES, PERSONAL_WORKER_RESULT_GUIDANCE };
|
|
36
|
+
export { PERSONAL_COMMUNICATION_RULES, PERSONAL_PERSONA_GUIDANCE, PERSONAL_PREVIOUS_DELEGATION_COMMUNICATION, PERSONAL_PREVIOUS_RESULT_COMMUNICATION, PERSONAL_RELIABILITY_RULES, PERSONAL_WORKER_RESULT_GUIDANCE, PRE_COMPACT_PERSONAL_COMMUNICATION_RULES };
|