@xopcai/xopc 0.0.247 → 0.0.249
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/src/update-offset-store.js +17 -54
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/auth/accounts.js +3 -5
- package/dist/extensions/weixin/src/monitor/monitor.js +3 -5
- package/dist/extensions/weixin/src/storage/sync-buf.d.ts +3 -6
- package/dist/extensions/weixin/src/storage/sync-buf.js +9 -22
- package/dist/gateway/static/root/assets/{activity-store-BlxqErph.js → activity-store-B759R_qf.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DmaFeojS.js → agent-avatar-dicebear-BUu7EnwM.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-C1rXNUAG.js +1 -0
- package/dist/gateway/static/root/assets/agents-DK9HjHO0.js +1 -0
- package/dist/gateway/static/root/assets/{api-BbXzyQMj.js → api-Cg0v7Lpn.js} +1 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-C9DkCW_d.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-CFggS95Y.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-jOvT-fzU.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-DD2SweEH.js → archive-plugin-BQrilVVv.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-BG82bNBQ.js → attachment-load-BG0BliqV.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CqBZ89He.js → automations-page-Bo4RiTkh.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BKjKTlW8.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-B6LKm5Zv.js → binary-plugins-BCnyNU0C.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BJKvGVXd.js → block-editor-Db8DlVvg.js} +50 -50
- package/dist/gateway/static/root/assets/browser-settings-page-Dzq18pO1.js +8 -0
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-BAAc151l.js → browser-workflow-inputs-C71vfl0b.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-DoE4Uuns.js → browser-workflows-page-vvmSYKsO.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-DW4SBQf4.js +7 -0
- package/dist/gateway/static/root/assets/channels-settings-57OGuewD.js +1 -0
- package/dist/gateway/static/root/assets/{channels-status-swr-CCBCtLDg.js → channels-status-swr-CKyV3jY5.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-terminal-dock-BsRWnz7M.js → chat-terminal-dock-B1Xd6OFB.js} +2 -2
- package/dist/gateway/static/root/assets/connectors-page-CT_I3kbR.js +2 -0
- package/dist/gateway/static/root/assets/{cron-expression-DdCgsH2c.js → cron-expression-D-F9vjtE.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-dt37Lt8e.js → date-picker-B2OoYvic.js} +1 -1
- package/dist/gateway/static/root/assets/dependency-picker-BiGx9Sbj.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-Nw_Pgkk3.js → desktop-pet-BNMRqipe.js} +1 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-DeYbIV7A.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-BHSst0WN.js → extension-debug-page-COyn05ub.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DXbL4cQZ.js → extension-page-oH43chS2.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-BMO59994.js +1 -0
- package/dist/gateway/static/root/assets/gateway-config-api-cimpViGk.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-826dipyU.js → gateway-config-swr-BGdHwT4e.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-BHJtnSic.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DyvcAIMm.js → gateway-startup-retry-CuaM3b4c.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-DNhrZHqx.js +1 -0
- package/dist/gateway/static/root/assets/home-page-BiHwiBnQ.js +1 -0
- package/dist/gateway/static/root/assets/{image-generation-api-D7cyfks6.js → image-generation-api-D7duj7Uj.js} +1 -1
- package/dist/gateway/static/root/assets/index-DGeGmj4k.css +2 -0
- package/dist/gateway/static/root/assets/index-aBs0EfQB.js +72 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-EY4cu-6W.js → keyboard-shortcuts-settings-D8Zw_lYd.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-eBFVWmtH.js +2 -0
- package/dist/gateway/static/root/assets/{local-apps-page-Dh7OxX0S.js → local-apps-page-CvPDPRwb.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-CBoCuIMx.js → locale-store-zEL8bkwx.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-ClvcWlL6.js +2 -0
- package/dist/gateway/static/root/assets/{management-settings-ZjiL3A-S.js → management-settings-D8moh99U.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-B4BxkTpU.js → markdown-split-D7V3j0vE.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-BXsHghJd.js → markdown-view-DGRN-8wP.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-D15XBiEo.js → media-plugins-BLaE5b1Y.js} +1 -1
- package/dist/gateway/static/root/assets/messages-W5P19VTF.js +11 -0
- package/dist/gateway/static/root/assets/mobile-pairing-wizard-DiVDuCxl.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-CEEvR-fV.js +5 -0
- package/dist/gateway/static/root/assets/notes-page-BLqgXNCx.js +8 -0
- package/dist/gateway/static/root/assets/page-tabs-BFMGjA60.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-DNEWZN7H.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-CAJeUXeU.js → product-open-page-Co5u7asH.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-CIiFJ5tk.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-B3UF-Pfm.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-BhGKnvLP.js → registry-api-Cg92zSod.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-BUtpkJPG.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BhKcyEId.js → runtime-tools-settings-panel-C0ByNmlV.js} +2 -2
- package/dist/gateway/static/root/assets/{schema-form-L0s7RWCi.js → schema-form-Dq_VQpuY.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-UgJmG-V4.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-DDCzpdkl.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-CZu6FX4k.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-CTKoztlF.js → settings-page-S8ekeUZd.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BdVmwXMv.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-CiiLLz5A.js → share-preview-page-D2fEidbn.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-BdsqnCYj.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-ghzAQKna.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-AYiPlgZE.js +2 -0
- package/dist/gateway/static/root/assets/{skills-page.utils-CwRekJSJ.js → skills-page.utils-DGzl-ib-.js} +1 -1
- package/dist/gateway/static/root/assets/system-settings-panel-5Xd5mIiR.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-BQAUaCDD.js +1 -0
- package/dist/gateway/static/root/assets/{theme-store-hybK3oC9.js → theme-store-ZVClZKQ0.js} +1 -1
- package/dist/gateway/static/root/assets/tunnel-api-CdZN1Jin.js +1 -0
- package/dist/gateway/static/root/assets/{use-autosave-DX5YZ3Nn.js → use-autosave-czRI0NBc.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-W3GTm6nA.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-ocnZbAyi.js → voice-api-key-field-8YEvA3cU.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-CBbiF1T3.js → voice-config-api-CopF64lY.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-keLtqYYJ.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-DaErGvxO.js → workflow-run-setup-panel-Dy5WgYMO.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-BbAV3h7n.js +5 -0
- package/dist/gateway/static/root/index.html +10 -26
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-instance-gateway.d.ts +2 -2
- package/dist/src/agent/agent-manager.d.ts +4 -4
- package/dist/src/agent/agent-manager.js +31 -15
- package/dist/src/agent/background-review/coordinator.d.ts +2 -4
- package/dist/src/agent/background-review/coordinator.js +5 -30
- package/dist/src/agent/background-review/prompts.d.ts +4 -2
- package/dist/src/agent/background-review/prompts.js +24 -19
- package/dist/src/agent/background-review/run-background-review.d.ts +6 -7
- package/dist/src/agent/background-review/run-background-review.js +47 -41
- package/dist/src/agent/background-review/settings.d.ts +0 -1
- package/dist/src/agent/background-review/settings.js +6 -7
- package/dist/src/agent/commands/command-registry.d.ts +1 -0
- package/dist/src/agent/commands/command-registry.js +12 -22
- package/dist/src/agent/context/audit.d.ts +36 -0
- package/dist/src/agent/context/audit.js +97 -0
- package/dist/src/agent/context/coordinator.d.ts +26 -0
- package/dist/src/agent/context/coordinator.js +72 -0
- package/dist/src/agent/context/execution-context.d.ts +54 -0
- package/dist/src/agent/context/execution-context.js +147 -0
- package/dist/src/agent/context/execution-scope.js +1 -1
- package/dist/src/agent/context/prepend.d.ts +2 -0
- package/dist/src/agent/context/prepend.js +28 -0
- package/dist/src/agent/context/project-context.d.ts +3 -3
- package/dist/src/agent/context/project-context.js +26 -23
- package/dist/src/agent/embedded/index.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +1 -0
- package/dist/src/agent/embedded/run-turn.js +22 -2
- package/dist/src/agent/embedded/types.d.ts +1 -25
- package/dist/src/agent/external-tools/composio-provider.js +87 -92
- package/dist/src/agent/external-tools/gateway-tools.d.ts +4 -1
- package/dist/src/agent/external-tools/gateway-tools.js +153 -41
- package/dist/src/agent/external-tools/index.js +1 -1
- package/dist/src/agent/external-tools/search-error.d.ts +12 -0
- package/dist/src/agent/external-tools/search-error.js +29 -0
- package/dist/src/agent/external-tools/service.d.ts +4 -0
- package/dist/src/agent/external-tools/service.js +22 -2
- package/dist/src/agent/ipc/inbox.d.ts +8 -31
- package/dist/src/agent/ipc/inbox.js +64 -133
- package/dist/src/agent/memory/compaction-policy.js +1 -1
- package/dist/src/agent/memory/compaction-promotion.js +45 -77
- package/dist/src/agent/memory/create-memory-manager.js +1 -3
- package/dist/src/agent/memory/index.d.ts +0 -5
- package/dist/src/agent/memory/index.js +2 -5
- package/dist/src/agent/memory/manager.d.ts +0 -16
- package/dist/src/agent/memory/manager.js +11 -40
- package/dist/src/agent/memory/memory-config.js +1 -1
- package/dist/src/agent/memory/runtime.d.ts +2 -2
- package/dist/src/agent/memory/runtime.js +9 -19
- package/dist/src/agent/memory/types.d.ts +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +13 -21
- package/dist/src/agent/prompt/sections/memory-skills.js +25 -36
- package/dist/src/agent/prompt/sections/tooling.js +10 -4
- package/dist/src/agent/prompt/service-prompt-builder.js +4 -3
- package/dist/src/agent/service/direct-turn-helpers.js +6 -23
- package/dist/src/agent/service/process-direct-one-shot.js +15 -10
- package/dist/src/agent/service/process-direct-streaming.js +5 -3
- package/dist/src/agent/service.js +4 -3
- package/dist/src/agent/tasks/task-judge-service.js +1 -1
- package/dist/src/agent/tools/clarify-tool.d.ts +1 -0
- package/dist/src/agent/tools/delegate-tool.js +5 -2
- package/dist/src/agent/tools/factory.js +36 -19
- package/dist/src/agent/tools/index.d.ts +3 -2
- package/dist/src/agent/tools/index.js +4 -3
- package/dist/src/agent/tools/knowledge-memory-tool.d.ts +9 -0
- package/dist/src/agent/tools/knowledge-memory-tool.js +129 -0
- package/dist/src/agent/tools/{dreaming-tool.d.ts → memory-maintenance-tool.d.ts} +2 -2
- package/dist/src/agent/tools/memory-maintenance-tool.js +31 -0
- package/dist/src/agent/tools/user-context-tool.d.ts +8 -0
- package/dist/src/agent/tools/user-context-tool.js +81 -0
- package/dist/src/agent/tools/xopc-use-tool.js +2 -2
- package/dist/src/agent/workflow/catalog.d.ts +1 -8
- package/dist/src/agent/workflow/catalog.js +44 -102
- package/dist/src/agent/workflow/index.d.ts +1 -1
- package/dist/src/agent/workflow/index.js +2 -2
- package/dist/src/automations/domain/types.d.ts +1 -0
- package/dist/src/automations/service/action-executor.js +2 -2
- package/dist/src/automations/service/automation-service.js +2 -2
- package/dist/src/channels/manager.d.ts +1 -1
- package/dist/src/channels/manager.js +2 -2
- package/dist/src/channels/outbound/persist-store.d.ts +2 -8
- package/dist/src/channels/outbound/persist-store.js +11 -38
- package/dist/src/channels/outbound-sender.d.ts +1 -1
- package/dist/src/channels/outbound-sender.js +2 -2
- package/dist/src/chat-commands/builtins/understanding.js +24 -6
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/config/schema.d.ts +68 -75
- package/dist/src/config/schema.js +31 -20
- package/dist/src/config/web-patch.d.ts +1 -1
- package/dist/src/connectors/composio-managed-client.js +6 -2
- package/dist/src/connectors/composio-triggers.d.ts +2 -2
- package/dist/src/connectors/composio-triggers.js +8 -15
- package/dist/src/connectors/connected-source-understanding.d.ts +1 -3
- package/dist/src/connectors/connected-source-understanding.js +86 -99
- package/dist/src/connectors/connection-candidates.d.ts +11 -0
- package/dist/src/connectors/connection-candidates.js +58 -0
- package/dist/src/connectors/connection-capabilities.d.ts +4 -0
- package/dist/src/connectors/connection-capabilities.js +37 -0
- package/dist/src/connectors/connection-recovery-service.d.ts +42 -0
- package/dist/src/connectors/connection-recovery-service.js +396 -0
- package/dist/src/connectors/learning-coordinator.d.ts +0 -2
- package/dist/src/connectors/learning-coordinator.js +6 -7
- package/dist/src/connectors/principal.d.ts +5 -0
- package/dist/src/connectors/principal.js +18 -0
- package/dist/src/gateway/agent-builtin-tools.d.ts +28 -10
- package/dist/src/gateway/agent-builtin-tools.js +30 -9
- package/dist/src/gateway/automation-agent-session.js +3 -0
- package/dist/src/gateway/chat-stream/mapper.js +1 -28
- package/dist/src/gateway/chat-stream/protocol.d.ts +2 -24
- package/dist/src/gateway/clarify-bridge.d.ts +4 -0
- package/dist/src/gateway/clarify-bridge.js +9 -4
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +52 -30
- package/dist/src/gateway/hono/lib/config-payload.js +4 -4
- package/dist/src/gateway/hono/lib/extension-store.js +8 -25
- package/dist/src/gateway/hono/middleware/auth.js +1 -2
- package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +72 -28
- package/dist/src/gateway/hono/routes/connection-waits.d.ts +3 -0
- package/dist/src/gateway/hono/routes/connection-waits.js +58 -0
- package/dist/src/gateway/hono/routes/connectors.js +4 -12
- package/dist/src/gateway/hono/routes/context-sources.d.ts +4 -0
- package/dist/src/gateway/hono/routes/context-sources.js +159 -0
- package/dist/src/gateway/hono/routes/index.js +4 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +9 -4
- package/dist/src/gateway/hono/routes/notes.js +22 -7
- package/dist/src/gateway/hono/routes/projects.js +37 -45
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +15 -1
- package/dist/src/gateway/hono/routes/side-chats.js +13 -2
- package/dist/src/gateway/hono/routes/tasks.js +2 -2
- package/dist/src/gateway/hono/routes/user-model.d.ts +3 -0
- package/dist/src/gateway/hono/routes/user-model.js +480 -0
- package/dist/src/gateway/hono/routes/workflows.js +2 -2
- package/dist/src/gateway/memory-maintenance-automation-reconciler.d.ts +11 -0
- package/dist/src/gateway/memory-maintenance-automation-reconciler.js +72 -0
- package/dist/src/gateway/service/agent-runner.d.ts +9 -1
- package/dist/src/gateway/service/agent-runner.js +25 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +2 -2
- package/dist/src/gateway/service/config-coordinator.js +4 -4
- package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -0
- package/dist/src/gateway/service/run-gateway-agent.js +18 -14
- package/dist/src/gateway/service/session-input-coordinator.d.ts +3 -0
- package/dist/src/gateway/service/session-input-coordinator.js +12 -2
- package/dist/src/gateway/service.d.ts +3 -1
- package/dist/src/gateway/service.js +49 -19
- package/dist/src/gateway/side-chat/manager.d.ts +16 -3
- package/dist/src/gateway/side-chat/manager.js +117 -28
- package/dist/src/gateway/side-chat/run-service.d.ts +2 -0
- package/dist/src/gateway/side-chat/run-service.js +28 -5
- package/dist/src/gateway/side-chat/types.d.ts +9 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/knowledge/connected-knowledge-pipeline.d.ts +0 -2
- package/dist/src/knowledge/connected-knowledge-pipeline.js +46 -217
- package/dist/src/knowledge-memory/domain.d.ts +35 -0
- package/dist/src/knowledge-memory/index.d.ts +2 -0
- package/dist/src/knowledge-memory/index.js +2 -0
- package/dist/src/knowledge-memory/repository.d.ts +45 -0
- package/dist/src/knowledge-memory/repository.js +154 -0
- package/dist/src/memory-maintenance/index.d.ts +2 -0
- package/dist/src/memory-maintenance/index.js +3 -0
- package/dist/src/memory-maintenance/schedule.d.ts +13 -0
- package/dist/src/memory-maintenance/schedule.js +51 -0
- package/dist/src/memory-maintenance/service.d.ts +28 -0
- package/dist/src/memory-maintenance/service.js +216 -0
- package/dist/src/notes/index.d.ts +1 -1
- package/dist/src/notes/index.js +2 -2
- package/dist/src/notes/paths.d.ts +0 -3
- package/dist/src/notes/paths.js +1 -10
- package/dist/src/notes/service.d.ts +1 -1
- package/dist/src/notes/service.js +7 -4
- package/dist/src/notes/store.d.ts +0 -2
- package/dist/src/notes/store.js +33 -80
- package/dist/src/notes/types.d.ts +16 -0
- package/dist/src/proactive/execution/context.d.ts +2 -2
- package/dist/src/proactive/execution/context.js +16 -11
- package/dist/src/proactive/index.d.ts +1 -1
- package/dist/src/proactive/index.js +2 -2
- package/dist/src/projects/index.d.ts +1 -1
- package/dist/src/projects/index.js +2 -2
- package/dist/src/projects/knowledge-bind.d.ts +1 -0
- package/dist/src/projects/knowledge-bind.js +15 -0
- package/dist/src/projects/project-loop.d.ts +3 -3
- package/dist/src/projects/project-loop.js +4 -4
- package/dist/src/projects/project-store.js +2 -1
- package/dist/src/realtime/runtime.js +1 -0
- package/dist/src/runtime-tools/manager.js +1 -1
- package/dist/src/share/hosted-session-share.d.ts +1 -4
- package/dist/src/share/hosted-session-share.js +14 -47
- package/dist/src/share/share-auto.d.ts +1 -1
- package/dist/src/share/share-auto.js +2 -2
- package/dist/src/share/share-store.d.ts +2 -7
- package/dist/src/share/share-store.js +153 -195
- package/dist/src/share/share-types.d.ts +0 -4
- package/dist/src/share/site-share-store.d.ts +3 -8
- package/dist/src/share/site-share-store.js +94 -153
- package/dist/src/share/site-share-types.d.ts +0 -4
- package/dist/src/storage/sqlite/collaboration-rule-repository.d.ts +17 -0
- package/dist/src/storage/sqlite/collaboration-rule-repository.js +54 -0
- package/dist/src/storage/sqlite/connection-wait-repository.d.ts +30 -0
- package/dist/src/storage/sqlite/connection-wait-repository.js +338 -0
- package/dist/src/storage/sqlite/connection.d.ts +1 -2
- package/dist/src/storage/sqlite/connection.js +50 -47
- package/dist/src/storage/sqlite/connector-account-repository.js +1 -1
- package/dist/src/storage/sqlite/context-evidence-repository.d.ts +24 -0
- package/dist/src/storage/sqlite/context-evidence-repository.js +52 -0
- package/dist/src/storage/sqlite/durable-queue.d.ts +16 -0
- package/dist/src/storage/sqlite/durable-queue.js +52 -0
- package/dist/src/storage/sqlite/durable-state.d.ts +16 -0
- package/dist/src/storage/sqlite/durable-state.js +43 -0
- package/dist/src/storage/sqlite/index.d.ts +3 -5
- package/dist/src/storage/sqlite/index.js +4 -6
- package/dist/src/storage/sqlite/knowledge-repository.d.ts +0 -19
- package/dist/src/storage/sqlite/knowledge-repository.js +1 -90
- package/dist/src/storage/sqlite/migrations/146_understanding_focus_exclusions.sql +9 -0
- package/dist/src/storage/sqlite/migrations/147_durable_application_state.sql +39 -0
- package/dist/src/storage/sqlite/migrations/148_user_model_foundation.sql +554 -0
- package/dist/src/storage/sqlite/migrations/149_separate_source_index_from_memory.sql +18 -0
- package/dist/src/storage/sqlite/migrations/150_session_connection_waits.sql +47 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/notes-repository.d.ts +2 -1
- package/dist/src/storage/sqlite/notes-repository.js +37 -3
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/session-input-repository.d.ts +14 -2
- package/dist/src/storage/sqlite/session-input-repository.js +16 -13
- package/dist/src/storage/sqlite/session-repository.js +4 -1
- package/dist/src/storage/sqlite/transcript-repository.js +1 -1
- package/dist/src/tasks/index.js +2 -2
- package/dist/src/tasks/project-operating-view-service.js +1 -1
- package/dist/src/tasks/task-application-service.js +6 -1
- package/dist/src/tasks/task-context-assembler.js +1 -1
- package/dist/src/tasks/task-context-repository.d.ts +0 -1
- package/dist/src/tasks/task-context-repository.js +1 -1
- package/dist/src/tasks/task-deletion-service.js +1 -1
- package/dist/src/tasks/task-handoff-service.js +1 -1
- package/dist/src/tasks/task-read-model-projector.js +1 -1
- package/dist/src/tasks/task-run-coordinator.js +1 -1
- package/dist/src/tasks/task-run-dispatcher.js +1 -1
- package/dist/src/tasks/task-run-repository.js +1 -0
- package/dist/src/tasks/task-signal-service.js +1 -1
- package/dist/src/tui/tool-summary.js +2 -1
- package/dist/src/tui/tui-scoped-models.js +9 -6
- package/dist/src/user-context/changes.d.ts +1 -1
- package/dist/src/user-context/config.d.ts +135 -153
- package/dist/src/user-context/config.js +94 -99
- package/dist/src/user-context/relationship-continuity.d.ts +2 -2
- package/dist/src/user-context/relationship-continuity.js +34 -24
- package/dist/src/user-context/sources/activity-clustering.d.ts +9 -3
- package/dist/src/user-context/sources/index.js +2 -2
- package/dist/src/user-context/sources/repository.d.ts +1 -21
- package/dist/src/user-context/sources/repository.js +1 -183
- package/dist/src/user-context/sources/types.d.ts +0 -23
- package/dist/src/user-model/capture/executor.d.ts +40 -0
- package/dist/src/user-model/capture/executor.js +134 -0
- package/dist/src/user-model/capture/index.d.ts +2 -0
- package/dist/src/user-model/capture/index.js +3 -0
- package/dist/src/user-model/capture/semantic.d.ts +21 -0
- package/dist/src/user-model/capture/semantic.js +197 -0
- package/dist/src/user-model/domain.d.ts +93 -0
- package/dist/src/user-model/domain.js +33 -0
- package/dist/src/user-model/goals.d.ts +58 -0
- package/dist/src/user-model/goals.js +89 -0
- package/dist/src/user-model/importance.d.ts +11 -0
- package/dist/src/user-model/importance.js +17 -0
- package/dist/src/user-model/index.d.ts +5 -0
- package/dist/src/user-model/index.js +6 -0
- package/dist/src/user-model/repository.d.ts +23 -0
- package/dist/src/user-model/repository.js +268 -0
- package/dist/src/user-model/temporal.d.ts +10 -0
- package/dist/src/user-model/temporal.js +44 -0
- package/dist/src/voice/realtime/agentEngine.js +63 -18
- package/dist/src/voice/realtime/conversationTurn.d.ts +20 -0
- package/dist/src/voice/realtime/conversationTurn.js +83 -0
- package/dist/src/voice/realtime/memory-context.d.ts +7 -2
- package/dist/src/voice/realtime/memory-context.js +39 -51
- package/dist/src/voice/realtime/omniEngine.js +72 -18
- package/dist/src/work-discovery/service.d.ts +3 -14
- package/dist/src/work-discovery/service.js +138 -99
- package/dist/src/work-discovery/types.d.ts +3 -3
- package/dist/src/workflows/authoring/workflow-draft-store.d.ts +1 -5
- package/dist/src/workflows/authoring/workflow-draft-store.js +23 -43
- package/dist/src/workflows/index.js +2 -2
- package/dist/src/workflows/service/workflow-run-service.js +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +12 -20
- package/dist/src/workflows/store/event-store.d.ts +1 -2
- package/dist/src/workflows/store/event-store.js +19 -64
- package/dist/src/workflows/store/paths.d.ts +0 -2
- package/dist/src/workflows/store/paths.js +1 -7
- package/dist/src/workflows/store/run-store.d.ts +0 -1
- package/dist/src/workflows/store/run-store.js +1 -24
- package/package.json +3 -3
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-eG49pM-z.js +0 -1
- package/dist/gateway/static/root/assets/agents-CZwf1mgZ.js +0 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-BODskFTb.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-DeaVvaYZ.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-BZG3BK7f.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-CB7Yl2_B.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-Bu42Ljfw.js +0 -8
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Cg7zCxEH.js +0 -7
- package/dist/gateway/static/root/assets/channels-settings-EDTZ8P3y.js +0 -1
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-kh7PEkSS.js +0 -2
- package/dist/gateway/static/root/assets/dependency-picker-oi7cdv2C.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-D9OO-exo.js +0 -1
- package/dist/gateway/static/root/assets/ellipsis-0k4rZLoy.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-FTD7nE8v.js +0 -1
- package/dist/gateway/static/root/assets/eye-CABVeTq0.js +0 -1
- package/dist/gateway/static/root/assets/eye-off-DEAzt3g1.js +0 -1
- package/dist/gateway/static/root/assets/folder-open-CyzJ19I9.js +0 -1
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +0 -1
- package/dist/gateway/static/root/assets/gateway-config-api-c-8ENciH.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BxvyTRl0.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-C1S2Ccui.js +0 -1
- package/dist/gateway/static/root/assets/home-page-Bqx-SMWV.js +0 -1
- package/dist/gateway/static/root/assets/index-Cif1_3Jx.js +0 -71
- package/dist/gateway/static/root/assets/index-Dbh5SXyV.css +0 -2
- package/dist/gateway/static/root/assets/interaction-BmQogeqz.js +0 -1
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +0 -1
- package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-sDdw7Y3Q.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-DUsxXdDp.js +0 -2
- package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +0 -1
- package/dist/gateway/static/root/assets/messages-BbdwoxVo.js +0 -3
- package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +0 -1
- package/dist/gateway/static/root/assets/mobile-pairing-wizard-Dv87XewB.js +0 -1
- package/dist/gateway/static/root/assets/models-hub-cache-88f4fzYS.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-DOe0lOcQ.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-Cy0oYbWP.js +0 -4
- package/dist/gateway/static/root/assets/oauth-api-BjSUDIgq.js +0 -1
- package/dist/gateway/static/root/assets/oauth-authorization-window-Cdolr2wE.js +0 -1
- package/dist/gateway/static/root/assets/page-tabs-BaEQMYm_.js +0 -1
- package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-CsNVTKC0.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-fgD1xc4O.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CiTiEcOc.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Dc0GrNSp.js +0 -1
- package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +0 -1
- package/dist/gateway/static/root/assets/search-DA7gz22f.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BPOW3yaM.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-Bz4s9BBY.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-DjWzRk4z.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-rllj-j7k.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-DMj7onCX.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-DRB366nS.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-cBT9jCof.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-Byrk4DQy.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-CheX3zmK.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-jKzujxFU.js +0 -1
- package/dist/gateway/static/root/assets/user-context-page-CWy3Pqtk.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-DE4_YpDn.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-y4O9-BTf.js +0 -5
- package/dist/src/agent/memory/builtin-provider.d.ts +0 -37
- package/dist/src/agent/memory/builtin-provider.js +0 -225
- package/dist/src/agent/memory/context/types.d.ts +0 -40
- package/dist/src/agent/memory/understanding/quality.d.ts +0 -8
- package/dist/src/agent/memory/understanding/quality.js +0 -18
- package/dist/src/agent/memory/understanding/service.d.ts +0 -19
- package/dist/src/agent/memory/understanding/service.js +0 -209
- package/dist/src/agent/memory/understanding/types.d.ts +0 -34
- package/dist/src/agent/memory/understanding/types.js +0 -1
- package/dist/src/agent/memory/user-context-coordinator.d.ts +0 -23
- package/dist/src/agent/memory/user-context-coordinator.js +0 -113
- package/dist/src/agent/tools/dreaming-tool.js +0 -37
- package/dist/src/agent/tools/memory-tool.d.ts +0 -9
- package/dist/src/agent/tools/memory-tool.js +0 -119
- package/dist/src/gateway/dreaming-automation-reconciler.d.ts +0 -11
- package/dist/src/gateway/dreaming-automation-reconciler.js +0 -63
- package/dist/src/gateway/hono/routes/understanding-sources.d.ts +0 -21
- package/dist/src/gateway/hono/routes/understanding-sources.js +0 -387
- package/dist/src/gateway/hono/routes/you.d.ts +0 -3
- package/dist/src/gateway/hono/routes/you.js +0 -443
- package/dist/src/projects/memory-bind.d.ts +0 -1
- package/dist/src/projects/memory-bind.js +0 -14
- package/dist/src/storage/sqlite/context-consolidation-repository.d.ts +0 -37
- package/dist/src/storage/sqlite/context-consolidation-repository.js +0 -64
- package/dist/src/storage/sqlite/memory-records-repository.d.ts +0 -217
- package/dist/src/storage/sqlite/memory-records-repository.js +0 -715
- package/dist/src/storage/sqlite/remote-context-repository.d.ts +0 -3
- package/dist/src/storage/sqlite/remote-context-repository.js +0 -40
- package/dist/src/storage/sqlite/user-context-quality-repository.d.ts +0 -49
- package/dist/src/storage/sqlite/user-context-quality-repository.js +0 -118
- package/dist/src/storage/sqlite/user-context-repository.d.ts +0 -85
- package/dist/src/storage/sqlite/user-context-repository.js +0 -535
- package/dist/src/user-context/automatic-context.d.ts +0 -17
- package/dist/src/user-context/automatic-context.js +0 -85
- package/dist/src/user-context/consolidation.d.ts +0 -27
- package/dist/src/user-context/consolidation.js +0 -187
- package/dist/src/user-context/context-objects.d.ts +0 -17
- package/dist/src/user-context/context-objects.js +0 -99
- package/dist/src/user-context/evaluation/harness.d.ts +0 -13
- package/dist/src/user-context/evaluation/harness.js +0 -31
- package/dist/src/user-context/extraction/executor.d.ts +0 -22
- package/dist/src/user-context/extraction/executor.js +0 -142
- package/dist/src/user-context/extraction/repair.d.ts +0 -19
- package/dist/src/user-context/extraction/repair.js +0 -71
- package/dist/src/user-context/extraction/semantic.d.ts +0 -18
- package/dist/src/user-context/extraction/semantic.js +0 -148
- package/dist/src/user-context/focus-lifecycle.d.ts +0 -2
- package/dist/src/user-context/focus-lifecycle.js +0 -26
- package/dist/src/user-context/manual-understanding.d.ts +0 -12
- package/dist/src/user-context/manual-understanding.js +0 -37
- package/dist/src/user-context/planner.d.ts +0 -17
- package/dist/src/user-context/planner.js +0 -465
- package/dist/src/user-context/relationships/indexer.d.ts +0 -13
- package/dist/src/user-context/relationships/indexer.js +0 -185
- package/dist/src/user-context/relationships/service.d.ts +0 -22
- package/dist/src/user-context/relationships/service.js +0 -50
- package/dist/src/user-context/retriever.d.ts +0 -15
- package/dist/src/user-context/retriever.js +0 -124
- package/dist/src/user-context/scope.d.ts +0 -7
- package/dist/src/user-context/scope.js +0 -9
- package/dist/src/user-context/selection-policy.d.ts +0 -20
- package/dist/src/user-context/selection-policy.js +0 -33
- package/dist/src/user-context/understanding.d.ts +0 -15
- package/dist/src/user-context/understanding.js +0 -24
- package/dist/src/user-context/understandingQuality.d.ts +0 -5
- package/dist/src/user-context/understandingQuality.js +0 -48
- /package/dist/src/{agent/memory/context/types.js → knowledge-memory/domain.js} +0 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
CREATE TABLE user_assertion_slots (
|
|
2
|
+
slot_id TEXT PRIMARY KEY,
|
|
3
|
+
principal_id TEXT NOT NULL,
|
|
4
|
+
subject_type TEXT NOT NULL CHECK(subject_type IN ('user', 'person', 'goal', 'project', 'topic')),
|
|
5
|
+
subject_id TEXT NOT NULL,
|
|
6
|
+
predicate TEXT NOT NULL,
|
|
7
|
+
cardinality TEXT NOT NULL CHECK(cardinality IN ('single', 'multiple')),
|
|
8
|
+
scope_type TEXT NOT NULL CHECK(scope_type IN ('global', 'agent', 'workspace', 'project', 'session')),
|
|
9
|
+
scope_id TEXT,
|
|
10
|
+
created_at INTEGER NOT NULL
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
CREATE UNIQUE INDEX idx_user_assertion_slots_identity
|
|
14
|
+
ON user_assertion_slots(
|
|
15
|
+
principal_id, subject_type, subject_id, predicate, scope_type, COALESCE(scope_id, '')
|
|
16
|
+
);
|
|
17
|
+
CREATE INDEX idx_user_assertion_slots_subject
|
|
18
|
+
ON user_assertion_slots(principal_id, subject_type, subject_id, predicate);
|
|
19
|
+
CREATE INDEX idx_user_assertion_slots_scope
|
|
20
|
+
ON user_assertion_slots(principal_id, scope_type, scope_id);
|
|
21
|
+
|
|
22
|
+
CREATE TABLE user_assertions (
|
|
23
|
+
assertion_id TEXT PRIMARY KEY,
|
|
24
|
+
slot_id TEXT NOT NULL REFERENCES user_assertion_slots(slot_id) ON DELETE CASCADE,
|
|
25
|
+
kind TEXT NOT NULL CHECK(kind IN (
|
|
26
|
+
'identity', 'preference', 'value', 'routine', 'capability',
|
|
27
|
+
'relationship', 'current_state', 'derived_insight'
|
|
28
|
+
)),
|
|
29
|
+
value_json TEXT NOT NULL CHECK(json_valid(value_json)),
|
|
30
|
+
normalized_value TEXT NOT NULL,
|
|
31
|
+
statement TEXT NOT NULL,
|
|
32
|
+
authority TEXT NOT NULL CHECK(authority IN (
|
|
33
|
+
'user_explicit', 'user_observed', 'system_inferred', 'external_untrusted'
|
|
34
|
+
)),
|
|
35
|
+
status TEXT NOT NULL CHECK(status IN (
|
|
36
|
+
'candidate', 'active', 'needs_review', 'conflicted', 'stale', 'archived', 'rejected'
|
|
37
|
+
)),
|
|
38
|
+
confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
|
|
39
|
+
declared_importance REAL CHECK(declared_importance IS NULL OR (declared_importance >= 0 AND declared_importance <= 1)),
|
|
40
|
+
inferred_importance REAL NOT NULL CHECK(inferred_importance >= 0 AND inferred_importance <= 1),
|
|
41
|
+
consequence TEXT NOT NULL CHECK(consequence IN ('low', 'medium', 'high', 'critical')),
|
|
42
|
+
actionability REAL NOT NULL CHECK(actionability >= 0 AND actionability <= 1),
|
|
43
|
+
volatility TEXT NOT NULL CHECK(volatility IN ('stable', 'slow', 'dynamic', 'event')),
|
|
44
|
+
sensitivity TEXT NOT NULL CHECK(sensitivity IN ('normal', 'personal', 'secret', 'regulated')),
|
|
45
|
+
disclosure_policy TEXT NOT NULL CHECK(disclosure_policy IN ('silent', 'referenceable', 'ask_before_reference')),
|
|
46
|
+
applicability_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(applicability_json)),
|
|
47
|
+
valid_from INTEGER,
|
|
48
|
+
valid_to INTEGER,
|
|
49
|
+
observed_at INTEGER NOT NULL,
|
|
50
|
+
recorded_at INTEGER NOT NULL,
|
|
51
|
+
review_at INTEGER,
|
|
52
|
+
supersedes_assertion_id TEXT REFERENCES user_assertions(assertion_id) ON DELETE SET NULL,
|
|
53
|
+
created_by TEXT NOT NULL CHECK(created_by IN ('user', 'runtime', 'connector', 'maintenance', 'migration')),
|
|
54
|
+
created_at INTEGER NOT NULL,
|
|
55
|
+
CHECK(valid_to IS NULL OR valid_from IS NULL OR valid_to >= valid_from)
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
CREATE INDEX idx_user_assertions_slot_status
|
|
59
|
+
ON user_assertions(slot_id, status, valid_from, valid_to);
|
|
60
|
+
CREATE INDEX idx_user_assertions_review
|
|
61
|
+
ON user_assertions(status, review_at) WHERE review_at IS NOT NULL;
|
|
62
|
+
CREATE INDEX idx_user_assertions_recorded
|
|
63
|
+
ON user_assertions(recorded_at DESC);
|
|
64
|
+
|
|
65
|
+
CREATE VIRTUAL TABLE user_assertions_fts USING fts5(
|
|
66
|
+
statement,
|
|
67
|
+
assertion_id UNINDEXED,
|
|
68
|
+
slot_id UNINDEXED,
|
|
69
|
+
tokenize='unicode61'
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
CREATE TABLE user_assertion_evidence (
|
|
73
|
+
assertion_id TEXT NOT NULL REFERENCES user_assertions(assertion_id) ON DELETE CASCADE,
|
|
74
|
+
evidence_id TEXT NOT NULL REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
|
|
75
|
+
relation TEXT NOT NULL CHECK(relation IN ('supports', 'contradicts', 'supersedes')),
|
|
76
|
+
confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
|
|
77
|
+
created_at INTEGER NOT NULL,
|
|
78
|
+
PRIMARY KEY(assertion_id, evidence_id, relation)
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
CREATE INDEX idx_user_assertion_evidence_source
|
|
82
|
+
ON user_assertion_evidence(evidence_id, relation);
|
|
83
|
+
|
|
84
|
+
CREATE TABLE user_assertion_status_events (
|
|
85
|
+
event_id TEXT PRIMARY KEY,
|
|
86
|
+
assertion_id TEXT NOT NULL REFERENCES user_assertions(assertion_id) ON DELETE CASCADE,
|
|
87
|
+
from_status TEXT,
|
|
88
|
+
to_status TEXT NOT NULL,
|
|
89
|
+
actor_type TEXT NOT NULL CHECK(actor_type IN ('user', 'runtime', 'maintenance', 'migration')),
|
|
90
|
+
reason TEXT NOT NULL,
|
|
91
|
+
source_run_id TEXT,
|
|
92
|
+
created_at INTEGER NOT NULL
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
CREATE INDEX idx_user_assertion_status_events_assertion
|
|
96
|
+
ON user_assertion_status_events(assertion_id, created_at DESC);
|
|
97
|
+
|
|
98
|
+
CREATE TABLE user_goals (
|
|
99
|
+
goal_id TEXT PRIMARY KEY,
|
|
100
|
+
principal_id TEXT NOT NULL,
|
|
101
|
+
parent_goal_id TEXT REFERENCES user_goals(goal_id) ON DELETE SET NULL,
|
|
102
|
+
status TEXT NOT NULL CHECK(status IN ('proposed', 'active', 'paused', 'achieved', 'abandoned')),
|
|
103
|
+
scope_type TEXT NOT NULL CHECK(scope_type IN ('global', 'agent', 'workspace', 'project', 'session')),
|
|
104
|
+
scope_id TEXT,
|
|
105
|
+
declared_importance REAL CHECK(declared_importance IS NULL OR (declared_importance >= 0 AND declared_importance <= 1)),
|
|
106
|
+
confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
|
|
107
|
+
authority TEXT NOT NULL CHECK(authority IN ('user_explicit', 'user_observed', 'system_inferred', 'external_untrusted')),
|
|
108
|
+
target_at INTEGER,
|
|
109
|
+
valid_from INTEGER,
|
|
110
|
+
valid_to INTEGER,
|
|
111
|
+
review_at INTEGER,
|
|
112
|
+
current_revision_id TEXT NOT NULL REFERENCES user_goal_revisions(revision_id) DEFERRABLE INITIALLY DEFERRED,
|
|
113
|
+
created_at INTEGER NOT NULL,
|
|
114
|
+
updated_at INTEGER NOT NULL
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
CREATE TABLE user_goal_revisions (
|
|
118
|
+
revision_id TEXT PRIMARY KEY,
|
|
119
|
+
goal_id TEXT NOT NULL REFERENCES user_goals(goal_id) ON DELETE CASCADE,
|
|
120
|
+
title TEXT NOT NULL,
|
|
121
|
+
desired_outcome TEXT NOT NULL,
|
|
122
|
+
success_criteria_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(success_criteria_json)),
|
|
123
|
+
evidence_id TEXT REFERENCES context_evidence(evidence_id) ON DELETE SET NULL,
|
|
124
|
+
created_by TEXT NOT NULL CHECK(created_by IN ('user', 'runtime', 'connector', 'maintenance', 'migration')),
|
|
125
|
+
change_reason TEXT NOT NULL,
|
|
126
|
+
created_at INTEGER NOT NULL
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
CREATE INDEX idx_user_goals_status
|
|
130
|
+
ON user_goals(principal_id, status, updated_at DESC);
|
|
131
|
+
CREATE INDEX idx_user_goals_scope
|
|
132
|
+
ON user_goals(principal_id, scope_type, scope_id, status);
|
|
133
|
+
|
|
134
|
+
CREATE TABLE user_priority_windows (
|
|
135
|
+
priority_id TEXT PRIMARY KEY,
|
|
136
|
+
principal_id TEXT NOT NULL,
|
|
137
|
+
target_type TEXT NOT NULL CHECK(target_type IN ('goal', 'project', 'task', 'assertion', 'topic')),
|
|
138
|
+
target_id TEXT NOT NULL,
|
|
139
|
+
rank TEXT NOT NULL CHECK(rank IN ('primary', 'secondary', 'background')),
|
|
140
|
+
declared_importance REAL CHECK(declared_importance IS NULL OR (declared_importance >= 0 AND declared_importance <= 1)),
|
|
141
|
+
urgency REAL NOT NULL CHECK(urgency >= 0 AND urgency <= 1),
|
|
142
|
+
scope_type TEXT NOT NULL CHECK(scope_type IN ('global', 'agent', 'workspace', 'project', 'session')),
|
|
143
|
+
scope_id TEXT,
|
|
144
|
+
valid_from INTEGER NOT NULL,
|
|
145
|
+
valid_to INTEGER NOT NULL,
|
|
146
|
+
review_at INTEGER NOT NULL,
|
|
147
|
+
status TEXT NOT NULL CHECK(status IN ('active', 'paused', 'completed', 'expired')),
|
|
148
|
+
evidence_id TEXT REFERENCES context_evidence(evidence_id) ON DELETE SET NULL,
|
|
149
|
+
created_at INTEGER NOT NULL,
|
|
150
|
+
updated_at INTEGER NOT NULL,
|
|
151
|
+
CHECK(valid_to >= valid_from)
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
CREATE INDEX idx_user_priority_windows_active
|
|
155
|
+
ON user_priority_windows(principal_id, status, valid_from, valid_to);
|
|
156
|
+
CREATE INDEX idx_user_priority_windows_target
|
|
157
|
+
ON user_priority_windows(target_type, target_id, status);
|
|
158
|
+
|
|
159
|
+
CREATE TABLE knowledge_items (
|
|
160
|
+
knowledge_id TEXT PRIMARY KEY,
|
|
161
|
+
principal_id TEXT NOT NULL,
|
|
162
|
+
kind TEXT NOT NULL CHECK(kind IN (
|
|
163
|
+
'project_fact', 'workspace_fact', 'decision', 'task_lesson',
|
|
164
|
+
'commitment', 'open_question', 'episode', 'note'
|
|
165
|
+
)),
|
|
166
|
+
scope_type TEXT NOT NULL CHECK(scope_type IN ('global', 'agent', 'workspace', 'project', 'session')),
|
|
167
|
+
scope_id TEXT,
|
|
168
|
+
content TEXT NOT NULL,
|
|
169
|
+
canonical_key TEXT NOT NULL,
|
|
170
|
+
status TEXT NOT NULL CHECK(status IN ('candidate', 'active', 'needs_review', 'stale', 'archived', 'rejected')),
|
|
171
|
+
confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
|
|
172
|
+
importance REAL NOT NULL CHECK(importance >= 0 AND importance <= 1),
|
|
173
|
+
valid_from INTEGER,
|
|
174
|
+
valid_to INTEGER,
|
|
175
|
+
expires_at INTEGER,
|
|
176
|
+
review_at INTEGER,
|
|
177
|
+
origin_class TEXT NOT NULL CHECK(origin_class IN ('owner', 'agent', 'system', 'untrusted')),
|
|
178
|
+
source_agent_id TEXT,
|
|
179
|
+
source_session_id TEXT,
|
|
180
|
+
source_turn_id TEXT,
|
|
181
|
+
derived_from_recalled_context INTEGER NOT NULL DEFAULT 0 CHECK(derived_from_recalled_context IN (0, 1)),
|
|
182
|
+
source_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(source_json)),
|
|
183
|
+
created_at INTEGER NOT NULL,
|
|
184
|
+
updated_at INTEGER NOT NULL,
|
|
185
|
+
CHECK(valid_to IS NULL OR valid_from IS NULL OR valid_to >= valid_from)
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
CREATE INDEX idx_knowledge_items_status
|
|
189
|
+
ON knowledge_items(principal_id, status, updated_at DESC);
|
|
190
|
+
CREATE INDEX idx_knowledge_items_scope
|
|
191
|
+
ON knowledge_items(principal_id, scope_type, scope_id, status);
|
|
192
|
+
CREATE INDEX idx_knowledge_items_lifecycle
|
|
193
|
+
ON knowledge_items(status, expires_at, review_at);
|
|
194
|
+
CREATE UNIQUE INDEX idx_knowledge_items_canonical
|
|
195
|
+
ON knowledge_items(principal_id, canonical_key, scope_type, COALESCE(scope_id, ''))
|
|
196
|
+
WHERE status IN ('candidate', 'active', 'needs_review', 'stale');
|
|
197
|
+
|
|
198
|
+
CREATE VIRTUAL TABLE knowledge_items_fts USING fts5(
|
|
199
|
+
content,
|
|
200
|
+
knowledge_id UNINDEXED,
|
|
201
|
+
tokenize='unicode61'
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
CREATE TABLE memory_maintenance_runs (
|
|
205
|
+
run_id TEXT PRIMARY KEY,
|
|
206
|
+
principal_id TEXT NOT NULL,
|
|
207
|
+
job_type TEXT NOT NULL CHECK(job_type IN ('temporal_sweep', 'daily_reconciliation', 'weekly_knowledge', 'manual_repair')),
|
|
208
|
+
idempotency_key TEXT NOT NULL UNIQUE,
|
|
209
|
+
algorithm_version TEXT NOT NULL,
|
|
210
|
+
config_snapshot_json TEXT NOT NULL CHECK(json_valid(config_snapshot_json)),
|
|
211
|
+
status TEXT NOT NULL CHECK(status IN ('running', 'completed', 'failed')),
|
|
212
|
+
cursor_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(cursor_json)),
|
|
213
|
+
metrics_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(metrics_json)),
|
|
214
|
+
error_message TEXT,
|
|
215
|
+
started_at INTEGER NOT NULL,
|
|
216
|
+
finished_at INTEGER
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
CREATE INDEX idx_memory_maintenance_runs_principal
|
|
220
|
+
ON memory_maintenance_runs(principal_id, started_at DESC);
|
|
221
|
+
|
|
222
|
+
CREATE TABLE memory_maintenance_decisions (
|
|
223
|
+
decision_id TEXT PRIMARY KEY,
|
|
224
|
+
run_id TEXT NOT NULL REFERENCES memory_maintenance_runs(run_id) ON DELETE CASCADE,
|
|
225
|
+
object_type TEXT NOT NULL CHECK(object_type IN ('assertion', 'goal', 'priority', 'knowledge', 'evidence', 'index')),
|
|
226
|
+
object_id TEXT NOT NULL,
|
|
227
|
+
action TEXT NOT NULL,
|
|
228
|
+
reason TEXT NOT NULL,
|
|
229
|
+
before_json TEXT,
|
|
230
|
+
after_json TEXT,
|
|
231
|
+
created_at INTEGER NOT NULL
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
CREATE INDEX idx_memory_maintenance_decisions_run
|
|
235
|
+
ON memory_maintenance_decisions(run_id, created_at);
|
|
236
|
+
|
|
237
|
+
CREATE TABLE execution_context_runs (
|
|
238
|
+
run_id TEXT PRIMARY KEY,
|
|
239
|
+
principal_id TEXT NOT NULL,
|
|
240
|
+
turn_id TEXT NOT NULL UNIQUE,
|
|
241
|
+
session_id TEXT NOT NULL,
|
|
242
|
+
query_hash TEXT NOT NULL,
|
|
243
|
+
as_of INTEGER NOT NULL,
|
|
244
|
+
budget_json TEXT NOT NULL CHECK(json_valid(budget_json)),
|
|
245
|
+
metrics_json TEXT NOT NULL CHECK(json_valid(metrics_json)),
|
|
246
|
+
created_at INTEGER NOT NULL
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
CREATE TABLE execution_context_items (
|
|
250
|
+
run_id TEXT NOT NULL REFERENCES execution_context_runs(run_id) ON DELETE CASCADE,
|
|
251
|
+
object_type TEXT NOT NULL CHECK(object_type IN ('rule', 'assertion', 'goal', 'priority', 'knowledge')),
|
|
252
|
+
object_id TEXT NOT NULL,
|
|
253
|
+
score REAL,
|
|
254
|
+
reasons_json TEXT NOT NULL DEFAULT '[]' CHECK(json_valid(reasons_json)),
|
|
255
|
+
included INTEGER NOT NULL CHECK(included IN (0, 1)),
|
|
256
|
+
created_at INTEGER NOT NULL,
|
|
257
|
+
PRIMARY KEY(run_id, object_type, object_id)
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
CREATE TABLE execution_context_feedback (
|
|
261
|
+
turn_id TEXT PRIMARY KEY REFERENCES execution_context_runs(turn_id) ON DELETE CASCADE,
|
|
262
|
+
rating TEXT NOT NULL CHECK(rating IN ('helpful', 'irrelevant')),
|
|
263
|
+
reason TEXT,
|
|
264
|
+
created_at INTEGER NOT NULL,
|
|
265
|
+
updated_at INTEGER NOT NULL
|
|
266
|
+
);
|
|
267
|
+
|
|
268
|
+
-- One-way data cutover. Runtime code after this migration reads only the new domains.
|
|
269
|
+
CREATE TEMP TABLE migrated_profile_facts (
|
|
270
|
+
assertion_id TEXT PRIMARY KEY,
|
|
271
|
+
principal_id TEXT NOT NULL,
|
|
272
|
+
predicate TEXT NOT NULL,
|
|
273
|
+
kind TEXT NOT NULL,
|
|
274
|
+
statement TEXT NOT NULL,
|
|
275
|
+
observed_at INTEGER NOT NULL,
|
|
276
|
+
created_at INTEGER NOT NULL
|
|
277
|
+
);
|
|
278
|
+
|
|
279
|
+
INSERT INTO migrated_profile_facts
|
|
280
|
+
SELECT 'profile-call-name-' || principal_id, principal_id, 'identity.call_name', 'identity', call_name, updated_at, created_at
|
|
281
|
+
FROM user_profiles WHERE trim(call_name) <> ''
|
|
282
|
+
UNION ALL
|
|
283
|
+
SELECT 'profile-pronouns-' || principal_id, principal_id, 'identity.pronouns', 'identity', pronouns, updated_at, created_at
|
|
284
|
+
FROM user_profiles WHERE trim(pronouns) <> ''
|
|
285
|
+
UNION ALL
|
|
286
|
+
SELECT 'profile-timezone-' || principal_id, principal_id, 'preference.timezone', 'preference', timezone, updated_at, created_at
|
|
287
|
+
FROM user_profiles WHERE trim(timezone) <> ''
|
|
288
|
+
UNION ALL
|
|
289
|
+
SELECT 'profile-locale-' || principal_id, principal_id, 'preference.locale', 'preference', locale, updated_at, created_at
|
|
290
|
+
FROM user_profiles WHERE trim(locale) <> ''
|
|
291
|
+
UNION ALL
|
|
292
|
+
SELECT 'profile-role-' || principal_id, principal_id, 'identity.role', 'identity', role, updated_at, created_at
|
|
293
|
+
FROM user_profiles WHERE trim(role) <> '';
|
|
294
|
+
|
|
295
|
+
INSERT INTO user_assertion_slots (
|
|
296
|
+
slot_id, principal_id, subject_type, subject_id, predicate, cardinality,
|
|
297
|
+
scope_type, scope_id, created_at
|
|
298
|
+
)
|
|
299
|
+
SELECT 'slot-' || assertion_id, principal_id, 'user', 'self', predicate, 'single',
|
|
300
|
+
'global', NULL, created_at
|
|
301
|
+
FROM migrated_profile_facts;
|
|
302
|
+
|
|
303
|
+
INSERT INTO user_assertions (
|
|
304
|
+
assertion_id, slot_id, kind, value_json, normalized_value, statement,
|
|
305
|
+
authority, status, confidence, declared_importance, inferred_importance,
|
|
306
|
+
consequence, actionability, volatility, sensitivity, disclosure_policy,
|
|
307
|
+
applicability_json, observed_at, recorded_at, created_by, created_at
|
|
308
|
+
)
|
|
309
|
+
SELECT assertion_id, 'slot-' || assertion_id, kind, json_quote(statement),
|
|
310
|
+
lower(trim(statement)), statement, 'user_explicit', 'active', 1.0, 0.8, 0.8,
|
|
311
|
+
'medium', 0.8, 'stable', 'personal', 'referenceable', '{}', observed_at,
|
|
312
|
+
observed_at, 'migration', created_at
|
|
313
|
+
FROM migrated_profile_facts;
|
|
314
|
+
|
|
315
|
+
INSERT INTO user_assertion_slots (
|
|
316
|
+
slot_id, principal_id, subject_type, subject_id, predicate, cardinality,
|
|
317
|
+
scope_type, scope_id, created_at
|
|
318
|
+
)
|
|
319
|
+
SELECT
|
|
320
|
+
'migrated-slot-' || u.understanding_id, u.principal_id,
|
|
321
|
+
CASE WHEN u.kind = 'relationship' THEN 'person' ELSE 'user' END,
|
|
322
|
+
CASE WHEN u.kind = 'relationship' THEN u.understanding_id ELSE 'self' END,
|
|
323
|
+
'imported.' || u.kind || '.' || u.understanding_id,
|
|
324
|
+
'single', u.scope_type, u.scope_id, u.created_at
|
|
325
|
+
FROM user_understandings u
|
|
326
|
+
WHERE u.kind NOT IN ('boundary', 'long_term_goal', 'project_context', 'task_lesson');
|
|
327
|
+
|
|
328
|
+
INSERT INTO user_assertions (
|
|
329
|
+
assertion_id, slot_id, kind, value_json, normalized_value, statement,
|
|
330
|
+
authority, status, confidence, declared_importance, inferred_importance,
|
|
331
|
+
consequence, actionability, volatility, sensitivity, disclosure_policy,
|
|
332
|
+
applicability_json, valid_from, valid_to, observed_at, recorded_at, review_at,
|
|
333
|
+
supersedes_assertion_id, created_by, created_at
|
|
334
|
+
)
|
|
335
|
+
SELECT
|
|
336
|
+
u.understanding_id, 'migrated-slot-' || u.understanding_id,
|
|
337
|
+
CASE u.kind
|
|
338
|
+
WHEN 'preference' THEN 'preference'
|
|
339
|
+
WHEN 'relationship' THEN 'relationship'
|
|
340
|
+
WHEN 'routine' THEN 'routine'
|
|
341
|
+
WHEN 'current_state' THEN 'current_state'
|
|
342
|
+
ELSE 'derived_insight'
|
|
343
|
+
END,
|
|
344
|
+
json_quote(v.statement), lower(trim(v.statement)), v.statement,
|
|
345
|
+
CASE u.explicitness WHEN 'explicit' THEN 'user_explicit'
|
|
346
|
+
WHEN 'observed' THEN 'user_observed' ELSE 'system_inferred' END,
|
|
347
|
+
u.status, u.confidence, NULL,
|
|
348
|
+
CASE WHEN u.explicitness = 'explicit' THEN 0.7 ELSE 0.5 END,
|
|
349
|
+
'medium', 0.5,
|
|
350
|
+
CASE u.kind WHEN 'current_state' THEN 'event' WHEN 'routine' THEN 'slow' ELSE 'stable' END,
|
|
351
|
+
u.sensitivity, u.disclosure_policy, v.payload_json,
|
|
352
|
+
u.valid_from, COALESCE(u.valid_to, u.expires_at), u.updated_at, u.updated_at,
|
|
353
|
+
u.review_at,
|
|
354
|
+
CASE WHEN EXISTS (
|
|
355
|
+
SELECT 1 FROM user_understandings prior
|
|
356
|
+
WHERE prior.understanding_id = u.supersedes_id
|
|
357
|
+
AND prior.kind NOT IN ('boundary', 'long_term_goal', 'project_context', 'task_lesson')
|
|
358
|
+
) THEN u.supersedes_id ELSE NULL END,
|
|
359
|
+
CASE v.created_by WHEN 'user' THEN 'user' WHEN 'connector' THEN 'connector'
|
|
360
|
+
WHEN 'consolidation' THEN 'maintenance' ELSE 'runtime' END,
|
|
361
|
+
u.created_at
|
|
362
|
+
FROM user_understandings u
|
|
363
|
+
JOIN user_understanding_versions v ON v.version_id = u.current_version_id
|
|
364
|
+
WHERE u.kind NOT IN ('boundary', 'long_term_goal', 'project_context', 'task_lesson');
|
|
365
|
+
|
|
366
|
+
INSERT INTO user_assertions_fts(statement, assertion_id, slot_id)
|
|
367
|
+
SELECT statement, assertion_id, slot_id FROM user_assertions;
|
|
368
|
+
|
|
369
|
+
INSERT OR IGNORE INTO user_assertion_evidence (
|
|
370
|
+
assertion_id, evidence_id, relation, confidence, created_at
|
|
371
|
+
)
|
|
372
|
+
SELECT v.understanding_id, l.evidence_id, l.relation, l.confidence, e.created_at
|
|
373
|
+
FROM understanding_evidence_links l
|
|
374
|
+
JOIN user_understanding_versions v ON v.version_id = l.version_id
|
|
375
|
+
JOIN context_evidence e ON e.evidence_id = l.evidence_id
|
|
376
|
+
WHERE EXISTS (SELECT 1 FROM user_assertions a WHERE a.assertion_id = v.understanding_id);
|
|
377
|
+
|
|
378
|
+
INSERT INTO user_assertion_status_events (
|
|
379
|
+
event_id, assertion_id, from_status, to_status, actor_type, reason, created_at
|
|
380
|
+
)
|
|
381
|
+
SELECT lower(hex(randomblob(16))), assertion_id, NULL, status, 'migration',
|
|
382
|
+
'Imported during user-model cutover.', created_at
|
|
383
|
+
FROM user_assertions;
|
|
384
|
+
|
|
385
|
+
INSERT INTO collaboration_rules (
|
|
386
|
+
rule_id, principal_id, category, status, priority, scope_type, scope_id,
|
|
387
|
+
conditions_json, current_revision_id, created_at, updated_at
|
|
388
|
+
)
|
|
389
|
+
SELECT
|
|
390
|
+
'migrated-boundary-' || u.understanding_id, u.principal_id, 'boundary',
|
|
391
|
+
CASE WHEN u.status = 'active' AND u.explicitness = 'explicit' THEN 'active' ELSE 'disabled' END,
|
|
392
|
+
50, u.scope_type, u.scope_id, json_object('enforcementLevel', 'planner'),
|
|
393
|
+
'migrated-boundary-revision-' || u.understanding_id, u.created_at, u.updated_at
|
|
394
|
+
FROM user_understandings u WHERE u.kind = 'boundary';
|
|
395
|
+
|
|
396
|
+
INSERT INTO collaboration_rule_revisions (
|
|
397
|
+
revision_id, rule_id, statement, created_by, created_at
|
|
398
|
+
)
|
|
399
|
+
SELECT 'migrated-boundary-revision-' || u.understanding_id,
|
|
400
|
+
'migrated-boundary-' || u.understanding_id, v.statement, 'user', v.created_at
|
|
401
|
+
FROM user_understandings u
|
|
402
|
+
JOIN user_understanding_versions v ON v.version_id = u.current_version_id
|
|
403
|
+
WHERE u.kind = 'boundary';
|
|
404
|
+
|
|
405
|
+
INSERT INTO user_goals (
|
|
406
|
+
goal_id, principal_id, status, scope_type, scope_id, declared_importance,
|
|
407
|
+
confidence, authority, target_at, valid_from, valid_to, review_at,
|
|
408
|
+
current_revision_id, created_at, updated_at
|
|
409
|
+
)
|
|
410
|
+
SELECT
|
|
411
|
+
'understanding-goal-' || u.understanding_id, u.principal_id,
|
|
412
|
+
CASE u.status WHEN 'active' THEN 'active' WHEN 'archived' THEN 'abandoned'
|
|
413
|
+
WHEN 'rejected' THEN 'abandoned' ELSE 'proposed' END,
|
|
414
|
+
u.scope_type, u.scope_id, CASE WHEN u.explicitness = 'explicit' THEN 0.7 ELSE NULL END,
|
|
415
|
+
u.confidence,
|
|
416
|
+
CASE u.explicitness WHEN 'explicit' THEN 'user_explicit'
|
|
417
|
+
WHEN 'observed' THEN 'user_observed' ELSE 'system_inferred' END,
|
|
418
|
+
u.valid_to, u.valid_from, u.valid_to, u.review_at,
|
|
419
|
+
'understanding-goal-revision-' || u.understanding_id, u.created_at, u.updated_at
|
|
420
|
+
FROM user_understandings u WHERE u.kind = 'long_term_goal';
|
|
421
|
+
|
|
422
|
+
INSERT INTO user_goal_revisions (
|
|
423
|
+
revision_id, goal_id, title, desired_outcome, evidence_id, created_by, change_reason, created_at
|
|
424
|
+
)
|
|
425
|
+
SELECT 'understanding-goal-revision-' || u.understanding_id,
|
|
426
|
+
'understanding-goal-' || u.understanding_id, v.statement, v.statement,
|
|
427
|
+
(SELECT l.evidence_id FROM understanding_evidence_links l
|
|
428
|
+
WHERE l.version_id = v.version_id AND l.relation = 'supports' LIMIT 1),
|
|
429
|
+
CASE WHEN u.explicitness = 'explicit' THEN 'user' ELSE 'migration' END,
|
|
430
|
+
'Imported during user-model cutover.', v.created_at
|
|
431
|
+
FROM user_understandings u
|
|
432
|
+
JOIN user_understanding_versions v ON v.version_id = u.current_version_id
|
|
433
|
+
WHERE u.kind = 'long_term_goal';
|
|
434
|
+
|
|
435
|
+
INSERT INTO user_goals (
|
|
436
|
+
goal_id, principal_id, status, scope_type, scope_id, declared_importance,
|
|
437
|
+
confidence, authority, valid_from, valid_to, review_at, current_revision_id,
|
|
438
|
+
created_at, updated_at
|
|
439
|
+
)
|
|
440
|
+
SELECT
|
|
441
|
+
'focus-goal-' || f.focus_id, f.principal_id,
|
|
442
|
+
CASE f.status WHEN 'active' THEN 'active' WHEN 'paused' THEN 'paused'
|
|
443
|
+
WHEN 'completed' THEN 'achieved' WHEN 'rejected' THEN 'abandoned' ELSE 'proposed' END,
|
|
444
|
+
f.scope_type, f.scope_id, CASE WHEN f.explicitness = 'explicit' THEN 0.8 ELSE NULL END,
|
|
445
|
+
f.confidence,
|
|
446
|
+
CASE f.explicitness WHEN 'explicit' THEN 'user_explicit'
|
|
447
|
+
WHEN 'observed' THEN 'user_observed' ELSE 'system_inferred' END,
|
|
448
|
+
f.valid_from, f.valid_to, f.review_at, 'focus-goal-revision-' || f.focus_id,
|
|
449
|
+
f.created_at, f.updated_at
|
|
450
|
+
FROM user_focuses f;
|
|
451
|
+
|
|
452
|
+
INSERT INTO user_goal_revisions (
|
|
453
|
+
revision_id, goal_id, title, desired_outcome, evidence_id, created_by, change_reason, created_at
|
|
454
|
+
)
|
|
455
|
+
SELECT 'focus-goal-revision-' || f.focus_id, 'focus-goal-' || f.focus_id,
|
|
456
|
+
f.title, f.summary,
|
|
457
|
+
(SELECT l.evidence_id FROM user_focus_evidence_links l
|
|
458
|
+
WHERE l.version_id = f.current_version_id AND l.relation = 'supports' LIMIT 1),
|
|
459
|
+
CASE WHEN f.explicitness = 'explicit' THEN 'user' ELSE 'migration' END,
|
|
460
|
+
'Imported during user-model cutover.', f.created_at
|
|
461
|
+
FROM user_focuses f;
|
|
462
|
+
|
|
463
|
+
INSERT INTO user_priority_windows (
|
|
464
|
+
priority_id, principal_id, target_type, target_id, rank, declared_importance,
|
|
465
|
+
urgency, scope_type, scope_id, valid_from, valid_to, review_at, status,
|
|
466
|
+
created_at, updated_at
|
|
467
|
+
)
|
|
468
|
+
SELECT
|
|
469
|
+
'focus-priority-' || f.focus_id, f.principal_id, 'goal', 'focus-goal-' || f.focus_id,
|
|
470
|
+
CASE f.horizon WHEN 'current' THEN 'primary' WHEN 'ongoing' THEN 'secondary' ELSE 'background' END,
|
|
471
|
+
CASE WHEN f.explicitness = 'explicit' THEN 0.8 ELSE NULL END,
|
|
472
|
+
CASE f.horizon WHEN 'current' THEN 0.9 WHEN 'ongoing' THEN 0.5 ELSE 0.2 END,
|
|
473
|
+
f.scope_type, f.scope_id, COALESCE(f.valid_from, f.created_at),
|
|
474
|
+
COALESCE(f.valid_to, f.review_at, f.updated_at + 2592000000),
|
|
475
|
+
COALESCE(f.review_at, f.updated_at + 604800000),
|
|
476
|
+
CASE f.status WHEN 'active' THEN 'active' WHEN 'completed' THEN 'completed' ELSE 'paused' END,
|
|
477
|
+
f.created_at, f.updated_at
|
|
478
|
+
FROM user_focuses f;
|
|
479
|
+
|
|
480
|
+
INSERT OR IGNORE INTO knowledge_items (
|
|
481
|
+
knowledge_id, principal_id, kind, scope_type, scope_id, content, canonical_key,
|
|
482
|
+
status, confidence, importance, valid_from, valid_to, expires_at, review_at,
|
|
483
|
+
origin_class, source_agent_id, source_session_id, source_turn_id,
|
|
484
|
+
derived_from_recalled_context, source_json, created_at, updated_at
|
|
485
|
+
)
|
|
486
|
+
SELECT
|
|
487
|
+
r.record_id, COALESCE(r.user_id, 'local-owner'),
|
|
488
|
+
CASE r.kind WHEN 'workspace_fact' THEN 'workspace_fact'
|
|
489
|
+
WHEN 'project_context' THEN 'project_fact' WHEN 'task_lesson' THEN 'task_lesson'
|
|
490
|
+
WHEN 'decision' THEN 'decision' WHEN 'commitment' THEN 'commitment'
|
|
491
|
+
WHEN 'open_question' THEN 'open_question' WHEN 'episode' THEN 'episode' ELSE 'note' END,
|
|
492
|
+
CASE WHEN r.project_id IS NOT NULL THEN 'project' WHEN r.session_key IS NOT NULL THEN 'session'
|
|
493
|
+
WHEN r.workspace_id IS NOT NULL THEN 'workspace' WHEN r.source_agent_id IS NOT NULL THEN 'agent'
|
|
494
|
+
ELSE 'global' END,
|
|
495
|
+
COALESCE(r.project_id, r.session_key, r.workspace_id, r.source_agent_id),
|
|
496
|
+
r.content, COALESCE(r.canonical_key, 'record:' || r.record_id),
|
|
497
|
+
CASE WHEN r.status IN ('candidate', 'active', 'stale', 'archived', 'rejected') THEN r.status
|
|
498
|
+
ELSE 'needs_review' END,
|
|
499
|
+
COALESCE(r.confidence, 0.5), COALESCE(r.importance, 0.5), r.valid_from, r.valid_to,
|
|
500
|
+
r.expires_at, r.review_after,
|
|
501
|
+
CASE WHEN r.origin_class IN ('owner', 'agent', 'system', 'untrusted') THEN r.origin_class
|
|
502
|
+
WHEN r.explicitness = 'explicit' THEN 'owner' ELSE 'agent' END,
|
|
503
|
+
r.source_agent_id, COALESCE(r.source_session_id, r.session_key), r.source_turn_id,
|
|
504
|
+
r.derived_from_recalled_context, r.source_json, r.created_at, r.updated_at
|
|
505
|
+
FROM memory_records r;
|
|
506
|
+
|
|
507
|
+
INSERT OR IGNORE INTO knowledge_items (
|
|
508
|
+
knowledge_id, principal_id, kind, scope_type, scope_id, content, canonical_key,
|
|
509
|
+
status, confidence, importance, valid_from, valid_to, expires_at, review_at,
|
|
510
|
+
origin_class, source_json, created_at, updated_at
|
|
511
|
+
)
|
|
512
|
+
SELECT
|
|
513
|
+
'understanding-knowledge-' || u.understanding_id, u.principal_id,
|
|
514
|
+
CASE u.kind WHEN 'project_context' THEN 'project_fact' ELSE 'task_lesson' END,
|
|
515
|
+
u.scope_type, u.scope_id, v.statement, u.canonical_key,
|
|
516
|
+
u.status, u.confidence, CASE WHEN u.explicitness = 'explicit' THEN 0.7 ELSE 0.5 END,
|
|
517
|
+
u.valid_from, u.valid_to, u.expires_at, u.review_at,
|
|
518
|
+
CASE WHEN u.explicitness = 'explicit' THEN 'owner' ELSE 'agent' END,
|
|
519
|
+
v.payload_json, u.created_at, u.updated_at
|
|
520
|
+
FROM user_understandings u
|
|
521
|
+
JOIN user_understanding_versions v ON v.version_id = u.current_version_id
|
|
522
|
+
WHERE u.kind IN ('project_context', 'task_lesson');
|
|
523
|
+
|
|
524
|
+
INSERT INTO knowledge_items_fts(content, knowledge_id)
|
|
525
|
+
SELECT content, knowledge_id FROM knowledge_items;
|
|
526
|
+
|
|
527
|
+
DROP TABLE migrated_profile_facts;
|
|
528
|
+
DROP TABLE IF EXISTS understanding_focus_exclusions;
|
|
529
|
+
DROP TABLE IF EXISTS user_focus_evidence_links;
|
|
530
|
+
DROP TABLE IF EXISTS user_focus_versions;
|
|
531
|
+
DROP TABLE IF EXISTS understanding_evidence_links;
|
|
532
|
+
DROP TABLE IF EXISTS understanding_status_events;
|
|
533
|
+
DROP TABLE IF EXISTS context_temporal_assertions;
|
|
534
|
+
DROP TABLE IF EXISTS context_object_relations;
|
|
535
|
+
DROP TABLE IF EXISTS context_consolidation_decisions;
|
|
536
|
+
DROP TABLE IF EXISTS context_consolidation_runs;
|
|
537
|
+
DROP TABLE IF EXISTS user_understanding_fts;
|
|
538
|
+
DROP TABLE IF EXISTS user_understanding_versions;
|
|
539
|
+
DROP TABLE IF EXISTS user_understandings;
|
|
540
|
+
DROP TABLE IF EXISTS user_focuses;
|
|
541
|
+
DROP TABLE IF EXISTS user_profiles;
|
|
542
|
+
DROP TABLE IF EXISTS context_feedback;
|
|
543
|
+
DROP TABLE IF EXISTS context_run_items;
|
|
544
|
+
DROP TABLE IF EXISTS context_runs;
|
|
545
|
+
DROP TABLE IF EXISTS context_consents;
|
|
546
|
+
DROP TABLE IF EXISTS context_suppressions;
|
|
547
|
+
DROP TABLE IF EXISTS memory_feedback;
|
|
548
|
+
DROP TABLE IF EXISTS memory_trace_events;
|
|
549
|
+
DROP TABLE IF EXISTS memory_reference_consents;
|
|
550
|
+
DROP TABLE IF EXISTS memory_signals;
|
|
551
|
+
DROP TABLE IF EXISTS memory_evidence;
|
|
552
|
+
DROP TABLE IF EXISTS memory_records_fts;
|
|
553
|
+
DROP TABLE IF EXISTS memory_records;
|
|
554
|
+
DROP TABLE IF EXISTS memory_provider_state;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
ALTER TABLE knowledge_items
|
|
2
|
+
ADD COLUMN record_class TEXT NOT NULL DEFAULT 'memory'
|
|
3
|
+
CHECK(record_class IN ('memory', 'source_index'));
|
|
4
|
+
|
|
5
|
+
UPDATE knowledge_items
|
|
6
|
+
SET record_class = 'source_index'
|
|
7
|
+
WHERE canonical_key LIKE 'source-item:%';
|
|
8
|
+
|
|
9
|
+
DELETE FROM knowledge_items_fts
|
|
10
|
+
WHERE knowledge_id IN (
|
|
11
|
+
SELECT knowledge_id FROM knowledge_items WHERE canonical_key LIKE 'source-day:%'
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
DELETE FROM knowledge_items
|
|
15
|
+
WHERE canonical_key LIKE 'source-day:%';
|
|
16
|
+
|
|
17
|
+
CREATE INDEX idx_knowledge_items_class_status
|
|
18
|
+
ON knowledge_items(principal_id, record_class, status, updated_at DESC);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
CREATE TABLE session_inputs_v150 (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
session_key TEXT NOT NULL,
|
|
4
|
+
client_message_id TEXT NOT NULL,
|
|
5
|
+
requested_delivery TEXT NOT NULL CHECK (requested_delivery IN ('next', 'steer')),
|
|
6
|
+
effective_delivery TEXT NOT NULL CHECK (effective_delivery IN ('next', 'steer')),
|
|
7
|
+
status TEXT NOT NULL CHECK (status IN (
|
|
8
|
+
'queued', 'running', 'injecting',
|
|
9
|
+
'completed', 'cancelled', 'failed', 'interrupted', 'suspended'
|
|
10
|
+
)),
|
|
11
|
+
content TEXT NOT NULL,
|
|
12
|
+
attachments_json TEXT,
|
|
13
|
+
thinking TEXT,
|
|
14
|
+
origin_json TEXT NOT NULL,
|
|
15
|
+
position INTEGER NOT NULL,
|
|
16
|
+
target_run_id TEXT,
|
|
17
|
+
run_id TEXT,
|
|
18
|
+
version INTEGER NOT NULL DEFAULT 1,
|
|
19
|
+
error TEXT,
|
|
20
|
+
created_at_ms INTEGER NOT NULL,
|
|
21
|
+
updated_at_ms INTEGER NOT NULL,
|
|
22
|
+
expected_session_id TEXT,
|
|
23
|
+
context_refs_json TEXT,
|
|
24
|
+
context_snapshots_json TEXT,
|
|
25
|
+
kind TEXT NOT NULL DEFAULT 'message' CHECK (kind IN ('message', 'connection_resume')),
|
|
26
|
+
payload_json TEXT,
|
|
27
|
+
task_run_id TEXT,
|
|
28
|
+
UNIQUE(session_key, client_message_id)
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
INSERT INTO session_inputs_v150 (id,session_key,client_message_id,requested_delivery,effective_delivery,status,content,attachments_json,thinking,origin_json,position,target_run_id,run_id,version,error,created_at_ms,updated_at_ms,expected_session_id,context_refs_json,context_snapshots_json) SELECT id,session_key,client_message_id,requested_delivery,effective_delivery,status,content,attachments_json,thinking,origin_json,position,target_run_id,run_id,version,error,created_at_ms,updated_at_ms,expected_session_id,context_refs_json,context_snapshots_json FROM session_inputs;
|
|
32
|
+
DROP TABLE session_inputs;
|
|
33
|
+
ALTER TABLE session_inputs_v150 RENAME TO session_inputs;
|
|
34
|
+
CREATE INDEX idx_session_inputs_pending ON session_inputs(session_key,status,position,created_at_ms);
|
|
35
|
+
|
|
36
|
+
CREATE TABLE session_connection_waits (
|
|
37
|
+
id TEXT PRIMARY KEY,
|
|
38
|
+
principal_id TEXT NOT NULL,
|
|
39
|
+
session_key TEXT NOT NULL,
|
|
40
|
+
session_id TEXT NOT NULL,
|
|
41
|
+
status TEXT NOT NULL CHECK (status IN ('open','queued','closed')),
|
|
42
|
+
version INTEGER NOT NULL,
|
|
43
|
+
data_json TEXT NOT NULL
|
|
44
|
+
);
|
|
45
|
+
CREATE UNIQUE INDEX idx_connection_wait_active ON session_connection_waits(principal_id,session_id)
|
|
46
|
+
WHERE status IN ('open','queued');
|
|
47
|
+
CREATE INDEX idx_connection_wait_session ON session_connection_waits(session_key);
|
|
@@ -3,7 +3,7 @@ import type { ApplyMigrationsOptions } from './types.js';
|
|
|
3
3
|
/** Baseline schema version applied from schema.sql on first open. */
|
|
4
4
|
export declare const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
5
5
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
6
|
-
export declare const XOPC_DB_SCHEMA_VERSION =
|
|
6
|
+
export declare const XOPC_DB_SCHEMA_VERSION = 150;
|
|
7
7
|
export declare function resolveMigrationsDir(override?: string): string;
|
|
8
8
|
/**
|
|
9
9
|
* Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
|
|
@@ -12,7 +12,7 @@ const log = createLogger("Sqlite:Migrations");
|
|
|
12
12
|
/** Baseline schema version applied from schema.sql on first open. */
|
|
13
13
|
const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
14
14
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
15
|
-
const XOPC_DB_SCHEMA_VERSION =
|
|
15
|
+
const XOPC_DB_SCHEMA_VERSION = 150;
|
|
16
16
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
17
17
|
function backupBeforeTaskCutover(db, databasePath) {
|
|
18
18
|
db.exec("PRAGMA wal_checkpoint(FULL)");
|
|
@@ -57,7 +57,7 @@ function applySingleMigration(db, migration) {
|
|
|
57
57
|
* Each step runs in its own transaction and updates schema_meta on success.
|
|
58
58
|
*/
|
|
59
59
|
function applyPendingMigrations(db, options = {}) {
|
|
60
|
-
const targetVersion = options.targetVersion ??
|
|
60
|
+
const targetVersion = options.targetVersion ?? 150;
|
|
61
61
|
let currentVersion = readSchemaVersion(db);
|
|
62
62
|
if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
|
|
63
63
|
if (currentVersion >= targetVersion) return currentVersion;
|
|
@@ -94,7 +94,7 @@ function applyPendingMigrations(db, options = {}) {
|
|
|
94
94
|
}
|
|
95
95
|
/** Inspect schema version without mutating the database. */
|
|
96
96
|
function inspectSchemaMigrationStatus(db, options = {}) {
|
|
97
|
-
const appVersion = options.targetVersion ??
|
|
97
|
+
const appVersion = options.targetVersion ?? 150;
|
|
98
98
|
const dbVersion = readSchemaVersion(db);
|
|
99
99
|
if (dbVersion > appVersion) return {
|
|
100
100
|
dbVersion,
|
|
@@ -19,7 +19,7 @@ const log = createLogger('Sqlite:Migrations');
|
|
|
19
19
|
export const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;
|
|
20
20
|
|
|
21
21
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
22
|
-
export const XOPC_DB_SCHEMA_VERSION =
|
|
22
|
+
export const XOPC_DB_SCHEMA_VERSION = 150;
|
|
23
23
|
|
|
24
24
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
25
25
|
|