@xopcai/xopc 0.0.374 → 0.0.376
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/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-BeYLqqr8.js → activity-store-CvR3rjdp.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BrA20N2m.js → agent-avatar-dicebear-B6OsxiBw.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-MB_QmjX-.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-Bpcf0zhP.js +1 -0
- package/dist/gateway/static/root/assets/agents-BQ7ag_R3.js +66 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-B4tgTbWG.js → agents-admin-api-DsXvJeqd.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-BXahEVPm.js → app-management-settings-panel-9JzhRHSD.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-CE2qJMkD.js → appearance-settings-CoyZuGAt.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-DGVOnCxZ.js → apps-page-CcbCxZaw.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-bI9OLnXj.js → archive-plugin-kfDRSd7K.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-BWL7eT4_.js → automations-page-DZJKbmlm.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-ChKT1JN6.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-dOwLzjeH.js → binary-plugins-d4QP_iyy.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-3n446-mX.js → block-editor-DraiSml9.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-automation-inputs-i7h1Svpf.js → browser-automation-inputs-BAiaU9gl.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-Bo40qRor.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-Dg4S7ph5.js +3 -0
- package/dist/gateway/static/root/assets/{capabilities-D4KFLtqM.js → capabilities-B-vsqiw2.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-CquUV0DP.js → capabilities-DQEeiNq_.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-page-CuHSjBDG.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-bxxADxzW.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-BRMqvQVb.js → capability-header-actions-CaH0L2sV.js} +1 -1
- package/dist/gateway/static/root/assets/channels-Drx78hEY.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-BRdzCjWO.js → chat-terminal-dock-hZnKhClF.js} +2 -2
- package/dist/gateway/static/root/assets/{computer-settings-page-BhCHMRpD.js → computer-settings-page-CYEA9B-G.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-BXE8Z-Ll.js → connector-service-page-DXi2Bx2u.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-BCWPY5hs.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-BJ7N92wm.js → date-picker-BW_xBw2L.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-gyxCM-hb.js → dependency-picker-ByRPupfC.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-B-WM4l-L.js → desktop-pet-DTcVMPlC.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-usJqcew5.js → desktop-pet-settings-BkMP5pdR.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-DoSR4DGk.js → device-pairing-wizard-5kYuK9oW.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-DqVlV2YH.js → directory-picker-path-field-DIYIejyX.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CbgEonkK.js → extension-debug-page-QCUvXcP2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-CUule9SU.js → extension-page-BMeQveJ_.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-DxlAZ2iy.js → extension-provider-CDOEBj7F.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-_OFukkEJ.js → extension-settings-page-D-M7P4HQ.js} +1 -1
- package/dist/gateway/static/root/assets/{fallback-models-CiSc3h8i.js → fallback-models-5DaUVrLS.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-BoRkBnsw.js → gateway-config-swr-CWIVt5XM.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-C3WQQY10.js → gateway-realtime-DC8N3fNU.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BkE2mHog.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-DK2NzPkL.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-TYSQEQcG.js → gateway-startup-retry-pVqdX0dO.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-A3oTV3Vq.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-_pKiNfSq.js → image-generation-api-CX6__We2.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-DdvIj-ZL.js → imports-page-b0ILSTz1.js} +1 -1
- package/dist/gateway/static/root/assets/index-Cz75qf5b.js +106 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DbqFlNsF.js → keyboard-shortcuts-settings-DGl7wSHG.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-REowUzkp.js → local-app-workbench-page--W2QjBqz.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-DdCMNn_z.js → local-apps-page-8SQ85WLr.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-Cg9RdsNN.js → local-session-drafts-LCEmswHW.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-rWFLl-p4.js → locale-store-UEl-U1DO.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-BAQeHGd4.js +2 -0
- package/dist/gateway/static/root/assets/{management-settings-D4vcSRE3.js → management-settings-DoXDsSSN.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-BHFFusQs.js → markdown-view-DUo9Tl3H.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-BVPTMWJI.js → media-plugins-8zr2wlMR.js} +1 -1
- package/dist/gateway/static/root/assets/{messages-C1SUo4gG.js → messages-Uqz0xpsK.js} +2 -2
- package/dist/gateway/static/root/assets/models-hub-cache-3HOFy11k.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-Cg65uYJ3.js +5 -0
- package/dist/gateway/static/root/assets/{notes-api-CSLVCZBn.js → notes-api-bDQOslzF.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-DDUlWJOk.js +8 -0
- package/dist/gateway/static/root/assets/number-input-DDeqHK-G.js +1 -0
- package/dist/gateway/static/root/assets/{page-context-capture-button-D7Y4vFRN.js → page-context-capture-button-o-i2_7Jz.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-E9-LBR1_.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-CK_czbBx.js → product-open-page-DWgjStlK.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-CU6KlaVP.js → product-preview-content-BWQRI242.js} +1 -1
- package/dist/gateway/static/root/assets/{project-detail-page-c3ye2bdq.js → project-detail-page-FjGobz6n.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-BA1UuuRF.js → projects-page-CVhXJp7f.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-CoMBYjHD.js → registry-api-CftkuRz7.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-B2AcKWlb.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-Cxjmwdyf.js → runtime-tools-settings-panel-DmOfq9ay.js} +1 -1
- package/dist/gateway/static/root/assets/{scenes-page-Av47PHdM.js → scenes-page-QQ2CiTee.js} +2 -2
- package/dist/gateway/static/root/assets/schema-form-TbUx_9NF.js +1 -0
- package/dist/gateway/static/root/assets/{send-session-input-CLhR1uEp.js → send-session-input-D4c72mD6.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-u_4_kFQt.js → session-api-DtpzfFNw.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-De46GeR0.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-CquSXQHo.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BOHKIN4t.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-BeVtwwVd.js → settings-page-NncRVc1e.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-t1vcGUsK.js +1 -0
- package/dist/gateway/static/root/assets/{share-link-dialog-XhiuPKF4.js → share-link-dialog-DGUiTTZ3.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-Vc0TQuZ8.js → share-preview-page-BDl6XGKm.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-BVSb1vh4.js → shares-api-BIx5ji2U.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DVM6xJuW.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-Dgwc707w.js → skill-api-Crld1PEV.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-BsLx_FXd.js → skill-reload-api-D2HAboLP.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-DdD6C_Z8.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-Ck6zGDHb.js → system-settings-panel-DUro5X0b.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-C3ZPEZqw.js → task-detail-page-BYNcWubZ.js} +2 -2
- package/dist/gateway/static/root/assets/{task-expandable-content-DxeBTJvh.js → task-expandable-content-BKa2YEJy.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-KcQhCg1-.js → theme-store-ByAapAD7.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-Dv-XBvpD.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-CjxMpAm2.js → tunnel-api-C2_SEpMa.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-Dnhp9xQ4.js → usage-page-CqMzyGiK.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-C-IWxbzm.js → use-autosave-BhsYFV0o.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-Dxphaxk-.js → use-composer-attachments-Bv4umde0.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-Du37Gofn.js → use-file-preview-expanded-CBVymo3h.js} +2 -2
- package/dist/gateway/static/root/assets/user-model-page-EMn_nA9w.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-7BImy8Jc.js → voice-api-key-field-DRoGFFs6.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-6MINytQl.js → voice-config-api-BwLiaw5J.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-CVd_y3K2.js → work-discovery-overlay-DbH62mtI.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-Dwg40uGK.js → workflow-run-setup-panel-BYfytB9q.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-rJqJ9dQo.js +6 -0
- package/dist/gateway/static/root/assets/{workspace-api-CXiyhTwv.js → workspace-api-BHy2a_hm.js} +2 -2
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-CaKc_J7j.js → xopc-cloud-account-card-DrAX_9m_.js} +1 -1
- package/dist/gateway/static/root/index.html +26 -26
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +2 -7
- package/dist/src/agent/agent-manager.js +23 -52
- package/dist/src/agent/background-review/coordinator.js +1 -1
- package/dist/src/agent/background-review/prompts.d.ts +6 -0
- package/dist/src/agent/background-review/prompts.js +7 -1
- package/dist/src/agent/background-review/run-background-review.d.ts +3 -0
- package/dist/src/agent/background-review/run-background-review.js +183 -15
- package/dist/src/agent/context/coordinator.d.ts +1 -0
- package/dist/src/agent/context/coordinator.js +11 -2
- package/dist/src/agent/context/execution-context.js +40 -4
- package/dist/src/agent/context/project-context.js +11 -3
- package/dist/src/agent/embedded/model-runtime.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +2 -2
- package/dist/src/agent/embedded/run-turn.js +5 -5
- package/dist/src/agent/image/tool-model-config.js +1 -1
- package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
- package/dist/src/agent/mcp/connection-setup.d.ts +21 -0
- package/dist/src/agent/mcp/connection-setup.js +214 -0
- package/dist/src/agent/mcp/tool-catalog.d.ts +18 -0
- package/dist/src/agent/mcp/tool-catalog.js +120 -0
- package/dist/src/agent/memory/compaction-promotion.d.ts +2 -0
- package/dist/src/agent/memory/compaction-promotion.js +33 -2
- package/dist/src/agent/service.js +5 -5
- package/dist/src/agent/tasks/task-judge-service.js +3 -3
- package/dist/src/agent/tools/factory.js +1 -1
- package/dist/src/agent/tools/knowledge-memory-tool.js +14 -6
- package/dist/src/auth/credentials.js +2 -2
- package/dist/src/auth/model-credential-store.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +2 -2
- package/dist/src/automations/draft/automation-draft-service.js +1 -1
- package/dist/src/chat-commands/agent-edit.js +1 -1
- package/dist/src/chat-commands/builtins/config.js +1 -1
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/cli/commands/agent.js +2 -2
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/image-providers.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +2 -2
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard/model.js +3 -3
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/config/agent-model-intents.js +1 -1
- package/dist/src/config/index.js +4 -4
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/schema.d.ts +5 -0
- package/dist/src/config/schema.js +5 -5
- package/dist/src/connectors/connected-source-ingestion.js +45 -7
- package/dist/src/connectors/connected-source-understanding.d.ts +1 -0
- package/dist/src/connectors/connected-source-understanding.js +59 -67
- package/dist/src/connectors/content-enrichment.js +1 -1
- package/dist/src/connectors/health.js +35 -2
- package/dist/src/connectors/learning-coordinator.js +2 -2
- package/dist/src/extensions/activation-context.js +1 -1
- package/dist/src/gateway/file-path-classifier.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +5 -0
- package/dist/src/gateway/hono/lib/config-payload.js +2 -2
- package/dist/src/gateway/hono/routes/config-patch/misc.js +5 -5
- package/dist/src/gateway/hono/routes/connectors.js +4 -4
- package/dist/src/gateway/hono/routes/context-sources.js +2 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +2 -1
- package/dist/src/gateway/hono/routes/mcp.js +90 -1
- package/dist/src/gateway/hono/routes/memory-learning.d.ts +3 -0
- package/dist/src/gateway/hono/routes/memory-learning.js +76 -0
- package/dist/src/gateway/hono/routes/models.js +2 -2
- package/dist/src/gateway/hono/routes/observability.js +1 -1
- package/dist/src/gateway/hono/routes/projects.js +1 -1
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
- package/dist/src/gateway/hono/routes/user-model.js +5 -3
- package/dist/src/gateway/hono/routes/voice.js +1 -1
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service.js +18 -8
- package/dist/src/home-intelligence/generator.js +1 -1
- package/dist/src/imports/inventory.js +1 -1
- package/dist/src/infra/update-restart.d.ts +5 -0
- package/dist/src/infra/update-restart.js +38 -31
- package/dist/src/infra/update-runner.d.ts +1 -0
- package/dist/src/infra/update-runner.js +47 -18
- package/dist/src/knowledge/chunks.d.ts +10 -0
- package/dist/src/knowledge/chunks.js +28 -0
- package/dist/src/knowledge/connected-knowledge-pipeline.js +67 -33
- package/dist/src/knowledge/index.js +1 -1
- package/dist/src/knowledge/ingestion-service.js +5 -1
- package/dist/src/knowledge/local-folder-adapter.d.ts +2 -1
- package/dist/src/knowledge/local-folder-adapter.js +22 -13
- package/dist/src/knowledge-memory/domain.d.ts +4 -0
- package/dist/src/knowledge-memory/index.d.ts +1 -0
- package/dist/src/knowledge-memory/index.js +2 -1
- package/dist/src/knowledge-memory/repair-evidence.d.ts +2 -0
- package/dist/src/knowledge-memory/repair-evidence.js +57 -0
- package/dist/src/knowledge-memory/repository.d.ts +8 -0
- package/dist/src/knowledge-memory/repository.js +48 -27
- package/dist/src/knowledge-memory/search-text.d.ts +3 -0
- package/dist/src/knowledge-memory/search-text.js +32 -0
- package/dist/src/knowledge-memory/usage-policy.d.ts +6 -0
- package/dist/src/knowledge-memory/usage-policy.js +61 -0
- package/dist/src/memory-learning/repository.d.ts +24 -0
- package/dist/src/memory-learning/repository.js +96 -0
- package/dist/src/memory-learning/service.d.ts +17 -0
- package/dist/src/memory-learning/service.js +105 -0
- package/dist/src/memory-learning/source-learning.d.ts +7 -0
- package/dist/src/memory-learning/source-learning.js +235 -0
- package/dist/src/memory-learning/task-receipts.d.ts +3 -0
- package/dist/src/memory-learning/task-receipts.js +95 -0
- package/dist/src/memory-learning/work-capture.d.ts +51 -0
- package/dist/src/memory-learning/work-capture.js +140 -0
- package/dist/src/memory-maintenance/service.js +5 -5
- package/dist/src/notes/service.js +1 -1
- package/dist/src/observability/runtime.js +1 -1
- package/dist/src/personal-agent/proactivity/service.js +3 -3
- package/dist/src/personal-agent/prompt-context.js +2 -2
- package/dist/src/personal-agent/reply-composer.d.ts +1 -1
- package/dist/src/personal-agent/reply-composer.js +10 -3
- package/dist/src/platform/index.js +1 -1
- package/dist/src/providers/index.js +4 -4
- package/dist/src/providers/local-model.d.ts +2 -0
- package/dist/src/providers/local-model.js +16 -0
- package/dist/src/providers/model-registry.js +2 -2
- package/dist/src/providers/provider-auth-service.js +1 -1
- package/dist/src/providers/provider-disconnect-core.js +1 -1
- package/dist/src/providers/register-runtime-providers.js +1 -1
- package/dist/src/providers/xopc-cloud-catalog-coordinator.js +1 -1
- package/dist/src/scenes/taskFollowUp/service.js +1 -1
- package/dist/src/session/session-title.js +1 -1
- package/dist/src/session/store.js +2 -1
- package/dist/src/storage/sqlite/knowledge-repository.js +6 -0
- package/dist/src/storage/sqlite/migrations/245_memory_learning.sql +125 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +6 -3
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/tasks/task-main-update-decision-service.js +1 -1
- package/dist/src/tui/backends/embedded-backend.js +3 -3
- package/dist/src/tui/extension-host/load-extensions.js +1 -1
- package/dist/src/tui/tui-commands.js +1 -1
- package/dist/src/tui/tui-skills-autocomplete.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +2 -2
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/user-context/access-policy.js +2 -1
- package/dist/src/user-context/config.d.ts +10 -0
- package/dist/src/user-context/config.js +5 -0
- package/dist/src/user-context/extraction/registry.d.ts +1 -1
- package/dist/src/user-context/extraction/registry.js +10 -0
- package/dist/src/user-context/identity-bindings.d.ts +10 -0
- package/dist/src/user-context/identity-bindings.js +24 -0
- package/dist/src/user-context/sources/consent-fields.d.ts +2 -0
- package/dist/src/user-context/sources/consent-fields.js +66 -0
- package/dist/src/user-model/bootstrap.js +1 -1
- package/dist/src/user-model/capture/executor.js +1 -1
- package/dist/src/user-model/capture/semantic.d.ts +3 -1
- package/dist/src/user-model/capture/semantic.js +14 -6
- package/dist/src/user-model/index.js +1 -1
- package/dist/src/user-model/usage-policy.js +34 -0
- package/dist/src/voice/platform-streams.js +2 -1
- package/dist/src/voice/realtime/agentEngine.js +21 -5
- package/dist/src/voice/realtime/engine.d.ts +4 -0
- package/dist/src/voice/realtime/memory-context.js +19 -5
- package/dist/src/voice/realtime/runtime.d.ts +5 -0
- package/dist/src/voice/realtime/runtime.js +4 -0
- package/dist/src/work-discovery/incremental-repository.js +1 -1
- package/dist/src/work-discovery/service.js +6 -6
- package/dist/src/workflows/service/workflow-run-service.js +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +38 -10
- package/package.json +3 -3
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BZrOdxou.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-B3ux1AhY.js +0 -1
- package/dist/gateway/static/root/assets/agents-CXlXFU6M.js +0 -66
- package/dist/gateway/static/root/assets/automations-workspace-BxIShhkZ.js +0 -6
- package/dist/gateway/static/root/assets/browser-automations-page-BmTK7Gtn.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-DBQ-WETQ.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-page-D-nQ6Zzi.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Dx1fpBmH.js +0 -8
- package/dist/gateway/static/root/assets/channels-DXfEP1FR.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-D9RZjhw8.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-cLCDEe4D.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-qSUrpS1h.js +0 -1
- package/dist/gateway/static/root/assets/home-page-COjDsuzg.js +0 -2
- package/dist/gateway/static/root/assets/index-DEaVabvo.js +0 -106
- package/dist/gateway/static/root/assets/logs-page-B_6fHDoi.js +0 -2
- package/dist/gateway/static/root/assets/models-hub-cache-Jj8dvYcv.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-B7U6EbAi.js +0 -5
- package/dist/gateway/static/root/assets/notes-page-BzHVaH8j.js +0 -8
- package/dist/gateway/static/root/assets/personal-page-E6huhFk4.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-D_FLVZAm.js +0 -1
- package/dist/gateway/static/root/assets/schema-form-IM7QeSm3.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-B06ZCie_.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-Bol3ScEc.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-DpCanqrD.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-zTmrMwMm.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-Bkhkt_6M.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-CFIte-vM.js +0 -2
- package/dist/gateway/static/root/assets/tracing-settings-page-DJRAP3nb.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-sx1lNWKf.js +0 -2
- package/dist/gateway/static/root/assets/workflows-page-BQR4JdXB.js +0 -6
|
@@ -146,7 +146,7 @@ function reconcileEvidence(db, runId, principalId, now, limit, evidenceThreshold
|
|
|
146
146
|
function activateKnowledge(db, runId, principalId, now, limit, metrics) {
|
|
147
147
|
const rows = db.prepare(`SELECT knowledge_id FROM knowledge_items
|
|
148
148
|
WHERE principal_id = ? AND record_class = 'memory' AND status = 'candidate'
|
|
149
|
-
AND origin_class IN ('owner', 'agent', 'system') AND confidence >= 0.7
|
|
149
|
+
AND origin_class IN ('owner', 'agent', 'system') AND confidence >= 0.7 AND verification = 'supported'
|
|
150
150
|
AND derived_from_recalled_context = 0
|
|
151
151
|
AND (valid_from IS NULL OR valid_from <= ?) AND (valid_to IS NULL OR valid_to >= ?)
|
|
152
152
|
AND (expires_at IS NULL OR expires_at >= ?) AND (review_at IS NULL OR review_at > ?)
|
|
@@ -166,14 +166,14 @@ function repairIndexes(db, runId, now, metrics) {
|
|
|
166
166
|
LEFT JOIN user_assertions_fts f ON f.assertion_id = a.assertion_id
|
|
167
167
|
WHERE f.assertion_id IS NULL`).get();
|
|
168
168
|
const knowledgeMissing = db.prepare(`SELECT COUNT(*) AS count FROM knowledge_items k
|
|
169
|
-
LEFT JOIN
|
|
169
|
+
LEFT JOIN knowledge_search_fts f ON f.knowledge_id = k.knowledge_id
|
|
170
170
|
WHERE f.knowledge_id IS NULL`).get();
|
|
171
171
|
if (assertionMissing.count) db.prepare(`INSERT INTO user_assertions_fts(statement, assertion_id, slot_id)
|
|
172
172
|
SELECT a.statement, a.assertion_id, a.slot_id FROM user_assertions a
|
|
173
173
|
LEFT JOIN user_assertions_fts f ON f.assertion_id = a.assertion_id WHERE f.assertion_id IS NULL`).run();
|
|
174
|
-
if (knowledgeMissing.count) db.prepare(`INSERT INTO
|
|
175
|
-
SELECT k.content, k.knowledge_id FROM knowledge_items k
|
|
176
|
-
LEFT JOIN
|
|
174
|
+
if (knowledgeMissing.count) db.prepare(`INSERT INTO knowledge_search_fts(search_text, knowledge_id)
|
|
175
|
+
SELECT xopc_memory_search_text(k.content), k.knowledge_id FROM knowledge_items k
|
|
176
|
+
LEFT JOIN knowledge_search_fts f ON f.knowledge_id = k.knowledge_id WHERE f.knowledge_id IS NULL`).run();
|
|
177
177
|
metrics.repairedIndexes = assertionMissing.count + knowledgeMissing.count;
|
|
178
178
|
if (metrics.repairedIndexes) addDecision(db, runId, "index", "fts", "repair", "missing_index_rows", { missing: metrics.repairedIndexes }, { missing: 0 }, now);
|
|
179
179
|
}
|
|
@@ -7,8 +7,8 @@ import { init_note_markdown, parseNoteMarkdown } from "./note-markdown.js";
|
|
|
7
7
|
import { init_notes_repository, listNoteProjectSummaries } from "../storage/sqlite/notes-repository.js";
|
|
8
8
|
import { changedFieldsFromPatch, emitActivity, previewText, systemActivityActor, systemActivitySource } from "../activity/emitter.js";
|
|
9
9
|
import { getDefaultModelSync, init_providers, resolveModel } from "../providers/index.js";
|
|
10
|
-
import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
|
|
11
10
|
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
11
|
+
import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
|
|
12
12
|
import { partitionAttachmentsByReference } from "./note-attachment-sync.js";
|
|
13
13
|
import { buildNoteAgentContextArtifact, getCachedNoteAgentContextArtifact } from "./agent-context.js";
|
|
14
14
|
import { revokeNoteShareRecords } from "../share/note-share-revocation.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { init_context, runWithLogContext } from "../utils/logger/context.js";
|
|
2
2
|
import { createLogger } from "../utils/logger/index.js";
|
|
3
3
|
import { init_logger } from "../utils/logger.js";
|
|
4
|
-
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
5
4
|
import { TracingConfigSchema, defaultTracingConfig, init_config } from "./config.js";
|
|
5
|
+
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
6
6
|
import { LangfuseTarget } from "./langfuse.js";
|
|
7
7
|
import { boundedJson, redactString } from "./sanitize.js";
|
|
8
8
|
import { LocalTraceStore } from "./store.js";
|
|
@@ -6,13 +6,13 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
|
6
6
|
import { init_session_instance_repository, readCurrentTranscriptId } from "../../storage/sqlite/session-instance-repository.js";
|
|
7
7
|
import { appendTranscriptEntry, init_transcript_repository } from "../../storage/sqlite/transcript-repository.js";
|
|
8
8
|
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
9
|
-
import { init_providers, resolveModel } from "../../providers/index.js";
|
|
10
9
|
import { resolveUserContextSessionAccess } from "../../user-context/access-policy.js";
|
|
10
|
+
import { init_providers, resolveModel } from "../../providers/index.js";
|
|
11
|
+
import { completeWithResolvedCredentials } from "../../providers/model-call.js";
|
|
12
|
+
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../../providers/model-response.js";
|
|
11
13
|
import { getPersonalAgent } from "../repository.js";
|
|
12
14
|
import { DurableState } from "../../storage/sqlite/durable-state.js";
|
|
13
15
|
import { enqueueDue, enqueueWakeup, getAttention, getAttentionSources, getProactivitySettings, isQuiet, listAttention, localDay, preparationStrategy, recordFeedback, reserveModelCall, saveAttention, sourceFingerprint, userText } from "./repository.js";
|
|
14
|
-
import { completeWithResolvedCredentials } from "../../providers/model-call.js";
|
|
15
|
-
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../../providers/model-response.js";
|
|
16
16
|
import { emitSessionTranscriptUpdate } from "../../session/transcript-events.js";
|
|
17
17
|
import { PERSONAL_PERSONA_GUIDANCE } from "../persona.js";
|
|
18
18
|
import { personalConversationState } from "../conversation-state.js";
|
|
@@ -6,10 +6,10 @@ import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
|
|
|
6
6
|
import { init_agent_config } from "../agent-config/index.js";
|
|
7
7
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
8
8
|
import { isKnowledgeCurrent, knowledgeItemAllowed, listKnowledgeItems } from "../knowledge-memory/repository.js";
|
|
9
|
-
import "../knowledge-memory/index.js";
|
|
10
|
-
import { getProjectForSession } from "../projects/workspace.js";
|
|
11
9
|
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
10
|
+
import "../knowledge-memory/index.js";
|
|
12
11
|
import { getActiveAssertionForSlot } from "../user-model/repository.js";
|
|
12
|
+
import { getProjectForSession } from "../projects/workspace.js";
|
|
13
13
|
import { canUseAssertion } from "../user-model/usage-policy.js";
|
|
14
14
|
import "../user-model/index.js";
|
|
15
15
|
import { isPersonalConversation } from "./repository.js";
|
|
@@ -17,6 +17,6 @@ export declare class PersonalReplyComposer {
|
|
|
17
17
|
private readonly compose;
|
|
18
18
|
private readonly timeoutMs;
|
|
19
19
|
constructor(compose?: typeof completeReply, timeoutMs?: number);
|
|
20
|
-
drain(notify: (conversationId: string, deliveryId: string) => void
|
|
20
|
+
drain(notify: (conversationId: string, deliveryId: string) => void | Promise<void>, isAvailable?: (conversationId: string) => boolean): Promise<void>;
|
|
21
21
|
}
|
|
22
22
|
export {};
|
|
@@ -10,11 +10,11 @@ import { getSessionConfig, init_config_repository } from "../storage/sqlite/conf
|
|
|
10
10
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
11
11
|
import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
|
|
12
12
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
13
|
+
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
14
|
+
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../providers/model-response.js";
|
|
13
15
|
import { getPersonalAgentByConversation } from "./repository.js";
|
|
14
16
|
import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
|
|
15
17
|
import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
|
|
16
|
-
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
17
|
-
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../providers/model-response.js";
|
|
18
18
|
import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
19
19
|
import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
|
|
20
20
|
import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
|
|
@@ -286,7 +286,14 @@ var PersonalReplyComposer = class {
|
|
|
286
286
|
})) return;
|
|
287
287
|
}
|
|
288
288
|
emitSessionTranscriptUpdate({ conversationId: packet.delivery.conversationId });
|
|
289
|
-
|
|
289
|
+
const notificationLease = setInterval(() => {
|
|
290
|
+
db.prepare("UPDATE task_result_deliveries SET reply_lease_until = ? WHERE delivery_id = ? AND reply_lease_token = ?").run(Date.now() + this.timeoutMs + 5e3, row.delivery_id, row.lease_token);
|
|
291
|
+
}, 5e3);
|
|
292
|
+
try {
|
|
293
|
+
await notify(packet.delivery.conversationId, `reply:${packet.delivery.deliveryId}`);
|
|
294
|
+
} finally {
|
|
295
|
+
clearInterval(notificationLease);
|
|
296
|
+
}
|
|
290
297
|
db.prepare("UPDATE task_result_deliveries SET reply_notified_at = ?, reply_lease_until = 0 WHERE delivery_id = ?").run(Date.now(), row.delivery_id);
|
|
291
298
|
if (packet.requestId) db.prepare("UPDATE personal_requests SET notified_at = ? WHERE request_id = ?").run(Date.now(), packet.requestId);
|
|
292
299
|
} catch (err) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { init_resolution, resolveConnectedPlatformDiscovery, resolveConnectedPlatformEndpoint, setActivePlatformDiscovery } from "./resolution.js";
|
|
2
1
|
import { AgentManifestSchema, PlatformCapabilitySchema, PlatformConfigSchema, PlatformDiscoverySchema, PlatformEventSchema, init_contracts } from "./contracts.js";
|
|
2
|
+
import { init_resolution, resolveConnectedPlatformDiscovery, resolveConnectedPlatformEndpoint, setActivePlatformDiscovery } from "./resolution.js";
|
|
3
3
|
import { PLATFORM_RUNTIME_PROFILE, PLATFORM_RUNTIME_PROVIDER, PlatformRuntimeClient, RuntimeCommandSchema, discoverPlatform } from "./client.js";
|
|
4
4
|
import { processRuntimeCommand } from "./worker.js";
|
|
5
5
|
//#region src/platform/index.ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __esmMin, __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
3
|
+
import { assertCurrentModelProvider, init_provider_policy, isRetiredModelProvider } from "./provider-policy.js";
|
|
2
4
|
import { PROVIDER_ENV_MAP, getApiKeyFromEnv, init_env_keys } from "./env-keys.js";
|
|
5
|
+
import { init_model_ref, splitProviderModelRef } from "./model-ref.js";
|
|
6
|
+
import { ModelRegistry, getModelRegistry, init_model_registry, prewarmModelRegistry, resetModelRegistry } from "./model-registry.js";
|
|
3
7
|
import { getModelOAuthProviderIds, init_registry } from "../auth/oauth/registry.js";
|
|
4
|
-
import { assertCurrentModelProvider, init_provider_policy, isRetiredModelProvider } from "./provider-policy.js";
|
|
5
8
|
import { CredentialResolver, hasCredentials, init_credentials } from "../auth/credentials.js";
|
|
6
|
-
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
7
9
|
import { hasProviderAuthOnDiskSync, init_sync_provider_auth } from "../auth/sync-provider-auth.js";
|
|
8
|
-
import { init_model_ref, splitProviderModelRef } from "./model-ref.js";
|
|
9
|
-
import { ModelRegistry, getModelRegistry, init_model_registry, prewarmModelRegistry, resetModelRegistry } from "./model-registry.js";
|
|
10
10
|
import { EXTENSION_PROVIDER_BASE_URL, init_constants } from "./constants.js";
|
|
11
11
|
import { applyOfficialModelMetadataCorrections, getSupplementalModels, init_model_supplements } from "./model-supplements.js";
|
|
12
12
|
import { getProviderRegistry, init_plugin_registry } from "./plugin-registry.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/providers/local-model.ts
|
|
2
|
+
/** Local-only processing requires a loopback endpoint, regardless of provider name. */
|
|
3
|
+
function isLoopbackModel(baseUrl) {
|
|
4
|
+
try {
|
|
5
|
+
return [
|
|
6
|
+
"localhost",
|
|
7
|
+
"127.0.0.1",
|
|
8
|
+
"[::1]",
|
|
9
|
+
"::1"
|
|
10
|
+
].includes(new URL(baseUrl).hostname);
|
|
11
|
+
} catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { isLoopbackModel };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { createLogger } from "../utils/logger/index.js";
|
|
3
3
|
import { init_logger } from "../utils/logger.js";
|
|
4
|
-
import {
|
|
4
|
+
import { init_resolve_config_value, resolveConfigValue, resolveHeaders } from "../config/resolve-config-value.js";
|
|
5
5
|
import { resolveModelsJsonPath } from "../config/paths.js";
|
|
6
6
|
import { init_provider_policy, isRetiredModelProvider } from "./provider-policy.js";
|
|
7
|
-
import { init_resolve_config_value, resolveConfigValue, resolveHeaders } from "../config/resolve-config-value.js";
|
|
8
7
|
import { getDefaultModelValues, init_models_json, validateModelsConfig } from "../config/models-json.js";
|
|
8
|
+
import { getApiKeyFromEnv, init_env_keys } from "./env-keys.js";
|
|
9
9
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
10
10
|
import { init_model_ref, splitProviderModelRef } from "./model-ref.js";
|
|
11
11
|
import { existsSync, readFileSync } from "fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { init_paths, resolveModelsJsonPath } from "../config/paths.js";
|
|
3
|
-
import { init_register_bundled_oauth_flows, registerBundledOAuthFlows } from "./register-bundled-oauth-flows.js";
|
|
4
3
|
import { assertCurrentModelProvider, init_provider_policy } from "./provider-policy.js";
|
|
4
|
+
import { init_register_bundled_oauth_flows, registerBundledOAuthFlows } from "./register-bundled-oauth-flows.js";
|
|
5
5
|
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
6
6
|
import { XopcModelCredentialStore, init_model_credential_store } from "../auth/model-credential-store.js";
|
|
7
7
|
import { init_register_runtime_providers, registerRuntimeProviders } from "./register-runtime-providers.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
+
import { getModelRegistry, init_model_registry } from "./model-registry.js";
|
|
3
4
|
import { init_oauth_provider_lock, withOAuthProviderLock } from "../auth/oauth-provider-lock.js";
|
|
4
5
|
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
5
|
-
import { getModelRegistry, init_model_registry } from "./model-registry.js";
|
|
6
6
|
import { getProviderAuthService, init_provider_auth_service } from "./provider-auth-service.js";
|
|
7
7
|
import { evictAllEmbeddedSessionRunners } from "../agent/embedded/session-runner.js";
|
|
8
8
|
//#region src/providers/provider-disconnect-core.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
-
import { getOAuthProviderDefinition, init_registry } from "../auth/oauth/registry.js";
|
|
3
2
|
import { init_provider_policy, isRetiredModelProvider } from "./provider-policy.js";
|
|
4
3
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
4
|
+
import { getOAuthProviderDefinition, init_registry } from "../auth/oauth/registry.js";
|
|
5
5
|
import { XOPC_CLOUD_PROVIDER_ID, init_xopc_cloud_config, resolveXopcModelRouterUrl } from "./xopc-cloud-config.js";
|
|
6
6
|
//#region src/providers/register-runtime-providers.ts
|
|
7
7
|
function registerRuntimeProvider(modelRuntime, source) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
-
import { init_oauth_provider_lock, withOAuthProviderLock } from "../auth/oauth-provider-lock.js";
|
|
4
3
|
import { ModelCatalogPersistence, init_model_catalog_persistence } from "./model-catalog-persistence.js";
|
|
5
4
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
6
5
|
import { getModelRegistry, init_model_registry } from "./model-registry.js";
|
|
6
|
+
import { init_oauth_provider_lock, withOAuthProviderLock } from "../auth/oauth-provider-lock.js";
|
|
7
7
|
import { reloadImageGenerationProviders } from "../agent/image/generation/provider-registry.js";
|
|
8
8
|
import { disconnectProviderCore } from "./provider-disconnect-core.js";
|
|
9
9
|
import { XopcCloudModelSource } from "./xopc-cloud-model-source.js";
|
|
@@ -4,6 +4,7 @@ import { TaskRepository, init_task_repository } from "../../tasks/task-repositor
|
|
|
4
4
|
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
5
5
|
import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
|
|
6
6
|
import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
7
|
+
import { resolveModelSelector } from "../../config/agent-model-intents.js";
|
|
7
8
|
import { init_providers, isProviderConfiguredSync, resolveModel } from "../../providers/index.js";
|
|
8
9
|
import { ExecutionEnvironmentStore } from "../../execution-environments/store.js";
|
|
9
10
|
import { ProjectStore } from "../../projects/project-store.js";
|
|
@@ -12,7 +13,6 @@ import { removeCommandContainer } from "../../agent/commands/command-isolation.j
|
|
|
12
13
|
import { inspectGitRepository } from "../../execution-environments/git.js";
|
|
13
14
|
import { TaskContextRepository } from "../../tasks/task-context-repository.js";
|
|
14
15
|
import { TaskApplicationService } from "../../tasks/task-application-service.js";
|
|
15
|
-
import { resolveModelSelector } from "../../config/agent-model-intents.js";
|
|
16
16
|
import { sceneContentHash } from "../contracts.js";
|
|
17
17
|
import { SceneConflictError, SceneNotFoundError, SceneRepository } from "../repository.js";
|
|
18
18
|
import { SceneSetupError } from "../service.js";
|
|
@@ -5,8 +5,8 @@ import { isCronConversationId } from "../routing/agent-session-key.js";
|
|
|
5
5
|
import { init_session_key } from "../routing/session-key.js";
|
|
6
6
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
7
7
|
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
8
|
-
import { readAgentMessageContent } from "../agent/memory/agent-message-access.js";
|
|
9
8
|
import { stripRuntimeContextFromUserMessage } from "./user-message-display.js";
|
|
9
|
+
import { readAgentMessageContent } from "../agent/memory/agent-message-access.js";
|
|
10
10
|
//#region src/session/session-title.ts
|
|
11
11
|
init_session_key();
|
|
12
12
|
init_providers();
|
|
@@ -13,8 +13,8 @@ import { appendCompactionBoundaryIfUnchanged, appendTranscriptEntry, listCompact
|
|
|
13
13
|
import { getSessionConfig, setSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
14
14
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
15
15
|
import { init_agent_session_key, resolveAgentIdFromConversationId } from "../routing/agent-session-key.js";
|
|
16
|
-
import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
|
|
17
16
|
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
17
|
+
import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
|
|
18
18
|
import { DurableState } from "../storage/sqlite/durable-state.js";
|
|
19
19
|
import { transcriptRowsToClientHistory } from "./client-history.js";
|
|
20
20
|
import { SessionCompactor } from "../agent/memory/compaction.js";
|
|
@@ -551,6 +551,7 @@ var SessionStore = class {
|
|
|
551
551
|
handover: result.handover,
|
|
552
552
|
audit: result.audit,
|
|
553
553
|
sourceEntries: expectedSnapshot.entries,
|
|
554
|
+
readPolicy: access.knowledgePolicy,
|
|
554
555
|
writePolicy: access.knowledge && access.knowledgePolicy.scopes.includes("session") && access.knowledgePolicy.contentSources.includes("memory") ? this.options.config.userContext.knowledgeMemory.writePolicy : "deny"
|
|
555
556
|
});
|
|
556
557
|
log.info({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __esmMin } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "./transaction.js";
|
|
3
|
+
import { init_chunks, replaceKnowledgeChunks } from "../../knowledge/chunks.js";
|
|
3
4
|
import { randomUUID } from "node:crypto";
|
|
4
5
|
//#region src/storage/sqlite/knowledge-repository.ts
|
|
5
6
|
function parseTimestamp(value) {
|
|
@@ -185,6 +186,10 @@ function upsertKnowledgeSourceItems(inputs, nowMs = Date.now()) {
|
|
|
185
186
|
updated_at = excluded.updated_at`).run(id, input.sourceInstanceId, input.collectionScope, input.externalId, input.itemType, input.authorRole ?? null, parseTimestamp(input.occurredAt), parseTimestamp(input.sourceUpdatedAt), input.contentHash, input.normalizedText ?? null, input.payloadRef ?? null, JSON.stringify(input.metadata ?? {}), input.sensitivity ?? "normal", input.retentionClass ?? "bounded", input.synthesisPipeline ?? "user_understanding", input.synthesisStatus ?? "pending", parseTimestamp(input.deletedAt), existing?.created_at ?? nowMs, nowMs);
|
|
186
187
|
const row = db.prepare(`SELECT * FROM knowledge_source_items WHERE item_id = ?`).get(id);
|
|
187
188
|
items.push(sourceItemFromRow(row));
|
|
189
|
+
replaceKnowledgeChunks(db, {
|
|
190
|
+
...sourceItemFromRow(row),
|
|
191
|
+
normalizedText: void 0
|
|
192
|
+
});
|
|
188
193
|
changedItemIds.push(id);
|
|
189
194
|
const changeKind = input.deletedAt ? "deleted" : existing ? "modified" : "added";
|
|
190
195
|
db.prepare(`INSERT INTO knowledge_source_changes (
|
|
@@ -351,6 +356,7 @@ function completeKnowledgeSourceItemSynthesis(input) {
|
|
|
351
356
|
});
|
|
352
357
|
}
|
|
353
358
|
var init_knowledge_repository = __esmMin((() => {
|
|
359
|
+
init_chunks();
|
|
354
360
|
init_transaction();
|
|
355
361
|
}));
|
|
356
362
|
//#endregion
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
ALTER TABLE knowledge_items ADD COLUMN claim_mode TEXT NOT NULL DEFAULT 'observed'
|
|
2
|
+
CHECK (claim_mode IN ('explicit', 'observed', 'inferred', 'reported'));
|
|
3
|
+
ALTER TABLE knowledge_items ADD COLUMN verification TEXT NOT NULL DEFAULT 'supported'
|
|
4
|
+
CHECK (verification IN ('supported', 'tentative', 'conflicted'));
|
|
5
|
+
ALTER TABLE knowledge_items ADD COLUMN sensitivity TEXT NOT NULL DEFAULT 'normal'
|
|
6
|
+
CHECK (sensitivity IN ('normal', 'personal', 'secret', 'regulated'));
|
|
7
|
+
ALTER TABLE user_assertion_evidence ADD COLUMN content_hash TEXT;
|
|
8
|
+
CREATE TRIGGER assertion_evidence_snapshot_insert AFTER INSERT ON user_assertion_evidence BEGIN
|
|
9
|
+
UPDATE user_assertion_evidence SET content_hash = (SELECT content_hash FROM context_evidence WHERE evidence_id = NEW.evidence_id)
|
|
10
|
+
WHERE assertion_id = NEW.assertion_id AND evidence_id = NEW.evidence_id AND relation = NEW.relation;
|
|
11
|
+
END;
|
|
12
|
+
CREATE TRIGGER assertion_evidence_snapshot_update AFTER UPDATE OF confidence ON user_assertion_evidence BEGIN
|
|
13
|
+
UPDATE user_assertion_evidence SET content_hash = (SELECT content_hash FROM context_evidence WHERE evidence_id = NEW.evidence_id)
|
|
14
|
+
WHERE assertion_id = NEW.assertion_id AND evidence_id = NEW.evidence_id AND relation = NEW.relation;
|
|
15
|
+
END;
|
|
16
|
+
UPDATE knowledge_items SET claim_mode = CASE origin_class
|
|
17
|
+
WHEN 'owner' THEN 'explicit' WHEN 'untrusted' THEN 'reported' ELSE 'observed' END,
|
|
18
|
+
verification = CASE WHEN origin_class = 'untrusted' AND record_class = 'memory' THEN 'tentative' ELSE 'supported' END;
|
|
19
|
+
|
|
20
|
+
CREATE TABLE knowledge_revisions (
|
|
21
|
+
revision_id TEXT PRIMARY KEY,
|
|
22
|
+
knowledge_id TEXT NOT NULL REFERENCES knowledge_items(knowledge_id) ON DELETE CASCADE,
|
|
23
|
+
content TEXT NOT NULL,
|
|
24
|
+
source_json TEXT NOT NULL,
|
|
25
|
+
created_at INTEGER NOT NULL
|
|
26
|
+
);
|
|
27
|
+
CREATE INDEX knowledge_revisions_item ON knowledge_revisions(knowledge_id, created_at);
|
|
28
|
+
CREATE TABLE knowledge_evidence_links (
|
|
29
|
+
knowledge_id TEXT NOT NULL REFERENCES knowledge_items(knowledge_id) ON DELETE CASCADE,
|
|
30
|
+
evidence_id TEXT NOT NULL REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
|
|
31
|
+
content_hash TEXT,
|
|
32
|
+
consent_receipt_id TEXT REFERENCES understanding_consent_receipts(receipt_id),
|
|
33
|
+
PRIMARY KEY (knowledge_id, evidence_id)
|
|
34
|
+
);
|
|
35
|
+
CREATE TABLE owner_identity_bindings (
|
|
36
|
+
principal_id TEXT NOT NULL,
|
|
37
|
+
channel TEXT NOT NULL,
|
|
38
|
+
account_id TEXT NOT NULL,
|
|
39
|
+
peer_id TEXT NOT NULL,
|
|
40
|
+
verified_at INTEGER NOT NULL,
|
|
41
|
+
revoked_at INTEGER,
|
|
42
|
+
PRIMARY KEY (channel, account_id, peer_id)
|
|
43
|
+
);
|
|
44
|
+
CREATE TABLE memory_learning_jobs (
|
|
45
|
+
job_id TEXT PRIMARY KEY,
|
|
46
|
+
principal_id TEXT NOT NULL DEFAULT 'local-owner',
|
|
47
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
48
|
+
transcript_id TEXT NOT NULL,
|
|
49
|
+
through_seq INTEGER NOT NULL,
|
|
50
|
+
start_seq INTEGER,
|
|
51
|
+
extractor_version TEXT NOT NULL,
|
|
52
|
+
policy_hash TEXT NOT NULL,
|
|
53
|
+
workspace_id TEXT NOT NULL,
|
|
54
|
+
state TEXT NOT NULL CHECK (state IN ('queued','running','succeeded','retry_wait','failed','canceled')),
|
|
55
|
+
lease_token TEXT,
|
|
56
|
+
lease_until INTEGER,
|
|
57
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
58
|
+
next_attempt_at INTEGER NOT NULL,
|
|
59
|
+
error_code TEXT,
|
|
60
|
+
created_at INTEGER NOT NULL,
|
|
61
|
+
updated_at INTEGER NOT NULL,
|
|
62
|
+
UNIQUE(conversation_id, transcript_id, through_seq, extractor_version, policy_hash)
|
|
63
|
+
);
|
|
64
|
+
CREATE INDEX memory_learning_jobs_due ON memory_learning_jobs(state, next_attempt_at, lease_until);
|
|
65
|
+
CREATE TABLE memory_source_learning_jobs (
|
|
66
|
+
job_id TEXT PRIMARY KEY,
|
|
67
|
+
chunk_id TEXT NOT NULL REFERENCES knowledge_source_chunks(chunk_id) ON DELETE CASCADE,
|
|
68
|
+
agent_id TEXT NOT NULL,
|
|
69
|
+
workspace_id TEXT NOT NULL,
|
|
70
|
+
consent_receipt_id TEXT NOT NULL REFERENCES understanding_consent_receipts(receipt_id),
|
|
71
|
+
policy_hash TEXT NOT NULL,
|
|
72
|
+
state TEXT NOT NULL CHECK(state IN ('queued','running','succeeded','retry_wait','failed','canceled')),
|
|
73
|
+
lease_token TEXT,
|
|
74
|
+
lease_until INTEGER,
|
|
75
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
76
|
+
next_attempt_at INTEGER NOT NULL,
|
|
77
|
+
error_code TEXT,
|
|
78
|
+
created_at INTEGER NOT NULL,
|
|
79
|
+
updated_at INTEGER NOT NULL,
|
|
80
|
+
UNIQUE(chunk_id, agent_id, consent_receipt_id, policy_hash)
|
|
81
|
+
);
|
|
82
|
+
CREATE INDEX memory_source_learning_due ON memory_source_learning_jobs(state, next_attempt_at, lease_until);
|
|
83
|
+
CREATE TABLE memory_learning_receipts (
|
|
84
|
+
run_id TEXT PRIMARY KEY REFERENCES task_run_receipts(run_id) ON DELETE CASCADE,
|
|
85
|
+
learned_at INTEGER NOT NULL,
|
|
86
|
+
knowledge_id TEXT
|
|
87
|
+
);
|
|
88
|
+
CREATE TABLE memory_learning_cursors (
|
|
89
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
90
|
+
transcript_id TEXT NOT NULL,
|
|
91
|
+
processed_seq INTEGER NOT NULL DEFAULT 0,
|
|
92
|
+
observed_seq INTEGER NOT NULL DEFAULT 0,
|
|
93
|
+
updated_at INTEGER NOT NULL,
|
|
94
|
+
PRIMARY KEY (conversation_id, transcript_id)
|
|
95
|
+
);
|
|
96
|
+
CREATE TABLE knowledge_source_chunks (
|
|
97
|
+
chunk_id TEXT PRIMARY KEY,
|
|
98
|
+
source_item_id TEXT NOT NULL REFERENCES knowledge_source_items(item_id) ON DELETE CASCADE,
|
|
99
|
+
source_version TEXT NOT NULL,
|
|
100
|
+
consent_receipt_id TEXT REFERENCES understanding_consent_receipts(receipt_id),
|
|
101
|
+
ordinal INTEGER NOT NULL,
|
|
102
|
+
locator TEXT NOT NULL,
|
|
103
|
+
text TEXT NOT NULL,
|
|
104
|
+
UNIQUE(source_item_id, ordinal)
|
|
105
|
+
);
|
|
106
|
+
CREATE VIRTUAL TABLE knowledge_chunks_fts USING fts5(search_text, chunk_id UNINDEXED, tokenize='unicode61');
|
|
107
|
+
CREATE TRIGGER knowledge_chunk_insert AFTER INSERT ON knowledge_source_chunks BEGIN
|
|
108
|
+
INSERT INTO knowledge_chunks_fts(search_text, chunk_id) VALUES (xopc_memory_search_text(NEW.text), NEW.chunk_id);
|
|
109
|
+
END;
|
|
110
|
+
CREATE TRIGGER knowledge_chunk_delete AFTER DELETE ON knowledge_source_chunks BEGIN
|
|
111
|
+
DELETE FROM knowledge_chunks_fts WHERE chunk_id = OLD.chunk_id;
|
|
112
|
+
END;
|
|
113
|
+
CREATE VIRTUAL TABLE knowledge_search_fts USING fts5(search_text, knowledge_id UNINDEXED, tokenize='unicode61');
|
|
114
|
+
INSERT INTO knowledge_search_fts SELECT xopc_memory_search_text(content), knowledge_id FROM knowledge_items;
|
|
115
|
+
DROP TABLE knowledge_items_fts;
|
|
116
|
+
CREATE TRIGGER knowledge_search_insert AFTER INSERT ON knowledge_items BEGIN
|
|
117
|
+
INSERT INTO knowledge_search_fts VALUES (xopc_memory_search_text(NEW.content), NEW.knowledge_id);
|
|
118
|
+
END;
|
|
119
|
+
CREATE TRIGGER knowledge_search_update AFTER UPDATE OF content ON knowledge_items BEGIN
|
|
120
|
+
DELETE FROM knowledge_search_fts WHERE knowledge_id = OLD.knowledge_id;
|
|
121
|
+
INSERT INTO knowledge_search_fts VALUES (xopc_memory_search_text(NEW.content), NEW.knowledge_id);
|
|
122
|
+
END;
|
|
123
|
+
CREATE TRIGGER knowledge_search_delete AFTER DELETE ON knowledge_items BEGIN
|
|
124
|
+
DELETE FROM knowledge_search_fts WHERE knowledge_id = OLD.knowledge_id;
|
|
125
|
+
END;
|
|
@@ -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 = 165;
|
|
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 = 245;
|
|
7
7
|
export declare function resolveMigrationsDir(override?: string): string;
|
|
8
8
|
/**
|
|
9
9
|
* Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __esmMin } from "../../../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { init_sql_assets, resolveSqliteAssetPath } from "../sql-assets.js";
|
|
3
|
+
import { init_search_text, memorySearchText } from "../../../knowledge-memory/search-text.js";
|
|
3
4
|
import { createLogger } from "../../../utils/logger/index.js";
|
|
4
5
|
import { init_logger } from "../../../utils/logger.js";
|
|
5
6
|
import { currentOperationId, init_operation_context } from "../../../infra/operation-context.js";
|
|
@@ -56,8 +57,9 @@ function applySingleMigration(db, migration, discardOldScenes = false) {
|
|
|
56
57
|
* Each step runs in its own transaction and updates schema_meta on success.
|
|
57
58
|
*/
|
|
58
59
|
function applyPendingMigrations(db, options = {}) {
|
|
60
|
+
db.function("xopc_memory_search_text", { deterministic: true }, (value) => memorySearchText(String(value ?? "")));
|
|
59
61
|
db.function("xopc_operation_id", () => currentOperationId() ?? null);
|
|
60
|
-
const targetVersion = options.targetVersion ??
|
|
62
|
+
const targetVersion = options.targetVersion ?? 245;
|
|
61
63
|
let currentVersion = readSchemaVersion(db);
|
|
62
64
|
if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
|
|
63
65
|
if (!options.migrationsDir && currentVersion < 165) throw new DatabaseSchemaTooOldError(currentVersion, 165);
|
|
@@ -95,7 +97,7 @@ function applyPendingMigrations(db, options = {}) {
|
|
|
95
97
|
}
|
|
96
98
|
/** Inspect schema version without mutating the database. */
|
|
97
99
|
function inspectSchemaMigrationStatus(db, options = {}) {
|
|
98
|
-
const appVersion = options.targetVersion ??
|
|
100
|
+
const appVersion = options.targetVersion ?? 245;
|
|
99
101
|
const dbVersion = readSchemaVersion(db);
|
|
100
102
|
if (dbVersion > appVersion) return {
|
|
101
103
|
dbVersion,
|
|
@@ -126,6 +128,7 @@ function inspectSchemaMigrationStatus(db, options = {}) {
|
|
|
126
128
|
}
|
|
127
129
|
var log, XOPC_DB_BASELINE_SCHEMA_VERSION, XOPC_DB_SCHEMA_VERSION;
|
|
128
130
|
var init_runner = __esmMin((() => {
|
|
131
|
+
init_search_text();
|
|
129
132
|
init_logger();
|
|
130
133
|
init_operation_context();
|
|
131
134
|
init_schema_version();
|
|
@@ -137,7 +140,7 @@ var init_runner = __esmMin((() => {
|
|
|
137
140
|
init_errors();
|
|
138
141
|
log = createLogger("Sqlite:Migrations");
|
|
139
142
|
XOPC_DB_BASELINE_SCHEMA_VERSION = 165;
|
|
140
|
-
XOPC_DB_SCHEMA_VERSION =
|
|
143
|
+
XOPC_DB_SCHEMA_VERSION = 245;
|
|
141
144
|
}));
|
|
142
145
|
//#endregion
|
|
143
146
|
init_runner();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TaskRepository, init_task_repository } from "./task-repository.js";
|
|
2
2
|
import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
|
|
3
3
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
4
|
-
import { getPersonalAgentByConversation } from "../personal-agent/repository.js";
|
|
5
4
|
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
6
5
|
import { extractAssistantText, getAssistantMessageErrorReason, stripCodeFences } from "../providers/model-response.js";
|
|
6
|
+
import { getPersonalAgentByConversation } from "../personal-agent/repository.js";
|
|
7
7
|
import { TaskCollaborationRepository } from "./task-collaboration-repository.js";
|
|
8
8
|
//#region src/tasks/task-main-update-decision-service.ts
|
|
9
9
|
init_providers();
|
|
@@ -11,10 +11,11 @@ import { init_sqlite } from "../../storage/sqlite/index.js";
|
|
|
11
11
|
import { normalizeAgentId } from "../../agent-catalog/id.js";
|
|
12
12
|
import { init_agent_scope, listAgentEntries } from "../../agent/agent-scope.js";
|
|
13
13
|
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
14
|
-
import { init_paths } from "../../config/paths.js";
|
|
15
|
-
import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
|
|
16
14
|
import { init_agent_session_key, resolveAgentIdFromConversationId } from "../../routing/agent-session-key.js";
|
|
17
15
|
import { resolveEffectiveAgentProfile } from "../../config/agent-profile.js";
|
|
16
|
+
import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
|
|
17
|
+
import { init_paths } from "../../config/paths.js";
|
|
18
|
+
import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
|
|
18
19
|
import { effectiveWorkspacePathForSession } from "../../session/session-workspace.js";
|
|
19
20
|
import { ProjectService } from "../../projects/project-service.js";
|
|
20
21
|
import { inferSuggestedProjectDefaultAgentId } from "../../projects/project-agent-suggestion.js";
|
|
@@ -31,7 +32,6 @@ import { buildReviewContext, resolveGitRoot } from "../../review/review-git.js";
|
|
|
31
32
|
import { MessageBus, MessageBusShutdownError } from "../../infra/bus/queue.js";
|
|
32
33
|
import "../../infra/bus/index.js";
|
|
33
34
|
import { prependEnvelopeTimestamp } from "../../channels/envelope-timestamp.js";
|
|
34
|
-
import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
|
|
35
35
|
import "../../config/index.js";
|
|
36
36
|
import { buildWorkflowChildTools } from "../../agent/workflow/workflow-child-tools.js";
|
|
37
37
|
import { WorkflowRunService } from "../../workflows/service/workflow-run-service.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
3
|
import { init_paths, resolveExtensionsDir } from "../../config/paths.js";
|
|
4
|
+
import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
|
|
4
5
|
import { ExtensionLoader } from "../../extensions/loader.js";
|
|
5
6
|
import { loadConfig } from "../../config/loader.js";
|
|
6
|
-
import { getWorkspacePath } from "../../config/workspace-path-helpers.js";
|
|
7
7
|
import "../../config/index.js";
|
|
8
8
|
//#region src/tui/extension-host/load-extensions.ts
|
|
9
9
|
init_paths();
|
|
@@ -2,8 +2,8 @@ import { closeXopcDatabase, isXopcDatabaseOpen, openXopcDatabase } from "../stor
|
|
|
2
2
|
import { TaskRepository } from "../tasks/task-repository.js";
|
|
3
3
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
4
4
|
import { init_sqlite } from "../storage/sqlite/index.js";
|
|
5
|
-
import { resolveConfigPath } from "../config/paths.js";
|
|
6
5
|
import { init_agent_session_key, isValidAgentId, normalizeAgentId } from "../routing/agent-session-key.js";
|
|
6
|
+
import { resolveConfigPath } from "../config/paths.js";
|
|
7
7
|
import { init_providers, providerSupportsOAuth } from "../providers/index.js";
|
|
8
8
|
import { ProjectService } from "../projects/project-service.js";
|
|
9
9
|
import { isValidProjectAgentId, normalizeProjectAgentId } from "../projects/project-agent.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolveStateDir } from "../config/paths-state.js";
|
|
2
2
|
import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
|
|
3
|
+
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
3
4
|
import { loadSkills } from "../agent/skills/index.js";
|
|
4
5
|
import { loadConfig } from "../config/loader.js";
|
|
5
|
-
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
6
6
|
import "../config/index.js";
|
|
7
7
|
//#region src/tui/tui-skills-autocomplete.ts
|
|
8
8
|
init_paths();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { resolveStateDir } from "../config/paths-state.js";
|
|
2
|
-
import { init_paths, resolveAgentProfileDir, resolveBundledSkillsDir } from "../config/paths.js";
|
|
3
2
|
import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
3
|
+
import { init_paths, resolveAgentProfileDir, resolveBundledSkillsDir } from "../config/paths.js";
|
|
4
|
+
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
4
5
|
import { resolveBootstrapFilesSync } from "../agent/bootstrap/bootstrap-files.js";
|
|
5
6
|
import { listConnectorInstances } from "../connectors/instances.js";
|
|
6
7
|
import { createSkillConfigManager, isSkillEnabled } from "../agent/skills/config.js";
|
|
7
8
|
import { loadSkills } from "../agent/skills/index.js";
|
|
8
9
|
import { createWorkflowCatalog } from "../agent/workflow/catalog.js";
|
|
9
|
-
import { getWorkspacePath } from "../config/workspace-path-helpers.js";
|
|
10
10
|
import "../config/index.js";
|
|
11
11
|
import { basename } from "node:path";
|
|
12
12
|
//#region src/tui/tui-startup-resources.ts
|
package/dist/src/tui/tui.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { version } from "../../package.js";
|
|
2
2
|
import { resolveStateDir, resolveXopcDatabasePath } from "../config/paths-state.js";
|
|
3
|
-
import { init_paths } from "../config/paths.js";
|
|
4
3
|
import { init_agent_session_key, normalizeAgentId } from "../routing/agent-session-key.js";
|
|
5
4
|
import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
|
|
5
|
+
import { init_paths } from "../config/paths.js";
|
|
6
6
|
import { getAllModels, getAllProviders, getApiKey, init_providers, isProviderConfiguredSync } from "../providers/index.js";
|
|
7
7
|
import { isTerminalWorkflowRunStatus } from "../workflows/domain/run.js";
|
|
8
8
|
import "../workflows/domain/index.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getSessionConfig, init_config_repository } from "../storage/sqlite/config-repository.js";
|
|
2
|
+
import { isOwnerIdentity } from "./identity-bindings.js";
|
|
2
3
|
import { init_config, resolveKnowledgeReadPolicy } from "./config.js";
|
|
3
4
|
import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
|
|
4
5
|
import { init_session_key } from "../routing/session-key.js";
|
|
@@ -20,7 +21,7 @@ function resolveUserContextSessionAccess(config, conversationId) {
|
|
|
20
21
|
};
|
|
21
22
|
const session = getConversationRouting(conversationId);
|
|
22
23
|
const mode = getSessionConfig(conversationId)?.userContextMode ?? "enabled";
|
|
23
|
-
const enabled = Boolean(config.userContext.enabled && session?.peerKind === "direct" && mode === "enabled");
|
|
24
|
+
const enabled = Boolean(config.userContext.enabled && session?.peerKind === "direct" && isOwnerIdentity(session) && mode === "enabled");
|
|
24
25
|
return {
|
|
25
26
|
enabled,
|
|
26
27
|
userModel: enabled && config.userContext.userModel.enabled,
|