kiokuko-dsh 0.2.11 → 0.2.13

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 (127) hide show
  1. package/README.ja.md +4 -2
  2. package/README.ko.md +7 -0
  3. package/README.md +4 -4
  4. package/README.zh-CN.md +7 -0
  5. package/dist/context/delivery.d.ts +5 -0
  6. package/dist/context/delivery.d.ts.map +1 -1
  7. package/dist/context/delivery.js +57 -3
  8. package/dist/context/delivery.js.map +1 -1
  9. package/dist/context/model-memory.d.ts +19 -0
  10. package/dist/context/model-memory.d.ts.map +1 -0
  11. package/dist/context/model-memory.js +44 -0
  12. package/dist/context/model-memory.js.map +1 -0
  13. package/dist/context/ranking.d.ts +1 -1
  14. package/dist/context/ranking.d.ts.map +1 -1
  15. package/dist/context/ranking.js +2 -1
  16. package/dist/context/ranking.js.map +1 -1
  17. package/dist/context/replay-model-memory.d.ts +5 -0
  18. package/dist/context/replay-model-memory.d.ts.map +1 -0
  19. package/dist/context/replay-model-memory.js +44 -0
  20. package/dist/context/replay-model-memory.js.map +1 -0
  21. package/dist/context/scoped-broker.d.ts +7 -2
  22. package/dist/context/scoped-broker.d.ts.map +1 -1
  23. package/dist/context/scoped-broker.js +24 -3
  24. package/dist/context/scoped-broker.js.map +1 -1
  25. package/dist/deep-thinker/controller.d.ts.map +1 -1
  26. package/dist/deep-thinker/controller.js +3 -2
  27. package/dist/deep-thinker/controller.js.map +1 -1
  28. package/dist/deep-thinker/core/contracts.js +1 -1
  29. package/dist/deep-thinker/core/contracts.js.map +1 -1
  30. package/dist/deep-thinker/prompts.d.ts.map +1 -1
  31. package/dist/deep-thinker/prompts.js +2 -1
  32. package/dist/deep-thinker/prompts.js.map +1 -1
  33. package/dist/deep-thinker/quality-prompts.d.ts.map +1 -1
  34. package/dist/deep-thinker/quality-prompts.js +2 -1
  35. package/dist/deep-thinker/quality-prompts.js.map +1 -1
  36. package/dist/dsh/answer-context.js +3 -3
  37. package/dist/dsh/answer-context.js.map +1 -1
  38. package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
  39. package/dist/dsh/coding-workflow/contracts.js +10 -9
  40. package/dist/dsh/coding-workflow/contracts.js.map +1 -1
  41. package/dist/dsh/coding-workflow/host.d.ts +2 -0
  42. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  43. package/dist/dsh/coding-workflow/host.js +15 -5
  44. package/dist/dsh/coding-workflow/host.js.map +1 -1
  45. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  46. package/dist/dsh/core/host.d.ts.map +1 -1
  47. package/dist/dsh/core/host.js +7 -3
  48. package/dist/dsh/core/host.js.map +1 -1
  49. package/dist/dsh/enno-memory-refresh.d.ts +1 -1
  50. package/dist/dsh/enno-memory-refresh.d.ts.map +1 -1
  51. package/dist/dsh/enno-memory-refresh.js +15 -12
  52. package/dist/dsh/enno-memory-refresh.js.map +1 -1
  53. package/dist/dsh/host-adapter.d.ts.map +1 -1
  54. package/dist/dsh/host-adapter.js +4 -0
  55. package/dist/dsh/host-adapter.js.map +1 -1
  56. package/dist/dsh/lifecycle-memory.d.ts.map +1 -1
  57. package/dist/dsh/lifecycle-memory.js +17 -4
  58. package/dist/dsh/lifecycle-memory.js.map +1 -1
  59. package/dist/dsh/lisp/coding-choice.d.ts +6 -0
  60. package/dist/dsh/lisp/coding-choice.d.ts.map +1 -1
  61. package/dist/dsh/lisp/coding-choice.js.map +1 -1
  62. package/dist/dsh/lisp/coding-preparation.d.ts +36 -0
  63. package/dist/dsh/lisp/coding-preparation.d.ts.map +1 -0
  64. package/dist/dsh/lisp/coding-preparation.js +129 -0
  65. package/dist/dsh/lisp/coding-preparation.js.map +1 -0
  66. package/dist/dsh/lisp/store.d.ts +2 -0
  67. package/dist/dsh/lisp/store.d.ts.map +1 -1
  68. package/dist/dsh/lisp/store.js +19 -0
  69. package/dist/dsh/lisp/store.js.map +1 -1
  70. package/dist/dsh/lisp/surface.d.ts +1 -0
  71. package/dist/dsh/lisp/surface.d.ts.map +1 -1
  72. package/dist/dsh/lisp/surface.js +93 -30
  73. package/dist/dsh/lisp/surface.js.map +1 -1
  74. package/dist/dsh/message-sources.d.ts +1 -1
  75. package/dist/dsh/message-sources.d.ts.map +1 -1
  76. package/dist/dsh/message-sources.js +16 -5
  77. package/dist/dsh/message-sources.js.map +1 -1
  78. package/dist/dsh/on-demand-intake.d.ts +1 -0
  79. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  80. package/dist/dsh/on-demand-intake.js +2 -0
  81. package/dist/dsh/on-demand-intake.js.map +1 -1
  82. package/dist/dsh/request-memory.d.ts +1 -1
  83. package/dist/dsh/request-memory.d.ts.map +1 -1
  84. package/dist/dsh/request-memory.js +19 -6
  85. package/dist/dsh/request-memory.js.map +1 -1
  86. package/dist/dsh/skill-prompts.json +1 -1
  87. package/dist/dsh/task-intake.d.ts +3 -0
  88. package/dist/dsh/task-intake.d.ts.map +1 -1
  89. package/dist/dsh/task-intake.js +7 -3
  90. package/dist/dsh/task-intake.js.map +1 -1
  91. package/dist/locale/en.json +1 -1
  92. package/dist/locale/ja.json +1 -1
  93. package/dist/locale/ko.json +1 -1
  94. package/dist/locale/zh-CN.json +1 -1
  95. package/dist/memory/context-budget.d.ts +5 -0
  96. package/dist/memory/context-budget.d.ts.map +1 -0
  97. package/dist/memory/context-budget.js +5 -0
  98. package/dist/memory/context-budget.js.map +1 -0
  99. package/dist/memory/federated-retrieval.d.ts +4 -2
  100. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  101. package/dist/memory/federated-retrieval.js +20 -5
  102. package/dist/memory/federated-retrieval.js.map +1 -1
  103. package/dist/memory/project-reuse.d.ts +2 -1
  104. package/dist/memory/project-reuse.d.ts.map +1 -1
  105. package/dist/memory/project-reuse.js +3 -1
  106. package/dist/memory/project-reuse.js.map +1 -1
  107. package/dist/memory/relation-delivery.d.ts +108 -0
  108. package/dist/memory/relation-delivery.d.ts.map +1 -0
  109. package/dist/memory/relation-delivery.js +158 -0
  110. package/dist/memory/relation-delivery.js.map +1 -0
  111. package/dist/memory/retrieval.d.ts +5 -1
  112. package/dist/memory/retrieval.d.ts.map +1 -1
  113. package/dist/memory/retrieval.js +10 -3
  114. package/dist/memory/retrieval.js.map +1 -1
  115. package/dist/memory/scoped-memory.d.ts +2 -1
  116. package/dist/memory/scoped-memory.d.ts.map +1 -1
  117. package/dist/memory/scoped-memory.js +6 -1
  118. package/dist/memory/scoped-memory.js.map +1 -1
  119. package/docs/coding-workflow.md +9 -3
  120. package/docs/lisp-prototype-planning.md +1 -2
  121. package/docs/lisp.md +2 -2
  122. package/docs/memory-delivery.md +19 -0
  123. package/migrations/043_relation_delivery.sql +4 -0
  124. package/package.json +1 -1
  125. package/skills/coding-ideal-routine-skill/SKILL.md +5 -1
  126. package/skills/kiokuko-lisp/SKILL.md +5 -1
  127. package/skills/one-shot-software-completion/SKILL.md +1 -1
@@ -0,0 +1,108 @@
1
+ import { z } from 'zod';
2
+ import type { SqliteDatabase, SqliteRow } from '../db/adapter.js';
3
+ export declare const RELATION_TYPES: readonly ["supports", "contradicts", "derived_from", "related_to"];
4
+ export type RelationType = (typeof RELATION_TYPES)[number];
5
+ export interface RelationEndpoint {
6
+ workspace: string;
7
+ entryId: string;
8
+ }
9
+ export interface DeliveredRelation {
10
+ from: RelationEndpoint;
11
+ to: RelationEndpoint;
12
+ type: RelationType;
13
+ }
14
+ export type SelectionOmission = 'body_budget' | 'item_limit' | 'final_filter';
15
+ export interface RelationDelivery {
16
+ scope: 'provided_items';
17
+ status: 'complete' | 'omitted_budget' | 'omitted_edge_cap' | 'omitted_unknown_type' | 'omitted_legacy';
18
+ edges: DeliveredRelation[];
19
+ selectionOmissions: SelectionOmission[];
20
+ }
21
+ export interface RelationDeliveryOptions {
22
+ relationCharacterBudget?: number;
23
+ relationEdgeCap?: number;
24
+ selectionOmissions?: readonly SelectionOmission[];
25
+ }
26
+ export interface ProvidedRelationItem {
27
+ entryId: string;
28
+ workspace?: string;
29
+ revision?: number;
30
+ }
31
+ interface StoredRelation extends SqliteRow {
32
+ kind: string;
33
+ from_id: string;
34
+ from_workspace: string;
35
+ to_id: string;
36
+ to_workspace: string;
37
+ relation: string;
38
+ }
39
+ /** Compact JSON envelope, including its outer relationDelivery property. */
40
+ export declare function relationDeliveryCharacterCount(value: RelationDelivery): number;
41
+ /** All edges or none. A complete result covers stored links between provided items only. */
42
+ export declare function packRelationDelivery(rows: readonly StoredRelation[], options?: RelationDeliveryOptions): RelationDelivery;
43
+ /** Old deliveries without a reconstructable relation snapshot must not claim completeness. */
44
+ export declare function legacyRelationDelivery(options?: RelationDeliveryOptions): RelationDelivery;
45
+ /**
46
+ * One statement owns the SQLite read snapshot, including selected-revision checks.
47
+ * CROSS JOIN fixes the loop order: at most n² endpoint-pair index seeks (n <= 1000),
48
+ * rather than scanning an unbounded outgoing adjacency list. No global sort/count.
49
+ * LIMIT cap+1 bounds materialized edges, not the claim about internal scan work.
50
+ */
51
+ export declare function readRelationDelivery(database: SqliteDatabase, items: readonly ProvidedRelationItem[], options?: RelationDeliveryOptions): RelationDelivery;
52
+ interface ModelMemoryItem {
53
+ id?: string;
54
+ entryId?: string;
55
+ workspace?: string;
56
+ revision?: number;
57
+ entryRevision?: number;
58
+ content?: unknown;
59
+ }
60
+ /** Final presentation boundary: keep model-visible identities and recompute for these exact items. */
61
+ export declare function attachRelationDelivery<T extends {
62
+ items: readonly ModelMemoryItem[];
63
+ truncated?: boolean;
64
+ }>(database: SqliteDatabase, value: T, options?: RelationDeliveryOptions & {
65
+ itemLimit?: number;
66
+ }): T & {
67
+ relationDelivery: RelationDelivery;
68
+ };
69
+ export declare const RelationDeliverySchema: z.ZodObject<{
70
+ scope: z.ZodLiteral<"provided_items">;
71
+ status: z.ZodEnum<{
72
+ complete: "complete";
73
+ omitted_budget: "omitted_budget";
74
+ omitted_edge_cap: "omitted_edge_cap";
75
+ omitted_unknown_type: "omitted_unknown_type";
76
+ omitted_legacy: "omitted_legacy";
77
+ }>;
78
+ edges: z.ZodArray<z.ZodObject<{
79
+ from: z.ZodObject<{
80
+ workspace: z.ZodString;
81
+ entryId: z.ZodString;
82
+ }, z.core.$strict>;
83
+ to: z.ZodObject<{
84
+ workspace: z.ZodString;
85
+ entryId: z.ZodString;
86
+ }, z.core.$strict>;
87
+ type: z.ZodEnum<{
88
+ supports: "supports";
89
+ contradicts: "contradicts";
90
+ derived_from: "derived_from";
91
+ related_to: "related_to";
92
+ }>;
93
+ }, z.core.$strict>>;
94
+ selectionOmissions: z.ZodArray<z.ZodEnum<{
95
+ body_budget: "body_budget";
96
+ item_limit: "item_limit";
97
+ final_filter: "final_filter";
98
+ }>>;
99
+ }, z.core.$strict>;
100
+ /** The budget covers compact JSON including the outer relationDelivery property. */
101
+ export declare function validateRelationDelivery(value: unknown, options?: RelationDeliveryOptions): RelationDelivery;
102
+ /** A final filter can restrict complete snapshots; an omitted snapshot is never upgraded without a new read. */
103
+ export declare function filterRelationDelivery(value: RelationDelivery | undefined, items: readonly RelationEndpoint[], options?: RelationDeliveryOptions & {
104
+ finalFilter?: boolean;
105
+ }): RelationDelivery;
106
+ export declare function configuredRelationDeliveryOptions(options?: RelationDeliveryOptions): Required<Pick<RelationDeliveryOptions, 'relationCharacterBudget' | 'relationEdgeCap'>>;
107
+ export {};
108
+ //# sourceMappingURL=relation-delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-delivery.d.ts","sourceRoot":"","sources":["../../src/memory/relation-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlE,eAAO,MAAM,cAAc,oEAAqE,CAAC;AACjG,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,WAAW,gBAAgB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACxE,MAAM,WAAW,iBAAiB;IAAG,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE;AACvG,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;IACvG,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AACD,MAAM,WAAW,uBAAuB;IAAG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE;AAC1J,MAAM,WAAW,oBAAoB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAChG,UAAU,cAAe,SAAQ,SAAS;IACxC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAC9G;AAED,4EAA4E;AAC5E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAE9E;AAaD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,EAAE,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAkB7H;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACnG,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAsBzD;AAED,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EACzG,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,uBAAuB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACjG,CAAC,GAAG;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE,CAyB5C;AAGD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUjC,CAAC;AAEH,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAMhH;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAC5G,OAAO,GAAE,uBAAuB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CAYrF;AAED,wBAAgB,iCAAiC,CAAC,OAAO,GAAE,uBAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,yBAAyB,GAAG,iBAAiB,CAAC,CAAC,CAK/K"}
@@ -0,0 +1,158 @@
1
+ import { z } from 'zod';
2
+ import { KiokukoError } from '../errors.js';
3
+ import { DEFAULT_RELATION_CHARACTERS, DEFAULT_RELATION_EDGE_CAP } from './context-budget.js';
4
+ export const RELATION_TYPES = ['supports', 'contradicts', 'derived_from', 'related_to'];
5
+ /** Compact JSON envelope, including its outer relationDelivery property. */
6
+ export function relationDeliveryCharacterCount(value) {
7
+ return Array.from(JSON.stringify({ relationDelivery: value })).length;
8
+ }
9
+ function limits(options) {
10
+ const characters = options.relationCharacterBudget ?? DEFAULT_RELATION_CHARACTERS;
11
+ const edgeCap = options.relationEdgeCap ?? DEFAULT_RELATION_EDGE_CAP;
12
+ if (!Number.isSafeInteger(characters) || characters < 1 || characters > 100_000
13
+ || !Number.isSafeInteger(edgeCap) || edgeCap < 1 || edgeCap > 1024
14
+ || options.selectionOmissions?.some(reason => !['body_budget', 'item_limit', 'final_filter'].includes(reason))) {
15
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation delivery limits are invalid');
16
+ }
17
+ return { characters, edgeCap };
18
+ }
19
+ /** All edges or none. A complete result covers stored links between provided items only. */
20
+ export function packRelationDelivery(rows, options = {}) {
21
+ const { characters, edgeCap } = limits(options);
22
+ const fit = (status, edges) => {
23
+ const value = { scope: 'provided_items', status, edges,
24
+ selectionOmissions: [...new Set(options.selectionOmissions ?? [])].sort() };
25
+ if (relationDeliveryCharacterCount(value) <= characters)
26
+ return value;
27
+ if (status === 'complete')
28
+ return fit('omitted_budget', []);
29
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation metadata budget cannot fit its explicit delivery status');
30
+ };
31
+ if (rows.length > edgeCap)
32
+ return fit('omitted_edge_cap', []);
33
+ if (rows.some(row => !RELATION_TYPES.includes(row.relation)))
34
+ return fit('omitted_unknown_type', []);
35
+ const edges = rows.map(row => ({ from: { workspace: row.from_workspace, entryId: row.from_id },
36
+ to: { workspace: row.to_workspace, entryId: row.to_id }, type: row.relation }));
37
+ edges.sort((a, b) => {
38
+ const left = JSON.stringify(a), right = JSON.stringify(b);
39
+ return left < right ? -1 : left > right ? 1 : 0;
40
+ });
41
+ return fit('complete', edges);
42
+ }
43
+ /** Old deliveries without a reconstructable relation snapshot must not claim completeness. */
44
+ export function legacyRelationDelivery(options = {}) {
45
+ const { characters } = limits(options);
46
+ const value = { scope: 'provided_items', status: 'omitted_legacy', edges: [],
47
+ selectionOmissions: [...new Set(options.selectionOmissions ?? [])].sort() };
48
+ if (relationDeliveryCharacterCount(value) > characters) {
49
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation metadata budget cannot fit its explicit delivery status');
50
+ }
51
+ return value;
52
+ }
53
+ /**
54
+ * One statement owns the SQLite read snapshot, including selected-revision checks.
55
+ * CROSS JOIN fixes the loop order: at most n² endpoint-pair index seeks (n <= 1000),
56
+ * rather than scanning an unbounded outgoing adjacency list. No global sort/count.
57
+ * LIMIT cap+1 bounds materialized edges, not the claim about internal scan work.
58
+ */
59
+ export function readRelationDelivery(database, items, options = {}) {
60
+ const { edgeCap } = limits(options);
61
+ if (items.length > 1000 || new Set(items.map(item => item.entryId)).size !== items.length
62
+ || items.some(item => typeof item.entryId !== 'string' || !item.entryId
63
+ || item.workspace !== undefined && (typeof item.workspace !== 'string' || !item.workspace)
64
+ || item.revision !== undefined && (!Number.isSafeInteger(item.revision) || item.revision < 1))) {
65
+ throw new KiokukoError('VALIDATION_ERROR', 'Provided relation endpoints are invalid');
66
+ }
67
+ if (items.length === 0)
68
+ return packRelationDelivery([], options);
69
+ const sql = 'WITH selected(id, workspace, revision) AS (VALUES ' + items.map(() => '(?,?,?)').join(',') + '), '
70
+ + 'current AS (SELECT s.id, e.workspace, e.current_revision FROM selected s JOIN entries e ON e.id=s.id), '
71
+ + 'invalid AS (SELECT 1 FROM selected s LEFT JOIN current e ON e.id=s.id '
72
+ + 'WHERE e.id IS NULL OR (s.workspace IS NOT NULL AND s.workspace<>e.workspace) '
73
+ + 'OR (s.revision IS NOT NULL AND s.revision<>e.current_revision) LIMIT 1), '
74
+ + 'links AS (SELECT a.id from_id, a.workspace from_workspace, b.id to_id, b.workspace to_workspace, l.relation '
75
+ + 'FROM current a CROSS JOIN current b CROSS JOIN entry_links l '
76
+ + 'WHERE l.from_entry_id=a.id AND l.to_entry_id=b.id LIMIT ?) '
77
+ + "SELECT 'invalid' kind, '' from_id, '' from_workspace, '' to_id, '' to_workspace, '' relation FROM invalid "
78
+ + "UNION ALL SELECT 'edge' kind, from_id, from_workspace, to_id, to_workspace, relation FROM links";
79
+ const rows = database.prepare(sql).all(...items.flatMap(item => [item.entryId, item.workspace ?? null, item.revision ?? null]), edgeCap + 1);
80
+ if (rows.some(row => row.kind === 'invalid'))
81
+ throw new KiokukoError('CONFLICT', 'Provided items changed before relation delivery');
82
+ return packRelationDelivery(rows, options);
83
+ }
84
+ /** Final presentation boundary: keep model-visible identities and recompute for these exact items. */
85
+ export function attachRelationDelivery(database, value, options = {}) {
86
+ const ids = value.items.map(item => item.entryId ?? item.id ?? '');
87
+ if (ids.some(id => !id) || ids.length > 1000)
88
+ throw new KiokukoError('VALIDATION_ERROR', 'Model memory identities are invalid');
89
+ const identities = ids.length ? database.prepare('SELECT id, workspace, current_revision FROM entries WHERE id IN ('
90
+ + ids.map(() => '?').join(',') + ')').all(...ids) : [];
91
+ const byId = new Map(identities.map(row => [row.id, row]));
92
+ const references = value.items.map((item, index) => {
93
+ const current = byId.get(ids[index]);
94
+ if (!current)
95
+ throw new KiokukoError('CONFLICT', 'A provided memory disappeared before relation delivery');
96
+ return { entryId: current.id, workspace: item.workspace ?? current.workspace,
97
+ revision: item.revision ?? item.entryRevision ?? current.current_revision };
98
+ });
99
+ const omissions = new Set(options.selectionOmissions ?? []);
100
+ if (options.itemLimit !== undefined && value.items.length >= options.itemLimit)
101
+ omissions.add('item_limit');
102
+ const partialBody = value.items.some(item => typeof item.content === 'object' && item.content !== null
103
+ && item.content.truncated === true);
104
+ if (partialBody)
105
+ omissions.add('body_budget');
106
+ if (value.truncated && omissions.size === 0)
107
+ omissions.add('final_filter');
108
+ const configured = {
109
+ relationCharacterBudget: options.relationCharacterBudget ?? Number(process.env.KIOKUKO_RELATION_CHARACTER_BUDGET ?? DEFAULT_RELATION_CHARACTERS),
110
+ relationEdgeCap: options.relationEdgeCap ?? Number(process.env.KIOKUKO_RELATION_EDGE_CAP ?? DEFAULT_RELATION_EDGE_CAP),
111
+ selectionOmissions: [...omissions],
112
+ };
113
+ const relationDelivery = readRelationDelivery(database, references, configured);
114
+ return { ...value, items: value.items.map((item, index) => ({ ...item, entryId: references[index].entryId, workspace: references[index].workspace })), relationDelivery };
115
+ }
116
+ const Endpoint = z.object({ workspace: z.string().min(1).max(256), entryId: z.string().min(1).max(256) }).strict();
117
+ export const RelationDeliverySchema = z.object({
118
+ scope: z.literal('provided_items'),
119
+ status: z.enum(['complete', 'omitted_budget', 'omitted_edge_cap', 'omitted_unknown_type', 'omitted_legacy']),
120
+ edges: z.array(z.object({ from: Endpoint, to: Endpoint, type: z.enum(RELATION_TYPES) }).strict()).max(1024),
121
+ selectionOmissions: z.array(z.enum(['body_budget', 'item_limit', 'final_filter'])).max(3),
122
+ }).strict().superRefine((value, ctx) => {
123
+ if (value.status !== 'complete' && value.edges.length !== 0)
124
+ ctx.addIssue({ code: 'custom', message: 'Omitted relations must not contain a partial edge set' });
125
+ if (new Set(value.selectionOmissions).size !== value.selectionOmissions.length)
126
+ ctx.addIssue({ code: 'custom', message: 'Selection omission reasons must be distinct' });
127
+ });
128
+ /** The budget covers compact JSON including the outer relationDelivery property. */
129
+ export function validateRelationDelivery(value, options = {}) {
130
+ const parsed = RelationDeliverySchema.safeParse(value);
131
+ const { characters, edgeCap } = limits(options);
132
+ if (!parsed.success || parsed.data.edges.length > edgeCap || relationDeliveryCharacterCount(parsed.data) > characters)
133
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation delivery envelope is invalid or exceeds its limits');
134
+ return parsed.data;
135
+ }
136
+ /** A final filter can restrict complete snapshots; an omitted snapshot is never upgraded without a new read. */
137
+ export function filterRelationDelivery(value, items, options = {}) {
138
+ if (value === undefined)
139
+ return legacyRelationDelivery({ ...options,
140
+ selectionOmissions: [...(options.selectionOmissions ?? []), ...(options.finalFilter ? ['final_filter'] : [])] });
141
+ const parsed = RelationDeliverySchema.parse(value);
142
+ const ids = new Set(items.map(item => JSON.stringify([item.workspace, item.entryId])));
143
+ const edges = parsed.edges.filter(edge => ids.has(JSON.stringify([edge.from.workspace, edge.from.entryId]))
144
+ && ids.has(JSON.stringify([edge.to.workspace, edge.to.entryId])));
145
+ const selectionOmissions = [...new Set([...parsed.selectionOmissions, ...(options.selectionOmissions ?? []),
146
+ ...(options.finalFilter || edges.length !== parsed.edges.length ? ['final_filter'] : [])])].sort();
147
+ if (parsed.status !== 'complete')
148
+ return validateRelationDelivery({ ...parsed, selectionOmissions }, options);
149
+ return packRelationDelivery(edges.map(edge => ({ kind: 'edge', from_id: edge.from.entryId, from_workspace: edge.from.workspace,
150
+ to_id: edge.to.entryId, to_workspace: edge.to.workspace, relation: edge.type })), { ...options, selectionOmissions });
151
+ }
152
+ export function configuredRelationDeliveryOptions(options = {}) {
153
+ const configured = { relationCharacterBudget: options.relationCharacterBudget ?? Number(process.env.KIOKUKO_RELATION_CHARACTER_BUDGET ?? DEFAULT_RELATION_CHARACTERS),
154
+ relationEdgeCap: options.relationEdgeCap ?? Number(process.env.KIOKUKO_RELATION_EDGE_CAP ?? DEFAULT_RELATION_EDGE_CAP) };
155
+ limits(configured);
156
+ return configured;
157
+ }
158
+ //# sourceMappingURL=relation-delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-delivery.js","sourceRoot":"","sources":["../../src/memory/relation-delivery.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type RelationDelivery, type RelationDeliveryOptions } from './relation-delivery.js';
1
2
  import type { SqliteDatabase } from '../db/adapter.js';
2
3
  import { type EntryRecord } from './entries.js';
3
4
  import { type EntryKind, type EntryStatus } from '../serialization/validate.js';
@@ -18,10 +19,12 @@ export interface SearchResult {
18
19
  count: number;
19
20
  truncated: boolean;
20
21
  }
21
- export interface RecallEntriesInput extends SearchEntriesInput {
22
+ export interface RecallEntriesInput extends SearchEntriesInput, RelationDeliveryOptions {
22
23
  maxChars?: number;
23
24
  }
24
25
  export interface RecallItem {
26
+ entryId?: string;
27
+ revision?: number;
25
28
  evidence?: import('./evidence.js').EvidenceIdentity;
26
29
  id: string;
27
30
  workspace: string;
@@ -38,6 +41,7 @@ export interface RecallItem {
38
41
  };
39
42
  }
40
43
  export interface RecallResult {
44
+ relationDelivery?: RelationDelivery;
41
45
  items: RecallItem[];
42
46
  count: number;
43
47
  characterCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG/E,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,CAAC;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE;QACR,UAAU,EAAE,IAAI,CAAC;QACjB,SAAS,EAAE,IAAI,CAAC;QAChB,YAAY,EAAE,KAAK,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAgCD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAgBpB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAKd;AAQD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAKd;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,YAAY,CAyC/H"}
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { attachRelationDelivery, configuredRelationDeliveryOptions } from './relation-delivery.js';
2
+ import { DEFAULT_CONTEXT_CHARACTERS } from './context-budget.js';
1
3
  import { KiokukoError } from '../errors.js';
2
4
  import { readEntry } from './entries.js';
3
5
  import { requireWorkspace } from '../serialization/validate.js';
@@ -5,7 +7,7 @@ import { hybridSearch } from './hybrid-retrieval.js';
5
7
  import { projectMemoryEntry } from '../context/memory-projection.js';
6
8
  const DEFAULT_SEARCH_LIMIT = 20;
7
9
  const DEFAULT_RECALL_LIMIT = 5;
8
- const DEFAULT_RECALL_MAX_CHARS = 8000;
10
+ const DEFAULT_RECALL_MAX_CHARS = DEFAULT_CONTEXT_CHARACTERS;
9
11
  const MAX_LIMIT = 1000;
10
12
  const MAX_RECALL_CHARS = 100_000;
11
13
  function characterCount(value) {
@@ -96,7 +98,7 @@ export function recallEntryHits(database, input, selected) {
96
98
  || characterCount(entry.body) > characterCount(snippet))
97
99
  truncated = true;
98
100
  items.push({
99
- id: entry.id,
101
+ id: entry.id, entryId: entry.id, revision: entry.revision,
100
102
  workspace: entry.workspace,
101
103
  kind: entry.kind,
102
104
  status: entry.status,
@@ -113,6 +115,11 @@ export function recallEntryHits(database, input, selected) {
113
115
  }
114
116
  if (items.length < rows.length || selected.truncated)
115
117
  truncated = true;
116
- return { items, count: items.length, characterCount: characters, truncated };
118
+ return attachRelationDelivery(database, { items, count: items.length, characterCount: characters, truncated }, {
119
+ ...configuredRelationDeliveryOptions(input), selectionOmissions: [
120
+ ...(selected.truncated || rows.length < selected.hits.length ? ['item_limit'] : []),
121
+ ...(truncated && !selected.truncated ? ['body_budget'] : []),
122
+ ],
123
+ });
117
124
  }
118
125
  //# sourceMappingURL=retrieval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { RelationDeliveryOptions } from './relation-delivery.js';
1
2
  import type { SqliteDatabase } from '../db/adapter.js';
2
3
  import { type ProjectMemoryReuseEffect } from './project-reuse.js';
3
4
  import { type EntryRecord } from './entries.js';
@@ -20,7 +21,7 @@ type GitProvenanceExecutor = (executable: string, args: string[], options: GitPr
20
21
  /** Resolve immutable checkpoint provenance without treating Git failures as an absent commit. */
21
22
  export declare function resolveCheckpointSourceCommit(repositoryRoot: string, execute?: GitProvenanceExecutor): string | null;
22
23
  export type MemoryScope = FederatedScope;
23
- export interface ScopedRecallInput {
24
+ export interface ScopedRecallInput extends RelationDeliveryOptions {
24
25
  query: string;
25
26
  cwd?: string;
26
27
  project?: ResolvedProjectWorkspace;
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-memory.d.ts","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-memory.d.ts","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_CONTEXT_CHARACTERS } from './context-budget.js';
1
2
  import { reuseProjectMemory } from './project-reuse.js';
2
3
  import { KiokukoError } from '../errors.js';
3
4
  import { withImmediateTransaction } from '../db/transaction.js';
@@ -318,11 +319,15 @@ export async function recallScopedMemory(database, input, runtime = {}, memoryRe
318
319
  ...(input.scope === undefined ? {} : { scope: input.scope }),
319
320
  ...(input.limit === undefined ? {} : { limit: input.limit }),
320
321
  ...(input.maxChars === undefined ? {} : { maxChars: input.maxChars }),
322
+ ...(input.relationCharacterBudget === undefined ? {} : { relationCharacterBudget: input.relationCharacterBudget }),
323
+ ...(input.relationEdgeCap === undefined ? {} : { relationEdgeCap: input.relationEdgeCap }),
321
324
  ...(input.readOnly === undefined ? {} : { readOnly: input.readOnly }),
322
325
  }, effectiveRuntime);
323
326
  if (memoryReuse && input.scope === 'project' && baseline.project) {
324
327
  return reuseProjectMemory(database, { project: baseline.project.target, query: input.query,
325
- limit: Math.min(input.limit ?? 5, 10), maxChars: input.maxChars ?? 8000 }, baseline, effectiveRuntime, memoryReuse);
328
+ limit: Math.min(input.limit ?? 5, 10), maxChars: input.maxChars ?? DEFAULT_CONTEXT_CHARACTERS,
329
+ ...(input.relationCharacterBudget === undefined ? {} : { relationCharacterBudget: input.relationCharacterBudget }),
330
+ ...(input.relationEdgeCap === undefined ? {} : { relationEdgeCap: input.relationEdgeCap }) }, baseline, effectiveRuntime, memoryReuse);
326
331
  }
327
332
  return baseline;
328
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-memory.js","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-memory.js","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}