@xopcai/xopc 0.0.315 → 0.0.316

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.
Files changed (186) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/xopc.extension.json +1 -1
  3. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BbFOF2SH.js → agent-avatar-dicebear-XIyH14Sn.js} +1 -1
  4. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-D9T-QGmd.js → agent-defaults-settings-panel-DJl_o7Xf.js} +1 -1
  5. package/dist/gateway/static/root/assets/{agents-Ds5sQcPd.js → agents-CGFhxPFv.js} +1 -1
  6. package/dist/gateway/static/root/assets/{api-BzloAiIG.js → api-Dy056n2_.js} +1 -1
  7. package/dist/gateway/static/root/assets/{app-management-settings-panel-BpUHskXq.js → app-management-settings-panel-Dp7Fcj2Z.js} +1 -1
  8. package/dist/gateway/static/root/assets/{appearance-settings-CQd5Vo6f.js → appearance-settings-CSUffLjx.js} +1 -1
  9. package/dist/gateway/static/root/assets/{apps-page-B7VIsfye.js → apps-page-DtIcKfJG.js} +1 -1
  10. package/dist/gateway/static/root/assets/{archive-plugin-BM4O6WfL.js → archive-plugin-D3SdndlF.js} +1 -1
  11. package/dist/gateway/static/root/assets/{attachment-load-Cdn9MYmI.js → attachment-load-BgxXYRkd.js} +1 -1
  12. package/dist/gateway/static/root/assets/{automations-page-DnRx-Ra4.js → automations-page-krhofMgL.js} +1 -1
  13. package/dist/gateway/static/root/assets/{automations-workspace-B5s10G5F.js → automations-workspace-EbpneB06.js} +1 -1
  14. package/dist/gateway/static/root/assets/{binary-plugins-dkhUf4bm.js → binary-plugins-w6lazTqo.js} +1 -1
  15. package/dist/gateway/static/root/assets/{block-editor-BTzqEuAy.js → block-editor-CxHqPODE.js} +3 -3
  16. package/dist/gateway/static/root/assets/{browser-automation-inputs-Bowij-nJ.js → browser-automation-inputs-hNdEgfGG.js} +1 -1
  17. package/dist/gateway/static/root/assets/{browser-automations-page-CQ7SYTQj.js → browser-automations-page-BYsGJ_xs.js} +1 -1
  18. package/dist/gateway/static/root/assets/{browser-settings-page-vqLoPOOg.js → browser-settings-page-CP_c5q0V.js} +1 -1
  19. package/dist/gateway/static/root/assets/{capabilities-settings-panel-DI68WGYd.js → capabilities-settings-panel-ljW3s3vv.js} +1 -1
  20. package/dist/gateway/static/root/assets/{channels-settings-Cimssy-S.js → channels-settings-CR9SRgFp.js} +1 -1
  21. package/dist/gateway/static/root/assets/{chat-terminal-dock-DzgFHd6l.js → chat-terminal-dock-medSiQoQ.js} +1 -1
  22. package/dist/gateway/static/root/assets/{computer-settings-page-380_vIqO.js → computer-settings-page-DJxO0CfY.js} +1 -1
  23. package/dist/gateway/static/root/assets/{connector-service-page-DILFakXb.js → connector-service-page-WaoUqr8a.js} +1 -1
  24. package/dist/gateway/static/root/assets/{connectors-page-COmFp9HC.js → connectors-page-KIi15pQl.js} +1 -1
  25. package/dist/gateway/static/root/assets/{date-picker-CRVun-T5.js → date-picker-DalDr0E6.js} +1 -1
  26. package/dist/gateway/static/root/assets/{dependency-picker-BoWqt5yU.js → dependency-picker-ONChq2Yr.js} +1 -1
  27. package/dist/gateway/static/root/assets/{desktop-pet-DPlkBjft.js → desktop-pet-b1a37SVn.js} +1 -1
  28. package/dist/gateway/static/root/assets/{desktop-pet-settings-D7FgfX_K.js → desktop-pet-settings-CwqZxGv4.js} +1 -1
  29. package/dist/gateway/static/root/assets/{device-pairing-wizard-BP6yxut8.js → device-pairing-wizard-C_MNpS30.js} +1 -1
  30. package/dist/gateway/static/root/assets/{extension-debug-page-CT_QkSN_.js → extension-debug-page-CGthPGca.js} +1 -1
  31. package/dist/gateway/static/root/assets/{extension-page-BF1NdcKP.js → extension-page-CExNJs0G.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-settings-page-CKQVZ3Xc.js → extension-settings-page-DBfxzKR8.js} +1 -1
  33. package/dist/gateway/static/root/assets/{gateway-config-swr-BPsZPoAT.js → gateway-config-swr-DFjsI4QK.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-settings-3bIy7XMr.js → gateway-settings-BlpheZrf.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-startup-retry-cG6EqUJw.js → gateway-startup-retry-oRRqSoe9.js} +1 -1
  36. package/dist/gateway/static/root/assets/{home-page-DFNDLFgv.js → home-page-BvdT-uaI.js} +1 -1
  37. package/dist/gateway/static/root/assets/{image-generation-api-DI_QutIx.js → image-generation-api-CyDy_Sxu.js} +1 -1
  38. package/dist/gateway/static/root/assets/{imports-page-BUG6G72F.js → imports-page-Dnp2hmFL.js} +1 -1
  39. package/dist/gateway/static/root/assets/index-BYKatjhB.css +1 -0
  40. package/dist/gateway/static/root/assets/{index-BCi8nfxs.js → index-DhCnwCI9.js} +38 -38
  41. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-qnG-4FJs.js → keyboard-shortcuts-settings-1DUcGrYh.js} +1 -1
  42. package/dist/gateway/static/root/assets/{local-app-workbench-page-B3iJWhjN.js → local-app-workbench-page-BW2-80Og.js} +1 -1
  43. package/dist/gateway/static/root/assets/{local-apps-page-BpEGeURS.js → local-apps-page-C7_2zyV_.js} +1 -1
  44. package/dist/gateway/static/root/assets/{locale-store-BlgpZORR.js → locale-store-D6VmRI5e.js} +1 -1
  45. package/dist/gateway/static/root/assets/{logs-page-0QPGj-5c.js → logs-page-Cbr7bPM6.js} +1 -1
  46. package/dist/gateway/static/root/assets/{management-settings-Sl0wwidS.js → management-settings-G7GcFx2_.js} +1 -1
  47. package/dist/gateway/static/root/assets/{markdown-view-BzjjpL2H.js → markdown-view-B5MfZeKH.js} +1 -1
  48. package/dist/gateway/static/root/assets/{media-plugins-Bzkdhotn.js → media-plugins-IbcEpV96.js} +1 -1
  49. package/dist/gateway/static/root/assets/messages-BCqLsIZK.js +3 -0
  50. package/dist/gateway/static/root/assets/{note-detail-panel-BXtD71j1.js → note-detail-panel-C4DiKkDf.js} +3 -3
  51. package/dist/gateway/static/root/assets/{notes-page-DNY4vW-u.js → notes-page-DgHQmpVq.js} +1 -1
  52. package/dist/gateway/static/root/assets/{page-context-capture-button-CFt4hXQ6.js → page-context-capture-button-B5rZ_F0R.js} +1 -1
  53. package/dist/gateway/static/root/assets/{page-tabs-Dz_x22MQ.js → page-tabs-B84Yghg5.js} +1 -1
  54. package/dist/gateway/static/root/assets/{preview-open-alternatives-C1mkgFAl.js → preview-open-alternatives-CaEtDmZO.js} +1 -1
  55. package/dist/gateway/static/root/assets/{product-open-page-DHZgzSDV.js → product-open-page-BK9z5b-v.js} +1 -1
  56. package/dist/gateway/static/root/assets/{project-detail-page-D3NhZ7ZZ.js → project-detail-page-Qj8Xb9qS.js} +1 -1
  57. package/dist/gateway/static/root/assets/{projects-page-CEr8DX9I.js → projects-page-BOp6swwM.js} +1 -1
  58. package/dist/gateway/static/root/assets/{registry-api-DMW2apOO.js → registry-api-sOL6E5LU.js} +1 -1
  59. package/dist/gateway/static/root/assets/{remote-access-hub-Db-B-Mf3.js → remote-access-hub-yb8l4ppq.js} +1 -1
  60. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DEJi0BLL.js → runtime-tools-settings-panel-BAvzw1T0.js} +1 -1
  61. package/dist/gateway/static/root/assets/{scenes-page-BUUX-PnI.js → scenes-page-CiAgb7hf.js} +1 -1
  62. package/dist/gateway/static/root/assets/{schema-form-RVltVpuG.js → schema-form-Dytkw9RZ.js} +1 -1
  63. package/dist/gateway/static/root/assets/{sessions-page-Rm4H2okS.js → sessions-page-43hcOW84.js} +1 -1
  64. package/dist/gateway/static/root/assets/settings-advanced-gate-C414vr2V.js +1 -0
  65. package/dist/gateway/static/root/assets/{settings-form-section-BkBO7woF.js → settings-form-section-DBJlmKQV.js} +1 -1
  66. package/dist/gateway/static/root/assets/{settings-page-zl0XY203.js → settings-page-C9GbP-ZG.js} +1 -1
  67. package/dist/gateway/static/root/assets/{settings-page-layout-lLvHc-zF.js → settings-page-layout-OvBOGen7.js} +1 -1
  68. package/dist/gateway/static/root/assets/{setup-status-panel-Difrpr4T.js → setup-status-panel-BCMym4xj.js} +1 -1
  69. package/dist/gateway/static/root/assets/{share-preview-page-NC4Gj867.js → share-preview-page-D-sx26yN.js} +1 -1
  70. package/dist/gateway/static/root/assets/{shares-settings-DPLvEcB-.js → shares-settings-EdNGhsuF.js} +1 -1
  71. package/dist/gateway/static/root/assets/skill-reload-api-DYYM1qVn.js +1 -0
  72. package/dist/gateway/static/root/assets/{skills-page-CzekvBNQ.js → skills-page-Cgrfnet5.js} +1 -1
  73. package/dist/gateway/static/root/assets/{skills-page.utils-BLeiN245.js → skills-page.utils-COPGVfmB.js} +1 -1
  74. package/dist/gateway/static/root/assets/{system-settings-panel-Bp75s9nl.js → system-settings-panel-B9tptggE.js} +1 -1
  75. package/dist/gateway/static/root/assets/{task-detail-page-Bh8H4FYR.js → task-detail-page-BrsM6Xmm.js} +1 -1
  76. package/dist/gateway/static/root/assets/{tunnel-api-BDiaC6an.js → tunnel-api-qb33IFGP.js} +1 -1
  77. package/dist/gateway/static/root/assets/{use-autosave-C_ntK_Zu.js → use-autosave-DfhqCGRX.js} +1 -1
  78. package/dist/gateway/static/root/assets/{user-model-page-C7gFCGAV.js → user-model-page-Sg94U7zz.js} +1 -1
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-D4cfuMp1.js → voice-api-key-field-taBVzvtI.js} +1 -1
  80. package/dist/gateway/static/root/assets/{voice-config-api-Cjvd6maH.js → voice-config-api-B4yjd1Kb.js} +1 -1
  81. package/dist/gateway/static/root/assets/{work-discovery-overlay-Ce6ToB0O.js → work-discovery-overlay-DWGTB3Uk.js} +1 -1
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-C80nrmKi.js → workflow-run-setup-panel-CP58uTNh.js} +1 -1
  83. package/dist/gateway/static/root/assets/{workflows-page-CVQjo3RI.js → workflows-page-Clka1xiQ.js} +1 -1
  84. package/dist/gateway/static/root/index.html +8 -8
  85. package/dist/package.js +1 -1
  86. package/dist/src/agent/agent-manager.js +18 -17
  87. package/dist/src/agent/background-review/run-background-review.js +1 -1
  88. package/dist/src/agent/embedded/model-runtime.js +1 -1
  89. package/dist/src/agent/embedded/run-for-session.js +1 -1
  90. package/dist/src/agent/embedded/run-turn.js +28 -15
  91. package/dist/src/agent/embedded/system-prompt-override.js +14 -3
  92. package/dist/src/agent/embedded/xopc-stream-bridge.js +13 -2
  93. package/dist/src/agent/image/tool-model-config.js +1 -1
  94. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +1 -1
  95. package/dist/src/agent/memory/context-budget.js +1 -1
  96. package/dist/src/agent/orchestration/agent-turn-policy.d.ts +2 -2
  97. package/dist/src/agent/prompt/agent-system-prompt.d.ts +3 -0
  98. package/dist/src/agent/prompt/agent-system-prompt.js +16 -0
  99. package/dist/src/agent/service.js +2 -2
  100. package/dist/src/agent/session/session-inspector.js +1 -1
  101. package/dist/src/agent/skills/hub-lock.js +1 -1
  102. package/dist/src/agent/tasks/task-judge-service.js +3 -3
  103. package/dist/src/agent/tools/knowledge-memory-tool.js +1 -0
  104. package/dist/src/agent-config/schema.d.ts +8 -8
  105. package/dist/src/ai-assist/text-assist.js +3 -2
  106. package/dist/src/auth/credentials.js +2 -2
  107. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  108. package/dist/src/auth/profiles/store.js +1 -1
  109. package/dist/src/auth/sync-provider-auth.js +2 -2
  110. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  111. package/dist/src/chat-commands/agent-edit.js +1 -1
  112. package/dist/src/cli/commands/agent.js +1 -1
  113. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  114. package/dist/src/cli/commands/doctor/checks/provider-auth.js +3 -3
  115. package/dist/src/cli/commands/models.js +1 -1
  116. package/dist/src/computer/runtime.js +1 -1
  117. package/dist/src/config/index.js +4 -4
  118. package/dist/src/config/loader.js +2 -2
  119. package/dist/src/config/models-json.js +2 -2
  120. package/dist/src/config/schema.d.ts +5 -5
  121. package/dist/src/config/schema.js +1 -1
  122. package/dist/src/connectors/connected-source-ingestion.d.ts +1 -0
  123. package/dist/src/connectors/connected-source-ingestion.js +1 -0
  124. package/dist/src/connectors/connected-source-understanding.d.ts +1 -0
  125. package/dist/src/connectors/connected-source-understanding.js +91 -31
  126. package/dist/src/connectors/content-enrichment.d.ts +1 -0
  127. package/dist/src/connectors/content-enrichment.js +3 -1
  128. package/dist/src/connectors/learning-coordinator.js +24 -24
  129. package/dist/src/extensions/lockfile.js +1 -1
  130. package/dist/src/gateway/agents-admin.js +1 -1
  131. package/dist/src/gateway/chat-stream/mapper.js +9 -4
  132. package/dist/src/gateway/chat-stream/protocol.d.ts +2 -1
  133. package/dist/src/gateway/file-path-classifier.js +1 -1
  134. package/dist/src/gateway/hono/lib/config-payload.d.ts +2 -2
  135. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  136. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  137. package/dist/src/gateway/hono/routes/models.js +1 -1
  138. package/dist/src/gateway/hono/routes/user-model-refresh.js +2 -2
  139. package/dist/src/gateway/hono/routes/voice.js +1 -1
  140. package/dist/src/gateway/service/config-coordinator.js +1 -1
  141. package/dist/src/gateway/service.js +5 -5
  142. package/dist/src/knowledge/ingestion-service.d.ts +5 -2
  143. package/dist/src/knowledge/ingestion-service.js +24 -15
  144. package/dist/src/knowledge-memory/domain.d.ts +1 -1
  145. package/dist/src/notes/service.js +1 -1
  146. package/dist/src/platform/client.d.ts +1 -1
  147. package/dist/src/platform/contracts.d.ts +1 -1
  148. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  149. package/dist/src/providers/extension-stream-bridge.js +6 -4
  150. package/dist/src/providers/index.js +2 -2
  151. package/dist/src/providers/model-call.js +3 -3
  152. package/dist/src/providers/model-catalog-persistence.js +1 -1
  153. package/dist/src/providers/model-registry.js +1 -1
  154. package/dist/src/providers/presentation.js +4 -3
  155. package/dist/src/providers/register-runtime-providers.js +1 -1
  156. package/dist/src/storage/sqlite/context-extraction-repository.d.ts +1 -2
  157. package/dist/src/storage/sqlite/context-extraction-repository.js +1 -9
  158. package/dist/src/storage/sqlite/index.d.ts +1 -2
  159. package/dist/src/storage/sqlite/index.js +2 -3
  160. package/dist/src/storage/sqlite/knowledge-repository.d.ts +1 -0
  161. package/dist/src/storage/sqlite/knowledge-repository.js +3 -0
  162. package/dist/src/storage/sqlite/migrations/200_connected_work_threads.sql +92 -0
  163. package/dist/src/storage/sqlite/migrations/201_connector_extraction_audit.sql +127 -0
  164. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  165. package/dist/src/storage/sqlite/migrations/runner.js +4 -4
  166. package/dist/src/storage/sqlite/schema.js +1 -1
  167. package/dist/src/storage/sqlite/schema.sql +1 -1
  168. package/dist/src/tui/backends/embedded-backend.js +1 -1
  169. package/dist/src/tui/tui-commands.js +1 -1
  170. package/dist/src/tui/tui-startup-resources.js +1 -1
  171. package/dist/src/tui/tui.js +2 -2
  172. package/dist/src/user-context/domain.d.ts +0 -13
  173. package/dist/src/user-context/sources/index.js +2 -2
  174. package/dist/src/user-context/sources/repository.d.ts +10 -0
  175. package/dist/src/user-context/sources/repository.js +19 -4
  176. package/dist/src/user-context/sources/types.d.ts +1 -0
  177. package/dist/src/voice/tts/audio.js +1 -1
  178. package/dist/src/work-discovery/service.js +2 -2
  179. package/dist/src/workflows/service/workflow-run-service.js +1 -1
  180. package/package.json +7 -7
  181. package/dist/gateway/static/root/assets/index-DWgd1VK2.css +0 -1
  182. package/dist/gateway/static/root/assets/messages-2GhUD7SC.js +0 -3
  183. package/dist/gateway/static/root/assets/settings-advanced-gate-VxPItcOG.js +0 -1
  184. package/dist/gateway/static/root/assets/skill-reload-api-CKdLCf_-.js +0 -1
  185. package/dist/src/storage/sqlite/context-relation-repository.d.ts +0 -50
  186. package/dist/src/storage/sqlite/context-relation-repository.js +0 -98
@@ -1 +0,0 @@
1
- import{yn as e}from"./index-BCi8nfxs.js";function t(t){let{children:n,fallback:r}=t,i=r===void 0?null:r;return e()?n:i}export{t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{i as t,r as n}from"./locale-store-BlgpZORR.js";import{xi as r}from"./index-BCi8nfxs.js";var i=e({reloadSkills:()=>a});async function a(){let e=await t(n(`/api/skills/reload`),{method:`POST`});if(!e.ok)throw Error(await r(e))}export{i as n,a as t};
@@ -1,50 +0,0 @@
1
- import type { ContextObjectType } from './context-extraction-repository.js';
2
- export type ContextObjectRelation = {
3
- id: string;
4
- subjectType: ContextObjectType;
5
- subjectId: string;
6
- subjectVersionId?: string;
7
- predicate: 'supersedes' | 'supports' | 'contradicts' | 'related_to';
8
- objectType: ContextObjectType;
9
- objectId: string;
10
- objectVersionId?: string;
11
- factual: boolean;
12
- extractionRunId?: string;
13
- createdAt: number;
14
- };
15
- export type ContextTemporalAssertion = {
16
- id: string;
17
- objectType: 'focus' | 'understanding';
18
- objectId: string;
19
- objectVersionId?: string;
20
- assertionType: 'current_state' | 'routine' | 'relationship' | 'project_status';
21
- value: Record<string, unknown>;
22
- confidence: number;
23
- validFrom?: number;
24
- validTo?: number;
25
- status: 'candidate' | 'active' | 'closed' | 'rejected';
26
- extractionRunId?: string;
27
- createdAt: number;
28
- updatedAt: number;
29
- };
30
- export declare function linkContextObjects(input: Omit<ContextObjectRelation, 'id' | 'createdAt'> & {
31
- nowMs?: number;
32
- }): ContextObjectRelation;
33
- export declare function listContextObjectRelations(input?: {
34
- objectType?: ContextObjectType;
35
- objectId?: string;
36
- extractionRunId?: string;
37
- }): ContextObjectRelation[];
38
- export declare function createTemporalAssertion(input: Omit<ContextTemporalAssertion, 'id' | 'createdAt' | 'updatedAt'> & {
39
- nowMs?: number;
40
- }): ContextTemporalAssertion;
41
- export declare function closeTemporalAssertions(input: {
42
- objectType: ContextTemporalAssertion['objectType'];
43
- objectId: string;
44
- validTo?: number;
45
- }): number;
46
- export declare function listTemporalAssertions(input?: {
47
- objectType?: ContextTemporalAssertion['objectType'];
48
- objectId?: string;
49
- status?: ContextTemporalAssertion['status'];
50
- }): ContextTemporalAssertion[];
@@ -1,98 +0,0 @@
1
- import { getSqliteDatabase, init_transaction } from "./transaction.js";
2
- import { randomUUID } from "node:crypto";
3
- //#region src/storage/sqlite/context-relation-repository.ts
4
- init_transaction();
5
- function relationFromRow(row) {
6
- return {
7
- id: row.relation_id,
8
- subjectType: row.subject_type,
9
- subjectId: row.subject_id,
10
- ...row.subject_version_id ? { subjectVersionId: row.subject_version_id } : {},
11
- predicate: row.predicate,
12
- objectType: row.object_type,
13
- objectId: row.object_id,
14
- ...row.object_version_id ? { objectVersionId: row.object_version_id } : {},
15
- factual: row.factual === 1,
16
- ...row.extraction_run_id ? { extractionRunId: row.extraction_run_id } : {},
17
- createdAt: row.created_at
18
- };
19
- }
20
- function assertionFromRow(row) {
21
- return {
22
- id: row.assertion_id,
23
- objectType: row.object_type,
24
- objectId: row.object_id,
25
- ...row.object_version_id ? { objectVersionId: row.object_version_id } : {},
26
- assertionType: row.assertion_type,
27
- value: JSON.parse(row.value_json),
28
- confidence: row.confidence,
29
- ...row.valid_from == null ? {} : { validFrom: row.valid_from },
30
- ...row.valid_to == null ? {} : { validTo: row.valid_to },
31
- status: row.status,
32
- ...row.extraction_run_id ? { extractionRunId: row.extraction_run_id } : {},
33
- createdAt: row.created_at,
34
- updatedAt: row.updated_at
35
- };
36
- }
37
- function linkContextObjects(input) {
38
- const now = input.nowMs ?? Date.now();
39
- const factual = input.predicate !== "related_to";
40
- getSqliteDatabase().prepare(`INSERT INTO context_object_relations (
41
- relation_id, subject_type, subject_id, subject_version_id, predicate,
42
- object_type, object_id, object_version_id, factual, extraction_run_id, created_at
43
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
44
- ON CONFLICT DO UPDATE SET factual = excluded.factual, extraction_run_id = excluded.extraction_run_id`).run(randomUUID(), input.subjectType, input.subjectId, input.subjectVersionId ?? null, input.predicate, input.objectType, input.objectId, input.objectVersionId ?? null, factual ? 1 : 0, input.extractionRunId ?? null, now);
45
- return relationFromRow(getSqliteDatabase().prepare(`SELECT * FROM context_object_relations
46
- WHERE subject_type = ? AND subject_id = ? AND COALESCE(subject_version_id, '') = COALESCE(?, '')
47
- AND predicate = ? AND object_type = ? AND object_id = ?
48
- AND COALESCE(object_version_id, '') = COALESCE(?, '')`).get(input.subjectType, input.subjectId, input.subjectVersionId ?? null, input.predicate, input.objectType, input.objectId, input.objectVersionId ?? null));
49
- }
50
- function listContextObjectRelations(input = {}) {
51
- const clauses = [];
52
- const values = [];
53
- if (input.objectType && input.objectId) {
54
- clauses.push("((subject_type = ? AND subject_id = ?) OR (object_type = ? AND object_id = ?))");
55
- values.push(input.objectType, input.objectId, input.objectType, input.objectId);
56
- }
57
- if (input.extractionRunId) {
58
- clauses.push("extraction_run_id = ?");
59
- values.push(input.extractionRunId);
60
- }
61
- return getSqliteDatabase().prepare(`SELECT * FROM context_object_relations
62
- ${clauses.length ? `WHERE ${clauses.join(" AND ")}` : ""} ORDER BY created_at DESC`).all(...values).map(relationFromRow);
63
- }
64
- function createTemporalAssertion(input) {
65
- const now = input.nowMs ?? Date.now();
66
- const id = randomUUID();
67
- getSqliteDatabase().prepare(`INSERT INTO context_temporal_assertions (
68
- assertion_id, object_type, object_id, object_version_id, assertion_type, value_json,
69
- confidence, valid_from, valid_to, status, extraction_run_id, created_at, updated_at
70
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, input.objectType, input.objectId, input.objectVersionId ?? null, input.assertionType, JSON.stringify(input.value), input.confidence, input.validFrom ?? null, input.validTo ?? null, input.status, input.extractionRunId ?? null, now, now);
71
- return assertionFromRow(getSqliteDatabase().prepare("SELECT * FROM context_temporal_assertions WHERE assertion_id = ?").get(id));
72
- }
73
- function closeTemporalAssertions(input) {
74
- const now = input.validTo ?? Date.now();
75
- return Number(getSqliteDatabase().prepare(`UPDATE context_temporal_assertions
76
- SET status = 'closed', valid_to = COALESCE(valid_to, ?), updated_at = ?
77
- WHERE object_type = ? AND object_id = ? AND status = 'active'`).run(now, now, input.objectType, input.objectId).changes);
78
- }
79
- function listTemporalAssertions(input = {}) {
80
- const clauses = [];
81
- const values = [];
82
- if (input.objectType) {
83
- clauses.push("object_type = ?");
84
- values.push(input.objectType);
85
- }
86
- if (input.objectId) {
87
- clauses.push("object_id = ?");
88
- values.push(input.objectId);
89
- }
90
- if (input.status) {
91
- clauses.push("status = ?");
92
- values.push(input.status);
93
- }
94
- return getSqliteDatabase().prepare(`SELECT * FROM context_temporal_assertions
95
- ${clauses.length ? `WHERE ${clauses.join(" AND ")}` : ""} ORDER BY created_at DESC`).all(...values).map(assertionFromRow);
96
- }
97
- //#endregion
98
- export { closeTemporalAssertions, createTemporalAssertion, linkContextObjects, listContextObjectRelations, listTemporalAssertions };