kiokuko 1.0.13 → 1.0.15

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 (226) hide show
  1. package/README.ja.md +35 -0
  2. package/README.ko.md +35 -0
  3. package/README.md +35 -0
  4. package/README.zh-CN.md +35 -0
  5. package/dist/akinator/agent-task.d.ts +10 -0
  6. package/dist/akinator/agent-task.d.ts.map +1 -1
  7. package/dist/akinator/agent-task.js +54 -11
  8. package/dist/akinator/agent-task.js.map +1 -1
  9. package/dist/assurance/codex-hooks.js +1 -1
  10. package/dist/assurance/codex-hooks.js.map +1 -1
  11. package/dist/assurance/contracts.d.ts +8 -1
  12. package/dist/assurance/contracts.d.ts.map +1 -1
  13. package/dist/assurance/contracts.js +2 -1
  14. package/dist/assurance/contracts.js.map +1 -1
  15. package/dist/assurance/refresh.d.ts.map +1 -1
  16. package/dist/assurance/refresh.js +25 -3
  17. package/dist/assurance/refresh.js.map +1 -1
  18. package/dist/assurance/service.d.ts +1 -1
  19. package/dist/chatgpt/memory-policy.d.ts +14 -0
  20. package/dist/chatgpt/memory-policy.d.ts.map +1 -0
  21. package/dist/chatgpt/memory-policy.js +23 -0
  22. package/dist/chatgpt/memory-policy.js.map +1 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +79 -9
  25. package/dist/cli.js.map +1 -1
  26. package/dist/commands/export.d.ts.map +1 -1
  27. package/dist/commands/export.js +3 -0
  28. package/dist/commands/export.js.map +1 -1
  29. package/dist/commands/import.d.ts.map +1 -1
  30. package/dist/commands/import.js +3 -0
  31. package/dist/commands/import.js.map +1 -1
  32. package/dist/commands/memory-index.d.ts +6 -0
  33. package/dist/commands/memory-index.d.ts.map +1 -0
  34. package/dist/commands/memory-index.js +30 -0
  35. package/dist/commands/memory-index.js.map +1 -0
  36. package/dist/commands/reranker.d.ts +9 -0
  37. package/dist/commands/reranker.d.ts.map +1 -0
  38. package/dist/commands/reranker.js +52 -0
  39. package/dist/commands/reranker.js.map +1 -0
  40. package/dist/config/paths.d.ts +2 -0
  41. package/dist/config/paths.d.ts.map +1 -1
  42. package/dist/config/paths.js +10 -0
  43. package/dist/config/paths.js.map +1 -1
  44. package/dist/context/broker.d.ts +14 -0
  45. package/dist/context/broker.d.ts.map +1 -1
  46. package/dist/context/broker.js +162 -15
  47. package/dist/context/broker.js.map +1 -1
  48. package/dist/context/ranking.d.ts +6 -2
  49. package/dist/context/ranking.d.ts.map +1 -1
  50. package/dist/context/ranking.js +23 -1
  51. package/dist/context/ranking.js.map +1 -1
  52. package/dist/context/scoped-broker.d.ts +20 -0
  53. package/dist/context/scoped-broker.d.ts.map +1 -1
  54. package/dist/context/scoped-broker.js +173 -10
  55. package/dist/context/scoped-broker.js.map +1 -1
  56. package/dist/context/selection-state.d.ts.map +1 -1
  57. package/dist/context/selection-state.js +2 -0
  58. package/dist/context/selection-state.js.map +1 -1
  59. package/dist/db/connection.js +1 -1
  60. package/dist/db/connection.js.map +1 -1
  61. package/dist/embedding/javascript-backend.d.ts.map +1 -1
  62. package/dist/embedding/javascript-backend.js +7 -1
  63. package/dist/embedding/javascript-backend.js.map +1 -1
  64. package/dist/embedding/model-download.d.ts +2 -2
  65. package/dist/embedding/model-download.d.ts.map +1 -1
  66. package/dist/embedding/model-download.js +23 -11
  67. package/dist/embedding/model-download.js.map +1 -1
  68. package/dist/embedding/model-installation.d.ts +3 -1
  69. package/dist/embedding/model-installation.d.ts.map +1 -1
  70. package/dist/embedding/model-installation.js +16 -9
  71. package/dist/embedding/model-installation.js.map +1 -1
  72. package/dist/embedding/model-manifest.d.ts +7 -7
  73. package/dist/embedding/model-manifest.d.ts.map +1 -1
  74. package/dist/embedding/model-manifest.js +28 -17
  75. package/dist/embedding/model-manifest.js.map +1 -1
  76. package/dist/embedding/presets/manifest.d.ts +20 -7
  77. package/dist/embedding/presets/manifest.d.ts.map +1 -1
  78. package/dist/embedding/presets/manifest.js.map +1 -1
  79. package/dist/embedding/sqlite-vec-backend.d.ts.map +1 -1
  80. package/dist/embedding/sqlite-vec-backend.js +7 -1
  81. package/dist/embedding/sqlite-vec-backend.js.map +1 -1
  82. package/dist/embedding/store.d.ts.map +1 -1
  83. package/dist/embedding/store.js +2 -0
  84. package/dist/embedding/store.js.map +1 -1
  85. package/dist/embedding/types.d.ts +2 -0
  86. package/dist/embedding/types.d.ts.map +1 -1
  87. package/dist/ledger/checkpoint-contract.d.ts +6 -6
  88. package/dist/mcp/chatgpt-contract.d.ts +156 -0
  89. package/dist/mcp/chatgpt-contract.d.ts.map +1 -0
  90. package/dist/mcp/chatgpt-contract.js +76 -0
  91. package/dist/mcp/chatgpt-contract.js.map +1 -0
  92. package/dist/mcp/chatgpt-runtime.d.ts +14 -0
  93. package/dist/mcp/chatgpt-runtime.d.ts.map +1 -0
  94. package/dist/mcp/chatgpt-runtime.js +106 -0
  95. package/dist/mcp/chatgpt-runtime.js.map +1 -0
  96. package/dist/mcp/chatgpt-server.d.ts +6 -0
  97. package/dist/mcp/chatgpt-server.d.ts.map +1 -0
  98. package/dist/mcp/chatgpt-server.js +81 -0
  99. package/dist/mcp/chatgpt-server.js.map +1 -0
  100. package/dist/mcp/request-deadline.d.ts +1 -1
  101. package/dist/mcp/request-deadline.d.ts.map +1 -1
  102. package/dist/mcp/request-deadline.js +3 -0
  103. package/dist/mcp/request-deadline.js.map +1 -1
  104. package/dist/mcp/runtime-owner.d.ts.map +1 -1
  105. package/dist/mcp/runtime-owner.js +7 -0
  106. package/dist/mcp/runtime-owner.js.map +1 -1
  107. package/dist/mcp/server.d.ts +1 -0
  108. package/dist/mcp/server.d.ts.map +1 -1
  109. package/dist/mcp/server.js +35 -5
  110. package/dist/mcp/server.js.map +1 -1
  111. package/dist/mcp/stdio-runner.d.ts +6 -0
  112. package/dist/mcp/stdio-runner.d.ts.map +1 -0
  113. package/dist/mcp/stdio-runner.js +41 -0
  114. package/dist/mcp/stdio-runner.js.map +1 -0
  115. package/dist/memory/checkpoint-contract.d.ts +9 -9
  116. package/dist/memory/curator.d.ts.map +1 -1
  117. package/dist/memory/curator.js +2 -0
  118. package/dist/memory/curator.js.map +1 -1
  119. package/dist/memory/entries.d.ts.map +1 -1
  120. package/dist/memory/entries.js +2 -0
  121. package/dist/memory/entries.js.map +1 -1
  122. package/dist/memory/federated-retrieval.d.ts +16 -2
  123. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  124. package/dist/memory/federated-retrieval.js +229 -45
  125. package/dist/memory/federated-retrieval.js.map +1 -1
  126. package/dist/memory/global-conversation-query.d.ts +35 -0
  127. package/dist/memory/global-conversation-query.d.ts.map +1 -0
  128. package/dist/memory/global-conversation-query.js +60 -0
  129. package/dist/memory/global-conversation-query.js.map +1 -0
  130. package/dist/memory/hybrid-retrieval.d.ts +18 -2
  131. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  132. package/dist/memory/hybrid-retrieval.js +180 -9
  133. package/dist/memory/hybrid-retrieval.js.map +1 -1
  134. package/dist/memory/index-service.d.ts +103 -0
  135. package/dist/memory/index-service.d.ts.map +1 -0
  136. package/dist/memory/index-service.js +196 -0
  137. package/dist/memory/index-service.js.map +1 -0
  138. package/dist/memory/index-state.d.ts +56 -0
  139. package/dist/memory/index-state.d.ts.map +1 -0
  140. package/dist/memory/index-state.js +100 -0
  141. package/dist/memory/index-state.js.map +1 -0
  142. package/dist/memory/interaction-capture.d.ts.map +1 -1
  143. package/dist/memory/interaction-capture.js +6 -3
  144. package/dist/memory/interaction-capture.js.map +1 -1
  145. package/dist/memory/interaction-contract.d.ts +30 -0
  146. package/dist/memory/interaction-contract.d.ts.map +1 -1
  147. package/dist/memory/interaction-contract.js +38 -0
  148. package/dist/memory/interaction-contract.js.map +1 -1
  149. package/dist/memory/interaction-recall.d.ts +14 -1
  150. package/dist/memory/interaction-recall.d.ts.map +1 -1
  151. package/dist/memory/interaction-recall.js +48 -42
  152. package/dist/memory/interaction-recall.js.map +1 -1
  153. package/dist/memory/lesson-derivation.d.ts +79 -0
  154. package/dist/memory/lesson-derivation.d.ts.map +1 -0
  155. package/dist/memory/lesson-derivation.js +302 -0
  156. package/dist/memory/lesson-derivation.js.map +1 -0
  157. package/dist/memory/lesson-reinforcement.d.ts.map +1 -1
  158. package/dist/memory/lesson-reinforcement.js +7 -4
  159. package/dist/memory/lesson-reinforcement.js.map +1 -1
  160. package/dist/memory/lifecycle.d.ts.map +1 -1
  161. package/dist/memory/lifecycle.js +4 -0
  162. package/dist/memory/lifecycle.js.map +1 -1
  163. package/dist/memory/retrieval.d.ts +14 -0
  164. package/dist/memory/retrieval.d.ts.map +1 -1
  165. package/dist/memory/retrieval.js +107 -13
  166. package/dist/memory/retrieval.js.map +1 -1
  167. package/dist/memory/scoped-memory.d.ts +5 -0
  168. package/dist/memory/scoped-memory.d.ts.map +1 -1
  169. package/dist/memory/scoped-memory.js +3 -0
  170. package/dist/memory/scoped-memory.js.map +1 -1
  171. package/dist/memory/search-extension-config.d.ts +5 -0
  172. package/dist/memory/search-extension-config.d.ts.map +1 -0
  173. package/dist/memory/search-extension-config.js +20 -0
  174. package/dist/memory/search-extension-config.js.map +1 -0
  175. package/dist/memory/temporal.d.ts +18 -0
  176. package/dist/memory/temporal.d.ts.map +1 -0
  177. package/dist/memory/temporal.js +128 -0
  178. package/dist/memory/temporal.js.map +1 -0
  179. package/dist/reranker/config.d.ts +15 -0
  180. package/dist/reranker/config.d.ts.map +1 -0
  181. package/dist/reranker/config.js +48 -0
  182. package/dist/reranker/config.js.map +1 -0
  183. package/dist/reranker/preset.d.ts +12 -0
  184. package/dist/reranker/preset.d.ts.map +1 -0
  185. package/dist/reranker/preset.js +102 -0
  186. package/dist/reranker/preset.js.map +1 -0
  187. package/dist/reranker/runtime.d.ts +40 -0
  188. package/dist/reranker/runtime.d.ts.map +1 -0
  189. package/dist/reranker/runtime.js +324 -0
  190. package/dist/reranker/runtime.js.map +1 -0
  191. package/dist/reranker/service.d.ts +36 -0
  192. package/dist/reranker/service.d.ts.map +1 -0
  193. package/dist/reranker/service.js +163 -0
  194. package/dist/reranker/service.js.map +1 -0
  195. package/dist/reranker/setup.d.ts +30 -0
  196. package/dist/reranker/setup.d.ts.map +1 -0
  197. package/dist/reranker/setup.js +50 -0
  198. package/dist/reranker/setup.js.map +1 -0
  199. package/dist/reranker/worker.d.ts +2 -0
  200. package/dist/reranker/worker.d.ts.map +1 -0
  201. package/dist/reranker/worker.js +115 -0
  202. package/dist/reranker/worker.js.map +1 -0
  203. package/dist/serialization/validate.d.ts.map +1 -1
  204. package/dist/serialization/validate.js +29 -1
  205. package/dist/serialization/validate.js.map +1 -1
  206. package/dist/server/routes/task-assurance.d.ts.map +1 -1
  207. package/dist/server/routes/task-assurance.js +11 -2
  208. package/dist/server/routes/task-assurance.js.map +1 -1
  209. package/dist/web/server.d.ts.map +1 -1
  210. package/dist/web/server.js +47 -11
  211. package/dist/web/server.js.map +1 -1
  212. package/docs/README.ja.md +3 -0
  213. package/docs/README.md +3 -0
  214. package/docs/chatgpt-validation.md +40 -0
  215. package/docs/chatgpt.ja.md +41 -0
  216. package/docs/chatgpt.md +41 -0
  217. package/docs/cli-contract.md +11 -0
  218. package/docs/client-compatibility.md +9 -0
  219. package/docs/memory-assurance.md +5 -0
  220. package/docs/memory-index-evaluation-2026-09-30.md +50 -0
  221. package/docs/memory-index.md +138 -0
  222. package/migrations/007_revision_bound_lesson_sources.sql +33 -0
  223. package/migrations/008_memory_index.sql +39 -0
  224. package/package.json +3 -2
  225. package/skills/kiokuko-soul/SKILL.md +13 -0
  226. package/templates/chatgpt/memory-policy.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import * as z from 'zod/v4';
2
+ import type { SqliteDatabase } from '../db/adapter.js';
3
+ import { type IndexSource } from './index-state.js';
4
+ export declare const indexSubmitSchema: z.ZodObject<{
5
+ units: z.ZodArray<z.ZodObject<{
6
+ type: z.ZodEnum<{
7
+ atomic: "atomic";
8
+ bridge: "bridge";
9
+ }>;
10
+ title: z.ZodString;
11
+ text: z.ZodString;
12
+ sourceIds: z.ZodArray<z.ZodString>;
13
+ entities: z.ZodArray<z.ZodObject<{
14
+ kind: z.ZodEnum<{
15
+ symbol: "symbol";
16
+ path: "path";
17
+ package: "package";
18
+ concept: "concept";
19
+ }>;
20
+ namespace: z.ZodString;
21
+ name: z.ZodString;
22
+ }, z.core.$strict>>;
23
+ quotes: z.ZodArray<z.ZodObject<{
24
+ entryId: z.ZodString;
25
+ start: z.ZodNumber;
26
+ end: z.ZodNumber;
27
+ text: z.ZodString;
28
+ }, z.core.$strict>>;
29
+ connection: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strict>>;
31
+ cwd: z.ZodString;
32
+ runId: z.ZodString;
33
+ deliveryId: z.ZodString;
34
+ workId: z.ZodString;
35
+ operationId: z.ZodString;
36
+ expectedRevision: z.ZodNumber;
37
+ }, z.core.$strict>;
38
+ export declare const indexReviewSchema: z.ZodObject<{
39
+ entryId: z.ZodString;
40
+ entryRevision: z.ZodNumber;
41
+ verdict: z.ZodEnum<{
42
+ supported: "supported";
43
+ unsupported: "unsupported";
44
+ uncertain: "uncertain";
45
+ }>;
46
+ basis: z.ZodString;
47
+ cwd: z.ZodString;
48
+ runId: z.ZodString;
49
+ deliveryId: z.ZodString;
50
+ workId: z.ZodString;
51
+ operationId: z.ZodString;
52
+ expectedRevision: z.ZodNumber;
53
+ }, z.core.$strict>;
54
+ export declare function assertIndexingRunReady(db: SqliteDatabase, runId: string): void;
55
+ export declare function indexingSources(db: SqliteDatabase, workspace: string, stage: 'atomic' | 'bridge', cursor?: string): import("./entries.js").EntryRecord[];
56
+ export declare function createIndexWork(db: SqliteDatabase, input: {
57
+ runId: string;
58
+ deliveryId: string;
59
+ workspace: string;
60
+ stage: 'atomic' | 'bridge';
61
+ sourceIds: string[];
62
+ remainingCharacters?: number;
63
+ }): {
64
+ workId: `${string}-${string}-${string}-${string}-${string}`;
65
+ stage: "atomic" | "bridge";
66
+ sources: {
67
+ workspace: string;
68
+ entryId: string;
69
+ revision: number;
70
+ contentHash: string;
71
+ }[];
72
+ expiresAt: string;
73
+ templateVersion: string;
74
+ atomicFacts: {
75
+ entryId: string;
76
+ text: string;
77
+ entities: unknown;
78
+ sources: IndexSource[];
79
+ untrusted: true;
80
+ }[];
81
+ omittedAtomicFacts: string[];
82
+ atomicSlots: {
83
+ entryId: string;
84
+ remaining: number;
85
+ }[];
86
+ };
87
+ export declare function submitIndex(db: SqliteDatabase, raw: unknown): Record<string, unknown> | {
88
+ artifacts: {
89
+ entryId: string;
90
+ revision: number;
91
+ type: "atomic" | "bridge";
92
+ }[];
93
+ untrusted: boolean;
94
+ provenance: string;
95
+ };
96
+ export declare function reviewIndex(db: SqliteDatabase, raw: unknown): Record<string, unknown> | {
97
+ entryId: string;
98
+ verdict: "supported" | "unsupported" | "uncertain";
99
+ untrusted: boolean;
100
+ provenance: string;
101
+ basis: string;
102
+ };
103
+ //# sourceMappingURL=index-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-service.d.ts","sourceRoot":"","sources":["../../src/memory/index-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAAgF,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMlI,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAiY,CAAC;AACha,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;kBAAiM,CAAC;AAGhO,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9E;AACD,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,MAAM,SAAK,wCAS7G;AACD,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;;;;;;;;;;;;iBAUgB,MAAM;cACT,MAAM;kBACF,OAAO;iBACR,WAAW,EAAE;mBACX,IAAI;;;;;;;EA0BtB;AA4GD,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;;;EAkB3D;AACD,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO;;;;;;EA2B3D"}
@@ -0,0 +1,196 @@
1
+ import * as z from 'zod/v4';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { withImmediateTransaction } from '../db/transaction.js';
4
+ import { KiokukoError } from '../errors.js';
5
+ import { LedgerStore } from '../ledger/store.js';
6
+ import { parseAssurance } from '../assurance/contracts.js';
7
+ import { assertAssuranceCwd } from '../assurance/service.js';
8
+ import { readEntry, recordEntryInTransaction } from './entries.js';
9
+ import { canonicalContentHash, canonicalJson, compareCanonicalStrings } from '../serialization/validate.js';
10
+ import { INDEX_TEMPLATE, indexMode, isIndexArtifact, indexMetadataHash, indexArtifact } from './index-state.js';
11
+ import { findSecretInValue } from './secrets.js';
12
+ const id = z.string().trim().min(1).max(256);
13
+ const entity = z.object({ kind: z.enum(['package', 'symbol', 'path', 'concept']), namespace: z.string().trim().min(1).max(256), name: z.string().trim().min(1).max(256) }).strict();
14
+ const quote = z.object({ entryId: id, start: z.number().int().nonnegative(), end: z.number().int().positive(), text: z.string().min(1).max(4000) }).strict();
15
+ const base = { cwd: z.string().min(1), runId: id, deliveryId: id, workId: id, operationId: id, expectedRevision: z.number().int().positive() };
16
+ export const indexSubmitSchema = z.object({ ...base, units: z.array(z.object({ type: z.enum(['atomic', 'bridge']), title: z.string().trim().min(1).max(200), text: z.string().trim().min(1).max(2000), sourceIds: z.array(id).min(1).max(2), entities: z.array(entity).min(1).max(16), quotes: z.array(quote).min(1).max(16), connection: z.string().trim().min(1).max(1000).optional() }).strict()).min(1).max(40) }).strict();
17
+ export const indexReviewSchema = z.object({ ...base, entryId: id, entryRevision: z.number().int().positive(), verdict: z.enum(['supported', 'unsupported', 'uncertain']), basis: z.string().trim().min(1).max(4000) }).strict();
18
+ function conflict(message) { throw new KiokukoError('CONFLICT', message); }
19
+ function eligible(entry) { return entry.workspace !== 'global' && entry.status !== 'superseded' && entry.kind !== 'preference' && !isIndexArtifact(entry) && !['agent_derived_lesson', 'external_skill', 'source_sync'].includes(String(entry.provenance.type)); }
20
+ export function assertIndexingRunReady(db, runId) {
21
+ if (!db.prepare("SELECT 1 FROM ledger_runs r JOIN run_intakes i ON i.run_id=r.run_id JOIN akinator_sessions s ON s.id=i.session_id WHERE r.run_id=? AND r.status='active' AND i.finalized_at IS NOT NULL AND s.status IN ('ready','exhausted')").get(runId))
22
+ conflict('Index maintenance requires completed intake');
23
+ }
24
+ export function indexingSources(db, workspace, stage, cursor = '') {
25
+ if (indexMode(db, workspace) === 'off')
26
+ conflict('Enable observe before maintaining the index');
27
+ const rows = stage === 'atomic' ? db.prepare('SELECT e.id FROM memory_index_pending p JOIN entries e ON e.id=p.entry_id WHERE e.workspace=? AND e.id>? ORDER BY e.id LIMIT 100').all(workspace, cursor) : db.prepare("SELECT DISTINCT e.id FROM entries e JOIN memory_index_sources s ON s.source_id=e.id JOIN memory_index_artifacts a ON a.entry_id=s.artifact_id WHERE e.workspace=? AND e.id>? AND a.knowledge_type='atomic' AND a.state='supported' ORDER BY e.id LIMIT 100").all(workspace, cursor);
28
+ return rows.map(r => readEntry(db, { workspace, entryId: r.id })).filter(eligible).slice(0, 5);
29
+ }
30
+ export function createIndexWork(db, input) {
31
+ const sources = input.sourceIds.map(entryId => {
32
+ const e = readEntry(db, { workspace: input.workspace, entryId });
33
+ if (!eligible(e))
34
+ conflict('Index source is ineligible');
35
+ return { workspace: e.workspace, entryId: e.id, revision: e.revision, contentHash: e.contentHash };
36
+ });
37
+ const workId = randomUUID(), expiresAt = new Date(Date.now() + 30 * 60 * 1000).toISOString();
38
+ db.prepare('INSERT INTO memory_index_work VALUES(?,?,?,?,?,?,?,?,?)').run(workId, input.runId, input.deliveryId, input.workspace, input.stage, canonicalJson(sources), canonicalContentHash(sources), INDEX_TEMPLATE, expiresAt);
39
+ const atomicFacts = [];
40
+ const omittedAtomicFacts = [];
41
+ let remaining = input.remainingCharacters ?? 0;
42
+ {
43
+ const rows = db.prepare(`SELECT a.entry_id,a.entities_json FROM memory_index_artifacts a JOIN entries e ON e.id=a.entry_id WHERE e.workspace=? AND a.knowledge_type='atomic' AND a.state='supported' AND EXISTS(SELECT 1 FROM memory_index_sources ms WHERE ms.artifact_id=a.entry_id AND ms.source_id IN (${sources.map(() => '?').join(',') || "''"})) ORDER BY a.entry_id LIMIT 40`).all(input.workspace, ...sources.map(s => s.entryId));
44
+ for (const row of rows) {
45
+ const entry = readEntry(db, { workspace: input.workspace, entryId: row.entry_id });
46
+ const artifact = indexArtifact(db, entry);
47
+ if (!artifact)
48
+ continue;
49
+ const fact = { entryId: entry.id, text: entry.body, entities: JSON.parse(row.entities_json), sources: artifact.sources, untrusted: true };
50
+ const cost = Array.from(canonicalJson(fact)).length;
51
+ if (cost > remaining) {
52
+ omittedAtomicFacts.push(entry.id);
53
+ continue;
54
+ }
55
+ remaining -= cost;
56
+ atomicFacts.push(fact);
57
+ }
58
+ }
59
+ const atomicSlots = sources.map(source => ({ entryId: source.entryId, remaining: Math.max(0, 8 - liveAtomicCount(db, source)) }));
60
+ return { workId, stage: input.stage, sources, expiresAt, templateVersion: INDEX_TEMPLATE, atomicFacts, omittedAtomicFacts, atomicSlots };
61
+ }
62
+ function boundWork(db, input) {
63
+ assertIndexingRunReady(db, input.runId);
64
+ const state = assertAssuranceCwd(db, input.runId, input.cwd);
65
+ if (state.revision !== input.expectedRevision || state.delivery_id !== input.deliveryId)
66
+ conflict('Index assurance or delivery changed');
67
+ const run = new LedgerStore(db).readRun(input.runId);
68
+ if (run?.status !== 'active')
69
+ conflict('Index requires an active completed-intake run');
70
+ const work = db.prepare('SELECT * FROM memory_index_work WHERE work_id=?').get(input.workId);
71
+ if (!work || work.run_id !== input.runId || work.delivery_id !== input.deliveryId || work.workspace !== run.workspace || work.template_version !== INDEX_TEMPLATE || work.expires_at <= new Date().toISOString() || indexMode(db, work.workspace) === 'off')
72
+ conflict('Index batch is expired or unbound');
73
+ const sources = JSON.parse(work.batch_json);
74
+ if (canonicalContentHash(sources) !== work.batch_hash)
75
+ conflict('Index batch hash is invalid');
76
+ for (const s of sources) {
77
+ const e = readEntry(db, { workspace: work.workspace, entryId: s.entryId });
78
+ if (!eligible(e) || e.revision !== s.revision || e.contentHash !== s.contentHash)
79
+ conflict('Index source changed');
80
+ const delivered = db.prepare('SELECT 1 AS present FROM context_delivery_entries WHERE delivery_id=? AND entry_id=? AND entry_revision=? AND origin_scope=\'project\'').get(input.deliveryId, s.entryId, s.revision);
81
+ if (!delivered)
82
+ conflict('Index source was not delivered');
83
+ }
84
+ return { work, sources };
85
+ }
86
+ function replay(db, operationId, inputHash) {
87
+ const prior = db.prepare('SELECT input_hash,response_json FROM memory_index_operations WHERE operation_id=?').get(operationId);
88
+ if (prior) {
89
+ if (prior.input_hash !== inputHash)
90
+ conflict('Index operation identity conflicts');
91
+ return JSON.parse(prior.response_json);
92
+ }
93
+ return undefined;
94
+ }
95
+ function receipt(db, operationId, inputHash, response, workId) { db.prepare('INSERT INTO memory_index_operations VALUES(?,?,?,?)').run(operationId, workId, inputHash, canonicalJson(response)); }
96
+ function liveAtomicCount(db, source) {
97
+ return db.prepare("SELECT COUNT(*) AS count FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id JOIN memory_index_work w ON w.work_id=a.work_id JOIN ledger_runs r ON r.run_id=w.run_id WHERE ms.source_id=? AND ms.source_revision=? AND a.knowledge_type='atomic' AND (a.state='supported' OR (a.state='pending' AND w.expires_at>? AND r.status='active'))").get(source.entryId, source.revision, new Date().toISOString()).count;
98
+ }
99
+ function validateIndexUnit(db, unit, stage, workId, sources) {
100
+ if (unit.type !== stage)
101
+ conflict('Wrong indexing stage');
102
+ const expected = unit.type === 'atomic' ? 1 : 2;
103
+ if (unit.sourceIds.length !== expected || new Set(unit.sourceIds).size !== expected)
104
+ conflict('Wrong source count');
105
+ const refs = unit.sourceIds.map(id => {
106
+ const source = sources.find(s => s.entryId === id);
107
+ if (!source)
108
+ conflict('Source outside index batch');
109
+ return source;
110
+ }).sort((a, b) => compareCanonicalStrings(a.entryId, b.entryId));
111
+ const entries = refs.map(s => readEntry(db, { workspace: s.workspace, entryId: s.entryId }));
112
+ for (const s of refs) {
113
+ if (!unit.quotes.some(q => q.entryId === s.entryId))
114
+ conflict('Missing source quote');
115
+ }
116
+ for (const q of unit.quotes) {
117
+ const e = entries.find(e => e.id === q.entryId);
118
+ if (!e || q.end <= q.start || e.body.slice(q.start, q.end) !== q.text)
119
+ conflict('Quote does not match source UTF-16 span');
120
+ }
121
+ if (unit.type === 'atomic') {
122
+ const existing = liveAtomicCount(db, refs[0]);
123
+ const count = existing + 1;
124
+ if (count > 8)
125
+ conflict('Atomic limit exceeded');
126
+ if (unit.entities.some(e => !unit.quotes.some(q => q.text.includes(e.name))))
127
+ conflict('Entity absent from quote');
128
+ }
129
+ else {
130
+ if (!unit.connection)
131
+ conflict('Bridge requires a complementary connection');
132
+ if (canonicalJson(entries[0].scope.applicability ?? null) !== canonicalJson(entries[1].scope.applicability ?? null))
133
+ conflict('Applicability differs');
134
+ if (db.prepare("SELECT 1 AS present FROM entry_links WHERE relation='contradicts' AND ((from_entry_id=? AND to_entry_id=?) OR (from_entry_id=? AND to_entry_id=?))").get(refs[0].entryId, refs[1].entryId, refs[1].entryId, refs[0].entryId))
135
+ conflict('Contradictory sources');
136
+ const shared = unit.entities.some(entity => refs.every(s => db.prepare("SELECT a.entities_json FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id WHERE ms.source_id=? AND a.knowledge_type='atomic' AND a.state='supported'").all(s.entryId).some(a => JSON.parse(a.entities_json).some(e => canonicalJson(e) === canonicalJson(entity)))));
137
+ if (!shared)
138
+ conflict('No exact qualified shared entity');
139
+ }
140
+ return { refs, entries };
141
+ }
142
+ function saveIndexUnit(db, unit, workspace, workId, binding) {
143
+ const { refs, entries } = binding;
144
+ const e = recordEntryInTransaction(db, { workspace: workspace, kind: 'fact', status: 'candidate', trustLevel: 'untrusted', confidence: Math.min(.5, ...entries.map(e => e.confidence)), title: unit.title, body: unit.text, scope: { ...entries[0].scope, visibility: "project", retrievalScope: "project-only" }, provenance: { type: 'memory_index', reference: workId + ':' + indexMetadataHash(unit.type, refs, unit.entities, unit.quotes, unit.connection ?? null), sourceSetHash: canonicalContentHash(refs), requirementScopeHash: indexMetadataHash(unit.type, refs, unit.entities, unit.quotes, unit.connection ?? null) }, createdBy: 'kiokuko-memory-index' });
145
+ if (db.prepare('SELECT 1 FROM memory_index_artifacts WHERE entry_id=?').get(e.id))
146
+ conflict('Duplicate index candidate');
147
+ db.prepare('INSERT INTO memory_index_artifacts VALUES(?,?,?,?,?,?,?,?,?)').run(e.id, workId, unit.type, e.contentHash, canonicalJson(refs), canonicalJson(unit.entities), canonicalJson(unit.quotes), unit.connection ?? null, 'pending');
148
+ for (const s of refs)
149
+ db.prepare('INSERT INTO memory_index_sources VALUES(?,?,?)').run(e.id, s.entryId, s.revision);
150
+ return { entryId: e.id, revision: e.revision, type: unit.type };
151
+ }
152
+ export function submitIndex(db, raw) {
153
+ const input = parseAssurance(indexSubmitSchema, raw);
154
+ if (findSecretInValue(input))
155
+ throw new KiokukoError('SECURITY_REJECTION', 'Index content resembles a secret');
156
+ return withImmediateTransaction(db, () => {
157
+ const { work, sources } = boundWork(db, input), hash = canonicalContentHash(input);
158
+ const old = replay(db, input.operationId, hash);
159
+ if (old)
160
+ return old;
161
+ const saved = [];
162
+ for (const unit of input.units) {
163
+ const binding = validateIndexUnit(db, unit, work.stage, input.workId, sources);
164
+ saved.push(saveIndexUnit(db, unit, work.workspace, input.workId, binding));
165
+ }
166
+ const result = { artifacts: saved, untrusted: true, provenance: 'model_reported' };
167
+ receipt(db, input.operationId, hash, result, input.workId);
168
+ return result;
169
+ });
170
+ }
171
+ export function reviewIndex(db, raw) {
172
+ const input = parseAssurance(indexReviewSchema, raw);
173
+ if (findSecretInValue(input))
174
+ throw new KiokukoError('SECURITY_REJECTION', 'Review resembles a secret');
175
+ return withImmediateTransaction(db, () => {
176
+ const { work } = boundWork(db, input), hash = canonicalContentHash(input);
177
+ const old = replay(db, input.operationId, hash);
178
+ if (old)
179
+ return old;
180
+ const e = readEntry(db, { workspace: work.workspace, entryId: input.entryId });
181
+ const a = db.prepare('SELECT * FROM memory_index_artifacts WHERE entry_id=? AND work_id=?').get(e.id, input.workId);
182
+ if (!a || e.revision !== input.entryRevision || a.state !== 'pending')
183
+ conflict('Index artifact changed or already reviewed');
184
+ db.prepare('UPDATE memory_index_artifacts SET state=? WHERE entry_id=?').run('supported', e.id);
185
+ if (!indexArtifact(db, e))
186
+ conflict('Index artifact integrity changed');
187
+ db.prepare('UPDATE memory_index_artifacts SET state=? WHERE entry_id=?').run(input.verdict, e.id);
188
+ if (input.verdict === 'supported')
189
+ for (const s of JSON.parse(a.sources_json))
190
+ db.prepare("DELETE FROM memory_index_pending WHERE entry_id=? AND revision=? AND NOT EXISTS(SELECT 1 FROM memory_index_artifacts a JOIN memory_index_sources ms ON ms.artifact_id=a.entry_id JOIN memory_index_work w ON w.work_id=a.work_id JOIN ledger_runs r ON r.run_id=w.run_id WHERE ms.source_id=? AND ms.source_revision=? AND a.state='pending' AND w.expires_at>? AND r.status='active')").run(s.entryId, s.revision, s.entryId, s.revision, new Date().toISOString());
191
+ const result = { entryId: e.id, verdict: input.verdict, untrusted: true, provenance: 'model_reported', basis: input.basis };
192
+ receipt(db, input.operationId, hash, result, input.workId);
193
+ return result;
194
+ });
195
+ }
196
+ //# sourceMappingURL=index-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-service.js","sourceRoot":"","sources":["../../src/memory/index-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type HybridSearchRuntime } from './hybrid-retrieval.js';
2
+ import type { SqliteDatabase } from '../db/adapter.js';
3
+ import { type EntryRecord } from './entries.js';
4
+ export declare const INDEX_TEMPLATE = "memory-index-v1";
5
+ export type IndexMode = 'off' | 'observe' | 'active';
6
+ export interface IndexSource {
7
+ workspace: string;
8
+ entryId: string;
9
+ revision: number;
10
+ contentHash: string;
11
+ }
12
+ export declare function indexMode(db: SqliteDatabase, workspace: string): IndexMode;
13
+ export declare function isIndexArtifact(entry: EntryRecord): boolean;
14
+ export declare function assertNotIndexArtifact(entry: EntryRecord): void;
15
+ export declare function indexArtifact(db: SqliteDatabase, entry: EntryRecord): {
16
+ knowledgeType: "atomic" | "bridge";
17
+ sources: {
18
+ workspace: string;
19
+ entryId: string;
20
+ revision: number;
21
+ contentHash: string;
22
+ }[];
23
+ quotes: {
24
+ entryId: string;
25
+ start: number;
26
+ end: number;
27
+ text: string;
28
+ }[];
29
+ connection: string | null;
30
+ } | undefined;
31
+ export declare function indexMetadataHash(type: 'atomic' | 'bridge', sources: IndexSource[], entities: unknown, quotes: unknown, connection?: string | null): string;
32
+ export declare function indexStateHash(db: SqliteDatabase, workspaces: readonly string[]): string;
33
+ /** Shadow diagnostics never alter ordinary ranking, delivery or trust. */
34
+ export declare function observeIndex(db: SqliteDatabase, workspace: string, query: string, runtime?: HybridSearchRuntime): {
35
+ mode: "observe";
36
+ candidates: number;
37
+ generated: {
38
+ entryId: string;
39
+ knowledgeType: "atomic" | "bridge";
40
+ rank: number;
41
+ score: number;
42
+ sources: {
43
+ workspace: string;
44
+ entryId: string;
45
+ revision: number;
46
+ contentHash: string;
47
+ }[];
48
+ }[];
49
+ elapsedMs: number;
50
+ deliveredGeneratedCount: 0;
51
+ } | undefined;
52
+ /** Apply before vector top-k so disabled artifacts cannot displace originals. */
53
+ export declare function indexVectorFilter(evaluation: boolean, originalsOnly?: boolean): string;
54
+ export declare function validIndexVector(db: SqliteDatabase, workspace: string, entryId: string): boolean;
55
+ export declare function formatIndexSourceReferences(artifact: NonNullable<ReturnType<typeof indexArtifact>>): string;
56
+ //# sourceMappingURL=index-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-state.d.ts","sourceRoot":"","sources":["../../src/memory/index-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AACrD,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAGD,wBAAgB,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAI1E;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAmG;AAC/J,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAG/D;AACD,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;cA8DnE;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAEjK;AACD,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAExF;AACD,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;;;;;;;;;;;;;;;;;cAWnH;AACD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,UAAQ,GAAG,MAAM,CAIpF;AACD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAShG;AACD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,MAAM,CAE3G"}
@@ -0,0 +1,100 @@
1
+ import { hybridSearch } from './hybrid-retrieval.js';
2
+ import * as z from 'zod/v4';
3
+ import { readEntry } from './entries.js';
4
+ import { canonicalContentHash, compareCanonicalStrings } from '../serialization/validate.js';
5
+ import { KiokukoError } from '../errors.js';
6
+ export const INDEX_TEMPLATE = 'memory-index-v1';
7
+ const sourceReferenceSchema = z.object({ workspace: z.string().min(1), entryId: z.string().min(1), revision: z.number().int().positive(), contentHash: z.string().regex(/^[0-9a-f]{64}$/u) }).strict();
8
+ const sourceBatchSchema = z.array(sourceReferenceSchema).min(1).max(5);
9
+ export function indexMode(db, workspace) {
10
+ return db.prepare('SELECT mode FROM memory_index_settings WHERE workspace=?').get(workspace)?.mode ?? 'off';
11
+ }
12
+ export function isIndexArtifact(entry) { return entry.createdBy === 'kiokuko-memory-index' || entry.provenance.type === 'memory_index'; }
13
+ export function assertNotIndexArtifact(entry) {
14
+ if (isIndexArtifact(entry))
15
+ throw new KiokukoError('CONFLICT', 'Managed index artifacts require the memory-index workflow');
16
+ }
17
+ export function indexArtifact(db, entry) {
18
+ if (entry.kind !== 'fact' || entry.status !== 'candidate' || entry.trustLevel !== 'untrusted' || entry.confidence > .5 || entry.createdBy !== 'kiokuko-memory-index' || entry.provenance.type !== 'memory_index')
19
+ return undefined;
20
+ const row = db.prepare('SELECT * FROM memory_index_artifacts WHERE entry_id=?').get(entry.id);
21
+ if (!row || row.output_hash !== entry.contentHash || row.state !== 'supported')
22
+ return undefined;
23
+ const work = db.prepare('SELECT template_version,workspace,batch_json,batch_hash FROM memory_index_work WHERE work_id=?').get(row.work_id);
24
+ if (work?.template_version !== INDEX_TEMPLATE || work.workspace !== entry.workspace)
25
+ return undefined;
26
+ try {
27
+ const sources = sourceBatchSchema.parse(JSON.parse(row.sources_json));
28
+ const batch = sourceBatchSchema.parse(JSON.parse(work.batch_json));
29
+ if (canonicalContentHash(batch) !== work.batch_hash || !sources.every(source => batch.some(s => canonicalContentHash(s) === canonicalContentHash(source))))
30
+ return undefined;
31
+ const entities = JSON.parse(row.entities_json);
32
+ const quotes = z.array(z.object({ entryId: z.string(), start: z.number().int().nonnegative(), end: z.number().int().positive(), text: z.string().min(1) }).strict()).min(1).max(16).parse(JSON.parse(row.quotes_json));
33
+ if (sources.length !== (row.knowledge_type === 'atomic' ? 1 : 2) || new Set(sources.map(s => s.entryId)).size !== sources.length
34
+ || entry.provenance.reference !== row.work_id + ':' + indexMetadataHash(row.knowledge_type, sources, entities, quotes, row.connection)
35
+ || entry.provenance.sourceSetHash !== canonicalContentHash(sources)
36
+ || entry.provenance.requirementScopeHash !== indexMetadataHash(row.knowledge_type, sources, entities, quotes, row.connection))
37
+ return undefined;
38
+ const mapped = db.prepare('SELECT source_id,source_revision FROM memory_index_sources WHERE artifact_id=? ORDER BY source_id').all(entry.id);
39
+ if (canonicalContentHash(mapped.sort((a, b) => compareCanonicalStrings(a.source_id, b.source_id))) !== canonicalContentHash(sources.map(s => ({ source_id: s.entryId, source_revision: s.revision }))))
40
+ return undefined;
41
+ for (const s of sources) {
42
+ const current = readEntry(db, { workspace: s.workspace, entryId: s.entryId });
43
+ if (s.workspace !== entry.workspace || current.revision !== s.revision || current.contentHash !== s.contentHash || current.status === 'superseded' || isIndexArtifact(current)
44
+ || !quotes.some(q => q.entryId === s.entryId))
45
+ return undefined;
46
+ for (const q of quotes.filter(q => q.entryId === s.entryId))
47
+ if (q.end <= q.start || current.body.slice(q.start, q.end) !== q.text)
48
+ return undefined;
49
+ }
50
+ if (row.knowledge_type === 'bridge' && db.prepare("SELECT 1 FROM entry_links WHERE relation='contradicts' AND ((from_entry_id=? AND to_entry_id=?) OR (from_entry_id=? AND to_entry_id=?))").get(sources[0].entryId, sources[1].entryId, sources[1].entryId, sources[0].entryId))
51
+ return undefined;
52
+ if (quotes.some(q => !sources.some(s => s.entryId === q.entryId)))
53
+ return undefined;
54
+ return { knowledgeType: row.knowledge_type, sources, quotes, connection: row.connection };
55
+ }
56
+ catch (error) {
57
+ if (error instanceof SyntaxError || error instanceof z.ZodError || error instanceof KiokukoError && ['NOT_FOUND', 'INTEGRITY_ERROR', 'VALIDATION_ERROR'].includes(error.code))
58
+ return undefined;
59
+ throw error;
60
+ }
61
+ }
62
+ export function indexMetadataHash(type, sources, entities, quotes, connection = null) {
63
+ return canonicalContentHash({ type, sources, entities, quotes, connection, template: INDEX_TEMPLATE });
64
+ }
65
+ export function indexStateHash(db, workspaces) {
66
+ return canonicalContentHash(workspaces.map(workspace => ({ workspace, mode: indexMode(db, workspace), template: INDEX_TEMPLATE, artifacts: db.prepare('SELECT a.* FROM memory_index_artifacts a JOIN entries e ON e.id=a.entry_id WHERE e.workspace=? ORDER BY a.entry_id').all(workspace) })));
67
+ }
68
+ /** Shadow diagnostics never alter ordinary ranking, delivery or trust. */
69
+ export function observeIndex(db, workspace, query, runtime = {}) {
70
+ if (indexMode(db, workspace) !== 'observe')
71
+ return undefined;
72
+ const started = performance.now();
73
+ const ranked = hybridSearch(db, { workspace, query, limit: 120, indexEvaluation: true }, runtime);
74
+ const generated = ranked.flatMap((hit, index) => {
75
+ const entry = readEntry(db, { workspace, entryId: hit.entryId });
76
+ const artifact = indexArtifact(db, entry);
77
+ return artifact ? [{ entryId: entry.id, knowledgeType: artifact.knowledgeType, rank: index + 1, score: hit.fusedScore, sources: artifact.sources }] : [];
78
+ });
79
+ return { mode: 'observe', candidates: ranked.length, generated, elapsedMs: performance.now() - started, deliveredGeneratedCount: 0 };
80
+ }
81
+ /** Apply before vector top-k so disabled artifacts cannot displace originals. */
82
+ export function indexVectorFilter(evaluation, originalsOnly = false) {
83
+ if (originalsOnly)
84
+ return "e.created_by <> 'kiokuko-memory-index' AND COALESCE(json_extract(r.provenance_json,'$.type'),'') <> 'memory_index'";
85
+ return `((e.created_by <> 'kiokuko-memory-index' AND COALESCE(json_extract(r.provenance_json,'$.type'),'') <> 'memory_index') OR EXISTS(SELECT 1 FROM memory_index_artifacts a JOIN memory_index_settings ims ON ims.workspace=e.workspace WHERE a.entry_id=e.id AND a.state='supported' AND (ims.mode='active' OR ${evaluation ? '1' : '0'})))`;
86
+ }
87
+ export function validIndexVector(db, workspace, entryId) {
88
+ try {
89
+ return indexArtifact(db, readEntry(db, { workspace, entryId })) !== undefined;
90
+ }
91
+ catch (error) {
92
+ if (error instanceof KiokukoError && ['NOT_FOUND', 'INTEGRITY_ERROR', 'VALIDATION_ERROR'].includes(error.code))
93
+ return false;
94
+ throw error;
95
+ }
96
+ }
97
+ export function formatIndexSourceReferences(artifact) {
98
+ return `\n\nSources: ${JSON.stringify(artifact.sources)}\nQuotes: ${JSON.stringify(artifact.quotes)}${artifact.connection ? `\nConnection: ${artifact.connection}` : ''}`;
99
+ }
100
+ //# sourceMappingURL=index-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-state.js","sourceRoot":"","sources":["../../src/memory/index-state.ts"],"names":[],"mappings":"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"}