@xopcai/xopc 0.0.410 → 0.0.411
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 +12 -6
- package/README.zh-CN.md +12 -6
- package/dist/browser-ext/dist/assets/{page-context-A5RCibM_.js → page-context-MuzjMBlJ.js} +1 -1
- package/dist/browser-ext/dist/background.js +1 -1
- package/dist/browser-ext/dist/sidepanel.html +1 -1
- package/dist/browser-ext/dist/sidepanel.js +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/adapters/gateway-setup.js +9 -3
- package/dist/extensions/feishu/src/plugin.d.ts +0 -3
- package/dist/extensions/feishu/src/plugin.js +1 -11
- package/dist/extensions/feishu/src/schema/config-schema.d.ts +0 -2
- package/dist/extensions/feishu/src/schema/config-schema.js +9 -21
- package/dist/extensions/feishu/src/state/accounts.js +3 -7
- package/dist/extensions/telegram/src/plugin.d.ts +0 -3
- package/dist/extensions/telegram/src/plugin.js +0 -9
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/plugin.d.ts +0 -3
- package/dist/extensions/weixin/src/plugin.js +1 -12
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-sGJnq-SA.js +1 -0
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BI7OTo-T.js +1 -0
- package/dist/gateway/static/root/assets/agents-RIXL0p7_.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-D0UyB0Y_.js → agents-admin-api-uGDeJR1f.js} +1 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-BGzhSS6H.js +1 -0
- package/dist/gateway/static/root/assets/{appearance-settings-byEnJz9H.js → appearance-settings-DtEZq4b2.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-DZqBof2D.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-BXssEuq3.js → archive-plugin-CGdU_E5B.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-display-DCkjVzA0.js → automation-display-BFN7zWBg.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-C-puATkS.js → automations-page-BAPZY56r.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-CI-yQnSj.js +8 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DBz_2AhG.js → binary-plugins-B0ispXo2.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BOO5kjIl.js → block-editor-B9Ci-prO.js} +40 -40
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D8bZ9iz2.js → browser-automation-inputs-D4-vQc4g.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-Xzdif447.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-Bhu-83eC.js +3 -0
- package/dist/gateway/static/root/assets/capabilities-B9b5KCBb.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-BIc0Zlsw.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CQEfpLdj.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-yfPUz5Wt.js → capability-header-actions-Cic05oWh.js} +1 -1
- package/dist/gateway/static/root/assets/channels-DQbEoo_o.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Dlzn80cK.js → chat-terminal-dock-Bm-IGeDe.js} +2 -2
- package/dist/gateway/static/root/assets/{chunk-KS7C4IRE-B2HK1psj.js → chunk-KS7C4IRE-BvcCCgTW.js} +2 -2
- package/dist/gateway/static/root/assets/computer-settings-page-C9xMfwXK.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-DcdASUU9.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-eh-xpMPK.js +1 -0
- package/dist/gateway/static/root/assets/date-formatters-DukWSVwc.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-DGjpqOKx.js → date-picker-gVLWu9R0.js} +1 -1
- package/dist/gateway/static/root/assets/dependency-picker-C0LARyok.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-B_-j-D4W.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-v_le3sCs.js +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-CxG_FcQ6.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-CwT1LcLR.js → directory-picker-path-field-CBefVUPR.js} +1 -1
- package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-DX-hX_d0.js → extension-debug-page-CTe7Molh.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-Cji87mN9.js → extension-page-C0-oP7S_.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BulzpwBD.js → extension-settings-page-DYJmgMUg.js} +1 -1
- package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-CTXr917C.js → gateway-config-swr-BVqYVaGy.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-CY1LBGBS.js +1 -0
- package/dist/gateway/static/root/assets/gateway-realtime-store-Dafw95ol.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-C13P4lQd.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DD2fsxdd.js → gateway-startup-retry-CPKGkr6D.js} +1 -1
- package/dist/gateway/static/root/assets/highlight-code-CslBKXdS.js +1 -0
- package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-BgTqMa_d.js → highlighted-body-KQOG7T2V-CN5PNRN3.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-B_XrkGmA.js +2 -0
- package/dist/gateway/static/root/assets/image-generation-api-DRLXG9Ws.js +1 -0
- package/dist/gateway/static/root/assets/imports-page--cuF5vwU.js +1 -0
- package/dist/gateway/static/root/assets/index-6YjAt50A.js +710 -0
- package/dist/gateway/static/root/assets/index-caRW34rg.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-5g2PxgBs.js +1 -0
- package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +2 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-B6U1HQpp.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-page-BChE6nUD.js +1 -0
- package/dist/gateway/static/root/assets/{local-session-drafts-TqLFKwYo.js → local-session-drafts-BCaC-1rH.js} +1 -1
- package/dist/gateway/static/root/assets/locale-store-DAgpZxAS.js +1 -0
- package/dist/gateway/static/root/assets/logs-page-B9mq03SK.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-2W_qJsha.js +1 -0
- package/dist/gateway/static/root/assets/markdown-editor-phTQ0mox.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-DQJXvbr_.js → media-plugins-BmLuWkkZ.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-61Il2HQR.js +1 -0
- package/dist/gateway/static/root/assets/messages-DMXSIJUO.js +3 -0
- package/dist/gateway/static/root/assets/note-detail-panel-C4gZsNBL.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-XqJIaaRV.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-Chdwrjni.js +8 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-B7rDRlS7.js +1 -0
- package/dist/gateway/static/root/assets/personal-page-mQl9BftY.js +1 -0
- package/dist/gateway/static/root/assets/personal-settings-panel-BgcJLmZN.js +1 -0
- package/dist/gateway/static/root/assets/plugin-details-dialog-FvwSxZPB.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-Z4NM7_Dn.js +1 -0
- package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-Bfqez8Je.js → product-open-page-C5TcIaJj.js} +1 -1
- package/dist/gateway/static/root/assets/product-preview-content-5xID6jIj.js +1 -0
- package/dist/gateway/static/root/assets/project-detail-page-CGOyx7zX.js +7 -0
- package/dist/gateway/static/root/assets/projects-page-Dd11tbRX.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-4NZOh0iz.js → registry-api-B6kqbuw8.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Bintk9nL.js +1 -0
- package/dist/gateway/static/root/assets/runtime-tools-api-CY3R7unQ.js +5 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DSsANtha.js → runtime-tools-settings-panel-CbmiiLsq.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-vbhv4JE6.js → schema-form-DtPkiYwm.js} +1 -1
- package/dist/gateway/static/root/assets/session-api-D6-Vz8xK.js +1 -0
- package/dist/gateway/static/root/assets/{session-manager-D2sLfkw-.js → session-manager-DWbcMHcj.js} +3 -3
- package/dist/gateway/static/root/assets/sessions-page-BBlEP7y3.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BCQUth4g.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-4nn0sb6v.js → settings-form-section-DD3iD5t5.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-_HB9FC08.js → settings-page-iLY3LRDq.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-v4P0IAkG.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-B8h9lqDL.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-DMzej6z2.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-CyO89DKl.js → skill-api-C9RsrvOp.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-B20x7EE9.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-C_ulsnv7.js +2 -0
- package/dist/gateway/static/root/assets/source-workspace-editor-BIvi89Zx.js +1 -0
- package/dist/gateway/static/root/assets/system-settings-panel-PTRGMKkq.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-DEPwo4vf.js +2 -0
- package/dist/gateway/static/root/assets/task-result-evidence-DjNWPpn_.js +1 -0
- package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +1 -0
- package/dist/gateway/static/root/assets/tracing-settings-page-CVJt7IXC.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-DOUyF9Ew.js → tunnel-api-C6XfsSWy.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-Bv3fdfw1.js → usage-page-DgqLD8Y5.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-D0MhLMD2.js → use-autosave-DO-Twmbm.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-BwK37aob.js +2 -0
- package/dist/gateway/static/root/assets/{vendor-codemirror-DFxP3B9T.js → vendor-codemirror-Qdcjid65.js} +16 -16
- package/dist/gateway/static/root/assets/{voice-api-key-field-Ds_ADBQH.js → voice-api-key-field-MGe3HkS_.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-4yGMrp7J.js → voice-config-api-CPKzUb4R.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-DptHqYh5.js +1 -0
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Di-oEpCt.js → xopc-cloud-account-card-Y_UIryBH.js} +1 -1
- package/dist/gateway/static/root/index.html +27 -35
- package/dist/package.js +1 -1
- package/dist/packages/endpoint-tools-protocol/src/index.js +1 -1
- package/dist/packages/gateway-contract/src/automations.js +0 -12
- package/dist/packages/gateway-contract/src/home.js +3 -3
- package/dist/packages/gateway-contract/src/product-delivery.js +0 -4
- package/dist/packages/gateway-contract/src/project-operating.js +0 -6
- package/dist/packages/gateway-contract/src/session-identity.js +0 -1
- package/dist/packages/gateway-contract/src/task-runs.js +0 -1
- package/dist/packages/gateway-contract/src/tasks.js +0 -6
- package/dist/src/activity/types.d.ts +4 -4
- package/dist/src/agent/agent-manager.d.ts +0 -3
- package/dist/src/agent/agent-manager.js +0 -43
- package/dist/src/agent/background-review/run-background-review.js +2 -2
- package/dist/src/agent/capabilities/definitions.d.ts +2 -18
- package/dist/src/agent/capabilities/definitions.js +0 -17
- package/dist/src/agent/child-agent-factory.d.ts +1 -1
- package/dist/src/agent/client-error-format.d.ts +1 -1
- package/dist/src/agent/client-error-format.js +1 -1
- package/dist/src/agent/commands/command-registry.js +1 -1
- package/dist/src/agent/context/execution-scope.d.ts +2 -8
- package/dist/src/agent/context/execution-scope.js +6 -23
- package/dist/src/agent/embedded/index.d.ts +0 -1
- package/dist/src/agent/embedded/index.js +1 -2
- package/dist/src/agent/embedded/run-turn.js +25 -2
- package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +0 -2
- package/dist/src/agent/external-tools/gateway-tools.js +6 -6
- package/dist/src/agent/mcp/connection-setup.js +2 -2
- package/dist/src/agent/memory/compaction-ledger.d.ts +1 -1
- package/dist/src/agent/memory/compaction-ledger.js +1 -1
- package/dist/src/agent/memory/compaction-promotion.js +1 -1
- package/dist/src/agent/memory/source-origin.js +1 -5
- package/dist/src/agent/memory/turn-provenance.js +1 -3
- package/dist/src/agent/memory/types.d.ts +1 -1
- package/dist/src/agent/messaging/command-handler.d.ts +0 -3
- package/dist/src/agent/messaging/command-handler.js +1 -4
- package/dist/src/agent/prompt/sections/behavior.js +2 -2
- package/dist/src/agent/prompt/sections/tooling.js +1 -5
- package/dist/src/agent/prompt/voice-presentation.d.ts +1 -1
- package/dist/src/agent/prompt/voice-presentation.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +0 -6
- package/dist/src/agent/service.d.ts +0 -2
- package/dist/src/agent/service.js +0 -11
- package/dist/src/agent/service.types.d.ts +0 -2
- package/dist/src/agent/session/session-config-service.d.ts +0 -2
- package/dist/src/agent/session/session-config-service.js +1 -1
- package/dist/src/agent/session/session-inspector.d.ts +0 -1
- package/dist/src/agent/session/session-inspector.js +0 -1
- package/dist/src/agent/skills/required-env-vars.d.ts +1 -1
- package/dist/src/agent/skills/required-env-vars.js +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +2 -5
- package/dist/src/agent/tools/automation-tool.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +0 -3
- package/dist/src/agent/tools/factory.js +6 -9
- package/dist/src/agent/tools/index.d.ts +0 -2
- package/dist/src/agent/tools/index.js +1 -3
- package/dist/src/agent/tools/knowledge-memory-tool.d.ts +1 -0
- package/dist/src/agent/tools/knowledge-memory-tool.js +13 -4
- package/dist/src/agent/tools/personal-task-tool.js +8 -22
- package/dist/src/agent/tools/search/errors.js +2 -2
- package/dist/src/agent/tools/session-recall-tool.js +5 -1
- package/dist/src/agent/tools/user-context-tool.js +7 -1
- package/dist/src/agent/tools/xopc-use-tool.js +1 -1
- package/dist/src/agent-catalog/index.d.ts +0 -1
- package/dist/src/agent-catalog/index.js +1 -2
- package/dist/src/agent-config/index.js +2 -2
- package/dist/src/agent-config/resolver.js +0 -6
- package/dist/src/agent-config/schema.d.ts +0 -16
- package/dist/src/agent-config/schema.js +2 -9
- package/dist/src/agent-matching/selection-repository.d.ts +1 -1
- package/dist/src/agent-matching/selection-repository.js +1 -1
- package/dist/src/agent-matching/service.d.ts +1 -2
- package/dist/src/agent-matching/service.js +3 -7
- package/dist/src/ai-assist/text-assist.d.ts +1 -1
- package/dist/src/ai-assist/text-assist.js +0 -72
- package/dist/src/automations/capabilities/write.d.ts +0 -40
- package/dist/src/automations/domain/types.d.ts +0 -15
- package/dist/src/automations/domain/validation.d.ts +0 -80
- package/dist/src/automations/domain/validation.js +0 -17
- package/dist/src/automations/draft/automation-draft-prompt.js +0 -3
- package/dist/src/automations/draft/automation-draft-validator.d.ts +0 -20
- package/dist/src/automations/draft/automation-draft-validator.js +0 -1
- package/dist/src/automations/events/event-catalog.js +0 -6
- package/dist/src/automations/service/action-executor.d.ts +0 -1
- package/dist/src/automations/service/action-executor.js +1 -110
- package/dist/src/automations/service/automation-service.js +0 -2
- package/dist/src/automations/storage/automation-run-repository.js +6 -7
- package/dist/src/backup/archive.js +1 -1
- package/dist/src/bootstrap/application-state.d.ts +2 -10
- package/dist/src/bootstrap/application-state.js +5 -18
- package/dist/src/channels/manager.d.ts +0 -2
- package/dist/src/channels/manager.js +0 -4
- package/dist/src/channels/pairing/index.d.ts +2 -1
- package/dist/src/channels/pairing/pairing-service.d.ts +0 -1
- package/dist/src/chat-commands/context.d.ts +0 -3
- package/dist/src/chat-commands/context.js +0 -5
- package/dist/src/chat-commands/index.d.ts +0 -1
- package/dist/src/chat-commands/index.js +1 -3
- package/dist/src/chat-commands/types.d.ts +0 -5
- package/dist/src/cli/command-manifest.js +1 -1
- package/dist/src/cli/commands/config.js +2 -10
- package/dist/src/cli/commands/doctor/checks/database-relations.js +0 -3
- package/dist/src/cli/commands/doctor/checks/database-schema.js +4 -25
- package/dist/src/cli/commands/gateway/run-foreground.js +1 -1
- package/dist/src/cli/commands/setup-shared/prompts.d.ts +2 -2
- package/dist/src/cli/commands/setup-shared/prompts.js +2 -2
- package/dist/src/cli/commands/tui-runner.js +2 -2
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/index.js +2 -2
- package/dist/src/cli/utils/init-workspace-core.js +3 -6
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/loader.d.ts +0 -1
- package/dist/src/config/loader.js +1 -13
- package/dist/src/config/paths.d.ts +1 -1
- package/dist/src/config/paths.js +1 -1
- package/dist/src/connectors/composio-catalog.js +1 -3
- package/dist/src/connectors/composio.js +1 -2
- package/dist/src/connectors/connected-source-ingestion.js +1 -1
- package/dist/src/connectors/connected-source-understanding.js +1 -1
- package/dist/src/connectors/learning-coordinator.js +1 -1
- package/dist/src/connectors/principal.js +1 -22
- package/dist/src/connectors/{workflow-preflight.d.ts → requirements-preflight.d.ts} +9 -8
- package/dist/src/connectors/{workflow-preflight.js → requirements-preflight.js} +2 -10
- package/dist/src/connectors/types.d.ts +1 -1
- package/dist/src/daemon/types.d.ts +0 -9
- package/dist/src/discussions/long-review.js +0 -11
- package/dist/src/endpoint-tools/policy.js +13 -14
- package/dist/src/extensions/agent-plugins/auth.js +1 -3
- package/dist/src/extensions/agent-plugins/formats.js +2 -4
- package/dist/src/extensions/agent-plugins/mcp-format.d.ts +1 -1
- package/dist/src/extensions/agent-plugins/mcp-format.js +2 -2
- package/dist/src/extensions/bundled-extension-activation.d.ts +0 -2
- package/dist/src/extensions/bundled-extension-activation.js +1 -3
- package/dist/src/extensions/install.js +1 -1
- package/dist/src/extensions/types/tui.d.ts +1 -2
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -7
- package/dist/src/gateway/agent-builtin-tools.js +0 -7
- package/dist/src/gateway/agents-admin.d.ts +0 -1
- package/dist/src/gateway/agents-admin.js +0 -1
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +0 -8
- package/dist/src/gateway/hono/lib/config-payload.js +1 -2
- package/dist/src/gateway/hono/lib/config-write-lock.d.ts +1 -1
- package/dist/src/gateway/hono/lib/config-write-lock.js +1 -1
- package/dist/src/gateway/hono/middleware/auth.js +2 -2
- package/dist/src/gateway/hono/routes/activity.js +0 -1
- package/dist/src/gateway/hono/routes/agents.js +2 -9
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +0 -22
- package/dist/src/gateway/hono/routes/chat-model-config.d.ts +0 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -3
- package/dist/src/gateway/hono/routes/config.js +2 -21
- package/dist/src/gateway/hono/routes/connectors.js +1 -1
- package/dist/src/gateway/hono/routes/context-sources.js +1 -1
- package/dist/src/gateway/hono/routes/devices.js +2 -2
- package/dist/src/gateway/hono/routes/home.js +3 -20
- package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
- package/dist/src/gateway/hono/routes/memory-learning.js +1 -1
- package/dist/src/gateway/hono/routes/personal-agent.js +1 -1
- package/dist/src/gateway/hono/routes/projects.js +0 -16
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
- package/dist/src/gateway/hono/routes/sessions.js +0 -3
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
- package/dist/src/gateway/hono/routes/user-model.js +1 -1
- package/dist/src/gateway/index.js +1 -1
- package/dist/src/gateway/run-loop.js +2 -2
- package/dist/src/gateway/security/device-request-proof.js +1 -1
- package/dist/src/gateway/security/gateway-scopes.js +0 -1
- package/dist/src/gateway/service/active-execution.d.ts +1 -1
- package/dist/src/gateway/service/active-execution.js +1 -1
- package/dist/src/gateway/service/agent-runner.js +1 -1
- package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +1 -2
- package/dist/src/gateway/service/sessions-api.js +1 -1
- package/dist/src/gateway/service/task-conversation-query-service.d.ts +0 -4
- package/dist/src/gateway/service/types.d.ts +2 -0
- package/dist/src/gateway/service.d.ts +1 -8
- package/dist/src/gateway/service.js +17 -64
- package/dist/src/history/ctx/format.js +1 -1
- package/dist/src/home-intelligence/capability-preflight.js +1 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/infra/unhandled-rejections.js +2 -2
- package/dist/src/infra/update-runner.d.ts +1 -2
- package/dist/src/infra/update-runner.js +2 -2
- package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
- package/dist/src/knowledge/local-folder-adapter.js +2 -5
- package/dist/src/knowledge-memory/usage-policy.js +1 -1
- package/dist/src/local-apps/service.js +1 -1
- package/dist/src/memory-learning/forget-capture.js +3 -2
- package/dist/src/memory-learning/forgotten-history.d.ts +10 -0
- package/dist/src/memory-learning/forgotten-history.js +117 -13
- package/dist/src/memory-learning/owner-directive.d.ts +2 -0
- package/dist/src/memory-learning/owner-directive.js +10 -0
- package/dist/src/memory-learning/service.js +0 -2
- package/dist/src/memory-learning/source-learning.js +1 -1
- package/dist/src/memory-learning/task-receipts.js +1 -1
- package/dist/src/migrations/index.js +2 -2
- package/dist/src/migrations/runner.d.ts +1 -2
- package/dist/src/migrations/runner.js +2 -5
- package/dist/src/notes/service.js +3 -3
- package/dist/src/notes/types.d.ts +1 -2
- package/dist/src/personal-agent/communication.d.ts +0 -3
- package/dist/src/personal-agent/communication.js +1 -12
- package/dist/src/personal-agent/persona.d.ts +0 -4
- package/dist/src/personal-agent/persona.js +1 -5
- package/dist/src/personal-agent/proactivity/repository.js +2 -6
- package/dist/src/personal-agent/prompt-context.js +1 -1
- package/dist/src/personal-agent/prompts.d.ts +0 -3
- package/dist/src/personal-agent/prompts.js +7 -146
- package/dist/src/personal-agent/reply-composer.js +3 -3
- package/dist/src/personal-agent/reply-style.d.ts +1 -13
- package/dist/src/personal-agent/reply-style.js +3 -123
- package/dist/src/personal-agent/request-delivery.d.ts +1 -1
- package/dist/src/personal-agent/request-delivery.js +1 -1
- package/dist/src/personal-agent/request-service.js +2 -2
- package/dist/src/personal-agent/specialist-capabilities.js +0 -1
- package/dist/src/personal-agent/task-cancel.js +2 -1
- package/dist/src/platform/client.d.ts +0 -1
- package/dist/src/platform/contracts.d.ts +0 -1
- package/dist/src/platform/contracts.js +1 -4
- 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 +2 -12
- package/dist/src/projects/project-loop.js +19 -42
- package/dist/src/projects/project-store.d.ts +0 -1
- package/dist/src/projects/project-store.js +0 -11
- package/dist/src/projects/types.d.ts +0 -6
- package/dist/src/providers/model-usage.js +0 -5
- package/dist/src/realtime/runtime.js +0 -1
- package/dist/src/routing/agent-session-key.js +1 -1
- package/dist/src/session/manager.js +1 -1
- package/dist/src/session/types.d.ts +2 -6
- package/dist/src/storage/sqlite/connection-wait-repository.js +0 -33
- package/dist/src/storage/sqlite/connection.js +2 -2
- package/dist/src/storage/sqlite/device-access-repository.d.ts +2 -2
- package/dist/src/storage/sqlite/device-access-repository.js +4 -8
- package/dist/src/storage/sqlite/home-attention-repository.d.ts +1 -1
- package/dist/src/storage/sqlite/index.d.ts +1 -3
- package/dist/src/storage/sqlite/index.js +4 -8
- package/dist/src/storage/sqlite/{migrations/conversation-backup.d.ts → offline-access.d.ts} +1 -4
- package/dist/src/storage/sqlite/{migrations/conversation-backup.js → offline-access.js} +6 -25
- package/dist/src/storage/sqlite/row-mappers.d.ts +0 -8
- package/dist/src/storage/sqlite/row-mappers.js +0 -8
- package/dist/src/storage/sqlite/{migrations/errors.d.ts → schema-errors.d.ts} +0 -6
- package/dist/src/storage/sqlite/schema-errors.js +28 -0
- package/dist/src/storage/sqlite/schema.d.ts +4 -5
- package/dist/src/storage/sqlite/schema.js +23 -19
- package/dist/src/storage/sqlite/schema.sql +1099 -427
- package/dist/src/storage/sqlite/session-identity-sql.js +1 -2
- package/dist/src/storage/sqlite/session-read-repository.d.ts +1 -1
- package/dist/src/storage/sqlite/session-read-repository.js +1 -2
- package/dist/src/storage/sqlite/session-repository.js +4 -33
- package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.js → windows-database-owners.js} +3 -3
- package/dist/src/tasks/attention-governor.d.ts +1 -0
- package/dist/src/tasks/attention-governor.js +2 -2
- package/dist/src/tasks/capabilities/management.d.ts +0 -1
- package/dist/src/tasks/capabilities/relations.d.ts +2 -2
- package/dist/src/tasks/execution-context.d.ts +1 -1
- package/dist/src/tasks/execution-context.js +0 -2
- package/dist/src/tasks/home-query-service.d.ts +2 -16
- package/dist/src/tasks/home-query-service.js +37 -67
- package/dist/src/tasks/index.d.ts +0 -1
- package/dist/src/tasks/index.js +1 -2
- package/dist/src/tasks/project-operating-view-service.js +0 -1
- package/dist/src/tasks/task-application-service.js +0 -5
- package/dist/src/tasks/task-repository.d.ts +1 -1
- package/dist/src/tasks/task-run-coordinator.js +4 -2
- package/dist/src/tui/backends/embedded-backend.d.ts +1 -4
- package/dist/src/tui/backends/embedded-backend.js +3 -59
- package/dist/src/tui/backends/gateway-realtime-backend.d.ts +1 -2
- package/dist/src/tui/backends/gateway-realtime-backend.js +1 -27
- package/dist/src/tui/components/chat-log.d.ts +0 -2
- package/dist/src/tui/components/chat-log.js +0 -18
- package/dist/src/tui/extension-host/runtime-context.js +0 -1
- package/dist/src/tui/tui-backend.d.ts +0 -15
- package/dist/src/tui/tui-command-formatters.d.ts +0 -3
- package/dist/src/tui/tui-command-formatters.js +1 -28
- package/dist/src/tui/tui-commands.d.ts +1 -14
- package/dist/src/tui/tui-commands.js +4 -89
- package/dist/src/tui/tui-startup-resources.js +0 -2
- package/dist/src/tui/tui-startup-text.js +2 -3
- package/dist/src/tui/tui.js +1 -49
- package/dist/src/user-context/trust-policy.js +1 -1
- package/dist/src/user-model/usage-policy.js +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/logger/index.js +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/voice/realtime/agentBroker.js +2 -3
- package/dist/src/voice/realtime/memory-context.js +2 -2
- package/dist/src/work-discovery/incremental-repository.js +1 -1
- package/dist/src/work-discovery/service.js +2 -2
- package/package.json +6 -7
- package/dist/extensions/feishu/src/workflow-progress.d.ts +0 -27
- package/dist/extensions/feishu/src/workflow-progress.js +0 -98
- package/dist/extensions/telegram/src/workflow-progress.d.ts +0 -24
- package/dist/extensions/telegram/src/workflow-progress.js +0 -72
- package/dist/extensions/weixin/src/workflow-progress.d.ts +0 -26
- package/dist/extensions/weixin/src/workflow-progress.js +0 -98
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-ColV_Z1C.js +0 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-rgRXzBCX.js +0 -1
- package/dist/gateway/static/root/assets/agents-C1rSl_yE.js +0 -77
- package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +0 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-B-Cl1lzt.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-BfVMfjkC.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-b7MTHd-X.js +0 -6
- package/dist/gateway/static/root/assets/browser-automations-page-DMqDOJgO.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-KZStwhX7.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-CD6PzNK7.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-DeJuO2rf.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-DPxL_3Km.js +0 -8
- package/dist/gateway/static/root/assets/channels-Cp4F9zPz.js +0 -1
- package/dist/gateway/static/root/assets/code-editor-CXIH8jQw.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-BXhmUWbA.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-B1oJCj74.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Da_M7h3m.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-BfWUD3LG.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-CPEi55Vt.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-CmQ_H-nM.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-BeTjXc3C.js +0 -1
- package/dist/gateway/static/root/assets/dist-BGTk37IG.js +0 -1
- package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +0 -1
- package/dist/gateway/static/root/assets/file-braces-BoAMI_k9.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-CP6L2jIR.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-yXB4a40_.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-CIdEroWr.js +0 -1
- package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +0 -1
- package/dist/gateway/static/root/assets/home-page-BSbYrVda.js +0 -2
- package/dist/gateway/static/root/assets/image-generation-api-BfPYnMoc.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-DYSOfHfw.js +0 -1
- package/dist/gateway/static/root/assets/index-D2hEKnTM.js +0 -267
- package/dist/gateway/static/root/assets/index-SmKNPEmJ.css +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BwsGM6Yd.js +0 -1
- package/dist/gateway/static/root/assets/languages-BFe8nIOO.js +0 -2
- package/dist/gateway/static/root/assets/local-app-workbench-page-K6UR6cAx.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-page-gkdwtjDE.js +0 -1
- package/dist/gateway/static/root/assets/locale-store-D_migb9R.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-BAQNYk0e.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-CMVRLGox.js +0 -1
- package/dist/gateway/static/root/assets/markdown-editor-BhBJANcx.js +0 -1
- package/dist/gateway/static/root/assets/markdown-view-Ljt0bhfF.js +0 -324
- package/dist/gateway/static/root/assets/markdown-view-ixUWAmoy.css +0 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Cx0bXBqu.js +0 -1
- package/dist/gateway/static/root/assets/mermaid-render-604gISVe.js +0 -134
- package/dist/gateway/static/root/assets/messages-D__oW2yE.js +0 -3
- package/dist/gateway/static/root/assets/note-detail-panel-1GCqp26U.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-B7RA-WsY.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-DnjlEdzM.js +0 -8
- package/dist/gateway/static/root/assets/page-context-capture-button-BAwI_3uh.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-XoLrcR0U.js +0 -1
- package/dist/gateway/static/root/assets/personal-settings-panel-DzubCRqj.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-BjzIp3T5.js +0 -1
- package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-2YjwlRHu.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +0 -1
- package/dist/gateway/static/root/assets/product-preview-content-D7wLwrqj.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-1ueRCmXg.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CDQycMPo.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-YvVmZA4K.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-api-CmEWVrOg.js +0 -5
- package/dist/gateway/static/root/assets/session-api-aQLptIs9.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-B3rPljgr.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-Ch20Ptzp.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-L1HHrvzi.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-C4lC0W3d.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-DtHZ9z5K.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Drg356Pb.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-XhCLHKlK.js +0 -2
- package/dist/gateway/static/root/assets/source-workspace-editor-DunRD1gY.js +0 -1
- package/dist/gateway/static/root/assets/style-DTLpCnuA.js +0 -7
- package/dist/gateway/static/root/assets/system-settings-panel-bSogz4S-.js +0 -1
- package/dist/gateway/static/root/assets/tab-completion-input.utils-BP3NH_du.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-CSv2x4q-.js +0 -2
- package/dist/gateway/static/root/assets/task-expandable-content-4s_FTl-9.js +0 -1
- package/dist/gateway/static/root/assets/tasks-B4bZpO6O.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-CZ5XLQmX.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-BD7WvhI0.js +0 -2
- package/dist/gateway/static/root/assets/work-discovery-overlay-CDJp2_l2.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-CR4fRhZZ.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-BeJw5liC.js +0 -6
- package/dist/gateway/static/root/assets/x-B_N4OPjy.js +0 -1
- package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +0 -3
- package/dist/src/agent/embedded/session-manager-init.d.ts +0 -4
- package/dist/src/agent/embedded/session-manager-init.js +0 -48
- package/dist/src/agent/tools/workflow-manage-tool.d.ts +0 -2
- package/dist/src/agent/tools/workflow-manage-tool.js +0 -225
- package/dist/src/agent/tools/workflow-tool.d.ts +0 -20
- package/dist/src/agent/tools/workflow-tool.js +0 -155
- package/dist/src/agent/workflow/agent-progress.d.ts +0 -5
- package/dist/src/agent/workflow/agent-progress.js +0 -65
- package/dist/src/agent/workflow/builtins/index.d.ts +0 -2
- package/dist/src/agent/workflow/builtins/index.js +0 -374
- package/dist/src/agent/workflow/catalog.d.ts +0 -52
- package/dist/src/agent/workflow/catalog.js +0 -150
- package/dist/src/agent/workflow/channel-capability.d.ts +0 -76
- package/dist/src/agent/workflow/channel-capability.js +0 -1
- package/dist/src/agent/workflow/index.d.ts +0 -10
- package/dist/src/agent/workflow/index.js +0 -9
- package/dist/src/agent/workflow/progress-broker.d.ts +0 -80
- package/dist/src/agent/workflow/progress-broker.js +0 -261
- package/dist/src/agent/workflow/snapshot-empty.d.ts +0 -2
- package/dist/src/agent/workflow/snapshot-empty.js +0 -17
- package/dist/src/agent/workflow/snapshot.d.ts +0 -28
- package/dist/src/agent/workflow/snapshot.js +0 -267
- package/dist/src/agent/workflow/step-labels.d.ts +0 -8
- package/dist/src/agent/workflow/step-labels.js +0 -50
- package/dist/src/agent/workflow/structured-output-tool.d.ts +0 -33
- package/dist/src/agent/workflow/structured-output-tool.js +0 -56
- package/dist/src/agent/workflow/subagent-runner.d.ts +0 -46
- package/dist/src/agent/workflow/subagent-runner.js +0 -221
- package/dist/src/agent/workflow/types.d.ts +0 -252
- package/dist/src/agent/workflow/types.js +0 -1
- package/dist/src/agent/workflow/workflow-child-tools.d.ts +0 -4
- package/dist/src/agent/workflow/workflow-child-tools.js +0 -38
- package/dist/src/agent-catalog/migrations/identity-markdown-cutover.d.ts +0 -5
- package/dist/src/agent-catalog/migrations/identity-markdown-cutover.js +0 -94
- package/dist/src/agent-catalog/migrations/legacy-config-cutover.d.ts +0 -11
- package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +0 -194
- package/dist/src/chat-commands/builtins/workflow.d.ts +0 -18
- package/dist/src/chat-commands/builtins/workflow.js +0 -249
- package/dist/src/gateway/gateway-workflow-host.types.d.ts +0 -23
- package/dist/src/gateway/gateway-workflow-host.types.js +0 -1
- package/dist/src/gateway/hono/routes/workflows.d.ts +0 -3
- package/dist/src/gateway/hono/routes/workflows.js +0 -572
- package/dist/src/knowledge-memory/repair-evidence.d.ts +0 -2
- package/dist/src/knowledge-memory/repair-evidence.js +0 -57
- package/dist/src/migrations/cloud-public-models.d.ts +0 -7
- package/dist/src/migrations/cloud-public-models.js +0 -157
- package/dist/src/migrations/memory-config.d.ts +0 -2
- package/dist/src/migrations/memory-config.js +0 -76
- package/dist/src/migrations/retired-local-stt.d.ts +0 -2
- package/dist/src/migrations/retired-local-stt.js +0 -52
- package/dist/src/projects/workflow-bind.d.ts +0 -1
- package/dist/src/projects/workflow-bind.js +0 -15
- package/dist/src/storage/sqlite/migrations/218_core_relation_indexes.sql +0 -26
- package/dist/src/storage/sqlite/migrations/219_json_contracts.sql +0 -123
- package/dist/src/storage/sqlite/migrations/220_normalize_timestamps.sql +0 -339
- package/dist/src/storage/sqlite/migrations/221_ai_usage_retention_index.sql +0 -2
- package/dist/src/storage/sqlite/migrations/222_session_config_authority.sql +0 -13
- package/dist/src/storage/sqlite/migrations/223_session_creation_receipts.sql +0 -59
- package/dist/src/storage/sqlite/migrations/224_task_origin_links.sql +0 -8
- package/dist/src/storage/sqlite/migrations/225_task_collaboration.sql +0 -32
- package/dist/src/storage/sqlite/migrations/226_task_main_updates.sql +0 -9
- package/dist/src/storage/sqlite/migrations/227_task_main_update_decisions.sql +0 -8
- package/dist/src/storage/sqlite/migrations/228_task_main_agent_links.sql +0 -14
- package/dist/src/storage/sqlite/migrations/229_task_criterion_reviews.sql +0 -12
- package/dist/src/storage/sqlite/migrations/230_personal_agent_onboarding.sql +0 -8
- package/dist/src/storage/sqlite/migrations/231_task_result_deliveries.sql +0 -32
- package/dist/src/storage/sqlite/migrations/232_personal_requests.sql +0 -28
- package/dist/src/storage/sqlite/migrations/233_observability_usage_links.sql +0 -3
- package/dist/src/storage/sqlite/migrations/234_task_result_reply.sql +0 -14
- package/dist/src/storage/sqlite/migrations/235_personal_conversation_priority.sql +0 -3
- package/dist/src/storage/sqlite/migrations/236_personal_proactivity.sql +0 -53
- package/dist/src/storage/sqlite/migrations/237_personal_strategy_versions.sql +0 -18
- package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +0 -45
- package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +0 -26
- package/dist/src/storage/sqlite/migrations/240_device_settings.sql +0 -5
- package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +0 -13
- package/dist/src/storage/sqlite/migrations/242_cloud_usage_receipts.sql +0 -5
- package/dist/src/storage/sqlite/migrations/243_voice_opening_greetings.sql +0 -12
- package/dist/src/storage/sqlite/migrations/244_device_request_proofs.sql +0 -8
- package/dist/src/storage/sqlite/migrations/245_memory_learning.sql +0 -125
- package/dist/src/storage/sqlite/migrations/246_personal_session_thinking.sql +0 -22
- package/dist/src/storage/sqlite/migrations/247_agent_selection_records.sql +0 -32
- package/dist/src/storage/sqlite/migrations/248_next_turn_suggestions.sql +0 -20
- package/dist/src/storage/sqlite/migrations/249_task_allocations.sql +0 -17
- package/dist/src/storage/sqlite/migrations/250_research_checkpoints.sql +0 -15
- package/dist/src/storage/sqlite/migrations/251_personal_result_reads.sql +0 -40
- package/dist/src/storage/sqlite/migrations/252_task_work_revisions.sql +0 -15
- package/dist/src/storage/sqlite/migrations/253_discussion_processing_recovery.sql +0 -20
- package/dist/src/storage/sqlite/migrations/254_discussion_annotations.sql +0 -17
- package/dist/src/storage/sqlite/migrations/255_discussion_chapter_progress.sql +0 -10
- package/dist/src/storage/sqlite/migrations/256_task_main_update_retries.sql +0 -21
- package/dist/src/storage/sqlite/migrations/257_session_composer_history.sql +0 -11
- package/dist/src/storage/sqlite/migrations/258_task_phase_changes.sql +0 -20
- package/dist/src/storage/sqlite/migrations/259_personal_default_style.sql +0 -10
- package/dist/src/storage/sqlite/migrations/discover.d.ts +0 -4
- package/dist/src/storage/sqlite/migrations/discover.js +0 -40
- package/dist/src/storage/sqlite/migrations/errors.js +0 -40
- package/dist/src/storage/sqlite/migrations/runner.d.ts +0 -22
- package/dist/src/storage/sqlite/migrations/runner.js +0 -112
- package/dist/src/storage/sqlite/migrations/types.d.ts +0 -12
- package/dist/src/storage/sqlite/migrations/types.js +0 -1
- package/dist/src/tasks/task-workflow-coordinator.d.ts +0 -5
- package/dist/src/tasks/task-workflow-coordinator.js +0 -55
- package/dist/src/tui/tui-workflow-slash.d.ts +0 -29
- package/dist/src/tui/tui-workflow-slash.js +0 -58
- package/dist/src/workflows/authoring/index.d.ts +0 -2
- package/dist/src/workflows/authoring/index.js +0 -3
- package/dist/src/workflows/authoring/workflow-draft-defaults.d.ts +0 -3
- package/dist/src/workflows/authoring/workflow-draft-defaults.js +0 -63
- package/dist/src/workflows/authoring/workflow-draft-store.d.ts +0 -29
- package/dist/src/workflows/authoring/workflow-draft-store.js +0 -52
- package/dist/src/workflows/context/workflow-context-snapshot-repository.d.ts +0 -21
- package/dist/src/workflows/context/workflow-context-snapshot-repository.js +0 -41
- package/dist/src/workflows/context/workflow-context.d.ts +0 -18
- package/dist/src/workflows/context/workflow-context.js +0 -164
- package/dist/src/workflows/domain/command.d.ts +0 -19
- package/dist/src/workflows/domain/command.js +0 -1
- package/dist/src/workflows/domain/definition-utils.d.ts +0 -18
- package/dist/src/workflows/domain/definition-utils.js +0 -90
- package/dist/src/workflows/domain/definition.d.ts +0 -164
- package/dist/src/workflows/domain/definition.js +0 -1
- package/dist/src/workflows/domain/event.d.ts +0 -88
- package/dist/src/workflows/domain/event.js +0 -1
- package/dist/src/workflows/domain/index.d.ts +0 -8
- package/dist/src/workflows/domain/index.js +0 -5
- package/dist/src/workflows/domain/result.d.ts +0 -68
- package/dist/src/workflows/domain/result.js +0 -1
- package/dist/src/workflows/domain/run.d.ts +0 -257
- package/dist/src/workflows/domain/run.js +0 -12
- package/dist/src/workflows/domain/schema-validation.d.ts +0 -8
- package/dist/src/workflows/domain/schema-validation.js +0 -26
- package/dist/src/workflows/domain/validation.d.ts +0 -22
- package/dist/src/workflows/domain/validation.js +0 -318
- package/dist/src/workflows/engine/index.d.ts +0 -2
- package/dist/src/workflows/engine/index.js +0 -3
- package/dist/src/workflows/engine/projector.d.ts +0 -3
- package/dist/src/workflows/engine/projector.js +0 -276
- package/dist/src/workflows/engine/workflow-engine.d.ts +0 -88
- package/dist/src/workflows/engine/workflow-engine.js +0 -719
- package/dist/src/workflows/index.d.ts +0 -11
- package/dist/src/workflows/index.js +0 -19
- package/dist/src/workflows/project-presets/project-workflow-preset-repository.d.ts +0 -20
- package/dist/src/workflows/project-presets/project-workflow-preset-repository.js +0 -39
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.d.ts +0 -9
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +0 -30
- package/dist/src/workflows/registry/index.d.ts +0 -2
- package/dist/src/workflows/registry/index.js +0 -2
- package/dist/src/workflows/registry/workflow-definition-registry.d.ts +0 -15
- package/dist/src/workflows/registry/workflow-definition-registry.js +0 -1
- package/dist/src/workflows/runtime/graph-workflow-runtime.d.ts +0 -10
- package/dist/src/workflows/runtime/graph-workflow-runtime.js +0 -289
- package/dist/src/workflows/runtime/index.d.ts +0 -2
- package/dist/src/workflows/runtime/index.js +0 -2
- package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +0 -13
- package/dist/src/workflows/runtime/workflow-runtime-port.js +0 -1
- package/dist/src/workflows/service/run-view-to-snapshot.d.ts +0 -4
- package/dist/src/workflows/service/run-view-to-snapshot.js +0 -64
- package/dist/src/workflows/service/workflow-run-service.d.ts +0 -63
- package/dist/src/workflows/service/workflow-run-service.js +0 -892
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +0 -62
- package/dist/src/workflows/service/workflow-run-service.types.js +0 -1
- package/dist/src/workflows/service/workflow-session-bridge.d.ts +0 -33
- package/dist/src/workflows/service/workflow-session-bridge.js +0 -244
- package/dist/src/workflows/service/workflow-session-key.d.ts +0 -3
- package/dist/src/workflows/service/workflow-session-key.js +0 -19
- package/dist/src/workflows/service/workflow-writeback-service.d.ts +0 -9
- package/dist/src/workflows/service/workflow-writeback-service.js +0 -107
- package/dist/src/workflows/store/event-store.d.ts +0 -16
- package/dist/src/workflows/store/event-store.js +0 -38
- package/dist/src/workflows/store/paths.d.ts +0 -5
- package/dist/src/workflows/store/paths.js +0 -18
- package/dist/src/workflows/store/run-index-store.d.ts +0 -9
- package/dist/src/workflows/store/run-index-store.js +0 -64
- package/dist/src/workflows/store/run-store.d.ts +0 -16
- package/dist/src/workflows/store/run-store.js +0 -40
- package/skills/engineering/workflow-authoring/SKILL.md +0 -32
- /package/dist/gateway/static/root/assets/{style-DLioOiRN.css → project-detail-page-DLioOiRN.css} +0 -0
- /package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.d.ts → windows-database-owners.d.ts} +0 -0
|
@@ -20,14 +20,13 @@ import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js
|
|
|
20
20
|
import { init_session_repository, listSessionMetadata, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
|
|
21
21
|
import { getSessionConfig, init_config_repository } from "../storage/sqlite/config-repository.js";
|
|
22
22
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
23
|
-
import { normalizeAgentId } from "../agent-catalog/id.js";
|
|
24
23
|
import { init_agent_scope, listAgentEntries, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent/agent-scope.js";
|
|
25
24
|
import { init_paths, resolveConfigPath, resolveExtensionsDir } from "../config/paths.js";
|
|
26
25
|
import { init_config, resolveKnowledgeReadPolicy } from "../user-context/config.js";
|
|
27
26
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
28
|
-
import { listKnowledgeItems } from "../knowledge-memory/repository.js";
|
|
29
27
|
import { init_agent_session_key, resolveAgentMainConversationId } from "../routing/agent-session-key.js";
|
|
30
28
|
import { init_session_key, resolveConversationId, sanitizeSegment } from "../routing/session-key.js";
|
|
29
|
+
import { listKnowledgeItems } from "../knowledge-memory/repository.js";
|
|
31
30
|
import "../knowledge-memory/index.js";
|
|
32
31
|
import { getDefaultAgentId, init_resolve_route } from "../routing/resolve-route.js";
|
|
33
32
|
import { resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
@@ -103,10 +102,6 @@ import { DiscussionSealer } from "../discussions/sealer.js";
|
|
|
103
102
|
import "../discussions/index.js";
|
|
104
103
|
import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
|
|
105
104
|
import "../endpoint-tools/index.js";
|
|
106
|
-
import { HomeCapabilityPreflightService } from "../home-intelligence/capability-preflight.js";
|
|
107
|
-
import { HomeAdviceGenerator } from "../home-intelligence/generator.js";
|
|
108
|
-
import { HomeIntelligenceHost } from "../home-intelligence/host.js";
|
|
109
|
-
import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
|
|
110
105
|
import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
|
|
111
106
|
import { prepareAutomationAgentSession } from "./automation-agent-session.js";
|
|
112
107
|
import { stopTailscaleExposure } from "./tailscale-lifecycle.js";
|
|
@@ -123,9 +118,6 @@ import { buildVoiceMemoryContext } from "../voice/realtime/memory-context.js";
|
|
|
123
118
|
import { buildVoicePersonaContext } from "../voice/realtime/persona-context.js";
|
|
124
119
|
import { voiceMemoryBudget, voicePersonaBudget } from "../voice/realtime/conversation-context.js";
|
|
125
120
|
import "../notes/index.js";
|
|
126
|
-
import { buildWorkflowChildTools } from "../agent/workflow/workflow-child-tools.js";
|
|
127
|
-
import { WorkflowRunService } from "../workflows/service/workflow-run-service.js";
|
|
128
|
-
import { WorkflowSessionBridge } from "../workflows/service/workflow-session-bridge.js";
|
|
129
121
|
import { EphemeralSideChatManager } from "./side-chat/manager.js";
|
|
130
122
|
import { SideChatRunService } from "./side-chat/run-service.js";
|
|
131
123
|
import { SideChatPromotionService } from "./side-chat/promotion-service.js";
|
|
@@ -167,6 +159,10 @@ import { TaskMainUpdateDecisionService } from "../tasks/task-main-update-decisio
|
|
|
167
159
|
import { selectTaskMainUpdateAttempt, submitAndConfirmTaskMainUpdate } from "../tasks/task-main-update-input.js";
|
|
168
160
|
import { checkAppContextAccess, prepareAppContext } from "./service/app-context-access.js";
|
|
169
161
|
import { applyAutomaticVoiceLanguage, inferProductLanguageFromEnvironment, initializeVoiceDefaults } from "../voice/language-profile.js";
|
|
162
|
+
import { HomeAdviceGenerator } from "../home-intelligence/generator.js";
|
|
163
|
+
import { HomeIntelligenceHost } from "../home-intelligence/host.js";
|
|
164
|
+
import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
|
|
165
|
+
import { HomeCapabilityPreflightService } from "../home-intelligence/capability-preflight.js";
|
|
170
166
|
import crypto from "node:crypto";
|
|
171
167
|
//#region src/gateway/service.ts
|
|
172
168
|
init_session_repository();
|
|
@@ -322,8 +318,6 @@ var GatewayService = class {
|
|
|
322
318
|
lastChannelConnectDeferSource = "off";
|
|
323
319
|
readiness = new GatewayReadiness();
|
|
324
320
|
startupTrace = null;
|
|
325
|
-
workflowSessionBridge = null;
|
|
326
|
-
workflowRunServiceInstance = null;
|
|
327
321
|
taskAllocationDispatcher = null;
|
|
328
322
|
taskRunDispatcher = null;
|
|
329
323
|
taskRunDispatchTimer = null;
|
|
@@ -380,7 +374,7 @@ var GatewayService = class {
|
|
|
380
374
|
this.serviceConfig = serviceConfig;
|
|
381
375
|
this.bus = new MessageBus();
|
|
382
376
|
this.configPath = serviceConfig.configPath || resolveConfigPath();
|
|
383
|
-
bootstrapApplicationStateSync(
|
|
377
|
+
bootstrapApplicationStateSync();
|
|
384
378
|
const now = Date.now();
|
|
385
379
|
markStaleAiUsageEventsUnknown(now - 360 * 60 * 1e3, now);
|
|
386
380
|
pruneAiUsageEvents(now - AI_USAGE_RETENTION_MS);
|
|
@@ -695,7 +689,6 @@ var GatewayService = class {
|
|
|
695
689
|
dispatchTaskEvents: () => this.dispatchTaskEvents(),
|
|
696
690
|
dispatchTaskRuns: () => this.dispatchTaskRuns(),
|
|
697
691
|
onAgentCatalogMutate: () => this.refreshAgentCatalog(),
|
|
698
|
-
getWorkflowRunService: () => this.createWorkflowRunService(),
|
|
699
692
|
sourceContextResolver: async (binding) => {
|
|
700
693
|
if (binding.kind === "note") {
|
|
701
694
|
const note = await this.notesService.getNote(binding.sourceId);
|
|
@@ -730,7 +723,6 @@ var GatewayService = class {
|
|
|
730
723
|
agentService: this._agentService,
|
|
731
724
|
getDefaultAgentId: () => getDefaultAgentId(),
|
|
732
725
|
prepareAgentSession: (input) => prepareAutomationAgentSession(this.sessionIndex.getStore(), this.projects, input),
|
|
733
|
-
workflowRunService: this.createWorkflowRunService(),
|
|
734
726
|
browserAutomationService: this.browserAutomations,
|
|
735
727
|
executeTaskCommand: ({ taskId, idempotencyKey, command, triggerEvent }) => {
|
|
736
728
|
const task = new TaskRepository().get(taskId);
|
|
@@ -800,7 +792,7 @@ var GatewayService = class {
|
|
|
800
792
|
content: message,
|
|
801
793
|
origin: {
|
|
802
794
|
type: "system",
|
|
803
|
-
source: "
|
|
795
|
+
source: "task"
|
|
804
796
|
},
|
|
805
797
|
taskRunId: runId
|
|
806
798
|
});
|
|
@@ -832,13 +824,12 @@ var GatewayService = class {
|
|
|
832
824
|
content: input.content,
|
|
833
825
|
origin: {
|
|
834
826
|
type: "system",
|
|
835
|
-
source: "
|
|
827
|
+
source: "task"
|
|
836
828
|
}
|
|
837
829
|
})).ok;
|
|
838
830
|
});
|
|
839
831
|
if (this.stopping) return;
|
|
840
832
|
this.createTaskRunDispatcher().dispatch();
|
|
841
|
-
await this.createWorkflowRunService().dispatchTaskRuns();
|
|
842
833
|
}, (err) => {
|
|
843
834
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
844
835
|
log.error({
|
|
@@ -950,7 +941,7 @@ var GatewayService = class {
|
|
|
950
941
|
}, "Task result dispatch failed");
|
|
951
942
|
});
|
|
952
943
|
dispatchTaskRuns() {
|
|
953
|
-
if (this.stopping) return;
|
|
944
|
+
if (this.stopping || this.serviceConfig.taskDispatchEnabled === false) return;
|
|
954
945
|
this.taskAllocationDispatcher ??= new TaskAllocationDispatcher({
|
|
955
946
|
context: (conversationId) => ({
|
|
956
947
|
ownAgentId: getSessionMetadata(conversationId)?.agentId ?? "",
|
|
@@ -1286,9 +1277,13 @@ var GatewayService = class {
|
|
|
1286
1277
|
this.createNotificationService().start();
|
|
1287
1278
|
this.startTime = Date.now();
|
|
1288
1279
|
this.running = true;
|
|
1289
|
-
this.stopTaskResultQueued = onTaskResultQueued(() =>
|
|
1290
|
-
|
|
1291
|
-
|
|
1280
|
+
this.stopTaskResultQueued = onTaskResultQueued(() => {
|
|
1281
|
+
if (this.serviceConfig.taskDispatchEnabled !== false) this.taskResultDispatch();
|
|
1282
|
+
});
|
|
1283
|
+
if (this.serviceConfig.taskDispatchEnabled !== false) {
|
|
1284
|
+
this.taskRunDispatchTimer = setInterval(() => this.dispatchTaskRuns(), 1e3);
|
|
1285
|
+
this.taskRunDispatchTimer.unref?.();
|
|
1286
|
+
}
|
|
1292
1287
|
this.startupTrace = createGatewayStartupTrace();
|
|
1293
1288
|
this.readiness.markStarting(this.startTime);
|
|
1294
1289
|
const trace = this.startupTrace;
|
|
@@ -1388,7 +1383,6 @@ var GatewayService = class {
|
|
|
1388
1383
|
agentService: this.agentService,
|
|
1389
1384
|
getDefaultAgentId: () => getDefaultAgentId(),
|
|
1390
1385
|
prepareAgentSession: (input) => prepareAutomationAgentSession(this.sessionIndex.getStore(), this.projects, input),
|
|
1391
|
-
workflowRunService: this.createWorkflowRunService(),
|
|
1392
1386
|
browserAutomationService: this.browserAutomations,
|
|
1393
1387
|
executeTaskCommand: ({ taskId, idempotencyKey, command, triggerEvent }) => {
|
|
1394
1388
|
const task = new TaskRepository().get(taskId);
|
|
@@ -1423,7 +1417,6 @@ var GatewayService = class {
|
|
|
1423
1417
|
onReliabilityAttention: (input) => this.emit("automation.attention.required", input)
|
|
1424
1418
|
});
|
|
1425
1419
|
this.startSessionTranscriptEventIngestion();
|
|
1426
|
-
await trace.measure("workflows.reconcile", () => this.reconcileInterruptedWorkflowRuns());
|
|
1427
1420
|
this.sessionIndex.on("sessionUpdated", (data) => {
|
|
1428
1421
|
this.emit("session.updated", {
|
|
1429
1422
|
key: data.key,
|
|
@@ -1816,7 +1809,7 @@ var GatewayService = class {
|
|
|
1816
1809
|
*/
|
|
1817
1810
|
getHealth() {
|
|
1818
1811
|
const runningChannels = this.channelManager.getRunningChannels();
|
|
1819
|
-
const allChannels = this.channelManager.
|
|
1812
|
+
const allChannels = this.channelManager.getAllPlugins();
|
|
1820
1813
|
const logStats = getRuntimeLogStats();
|
|
1821
1814
|
const readiness = this.readiness.getSnapshot();
|
|
1822
1815
|
return {
|
|
@@ -1920,46 +1913,6 @@ var GatewayService = class {
|
|
|
1920
1913
|
get sessionIndexInstance() {
|
|
1921
1914
|
return this.sessionIndex;
|
|
1922
1915
|
}
|
|
1923
|
-
/** Shared workflow run orchestrator + session bridge (one instance per gateway). */
|
|
1924
|
-
createWorkflowRunService() {
|
|
1925
|
-
if (!this.workflowRunServiceInstance) {
|
|
1926
|
-
this.workflowSessionBridge = new WorkflowSessionBridge(this);
|
|
1927
|
-
this.workflowRunServiceInstance = new WorkflowRunService({
|
|
1928
|
-
service: this,
|
|
1929
|
-
sessionBridge: this.workflowSessionBridge,
|
|
1930
|
-
buildChildTools: buildWorkflowChildTools
|
|
1931
|
-
});
|
|
1932
|
-
}
|
|
1933
|
-
return this.workflowRunServiceInstance;
|
|
1934
|
-
}
|
|
1935
|
-
async reconcileInterruptedWorkflowRuns() {
|
|
1936
|
-
const workflowService = this.createWorkflowRunService();
|
|
1937
|
-
const agentIds = this.collectWorkflowAgentIds();
|
|
1938
|
-
let total = 0;
|
|
1939
|
-
for (const agentId of agentIds) try {
|
|
1940
|
-
total += await workflowService.reconcileInterruptedRuns(agentId);
|
|
1941
|
-
} catch (err) {
|
|
1942
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
1943
|
-
log.warn({
|
|
1944
|
-
err,
|
|
1945
|
-
agentId,
|
|
1946
|
-
errorMessage: msg
|
|
1947
|
-
}, `Workflow run reconcile failed for agent ${agentId}: ${msg}`);
|
|
1948
|
-
}
|
|
1949
|
-
if (total > 0) log.info({
|
|
1950
|
-
count: total,
|
|
1951
|
-
agentIds
|
|
1952
|
-
}, "Reconciled interrupted workflow runs");
|
|
1953
|
-
}
|
|
1954
|
-
collectWorkflowAgentIds() {
|
|
1955
|
-
const ids = /* @__PURE__ */ new Set();
|
|
1956
|
-
ids.add(resolveDefaultAgentId());
|
|
1957
|
-
for (const entry of listAgentEntries()) {
|
|
1958
|
-
if (entry.enabled === false) continue;
|
|
1959
|
-
ids.add(normalizeAgentId(entry.id));
|
|
1960
|
-
}
|
|
1961
|
-
return [...ids];
|
|
1962
|
-
}
|
|
1963
1916
|
/** Process a message directly through the agent (for CLI mode). */
|
|
1964
1917
|
async processDirect(content, conversationId = resolveAgentMainConversationId({ agentId: getDefaultAgentId() })) {
|
|
1965
1918
|
return this.agentService.turnDispatcher.processDirect(content, conversationId, {
|
|
@@ -191,7 +191,7 @@ function sessionRecord(session) {
|
|
|
191
191
|
cwd: session.cwd,
|
|
192
192
|
...session.archivedAt === null ? {} : { ended_at: timestamp(session.archivedAt, `session end timestamp for ${session.transcriptId}`) },
|
|
193
193
|
status: active ? "active" : "completed",
|
|
194
|
-
agent_scope: session.sessionType === "
|
|
194
|
+
agent_scope: session.sessionType === "subagent" ? "subagent" : "primary"
|
|
195
195
|
};
|
|
196
196
|
}
|
|
197
197
|
function entryRecords(session, entry) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { listConnectorInstances } from "../connectors/instances.js";
|
|
2
|
-
import { preflightConnectorRequirements } from "../connectors/
|
|
2
|
+
import { preflightConnectorRequirements } from "../connectors/requirements-preflight.js";
|
|
3
3
|
//#region src/home-intelligence/capability-preflight.ts
|
|
4
4
|
const SKILL_CODE = {
|
|
5
5
|
"agent-denied": "agent_not_allowed",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
+
import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
|
|
3
4
|
import { homePatternKey } from "./strategy.js";
|
|
5
|
+
import { HomeAdvicePolicy } from "./policy.js";
|
|
4
6
|
import { HomeIntelligenceRepository } from "./repository.js";
|
|
5
7
|
import { HomeOpportunityApplicationService } from "./application-service.js";
|
|
6
|
-
import { HomeAdvicePolicy } from "./policy.js";
|
|
7
|
-
import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
|
|
8
8
|
import { buildHomeOpportunityNotification } from "./notification.js";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
//#region src/home-intelligence/host.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
-
import { createLogger } from "../utils/logger/index.js";
|
|
3
|
-
import { init_logger } from "../utils/logger.js";
|
|
4
2
|
import { init_global_singleton, resolveGlobalSingleton } from "../utils/global-singleton.js";
|
|
5
3
|
import { init_process_diagnostics, recordProcessDiagnostic } from "./process-diagnostics.js";
|
|
4
|
+
import { createLogger } from "../utils/logger/index.js";
|
|
5
|
+
import { init_logger } from "../utils/logger.js";
|
|
6
6
|
import { init_sqlite_errors, isTransientSqliteError } from "./sqlite-errors.js";
|
|
7
7
|
//#region src/infra/unhandled-rejections.ts
|
|
8
8
|
function installSqliteTransientRejectionHandler() {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createDefaultCommandRunner } from './run-command.js';
|
|
2
1
|
import { type UpdateChannel } from './update-channels.js';
|
|
3
2
|
import { type ExtensionPostUpdateResult } from '../extensions/update.js';
|
|
4
3
|
import { type GlobalInstallManager } from './update-global.js';
|
|
@@ -105,4 +104,4 @@ export declare function runAutoUpdateCommandWithProgress(params: {
|
|
|
105
104
|
triggerInProcessRestart?: InProcessRestartTrigger;
|
|
106
105
|
onProgress?: (line: string, source: 'stdout' | 'stderr') => void | Promise<void>;
|
|
107
106
|
}): Promise<AutoUpdateResult>;
|
|
108
|
-
export {
|
|
107
|
+
export {};
|
|
@@ -3,7 +3,7 @@ import { runPostUpdateExtensionSync } from "../extensions/update.js";
|
|
|
3
3
|
import "./update-channels.js";
|
|
4
4
|
import { compareSemver, resolveNpmChannelTag } from "./update-check.js";
|
|
5
5
|
import { readPackageName, readPackageVersion } from "./package-json.js";
|
|
6
|
-
import {
|
|
6
|
+
import { runCommandWithTimeout } from "./run-command.js";
|
|
7
7
|
import { XOPC_PACKAGE_NAME, cleanupGlobalRenameDirs, createGlobalInstallEnv, detectGlobalInstallManagerForRoot, resolveGlobalInstallSpec, resolveGlobalInstallTarget } from "./update-global.js";
|
|
8
8
|
import { runGlobalPackageUpdateSteps } from "./package-update-steps.js";
|
|
9
9
|
import { resolveStableNodePath } from "./stable-node-path.js";
|
|
@@ -648,4 +648,4 @@ async function runAutoUpdateCommandWithProgress(params) {
|
|
|
648
648
|
};
|
|
649
649
|
}
|
|
650
650
|
//#endregion
|
|
651
|
-
export {
|
|
651
|
+
export { formatUpdateApiResult, resolveUpdateInstallSurface, runAutoUpdateCommand, runAutoUpdateCommandWithProgress, runGatewayUpdate, runGatewayUpdateWithPostSteps };
|
|
@@ -5,8 +5,8 @@ import { createContextEvidence, init_context_evidence_repository } from "../stor
|
|
|
5
5
|
import { init_chunks, replaceKnowledgeChunks } from "./chunks.js";
|
|
6
6
|
import { claimKnowledgeSourceItems, completeKnowledgeSourceItemSynthesis, pruneBoundedKnowledgeSourceItems } from "../storage/sqlite/knowledge-repository.js";
|
|
7
7
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
8
|
-
import { getActiveUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
9
8
|
import { clearMemoryAudit } from "../user-context/memory-suppression.js";
|
|
9
|
+
import { getActiveUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
10
10
|
import { listKnowledgeItems, transitionKnowledgeStatus, writeKnowledgeItem } from "../knowledge-memory/repository.js";
|
|
11
11
|
import "../knowledge-memory/index.js";
|
|
12
12
|
import { consentFilteredText } from "../user-context/sources/consent-fields.js";
|
|
@@ -46,10 +46,7 @@ var LocalFolderKnowledgeSourceAdapter = class {
|
|
|
46
46
|
};
|
|
47
47
|
await walk(root);
|
|
48
48
|
paths.sort((left, right) => left.localeCompare(right));
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
after = JSON.parse(input.cursor ?? "{}").after;
|
|
52
|
-
} catch {}
|
|
49
|
+
const after = JSON.parse(input.cursor ?? "{}").after;
|
|
53
50
|
const remaining = after ? paths.filter((path) => relative(root, path).localeCompare(after) > 0) : paths;
|
|
54
51
|
const page = remaining.slice(0, this.pageSize);
|
|
55
52
|
const hasMore = remaining.length > page.length;
|
|
@@ -85,7 +82,7 @@ var LocalFolderKnowledgeSourceAdapter = class {
|
|
|
85
82
|
}
|
|
86
83
|
return {
|
|
87
84
|
items,
|
|
88
|
-
nextCursor: hasMore ? JSON.stringify({ after: relative(root, page.at(-1)).split(sep).join("/") }) : scanStartedAt,
|
|
85
|
+
nextCursor: hasMore ? JSON.stringify({ after: relative(root, page.at(-1)).split(sep).join("/") }) : JSON.stringify({ capturedAt: scanStartedAt }),
|
|
89
86
|
hasMore,
|
|
90
87
|
warnings,
|
|
91
88
|
snapshotExternalIds: warnings.length ? void 0 : paths.map((path) => relative(root, path).split(sep).join("/"))
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
|
|
2
2
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
3
3
|
import { init_session_repository } from "../storage/sqlite/session-repository.js";
|
|
4
|
-
import { getUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
5
4
|
import { isOwnerIdentity } from "../user-context/identity-bindings.js";
|
|
5
|
+
import { getUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
6
6
|
//#region src/knowledge-memory/usage-policy.ts
|
|
7
7
|
init_transaction();
|
|
8
8
|
init_session_repository();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveStateDir } from "../config/paths-state.js";
|
|
2
|
+
import { currentOperationId, init_operation_context } from "../infra/operation-context.js";
|
|
2
3
|
import { createLogger } from "../utils/logger/index.js";
|
|
3
4
|
import { init_logger } from "../utils/logger.js";
|
|
4
|
-
import { currentOperationId, init_operation_context } from "../infra/operation-context.js";
|
|
5
5
|
import { afterSqliteCommit, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
|
|
6
6
|
import { ExtensionCapabilityBindingsSchema, extensionCapabilityPermissions } from "../../packages/gateway-contract/src/extension-capabilities.js";
|
|
7
7
|
import { init_src } from "../../packages/gateway-contract/src/index.js";
|
|
@@ -5,6 +5,7 @@ import { createCollaborationRule, init_collaboration_rule_repository, listCollab
|
|
|
5
5
|
import { canUseKnowledge } from "../knowledge-memory/usage-policy.js";
|
|
6
6
|
import { deleteKnowledgeItem, getKnowledgeItem, writeKnowledgeItem } from "../knowledge-memory/repository.js";
|
|
7
7
|
import "../knowledge-memory/index.js";
|
|
8
|
+
import { isUnquotedOwnerEvidence } from "./owner-directive.js";
|
|
8
9
|
import { createHash } from "node:crypto";
|
|
9
10
|
//#region src/memory-learning/forget-capture.ts
|
|
10
11
|
init_logger();
|
|
@@ -17,7 +18,7 @@ function applyKnowledgeDeletions(input) {
|
|
|
17
18
|
const outputs = [];
|
|
18
19
|
for (const operation of input.interpretation.knowledgeDeletions ?? []) {
|
|
19
20
|
if (!operation.evidenceRefs.length || operation.evidenceRefs.some((ref) => !input.evidence.some((entry) => entry.ref === ref && entry.role === "user"))) continue;
|
|
20
|
-
if (!operation.evidence?.length || operation.evidence.some((claim) => !input.evidence.some((entry) => entry.ref === claim.ref && entry.role === "user" && entry.text
|
|
21
|
+
if (!operation.evidence?.length || operation.evidence.some((claim) => !input.evidence.some((entry) => entry.ref === claim.ref && entry.role === "user" && isUnquotedOwnerEvidence(entry.text, claim.quote)))) continue;
|
|
21
22
|
let targets = operation.targetKnowledgeIds.flatMap((id) => {
|
|
22
23
|
const item = input.allowedTargetIds.includes(id) ? getKnowledgeItem(id) : void 0;
|
|
23
24
|
return item && item.recordClass === "memory" && canUseKnowledge(item, input.context) ? [item] : [];
|
|
@@ -67,7 +68,7 @@ function applyKnowledgeDeletions(input) {
|
|
|
67
68
|
FROM context_evidence e WHERE e.conversation_id IS NOT NULL AND e.message_id IS NOT NULL
|
|
68
69
|
AND (e.evidence_id IN (SELECT evidence_id FROM knowledge_evidence_links WHERE knowledge_id=?)
|
|
69
70
|
OR e.message_id IN (SELECT value FROM knowledge_revisions r, json_each(r.source_json, '$.evidenceRefs')
|
|
70
|
-
WHERE r.knowledge_id=?))`).all(item.id, item.id).flatMap((entry) => [`${entry.conversation_id}:${entry.message_id}`, `${entry.conversation_id}:*`]));
|
|
71
|
+
WHERE r.knowledge_id=?))`).all(item.id, item.id).flatMap((entry) => [`${entry.conversation_id}:${entry.message_id}`, `${entry.conversation_id}:*`])).concat(targets.length && input.context.conversationId ? [`${input.context.conversationId}:*`] : []);
|
|
71
72
|
for (const item of targets) {
|
|
72
73
|
deleteKnowledgeItem(item.id, Date.now(), { includeRelated: false });
|
|
73
74
|
outputs.push({
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type { CaptureScopeContext } from '../user-model/capture/executor.js';
|
|
2
2
|
/** A later source-specific read request does not authorize saving forgotten facts again. */
|
|
3
3
|
export declare function explicitlyReadsOriginalHistory(text: string): boolean;
|
|
4
|
+
/** A value-free, per-request notice makes legitimate original reads distinguishable from automatic recall. */
|
|
5
|
+
export declare function originalReadAuthorizationNotice(context: CaptureScopeContext, userText?: string): string;
|
|
4
6
|
export declare function forgottenHistoryEntries(context: CaptureScopeContext, userText?: string): Set<string>;
|
|
7
|
+
/** Project provenance for model consumption without changing the retained audit source. */
|
|
8
|
+
export declare function projectForgottenEvidence<T>(source: T, context: CaptureScopeContext, userText?: string, provenanceRefs?: string[]): T;
|
|
9
|
+
/** Remove earlier materialized reads from active history, retaining this turn and system context. */
|
|
10
|
+
export declare function projectForgottenHistoryMessages<T extends {
|
|
11
|
+
role: string;
|
|
12
|
+
}>(messages: T[], context: CaptureScopeContext, userText?: string): T[];
|
|
5
13
|
export declare const FORGOTTEN_HISTORY_EXCERPT = "[This entry supported information the user asked to forget. Automatic recall is withheld. A later explicit request to re-read original records is required; do not infer the hidden values.]";
|
|
14
|
+
/** Recheck rendered memory snapshots at dispatch; deleted facts cannot survive in a cached prompt. */
|
|
15
|
+
export declare function projectSuppressedMemoryBlocks(text: string, context: CaptureScopeContext): string;
|
|
@@ -1,33 +1,137 @@
|
|
|
1
1
|
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
2
|
+
import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
|
|
3
|
+
import { init_domain } from "../user-model/domain.js";
|
|
2
4
|
import { init_collaboration_rule_repository, listCollaborationRules } from "../storage/sqlite/collaboration-rule-repository.js";
|
|
3
5
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
6
|
+
import { isMemorySuppressed, memoryFingerprint } from "../user-context/memory-suppression.js";
|
|
4
7
|
//#region src/memory-learning/forgotten-history.ts
|
|
5
8
|
init_sqlite();
|
|
6
9
|
init_collaboration_rule_repository();
|
|
10
|
+
init_domain();
|
|
11
|
+
init_transaction();
|
|
7
12
|
/** A later source-specific read request does not authorize saving forgotten facts again. */
|
|
8
13
|
function explicitlyReadsOriginalHistory(text) {
|
|
9
14
|
if (/(?:引文|引用|改写|措辞|不是要|quoted|rephrase)/iu.test(text)) return false;
|
|
10
|
-
if (/(?:不要|别|不必|禁止)\s*(
|
|
15
|
+
if (/(?:不要|别|不必|禁止)\s*(?:再|去|从[^。;;,,!?\n]{0,40})?(?:恢复|查阅|查出|读取|找回|查)|(?:do not|don't)\s+(?:read|look|recover|retrieve|restore)/iu.test(text)) return false;
|
|
11
16
|
return /(?:原始|旧|先前|过去).{0,8}(?:记录|对话|原文)|(?:original|old|previous|past).{0,20}(?:record|conversation|transcript|history)/iu.test(text) && /(?:^|\n)\s*(?:(?:请|麻烦|本次|这次|现在|please|this time)[,,\s]*){0,3}[^。\n!?]{0,150}(?:恢复|查阅|查出|读取|找回|read|look up|retrieve|recover|restore)/iu.test(text);
|
|
12
17
|
}
|
|
18
|
+
function matchesOriginalRead(rule, userText) {
|
|
19
|
+
const binding = rule.conditions.reread;
|
|
20
|
+
const property = binding?.property === "date_time" ? /日期|时间|哪天|哪日|几点|日程|\b(?:date|time|when|schedule)\b/iu : binding?.property === "price" ? /票价|报价|价格|总价|金额|费用|花费|价钱|\b(?:price|cost|amount)\b/iu : void 0;
|
|
21
|
+
return Boolean(typeof binding?.subject === "string" && binding.subject.length > 0 && property && explicitlyReadsOriginalHistory(userText) && userText.split(/[。;;,,!?!?\n]/u).some((clause) => explicitlyReadsOriginalHistory(clause) && clause.normalize("NFKC").toLowerCase().includes(binding.subject.normalize("NFKC").toLowerCase()) && property.test(clause)));
|
|
22
|
+
}
|
|
23
|
+
function ruleVisible(rule, context) {
|
|
24
|
+
return rule.status === "active" && rule.category === "boundary" && Array.isArray(rule.conditions.forgottenHistoryEntries) && (rule.scope.type === "global" || rule.scope.id === {
|
|
25
|
+
agent: context.agentId,
|
|
26
|
+
workspace: context.workspaceId,
|
|
27
|
+
project: context.projectId,
|
|
28
|
+
session: context.conversationId
|
|
29
|
+
}[rule.scope.type]);
|
|
30
|
+
}
|
|
31
|
+
/** A value-free, per-request notice makes legitimate original reads distinguishable from automatic recall. */
|
|
32
|
+
function originalReadAuthorizationNotice(context, userText = "") {
|
|
33
|
+
if (!isXopcDatabaseOpen()) return "";
|
|
34
|
+
const grants = listCollaborationRules().filter((rule) => ruleVisible(rule, context) && matchesOriginalRead(rule, userText)).map((rule) => {
|
|
35
|
+
const { subject, property } = rule.conditions.reread;
|
|
36
|
+
return {
|
|
37
|
+
subject,
|
|
38
|
+
property
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
return grants.length ? "The current author request matches a scoped original-record re-read exception for ONLY the following subject and field: " + JSON.stringify(grants) + ". The derived fact remains forgotten. Use session_search for original records in other conversations, or session_recall for this conversation. Missing active memory does not establish that authorized originals are unavailable. All source access checks still apply. Read only for this turn; do not infer missing values or save the recalled fact again." : "";
|
|
42
|
+
}
|
|
13
43
|
function forgottenHistoryEntries(context, userText = "") {
|
|
14
44
|
if (!isXopcDatabaseOpen()) return /* @__PURE__ */ new Set();
|
|
15
45
|
const entries = /* @__PURE__ */ new Set();
|
|
16
46
|
for (const rule of listCollaborationRules()) {
|
|
17
|
-
|
|
18
|
-
if (!(rule
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
47
|
+
const originalEntries = rule.conditions.forgottenHistoryEntries;
|
|
48
|
+
if (!ruleVisible(rule, context) || !Array.isArray(originalEntries)) continue;
|
|
49
|
+
const authorized = matchesOriginalRead(rule, userText);
|
|
50
|
+
const db = getSqliteDatabase();
|
|
51
|
+
if (authorized) {
|
|
52
|
+
if (context.conversationId) db.prepare(`UPDATE sessions SET custom_data_json = json_set(
|
|
53
|
+
CASE WHEN json_valid(custom_data_json) THEN custom_data_json ELSE '{}' END,
|
|
54
|
+
'$._forgottenReadRules', json_insert(COALESCE(json_extract(custom_data_json, '$._forgottenReadRules'), '[]'), '$[#]', ?))
|
|
55
|
+
WHERE conversation_id = ? AND NOT EXISTS (
|
|
56
|
+
SELECT 1 FROM json_each(COALESCE(json_extract(custom_data_json, '$._forgottenReadRules'), '[]')) WHERE value = ?)`).run(rule.id, context.conversationId, rule.id);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
for (const entry of originalEntries) if (typeof entry === "string") entries.add(entry);
|
|
60
|
+
const copies = db.prepare(`SELECT conversation_id FROM sessions, json_each(
|
|
61
|
+
CASE WHEN json_valid(custom_data_json) THEN COALESCE(json_extract(custom_data_json, '$._forgottenReadRules'), '[]') ELSE '[]' END)
|
|
62
|
+
WHERE value = ?`).all(rule.id);
|
|
63
|
+
for (const copy of copies) entries.add(`${copy.conversation_id}:*`);
|
|
28
64
|
}
|
|
29
65
|
return entries;
|
|
30
66
|
}
|
|
67
|
+
/** Project provenance for model consumption without changing the retained audit source. */
|
|
68
|
+
function projectForgottenEvidence(source, context, userText = "", provenanceRefs = []) {
|
|
69
|
+
const protectedEntries = forgottenHistoryEntries(context, userText);
|
|
70
|
+
if (!protectedEntries.size || source === void 0 || source === null) return source;
|
|
71
|
+
const blocked = /* @__PURE__ */ new Set();
|
|
72
|
+
const db = getSqliteDatabase();
|
|
73
|
+
for (const key of protectedEntries) {
|
|
74
|
+
const split = key.indexOf(":");
|
|
75
|
+
const conversation = key.slice(0, split), entry = key.slice(split + 1);
|
|
76
|
+
blocked.add(conversation);
|
|
77
|
+
if (entry !== "*") blocked.add(entry);
|
|
78
|
+
const rows = db.prepare(`SELECT evidence_id, message_id FROM context_evidence WHERE conversation_id = ?
|
|
79
|
+
AND (? = '*' OR message_id = ?)`).all(conversation, entry, entry);
|
|
80
|
+
for (const row of rows) {
|
|
81
|
+
blocked.add(row.evidence_id);
|
|
82
|
+
if (row.message_id) blocked.add(row.message_id);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const encoded = JSON.stringify([source, provenanceRefs]);
|
|
86
|
+
return encoded && [...blocked].some((ref) => encoded.includes(ref)) ? {
|
|
87
|
+
withheld: true,
|
|
88
|
+
scope: "source_excerpt_only",
|
|
89
|
+
reason: "The original evidence excerpt is withheld because it also contains a forgotten field. This redacts provenance text only; it does not retract the separately returned active fact or change its status or scope. Do not reconstruct the hidden values."
|
|
90
|
+
} : source;
|
|
91
|
+
}
|
|
92
|
+
/** Remove earlier materialized reads from active history, retaining this turn and system context. */
|
|
93
|
+
function projectForgottenHistoryMessages(messages, context, userText = "") {
|
|
94
|
+
if (!forgottenHistoryEntries(context, userText).has(`${context.conversationId}:*`)) return messages;
|
|
95
|
+
const latestUser = messages.findLastIndex((message) => message.role === "user");
|
|
96
|
+
return latestUser < 0 ? messages.filter((message) => message.role === "system") : messages.filter((message, index) => message.role === "system" || index >= latestUser);
|
|
97
|
+
}
|
|
31
98
|
const FORGOTTEN_HISTORY_EXCERPT = "[This entry supported information the user asked to forget. Automatic recall is withheld. A later explicit request to re-read original records is required; do not infer the hidden values.]";
|
|
99
|
+
/** Recheck rendered memory snapshots at dispatch; deleted facts cannot survive in a cached prompt. */
|
|
100
|
+
function projectSuppressedMemoryBlocks(text, context) {
|
|
101
|
+
if (!isXopcDatabaseOpen() || !text.includes("<user-context>")) return text;
|
|
102
|
+
const db = getSqliteDatabase();
|
|
103
|
+
const scopes = [
|
|
104
|
+
{
|
|
105
|
+
type: "global",
|
|
106
|
+
id: ""
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: "agent",
|
|
110
|
+
id: context.agentId
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "workspace",
|
|
114
|
+
id: context.workspaceId
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: "project",
|
|
118
|
+
id: context.projectId
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: "session",
|
|
122
|
+
id: context.conversationId
|
|
123
|
+
}
|
|
124
|
+
].filter((scope) => scope.id !== void 0);
|
|
125
|
+
return text.replace(/<user-context>[\s\S]*?<\/user-context>/gu, (block) => block.replace(/^- (.+(?:\n(?!- |\s*$).+)*)/gmu, (item, content) => {
|
|
126
|
+
const claim = content.replace(/ \[source report [^\]]+\]$/u, "").replace(/ \(confidence [\d.]+\)$/u, "");
|
|
127
|
+
return isMemorySuppressed(db, scopes.flatMap((scope) => ["knowledge-content", "assertion-content"].map((kind) => memoryFingerprint([
|
|
128
|
+
kind,
|
|
129
|
+
"local-owner",
|
|
130
|
+
scope.type,
|
|
131
|
+
scope.id,
|
|
132
|
+
claim
|
|
133
|
+
])))) ? "" : item;
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
32
136
|
//#endregion
|
|
33
|
-
export { FORGOTTEN_HISTORY_EXCERPT, explicitlyReadsOriginalHistory, forgottenHistoryEntries };
|
|
137
|
+
export { FORGOTTEN_HISTORY_EXCERPT, explicitlyReadsOriginalHistory, forgottenHistoryEntries, originalReadAuthorizationNotice, projectForgottenEvidence, projectForgottenHistoryMessages, projectSuppressedMemoryBlocks };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/memory-learning/owner-directive.ts
|
|
2
|
+
/** User-role evidence may contain quoted instructions that carry no mutation authority. */
|
|
3
|
+
function isUnquotedOwnerEvidence(text, quote) {
|
|
4
|
+
const author = text.replace(/```[\s\S]*?```|~~~[\s\S]*?~~~/gu, "").replace(/“[^”]*”|「[^」]*」|『[^』]*』|"[^"\n]*"/gu, (span) => /忘记|忘掉|删除|清除|删掉|\b(?:forget|delete|erase|remove)\b/iu.test(span) ? "" : span).replace(/^\s*>.*$/gmu, "");
|
|
5
|
+
if (/(?:不要|别|不必|无需|禁止)(?:再)?(?:忘记|忘掉|删除|清除|删掉)|(?:do not|don't|never)\s+(?:forget|delete|erase|remove)/iu.test(author)) return false;
|
|
6
|
+
if (!/忘记|忘掉|删除|删掉|清除|移除|(?:不再|不要再|别再)保存|\b(?:forget|delete|erase|remove)\b|(?:stop|don't|do not)\s+(?:remembering|retaining|storing|remember|retain|store)/iu.test(author)) return false;
|
|
7
|
+
return !!quote.trim() && author.normalize("NFKC").toLowerCase().includes(quote.normalize("NFKC").toLowerCase());
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { isUnquotedOwnerEvidence };
|
|
@@ -3,7 +3,6 @@ import { init_logger } from "../utils/logger.js";
|
|
|
3
3
|
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
4
4
|
import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
|
|
5
5
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
6
|
-
import { repairLegacyKnowledgeEvidence } from "../knowledge-memory/repair-evidence.js";
|
|
7
6
|
import { claimLearningJob, enqueueConversationLearning, failLearningJob, renewLearningLease } from "./repository.js";
|
|
8
7
|
import { learnTaskReceipts } from "./task-receipts.js";
|
|
9
8
|
import { pruneSourceRetention, recoverKnowledgeIndexes, recoverSourceLearning, runSourceLearning } from "./source-learning.js";
|
|
@@ -35,7 +34,6 @@ var MemoryLearningService = class {
|
|
|
35
34
|
if (this.stopped || this.running || !config || !isXopcDatabaseOpen()) return;
|
|
36
35
|
this.running = true;
|
|
37
36
|
try {
|
|
38
|
-
repairLegacyKnowledgeEvidence();
|
|
39
37
|
if (Date.now() - this.lastRetentionSweep >= 36e5) {
|
|
40
38
|
pruneSourceRetention(config);
|
|
41
39
|
this.lastRetentionSweep = Date.now();
|
|
@@ -3,8 +3,8 @@ import { init_logger } from "../utils/logger.js";
|
|
|
3
3
|
import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
|
|
4
4
|
import { claimContextExtractionRun, finishContextExtractionRun, init_context_extraction_repository } from "../storage/sqlite/context-extraction-repository.js";
|
|
5
5
|
import { init_config, resolveKnowledgeReadPolicy } from "../user-context/config.js";
|
|
6
|
-
import { getActiveUnderstandingConsent, getUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
7
6
|
import { learningPolicyHash } from "./repository.js";
|
|
7
|
+
import { getActiveUnderstandingConsent, getUnderstandingConsent } from "../user-context/sources/consent-repository.js";
|
|
8
8
|
import { resolveModelSelector } from "../config/agent-model-intents.js";
|
|
9
9
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
10
10
|
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
@@ -2,9 +2,9 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
|
|
|
2
2
|
import { createContextEvidence, init_context_evidence_repository } from "../storage/sqlite/context-evidence-repository.js";
|
|
3
3
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
4
4
|
import { init_session_repository } from "../storage/sqlite/session-repository.js";
|
|
5
|
+
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
5
6
|
import { inferMemorySensitivity } from "../agent/memory/sensitivity.js";
|
|
6
7
|
import { writeKnowledgeItem } from "../knowledge-memory/repository.js";
|
|
7
|
-
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
8
8
|
import "../knowledge-memory/index.js";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
//#region src/memory-learning/task-receipts.ts
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { listRegisteredMigrations, registerMigration, unregisterMigrationsForSource } from "./registry.js";
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { applyMigrations, detectMigrations, runBootstrapMigrationsSync } from "./runner.js";
|
|
3
|
+
export { applyMigrations, detectMigrations, listRegisteredMigrations, registerMigration, runBootstrapMigrationsSync, unregisterMigrationsForSource };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const CORE_MIGRATIONS: readonly Migration[];
|
|
1
|
+
import type { MigrationPlanItem } from './types.js';
|
|
3
2
|
export type MigrationApplyMode = 'auto-safe' | 'doctor-fix' | 'manual';
|
|
4
3
|
export interface MigrationApplyResult {
|
|
5
4
|
items: MigrationPlanItem[];
|
|
@@ -2,8 +2,6 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { ConfigSchema, init_schema } from "../config/schema.js";
|
|
4
4
|
import { listRegisteredMigrations } from "./registry.js";
|
|
5
|
-
import { memoryConfigMigration } from "./memory-config.js";
|
|
6
|
-
import { retiredLocalSttMigration } from "./retired-local-stt.js";
|
|
7
5
|
import { dirname, join } from "node:path";
|
|
8
6
|
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
9
7
|
//#region src/migrations/runner.ts
|
|
@@ -12,9 +10,8 @@ init_logger();
|
|
|
12
10
|
const log = createLogger("Migrations");
|
|
13
11
|
const MIGRATION_LEDGER_FILENAME = "migrations.json";
|
|
14
12
|
const CONFIG_BACKUP_COUNT = 10;
|
|
15
|
-
const CORE_MIGRATIONS = [memoryConfigMigration, retiredLocalSttMigration];
|
|
16
13
|
function listAllMigrations() {
|
|
17
|
-
return
|
|
14
|
+
return listRegisteredMigrations().map((entry) => entry.migration);
|
|
18
15
|
}
|
|
19
16
|
function publicItem(item) {
|
|
20
17
|
if (!item.details || !Object.hasOwn(item.details, "config")) return item;
|
|
@@ -185,4 +182,4 @@ function runBootstrapMigrationsSync(configPath, options = {}) {
|
|
|
185
182
|
return result;
|
|
186
183
|
}
|
|
187
184
|
//#endregion
|
|
188
|
-
export {
|
|
185
|
+
export { applyMigrations, detectMigrations, runBootstrapMigrationsSync };
|