@xopcai/xopc 0.0.145 → 0.0.147
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 +2 -2
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/demo-memory/src/index.js +6 -4
- package/dist/extensions/demo-memory/src/index.js.map +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/Combination-14nmIgxH.js +41 -0
- package/dist/gateway/static/root/assets/activity-store-DXeSSlw1.js +1 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BEUxdhZx.js → agent-avatar-dicebear-CFdJKSjY.js} +1 -1
- package/dist/gateway/static/root/assets/agents-DKjbRpbA.js +2 -0
- package/dist/gateway/static/root/assets/api-Bs69B5zA.js +1 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-CRHSZJWi.js → app-management-settings-panel-ag1ViXT_.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BunADYJb.js → appearance-settings-C6iMpwOM.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-CpX3lBFF.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-B6vTkH2A.js → archive-plugin-Dwi3mIBy.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-BjZXzaNv.js → attachment-load-BaCDoq40.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-ZDA-Stg1.js → automation-suggestion-card-CwqtFgnw.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-DlupOxFQ.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DYZfLvPz.js → binary-plugins-DoAYhsxa.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-C3MUlYC9.js → block-editor-Bw72pO7S.js} +31 -31
- package/dist/gateway/static/root/assets/browser-settings-page-BwLoUBcZ.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-vdbAR65Q.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-BAsKbJgm.js +2 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-fTlTnWB4.js → channel-recipient-api-rTG26jpV.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-CxFWy0cE.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-OKlqTtKJ.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-BVFNT2zW.js → connector-logo-DIMP4NWY.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-BjQQwX62.js +2 -0
- package/dist/gateway/static/root/assets/{desktop-pet-_jUmoXd3.js → desktop-pet-kQq2e0BN.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-DwGOy4AQ.js → desktop-pet-settings-B6vtozMY.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-akvF0F-u.js → directory-picker-path-field-Dn5-e3v4.js} +1 -1
- package/dist/gateway/static/root/assets/dist-C230izr8.js +1 -0
- package/dist/gateway/static/root/assets/dist-CxGUk8J-.js +1 -0
- package/dist/gateway/static/root/assets/dreaming-settings-BzwIujPG.js +3 -0
- package/dist/gateway/static/root/assets/extension-debug-page-D_e_hsEy.js +1 -0
- package/dist/gateway/static/root/assets/{extension-page-CwWktRNz.js → extension-page-D15CWHBd.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-CuggWOIl.js → extension-settings-page-D4P0n1om.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-B7sxIbza.js → gateway-config-api-B4qZctjG.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-DIv0eKMf.js → gateway-settings-BvndV7TP.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DtoLihQE.js → gateway-startup-retry-BpgMunEb.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-create-dialog-C4Kw0mfS.js → goal-create-dialog-DrVHKXHq.js} +1 -1
- package/dist/gateway/static/root/assets/goal-detail-page-PHlCwv68.js +4 -0
- package/dist/gateway/static/root/assets/{goals-config-api-B0jm5JaA.js → goals-config-api-B6YJB_ct.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-Hg9uyO6e.js +2 -0
- package/dist/gateway/static/root/assets/{goals-settings-N5_iL7es.js → goals-settings-BROWCIcL.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-XzH3lbRR.js → heartbeat-settings-CoCwIOIg.js} +1 -1
- package/dist/gateway/static/root/assets/index-CxkNzw3e.js +259 -0
- package/dist/gateway/static/root/assets/index-DjCSOyaN.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-Bm_AIYQ7.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-BJWFcxwG.js +2 -0
- package/dist/gateway/static/root/assets/local-apps-page-BsiZMrEf.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-CiM-D9jA.js → locale-store-Bp8joZck.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-DOmK61ey.js +7 -0
- package/dist/gateway/static/root/assets/{markdown-split-5rJx5flj.js → markdown-split-Dy7QpaAz.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-DYXccwAd.js → media-plugins-3Lxliy9D.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CQGpD-dC.js +5 -0
- package/dist/gateway/static/root/assets/models-hub-panel-DGCZom4o.js +2 -0
- package/dist/gateway/static/root/assets/{notes-page-BgLyndCO.js → notes-page-BJtT4vSf.js} +1 -1
- package/dist/gateway/static/root/assets/notes-workbench-B_bN7cOR.js +4 -0
- package/dist/gateway/static/root/assets/{page-tabs-6Al9_sGz.js → page-tabs-DKB6RDre.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Cm3G72Hv.js → preview-open-alternatives-Br_YhYHp.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-Dq8JouJj.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-DvfL7fSe.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-DqwMXSXP.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-BYtfzu_F.js → save-bar-controls-BgIE9BBh.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-CvIRc6yK.js → schedule-field-BXDP-oMz.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-CQuKx0n7.js → schema-form-Dhv-SmjG.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-B_mOZkQk.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BHGmH6YS.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-CF3HHM-t.js → settings-collapsible-section-CUTExnlK.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-CwWjoRN6.js → settings-form-section-CmnDhsf0.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-aUFmJa13.js → settings-loading-skeleton-B79dq-XY.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-B2UUU9TF.js → settings-page-Db8uAv3X.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DqpbTWqI.js → settings-page-layout-DaFwstQw.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BUSEj0KK.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-BOhlPsS1.js → share-preview-page-Bi00uXzV.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DzsTYfuX.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-DSsdU081.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DeB1tQZL.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-CWxSvuwD.js → system-settings-panel-Cxaph7hW.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-C9Dxcppm.js → theme-store-eCTN1RpG.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-qROAvqTw.js → typed-models-lib-CcZ_tyFY.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-DE9cpn4G.js → use-channel-catalog-C4PWbNoi.js} +1 -1
- package/dist/gateway/static/root/assets/user-context-page-QTVMx_hG.js +1 -0
- package/dist/gateway/static/root/assets/{user-profile-fields-editor-CWxc0ghP.js → user-profile-fields-editor-CPOO9Jz5.js} +1 -1
- package/dist/gateway/static/root/assets/{user-profile-settings-panel-DW-Up6vt.js → user-profile-settings-panel-C8cgtSF7.js} +1 -1
- package/dist/gateway/static/root/assets/{utils-D53uRXVr.js → utils-CiZK2KwH.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-b-YZtvUu.js +1 -0
- package/dist/gateway/static/root/assets/work-discovery-page-4zVDOl2G.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-CHe2tfkc.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-D_x9ELJp.js → workflow-run-setup-panel-8SLCYeXE.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-DEOFqiWn.js +11 -0
- package/dist/gateway/static/root/index.html +10 -9
- package/dist/package.js +1 -1
- package/dist/src/activity/types.d.ts +1 -1
- package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
- package/dist/src/agent/agent-manager.d.ts +1 -1
- package/dist/src/agent/agent-manager.js +5 -4
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/background-review/coordinator.js +0 -1
- package/dist/src/agent/background-review/coordinator.js.map +1 -1
- package/dist/src/agent/background-review/settings.d.ts +1 -1
- package/dist/src/agent/background-review/settings.js +10 -17
- package/dist/src/agent/background-review/settings.js.map +1 -1
- package/dist/src/agent/bootstrap/filter-bootstrap-files.d.ts +1 -1
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +1 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +2 -3
- package/dist/src/agent/bootstrap/load-bootstrap-files.js.map +1 -1
- package/dist/src/agent/code-intelligence/binary.js +1 -1
- package/dist/src/agent/context/project-context.d.ts +14 -0
- package/dist/src/agent/context/project-context.js +23 -1
- package/dist/src/agent/context/project-context.js.map +1 -1
- package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
- package/dist/src/agent/context/workspace.d.ts +1 -2
- package/dist/src/agent/context/workspace.js +2 -4
- package/dist/src/agent/context/workspace.js.map +1 -1
- package/dist/src/agent/embedded/run-for-session.js +1 -2
- package/dist/src/agent/embedded/run-for-session.js.map +1 -1
- package/dist/src/agent/embedded/run-turn.js +6 -1
- package/dist/src/agent/embedded/run-turn.js.map +1 -1
- package/dist/src/agent/embedded/types.d.ts +17 -0
- package/dist/src/agent/memory/builtin-memory-store.d.ts +2 -2
- package/dist/src/agent/memory/builtin-memory-store.js +2 -2
- package/dist/src/agent/memory/builtin-memory-store.js.map +1 -1
- package/dist/src/agent/memory/builtin-provider.d.ts +1 -3
- package/dist/src/agent/memory/builtin-provider.js +21 -48
- package/dist/src/agent/memory/builtin-provider.js.map +1 -1
- package/dist/src/agent/memory/context/planner.js +48 -9
- package/dist/src/agent/memory/context/planner.js.map +1 -1
- package/dist/src/agent/memory/context/types.d.ts +7 -1
- package/dist/src/agent/memory/context-fence.js +1 -1
- package/dist/src/agent/memory/context-fence.js.map +1 -1
- package/dist/src/agent/memory/create-memory-manager.js +2 -9
- package/dist/src/agent/memory/create-memory-manager.js.map +1 -1
- package/dist/src/agent/memory/dreaming/config.js +5 -10
- package/dist/src/agent/memory/dreaming/config.js.map +1 -1
- package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +2 -2
- package/dist/src/agent/memory/dreaming/promotion-lifecycle.js.map +1 -1
- package/dist/src/agent/memory/dreaming/scope.d.ts +2 -3
- package/dist/src/agent/memory/dreaming/scope.js +8 -8
- package/dist/src/agent/memory/dreaming/scope.js.map +1 -1
- package/dist/src/agent/memory/manager.d.ts +1 -5
- package/dist/src/agent/memory/manager.js +2 -23
- package/dist/src/agent/memory/manager.js.map +1 -1
- package/dist/src/agent/memory/memory-config.d.ts +3 -3
- package/dist/src/agent/memory/memory-config.js +9 -14
- package/dist/src/agent/memory/memory-config.js.map +1 -1
- package/dist/src/agent/memory/types.d.ts +9 -5
- package/dist/src/agent/memory/understanding/service.js +21 -8
- package/dist/src/agent/memory/understanding/service.js.map +1 -1
- package/dist/src/agent/memory/understanding/types.d.ts +5 -0
- package/dist/src/agent/memory/user-context-coordinator.d.ts +1 -1
- package/dist/src/agent/memory/user-context-coordinator.js +6 -2
- package/dist/src/agent/memory/user-context-coordinator.js.map +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +2 -2
- package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
- package/dist/src/agent/prompt/memory/index.d.ts +1 -2
- package/dist/src/agent/prompt/memory/index.js +6 -7
- package/dist/src/agent/prompt/memory/index.js.map +1 -1
- package/dist/src/agent/prompt/sections/tooling.js +1 -1
- package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +13 -2
- package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
- package/dist/src/agent/tools/curated-memory-tool.js +4 -4
- package/dist/src/agent/tools/curated-memory-tool.js.map +1 -1
- package/dist/src/agent/tools/factory.d.ts +1 -1
- package/dist/src/agent/tools/factory.js +2 -2
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/memory-tool.js +1 -1
- package/dist/src/agent/tools/memory-tool.js.map +1 -1
- package/dist/src/agent/workflow/workflow-child-tools.js +2 -3
- package/dist/src/agent/workflow/workflow-child-tools.js.map +1 -1
- package/dist/src/agent/workspace-runtime/registry.d.ts +5 -5
- package/dist/src/agent/workspace-runtime/registry.js +6 -11
- package/dist/src/agent/workspace-runtime/registry.js.map +1 -1
- package/dist/src/agent-manifest/index.js +2 -2
- package/dist/src/agent-manifest/prompt.js +1 -7
- package/dist/src/agent-manifest/prompt.js.map +1 -1
- package/dist/src/agent-manifest/schema.d.ts +0 -598
- package/dist/src/agent-manifest/schema.js +2 -143
- package/dist/src/agent-manifest/schema.js.map +1 -1
- package/dist/src/agent-manifest/validator.js +0 -12
- package/dist/src/agent-manifest/validator.js.map +1 -1
- package/dist/src/agent-runtime/index.js +1 -1
- package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
- package/dist/src/agent-runtime/memory-runtime.js +8 -7
- package/dist/src/agent-runtime/memory-runtime.js.map +1 -1
- package/dist/src/agent-runtime/runtime-profile.d.ts +2 -0
- package/dist/src/agent-runtime/runtime-profile.js +2 -2
- package/dist/src/agent-runtime/runtime-profile.js.map +1 -1
- package/dist/src/chat-commands/agent-edit.js +1 -2
- package/dist/src/chat-commands/agent-edit.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/init.js +0 -22
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/templates.d.ts +1 -1
- package/dist/src/cli/templates.js +1 -16
- package/dist/src/cli/templates.js.map +1 -1
- package/dist/src/commands/agents.config.js +0 -10
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/paths.d.ts +0 -1
- package/dist/src/config/paths.js +1 -2
- package/dist/src/config/paths.js.map +1 -1
- package/dist/src/config/schema.d.ts +118 -532
- package/dist/src/config/schema.js +32 -26
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/extensions/loader.js +2 -1
- package/dist/src/extensions/loader.js.map +1 -1
- package/dist/src/gateway/agents-admin.d.ts +0 -2
- package/dist/src/gateway/agents-admin.js +1 -7
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/capability-presets-admin.d.ts +0 -2
- package/dist/src/gateway/capability-presets-admin.js.map +1 -1
- package/dist/src/gateway/chat-stream/mapper.js +26 -0
- package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +16 -1
- package/dist/src/gateway/dreaming-automation-reconciler.d.ts +0 -1
- package/dist/src/gateway/dreaming-automation-reconciler.js +41 -63
- package/dist/src/gateway/dreaming-automation-reconciler.js.map +1 -1
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/app.js +3 -1
- package/dist/src/gateway/hono/app.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +0 -130
- package/dist/src/gateway/hono/lib/config-payload.js +0 -1
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/routes/agents.js +6 -12
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +6 -0
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js.map +1 -1
- package/dist/src/gateway/hono/routes/capability-presets.js +2 -2
- package/dist/src/gateway/hono/routes/capability-presets.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +9 -20
- package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
- package/dist/src/gateway/hono/routes/index.js +4 -0
- package/dist/src/gateway/hono/routes/index.js.map +1 -1
- package/dist/src/gateway/hono/routes/local-apps.d.ts +5 -0
- package/dist/src/gateway/hono/routes/local-apps.js +99 -0
- package/dist/src/gateway/hono/routes/local-apps.js.map +1 -0
- package/dist/src/gateway/hono/routes/memory.js +48 -65
- package/dist/src/gateway/hono/routes/memory.js.map +1 -1
- package/dist/src/gateway/hono/routes/projects.js +2 -2
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/work-discovery.d.ts +3 -0
- package/dist/src/gateway/hono/routes/work-discovery.js +150 -0
- package/dist/src/gateway/hono/routes/work-discovery.js.map +1 -0
- package/dist/src/gateway/hono/routes/you.d.ts +3 -0
- package/dist/src/gateway/hono/routes/you.js +358 -91
- package/dist/src/gateway/hono/routes/you.js.map +1 -1
- package/dist/src/gateway/service.d.ts +3 -0
- package/dist/src/gateway/service.js +12 -0
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/knowledge/connected-knowledge-pipeline.js +9 -5
- package/dist/src/knowledge/connected-knowledge-pipeline.js.map +1 -1
- package/dist/src/local-apps/acceptance.d.ts +30 -0
- package/dist/src/local-apps/acceptance.js +93 -0
- package/dist/src/local-apps/acceptance.js.map +1 -0
- package/dist/src/local-apps/index.d.ts +5 -0
- package/dist/src/local-apps/index.js +4 -0
- package/dist/src/local-apps/preview-runtime-bridge.d.ts +4 -0
- package/dist/src/local-apps/preview-runtime-bridge.js +171 -0
- package/dist/src/local-apps/preview-runtime-bridge.js.map +1 -0
- package/dist/src/local-apps/runtime-entry.d.ts +8 -0
- package/dist/src/local-apps/runtime-entry.js +25 -0
- package/dist/src/local-apps/runtime-entry.js.map +1 -0
- package/dist/src/local-apps/scaffold.d.ts +8 -0
- package/dist/src/local-apps/scaffold.js +122 -0
- package/dist/src/local-apps/scaffold.js.map +1 -0
- package/dist/src/local-apps/service.d.ts +37 -0
- package/dist/src/local-apps/service.js +553 -0
- package/dist/src/local-apps/service.js.map +1 -0
- package/dist/src/local-apps/store.d.ts +44 -0
- package/dist/src/local-apps/store.js +195 -0
- package/dist/src/local-apps/store.js.map +1 -0
- package/dist/src/local-apps/types.d.ts +105 -0
- package/dist/src/local-apps/types.js +1 -0
- package/dist/src/storage/sqlite/index.d.ts +3 -2
- package/dist/src/storage/sqlite/index.js +4 -3
- package/dist/src/storage/sqlite/memory-index-repository.d.ts +2 -3
- package/dist/src/storage/sqlite/memory-index-repository.js +16 -20
- package/dist/src/storage/sqlite/memory-index-repository.js.map +1 -1
- package/dist/src/storage/sqlite/memory-records-repository.d.ts +18 -10
- package/dist/src/storage/sqlite/memory-records-repository.js +79 -34
- package/dist/src/storage/sqlite/memory-records-repository.js.map +1 -1
- package/dist/src/storage/sqlite/memory-reference-consent-repository.d.ts +27 -0
- package/dist/src/storage/sqlite/memory-reference-consent-repository.js +109 -0
- package/dist/src/storage/sqlite/memory-reference-consent-repository.js.map +1 -0
- package/dist/src/storage/sqlite/migrations/038_user_owned_memory.sql +68 -0
- package/dist/src/storage/sqlite/migrations/039_memory_reference_consents.sql +19 -0
- package/dist/src/storage/sqlite/migrations/040_local_apps.sql +32 -0
- package/dist/src/storage/sqlite/migrations/041_local_app_release_lifecycle.sql +17 -0
- package/dist/src/storage/sqlite/migrations/042_work_discovery.sql +41 -0
- package/dist/src/storage/sqlite/migrations/043_local_app_acceptance_runs.sql +16 -0
- package/dist/src/storage/sqlite/migrations/044_repair_work_discovery_foreign_keys.sql +75 -0
- package/dist/src/storage/sqlite/migrations/045_extension_ui_grants.sql +13 -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.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +20 -0
- package/dist/src/user-context/config.d.ts +227 -0
- package/dist/src/user-context/config.js +158 -0
- package/dist/src/user-context/config.js.map +1 -0
- package/dist/src/user-context/import.d.ts +1 -1
- package/dist/src/user-context/import.js +6 -1
- package/dist/src/user-context/import.js.map +1 -1
- package/dist/src/user-context/owner.d.ts +5 -0
- package/dist/src/user-context/owner.js +9 -0
- package/dist/src/user-context/owner.js.map +1 -0
- package/dist/src/user-context/projection.d.ts +11 -9
- package/dist/src/user-context/projection.js +74 -47
- package/dist/src/user-context/projection.js.map +1 -1
- package/dist/src/user-context/runtime.d.ts +13 -0
- package/dist/src/user-context/runtime.js +36 -0
- package/dist/src/user-context/runtime.js.map +1 -0
- package/dist/src/work-discovery/analyzer.d.ts +11 -0
- package/dist/src/work-discovery/analyzer.js +171 -0
- package/dist/src/work-discovery/analyzer.js.map +1 -0
- package/dist/src/work-discovery/index.d.ts +5 -0
- package/dist/src/work-discovery/index.js +5 -0
- package/dist/src/work-discovery/probe.d.ts +12 -0
- package/dist/src/work-discovery/probe.js +335 -0
- package/dist/src/work-discovery/probe.js.map +1 -0
- package/dist/src/work-discovery/repository.d.ts +11 -0
- package/dist/src/work-discovery/repository.js +100 -0
- package/dist/src/work-discovery/repository.js.map +1 -0
- package/dist/src/work-discovery/service.d.ts +30 -0
- package/dist/src/work-discovery/service.js +387 -0
- package/dist/src/work-discovery/service.js.map +1 -0
- package/dist/src/work-discovery/types.d.ts +114 -0
- package/dist/src/work-discovery/types.js +1 -0
- package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
- package/package.json +5 -3
- package/skills/engineering/build-xopc-local-app/SKILL.md +45 -0
- package/skills/engineering/build-xopc-local-app/references/app-contract.md +33 -0
- package/skills/engineering/build-xopc-local-app/scripts/validate-local-app.mjs +72 -0
- package/dist/gateway/static/root/assets/Combination-DolwnuKi.js +0 -41
- package/dist/gateway/static/root/assets/activity-center-store-3l9ahUqb.js +0 -1
- package/dist/gateway/static/root/assets/agents-1bpT0xRO.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-Cc4JgVUQ.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-mb0fdVpq.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-Bb0xhaMN.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-api-BV76yN9a.js +0 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-CUcGKZqC.js +0 -2
- package/dist/gateway/static/root/assets/channels-settings-BlSDMGdy.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-CJauF1CW.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-CMgAFGvb.js +0 -2
- package/dist/gateway/static/root/assets/dist-C99RGfAH.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-BLetQiYY.js +0 -3
- package/dist/gateway/static/root/assets/extension-debug-page-Cof2ncxE.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-BMmzYpZL.js +0 -4
- package/dist/gateway/static/root/assets/goals-page-CGeT77PC.js +0 -2
- package/dist/gateway/static/root/assets/index-CSLF84-Q.css +0 -1
- package/dist/gateway/static/root/assets/index-I-ZCenVw.js +0 -259
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-x_v0nrIi.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-BSh1t8cD.js +0 -7
- package/dist/gateway/static/root/assets/messages-Cb1VMeqP.js +0 -5
- package/dist/gateway/static/root/assets/models-hub-panel-BNpTenAI.js +0 -2
- package/dist/gateway/static/root/assets/notes-workbench-teklkhcE.js +0 -4
- package/dist/gateway/static/root/assets/project-detail-page-CCB_dKoh.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-VOAFAHYj.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-USYu64Ru.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-oGC8O5h_.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D4rP66R1.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Ck9keROI.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-BYLsCuqj.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BNHUyVML.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-CpXbQH4n.js +0 -2
- package/dist/gateway/static/root/assets/user-context-page-DbNEK4Yp.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-Cs7MOrg0.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-D1ziG1Pp.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-DHGV_n6i.js +0 -11
- package/dist/src/agent/context/workspace-templates/MEMORY.md +0 -33
- package/dist/src/agent/memory/access-policy.d.ts +0 -12
- package/dist/src/agent/memory/access-policy.js +0 -44
- package/dist/src/agent/memory/access-policy.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS work_discovery_onboarding (
|
|
2
|
+
singleton_id INTEGER PRIMARY KEY CHECK (singleton_id = 1),
|
|
3
|
+
status TEXT NOT NULL CHECK (status IN ('not_started', 'in_progress', 'completed', 'dismissed')),
|
|
4
|
+
active_run_id TEXT,
|
|
5
|
+
completed_at INTEGER,
|
|
6
|
+
dismissed_at INTEGER,
|
|
7
|
+
updated_at INTEGER NOT NULL
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
INSERT OR IGNORE INTO work_discovery_onboarding (singleton_id, status, updated_at)
|
|
11
|
+
VALUES (1, 'not_started', 0);
|
|
12
|
+
|
|
13
|
+
CREATE TABLE IF NOT EXISTS work_discovery_runs (
|
|
14
|
+
id TEXT PRIMARY KEY,
|
|
15
|
+
idempotency_key TEXT NOT NULL UNIQUE,
|
|
16
|
+
source TEXT NOT NULL CHECK (source IN ('onboarding_selected_directory', 'manual_selected_directory')),
|
|
17
|
+
status TEXT NOT NULL CHECK (status IN ('queued', 'probing', 'analyzing', 'completed', 'failed', 'canceled')),
|
|
18
|
+
stage TEXT CHECK (stage IS NULL OR stage IN ('folder_structure', 'recent_progress', 'next_steps')),
|
|
19
|
+
root_path TEXT NOT NULL,
|
|
20
|
+
project_id TEXT NOT NULL,
|
|
21
|
+
session_key TEXT NOT NULL,
|
|
22
|
+
agent_id TEXT NOT NULL,
|
|
23
|
+
model_ref TEXT NOT NULL,
|
|
24
|
+
scan_policy_version INTEGER NOT NULL,
|
|
25
|
+
snapshot_summary_json TEXT,
|
|
26
|
+
result_json TEXT,
|
|
27
|
+
error_code TEXT,
|
|
28
|
+
error_message TEXT,
|
|
29
|
+
created_at INTEGER NOT NULL,
|
|
30
|
+
started_at INTEGER,
|
|
31
|
+
completed_at INTEGER,
|
|
32
|
+
canceled_at INTEGER,
|
|
33
|
+
FOREIGN KEY (project_id) REFERENCES projects(project_id) ON DELETE CASCADE,
|
|
34
|
+
FOREIGN KEY (session_key) REFERENCES sessions(session_key) ON DELETE CASCADE
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
CREATE INDEX IF NOT EXISTS idx_work_discovery_runs_status_created
|
|
38
|
+
ON work_discovery_runs(status, created_at DESC);
|
|
39
|
+
|
|
40
|
+
CREATE INDEX IF NOT EXISTS idx_work_discovery_runs_project
|
|
41
|
+
ON work_discovery_runs(project_id, created_at DESC);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS local_app_acceptance_runs (
|
|
2
|
+
run_id TEXT PRIMARY KEY,
|
|
3
|
+
app_id TEXT NOT NULL,
|
|
4
|
+
source_hash TEXT NOT NULL,
|
|
5
|
+
status TEXT NOT NULL CHECK (status IN ('passed', 'failed')),
|
|
6
|
+
checks_json TEXT NOT NULL,
|
|
7
|
+
interactive_count INTEGER NOT NULL DEFAULT 0 CHECK (interactive_count >= 0),
|
|
8
|
+
created_at INTEGER NOT NULL,
|
|
9
|
+
FOREIGN KEY (app_id) REFERENCES local_apps(app_id) ON DELETE CASCADE
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
CREATE INDEX IF NOT EXISTS idx_local_app_acceptance_runs_app_created
|
|
13
|
+
ON local_app_acceptance_runs(app_id, created_at DESC);
|
|
14
|
+
|
|
15
|
+
CREATE INDEX IF NOT EXISTS idx_local_app_acceptance_runs_source
|
|
16
|
+
ON local_app_acceptance_runs(app_id, source_hash, created_at DESC);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
CREATE TABLE work_discovery_runs_v44 (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
idempotency_key TEXT NOT NULL UNIQUE,
|
|
4
|
+
source TEXT NOT NULL CHECK (source IN ('onboarding_selected_directory', 'manual_selected_directory')),
|
|
5
|
+
status TEXT NOT NULL CHECK (status IN ('queued', 'probing', 'analyzing', 'completed', 'failed', 'canceled')),
|
|
6
|
+
stage TEXT CHECK (stage IS NULL OR stage IN ('folder_structure', 'recent_progress', 'next_steps')),
|
|
7
|
+
root_path TEXT NOT NULL,
|
|
8
|
+
project_id TEXT NOT NULL,
|
|
9
|
+
session_key TEXT NOT NULL,
|
|
10
|
+
agent_id TEXT NOT NULL,
|
|
11
|
+
model_ref TEXT NOT NULL,
|
|
12
|
+
scan_policy_version INTEGER NOT NULL,
|
|
13
|
+
snapshot_summary_json TEXT,
|
|
14
|
+
result_json TEXT,
|
|
15
|
+
error_code TEXT,
|
|
16
|
+
error_message TEXT,
|
|
17
|
+
created_at INTEGER NOT NULL,
|
|
18
|
+
started_at INTEGER,
|
|
19
|
+
completed_at INTEGER,
|
|
20
|
+
canceled_at INTEGER,
|
|
21
|
+
FOREIGN KEY (project_id) REFERENCES projects(project_id) ON DELETE CASCADE,
|
|
22
|
+
FOREIGN KEY (session_key) REFERENCES sessions(session_key) ON DELETE CASCADE
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
INSERT INTO work_discovery_runs_v44 (
|
|
26
|
+
id,
|
|
27
|
+
idempotency_key,
|
|
28
|
+
source,
|
|
29
|
+
status,
|
|
30
|
+
stage,
|
|
31
|
+
root_path,
|
|
32
|
+
project_id,
|
|
33
|
+
session_key,
|
|
34
|
+
agent_id,
|
|
35
|
+
model_ref,
|
|
36
|
+
scan_policy_version,
|
|
37
|
+
snapshot_summary_json,
|
|
38
|
+
result_json,
|
|
39
|
+
error_code,
|
|
40
|
+
error_message,
|
|
41
|
+
created_at,
|
|
42
|
+
started_at,
|
|
43
|
+
completed_at,
|
|
44
|
+
canceled_at
|
|
45
|
+
)
|
|
46
|
+
SELECT
|
|
47
|
+
id,
|
|
48
|
+
idempotency_key,
|
|
49
|
+
source,
|
|
50
|
+
status,
|
|
51
|
+
stage,
|
|
52
|
+
root_path,
|
|
53
|
+
project_id,
|
|
54
|
+
session_key,
|
|
55
|
+
agent_id,
|
|
56
|
+
model_ref,
|
|
57
|
+
scan_policy_version,
|
|
58
|
+
snapshot_summary_json,
|
|
59
|
+
result_json,
|
|
60
|
+
error_code,
|
|
61
|
+
error_message,
|
|
62
|
+
created_at,
|
|
63
|
+
started_at,
|
|
64
|
+
completed_at,
|
|
65
|
+
canceled_at
|
|
66
|
+
FROM work_discovery_runs;
|
|
67
|
+
|
|
68
|
+
DROP TABLE work_discovery_runs;
|
|
69
|
+
ALTER TABLE work_discovery_runs_v44 RENAME TO work_discovery_runs;
|
|
70
|
+
|
|
71
|
+
CREATE INDEX idx_work_discovery_runs_status_created
|
|
72
|
+
ON work_discovery_runs(status, created_at DESC);
|
|
73
|
+
|
|
74
|
+
CREATE INDEX idx_work_discovery_runs_project
|
|
75
|
+
ON work_discovery_runs(project_id, created_at DESC);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS extension_ui_grants (
|
|
2
|
+
extension_id TEXT NOT NULL,
|
|
3
|
+
app_id TEXT,
|
|
4
|
+
manifest_digest TEXT NOT NULL,
|
|
5
|
+
permissions_json TEXT NOT NULL,
|
|
6
|
+
granted_at INTEGER NOT NULL,
|
|
7
|
+
revoked_at INTEGER,
|
|
8
|
+
PRIMARY KEY (extension_id, manifest_digest),
|
|
9
|
+
FOREIGN KEY (app_id) REFERENCES local_apps(app_id) ON DELETE CASCADE
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
CREATE INDEX IF NOT EXISTS idx_extension_ui_grants_app_granted
|
|
13
|
+
ON extension_ui_grants(app_id, granted_at DESC);
|
|
@@ -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 = 45;
|
|
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 = 45;
|
|
16
16
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
17
17
|
function resolveMigrationsDir(override) {
|
|
18
18
|
if (override) return override;
|
|
@@ -46,7 +46,7 @@ function applySingleMigration(db, migration) {
|
|
|
46
46
|
* Each step runs in its own transaction and updates schema_meta on success.
|
|
47
47
|
*/
|
|
48
48
|
function applyPendingMigrations(db, options = {}) {
|
|
49
|
-
const targetVersion = options.targetVersion ??
|
|
49
|
+
const targetVersion = options.targetVersion ?? 45;
|
|
50
50
|
let currentVersion = readSchemaVersion(db);
|
|
51
51
|
if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
|
|
52
52
|
if (currentVersion >= targetVersion) return currentVersion;
|
|
@@ -62,7 +62,7 @@ function applyPendingMigrations(db, options = {}) {
|
|
|
62
62
|
}
|
|
63
63
|
/** Inspect schema version without mutating the database. */
|
|
64
64
|
function inspectSchemaMigrationStatus(db, options = {}) {
|
|
65
|
-
const appVersion = options.targetVersion ??
|
|
65
|
+
const appVersion = options.targetVersion ?? 45;
|
|
66
66
|
const dbVersion = readSchemaVersion(db);
|
|
67
67
|
if (dbVersion > appVersion) return {
|
|
68
68
|
dbVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","names":[],"sources":["../../../../../src/storage/sqlite/migrations/runner.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { dirname, join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { DatabaseSync } from 'node:sqlite';\n\nimport { createLogger } from '../../../utils/logger.js';\nimport { readSchemaVersion, setSchemaVersion } from '../schema-version.js';\nimport { discoverSqlMigrations } from './discover.js';\nimport {\n DatabaseSchemaMigrationGapError,\n DatabaseSchemaTooNewError,\n} from './errors.js';\nimport type { ApplyMigrationsOptions, SqlMigration } from './types.js';\n\nconst log = createLogger('Sqlite:Migrations');\n\n/** Baseline schema version applied from schema.sql on first open. */\nexport const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;\n\n/** Latest schema version this release supports (increment when adding migrations). */\nexport const XOPC_DB_SCHEMA_VERSION =
|
|
1
|
+
{"version":3,"file":"runner.js","names":[],"sources":["../../../../../src/storage/sqlite/migrations/runner.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { dirname, join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { DatabaseSync } from 'node:sqlite';\n\nimport { createLogger } from '../../../utils/logger.js';\nimport { readSchemaVersion, setSchemaVersion } from '../schema-version.js';\nimport { discoverSqlMigrations } from './discover.js';\nimport {\n DatabaseSchemaMigrationGapError,\n DatabaseSchemaTooNewError,\n} from './errors.js';\nimport type { ApplyMigrationsOptions, SqlMigration } from './types.js';\n\nconst log = createLogger('Sqlite:Migrations');\n\n/** Baseline schema version applied from schema.sql on first open. */\nexport const XOPC_DB_BASELINE_SCHEMA_VERSION = 11;\n\n/** Latest schema version this release supports (increment when adding migrations). */\nexport const XOPC_DB_SCHEMA_VERSION = 45;\n\nconst MODULE_DIR = dirname(fileURLToPath(import.meta.url));\n\nexport function resolveMigrationsDir(override?: string): string {\n if (override) {\n return override;\n }\n // Packaged Electron gateway bundle: `out/server/index.js` + `out/server/migrations/`.\n const siblingDir = join(MODULE_DIR, 'migrations');\n if (existsSync(siblingDir)) {\n return siblingDir;\n }\n // Dev / dist: SQL files live next to `migrations/runner.js`.\n return MODULE_DIR;\n}\n\nfunction migrationByTarget(\n migrations: SqlMigration[],\n targetVersion: number,\n): SqlMigration | undefined {\n return migrations.find((migration) => migration.targetVersion === targetVersion);\n}\n\nfunction applySingleMigration(db: DatabaseSync, migration: SqlMigration): void {\n log.info({ targetVersion: migration.targetVersion, file: migration.filename }, 'Applying SQLite migration');\n db.exec('BEGIN IMMEDIATE');\n try {\n db.exec(migration.sql);\n setSchemaVersion(db, migration.targetVersion);\n db.exec('COMMIT');\n } catch (error) {\n try {\n db.exec('ROLLBACK');\n } catch {\n /* preserve original error */\n }\n const em = error instanceof Error ? error.message : String(error);\n throw new Error(\n `SQLite migration to v${migration.targetVersion} (${migration.filename}) failed: ${em}`,\n { cause: error },\n );\n }\n}\n\n/**\n * Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.\n * Each step runs in its own transaction and updates schema_meta on success.\n */\nexport function applyPendingMigrations(\n db: DatabaseSync,\n options: ApplyMigrationsOptions = {},\n): number {\n const targetVersion = options.targetVersion ?? XOPC_DB_SCHEMA_VERSION;\n let currentVersion = readSchemaVersion(db);\n\n if (currentVersion > targetVersion) {\n throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);\n }\n\n if (currentVersion >= targetVersion) {\n return currentVersion;\n }\n\n const migrations = discoverSqlMigrations(resolveMigrationsDir(options.migrationsDir));\n\n while (currentVersion < targetVersion) {\n const nextVersion = currentVersion + 1;\n const migration = migrationByTarget(migrations, nextVersion);\n if (!migration) {\n throw new DatabaseSchemaMigrationGapError(currentVersion, targetVersion, nextVersion);\n }\n applySingleMigration(db, migration);\n currentVersion = nextVersion;\n }\n\n return currentVersion;\n}\n\nexport type SchemaMigrationStatus = {\n dbVersion: number;\n appVersion: number;\n pendingVersions: number[];\n isTooNew: boolean;\n hasMigrationGap: boolean;\n missingVersion: number | null;\n};\n\n/** Inspect schema version without mutating the database. */\nexport function inspectSchemaMigrationStatus(\n db: DatabaseSync,\n options: Pick<ApplyMigrationsOptions, 'migrationsDir' | 'targetVersion'> = {},\n): SchemaMigrationStatus {\n const appVersion = options.targetVersion ?? XOPC_DB_SCHEMA_VERSION;\n const dbVersion = readSchemaVersion(db);\n const isTooNew = dbVersion > appVersion;\n\n if (isTooNew) {\n return {\n dbVersion,\n appVersion,\n pendingVersions: [],\n isTooNew: true,\n hasMigrationGap: false,\n missingVersion: null,\n };\n }\n\n const migrations = discoverSqlMigrations(resolveMigrationsDir(options.migrationsDir));\n const pendingVersions: number[] = [];\n let hasMigrationGap = false;\n let missingVersion: number | null = null;\n\n for (let version = dbVersion + 1; version <= appVersion; version++) {\n if (migrationByTarget(migrations, version)) {\n pendingVersions.push(version);\n } else {\n hasMigrationGap = true;\n missingVersion = version;\n break;\n }\n }\n\n return {\n dbVersion,\n appVersion,\n pendingVersions,\n isTooNew: false,\n hasMigrationGap,\n missingVersion,\n };\n}\n"],"mappings":";;;;;;;;;aAMwD;AASxD,MAAM,MAAM,aAAa,oBAAoB;;AAG7C,MAAa,kCAAkC;;AAG/C,MAAa,yBAAyB;AAEtC,MAAM,aAAa,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAE1D,SAAgB,qBAAqB,UAA2B;AAC9D,KAAI,SACF,QAAO;CAGT,MAAM,aAAa,KAAK,YAAY,aAAa;AACjD,KAAI,WAAW,WAAW,CACxB,QAAO;AAGT,QAAO;;AAGT,SAAS,kBACP,YACA,eAC0B;AAC1B,QAAO,WAAW,MAAM,cAAc,UAAU,kBAAkB,cAAc;;AAGlF,SAAS,qBAAqB,IAAkB,WAA+B;AAC7E,KAAI,KAAK;EAAE,eAAe,UAAU;EAAe,MAAM,UAAU;EAAU,EAAE,4BAA4B;AAC3G,IAAG,KAAK,kBAAkB;AAC1B,KAAI;AACF,KAAG,KAAK,UAAU,IAAI;AACtB,mBAAiB,IAAI,UAAU,cAAc;AAC7C,KAAG,KAAK,SAAS;UACV,OAAO;AACd,MAAI;AACF,MAAG,KAAK,WAAW;UACb;EAGR,MAAM,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AACjE,QAAM,IAAI,MACR,wBAAwB,UAAU,cAAc,IAAI,UAAU,SAAS,YAAY,MACnF,EAAE,OAAO,OAAO,CACjB;;;;;;;AAQL,SAAgB,uBACd,IACA,UAAkC,EAAE,EAC5B;CACR,MAAM,gBAAgB,QAAQ,iBAAA;CAC9B,IAAI,iBAAiB,kBAAkB,GAAG;AAE1C,KAAI,iBAAiB,cACnB,OAAM,IAAI,0BAA0B,gBAAgB,cAAc;AAGpE,KAAI,kBAAkB,cACpB,QAAO;CAGT,MAAM,aAAa,sBAAsB,qBAAqB,QAAQ,cAAc,CAAC;AAErF,QAAO,iBAAiB,eAAe;EACrC,MAAM,cAAc,iBAAiB;EACrC,MAAM,YAAY,kBAAkB,YAAY,YAAY;AAC5D,MAAI,CAAC,UACH,OAAM,IAAI,gCAAgC,gBAAgB,eAAe,YAAY;AAEvF,uBAAqB,IAAI,UAAU;AACnC,mBAAiB;;AAGnB,QAAO;;;AAaT,SAAgB,6BACd,IACA,UAA2E,EAAE,EACtD;CACvB,MAAM,aAAa,QAAQ,iBAAA;CAC3B,MAAM,YAAY,kBAAkB,GAAG;AAGvC,KAFiB,YAAY,WAG3B,QAAO;EACL;EACA;EACA,iBAAiB,EAAE;EACnB,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EACjB;CAGH,MAAM,aAAa,sBAAsB,qBAAqB,QAAQ,cAAc,CAAC;CACrF,MAAM,kBAA4B,EAAE;CACpC,IAAI,kBAAkB;CACtB,IAAI,iBAAgC;AAEpC,MAAK,IAAI,UAAU,YAAY,GAAG,WAAW,YAAY,UACvD,KAAI,kBAAkB,YAAY,QAAQ,CACxC,iBAAgB,KAAK,QAAQ;MACxB;AACL,oBAAkB;AAClB,mBAAiB;AACjB;;AAIJ,QAAO;EACL;EACA;EACA;EACA,UAAU;EACV;EACA;EACD"}
|
|
@@ -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 = 45;
|
|
23
23
|
|
|
24
24
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
25
25
|
|
|
@@ -31,7 +31,7 @@ function ensureXopcDatabaseSchema(db) {
|
|
|
31
31
|
bootstrapFreshDatabase(db);
|
|
32
32
|
currentVersion = 11;
|
|
33
33
|
}
|
|
34
|
-
applyPendingMigrations(db, { targetVersion:
|
|
34
|
+
applyPendingMigrations(db, { targetVersion: 45 });
|
|
35
35
|
}
|
|
36
36
|
//#endregion
|
|
37
37
|
export { SCHEMA_META_SCHEMA_VERSION_KEY, XOPC_DB_BASELINE_SCHEMA_VERSION, XOPC_DB_SCHEMA_VERSION, ensureSchemaMetaTable, ensureXopcDatabaseSchema, readSchemaVersion, readSchemaVersionForTest, setSchemaVersion };
|
|
@@ -704,3 +704,23 @@ CREATE TABLE IF NOT EXISTS goal_session_links (
|
|
|
704
704
|
|
|
705
705
|
CREATE INDEX IF NOT EXISTS idx_goal_session_links_session
|
|
706
706
|
ON goal_session_links(session_key, linked_at DESC);
|
|
707
|
+
|
|
708
|
+
CREATE TABLE IF NOT EXISTS memory_reference_consents (
|
|
709
|
+
consent_id TEXT PRIMARY KEY,
|
|
710
|
+
record_id TEXT NOT NULL,
|
|
711
|
+
session_key TEXT NOT NULL,
|
|
712
|
+
purpose TEXT NOT NULL,
|
|
713
|
+
status TEXT NOT NULL CHECK (status IN ('pending', 'granted', 'denied', 'consumed')),
|
|
714
|
+
grant_scope TEXT CHECK (grant_scope IN ('once', 'session', 'always')),
|
|
715
|
+
expires_at INTEGER,
|
|
716
|
+
created_at INTEGER NOT NULL,
|
|
717
|
+
updated_at INTEGER NOT NULL,
|
|
718
|
+
FOREIGN KEY (record_id) REFERENCES memory_records(record_id) ON DELETE CASCADE
|
|
719
|
+
);
|
|
720
|
+
|
|
721
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_memory_reference_consents_pending
|
|
722
|
+
ON memory_reference_consents(record_id, session_key)
|
|
723
|
+
WHERE status = 'pending';
|
|
724
|
+
|
|
725
|
+
CREATE INDEX IF NOT EXISTS idx_memory_reference_consents_resolution
|
|
726
|
+
ON memory_reference_consents(record_id, status, session_key, expires_at);
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UserMemoryModeSchema: z.ZodEnum<{
|
|
3
|
+
off: "off";
|
|
4
|
+
auto: "auto";
|
|
5
|
+
readOnly: "readOnly";
|
|
6
|
+
confirmWrite: "confirmWrite";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const UserMemoryConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
9
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
10
|
+
off: "off";
|
|
11
|
+
auto: "auto";
|
|
12
|
+
readOnly: "readOnly";
|
|
13
|
+
confirmWrite: "confirmWrite";
|
|
14
|
+
}>>;
|
|
15
|
+
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
16
|
+
session: "session";
|
|
17
|
+
workspace: "workspace";
|
|
18
|
+
curated: "curated";
|
|
19
|
+
userProfile: "userProfile";
|
|
20
|
+
agentProfile: "agentProfile";
|
|
21
|
+
connectedSources: "connectedSources";
|
|
22
|
+
}>>>;
|
|
23
|
+
writePolicy: z.ZodOptional<z.ZodObject<{
|
|
24
|
+
userProfile: z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
allow: "allow";
|
|
26
|
+
confirm: "confirm";
|
|
27
|
+
deny: "deny";
|
|
28
|
+
}>>;
|
|
29
|
+
agentProfile: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
allow: "allow";
|
|
31
|
+
confirm: "confirm";
|
|
32
|
+
deny: "deny";
|
|
33
|
+
}>>;
|
|
34
|
+
curated: z.ZodOptional<z.ZodEnum<{
|
|
35
|
+
allow: "allow";
|
|
36
|
+
confirm: "confirm";
|
|
37
|
+
deny: "deny";
|
|
38
|
+
}>>;
|
|
39
|
+
workspace: z.ZodOptional<z.ZodEnum<{
|
|
40
|
+
allow: "allow";
|
|
41
|
+
confirm: "confirm";
|
|
42
|
+
deny: "deny";
|
|
43
|
+
}>>;
|
|
44
|
+
}, z.core.$strict>>;
|
|
45
|
+
retention: z.ZodOptional<z.ZodObject<{
|
|
46
|
+
compaction: z.ZodDefault<z.ZodBoolean>;
|
|
47
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
maxItems: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
maxChars: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
}, z.core.$strict>>;
|
|
51
|
+
}, z.core.$strict>>;
|
|
52
|
+
export declare const UserUnderstandingConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
53
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
54
|
+
adaptiveCadence: z.ZodDefault<z.ZodBoolean>;
|
|
55
|
+
reviewIntervalTurns: z.ZodDefault<z.ZodNumber>;
|
|
56
|
+
maxHistoryMessages: z.ZodDefault<z.ZodNumber>;
|
|
57
|
+
maxDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
}, z.core.$strict>>;
|
|
59
|
+
export declare const UserContextPrivacySchema: z.ZodDefault<z.ZodObject<{
|
|
60
|
+
sensitiveWritePolicy: z.ZodDefault<z.ZodEnum<{
|
|
61
|
+
allow: "allow";
|
|
62
|
+
confirm: "confirm";
|
|
63
|
+
deny: "deny";
|
|
64
|
+
}>>;
|
|
65
|
+
}, z.core.$strict>>;
|
|
66
|
+
export declare const UserContextProviderRoutingSchema: z.ZodDefault<z.ZodObject<{
|
|
67
|
+
searchStrategy: z.ZodDefault<z.ZodEnum<{
|
|
68
|
+
"local-first": "local-first";
|
|
69
|
+
"external-first": "external-first";
|
|
70
|
+
fanout: "fanout";
|
|
71
|
+
"local-only": "local-only";
|
|
72
|
+
"external-only": "external-only";
|
|
73
|
+
}>>;
|
|
74
|
+
writeStrategy: z.ZodDefault<z.ZodEnum<{
|
|
75
|
+
"local-first": "local-first";
|
|
76
|
+
"external-first": "external-first";
|
|
77
|
+
"local-only": "local-only";
|
|
78
|
+
"external-only": "external-only";
|
|
79
|
+
"write-through": "write-through";
|
|
80
|
+
}>>;
|
|
81
|
+
allowExternalWrites: z.ZodDefault<z.ZodBoolean>;
|
|
82
|
+
allowedProviderIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
|
+
autoWriteKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
84
|
+
}, z.core.$strict>>;
|
|
85
|
+
export declare const UserContextDreamingSchema: z.ZodDefault<z.ZodObject<{
|
|
86
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
87
|
+
frequency: z.ZodOptional<z.ZodString>;
|
|
88
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
89
|
+
phases: z.ZodOptional<z.ZodObject<{
|
|
90
|
+
light: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
93
|
+
lookbackDays: z.ZodOptional<z.ZodNumber>;
|
|
94
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
95
|
+
dedupeSimilarity: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
}, z.core.$strict>>;
|
|
97
|
+
deep: z.ZodOptional<z.ZodObject<{
|
|
98
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
100
|
+
minScore: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
minRecallCount: z.ZodOptional<z.ZodNumber>;
|
|
102
|
+
minUniqueQueries: z.ZodOptional<z.ZodNumber>;
|
|
103
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
104
|
+
recencyHalfLifeDays: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
}, z.core.$strict>>;
|
|
107
|
+
rem: z.ZodOptional<z.ZodObject<{
|
|
108
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
110
|
+
lookbackDays: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
minPatternStrength: z.ZodOptional<z.ZodNumber>;
|
|
113
|
+
}, z.core.$strict>>;
|
|
114
|
+
}, z.core.$strict>>;
|
|
115
|
+
}, z.core.$strict>>;
|
|
116
|
+
export declare const UserContextConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
117
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
118
|
+
memory: z.ZodDefault<z.ZodObject<{
|
|
119
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
120
|
+
off: "off";
|
|
121
|
+
auto: "auto";
|
|
122
|
+
readOnly: "readOnly";
|
|
123
|
+
confirmWrite: "confirmWrite";
|
|
124
|
+
}>>;
|
|
125
|
+
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
126
|
+
session: "session";
|
|
127
|
+
workspace: "workspace";
|
|
128
|
+
curated: "curated";
|
|
129
|
+
userProfile: "userProfile";
|
|
130
|
+
agentProfile: "agentProfile";
|
|
131
|
+
connectedSources: "connectedSources";
|
|
132
|
+
}>>>;
|
|
133
|
+
writePolicy: z.ZodOptional<z.ZodObject<{
|
|
134
|
+
userProfile: z.ZodOptional<z.ZodEnum<{
|
|
135
|
+
allow: "allow";
|
|
136
|
+
confirm: "confirm";
|
|
137
|
+
deny: "deny";
|
|
138
|
+
}>>;
|
|
139
|
+
agentProfile: z.ZodOptional<z.ZodEnum<{
|
|
140
|
+
allow: "allow";
|
|
141
|
+
confirm: "confirm";
|
|
142
|
+
deny: "deny";
|
|
143
|
+
}>>;
|
|
144
|
+
curated: z.ZodOptional<z.ZodEnum<{
|
|
145
|
+
allow: "allow";
|
|
146
|
+
confirm: "confirm";
|
|
147
|
+
deny: "deny";
|
|
148
|
+
}>>;
|
|
149
|
+
workspace: z.ZodOptional<z.ZodEnum<{
|
|
150
|
+
allow: "allow";
|
|
151
|
+
confirm: "confirm";
|
|
152
|
+
deny: "deny";
|
|
153
|
+
}>>;
|
|
154
|
+
}, z.core.$strict>>;
|
|
155
|
+
retention: z.ZodOptional<z.ZodObject<{
|
|
156
|
+
compaction: z.ZodDefault<z.ZodBoolean>;
|
|
157
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
158
|
+
maxItems: z.ZodOptional<z.ZodNumber>;
|
|
159
|
+
maxChars: z.ZodOptional<z.ZodNumber>;
|
|
160
|
+
}, z.core.$strict>>;
|
|
161
|
+
}, z.core.$strict>>;
|
|
162
|
+
understanding: z.ZodDefault<z.ZodObject<{
|
|
163
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
164
|
+
adaptiveCadence: z.ZodDefault<z.ZodBoolean>;
|
|
165
|
+
reviewIntervalTurns: z.ZodDefault<z.ZodNumber>;
|
|
166
|
+
maxHistoryMessages: z.ZodDefault<z.ZodNumber>;
|
|
167
|
+
maxDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
168
|
+
}, z.core.$strict>>;
|
|
169
|
+
privacy: z.ZodDefault<z.ZodObject<{
|
|
170
|
+
sensitiveWritePolicy: z.ZodDefault<z.ZodEnum<{
|
|
171
|
+
allow: "allow";
|
|
172
|
+
confirm: "confirm";
|
|
173
|
+
deny: "deny";
|
|
174
|
+
}>>;
|
|
175
|
+
}, z.core.$strict>>;
|
|
176
|
+
providerRouting: z.ZodDefault<z.ZodObject<{
|
|
177
|
+
searchStrategy: z.ZodDefault<z.ZodEnum<{
|
|
178
|
+
"local-first": "local-first";
|
|
179
|
+
"external-first": "external-first";
|
|
180
|
+
fanout: "fanout";
|
|
181
|
+
"local-only": "local-only";
|
|
182
|
+
"external-only": "external-only";
|
|
183
|
+
}>>;
|
|
184
|
+
writeStrategy: z.ZodDefault<z.ZodEnum<{
|
|
185
|
+
"local-first": "local-first";
|
|
186
|
+
"external-first": "external-first";
|
|
187
|
+
"local-only": "local-only";
|
|
188
|
+
"external-only": "external-only";
|
|
189
|
+
"write-through": "write-through";
|
|
190
|
+
}>>;
|
|
191
|
+
allowExternalWrites: z.ZodDefault<z.ZodBoolean>;
|
|
192
|
+
allowedProviderIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
193
|
+
autoWriteKinds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
194
|
+
}, z.core.$strict>>;
|
|
195
|
+
dreaming: z.ZodDefault<z.ZodObject<{
|
|
196
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
197
|
+
frequency: z.ZodOptional<z.ZodString>;
|
|
198
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
199
|
+
phases: z.ZodOptional<z.ZodObject<{
|
|
200
|
+
light: z.ZodOptional<z.ZodObject<{
|
|
201
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
202
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
203
|
+
lookbackDays: z.ZodOptional<z.ZodNumber>;
|
|
204
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
205
|
+
dedupeSimilarity: z.ZodOptional<z.ZodNumber>;
|
|
206
|
+
}, z.core.$strict>>;
|
|
207
|
+
deep: z.ZodOptional<z.ZodObject<{
|
|
208
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
209
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
210
|
+
minScore: z.ZodOptional<z.ZodNumber>;
|
|
211
|
+
minRecallCount: z.ZodOptional<z.ZodNumber>;
|
|
212
|
+
minUniqueQueries: z.ZodOptional<z.ZodNumber>;
|
|
213
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
214
|
+
recencyHalfLifeDays: z.ZodOptional<z.ZodNumber>;
|
|
215
|
+
maxAgeDays: z.ZodOptional<z.ZodNumber>;
|
|
216
|
+
}, z.core.$strict>>;
|
|
217
|
+
rem: z.ZodOptional<z.ZodObject<{
|
|
218
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
219
|
+
cron: z.ZodOptional<z.ZodString>;
|
|
220
|
+
lookbackDays: z.ZodOptional<z.ZodNumber>;
|
|
221
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
222
|
+
minPatternStrength: z.ZodOptional<z.ZodNumber>;
|
|
223
|
+
}, z.core.$strict>>;
|
|
224
|
+
}, z.core.$strict>>;
|
|
225
|
+
}, z.core.$strict>>;
|
|
226
|
+
}, z.core.$strict>>;
|
|
227
|
+
export type UserContextConfig = z.infer<typeof UserContextConfigSchema>;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/user-context/config.ts
|
|
4
|
+
var UserMemoryModeSchema, UserMemoryConfigSchema, UserUnderstandingConfigSchema, UserContextPrivacySchema, UserContextProviderRoutingSchema, DreamingPhaseSchema, UserContextDreamingSchema, UserContextConfigSchema;
|
|
5
|
+
var init_config = __esmMin((() => {
|
|
6
|
+
UserMemoryModeSchema = z.enum([
|
|
7
|
+
"off",
|
|
8
|
+
"readOnly",
|
|
9
|
+
"confirmWrite",
|
|
10
|
+
"auto"
|
|
11
|
+
]);
|
|
12
|
+
UserMemoryConfigSchema = z.object({
|
|
13
|
+
mode: UserMemoryModeSchema.default("off"),
|
|
14
|
+
sources: z.array(z.enum([
|
|
15
|
+
"session",
|
|
16
|
+
"userProfile",
|
|
17
|
+
"agentProfile",
|
|
18
|
+
"curated",
|
|
19
|
+
"workspace",
|
|
20
|
+
"connectedSources"
|
|
21
|
+
])).default(["session"]),
|
|
22
|
+
writePolicy: z.object({
|
|
23
|
+
userProfile: z.enum([
|
|
24
|
+
"deny",
|
|
25
|
+
"confirm",
|
|
26
|
+
"allow"
|
|
27
|
+
]).optional(),
|
|
28
|
+
agentProfile: z.enum([
|
|
29
|
+
"deny",
|
|
30
|
+
"confirm",
|
|
31
|
+
"allow"
|
|
32
|
+
]).optional(),
|
|
33
|
+
curated: z.enum([
|
|
34
|
+
"deny",
|
|
35
|
+
"confirm",
|
|
36
|
+
"allow"
|
|
37
|
+
]).optional(),
|
|
38
|
+
workspace: z.enum([
|
|
39
|
+
"deny",
|
|
40
|
+
"confirm",
|
|
41
|
+
"allow"
|
|
42
|
+
]).optional()
|
|
43
|
+
}).strict().optional(),
|
|
44
|
+
retention: z.object({
|
|
45
|
+
compaction: z.boolean().default(true),
|
|
46
|
+
maxAgeDays: z.number().int().positive().optional(),
|
|
47
|
+
maxItems: z.number().int().positive().optional(),
|
|
48
|
+
maxChars: z.number().int().positive().optional()
|
|
49
|
+
}).strict().optional()
|
|
50
|
+
}).strict().default({
|
|
51
|
+
mode: "off",
|
|
52
|
+
sources: ["session"]
|
|
53
|
+
});
|
|
54
|
+
UserUnderstandingConfigSchema = z.object({
|
|
55
|
+
enabled: z.boolean().default(true),
|
|
56
|
+
adaptiveCadence: z.boolean().default(true),
|
|
57
|
+
reviewIntervalTurns: z.number().int().min(1).max(1e3).default(10),
|
|
58
|
+
maxHistoryMessages: z.number().int().min(1).max(200).default(80),
|
|
59
|
+
maxDurationMs: z.number().int().min(1e3).max(6e5).default(12e4)
|
|
60
|
+
}).strict().default({
|
|
61
|
+
enabled: true,
|
|
62
|
+
adaptiveCadence: true,
|
|
63
|
+
reviewIntervalTurns: 10,
|
|
64
|
+
maxHistoryMessages: 80,
|
|
65
|
+
maxDurationMs: 12e4
|
|
66
|
+
});
|
|
67
|
+
UserContextPrivacySchema = z.object({ sensitiveWritePolicy: z.enum([
|
|
68
|
+
"deny",
|
|
69
|
+
"confirm",
|
|
70
|
+
"allow"
|
|
71
|
+
]).default("confirm") }).strict().default({ sensitiveWritePolicy: "confirm" });
|
|
72
|
+
UserContextProviderRoutingSchema = z.object({
|
|
73
|
+
searchStrategy: z.enum([
|
|
74
|
+
"local-first",
|
|
75
|
+
"external-first",
|
|
76
|
+
"fanout",
|
|
77
|
+
"local-only",
|
|
78
|
+
"external-only"
|
|
79
|
+
]).default("fanout"),
|
|
80
|
+
writeStrategy: z.enum([
|
|
81
|
+
"local-first",
|
|
82
|
+
"external-first",
|
|
83
|
+
"write-through",
|
|
84
|
+
"local-only",
|
|
85
|
+
"external-only"
|
|
86
|
+
]).default("local-first"),
|
|
87
|
+
allowExternalWrites: z.boolean().default(false),
|
|
88
|
+
allowedProviderIds: z.array(z.string().min(1)).optional(),
|
|
89
|
+
autoWriteKinds: z.array(z.string().min(1)).optional()
|
|
90
|
+
}).strict().default({
|
|
91
|
+
searchStrategy: "fanout",
|
|
92
|
+
writeStrategy: "local-first",
|
|
93
|
+
allowExternalWrites: false
|
|
94
|
+
});
|
|
95
|
+
DreamingPhaseSchema = z.object({
|
|
96
|
+
enabled: z.boolean().optional(),
|
|
97
|
+
cron: z.string().min(1).optional()
|
|
98
|
+
}).strict();
|
|
99
|
+
UserContextDreamingSchema = z.object({
|
|
100
|
+
enabled: z.boolean().default(false),
|
|
101
|
+
frequency: z.string().min(1).optional(),
|
|
102
|
+
timezone: z.string().optional(),
|
|
103
|
+
phases: z.object({
|
|
104
|
+
light: DreamingPhaseSchema.extend({
|
|
105
|
+
lookbackDays: z.number().int().positive().optional(),
|
|
106
|
+
limit: z.number().int().nonnegative().optional(),
|
|
107
|
+
dedupeSimilarity: z.number().min(0).max(1).optional()
|
|
108
|
+
}).strict().optional(),
|
|
109
|
+
deep: DreamingPhaseSchema.extend({
|
|
110
|
+
minScore: z.number().min(0).max(1).optional(),
|
|
111
|
+
minRecallCount: z.number().int().positive().optional(),
|
|
112
|
+
minUniqueQueries: z.number().int().positive().optional(),
|
|
113
|
+
limit: z.number().int().nonnegative().optional(),
|
|
114
|
+
recencyHalfLifeDays: z.number().positive().optional(),
|
|
115
|
+
maxAgeDays: z.number().positive().optional()
|
|
116
|
+
}).strict().optional(),
|
|
117
|
+
rem: DreamingPhaseSchema.extend({
|
|
118
|
+
lookbackDays: z.number().int().positive().optional(),
|
|
119
|
+
limit: z.number().int().nonnegative().optional(),
|
|
120
|
+
minPatternStrength: z.number().min(0).max(1).optional()
|
|
121
|
+
}).strict().optional()
|
|
122
|
+
}).strict().optional()
|
|
123
|
+
}).strict().default({ enabled: false });
|
|
124
|
+
UserContextConfigSchema = z.object({
|
|
125
|
+
enabled: z.boolean().default(true),
|
|
126
|
+
memory: UserMemoryConfigSchema,
|
|
127
|
+
understanding: UserUnderstandingConfigSchema,
|
|
128
|
+
privacy: UserContextPrivacySchema,
|
|
129
|
+
providerRouting: UserContextProviderRoutingSchema,
|
|
130
|
+
dreaming: UserContextDreamingSchema
|
|
131
|
+
}).strict().default({
|
|
132
|
+
enabled: true,
|
|
133
|
+
memory: {
|
|
134
|
+
mode: "confirmWrite",
|
|
135
|
+
sources: ["session", "curated"],
|
|
136
|
+
writePolicy: { curated: "confirm" }
|
|
137
|
+
},
|
|
138
|
+
understanding: {
|
|
139
|
+
enabled: true,
|
|
140
|
+
adaptiveCadence: true,
|
|
141
|
+
reviewIntervalTurns: 10,
|
|
142
|
+
maxHistoryMessages: 80,
|
|
143
|
+
maxDurationMs: 12e4
|
|
144
|
+
},
|
|
145
|
+
privacy: { sensitiveWritePolicy: "confirm" },
|
|
146
|
+
providerRouting: {
|
|
147
|
+
searchStrategy: "fanout",
|
|
148
|
+
writeStrategy: "local-first",
|
|
149
|
+
allowExternalWrites: false
|
|
150
|
+
},
|
|
151
|
+
dreaming: { enabled: false }
|
|
152
|
+
});
|
|
153
|
+
}));
|
|
154
|
+
//#endregion
|
|
155
|
+
init_config();
|
|
156
|
+
export { UserContextConfigSchema, UserContextDreamingSchema, UserContextPrivacySchema, UserContextProviderRoutingSchema, UserMemoryConfigSchema, UserMemoryModeSchema, UserUnderstandingConfigSchema, init_config };
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../src/user-context/config.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const UserMemoryModeSchema = z.enum(['off', 'readOnly', 'confirmWrite', 'auto']);\n\nexport const UserMemoryConfigSchema = z\n .object({\n mode: UserMemoryModeSchema.default('off'),\n sources: z\n .array(z.enum(['session', 'userProfile', 'agentProfile', 'curated', 'workspace', 'connectedSources']))\n .default(['session']),\n writePolicy: z\n .object({\n userProfile: z.enum(['deny', 'confirm', 'allow']).optional(),\n agentProfile: z.enum(['deny', 'confirm', 'allow']).optional(),\n curated: z.enum(['deny', 'confirm', 'allow']).optional(),\n workspace: z.enum(['deny', 'confirm', 'allow']).optional(),\n })\n .strict()\n .optional(),\n retention: z\n .object({\n compaction: z.boolean().default(true),\n maxAgeDays: z.number().int().positive().optional(),\n maxItems: z.number().int().positive().optional(),\n maxChars: z.number().int().positive().optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .default({ mode: 'off', sources: ['session'] });\n\nexport const UserUnderstandingConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n adaptiveCadence: z.boolean().default(true),\n reviewIntervalTurns: z.number().int().min(1).max(1_000).default(10),\n maxHistoryMessages: z.number().int().min(1).max(200).default(80),\n maxDurationMs: z.number().int().min(1_000).max(600_000).default(120_000),\n })\n .strict()\n .default({\n enabled: true,\n adaptiveCadence: true,\n reviewIntervalTurns: 10,\n maxHistoryMessages: 80,\n maxDurationMs: 120_000,\n });\n\nexport const UserContextPrivacySchema = z\n .object({\n sensitiveWritePolicy: z.enum(['deny', 'confirm', 'allow']).default('confirm'),\n })\n .strict()\n .default({ sensitiveWritePolicy: 'confirm' });\n\nexport const UserContextProviderRoutingSchema = z\n .object({\n searchStrategy: z\n .enum(['local-first', 'external-first', 'fanout', 'local-only', 'external-only'])\n .default('fanout'),\n writeStrategy: z\n .enum(['local-first', 'external-first', 'write-through', 'local-only', 'external-only'])\n .default('local-first'),\n allowExternalWrites: z.boolean().default(false),\n allowedProviderIds: z.array(z.string().min(1)).optional(),\n autoWriteKinds: z.array(z.string().min(1)).optional(),\n })\n .strict()\n .default({\n searchStrategy: 'fanout',\n writeStrategy: 'local-first',\n allowExternalWrites: false,\n });\n\nconst DreamingPhaseSchema = z\n .object({\n enabled: z.boolean().optional(),\n cron: z.string().min(1).optional(),\n })\n .strict();\n\nexport const UserContextDreamingSchema = z\n .object({\n enabled: z.boolean().default(false),\n frequency: z.string().min(1).optional(),\n timezone: z.string().optional(),\n phases: z\n .object({\n light: DreamingPhaseSchema.extend({\n lookbackDays: z.number().int().positive().optional(),\n limit: z.number().int().nonnegative().optional(),\n dedupeSimilarity: z.number().min(0).max(1).optional(),\n }).strict().optional(),\n deep: DreamingPhaseSchema.extend({\n minScore: z.number().min(0).max(1).optional(),\n minRecallCount: z.number().int().positive().optional(),\n minUniqueQueries: z.number().int().positive().optional(),\n limit: z.number().int().nonnegative().optional(),\n recencyHalfLifeDays: z.number().positive().optional(),\n maxAgeDays: z.number().positive().optional(),\n }).strict().optional(),\n rem: DreamingPhaseSchema.extend({\n lookbackDays: z.number().int().positive().optional(),\n limit: z.number().int().nonnegative().optional(),\n minPatternStrength: z.number().min(0).max(1).optional(),\n }).strict().optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .default({ enabled: false });\n\nexport const UserContextConfigSchema = z\n .object({\n enabled: z.boolean().default(true),\n memory: UserMemoryConfigSchema,\n understanding: UserUnderstandingConfigSchema,\n privacy: UserContextPrivacySchema,\n providerRouting: UserContextProviderRoutingSchema,\n dreaming: UserContextDreamingSchema,\n })\n .strict()\n .default({\n enabled: true,\n memory: { mode: 'confirmWrite', sources: ['session', 'curated'], writePolicy: { curated: 'confirm' } },\n understanding: {\n enabled: true,\n adaptiveCadence: true,\n reviewIntervalTurns: 10,\n maxHistoryMessages: 80,\n maxDurationMs: 120_000,\n },\n privacy: { sensitiveWritePolicy: 'confirm' },\n providerRouting: {\n searchStrategy: 'fanout',\n writeStrategy: 'local-first',\n allowExternalWrites: false,\n },\n dreaming: { enabled: false },\n });\n\nexport type UserContextConfig = z.infer<typeof UserContextConfigSchema>;\n"],"mappings":"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"}
|