kiokuko 1.0.43 → 1.0.45

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 (115) hide show
  1. package/README.ja.md +21 -159
  2. package/README.ko.md +21 -125
  3. package/README.md +21 -196
  4. package/README.zh-CN.md +21 -126
  5. package/dist/assurance/contracts.d.ts +1 -1
  6. package/dist/assurance/doctor.d.ts +1 -1
  7. package/dist/assurance/inspect.d.ts +1 -1
  8. package/dist/assurance/service.d.ts +1 -1
  9. package/dist/assurance/verification-contracts.d.ts +1 -1
  10. package/dist/assurance/verification.d.ts +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +43 -5
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/code-version.d.ts +6 -0
  15. package/dist/commands/code-version.d.ts.map +1 -0
  16. package/dist/commands/code-version.js +66 -0
  17. package/dist/commands/code-version.js.map +1 -0
  18. package/dist/commands/doctor.d.ts +12 -1
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +75 -30
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/embedding/model-download.d.ts.map +1 -1
  23. package/dist/embedding/model-download.js +52 -9
  24. package/dist/embedding/model-download.js.map +1 -1
  25. package/dist/embedding/model-installation.d.ts.map +1 -1
  26. package/dist/embedding/model-installation.js +11 -0
  27. package/dist/embedding/model-installation.js.map +1 -1
  28. package/dist/ledger/checkpoint-contract.d.ts +8 -8
  29. package/dist/mcp/chatgpt-contract.d.ts +114 -3
  30. package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
  31. package/dist/mcp/chatgpt-contract.js +21 -1
  32. package/dist/mcp/chatgpt-contract.js.map +1 -1
  33. package/dist/mcp/chatgpt-server.d.ts.map +1 -1
  34. package/dist/mcp/chatgpt-server.js +32 -2
  35. package/dist/mcp/chatgpt-server.js.map +1 -1
  36. package/dist/mcp/correction-review.d.ts +43 -0
  37. package/dist/mcp/correction-review.d.ts.map +1 -0
  38. package/dist/mcp/correction-review.js +62 -0
  39. package/dist/mcp/correction-review.js.map +1 -0
  40. package/dist/mcp/request-deadline.d.ts +1 -1
  41. package/dist/mcp/request-deadline.d.ts.map +1 -1
  42. package/dist/mcp/request-deadline.js +1 -0
  43. package/dist/mcp/request-deadline.js.map +1 -1
  44. package/dist/mcp/server.d.ts.map +1 -1
  45. package/dist/mcp/server.js +42 -0
  46. package/dist/mcp/server.js.map +1 -1
  47. package/dist/memory/applicability-context.d.ts +24 -0
  48. package/dist/memory/applicability-context.d.ts.map +1 -0
  49. package/dist/memory/applicability-context.js +129 -0
  50. package/dist/memory/applicability-context.js.map +1 -0
  51. package/dist/memory/checkpoint-contract.d.ts +42 -12
  52. package/dist/memory/checkpoint-contract.d.ts.map +1 -1
  53. package/dist/memory/checkpoint-contract.js +5 -0
  54. package/dist/memory/checkpoint-contract.js.map +1 -1
  55. package/dist/memory/code-versions.d.ts +79 -0
  56. package/dist/memory/code-versions.d.ts.map +1 -0
  57. package/dist/memory/code-versions.js +159 -0
  58. package/dist/memory/code-versions.js.map +1 -0
  59. package/dist/memory/correction-contract.d.ts +27 -0
  60. package/dist/memory/correction-contract.d.ts.map +1 -0
  61. package/dist/memory/correction-contract.js +14 -0
  62. package/dist/memory/correction-contract.js.map +1 -0
  63. package/dist/memory/entry-history.d.ts +29 -0
  64. package/dist/memory/entry-history.d.ts.map +1 -0
  65. package/dist/memory/entry-history.js +66 -0
  66. package/dist/memory/entry-history.js.map +1 -0
  67. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  68. package/dist/memory/federated-retrieval.js +14 -1
  69. package/dist/memory/federated-retrieval.js.map +1 -1
  70. package/dist/memory/git-provenance.d.ts.map +1 -1
  71. package/dist/memory/git-provenance.js +28 -0
  72. package/dist/memory/git-provenance.js.map +1 -1
  73. package/dist/memory/handoff.d.ts +1 -1
  74. package/dist/memory/history-delivery.d.ts +57 -0
  75. package/dist/memory/history-delivery.d.ts.map +1 -0
  76. package/dist/memory/history-delivery.js +85 -0
  77. package/dist/memory/history-delivery.js.map +1 -0
  78. package/dist/memory/hybrid-retrieval.d.ts +5 -0
  79. package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
  80. package/dist/memory/hybrid-retrieval.js +28 -9
  81. package/dist/memory/hybrid-retrieval.js.map +1 -1
  82. package/dist/memory/interaction-contract.d.ts +22 -12
  83. package/dist/memory/interaction-contract.d.ts.map +1 -1
  84. package/dist/memory/lesson-derivation.d.ts +1 -1
  85. package/dist/memory/lifecycle.d.ts.map +1 -1
  86. package/dist/memory/lifecycle.js +18 -1
  87. package/dist/memory/lifecycle.js.map +1 -1
  88. package/dist/memory/observation-contract.d.ts +4 -4
  89. package/dist/memory/retrieval.d.ts +11 -0
  90. package/dist/memory/retrieval.d.ts.map +1 -1
  91. package/dist/memory/retrieval.js +11 -6
  92. package/dist/memory/retrieval.js.map +1 -1
  93. package/dist/memory/structured-memory.d.ts +5 -0
  94. package/dist/memory/structured-memory.d.ts.map +1 -1
  95. package/dist/memory/structured-memory.js +28 -6
  96. package/dist/memory/structured-memory.js.map +1 -1
  97. package/dist/reranker/runtime.d.ts.map +1 -1
  98. package/dist/reranker/runtime.js +121 -124
  99. package/dist/reranker/runtime.js.map +1 -1
  100. package/docs/README.ja.md +2 -0
  101. package/docs/README.md +2 -0
  102. package/docs/chatgpt.md +12 -0
  103. package/docs/cli-contract.md +34 -7
  104. package/docs/client-compatibility.md +1 -1
  105. package/docs/context-delivery.md +7 -0
  106. package/docs/getting-started.ja.md +8 -5
  107. package/docs/getting-started.md +11 -8
  108. package/docs/history-evidence.md +139 -0
  109. package/docs/setup-notes.ja.md +122 -0
  110. package/docs/setup-notes.ko.md +107 -0
  111. package/docs/setup-notes.md +133 -0
  112. package/docs/setup-notes.zh-CN.md +107 -0
  113. package/migrations/014_code_version_evidence.sql +26 -0
  114. package/package.json +1 -1
  115. package/templates/chatgpt/memory-policy.json +1 -1
@@ -33,6 +33,11 @@ export declare const checkpointMemorySchema: z.ZodObject<{
33
33
  gotcha: "gotcha";
34
34
  }>>;
35
35
  applicability: z.ZodOptional<z.ZodObject<{
36
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
36
41
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
42
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
38
43
  name: z.ZodString;
@@ -96,6 +101,11 @@ export declare const runBoundCheckpointSchema: z.ZodObject<{
96
101
  gotcha: "gotcha";
97
102
  }>>;
98
103
  applicability: z.ZodOptional<z.ZodObject<{
104
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
107
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
108
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
99
109
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
110
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
101
111
  name: z.ZodString;
@@ -134,9 +144,9 @@ export declare const runBoundCheckpointSchema: z.ZodObject<{
134
144
  classification: z.ZodOptional<z.ZodString>;
135
145
  exitCode: z.ZodOptional<z.ZodNumber>;
136
146
  outcome: z.ZodEnum<{
147
+ unknown: "unknown";
137
148
  failed: "failed";
138
149
  passed: "passed";
139
- unknown: "unknown";
140
150
  }>;
141
151
  digest: z.ZodOptional<z.ZodString>;
142
152
  }, z.core.$strict>>>;
@@ -144,18 +154,18 @@ export declare const runBoundCheckpointSchema: z.ZodObject<{
144
154
  runner: z.ZodString;
145
155
  target: z.ZodOptional<z.ZodString>;
146
156
  outcome: z.ZodEnum<{
157
+ unknown: "unknown";
147
158
  failed: "failed";
148
159
  passed: "passed";
149
- unknown: "unknown";
150
160
  }>;
151
161
  digest: z.ZodOptional<z.ZodString>;
152
162
  }, z.core.$strict>>>;
153
163
  verification: z.ZodOptional<z.ZodObject<{
154
164
  outcome: z.ZodEnum<{
155
- failed: "failed";
156
165
  unknown: "unknown";
157
- fresh: "fresh";
166
+ failed: "failed";
158
167
  stale: "stale";
168
+ fresh: "fresh";
159
169
  }>;
160
170
  }, z.core.$strict>>;
161
171
  }, z.core.$strict>>;
@@ -196,6 +206,11 @@ export declare const standaloneMemoryCheckpointSchema: z.ZodObject<{
196
206
  gotcha: "gotcha";
197
207
  }>>;
198
208
  applicability: z.ZodOptional<z.ZodObject<{
209
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
210
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
212
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
213
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
199
214
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
200
215
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
201
216
  name: z.ZodString;
@@ -260,6 +275,11 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
260
275
  gotcha: "gotcha";
261
276
  }>>;
262
277
  applicability: z.ZodOptional<z.ZodObject<{
278
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
279
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
280
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
281
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
282
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
263
283
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
264
284
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
265
285
  name: z.ZodString;
@@ -298,9 +318,9 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
298
318
  classification: z.ZodOptional<z.ZodString>;
299
319
  exitCode: z.ZodOptional<z.ZodNumber>;
300
320
  outcome: z.ZodEnum<{
321
+ unknown: "unknown";
301
322
  failed: "failed";
302
323
  passed: "passed";
303
- unknown: "unknown";
304
324
  }>;
305
325
  digest: z.ZodOptional<z.ZodString>;
306
326
  }, z.core.$strict>>>;
@@ -308,18 +328,18 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
308
328
  runner: z.ZodString;
309
329
  target: z.ZodOptional<z.ZodString>;
310
330
  outcome: z.ZodEnum<{
331
+ unknown: "unknown";
311
332
  failed: "failed";
312
333
  passed: "passed";
313
- unknown: "unknown";
314
334
  }>;
315
335
  digest: z.ZodOptional<z.ZodString>;
316
336
  }, z.core.$strict>>>;
317
337
  verification: z.ZodOptional<z.ZodObject<{
318
338
  outcome: z.ZodEnum<{
319
- failed: "failed";
320
339
  unknown: "unknown";
321
- fresh: "fresh";
340
+ failed: "failed";
322
341
  stale: "stale";
342
+ fresh: "fresh";
323
343
  }>;
324
344
  }, z.core.$strict>>;
325
345
  }, z.core.$strict>>;
@@ -359,6 +379,11 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
359
379
  gotcha: "gotcha";
360
380
  }>>;
361
381
  applicability: z.ZodOptional<z.ZodObject<{
382
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
383
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
384
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
385
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
386
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
362
387
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
363
388
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
364
389
  name: z.ZodString;
@@ -415,6 +440,11 @@ export declare const memoryCheckpointInputSchema: z.ZodObject<{
415
440
  gotcha: "gotcha";
416
441
  }>>;
417
442
  applicability: z.ZodOptional<z.ZodObject<{
443
+ ownerIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
444
+ repositoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
445
+ workspaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
446
+ branches: z.ZodOptional<z.ZodArray<z.ZodString>>;
447
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
418
448
  languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
419
449
  frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
420
450
  name: z.ZodString;
@@ -461,9 +491,9 @@ export declare const memoryCheckpointInputSchema: z.ZodObject<{
461
491
  classification: z.ZodOptional<z.ZodString>;
462
492
  exitCode: z.ZodOptional<z.ZodNumber>;
463
493
  outcome: z.ZodEnum<{
494
+ unknown: "unknown";
464
495
  failed: "failed";
465
496
  passed: "passed";
466
- unknown: "unknown";
467
497
  }>;
468
498
  digest: z.ZodOptional<z.ZodString>;
469
499
  }, z.core.$strict>>>;
@@ -471,18 +501,18 @@ export declare const memoryCheckpointInputSchema: z.ZodObject<{
471
501
  runner: z.ZodString;
472
502
  target: z.ZodOptional<z.ZodString>;
473
503
  outcome: z.ZodEnum<{
504
+ unknown: "unknown";
474
505
  failed: "failed";
475
506
  passed: "passed";
476
- unknown: "unknown";
477
507
  }>;
478
508
  digest: z.ZodOptional<z.ZodString>;
479
509
  }, z.core.$strict>>>;
480
510
  verification: z.ZodOptional<z.ZodObject<{
481
511
  outcome: z.ZodEnum<{
482
- failed: "failed";
483
512
  unknown: "unknown";
484
- fresh: "fresh";
513
+ failed: "failed";
485
514
  stale: "stale";
515
+ fresh: "fresh";
486
516
  }>;
487
517
  }, z.core.$strict>>;
488
518
  }, z.core.$strict>>;
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-contract.d.ts","sourceRoot":"","sources":["../../src/memory/checkpoint-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAqC5B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaxB,CAAC;AAmCZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQgD,CAAC;AAEtF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGlC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAGzC,CAAC;AAsBH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ0C,CAAC"}
1
+ {"version":3,"file":"checkpoint-contract.d.ts","sourceRoot":"","sources":["../../src/memory/checkpoint-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA2C5B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaxB,CAAC;AAmCZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQgD,CAAC;AAEtF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGlC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAGzC,CAAC;AAsBH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ0C,CAAC"}
@@ -8,6 +8,11 @@ const memoryClass = z.enum([
8
8
  'configuration', 'workflow', 'gotcha', 'reference', 'preference',
9
9
  ]);
10
10
  const applicability = z.object({
11
+ ownerIds: z.array(z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/u)).max(100).optional(),
12
+ repositoryIds: z.array(z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/u)).max(100).optional(),
13
+ workspaces: z.array(z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/u)).max(100).optional(),
14
+ branches: z.array(z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/u)).max(100).optional(),
15
+ environment: z.record(z.string().regex(/^[A-Za-z][A-Za-z0-9_.-]{0,63}$/u), z.string().min(1).max(256)).refine(value => Object.keys(value).length <= 32).optional(),
11
16
  languages: z.array(z.string().trim().min(1).max(500)).max(100).optional(),
12
17
  frameworks: z.array(z.object({
13
18
  name: z.string().trim().min(1).max(500),
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-contract.js","sourceRoot":"","sources":["../../src/memory/checkpoint-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-contract.js","sourceRoot":"","sources":["../../src/memory/checkpoint-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import * as z from 'zod/v4';
2
+ import type { SqliteDatabase, SqliteRow } from '../db/adapter.js';
3
+ import { type MemoryApplicabilityContext } from './applicability-context.js';
4
+ import type { HistoryOmission } from './entry-history.js';
5
+ export declare const codeVersionInputSchema: z.ZodObject<{
6
+ runId: z.ZodString;
7
+ versionId: z.ZodString;
8
+ entryId: z.ZodOptional<z.ZodString>;
9
+ parentVersionId: z.ZodOptional<z.ZodString>;
10
+ path: z.ZodString;
11
+ outcome: z.ZodEnum<{
12
+ unknown: "unknown";
13
+ failed: "failed";
14
+ rejected: "rejected";
15
+ accepted: "accepted";
16
+ }>;
17
+ reason: z.ZodString;
18
+ diff: z.ZodString;
19
+ requiredEnvironment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
20
+ }, z.core.$strict>;
21
+ export type CodeVersionInput = z.infer<typeof codeVersionInputSchema>;
22
+ export interface CodeVersionRow extends SqliteRow {
23
+ version_id: string;
24
+ evidence_id: string;
25
+ run_id: string;
26
+ entry_id: string | null;
27
+ workspace: string;
28
+ repository_id: string;
29
+ owner_id: string;
30
+ branch: string | null;
31
+ parent_version_id: string | null;
32
+ path: string;
33
+ reported_outcome: CodeVersionInput['outcome'];
34
+ reason: string;
35
+ environment_json: string;
36
+ required_environment_json: string | null;
37
+ diff_text: string;
38
+ diff_digest: string;
39
+ binding_digest: string;
40
+ created_at: string;
41
+ }
42
+ export interface CodeVersionView {
43
+ versionId: string;
44
+ parentVersionId: string | null;
45
+ evidenceId: string;
46
+ entryId: string | null;
47
+ path: string;
48
+ reportedOutcome: CodeVersionInput['outcome'];
49
+ reason: string;
50
+ diff: string;
51
+ digest: string;
52
+ environment: Record<string, string>;
53
+ applicability: 'compatible' | 'unknown';
54
+ requiredEnvironment?: Record<string, string>;
55
+ untrusted: true;
56
+ instructions: false;
57
+ executionPermission: false;
58
+ approval: 'not_granted';
59
+ }
60
+ /** Host scope is observed, never accepted from model-supplied metadata. One transaction owns evidence and immutable content. */
61
+ export declare function recordCodeVersion(db: SqliteDatabase, raw: unknown, workspace: string, cwd?: string): {
62
+ versionId: string;
63
+ evidenceId: string;
64
+ digest: string;
65
+ stored: true;
66
+ duplicate: boolean;
67
+ approval: 'not_granted';
68
+ };
69
+ /** No cross-owner row, identifier, count or expected environment is disclosed. Unknown branch never falls back. */
70
+ export declare function readCodeVersions(db: SqliteDatabase, context: MemoryApplicabilityContext, entryIds: readonly string[], maxVersions?: number): {
71
+ items: CodeVersionView[];
72
+ omissions: HistoryOmission[];
73
+ };
74
+ /** Point lookup for the operator's raw evidence, including versions not linked to a memory. */
75
+ export declare function readOwnedCodeVersion(db: SqliteDatabase, versionId: string, context: MemoryApplicabilityContext): {
76
+ items: CodeVersionView[];
77
+ omissions: HistoryOmission[];
78
+ };
79
+ //# sourceMappingURL=code-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-versions.d.ts","sourceRoot":"","sources":["../../src/memory/code-versions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import semver from 'semver';
2
+ import { createHash, randomUUID } from 'node:crypto';
3
+ import path from 'node:path';
4
+ import * as z from 'zod/v4';
5
+ import { withImmediateTransaction } from '../db/transaction.js';
6
+ import { KiokukoError } from '../errors.js';
7
+ import { canonicalJson, canonicalContentHash } from '../serialization/validate.js';
8
+ import { LedgerStore } from '../ledger/store.js';
9
+ import { findSecretInValue } from './secrets.js';
10
+ import { currentMemoryApplicability, assertMemoryApplicabilityUnchanged, matchesMemoryApplicability } from './applicability-context.js';
11
+ import { readEntry } from './entries.js';
12
+ const id = z.string().min(1).max(256).regex(/^[^\s\u0000-\u001f\u007f]+$/u);
13
+ export const codeVersionInputSchema = z.object({ runId: id, versionId: id, entryId: id.optional(), parentVersionId: id.optional(),
14
+ path: z.string().min(1).max(1024), outcome: z.enum(['accepted', 'rejected', 'failed', 'unknown']), reason: z.string().min(1).max(2000), diff: z.string().min(1).max(64 * 1024), requiredEnvironment: z.record(z.string().regex(/^[A-Za-z][A-Za-z0-9_.-]{0,63}$/u), z.string().min(1).max(256)).refine(value => Object.keys(value).length <= 32 && (value.node === undefined || semver.validRange(value.node) !== null)).optional() }).strict();
15
+ function view(row, applicability) { return { versionId: row.version_id, parentVersionId: row.parent_version_id, evidenceId: row.evidence_id, entryId: row.entry_id, path: row.path, reportedOutcome: row.reported_outcome, reason: row.reason, diff: row.diff_text, digest: row.diff_digest, environment: JSON.parse(row.environment_json), applicability, ...(row.required_environment_json === null ? {} : { requiredEnvironment: JSON.parse(row.required_environment_json) }), untrusted: true, instructions: false, executionPermission: false, approval: 'not_granted' }; }
16
+ function unavailable() { throw new KiokukoError('NOT_FOUND', 'Code version or its bound scope is unavailable'); }
17
+ /** Host scope is observed, never accepted from model-supplied metadata. One transaction owns evidence and immutable content. */
18
+ export function recordCodeVersion(db, raw, workspace, cwd) {
19
+ const parsed = codeVersionInputSchema.safeParse(raw);
20
+ if (!parsed.success)
21
+ throw new KiokukoError('VALIDATION_ERROR', 'Code version evidence is invalid');
22
+ const input = parsed.data;
23
+ if (Buffer.from(input.diff, 'utf8').toString('utf8') !== input.diff || Buffer.byteLength(input.diff, 'utf8') > 64 * 1024 || path.isAbsolute(input.path) || input.path.split(/[\\/]/u).some(p => p === '..' || p === '.' || p === '.git' || p === '.env' || !p) || input.path.includes('\\') || /[\u0000-\u001f\u007f]/u.test(input.path))
24
+ throw new KiokukoError('VALIDATION_ERROR', 'Code version path or byte bound is invalid');
25
+ if (findSecretInValue(input))
26
+ throw new KiokukoError('SECURITY_REJECTION', 'Code evidence resembles a secret and was not stored');
27
+ const lines = input.diff.replaceAll('\r\n', '\n').split('\n');
28
+ const before = lines.filter(line => line.startsWith('--- ')), after = lines.filter(line => line.startsWith('+++ '));
29
+ const header = (line, prefix) => line === `${prefix} /dev/null` || line === `${prefix} ${prefix === '---' ? 'a' : 'b'}/${input.path}`;
30
+ if (before.length !== 1 || after.length !== 1 || !header(before[0], '---') || !header(after[0], '+++') || !lines.some(line => /^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/u.test(line)))
31
+ throw new KiokukoError('VALIDATION_ERROR', 'Code evidence requires a single-file unified diff for its exact relative path');
32
+ const context = currentMemoryApplicability(db, workspace, cwd);
33
+ if (!context.ownerId || !context.repositoryId || !context.branch)
34
+ throw new KiokukoError('CONFLICT', 'Code evidence requires an observed registered repository and branch', { reason: 'scope_unknown', disposition: 'not_evaluated' });
35
+ const digest = createHash('sha256').update(input.diff, 'utf8').digest('hex');
36
+ const binding = canonicalContentHash({ input, identity: { ownerId: context.ownerId, repositoryId: context.repositoryId, workspace, branch: context.branch }, digest });
37
+ return withImmediateTransaction(db, () => {
38
+ assertMemoryApplicabilityUnchanged(db, context, cwd);
39
+ const run = new LedgerStore(db).readRun(input.runId, workspace);
40
+ if (!run)
41
+ unavailable();
42
+ const prior = db.prepare('SELECT * FROM code_version_evidence WHERE version_id=? AND owner_id=? AND repository_id=? AND workspace=?').get(input.versionId, context.ownerId, context.repositoryId, workspace);
43
+ if (prior) {
44
+ if (prior.binding_digest !== binding)
45
+ throw new KiokukoError('CONFLICT', 'Code version identity was reused with different evidence');
46
+ return { versionId: prior.version_id, evidenceId: prior.evidence_id, digest: prior.diff_digest, stored: true, duplicate: true, approval: 'not_granted' };
47
+ }
48
+ if (db.prepare('SELECT 1 FROM code_version_evidence WHERE version_id=?').get(input.versionId))
49
+ unavailable();
50
+ if (input.parentVersionId === input.versionId)
51
+ throw new KiokukoError('VALIDATION_ERROR', 'A code version cannot be its own parent');
52
+ if (input.entryId) {
53
+ const entry = readEntry(db, { workspace, entryId: input.entryId });
54
+ if (!matchesMemoryApplicability(entry, context))
55
+ unavailable();
56
+ if (entry.scope.schemaVersion === 3 && entry.scope.repositoryId !== undefined && entry.scope.repositoryId !== context.repositoryId)
57
+ unavailable();
58
+ }
59
+ if (input.parentVersionId) {
60
+ const parent = db.prepare('SELECT path,branch,entry_id FROM code_version_evidence WHERE version_id=? AND owner_id=? AND repository_id=? AND workspace=?').get(input.parentVersionId, context.ownerId, context.repositoryId, workspace);
61
+ if (!parent || parent.path !== input.path || parent.branch !== (context.branch ?? null) || parent.entry_id !== (input.entryId ?? null))
62
+ unavailable();
63
+ }
64
+ const evidenceId = randomUUID(), now = new Date().toISOString();
65
+ db.prepare("INSERT INTO ledger_evidence(evidence_id,run_id,event_id,kind,locator,digest_algorithm,digest,byte_size,summary,created_at) VALUES(?,?,NULL,'diff',?,'sha256',?,?,?,?)").run(evidenceId, input.runId, input.path, digest, Buffer.byteLength(input.diff, 'utf8'), `Reported ${input.outcome}; immutable raw code evidence; not approval`, now);
66
+ db.prepare('INSERT INTO code_version_evidence(version_id,evidence_id,run_id,entry_id,workspace,repository_id,owner_id,branch,parent_version_id,path,reported_outcome,reason,environment_json,required_environment_json,diff_text,diff_digest,binding_digest,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)').run(input.versionId, evidenceId, input.runId, input.entryId ?? null, workspace, context.repositoryId, context.ownerId, context.branch ?? null, input.parentVersionId ?? null, input.path, input.outcome, input.reason, canonicalJson(context.environment), input.requiredEnvironment === undefined ? null : canonicalJson(input.requiredEnvironment), input.diff, digest, binding, now);
67
+ assertMemoryApplicabilityUnchanged(db, context, cwd);
68
+ return { versionId: input.versionId, evidenceId, digest, stored: true, duplicate: false, approval: 'not_granted' };
69
+ });
70
+ }
71
+ /** No cross-owner row, identifier, count or expected environment is disclosed. Unknown branch never falls back. */
72
+ export function readCodeVersions(db, context, entryIds, maxVersions = 32) {
73
+ if (!Number.isSafeInteger(maxVersions) || maxVersions < 1 || maxVersions > 32 || entryIds.length > 1064)
74
+ throw new KiokukoError('VALIDATION_ERROR', 'Code history bounds are invalid');
75
+ if (!entryIds.length)
76
+ return { items: [], omissions: [{ reason: 'not_evaluated', disposition: 'not_evaluated' }] };
77
+ if (!context.ownerId || !context.repositoryId)
78
+ return { items: [], omissions: [{ reason: 'scope_unknown', disposition: 'not_evaluated' }] };
79
+ if (!context.branch)
80
+ return { items: [], omissions: [{ reason: 'scope_unknown', disposition: 'not_evaluated' }] };
81
+ // Per-seed index seeks bound candidate work; a global ORDER BY across IN(...)
82
+ // would scan arbitrarily many versions before LIMIT. Materialize diff text only for selected IDs.
83
+ const candidate = new Map();
84
+ const seek = db.prepare('SELECT version_id,created_at FROM code_version_evidence WHERE owner_id=? AND repository_id=? AND workspace=? AND branch=? AND entry_id=? ORDER BY created_at DESC,version_id ASC LIMIT ?');
85
+ for (const entryId of new Set(entryIds))
86
+ for (const row of seek.all(context.ownerId, context.repositoryId, context.workspace, context.branch, entryId, maxVersions + 1))
87
+ candidate.set(row.version_id, row);
88
+ const ranked = [...candidate.values()].sort((a, b) => a.created_at > b.created_at ? -1 : a.created_at < b.created_at ? 1 : a.version_id < b.version_id ? -1 : a.version_id > b.version_id ? 1 : 0);
89
+ const rows = ranked.slice(0, maxVersions).map(row => db.prepare('SELECT * FROM code_version_evidence WHERE version_id=? AND owner_id=? AND repository_id=? AND workspace=? AND branch=?').get(row.version_id, context.ownerId, context.repositoryId, context.workspace, context.branch));
90
+ return presentCodeVersions(db, context, rows, ranked.length > maxVersions);
91
+ }
92
+ function presentCodeVersions(db, context, rows, capped) {
93
+ const items = [], omissions = [];
94
+ let lineageReads = 0;
95
+ const lineage = new Map();
96
+ const validLineage = (row) => {
97
+ const seen = new Set([row.version_id]);
98
+ let parent = row.parent_version_id;
99
+ for (let depth = 0; parent !== null && depth < 64; depth++) {
100
+ if (seen.has(parent)) {
101
+ omissions.push({ reason: 'missing_history', disposition: 'omitted' });
102
+ return false;
103
+ }
104
+ seen.add(parent);
105
+ const cacheKey = canonicalJson([parent, row.path, row.entry_id]);
106
+ if (!lineage.has(cacheKey)) {
107
+ if (lineageReads++ >= 128) {
108
+ omissions.push({ reason: 'node_cap', disposition: 'not_evaluated' });
109
+ return false;
110
+ }
111
+ lineage.set(cacheKey, db.prepare('SELECT parent_version_id FROM code_version_evidence WHERE version_id=? AND owner_id=? AND repository_id=? AND workspace=? AND branch=? AND path=? AND entry_id IS ?').get(parent, context.ownerId, context.repositoryId, context.workspace, context.branch, row.path, row.entry_id));
112
+ }
113
+ const ancestor = lineage.get(cacheKey);
114
+ if (!ancestor) {
115
+ omissions.push({ reason: 'missing_history', disposition: 'omitted' });
116
+ return false;
117
+ }
118
+ parent = ancestor.parent_version_id;
119
+ }
120
+ if (parent !== null) {
121
+ omissions.push({ reason: 'depth_cap', disposition: 'not_evaluated' });
122
+ return false;
123
+ }
124
+ return true;
125
+ };
126
+ if (capped)
127
+ omissions.push({ reason: 'node_cap', disposition: 'not_evaluated' });
128
+ for (const row of rows) {
129
+ if (!validLineage(row))
130
+ continue;
131
+ const requirements = row.required_environment_json === null ? undefined : JSON.parse(row.required_environment_json);
132
+ let unknown = false, incompatible = false;
133
+ for (const [key, expected] of Object.entries(requirements ?? {})) {
134
+ const actual = Object.hasOwn(context.environment, key) ? context.environment[key] : undefined;
135
+ if (actual === undefined)
136
+ unknown = true;
137
+ else if (key === 'node' ? !semver.satisfies(actual, expected, { includePrerelease: true }) : actual !== expected)
138
+ incompatible = true;
139
+ }
140
+ if (incompatible || unknown) {
141
+ omissions.push({ reason: incompatible ? 'environment_incompatible' : 'environment_unknown', disposition: 'omitted' });
142
+ continue;
143
+ }
144
+ if (createHash('sha256').update(row.diff_text, 'utf8').digest('hex') !== row.diff_digest)
145
+ throw new KiokukoError('INTEGRITY_ERROR', 'Stored code evidence digest is invalid');
146
+ items.push(view(row, requirements && Object.keys(requirements).length ? 'compatible' : 'unknown'));
147
+ }
148
+ return { items, omissions };
149
+ }
150
+ /** Point lookup for the operator's raw evidence, including versions not linked to a memory. */
151
+ export function readOwnedCodeVersion(db, versionId, context) {
152
+ if (!context.ownerId || !context.repositoryId || !context.branch)
153
+ return { items: [], omissions: [{ reason: 'scope_unknown', disposition: 'not_evaluated' }] };
154
+ const row = db.prepare('SELECT * FROM code_version_evidence WHERE version_id=? AND owner_id=? AND repository_id=? AND workspace=? AND branch=?').get(versionId, context.ownerId, context.repositoryId, context.workspace, context.branch);
155
+ if (!row)
156
+ unavailable();
157
+ return presentCodeVersions(db, context, [row], false);
158
+ }
159
+ //# sourceMappingURL=code-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-versions.js","sourceRoot":"","sources":["../../src/memory/code-versions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /** Same source contract in Kiokuko and DSH. A source identity is not proof of use. */
2
+ export interface CorrectionSource {
3
+ entryId: string;
4
+ revision: number;
5
+ workspace: string;
6
+ origin: string;
7
+ sourceDigest: string;
8
+ rule: 'capability_compatibility' | 'reference';
9
+ }
10
+ export type CorrectionRetrieval = 'not_requested' | 'no_correction' | 'retrieved' | 'unavailable';
11
+ export interface CorrectionEntry {
12
+ id: string;
13
+ revision: number;
14
+ workspace: string;
15
+ title: string;
16
+ body: string;
17
+ summary?: string | null;
18
+ provenance: Record<string, unknown>;
19
+ }
20
+ export declare function correctionSource(entry: CorrectionEntry, origin: string): CorrectionSource;
21
+ export declare function compatibilityDecisionConflicts(sources: readonly CorrectionSource[], decision: {
22
+ kind: string;
23
+ basis: string;
24
+ requiredVersion?: string;
25
+ observedVersion?: string;
26
+ }): boolean;
27
+ //# sourceMappingURL=correction-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correction-contract.d.ts","sourceRoot":"","sources":["../../src/memory/correction-contract.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAA;IACjF,IAAI,EAAC,0BAA0B,GAAC,WAAW,CAAA;CAC5C;AACD,MAAM,MAAM,mBAAmB,GAAC,eAAe,GAAC,eAAe,GAAC,WAAW,GAAC,aAAa,CAAA;AACzF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,OAAO,CAAC,EAAC,MAAM,GAAC,IAAI,CAAA;IACxF,UAAU,EAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAC,CAAA;CAClC;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,eAAe,EAAC,MAAM,EAAC,MAAM,GAAE,gBAAgB,CAOrF;AACD,wBAAgB,8BAA8B,CAAC,OAAO,EAAC,SAAS,gBAAgB,EAAE,EAAC,QAAQ,EAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAA;CAAC,GAAE,OAAO,CAG9K"}
@@ -0,0 +1,14 @@
1
+ import { canonicalContentHash } from '../serialization/validate.js';
2
+ export function correctionSource(entry, origin) {
3
+ const text = [entry.title, entry.summary ?? entry.body].join('\n');
4
+ const version = /version|compiler|版数|バージョン|版番号/iu.test(text);
5
+ const capability = /capabilit|only because|solely|不要.*固定|決め打ち|能力|互換性.*確認|版.*だけ/iu.test(text);
6
+ return { entryId: entry.id, revision: entry.revision, workspace: entry.workspace, origin,
7
+ sourceDigest: canonicalContentHash({ title: entry.title, body: entry.body, summary: entry.summary, provenance: entry.provenance }),
8
+ rule: version && capability ? 'capability_compatibility' : 'reference' };
9
+ }
10
+ export function compatibilityDecisionConflicts(sources, decision) {
11
+ return sources.some(source => source.rule === 'capability_compatibility') && decision.kind === 'compatibility'
12
+ && decision.basis === 'version_only' && decision.requiredVersion !== decision.observedVersion;
13
+ }
14
+ //# sourceMappingURL=correction-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correction-contract.js","sourceRoot":"","sources":["../../src/memory/correction-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAA;AAYjE,MAAM,UAAU,gBAAgB,CAAC,KAAqB,EAAC,MAAa;IAClE,MAAM,IAAI,GAAC,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,CAAC,OAAO,IAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAC,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1F,OAAO,EAAC,OAAO,EAAC,KAAK,CAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,CAAC,QAAQ,EAAC,SAAS,EAAC,KAAK,CAAC,SAAS,EAAC,MAAM;QAC/E,YAAY,EAAC,oBAAoB,CAAC,EAAC,KAAK,EAAC,KAAK,CAAC,KAAK,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,EAAC,OAAO,EAAC,KAAK,CAAC,OAAO,EAAC,UAAU,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC;QACxH,IAAI,EAAC,OAAO,IAAE,UAAU,CAAA,CAAC,CAAA,0BAA0B,CAAA,CAAC,CAAA,WAAW,EAAC,CAAA;AACpE,CAAC;AACD,MAAM,UAAU,8BAA8B,CAAC,OAAmC,EAAC,QAAmF;IACpK,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA,EAAE,CAAA,MAAM,CAAC,IAAI,KAAG,0BAA0B,CAAC,IAAE,QAAQ,CAAC,IAAI,KAAG,eAAe;WAClG,QAAQ,CAAC,KAAK,KAAG,cAAc,IAAE,QAAQ,CAAC,eAAe,KAAG,QAAQ,CAAC,eAAe,CAAA;AAC1F,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { SqliteDatabase } from '../db/adapter.js';
2
+ import { type EntryRecord } from './entries.js';
3
+ import { type ApplicabilityState, type MemoryApplicabilityContext } from './applicability-context.js';
4
+ export declare const MAX_HISTORY_NODES = 64;
5
+ export interface HistoryOmission {
6
+ reason: 'depth_cap' | 'node_cap' | 'missing_history' | 'scope_unknown' | 'scope_incompatible' | 'environment_unknown' | 'environment_incompatible' | 'output_budget' | 'not_evaluated';
7
+ count?: number;
8
+ disposition?: 'omitted' | 'not_evaluated';
9
+ }
10
+ export interface EntryHistoryItem {
11
+ entryId: string;
12
+ workspace: string;
13
+ revision: number;
14
+ supersededBy: string;
15
+ status: 'superseded';
16
+ title: string;
17
+ body: string;
18
+ applicability: ApplicabilityState;
19
+ untrusted: true;
20
+ instructions: false;
21
+ }
22
+ /** Follow only an exact workspace/owner/applicability chain; never infer a successor from a title or path. */
23
+ export declare function resolveCurrentSuccessor(db: SqliteDatabase, entry: EntryRecord, context: MemoryApplicabilityContext, maxDepth?: number, onOmission?: (value: HistoryOmission) => void): EntryRecord | undefined;
24
+ /** Bounded reverse traversal preserves immutable evidence separately from active recall. */
25
+ export declare function readEntryAncestry(db: SqliteDatabase, workspace: string, seeds: readonly string[], context: MemoryApplicabilityContext, maxNodes?: number): {
26
+ items: EntryHistoryItem[];
27
+ omissions: HistoryOmission[];
28
+ };
29
+ //# sourceMappingURL=entry-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-history.d.ts","sourceRoot":"","sources":["../../src/memory/entry-history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAA2D,KAAK,kBAAkB,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC/J,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,eAAe,GAAG,eAAe,CAAC;IACvL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;CAC7C;AACD,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,kBAAkB,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;CACvB;AACD,8GAA8G;AAC9G,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,SAAoB,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW,GAAG,SAAS,CA0BzN;AACD,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,SAAoB,GAAG;IACnK,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,eAAe,EAAE,CAAC;CAChC,CAmCA"}