@xopcai/xopc 0.0.180 → 0.0.188
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/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/demo-memory/src/index.js +1 -0
- package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -3
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
- package/dist/extensions/telegram/src/draft-stream.d.ts +0 -4
- package/dist/extensions/telegram/src/draft-stream.js +1 -53
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-DFKtQDgE.js → activity-store--QoUGhiS.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CcTvB_4W.js → agent-avatar-dicebear-B0yweLNQ.js} +1 -1
- package/dist/gateway/static/root/assets/agents-C6OV-gMm.js +2 -0
- package/dist/gateway/static/root/assets/{api-CUClAvuL.js → api-5laWqfiE.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-Ib-cWKHM.js → app-management-settings-panel-BXJ8Jiv_.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-CRSN8WuA.js → appearance-settings-DG9n9D1M.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-Ci14lDeO.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-BBF9zspN.js → archive-plugin-Ceh5qrZf.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-D3QQfA7w.js → attachment-load-jFW7uYf7.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-Q1xmb4Rh.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-D78XOjJ3.js → binary-plugins-XDlkI1r4.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-D_VVXlYX.js → block-editor-kyKc2IhE.js} +46 -46
- package/dist/gateway/static/root/assets/browser-settings-page-DbowrHXD.js +8 -0
- package/dist/gateway/static/root/assets/browser-workflow-inputs-BJa5Iz_v.js +1 -0
- package/dist/gateway/static/root/assets/{browser-workflows-page-58DBMXgG.js → browser-workflows-page-CTQQOsn5.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-DoZPFdKF.js +7 -0
- package/dist/gateway/static/root/assets/capability-presets-api-Dn-7MMEo.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-Bt8Hnx0h.js +1 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-DYtoNV5A.js → channel-recipient-api-BgIkWq01.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-Bpsebsru.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-DFmdYRE5.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-CxIXnifA.js → connector-logo-TRr9ybf6.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-Tg5kl22i.js +2 -0
- package/dist/gateway/static/root/assets/desktop-pet-CSwd00CV.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BOIp4q0Z.js → desktop-pet-settings-CuNQvHGu.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-C8_lsW6S.js → directory-picker-path-field-ct0n5Rje.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CMNnSJP6.js → extension-debug-page-BeRBuMUU.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-t0pJqLvM.js → extension-page-DbK-Cwao.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-aiR-tKnW.js → extension-settings-page-C9ag5tb5.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-CkyQBD6r.js → gateway-config-api-CC7EvEFp.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-BIZfAgfB.js → gateway-settings-9g8uIry9.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CSU7UvzG.js → gateway-startup-retry-B2DmdlwO.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-fl1oC_-5.js +1 -0
- package/dist/gateway/static/root/assets/home-page-Bao9jq_z.js +3 -0
- package/dist/gateway/static/root/assets/{image-generation-api-BR6Kb77X.js → image-generation-api-GMTaS6eI.js} +1 -1
- package/dist/gateway/static/root/assets/index-Cl5n1f_U.css +1 -0
- package/dist/gateway/static/root/assets/index-OJgiMh07.js +223 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-D76uYKeQ.js → keyboard-shortcuts-settings-DhGYddbI.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-B69NvtvH.js +2 -0
- package/dist/gateway/static/root/assets/{local-apps-page-BsLnojTh.js → local-apps-page-CmnrBmWi.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-BNC8HUCI.js → locale-store-D6hs74o5.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-Cq3cABqg.js +7 -0
- package/dist/gateway/static/root/assets/{markdown-split-D6smTQWD.js → markdown-split-CZaBPOVn.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-D1TmMF0A.js → media-plugins-CiKvSgCv.js} +1 -1
- package/dist/gateway/static/root/assets/messages-D02NNLCZ.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-Vt-diFf0.js → notes-page-Bisbzqlz.js} +1 -1
- package/dist/gateway/static/root/assets/notes-workbench-BOZfJFhE.js +4 -0
- package/dist/gateway/static/root/assets/{page-tabs-BnSzIjH0.js → page-tabs-BxlwhAbH.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-CF12Eqi4.js → preview-open-alternatives-RM8wXxfT.js} +1 -1
- package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-Du0TE_CU.js → product-open-page-DdBlibek.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-TSKFb2tN.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-BokeBrTT.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-C56anxCX.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-BKvpxqof.js → schema-form-BDKbpmXv.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-C7TQADrD.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BDOPKeAX.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-kt6GIS32.js → settings-form-section-zxo5ZGOu.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-85eUPcKz.js → settings-loading-skeleton-DgIp8_S6.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-BUPSIa9P.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-layout-CkkCee_x.js → settings-page-layout-97LmwrzC.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BRg766eW.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-BtLEstaI.js → share-preview-page-BH7i3g1S.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DhEAviQ_.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-Ct7AV8ls.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DoVuprZm.js +2 -0
- package/dist/gateway/static/root/assets/{skills-page.utils-C2SHvq8V.js → skills-page.utils-s-a5WV9j.js} +1 -1
- package/dist/gateway/static/root/assets/system-settings-panel-BxjeMT5k.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-BahycnfW.js +1 -0
- package/dist/gateway/static/root/assets/{theme-store-ClDa_Bci.js → theme-store-BRxdsmic.js} +1 -1
- package/dist/gateway/static/root/assets/time-picker-BGk_Tbsj.js +1 -0
- package/dist/gateway/static/root/assets/{typed-models-lib-GsmwmB40.js → typed-models-lib-39MjwPSq.js} +1 -1
- package/dist/gateway/static/root/assets/use-save-bar-registration-5aVSjTjO.js +1 -0
- package/dist/gateway/static/root/assets/user-context-page-B9K41qmy.js +1 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-Blaxsbb3.js → voice-api-key-field-XU-7sBSg.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-CJqu8UHq.js +1 -0
- package/dist/gateway/static/root/assets/work-discovery-page-BBVnRHju.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CTG4RpRE.js → workflow-run-setup-panel-DXtg8Qxl.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-Bs_tYfst.js +11 -0
- package/dist/gateway/static/root/index.html +8 -8
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
- package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
- package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
- package/dist/packages/gateway-contract/src/task-runs.js +80 -0
- package/dist/packages/gateway-contract/src/tasks.js +353 -0
- package/dist/packages/gateway-contract/src/tool-activity.js +223 -0
- package/dist/src/activity/types.d.ts +2 -2
- package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
- package/dist/src/agent/agent-manager.d.ts +3 -3
- package/dist/src/agent/agent-manager.js +25 -30
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
- package/dist/src/agent/child-agent-factory.d.ts +1 -2
- package/dist/src/agent/child-agent-factory.js +4 -10
- package/dist/src/agent/code-intelligence/binary.js +1 -1
- package/dist/src/agent/context/execution-scope.d.ts +2 -2
- package/dist/src/agent/context/execution-scope.js +17 -20
- package/dist/src/agent/context/project-context.d.ts +6 -2
- package/dist/src/agent/context/project-context.js +17 -25
- package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
- package/dist/src/agent/embedded/model-runtime.js +1 -1
- package/dist/src/agent/embedded/run-for-session.d.ts +0 -2
- package/dist/src/agent/embedded/run-for-session.js +99 -112
- package/dist/src/agent/embedded/run-turn.js +2 -0
- package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
- package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
- package/dist/src/agent/external-tools/composio-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/composio-provider.js +307 -0
- package/dist/src/agent/external-tools/extension-provider.d.ts +20 -0
- package/dist/src/agent/external-tools/extension-provider.js +68 -0
- package/dist/src/agent/external-tools/gateway-tools.d.ts +8 -0
- package/dist/src/agent/external-tools/gateway-tools.js +89 -0
- package/dist/src/agent/external-tools/index.d.ts +24 -0
- package/dist/src/agent/external-tools/index.js +40 -0
- package/dist/src/agent/external-tools/mcp-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/mcp-provider.js +118 -0
- package/dist/src/agent/external-tools/memory-provider.d.ts +21 -0
- package/dist/src/agent/external-tools/memory-provider.js +56 -0
- package/dist/src/agent/external-tools/refs.d.ts +5 -0
- package/dist/src/agent/external-tools/refs.js +18 -0
- package/dist/src/agent/external-tools/service.d.ts +26 -0
- package/dist/src/agent/external-tools/service.js +117 -0
- package/dist/src/agent/external-tools/types.d.ts +28 -0
- package/dist/src/agent/external-tools/types.js +9 -0
- package/dist/src/agent/image/tool-model-config.js +1 -1
- package/dist/src/agent/inbound/inbound-loop.d.ts +0 -2
- package/dist/src/agent/inbound/inbound-loop.js +1 -4
- package/dist/src/agent/inbound/turn-dispatcher.js +1 -1
- package/dist/src/agent/ipc/inbox.js +1 -1
- package/dist/src/agent/mcp/{bundle-mcp-materialize.d.ts → bundle-mcp-gateway.d.ts} +1 -19
- package/dist/src/agent/mcp/bundle-mcp-gateway.js +60 -0
- package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -8
- package/dist/src/agent/mcp/bundle-mcp-names.js +2 -29
- package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +5 -10
- package/dist/src/agent/mcp/bundle-mcp-policy.js +6 -17
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.js +1 -2
- package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -5
- package/dist/src/agent/mcp/index.d.ts +0 -2
- package/dist/src/agent/mcp/index.js +2 -5
- package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
- package/dist/src/agent/memory/builtin-provider.js +75 -229
- package/dist/src/agent/memory/compaction.js +1 -1
- package/dist/src/agent/memory/context/planner.d.ts +4 -0
- package/dist/src/agent/memory/context/planner.js +53 -17
- package/dist/src/agent/memory/context/types.d.ts +6 -0
- package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
- package/dist/src/agent/memory/create-memory-manager.js +4 -4
- package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
- package/dist/src/agent/memory/dreaming/config.js +47 -40
- package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
- package/dist/src/agent/memory/dreaming/constants.js +6 -24
- package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
- package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
- package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
- package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
- package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
- package/dist/src/agent/memory/dreaming/preview.js +34 -77
- package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
- package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
- package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
- package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
- package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
- package/dist/src/agent/memory/dreaming/runner.js +78 -0
- package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
- package/dist/src/agent/memory/dreaming/schedule.js +38 -0
- package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
- package/dist/src/agent/memory/dreaming/scope.js +21 -13
- package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
- package/dist/src/agent/memory/dreaming/utils.js +4 -112
- package/dist/src/agent/memory/index.d.ts +1 -3
- package/dist/src/agent/memory/index.js +2 -3
- package/dist/src/agent/memory/manager.d.ts +5 -6
- package/dist/src/agent/memory/manager.js +6 -29
- package/dist/src/agent/memory/memory-config.d.ts +1 -6
- package/dist/src/agent/memory/memory-config.js +2 -23
- package/dist/src/agent/memory/summary-generator.d.ts +1 -1
- package/dist/src/agent/memory/types.d.ts +7 -48
- package/dist/src/agent/memory/understanding/service.js +1 -2
- package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
- package/dist/src/agent/memory/user-context-coordinator.js +32 -14
- package/dist/src/agent/messaging/command-handler.d.ts +1 -9
- package/dist/src/agent/messaging/command-handler.js +0 -8
- package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
- package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
- package/dist/src/agent/messaging/stream-manager.d.ts +2 -14
- package/dist/src/agent/messaging/stream-manager.js +0 -12
- package/dist/src/agent/middleware/index.d.ts +1 -1
- package/dist/src/agent/middleware/self-verify.d.ts +2 -2
- package/dist/src/agent/middleware/self-verify.js +7 -7
- package/dist/src/agent/orchestration/agent-event-handler.d.ts +1 -3
- package/dist/src/agent/orchestration/agent-event-handler.js +0 -36
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -5
- package/dist/src/agent/orchestration/agent-orchestrator.js +16 -71
- package/dist/src/agent/prompt/response-language.d.ts +3 -0
- package/dist/src/agent/prompt/response-language.js +11 -0
- package/dist/src/agent/prompt/sections/behavior.js +8 -6
- package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
- package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
- package/dist/src/agent/prompt/sections/response-language.js +13 -0
- package/dist/src/agent/prompt/sections/tooling.js +0 -2
- package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
- package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
- package/dist/src/agent/prompt/subagent-context.js +1 -0
- package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
- package/dist/src/agent/prompt/system-prompt.js +10 -2
- package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -2
- package/dist/src/agent/service/direct-turn-helpers.js +8 -5
- package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
- package/dist/src/agent/service/process-direct-streaming.js +2 -2
- package/dist/src/agent/service.d.ts +6 -12
- package/dist/src/agent/service.js +31 -53
- package/dist/src/agent/service.types.d.ts +2 -18
- package/dist/src/agent/session/index.d.ts +1 -1
- package/dist/src/agent/session/session-config-service.d.ts +1 -0
- package/dist/src/agent/session/session-config-service.js +14 -0
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/session/session-state-bag.d.ts +8 -8
- package/dist/src/agent/session/session-state-bag.js +10 -10
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/source-context/types.d.ts +1 -1
- package/dist/src/agent/source-context/types.js +1 -1
- package/dist/src/agent/starter-agents.js +3 -3
- package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
- package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
- package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
- package/dist/src/agent/tasks/task-judge-service.js +183 -0
- package/dist/src/agent/tool-manuals/index.js +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
- package/dist/src/agent/tools/apply-patch.d.ts +1 -5
- package/dist/src/agent/tools/apply-patch.js +1 -12
- package/dist/src/agent/tools/clarify-tool.js +1 -1
- package/dist/src/agent/tools/delegate-tool.js +9 -5
- package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
- package/dist/src/agent/tools/dreaming-tool.js +48 -80
- package/dist/src/agent/tools/exec-command.d.ts +0 -2
- package/dist/src/agent/tools/exec-command.js +2 -19
- package/dist/src/agent/tools/executor.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +4 -5
- package/dist/src/agent/tools/factory.js +24 -51
- package/dist/src/agent/tools/index.d.ts +0 -3
- package/dist/src/agent/tools/index.js +1 -4
- package/dist/src/agent/tools/managed-job-tool.js +1 -1
- package/dist/src/agent/tools/memory-tool.d.ts +0 -3
- package/dist/src/agent/tools/memory-tool.js +14 -36
- package/dist/src/agent/tools/tool-manual-tool.js +1 -1
- package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
- package/dist/src/agent/tools/workflow-tool.js +4 -4
- package/dist/src/agent/tools/write.d.ts +0 -2
- package/dist/src/agent/tools/write.js +0 -11
- package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
- package/dist/src/agent/tools/xopc-use-tool.js +987 -143
- package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
- package/dist/src/agent/workflow/builtins/index.js +2 -2
- package/dist/src/agent/workflow/index.js +2 -2
- package/dist/src/agent/workflow/subagent-runner.js +1 -0
- package/dist/src/agent/workflow/workflow-child-tools.js +7 -4
- package/dist/src/agent/workspace-runtime/registry.d.ts +2 -4
- package/dist/src/agent/workspace-runtime/registry.js +1 -2
- package/dist/src/agent-manifest/index.js +3 -3
- package/dist/src/agent-manifest/resolver.d.ts +20 -1
- package/dist/src/agent-manifest/resolver.js +47 -20
- package/dist/src/agent-manifest/schema.d.ts +128 -52
- package/dist/src/agent-manifest/schema.js +46 -8
- package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
- package/dist/src/ai-assist/text-assist.js +4 -4
- package/dist/src/auth/credentials.js +2 -2
- package/dist/src/auth/profiles/store.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +2 -2
- package/dist/src/automations/domain/defaults.js +1 -1
- package/dist/src/automations/domain/types.d.ts +15 -1
- package/dist/src/automations/domain/validation.d.ts +336 -12
- package/dist/src/automations/domain/validation.js +6 -0
- package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
- package/dist/src/automations/draft/automation-draft-validator.d.ts +62 -1
- package/dist/src/automations/draft/automation-draft-validator.js +1 -0
- package/dist/src/automations/index.js +1 -1
- package/dist/src/automations/service/action-executor.d.ts +2 -2
- package/dist/src/automations/service/action-executor.js +21 -1
- package/dist/src/automations/service/automation-service.js +21 -21
- package/dist/src/browser/providers/browser-ext-install.js +1 -1
- package/dist/src/browser/providers/cloakbrowser.js +1 -1
- package/dist/src/channels/channel-domain.d.ts +0 -4
- package/dist/src/channels/plugin-types.d.ts +0 -2
- package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
- package/dist/src/chat-commands/builtins/understanding.js +91 -0
- package/dist/src/chat-commands/context.d.ts +0 -3
- package/dist/src/chat-commands/context.js +0 -2
- package/dist/src/chat-commands/index.d.ts +1 -2
- package/dist/src/chat-commands/index.js +3 -5
- package/dist/src/chat-commands/types.d.ts +0 -3
- package/dist/src/cli/command-catalog.js +0 -43
- package/dist/src/cli/command-loaders.js +0 -1
- package/dist/src/cli/command-manifest.js +0 -4
- 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/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
- package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
- package/dist/src/cli/commands/gateway/restart-health.js +3 -3
- package/dist/src/cli/commands/gateway/service.js +4 -4
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard/gateway.js +1 -1
- package/dist/src/cli/commands/project.js +12 -33
- package/dist/src/cli/commands/providers.d.ts +4 -4
- package/dist/src/cli/commands/providers.js +16 -16
- package/dist/src/cli/commands/search.js +7 -7
- package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
- package/dist/src/cli/commands/setup-shared/index.js +2 -2
- package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
- package/dist/src/cli/commands/setup-shared/output.js +26 -26
- package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
- package/dist/src/cli/commands/setup-shared/runner.js +9 -9
- package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
- package/dist/src/cli/commands/skills.d.ts +7 -0
- package/dist/src/cli/commands/skills.js +16 -16
- package/dist/src/cli/commands/update.js +1 -1
- package/dist/src/cli/commands/voice.d.ts +1 -1
- package/dist/src/cli/commands/voice.js +6 -6
- package/dist/src/cli/templates.js +1 -1
- package/dist/src/commands/agents.config.js +2 -18
- package/dist/src/config/agent-profile.d.ts +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/index.js +7 -7
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.js +1 -1
- package/dist/src/config/paths.d.ts +0 -3
- package/dist/src/config/paths.js +2 -7
- package/dist/src/config/schema.d.ts +160 -258
- package/dist/src/config/schema.js +8 -114
- package/dist/src/config/web-patch.d.ts +0 -29
- package/dist/src/config/web-patch.js +2 -69
- package/dist/src/connectors/composio-catalog.js +7 -20
- package/dist/src/connectors/composio-sessions.js +14 -4
- package/dist/src/connectors/composio.d.ts +7 -2
- package/dist/src/connectors/composio.js +49 -40
- package/dist/src/connectors/connected-source-ingestion.js +2 -1
- package/dist/src/connectors/connected-source-normalizers.js +5 -5
- package/dist/src/connectors/connector-identity.d.ts +2 -0
- package/dist/src/connectors/connector-identity.js +64 -1
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/connectors/learning-coordinator.js +34 -15
- package/dist/src/connectors/learning-recipes.d.ts +2 -0
- package/dist/src/connectors/learning-recipes.js +11 -1
- package/dist/src/connectors/source-change-publisher.js +5 -4
- package/dist/src/connectors/types.d.ts +16 -0
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +1 -1
- package/dist/src/daemon/service.js +3 -3
- package/dist/src/daemon/systemd.js +1 -1
- package/dist/src/daemon/types.d.ts +5 -5
- package/dist/src/discussions/analyzer.d.ts +6 -6
- package/dist/src/discussions/analyzer.js +32 -22
- package/dist/src/discussions/index.d.ts +3 -2
- package/dist/src/discussions/index.js +5 -4
- package/dist/src/discussions/live-worker.d.ts +5 -3
- package/dist/src/discussions/live-worker.js +24 -12
- package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
- package/dist/src/discussions/organizer-worker.js +58 -0
- package/dist/src/discussions/organizer.d.ts +22 -0
- package/dist/src/discussions/organizer.js +92 -0
- package/dist/src/discussions/repository.d.ts +16 -5
- package/dist/src/discussions/repository.js +159 -135
- package/dist/src/discussions/sealer.d.ts +25 -0
- package/dist/src/discussions/sealer.js +116 -0
- package/dist/src/discussions/service.d.ts +2 -1
- package/dist/src/discussions/service.js +70 -60
- package/dist/src/discussions/transcript.js +1 -1
- package/dist/src/discussions/types.d.ts +45 -20
- package/dist/src/discussions/types.js +4 -2
- package/dist/src/extensions/extension-registry-impl.d.ts +3 -1
- package/dist/src/extensions/extension-registry-impl.js +7 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/lockfile.js +1 -1
- package/dist/src/extensions/types/core.d.ts +5 -4
- package/dist/src/extensions/types/tui.d.ts +2 -2
- package/dist/src/extensions/update.d.ts +3 -3
- package/dist/src/extensions/update.js +14 -14
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +5 -3
- package/dist/src/gateway/agent-run-relay.d.ts +1 -1
- package/dist/src/gateway/agents-admin.js +17 -19
- package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
- package/dist/src/gateway/capability-presets-admin.js +59 -2
- package/dist/src/gateway/chat-limits.d.ts +6 -2
- package/dist/src/gateway/chat-limits.js +17 -3
- package/dist/src/gateway/chat-stream/mapper.js +16 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +4 -0
- package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
- package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
- package/dist/src/gateway/file-path-classifier.js +1 -1
- package/dist/src/gateway/file-reference-errors.d.ts +6 -0
- package/dist/src/gateway/file-reference-errors.js +21 -0
- package/dist/src/gateway/hono/app.js +9 -10
- package/dist/src/gateway/hono/index.d.ts +1 -1
- package/dist/src/gateway/hono/index.js +2 -2
- package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
- package/dist/src/gateway/hono/lib/config-payload.js +7 -5
- package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
- package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
- package/dist/src/gateway/hono/routes/activity.js +1 -2
- package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
- package/dist/src/gateway/hono/routes/composer-history.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -7
- package/dist/src/gateway/hono/routes/connectors.js +35 -30
- package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
- package/dist/src/gateway/hono/routes/discussions.js +13 -3
- package/dist/src/gateway/hono/routes/home.d.ts +1 -1
- package/dist/src/gateway/hono/routes/home.js +2 -2
- package/dist/src/gateway/hono/routes/index.js +2 -4
- package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
- package/dist/src/gateway/hono/routes/mcp.js +1 -1
- package/dist/src/gateway/hono/routes/media.js +9 -3
- package/dist/src/gateway/hono/routes/memory.js +38 -113
- package/dist/src/gateway/hono/routes/models.js +1 -1
- package/dist/src/gateway/hono/routes/projects.js +254 -601
- package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
- package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +343 -0
- package/dist/src/gateway/hono/routes/workflows.js +8 -9
- package/dist/src/gateway/hono/routes/workspace.js +34 -13
- package/dist/src/gateway/hono/routes/you.d.ts +1 -1
- package/dist/src/gateway/hono/routes/you.js +252 -80
- package/dist/src/gateway/hono/sse.d.ts +1 -16
- package/dist/src/gateway/hono/sse.js +4 -161
- package/dist/src/gateway/index.js +2 -2
- package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
- package/dist/src/gateway/rate-limit/buckets.js +12 -0
- package/dist/src/gateway/security/csp.d.ts +2 -0
- package/dist/src/gateway/security/csp.js +4 -0
- package/dist/src/gateway/service/agent-runner.d.ts +32 -13
- package/dist/src/gateway/service/agent-runner.js +97 -46
- package/dist/src/gateway/service/config-coordinator.js +2 -2
- package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
- package/dist/src/gateway/service/run-gateway-agent.js +31 -43
- package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
- package/dist/src/gateway/service/session-input-coordinator.js +183 -0
- package/dist/src/gateway/service/sessions-api.d.ts +1 -0
- package/dist/src/gateway/service.d.ts +28 -16
- package/dist/src/gateway/service.js +154 -137
- package/dist/src/gateway/session-reset-service.js +6 -6
- package/dist/src/gateway/user-turn-input.d.ts +0 -1
- package/dist/src/i18n/index.d.ts +0 -1
- package/dist/src/i18n/index.js +1 -2
- package/dist/src/i18n/language-consistency.d.ts +10 -0
- package/dist/src/i18n/language-consistency.js +34 -0
- package/dist/src/i18n/response-language.d.ts +8 -0
- package/dist/src/i18n/response-language.js +17 -0
- package/dist/src/i18n/share-tool-bundle.js +2 -2
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/mcp/channel-bridge.js +5 -3
- package/dist/src/media/store.js +1 -1
- package/dist/src/media/types.d.ts +1 -1
- package/dist/src/media/uri.js +1 -2
- package/dist/src/media-understanding/runner.d.ts +1 -1
- package/dist/src/media-understanding/runner.js +9 -9
- package/dist/src/media-understanding/types.d.ts +4 -4
- package/dist/src/mobile/notification-service.js +16 -21
- package/dist/src/mobile/notification-types.d.ts +2 -2
- package/dist/src/notes/types.d.ts +0 -1
- package/dist/src/proactive/events/product-event-bridge.js +17 -14
- package/dist/src/proactive/execution/context.js +45 -28
- package/dist/src/proactive/execution/insight.js +1 -1
- package/dist/src/proactive/temporal/worker.js +2 -2
- package/dist/src/projects/index.d.ts +0 -1
- package/dist/src/projects/index.js +1 -2
- package/dist/src/projects/project-loop.d.ts +16 -8
- package/dist/src/projects/project-loop.js +41 -48
- package/dist/src/projects/project-service.d.ts +14 -4
- package/dist/src/projects/project-service.js +18 -10
- package/dist/src/projects/project-store.d.ts +36 -3
- package/dist/src/projects/project-store.js +116 -14
- package/dist/src/projects/types.d.ts +50 -3
- package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
- package/dist/src/providers/index.js +2 -2
- package/dist/src/providers/model-registry.js +1 -1
- package/dist/src/providers/model-response.d.ts +4 -0
- package/dist/src/providers/model-response.js +28 -0
- package/dist/src/providers/register-runtime-providers.js +1 -1
- package/dist/src/session/config-types.d.ts +3 -0
- package/dist/src/session/index.d.ts +0 -1
- package/dist/src/session/index.js +1 -2
- package/dist/src/session/init-session-turn.js +6 -6
- package/dist/src/session/store.js +4 -4
- package/dist/src/session/types.d.ts +1 -6
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/storage/sqlite/config-repository.js +7 -4
- package/dist/src/storage/sqlite/connection.js +1 -1
- package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
- package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
- package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
- package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
- package/dist/src/storage/sqlite/connector-repository.js +12 -3
- package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
- package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
- package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
- package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
- package/dist/src/storage/sqlite/index.d.ts +6 -4
- package/dist/src/storage/sqlite/index.js +7 -5
- package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
- package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
- package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
- package/dist/src/storage/sqlite/memory-records-repository.js +112 -139
- package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
- package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
- package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
- package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
- package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
- package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
- package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
- package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
- package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
- package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
- package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
- package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
- package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
- package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
- package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
- package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
- package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
- package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
- package/dist/src/storage/sqlite/migrations/108_repair_user_memory_provider.sql +18 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +37 -5
- package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
- package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
- package/dist/src/storage/sqlite/migrations/types.ts +2 -0
- package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
- package/dist/src/storage/sqlite/row-mappers.js +2 -2
- package/dist/src/storage/sqlite/schema.d.ts +3 -1
- package/dist/src/storage/sqlite/schema.js +5 -2
- package/dist/src/storage/sqlite/schema.sql +76 -61
- package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
- package/dist/src/storage/sqlite/session-input-repository.js +147 -0
- package/dist/src/storage/sqlite/session-repository.js +5 -6
- package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
- package/dist/src/{work → tasks}/attention-governor.js +3 -4
- package/dist/src/tasks/execution-context.d.ts +23 -0
- package/dist/src/{work → tasks}/execution-context.js +7 -20
- package/dist/src/{work → tasks}/home-query-service.d.ts +16 -28
- package/dist/src/{work → tasks}/home-query-service.js +56 -126
- package/dist/src/tasks/index.d.ts +20 -0
- package/dist/src/tasks/index.js +21 -0
- package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
- package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
- package/dist/src/tasks/project-operating-view-service.js +77 -0
- package/dist/src/tasks/task-application-service.d.ts +35 -0
- package/dist/src/tasks/task-application-service.js +423 -0
- package/dist/src/tasks/task-context-assembler.d.ts +36 -0
- package/dist/src/tasks/task-context-assembler.js +125 -0
- package/dist/src/tasks/task-context-repository.d.ts +52 -0
- package/dist/src/tasks/task-context-repository.js +97 -0
- package/dist/src/tasks/task-contract-definition.d.ts +10 -0
- package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
- package/dist/src/tasks/task-contract-planner.d.ts +17 -0
- package/dist/src/tasks/task-contract-planner.js +87 -0
- package/dist/src/tasks/task-dependency-service.d.ts +21 -0
- package/dist/src/tasks/task-dependency-service.js +81 -0
- package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
- package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
- package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
- package/dist/src/tasks/task-read-model-projector.js +93 -0
- package/dist/src/tasks/task-repository.d.ts +82 -0
- package/dist/src/tasks/task-repository.js +185 -0
- package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
- package/dist/src/tasks/task-run-coordinator.js +130 -0
- package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
- package/dist/src/tasks/task-run-dispatcher.js +90 -0
- package/dist/src/tasks/task-run-repository.d.ts +102 -0
- package/dist/src/tasks/task-run-repository.js +312 -0
- package/dist/src/tasks/task-signal-service.d.ts +8 -0
- package/dist/src/tasks/task-signal-service.js +72 -0
- package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
- package/dist/src/tasks/task-value-metrics-service.js +78 -0
- package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
- package/dist/src/tasks/task-workflow-coordinator.js +54 -0
- package/dist/src/tui/backends/embedded-backend.d.ts +11 -1
- package/dist/src/tui/backends/embedded-backend.js +29 -3
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
- package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
- package/dist/src/tui/components/settings-selector.js +0 -20
- package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
- package/dist/src/tui/components/tui-bottom-bar.js +4 -9
- package/dist/src/tui/extension-host/runtime-context.js +1 -1
- package/dist/src/tui/tool-summary.d.ts +1 -2
- package/dist/src/tui/tool-summary.js +2 -18
- package/dist/src/tui/tui-backend.d.ts +13 -1
- package/dist/src/tui/tui-backend.js +10 -1
- package/dist/src/tui/tui-command-formatters.js +1 -2
- package/dist/src/tui/tui-commands.js +8 -19
- package/dist/src/tui/tui-session-actions.js +0 -2
- package/dist/src/tui/tui-settings.d.ts +0 -6
- package/dist/src/tui/tui-settings.js +0 -10
- package/dist/src/tui/tui-startup-resources.js +1 -1
- package/dist/src/tui/tui-types.d.ts +1 -4
- package/dist/src/tui/tui-types.js +1 -2
- package/dist/src/tui/tui.js +90 -73
- package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
- package/dist/src/tui/xopc-tui-keybindings.js +0 -5
- package/dist/src/tunnel/frpc-binary.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/user-context/config.d.ts +165 -16
- package/dist/src/user-context/config.js +74 -14
- package/dist/src/user-context/context-compiler.d.ts +4 -8
- package/dist/src/user-context/context-compiler.js +7 -10
- package/dist/src/user-context/interaction-state.js +8 -4
- package/dist/src/user-context/manual-understanding.d.ts +19 -0
- package/dist/src/user-context/manual-understanding.js +69 -0
- package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
- package/dist/src/user-context/memory-episode-evaluator.js +35 -0
- package/dist/src/user-context/memory-readiness.d.ts +33 -0
- package/dist/src/user-context/memory-readiness.js +41 -0
- package/dist/src/user-context/memory-use-audit.js +3 -2
- package/dist/src/user-context/projection.d.ts +14 -0
- package/dist/src/user-context/projection.js +15 -3
- package/dist/src/user-context/relationship-continuity.js +1 -1
- package/dist/src/user-context/runtime.d.ts +0 -2
- package/dist/src/user-context/runtime.js +1 -10
- package/dist/src/user-context/source-recommendations.d.ts +5 -5
- package/dist/src/user-context/source-recommendations.js +9 -8
- package/dist/src/voice/local/model-files.js +1 -1
- package/dist/src/voice/stt/transcribe-core.js +3 -3
- package/dist/src/voice/stt/types.d.ts +2 -2
- package/dist/src/voice/tts/speak-core.js +4 -4
- package/dist/src/voice/tts/types.d.ts +2 -2
- package/dist/src/work-discovery/analyzer.js +5 -5
- package/dist/src/work-discovery/service.d.ts +1 -10
- package/dist/src/work-discovery/service.js +4 -6
- package/dist/src/work-discovery/types.d.ts +1 -1
- package/dist/src/workflows/domain/run.d.ts +3 -4
- package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
- package/dist/src/workflows/index.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
- package/dist/src/workflows/service/workflow-run-service.js +105 -35
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -2
- package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
- package/dist/src/workflows/store/run-index-store.d.ts +1 -1
- package/dist/src/workflows/store/run-index-store.js +10 -8
- package/dist/src/workflows/store/run-store.d.ts +1 -1
- package/dist/src/workflows/store/run-store.js +2 -2
- package/package.json +5 -5
- package/dist/gateway/static/root/assets/agents-DgGj9bu6.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-B5xahuT-.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-BUYrvMmD.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-Cjw07q9h.js +0 -8
- package/dist/gateway/static/root/assets/browser-workflow-inputs-_gu08MA4.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-settings-panel-D_dfVxHY.js +0 -7
- package/dist/gateway/static/root/assets/capability-presets-api-DhCn9rPv.js +0 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-LWWIYUT7.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-Cyj5OunL.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-TEFnV0IG.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-0TobCpBB.js +0 -2
- package/dist/gateway/static/root/assets/desktop-pet-CwVSLL6N.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
- package/dist/gateway/static/root/assets/dreaming-settings-Da9FeWQl.js +0 -3
- package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
- package/dist/gateway/static/root/assets/goals-settings-Dx9uTyWF.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-Cnr5ORXL.js +0 -1
- package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
- package/dist/gateway/static/root/assets/index-BA56bQ68.js +0 -224
- package/dist/gateway/static/root/assets/local-app-workbench-page-DSUNtLHg.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-yI8kpQtO.js +0 -7
- package/dist/gateway/static/root/assets/messages-H_iJjnEM.js +0 -3
- package/dist/gateway/static/root/assets/notes-workbench-BD297EZt.js +0 -4
- package/dist/gateway/static/root/assets/outcome-detail-page-C5i_ZR9a.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-D1HGz7Dy.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CqP2TnW-.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-BXdVJLS3.js +0 -1
- package/dist/gateway/static/root/assets/save-bar-controls-B53UNtDM.js +0 -1
- package/dist/gateway/static/root/assets/schedule-field-C3dIMN5q.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-CPAwDdl5.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-C-jGsoft.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-Di5x6Xrc.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-uxEE6gAB.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-2mcsMWgn.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-ocDwsrEt.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-9_jfsFU5.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-CIJ66cUy.js +0 -1
- package/dist/gateway/static/root/assets/time-picker-D0zAsHOo.js +0 -1
- package/dist/gateway/static/root/assets/use-channel-catalog-BQz3K7xj.js +0 -1
- package/dist/gateway/static/root/assets/user-context-page-Bn4BLg4W.js +0 -1
- package/dist/gateway/static/root/assets/work-copy-Cwyan9Sn.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-page-iJ9RBSpu.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-CqTH7PQX.js +0 -1
- package/dist/gateway/static/root/assets/work-page-H3m99ccS.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-BxZSKMfv.js +0 -11
- package/dist/packages/gateway-contract/src/outcomes.js +0 -137
- package/dist/packages/gateway-contract/src/work-intake.js +0 -85
- package/dist/src/agent/feedback/feedback-coordinator.d.ts +0 -73
- package/dist/src/agent/feedback/feedback-coordinator.js +0 -156
- package/dist/src/agent/feedback/index.d.ts +0 -4
- package/dist/src/agent/feedback/index.js +0 -2
- package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
- package/dist/src/agent/goals/checklist-judge.js +0 -237
- package/dist/src/agent/goals/checklist-types.d.ts +0 -21
- package/dist/src/agent/goals/checklist-types.js +0 -24
- package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
- package/dist/src/agent/goals/evaluate-turn.js +0 -209
- package/dist/src/agent/goals/goal-locale.d.ts +0 -26
- package/dist/src/agent/goals/goal-locale.js +0 -61
- package/dist/src/agent/goals/judge.d.ts +0 -41
- package/dist/src/agent/goals/judge.js +0 -176
- package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
- package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
- package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
- package/dist/src/agent/goals/persistent-goal-service.js +0 -128
- package/dist/src/agent/goals/post-turn.d.ts +0 -28
- package/dist/src/agent/goals/post-turn.js +0 -187
- package/dist/src/agent/goals/state.d.ts +0 -46
- package/dist/src/agent/goals/state.js +0 -80
- package/dist/src/agent/lifecycle/progress.d.ts +0 -90
- package/dist/src/agent/lifecycle/progress.js +0 -340
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -183
- package/dist/src/agent/mcp/mcp-tool-meta.d.ts +0 -8
- package/dist/src/agent/mcp/mcp-tool-meta.js +0 -13
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.d.ts +0 -14
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -49
- package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
- package/dist/src/agent/memory/builtin-memory-store.js +0 -315
- package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
- package/dist/src/agent/memory/dreaming/events.js +0 -42
- package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
- package/dist/src/agent/memory/dreaming/last-run.js +0 -96
- package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
- package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
- package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
- package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
- package/dist/src/agent/prompt/memory/index.d.ts +0 -23
- package/dist/src/agent/prompt/memory/index.js +0 -101
- package/dist/src/agent/tools/composio-tool.d.ts +0 -21
- package/dist/src/agent/tools/composio-tool.js +0 -261
- package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
- package/dist/src/agent/tools/curated-memory-tool.js +0 -174
- package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
- package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
- package/dist/src/agent/tools/goal-tool.d.ts +0 -29
- package/dist/src/agent/tools/goal-tool.js +0 -136
- package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
- package/dist/src/chat-commands/builtins/goal.js +0 -122
- package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
- package/dist/src/chat-commands/builtins/subgoal.js +0 -117
- package/dist/src/cli/commands/goal.d.ts +0 -4
- package/dist/src/cli/commands/goal.js +0 -235
- package/dist/src/discussions/pipeline.d.ts +0 -33
- package/dist/src/discussions/pipeline.js +0 -205
- package/dist/src/discussions/worker.js +0 -74
- package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
- package/dist/src/gateway/hono/routes/dreaming.js +0 -323
- package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
- package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
- package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
- package/dist/src/gateway/hono/routes/goals.js +0 -786
- package/dist/src/gateway/hono/routes/work.js +0 -207
- package/dist/src/goals/goal-notifications.d.ts +0 -31
- package/dist/src/goals/goal-notifications.js +0 -157
- package/dist/src/goals/goal-queue-store.d.ts +0 -18
- package/dist/src/goals/goal-queue-store.js +0 -133
- package/dist/src/goals/goal-queue-types.d.ts +0 -42
- package/dist/src/goals/goal-queue-types.js +0 -1
- package/dist/src/goals/goal-runner.d.ts +0 -17
- package/dist/src/goals/goal-runner.js +0 -153
- package/dist/src/goals/goal-service.d.ts +0 -87
- package/dist/src/goals/goal-service.js +0 -323
- package/dist/src/goals/goal-store.d.ts +0 -44
- package/dist/src/goals/goal-store.js +0 -472
- package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
- package/dist/src/goals/goal-workflow-judge.js +0 -145
- package/dist/src/goals/index.d.ts +0 -10
- package/dist/src/goals/index.js +0 -7
- package/dist/src/goals/types.d.ts +0 -136
- package/dist/src/goals/types.js +0 -1
- package/dist/src/i18n/goals-bundle.d.ts +0 -35
- package/dist/src/i18n/goals-bundle.js +0 -61
- package/dist/src/i18n/locales/goals.en.js +0 -36
- package/dist/src/i18n/locales/goals.zh.js +0 -35
- package/dist/src/projects/goal-bind.d.ts +0 -4
- package/dist/src/projects/goal-bind.js +0 -38
- package/dist/src/session/abort-cutoff.d.ts +0 -6
- package/dist/src/session/abort-cutoff.js +0 -8
- package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
- package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
- package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
- package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
- package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
- package/dist/src/tui/tui-follow-up-queue.js +0 -16
- package/dist/src/work/execution-context.d.ts +0 -16
- package/dist/src/work/index.d.ts +0 -14
- package/dist/src/work/index.js +0 -15
- package/dist/src/work/outcome-contract-definition.d.ts +0 -8
- package/dist/src/work/outcome-execution-service.d.ts +0 -27
- package/dist/src/work/outcome-execution-service.js +0 -60
- package/dist/src/work/outcome-projection-service.d.ts +0 -7
- package/dist/src/work/outcome-projection-service.js +0 -51
- package/dist/src/work/outcome-receipt-service.d.ts +0 -13
- package/dist/src/work/outcome-receipt-service.js +0 -55
- package/dist/src/work/outcome-repository.d.ts +0 -50
- package/dist/src/work/outcome-repository.js +0 -112
- package/dist/src/work/outcome-run-coordinator.js +0 -117
- package/dist/src/work/project-operating-view-service.js +0 -46
- package/dist/src/work/work-intake-repository.d.ts +0 -49
- package/dist/src/work/work-intake-repository.js +0 -97
- package/dist/src/work/work-intake-service.d.ts +0 -26
- package/dist/src/work/work-intake-service.js +0 -171
- package/dist/src/work/work-value-metrics-service.d.ts +0 -4
- package/dist/src/work/work-value-metrics-service.js +0 -88
- package/dist/src/work-items/agent-context.d.ts +0 -7
- package/dist/src/work-items/agent-context.js +0 -73
- package/dist/src/work-items/index.d.ts +0 -5
- package/dist/src/work-items/index.js +0 -5
- package/dist/src/work-items/types.d.ts +0 -112
- package/dist/src/work-items/types.js +0 -1
- package/dist/src/work-items/work-item-service.d.ts +0 -36
- package/dist/src/work-items/work-item-service.js +0 -281
- package/dist/src/work-items/work-item-store.d.ts +0 -22
- package/dist/src/work-items/work-item-store.js +0 -313
- package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
- package/dist/src/work-items/work-item-workflow-judge.js +0 -48
- /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/agent/prompt/sections/response-language.ts
|
|
2
|
+
function buildResponseLanguageSection(language) {
|
|
3
|
+
return [
|
|
4
|
+
"## Response Language",
|
|
5
|
+
`- ${language === "zh-CN" ? "Write all user-facing prose in Simplified Chinese." : language === "en" ? "Write all user-facing prose in English." : "Write user-facing prose in the language of the current user request."}`,
|
|
6
|
+
"- This rule has priority over language found in tools, retrieved content, files, earlier messages, examples, or agent identity.",
|
|
7
|
+
"- A user may explicitly request a different response language for the current turn.",
|
|
8
|
+
"- Keep code, commands, paths, identifiers, API names, URLs, quotations, and proper nouns unchanged when translation would reduce precision.",
|
|
9
|
+
"- Do not duplicate the answer bilingually or switch languages inside ordinary prose."
|
|
10
|
+
].join("\n");
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { buildResponseLanguageSection };
|
|
@@ -22,7 +22,6 @@ const CORE_TOOL_ORDER = [
|
|
|
22
22
|
"memory_search",
|
|
23
23
|
"memory_get",
|
|
24
24
|
"session_search",
|
|
25
|
-
"curated_memory",
|
|
26
25
|
"session_status",
|
|
27
26
|
"tool_manual",
|
|
28
27
|
"delegate_task",
|
|
@@ -64,7 +63,6 @@ const CORE_TOOL_SUMMARIES = {
|
|
|
64
63
|
memory_search: "Semantic search over indexed memory sources",
|
|
65
64
|
memory_get: "Read specific lines from memory sources returned by search",
|
|
66
65
|
session_search: "Search other chat sessions or list recent sessions",
|
|
67
|
-
curated_memory: "Read/write structured notes in the shared user memory store/",
|
|
68
66
|
session_status: "Show session usage/time/model state",
|
|
69
67
|
tool_manual: "Load built-in usage manuals for complex tools",
|
|
70
68
|
delegate_task: "Spawn an isolated sub-agent for a delegated task",
|
|
@@ -12,7 +12,7 @@ export interface SystemPromptBuildOptions {
|
|
|
12
12
|
externalMemoryInstructions?: string;
|
|
13
13
|
workspaceOverride?: string;
|
|
14
14
|
profileMarkdownPathRoot?: string;
|
|
15
|
-
|
|
15
|
+
customInstructions?: string;
|
|
16
16
|
skillPromptText?: string;
|
|
17
17
|
skillAllowlist?: string[];
|
|
18
18
|
registeredToolNames?: string[];
|
|
@@ -5,12 +5,13 @@ import { buildInteractionStatePrompt } from "../../user-context/interaction-stat
|
|
|
5
5
|
import { getInteractionState } from "../../storage/sqlite/interaction-state-repository.js";
|
|
6
6
|
import { buildRelationshipPrompt, getRelationshipSettings } from "../../storage/sqlite/relationship-settings-repository.js";
|
|
7
7
|
import { listMemoryRecords } from "../../storage/sqlite/memory-records-repository.js";
|
|
8
|
-
import { DEFAULT_USER_TRUST_LEVEL
|
|
8
|
+
import { DEFAULT_USER_TRUST_LEVEL } from "../../user-context/trust-policy.js";
|
|
9
9
|
import { getUserTrustPolicy } from "../../storage/sqlite/user-trust-repository.js";
|
|
10
10
|
import "../../storage/sqlite/index.js";
|
|
11
11
|
import { init_session_key, parseSessionKey } from "../../routing/session-key.js";
|
|
12
12
|
import { resolveSystemPromptBuildParams } from "./system-prompt-params.js";
|
|
13
13
|
import { buildSystemPrompt } from "./system-prompt.js";
|
|
14
|
+
import { resolveResponseLanguageForSession } from "./response-language.js";
|
|
14
15
|
import { buildTtsSystemPromptHint } from "../../voice/tts/directives.js";
|
|
15
16
|
import { mergeTtsConfigFromAppConfig } from "../../voice/tts/merge-config.js";
|
|
16
17
|
import { buildPersonalPlaybookPrompt } from "../../user-context/personal-playbook.js";
|
|
@@ -44,33 +45,6 @@ var SystemPromptBuilder = class {
|
|
|
44
45
|
}) : "";
|
|
45
46
|
const continuityPrompt = buildRelationshipContinuityPrompt(activeMemories);
|
|
46
47
|
const interactionPrompt = interactionState ? buildInteractionStatePrompt(interactionState) : "";
|
|
47
|
-
if (options.systemPromptOverride?.trim()) {
|
|
48
|
-
const skillPrompt = options.skillPromptText !== void 0 ? options.skillPromptText : this.skillManager.getPromptForSkillAllowlist(options.skillAllowlist, options.registeredToolNames);
|
|
49
|
-
const trimmed = options.systemPromptOverride.trim();
|
|
50
|
-
let fullPrompt = skillPrompt.trim() ? `${trimmed}\n\n${skillPrompt}` : trimmed;
|
|
51
|
-
const ttsMerged = mergeTtsConfigFromAppConfig(this.config.messages?.tts);
|
|
52
|
-
const reg = options.registeredToolNames ?? [];
|
|
53
|
-
const ttsHint = buildTtsSystemPromptHint({
|
|
54
|
-
enabled: ttsMerged.enabled,
|
|
55
|
-
trigger: ttsMerged.trigger,
|
|
56
|
-
maxTextLength: ttsMerged.maxTextLength,
|
|
57
|
-
modelOverrides: ttsMerged.modelOverrides,
|
|
58
|
-
textToSpeechTool: ttsMerged.enabled && reg.includes("text_to_speech")
|
|
59
|
-
});
|
|
60
|
-
if (ttsHint?.trim()) fullPrompt = `${fullPrompt}\n\n## Voice (TTS)\n\n${ttsHint.trim()}`;
|
|
61
|
-
fullPrompt = `${fullPrompt}\n\n${buildActionTrustPrompt(actionTrustLevel)}`;
|
|
62
|
-
if (relationshipPrompt) fullPrompt = `${fullPrompt}\n\n${relationshipPrompt}`;
|
|
63
|
-
if (playbookPrompt) fullPrompt = `${fullPrompt}\n\n${playbookPrompt}`;
|
|
64
|
-
if (interactionPrompt) fullPrompt = `${fullPrompt}\n\n${interactionPrompt}`;
|
|
65
|
-
if (continuityPrompt) fullPrompt = `${fullPrompt}\n\n${continuityPrompt}`;
|
|
66
|
-
if (options.activeProjectContext?.trim()) fullPrompt = `${fullPrompt}\n\n${options.activeProjectContext.trim()}`;
|
|
67
|
-
log.debug({
|
|
68
|
-
baseLength: trimmed.length,
|
|
69
|
-
skillLength: skillPrompt.length,
|
|
70
|
-
totalLength: fullPrompt.length
|
|
71
|
-
}, "System prompt built (override)");
|
|
72
|
-
return fullPrompt;
|
|
73
|
-
}
|
|
74
48
|
const heartbeatEnabled = this.config.gateway?.heartbeat?.includeSystemPromptSection ?? false;
|
|
75
49
|
const userTimezone = this.extractTimezone(contextFiles);
|
|
76
50
|
const ttsMerged = mergeTtsConfigFromAppConfig(this.config.messages?.tts);
|
|
@@ -82,6 +56,7 @@ var SystemPromptBuilder = class {
|
|
|
82
56
|
modelOverrides: ttsMerged.modelOverrides,
|
|
83
57
|
textToSpeechTool: ttsMerged.enabled && reg.includes("text_to_speech")
|
|
84
58
|
});
|
|
59
|
+
const responseLanguage = resolveResponseLanguageForSession(this.config, options.sessionKey);
|
|
85
60
|
const resolved = resolveSystemPromptBuildParams(this.config, {
|
|
86
61
|
workspaceDir: ws,
|
|
87
62
|
sessionKey: options.sessionKey,
|
|
@@ -127,7 +102,9 @@ var SystemPromptBuilder = class {
|
|
|
127
102
|
promptContribution: resolved.promptContribution,
|
|
128
103
|
includeProblemSolving: resolved.includeProblemSolving,
|
|
129
104
|
includeToneSection: resolved.includeToneSection,
|
|
130
|
-
actionTrustLevel
|
|
105
|
+
actionTrustLevel,
|
|
106
|
+
responseLanguage,
|
|
107
|
+
customInstructions: options.customInstructions
|
|
131
108
|
});
|
|
132
109
|
const skillPrompt = options.skillPromptText !== void 0 ? options.skillPromptText : this.skillManager.getPromptForSkillAllowlist(options.skillAllowlist, options.registeredToolNames);
|
|
133
110
|
const fullPrompt = skillPrompt ? `${basePrompt}\n\n${skillPrompt}` : basePrompt;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ResponseLanguage } from '../../i18n/response-language.js';
|
|
1
2
|
export declare function buildSubagentContextSection(params: {
|
|
2
3
|
goal: string;
|
|
3
4
|
context?: string;
|
|
@@ -12,4 +13,5 @@ export declare function buildSubagentSystemPrompt(params: {
|
|
|
12
13
|
requesterSessionKey?: string;
|
|
13
14
|
childSessionKey?: string;
|
|
14
15
|
toolNames?: string[];
|
|
16
|
+
responseLanguage?: ResponseLanguage;
|
|
15
17
|
}): string;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* not to manually reread startup files.
|
|
7
7
|
*/
|
|
8
8
|
import type { EmbeddedContextFile } from '../bootstrap/types.js';
|
|
9
|
+
import type { ResponseLanguage } from '../../i18n/response-language.js';
|
|
9
10
|
import { type UserTrustLevel } from '../../user-context/trust-policy.js';
|
|
10
11
|
import type { ProviderSystemPromptContribution } from './contribution.js';
|
|
11
12
|
import { type RuntimeInfoInput } from './sections/workspace-runtime.js';
|
|
@@ -37,6 +38,8 @@ export interface SystemPromptOptions {
|
|
|
37
38
|
includeProblemSolving?: boolean;
|
|
38
39
|
includeToneSection?: boolean;
|
|
39
40
|
actionTrustLevel?: UserTrustLevel;
|
|
41
|
+
responseLanguage?: ResponseLanguage;
|
|
42
|
+
customInstructions?: string;
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
42
45
|
* Build system prompt with bootstrap Project Context integration.
|
|
@@ -6,6 +6,7 @@ import { buildHeartbeatBehaviorSection, buildMessagingSection, buildOutputDirect
|
|
|
6
6
|
import { buildProjectContextSection, getContextFileBasename, isDynamicContextFile, sortContextFilesForPrompt } from "./sections/project-context.js";
|
|
7
7
|
import { buildToolingSection, hasSkillsTools } from "./sections/tooling.js";
|
|
8
8
|
import { buildRuntimeSection, buildWorkspaceFilesIntroSection, buildWorkspaceSection } from "./sections/workspace-runtime.js";
|
|
9
|
+
import { buildResponseLanguageSection } from "./sections/response-language.js";
|
|
9
10
|
import { buildOverridablePromptSection } from "./system-prompt-params.js";
|
|
10
11
|
//#region src/agent/prompt/system-prompt.ts
|
|
11
12
|
function joinSections(sections) {
|
|
@@ -15,8 +16,13 @@ function joinSections(sections) {
|
|
|
15
16
|
* Build system prompt with bootstrap Project Context integration.
|
|
16
17
|
*/
|
|
17
18
|
function buildSystemPrompt(workspaceDir, options = {}) {
|
|
18
|
-
const { contextFiles = [], promptMode = "full", heartbeatEnabled = false, heartbeatPrompt, toolNames: toolNamesOption, toolSummaries, availableTools = [], memoryCitationsMode = "on", includeMemorySection, userTimezone, runtime, agentId, channels = [], externalMemoryInstructions, ttsSystemHint, extraSystemPrompt, activeProjectContext, silentReplyPromptMode = "generic", promptContribution, includeProblemSolving = true, includeToneSection = true, actionTrustLevel } = options;
|
|
19
|
-
if (promptMode === "none") return joinSections([
|
|
19
|
+
const { contextFiles = [], promptMode = "full", heartbeatEnabled = false, heartbeatPrompt, toolNames: toolNamesOption, toolSummaries, availableTools = [], memoryCitationsMode = "on", includeMemorySection, userTimezone, runtime, agentId, channels = [], externalMemoryInstructions, ttsSystemHint, extraSystemPrompt, activeProjectContext, silentReplyPromptMode = "generic", promptContribution, includeProblemSolving = true, includeToneSection = true, actionTrustLevel, responseLanguage = "auto", customInstructions } = options;
|
|
20
|
+
if (promptMode === "none") return joinSections([
|
|
21
|
+
"You are a personal AI assistant running inside xopc.",
|
|
22
|
+
customInstructions?.trim() ? `<custom_instructions>\n${customInstructions.trim()}\n</custom_instructions>` : void 0,
|
|
23
|
+
buildResponseLanguageSection(responseLanguage),
|
|
24
|
+
activeProjectContext
|
|
25
|
+
]);
|
|
20
26
|
const isMinimal = promptMode === "minimal";
|
|
21
27
|
const toolNames = toolNamesOption ?? availableTools;
|
|
22
28
|
const normalizedTools = new Set(toolNames.map((tool) => tool.toLowerCase()));
|
|
@@ -28,6 +34,8 @@ function buildSystemPrompt(workspaceDir, options = {}) {
|
|
|
28
34
|
const hasProfileMemory = orderedContextFiles.some((file) => getContextFileBasename(file.path) === "memory.md");
|
|
29
35
|
const stableSections = [
|
|
30
36
|
"You are a personal AI assistant running inside xopc.",
|
|
37
|
+
...customInstructions?.trim() ? [`<custom_instructions>\n${customInstructions.trim()}\n</custom_instructions>`] : [],
|
|
38
|
+
buildResponseLanguageSection(responseLanguage),
|
|
31
39
|
buildToolingSection({
|
|
32
40
|
toolNames,
|
|
33
41
|
toolSummaries
|
|
@@ -21,7 +21,7 @@ export interface HydratePerTurnStateDeps {
|
|
|
21
21
|
}
|
|
22
22
|
/** Workspace + model + thinking level — common prep before any direct turn. */
|
|
23
23
|
export declare function hydratePerTurnState(deps: HydratePerTurnStateDeps, sessionKey: string, thinking?: string): Promise<void>;
|
|
24
|
-
export interface
|
|
24
|
+
export interface SlashCommandTask {
|
|
25
25
|
/** True if the input parsed as a registered slash command (handled or not). */
|
|
26
26
|
matched: boolean;
|
|
27
27
|
/** Aggregated user-visible reply text (assistant view). */
|
|
@@ -52,7 +52,7 @@ export declare function tryRunSlashCommand(deps: TryRunSlashCommandDeps, ctx: {
|
|
|
52
52
|
}, content: string, options?: {
|
|
53
53
|
skipResetCommands?: boolean;
|
|
54
54
|
emitEvent?: (event: CommandStreamEvent) => void | Promise<void>;
|
|
55
|
-
}): Promise<
|
|
55
|
+
}): Promise<SlashCommandTask>;
|
|
56
56
|
export interface RunDirectAgentTurnDeps {
|
|
57
57
|
sessionStore: SessionStore;
|
|
58
58
|
agentManager: AgentInstanceGateway;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { buildTaskExecutionDirective } from "../../tasks/task-context-assembler.js";
|
|
1
2
|
import { resolveImageHandlingStrategy } from "../image/vision-detection.js";
|
|
2
3
|
import { hydrateUserTurnForLlm } from "../inbound/attachment-pipeline.js";
|
|
4
|
+
import { prependAgentContext } from "../memory/context/planner.js";
|
|
3
5
|
import { extractAgentUserPlainText } from "../memory/user-message-text.js";
|
|
4
6
|
import { shouldSkipResetOverlapCommand } from "../../session/reset-triggers.js";
|
|
5
7
|
import { parseSlashCommand } from "../../chat-commands/command-parse.js";
|
|
@@ -74,12 +76,13 @@ async function tryRunSlashCommand(deps, ctx, content, options) {
|
|
|
74
76
|
* prefetch + background-review nudge wiring used by every direct entry point.
|
|
75
77
|
*/
|
|
76
78
|
async function runDirectAgentTurn(deps, input) {
|
|
79
|
+
const turnId = input.runId ?? crypto.randomUUID();
|
|
77
80
|
const userPlain = extractAgentUserPlainText(input.userMessage);
|
|
78
|
-
const userContext = await deps.agentManager.prepareUserTurnContext(input.userMessage, input.sessionKey);
|
|
79
|
-
const userMessageForModel = userContext.modelMessage;
|
|
81
|
+
const userContext = await deps.agentManager.prepareUserTurnContext(input.userMessage, input.sessionKey, turnId);
|
|
82
|
+
const userMessageForModel = prependAgentContext(userContext.modelMessage, buildTaskExecutionDirective(input.sessionKey));
|
|
80
83
|
if (userContext.consentRequests.length > 0) input.onEvent?.({
|
|
81
84
|
type: "memory_consent_required",
|
|
82
|
-
runId:
|
|
85
|
+
runId: turnId,
|
|
83
86
|
requests: userContext.consentRequests
|
|
84
87
|
});
|
|
85
88
|
const modelRef = deps.modelManager.getModelForSession(input.sessionKey);
|
|
@@ -91,7 +94,7 @@ async function runDirectAgentTurn(deps, input) {
|
|
|
91
94
|
const llmImages = [...llmTurn.images, ...sourceImages];
|
|
92
95
|
const result = await runEmbeddedTurnForSession({
|
|
93
96
|
sessionKey: input.sessionKey,
|
|
94
|
-
runId:
|
|
97
|
+
runId: turnId,
|
|
95
98
|
userMessage: userMessageForModel,
|
|
96
99
|
llmImages,
|
|
97
100
|
sessionStore: deps.sessionStore,
|
|
@@ -106,7 +109,7 @@ async function runDirectAgentTurn(deps, input) {
|
|
|
106
109
|
const understandingReview = await deps.agentManager.afterAgentTurn(input.sessionKey, userPlain);
|
|
107
110
|
if (understandingReview?.createdRecords.length) input.onEvent?.({
|
|
108
111
|
type: "memory_captured",
|
|
109
|
-
runId:
|
|
112
|
+
runId: turnId,
|
|
110
113
|
records: understandingReview.createdRecords
|
|
111
114
|
});
|
|
112
115
|
deps.agentManager.scheduleBackgroundReviewAfterUserTurn(input.sessionKey);
|
|
@@ -36,8 +36,8 @@ export interface ProcessDirectStreamingDeps {
|
|
|
36
36
|
commandHandler: Pick<CommandHandler, 'executeCommandAndAggregateReply'>;
|
|
37
37
|
prepareInboundAttachments: (sessionKey: string, attachments?: DirectStreamInboundAttachment[]) => Promise<MediaRef[] | undefined>;
|
|
38
38
|
buildTranscriptUserMessage: (content: string, prepared: MediaRef[] | undefined, sessionKey: string) => Promise<TranscriptUserMessage>;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
recordTaskReviewStreamHint?: (sessionKey: string, task: {
|
|
40
|
+
skipTaskReview: boolean;
|
|
41
41
|
}) => void;
|
|
42
42
|
onTurnComplete?: (sessionKey: string, lastAssistantText?: string) => void;
|
|
43
43
|
enqueueProvisionalSessionTitle?: (sessionKey: string, userText: string) => void;
|
|
@@ -237,7 +237,7 @@ async function* runProcessDirectStreaming(deps, input) {
|
|
|
237
237
|
webchatSlashReceipt = text;
|
|
238
238
|
pushAssistantReceipt(queue, text, input.runId, slashCommandMetadata);
|
|
239
239
|
} else if (channel === "webchat") {
|
|
240
|
-
webchatSlashReceipt = "Command finished with no assistant text.
|
|
240
|
+
webchatSlashReceipt = "Command finished with no assistant text. An Task continuation may still be scheduled automatically.";
|
|
241
241
|
pushAssistantReceipt(queue, webchatSlashReceipt, input.runId);
|
|
242
242
|
}
|
|
243
243
|
const workflowRun = slash.metadata?.workflowRun;
|
|
@@ -350,7 +350,7 @@ async function* runProcessDirectStreaming(deps, input) {
|
|
|
350
350
|
sessionKey
|
|
351
351
|
}, "Failed to persist webchat slash command receipt");
|
|
352
352
|
}
|
|
353
|
-
deps.
|
|
353
|
+
deps.recordTaskReviewStreamHint?.(sessionKey, { skipTaskReview: ranSlashCommand });
|
|
354
354
|
} finally {
|
|
355
355
|
if (channel === "webchat") deps.unregisterWebchatSsePublisher(sessionKey);
|
|
356
356
|
deps.endDirectRequestContext();
|
|
@@ -9,7 +9,7 @@ import { type AgentSkillAvailabilityPayload, type SkillCatalogEntry, type SkillC
|
|
|
9
9
|
import type { SkillMarkdownPreviewPayload } from './skills/types.js';
|
|
10
10
|
import type { AgentCapabilityCatalogEntry } from './capabilities/index.js';
|
|
11
11
|
import type { AgentServiceConfig, StreamHandle } from './service.types.js';
|
|
12
|
-
import {
|
|
12
|
+
import { TaskJudgeService } from './tasks/task-judge-service.js';
|
|
13
13
|
import type { SkillInstallToolOptions, SkillInstallToolResult, MarketplaceSkillInstallToolOptions, MarketplaceSkillInstallToolResult } from './tools/skill-install-tool.js';
|
|
14
14
|
import { type InboundAttachmentInput, type MediaRef } from '../channels/attachments/inbound-persist.js';
|
|
15
15
|
export type { AgentServiceConfig, AgentContext, StreamHandle } from './service.types.js';
|
|
@@ -27,7 +27,6 @@ export declare class AgentService {
|
|
|
27
27
|
private config;
|
|
28
28
|
private sessionTracker;
|
|
29
29
|
private modelManager;
|
|
30
|
-
private progressManager;
|
|
31
30
|
private hookHandler;
|
|
32
31
|
private lifecycleManager;
|
|
33
32
|
private errorTracker;
|
|
@@ -55,12 +54,8 @@ export declare class AgentService {
|
|
|
55
54
|
* TUI, CLI, and automations do not need to thread every call through `AgentService`.
|
|
56
55
|
*/
|
|
57
56
|
readonly turnDispatcher: TurnDispatcher;
|
|
58
|
-
/**
|
|
59
|
-
|
|
60
|
-
* stream-outcome state, post-turn verdict. Public so the gateway can wire
|
|
61
|
-
* the webchat continuation scheduler and read stream outcomes directly.
|
|
62
|
-
*/
|
|
63
|
-
readonly persistentGoals: PersistentGoalService;
|
|
57
|
+
/** Independent acceptance review for the active Task after an agent turn. */
|
|
58
|
+
readonly taskJudge: TaskJudgeService;
|
|
64
59
|
/**
|
|
65
60
|
* Per-session config writes (model / thinking / reasoning / working directory).
|
|
66
61
|
* Public so REST endpoints and CLI flows can hit it without going through a
|
|
@@ -84,12 +79,11 @@ export declare class AgentService {
|
|
|
84
79
|
private agentOrchestrator;
|
|
85
80
|
private agentEventHandler;
|
|
86
81
|
private workflowProgressBrokerHandle;
|
|
87
|
-
private feedbackCoordinator;
|
|
88
82
|
private agentManager;
|
|
89
83
|
/**
|
|
90
84
|
* Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
|
|
91
|
-
* publishers, last assistant text, embedded stream buffer,
|
|
92
|
-
*
|
|
85
|
+
* publishers, last assistant text, embedded stream buffer, Task review stream
|
|
86
|
+
* tasks, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
|
|
93
87
|
* sweep for slots that have no explicit owner.
|
|
94
88
|
*/
|
|
95
89
|
private sessionState;
|
|
@@ -100,7 +94,6 @@ export declare class AgentService {
|
|
|
100
94
|
constructor(bus: MessageBus, config: AgentServiceConfig);
|
|
101
95
|
private createSessionStore;
|
|
102
96
|
private createHookRunner;
|
|
103
|
-
private createProgressManager;
|
|
104
97
|
private initializeReliabilityModules;
|
|
105
98
|
setChannelManager(channelManager: ChannelManager): void;
|
|
106
99
|
/**
|
|
@@ -134,6 +127,7 @@ export declare class AgentService {
|
|
|
134
127
|
beginInboundTurn(sessionKey: string): void;
|
|
135
128
|
endInboundTurn(sessionKey: string): void;
|
|
136
129
|
getInboundTurnDepth(sessionKey: string): number;
|
|
130
|
+
takeTaskReviewStreamHint(sessionKey: string): import("./session/session-state-bag.js").TaskReviewStreamHint;
|
|
137
131
|
start(): Promise<void>;
|
|
138
132
|
stop(): Promise<void>;
|
|
139
133
|
reconcileDreamingNow(): Promise<void>;
|
|
@@ -2,13 +2,14 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { parseNoteAttachmentTarget } from "../notes/attachment-ref.js";
|
|
4
4
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
5
|
-
import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
|
|
6
|
-
import { init_paths, resolveUserProfilePath } from "../config/paths.js";
|
|
7
5
|
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
6
|
+
import { init_agent_scope, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
|
|
8
7
|
import { extractProfileAgentId } from "../config/agent-profile.js";
|
|
8
|
+
import { init_paths, resolveUserProfilePath } from "../config/paths.js";
|
|
9
9
|
import { extractTextContent } from "./context/workspace.js";
|
|
10
10
|
import { effectiveWorkspacePathForSession } from "../session/session-workspace.js";
|
|
11
11
|
import { getProjectForSession } from "../projects/workspace.js";
|
|
12
|
+
import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
|
|
12
13
|
import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "./skills/workspace-skills-dir.js";
|
|
13
14
|
import { removeSkillsLockEntry } from "./skills/hub-lock.js";
|
|
14
15
|
import { installSkillFromZip } from "./skills/managed-store.js";
|
|
@@ -28,7 +29,6 @@ import { SessionTracker } from "./session/tracker.js";
|
|
|
28
29
|
import { ModelManager } from "./models/manager.js";
|
|
29
30
|
import "./models/index.js";
|
|
30
31
|
import { initializeCommands } from "../chat-commands/index.js";
|
|
31
|
-
import { ProgressFeedbackManager } from "./lifecycle/progress.js";
|
|
32
32
|
import { HookHandler } from "./lifecycle/hook-handler.js";
|
|
33
33
|
import { ToolErrorTracker } from "./tools/error-tracker.js";
|
|
34
34
|
import { RequestLimiter } from "./models/request-limiter.js";
|
|
@@ -61,9 +61,8 @@ import { AgentEventHandler, readChangedPathsFromToolEnd } from "./orchestration/
|
|
|
61
61
|
import "./orchestration/index.js";
|
|
62
62
|
import { getWorkflowProgressBroker } from "./workflow/progress-broker.js";
|
|
63
63
|
import "./workflow/index.js";
|
|
64
|
-
import {
|
|
65
|
-
import "
|
|
66
|
-
import { PersistentGoalService } from "./goals/persistent-goal-service.js";
|
|
64
|
+
import { TaskJudgeService } from "./tasks/task-judge-service.js";
|
|
65
|
+
import { analyzeResponseLanguage } from "../i18n/language-consistency.js";
|
|
67
66
|
import { existsSync, readFileSync } from "node:fs";
|
|
68
67
|
import { readFile } from "node:fs/promises";
|
|
69
68
|
//#region src/agent/service.ts
|
|
@@ -96,7 +95,6 @@ var AgentService = class {
|
|
|
96
95
|
config;
|
|
97
96
|
sessionTracker;
|
|
98
97
|
modelManager;
|
|
99
|
-
progressManager;
|
|
100
98
|
hookHandler;
|
|
101
99
|
lifecycleManager;
|
|
102
100
|
errorTracker;
|
|
@@ -124,12 +122,8 @@ var AgentService = class {
|
|
|
124
122
|
* TUI, CLI, and automations do not need to thread every call through `AgentService`.
|
|
125
123
|
*/
|
|
126
124
|
turnDispatcher;
|
|
127
|
-
/**
|
|
128
|
-
|
|
129
|
-
* stream-outcome state, post-turn verdict. Public so the gateway can wire
|
|
130
|
-
* the webchat continuation scheduler and read stream outcomes directly.
|
|
131
|
-
*/
|
|
132
|
-
persistentGoals;
|
|
125
|
+
/** Independent acceptance review for the active Task after an agent turn. */
|
|
126
|
+
taskJudge;
|
|
133
127
|
/**
|
|
134
128
|
* Per-session config writes (model / thinking / reasoning / working directory).
|
|
135
129
|
* Public so REST endpoints and CLI flows can hit it without going through a
|
|
@@ -153,12 +147,11 @@ var AgentService = class {
|
|
|
153
147
|
agentOrchestrator;
|
|
154
148
|
agentEventHandler;
|
|
155
149
|
workflowProgressBrokerHandle = null;
|
|
156
|
-
feedbackCoordinator;
|
|
157
150
|
agentManager;
|
|
158
151
|
/**
|
|
159
152
|
* Unified per-session state container (replaces six ad-hoc Maps). Owns webchat
|
|
160
|
-
* publishers, last assistant text, embedded stream buffer,
|
|
161
|
-
*
|
|
153
|
+
* publishers, last assistant text, embedded stream buffer, Task review stream
|
|
154
|
+
* tasks, concurrent-turn depth, and event-listener unsubscribers; runs a TTL
|
|
162
155
|
* sweep for slots that have no explicit owner.
|
|
163
156
|
*/
|
|
164
157
|
sessionState = new SessionStateBag();
|
|
@@ -216,15 +209,10 @@ var AgentService = class {
|
|
|
216
209
|
compactedCount
|
|
217
210
|
})
|
|
218
211
|
});
|
|
219
|
-
this.progressManager = this.createProgressManager();
|
|
220
212
|
this.initializeReliabilityModules();
|
|
221
213
|
this.lifecycleManager = new LifecycleManager();
|
|
222
214
|
this.streamManager = new StreamManager();
|
|
223
215
|
this.sessionContextManager = new SessionContextManager();
|
|
224
|
-
this.feedbackCoordinator = new FeedbackCoordinator({
|
|
225
|
-
progressManager: this.progressManager,
|
|
226
|
-
bus
|
|
227
|
-
});
|
|
228
216
|
this.agentManager = new AgentManager({
|
|
229
217
|
workspace: config.workspace,
|
|
230
218
|
model: config.model,
|
|
@@ -243,8 +231,8 @@ var AgentService = class {
|
|
|
243
231
|
getBrowserRecipeService: config.getBrowserRecipeService,
|
|
244
232
|
getNotesService: config.getNotesService,
|
|
245
233
|
getProjectService: config.getProjectService,
|
|
246
|
-
getWorkItemService: config.getWorkItemService,
|
|
247
234
|
getLocalAppService: config.getLocalAppService,
|
|
235
|
+
dispatchTaskRuns: config.dispatchTaskRuns,
|
|
248
236
|
getWorkflowRunService: config.getWorkflowRunService,
|
|
249
237
|
onSkillsUpdated: config.onSkillsUpdated,
|
|
250
238
|
installSkillFromSource: (opts) => this.installSkillFromSource(opts),
|
|
@@ -253,7 +241,6 @@ var AgentService = class {
|
|
|
253
241
|
getSelfVerifyPromptContext: (sessionKey, agentId) => [this.selfVerifyMiddleware.getPendingVerificationContext(sessionKey, agentId), this.turnDiffTracker.buildFinalGuardContext(sessionKey)].filter(Boolean).join("\n\n")
|
|
254
242
|
});
|
|
255
243
|
this.agentEventHandler = new AgentEventHandler({
|
|
256
|
-
progressManager: this.progressManager,
|
|
257
244
|
errorTracker: this.errorTracker,
|
|
258
245
|
requestLimiter: this.requestLimiter,
|
|
259
246
|
lifecycleManager: this.lifecycleManager,
|
|
@@ -270,6 +257,18 @@ var AgentService = class {
|
|
|
270
257
|
const changedPaths = readChangedPathsFromToolEnd(e.toolName, e.args, e.result);
|
|
271
258
|
this.agentManager.markCodeIntelligenceDirty(context.sessionKey, changedPaths);
|
|
272
259
|
});
|
|
260
|
+
this.agentEventHandler.registerListener("message_end", (event, context) => {
|
|
261
|
+
const message = event.message;
|
|
262
|
+
if (message.role !== "assistant") return;
|
|
263
|
+
const analysis = analyzeResponseLanguage(assistantMessageText(message), resolveResponseLanguageForSession(this.effectiveAppConfig(), context.sessionKey));
|
|
264
|
+
const fields = {
|
|
265
|
+
phase: "response_language_check",
|
|
266
|
+
sessionKey: context.sessionKey,
|
|
267
|
+
...analysis
|
|
268
|
+
};
|
|
269
|
+
if (analysis.compliant) log.debug(fields, "Assistant response language check passed");
|
|
270
|
+
else log.warn(fields, "Assistant response language did not match the active preference");
|
|
271
|
+
});
|
|
273
272
|
this.workflowProgressBrokerHandle = getWorkflowProgressBroker().attachTo(this.agentEventHandler);
|
|
274
273
|
this.sessionHydrator = new SessionHydrator({
|
|
275
274
|
sessionConfigStore: this.sessionConfigStore,
|
|
@@ -281,8 +280,6 @@ var AgentService = class {
|
|
|
281
280
|
agentManager: this.agentManager,
|
|
282
281
|
sessionStore: this.sessionStore,
|
|
283
282
|
modelManager: this.modelManager,
|
|
284
|
-
eventHandler: this.agentEventHandler,
|
|
285
|
-
feedbackCoordinator: this.feedbackCoordinator,
|
|
286
283
|
sessionConfigStore: this.sessionConfigStore,
|
|
287
284
|
sessionHydrator: this.sessionHydrator,
|
|
288
285
|
getConfig: () => this.effectiveAppConfig(),
|
|
@@ -311,7 +308,6 @@ var AgentService = class {
|
|
|
311
308
|
bus,
|
|
312
309
|
sessionStore: this.sessionStore,
|
|
313
310
|
sessionConfigStore: this.sessionConfigStore,
|
|
314
|
-
getPersistentGoalApisForCommand: (routing) => this.persistentGoals.buildApisForRouting(routing),
|
|
315
311
|
getWorkflowRunService: config.getWorkflowRunService,
|
|
316
312
|
applySessionThinkingLevel: (sessionKey, level) => {
|
|
317
313
|
this.agentManager.setThinkingLevel(sessionKey, level);
|
|
@@ -333,16 +329,10 @@ var AgentService = class {
|
|
|
333
329
|
getSessionContextReport: (sessionKey, mode) => this.sessionInspector.report(sessionKey, mode)
|
|
334
330
|
});
|
|
335
331
|
this.sessionLifecycleManager = new SessionLifecycleManager(this.sessionStore, this.sessionTracker, this.lifecycleManager);
|
|
336
|
-
this.
|
|
337
|
-
bus,
|
|
332
|
+
this.taskJudge = new TaskJudgeService({
|
|
338
333
|
sessionStore: this.sessionStore,
|
|
339
334
|
modelManager: this.modelManager,
|
|
340
|
-
|
|
341
|
-
getConfig: () => this.effectiveAppConfig(),
|
|
342
|
-
getResolvedWorkspaceForSession: (sk) => this.agentManager.getResolvedWorkspaceForSession(sk),
|
|
343
|
-
onSessionMetadataUpdated: this.onSessionMetadataUpdated,
|
|
344
|
-
onGoalStatusUpdated: config.onGoalStatusUpdated,
|
|
345
|
-
notifyWebchatTranscriptAppend: (sk, text) => this.turnDispatcher.notifyWebchatTranscriptAppend(sk, text)
|
|
335
|
+
getConfig: () => this.effectiveAppConfig()
|
|
346
336
|
});
|
|
347
337
|
this.sessionConfig = new SessionConfigService({
|
|
348
338
|
sessionStore: this.sessionStore,
|
|
@@ -366,7 +356,7 @@ var AgentService = class {
|
|
|
366
356
|
streamManager: this.streamManager,
|
|
367
357
|
getConfig: () => this.effectiveAppConfig(),
|
|
368
358
|
getLastAssistantPlainText: (sk) => this.getLastAssistantPlainText(sk),
|
|
369
|
-
|
|
359
|
+
reviewTaskTurn: (payload) => this.taskJudge.reviewTurn(payload)
|
|
370
360
|
});
|
|
371
361
|
this.turnDispatcher = new TurnDispatcher({
|
|
372
362
|
log,
|
|
@@ -401,7 +391,6 @@ var AgentService = class {
|
|
|
401
391
|
messageRouter: this.messageRouter,
|
|
402
392
|
commandHandler: this.commandHandler,
|
|
403
393
|
sessionContextManager: this.sessionContextManager,
|
|
404
|
-
feedbackCoordinator: this.feedbackCoordinator,
|
|
405
394
|
agentManager: this.agentManager,
|
|
406
395
|
sessionLifecycleManager: this.sessionLifecycleManager,
|
|
407
396
|
agentOrchestrator: this.agentOrchestrator,
|
|
@@ -445,16 +434,6 @@ var AgentService = class {
|
|
|
445
434
|
}
|
|
446
435
|
});
|
|
447
436
|
}
|
|
448
|
-
createProgressManager() {
|
|
449
|
-
return new ProgressFeedbackManager({
|
|
450
|
-
level: "normal",
|
|
451
|
-
showThinking: true,
|
|
452
|
-
streamToolProgress: true,
|
|
453
|
-
heartbeatEnabled: true,
|
|
454
|
-
heartbeatIntervalMs: 2e4,
|
|
455
|
-
longTaskThresholdMs: 3e4
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
437
|
initializeReliabilityModules() {
|
|
459
438
|
this.errorTracker = new ToolErrorTracker({
|
|
460
439
|
maxFailuresPerTool: 3,
|
|
@@ -606,11 +585,9 @@ var AgentService = class {
|
|
|
606
585
|
}
|
|
607
586
|
setStreamHandle(handle) {
|
|
608
587
|
this.streamManager.setHandle(handle);
|
|
609
|
-
this.feedbackCoordinator.setStreamHandle(handle);
|
|
610
588
|
}
|
|
611
589
|
clearStreamHandle() {
|
|
612
590
|
this.streamManager.clearHandle();
|
|
613
|
-
this.feedbackCoordinator.endTask();
|
|
614
591
|
}
|
|
615
592
|
/** Last assistant visible plain text for a session (e.g. after a webchat stream). */
|
|
616
593
|
getLastAssistantPlainText(sessionKey) {
|
|
@@ -625,6 +602,9 @@ var AgentService = class {
|
|
|
625
602
|
getInboundTurnDepth(sessionKey) {
|
|
626
603
|
return this.sessionState.getInboundTurnDepth(sessionKey);
|
|
627
604
|
}
|
|
605
|
+
takeTaskReviewStreamHint(sessionKey) {
|
|
606
|
+
return this.sessionState.takeTaskReviewStreamHint(sessionKey);
|
|
607
|
+
}
|
|
628
608
|
async start() {
|
|
629
609
|
await this.sessionConfigStore.initialize();
|
|
630
610
|
await this.hookHandler.trigger("gateway_start", {
|
|
@@ -714,7 +694,6 @@ var AgentService = class {
|
|
|
714
694
|
chatId
|
|
715
695
|
});
|
|
716
696
|
this.sessionContextManager.enter(context);
|
|
717
|
-
this.feedbackCoordinator.setContext(context);
|
|
718
697
|
this.agentManager.getOrCreateAgent(sessionKey);
|
|
719
698
|
this.setupSessionEventHandling(sessionKey);
|
|
720
699
|
return context;
|
|
@@ -741,7 +720,6 @@ var AgentService = class {
|
|
|
741
720
|
} });
|
|
742
721
|
}
|
|
743
722
|
endDirectRequestContext() {
|
|
744
|
-
this.feedbackCoordinator.clearContext();
|
|
745
723
|
this.contextMiddleware.onResponse();
|
|
746
724
|
}
|
|
747
725
|
/**
|
|
@@ -762,14 +740,14 @@ var AgentService = class {
|
|
|
762
740
|
const { abortEmbeddedRun } = await import("./embedded/runs.js");
|
|
763
741
|
const { retireSessionMcpRuntimeForSessionKey } = await import("./mcp/bundle-mcp-tools.js");
|
|
764
742
|
await abortEmbeddedRun(key);
|
|
765
|
-
const
|
|
766
|
-
if (!
|
|
743
|
+
const task = await this.sessionStore.reset(key);
|
|
744
|
+
if (!task) return null;
|
|
767
745
|
this.agentManager.removeAgent(key);
|
|
768
746
|
await retireSessionMcpRuntimeForSessionKey({
|
|
769
747
|
sessionKey: key,
|
|
770
748
|
reason: "session-reset"
|
|
771
749
|
});
|
|
772
|
-
return
|
|
750
|
+
return task;
|
|
773
751
|
}
|
|
774
752
|
/**
|
|
775
753
|
* Drop in-memory agent so the next turn reloads transcript from disk (e.g. after checkpoint restore).
|
|
@@ -5,10 +5,8 @@ import type { AutomationService } from '../automations/index.js';
|
|
|
5
5
|
import type { ExtensionRegistryImpl as ExtensionRegistry } from '../extensions/index.js';
|
|
6
6
|
import type { NotesService } from '../notes/index.js';
|
|
7
7
|
import type { ProjectService } from '../projects/index.js';
|
|
8
|
-
import type { WorkItemService } from '../work-items/index.js';
|
|
9
8
|
import type { LocalAppService } from '../local-apps/index.js';
|
|
10
9
|
import type { GatewayClarifyRequestFn } from './tools/clarify-tool.js';
|
|
11
|
-
import type { ProgressStage } from './lifecycle/progress.js';
|
|
12
10
|
import type { AgentSourceContextResolver } from './source-context/types.js';
|
|
13
11
|
export interface AgentServiceConfig {
|
|
14
12
|
workspace: string;
|
|
@@ -32,30 +30,18 @@ export interface AgentServiceConfig {
|
|
|
32
30
|
/** Gateway: exposes first-class xopc product objects for the `xopc_use` tool. */
|
|
33
31
|
getNotesService?: () => NotesService | undefined;
|
|
34
32
|
getProjectService?: () => ProjectService | undefined;
|
|
35
|
-
getWorkItemService?: () => WorkItemService | undefined;
|
|
36
33
|
getLocalAppService?: () => LocalAppService | undefined;
|
|
34
|
+
dispatchTaskRuns?: () => void;
|
|
37
35
|
/**
|
|
38
36
|
* Gateway: reuse the gateway `SessionManager` store so web API and agent share one index + files.
|
|
39
37
|
* When omitted, `AgentService` creates its own `SessionStore` (CLI / embedded).
|
|
40
38
|
*/
|
|
41
39
|
sessionStore?: SessionStore;
|
|
42
|
-
/**
|
|
43
|
-
* Gateway: invoked after `sessionStore.updateMetadata` from built-in `/goal` APIs (store does not emit).
|
|
44
|
-
* Wire to `sessionManager.emit('sessionUpdated', { key })` so the console refetches.
|
|
45
|
-
*/
|
|
46
40
|
onSessionMetadataUpdated?: (sessionKey: string, patch?: {
|
|
47
41
|
name?: string;
|
|
48
42
|
}) => void;
|
|
49
|
-
/** Gateway: transcript
|
|
43
|
+
/** Gateway: transcript append notification. */
|
|
50
44
|
onSessionTranscriptUpdated?: (sessionKey: string) => void;
|
|
51
|
-
/** Gateway: durable goal status changed after post-turn judge. */
|
|
52
|
-
onGoalStatusUpdated?: (payload: {
|
|
53
|
-
goalId: string;
|
|
54
|
-
sessionKey: string;
|
|
55
|
-
previousStatus: string;
|
|
56
|
-
status: string;
|
|
57
|
-
goal: import('../goals/types.js').GoalWithDetails;
|
|
58
|
-
}) => void;
|
|
59
45
|
/** Gateway/TUI: local skill catalog changed or skill config toggles changed. */
|
|
60
46
|
onSkillsUpdated?: (payload: {
|
|
61
47
|
reason: 'disk' | 'config';
|
|
@@ -79,8 +65,6 @@ export interface AgentContext {
|
|
|
79
65
|
}
|
|
80
66
|
export interface StreamHandle {
|
|
81
67
|
update: (text: string) => void;
|
|
82
|
-
updateProgress?: (text: string, stage: ProgressStage, detail?: string) => void;
|
|
83
|
-
setProgress?: (stage: ProgressStage, detail?: string) => void;
|
|
84
68
|
end: () => Promise<void>;
|
|
85
69
|
abort: () => Promise<void>;
|
|
86
70
|
messageId: () => number | undefined;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { SessionContextManager, type SessionContext, } from './session-context.js';
|
|
5
5
|
export { SessionLifecycleManager, type SessionLifecycleEvents, type SessionStats, } from './session-lifecycle.js';
|
|
6
|
-
export { SessionStateBag, type SessionStateBagOptions, type WebchatSsePublisher, type
|
|
6
|
+
export { SessionStateBag, type SessionStateBagOptions, type WebchatSsePublisher, type TaskReviewStreamHint, } from './session-state-bag.js';
|
|
7
7
|
export { SessionConfigService, type SessionConfigServiceOptions, type PatchSessionAgentConfigInput, type PatchSessionAgentConfigResult, } from './session-config-service.js';
|
|
8
8
|
export { SessionHydrator, type SessionHydratorOptions, } from './session-hydrator.js';
|
|
9
9
|
export { SessionInspector, type SessionInspectorOptions, type SessionContextUsage, type SessionAgentConfigView, } from './session-inspector.js';
|