kiokuko 1.0.41 → 1.0.43

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 (102) hide show
  1. package/README.md +2 -0
  2. package/dist/agent-file/atomic-write.d.ts.map +1 -1
  3. package/dist/agent-file/atomic-write.js +2 -1
  4. package/dist/agent-file/atomic-write.js.map +1 -1
  5. package/dist/akinator/agent-task.d.ts +4 -2
  6. package/dist/akinator/agent-task.d.ts.map +1 -1
  7. package/dist/akinator/agent-task.js +14 -4
  8. package/dist/akinator/agent-task.js.map +1 -1
  9. package/dist/akinator/preparation-recovery.d.ts.map +1 -1
  10. package/dist/assurance/contracts.d.ts +1 -1
  11. package/dist/assurance/doctor.d.ts +1 -1
  12. package/dist/assurance/service.d.ts +1 -1
  13. package/dist/assurance/verification-contracts.d.ts +1 -1
  14. package/dist/assurance/verification.d.ts +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +23 -4
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/agent.d.ts.map +1 -1
  19. package/dist/commands/agent.js +15 -3
  20. package/dist/commands/agent.js.map +1 -1
  21. package/dist/commands/doctor.d.ts +3 -0
  22. package/dist/commands/doctor.d.ts.map +1 -1
  23. package/dist/commands/doctor.js +26 -2
  24. package/dist/commands/doctor.js.map +1 -1
  25. package/dist/commands/use.d.ts.map +1 -1
  26. package/dist/commands/use.js +10 -1
  27. package/dist/commands/use.js.map +1 -1
  28. package/dist/context/broker.d.ts +4 -1
  29. package/dist/context/broker.d.ts.map +1 -1
  30. package/dist/context/broker.js +9 -3
  31. package/dist/context/broker.js.map +1 -1
  32. package/dist/context/ranking.d.ts +1 -1
  33. package/dist/context/ranking.d.ts.map +1 -1
  34. package/dist/context/ranking.js +2 -1
  35. package/dist/context/ranking.js.map +1 -1
  36. package/dist/context/scoped-broker.d.ts +3 -1
  37. package/dist/context/scoped-broker.d.ts.map +1 -1
  38. package/dist/context/scoped-broker.js +8 -5
  39. package/dist/context/scoped-broker.js.map +1 -1
  40. package/dist/gateway/checkpoint-mutation-service.d.ts.map +1 -1
  41. package/dist/gateway/checkpoint-mutation-service.js +2 -1
  42. package/dist/gateway/checkpoint-mutation-service.js.map +1 -1
  43. package/dist/ledger/checkpoint-contract.d.ts +8 -8
  44. package/dist/mcp/chatgpt-contract.d.ts +33 -1
  45. package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
  46. package/dist/mcp/chatgpt-contract.js +4 -2
  47. package/dist/mcp/chatgpt-contract.js.map +1 -1
  48. package/dist/mcp/server.d.ts.map +1 -1
  49. package/dist/mcp/server.js +5 -4
  50. package/dist/mcp/server.js.map +1 -1
  51. package/dist/memory/checkpoint-contract.d.ts +12 -12
  52. package/dist/memory/context-budget.d.ts +5 -0
  53. package/dist/memory/context-budget.d.ts.map +1 -0
  54. package/dist/memory/context-budget.js +5 -0
  55. package/dist/memory/context-budget.js.map +1 -0
  56. package/dist/memory/federated-retrieval.d.ts.map +1 -1
  57. package/dist/memory/federated-retrieval.js +11 -6
  58. package/dist/memory/federated-retrieval.js.map +1 -1
  59. package/dist/memory/global-conversation-query.d.ts +3 -0
  60. package/dist/memory/global-conversation-query.d.ts.map +1 -1
  61. package/dist/memory/global-conversation-query.js +5 -2
  62. package/dist/memory/global-conversation-query.js.map +1 -1
  63. package/dist/memory/handoff.d.ts +1 -1
  64. package/dist/memory/interaction-contract.d.ts +10 -10
  65. package/dist/memory/interaction-contract.d.ts.map +1 -1
  66. package/dist/memory/interaction-contract.js +3 -2
  67. package/dist/memory/interaction-contract.js.map +1 -1
  68. package/dist/memory/interaction-recall.d.ts +3 -0
  69. package/dist/memory/interaction-recall.d.ts.map +1 -1
  70. package/dist/memory/interaction-recall.js +2 -1
  71. package/dist/memory/interaction-recall.js.map +1 -1
  72. package/dist/memory/observation-contract.d.ts +12 -6
  73. package/dist/memory/observation-contract.d.ts.map +1 -1
  74. package/dist/memory/observation-contract.js +3 -1
  75. package/dist/memory/observation-contract.js.map +1 -1
  76. package/dist/memory/observations.d.ts.map +1 -1
  77. package/dist/memory/observations.js +21 -5
  78. package/dist/memory/observations.js.map +1 -1
  79. package/dist/memory/relation-delivery.d.ts +107 -0
  80. package/dist/memory/relation-delivery.d.ts.map +1 -0
  81. package/dist/memory/relation-delivery.js +163 -0
  82. package/dist/memory/relation-delivery.js.map +1 -0
  83. package/dist/memory/retrieval.d.ts +3 -0
  84. package/dist/memory/retrieval.d.ts.map +1 -1
  85. package/dist/memory/retrieval.js +8 -5
  86. package/dist/memory/retrieval.js.map +1 -1
  87. package/dist/repository/binding-repair.d.ts +38 -0
  88. package/dist/repository/binding-repair.d.ts.map +1 -0
  89. package/dist/repository/binding-repair.js +129 -0
  90. package/dist/repository/binding-repair.js.map +1 -0
  91. package/dist/server/agent-checkpoint-use-case.d.ts.map +1 -1
  92. package/dist/server/agent-checkpoint-use-case.js +1 -0
  93. package/dist/server/agent-checkpoint-use-case.js.map +1 -1
  94. package/dist/server/routes/agent-capability-gate.d.ts.map +1 -1
  95. package/dist/server/routes/agent-capability-gate.js +1 -0
  96. package/dist/server/routes/agent-capability-gate.js.map +1 -1
  97. package/dist/web/server.d.ts.map +1 -1
  98. package/dist/web/server.js +5 -1
  99. package/dist/web/server.js.map +1 -1
  100. package/docs/context-delivery.md +62 -0
  101. package/docs/interaction-memory.md +1 -1
  102. package/package.json +1 -1
@@ -1,3 +1,5 @@
1
+ import { attachRelationDelivery } from './relation-delivery.js';
2
+ import { KiokukoError } from '../errors.js';
1
3
  import { observationSchema, memoryContextSchema } from './observation-contract.js';
2
4
  import { readEntry } from './entries.js';
3
5
  import { resolveProjectWorkspace } from './workspaces.js';
@@ -13,7 +15,7 @@ function contextItem(entry, scope) {
13
15
  catch { /* Legacy prose is advisory. */ }
14
16
  const value = body.verification;
15
17
  const actions = observationSchema.shape.actions.safeParse(body.actions);
16
- return { entryId: entry.id, revision: entry.revision, kind: entry.kind, summary: entry.summary ?? entry.body.slice(0, 2048),
18
+ return { workspace: entry.workspace, entryId: entry.id, revision: entry.revision, kind: entry.kind, summary: entry.summary ?? Array.from(entry.body).slice(0, 2048).join(''),
17
19
  tags: entry.tags, confidence: entry.confidence,
18
20
  verification: value === 'passed' || value === 'failed' ? value : 'unknown',
19
21
  verificationProvenance: value === 'passed' || value === 'failed' ? 'declared' : 'unknown',
@@ -33,7 +35,8 @@ export async function memoryContext(db, raw) {
33
35
  const input = parsed.data, project = await resolveProjectWorkspace(db, input.cwd);
34
36
  if (!project)
35
37
  return empty('memory_repository_unavailable');
36
- const rows = recallEntries(db, { workspace: project.workspace, query: input.query, limit: 50, maxChars: 48000, ...(input.tags[0] ? { tag: input.tags[0].toLowerCase() } : {}) });
38
+ // Preserve the existing bounded candidate/dedup policy; only the final model body uses maxContextChars.
39
+ const rows = recallEntries(db, { workspace: project.workspace, query: input.query, limit: 50, maxChars: 48_000, ...(input.tags[0] ? { tag: input.tags[0].toLowerCase() } : {}) });
37
40
  const entries = [];
38
41
  for (const hit of rows.items) {
39
42
  const entry = readEntry(db, { workspace: project.workspace, entryId: hit.id });
@@ -45,10 +48,23 @@ export async function memoryContext(db, raw) {
45
48
  entries.push(contextItem(entry, 'project'));
46
49
  }
47
50
  const handoff = null; // Legacy passive handoffs have no user-save approval.
48
- return { available: true, workMayContinue: true, entries: entries.slice(0, input.limit), handoff, warnings: [] };
51
+ const provided = entries.slice(0, input.limit);
52
+ let budgetOmitted = false;
53
+ while (Array.from(JSON.stringify({ entries: provided, handoff })).length > input.maxContextChars) {
54
+ budgetOmitted = true;
55
+ if (!provided.length)
56
+ throw new KiokukoError('VALIDATION_ERROR', 'Memory context budget cannot fit its explicit body envelope');
57
+ provided.pop();
58
+ }
59
+ const shown = attachRelationDelivery(db, { items: provided }, { selectionOmissions: [
60
+ ...(budgetOmitted ? ['body_budget'] : []), ...(entries.length >= input.limit || rows.truncated ? ['item_limit'] : []),
61
+ ] });
62
+ return { available: true, workMayContinue: true, entries: shown.items, relationDelivery: shown.relationDelivery,
63
+ characterCount: Array.from(JSON.stringify({ entries: shown.items, handoff })).length,
64
+ truncated: budgetOmitted || rows.truncated || entries.length > provided.length, handoff, warnings: [] };
49
65
  }
50
- catch {
51
- return empty('memory_context_unavailable');
66
+ catch (error) {
67
+ return empty(error instanceof KiokukoError ? error.code : 'memory_context_unavailable');
52
68
  }
53
69
  }
54
70
  /** Passive events and maintenance are suggestions, never permission to save derived memories. */
@@ -1 +1 @@
1
- {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../src/memory/observations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observations.js","sourceRoot":"","sources":["../../src/memory/observations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAiF,MAAM,2BAA2B,CAAC;AAClK,OAAO,EAAE,SAAS,EAAoB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAoB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAa,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjI,SAAS,WAAW,CAAC,KAAkB,EAAE,KAA2B;IAClE,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,CAAC;QAAC,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,IAAI,GAAG,OAAkC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IACpN,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1K,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;QAC9C,YAAY,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC1E,sBAAsB,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACzF,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QACpJ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAkB,EAAE,GAAY;IAClE,MAAM,KAAK,GAAG,CAAC,OAAe,EAAyB,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;QAClG,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC5D,wGAAwG;QACxG,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClL,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,qBAAqB,EAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACpG,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,CAAsC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnJ,IAAI,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAE,SAAS;YACjK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,sDAAsD;QAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;YACjG,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,6DAA6D,CAAC,CAAC;YAChI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE;gBAClF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxI,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YAC7G,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM;YACpF,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAAC,CAAC;AAC9G,CAAC;AACD,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAmB,EAAE,GAAY;IACnE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtF,OAAO,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC9C,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAmB,EAAE,IAAa;IACpE,OAAO,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,107 @@
1
+ import type { SqliteDatabase, SqliteRow } from '../db/adapter.js';
2
+ import * as z from 'zod/v4';
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 declare const relationDeliverySchema: z.ZodObject<{
27
+ scope: z.ZodLiteral<"provided_items">;
28
+ status: z.ZodEnum<{
29
+ complete: "complete";
30
+ omitted_budget: "omitted_budget";
31
+ omitted_edge_cap: "omitted_edge_cap";
32
+ omitted_unknown_type: "omitted_unknown_type";
33
+ omitted_legacy: "omitted_legacy";
34
+ }>;
35
+ edges: z.ZodArray<z.ZodObject<{
36
+ from: z.ZodObject<{
37
+ workspace: z.ZodString;
38
+ entryId: z.ZodString;
39
+ }, z.core.$strict>;
40
+ to: z.ZodObject<{
41
+ workspace: z.ZodString;
42
+ entryId: z.ZodString;
43
+ }, z.core.$strict>;
44
+ type: z.ZodEnum<{
45
+ supports: "supports";
46
+ contradicts: "contradicts";
47
+ derived_from: "derived_from";
48
+ related_to: "related_to";
49
+ }>;
50
+ }, z.core.$strict>>;
51
+ selectionOmissions: z.ZodArray<z.ZodEnum<{
52
+ body_budget: "body_budget";
53
+ item_limit: "item_limit";
54
+ final_filter: "final_filter";
55
+ }>>;
56
+ }, z.core.$strict>;
57
+ export interface ProvidedRelationItem {
58
+ entryId: string;
59
+ workspace?: string;
60
+ revision?: number;
61
+ }
62
+ interface StoredRelation extends SqliteRow {
63
+ kind: string;
64
+ from_id: string;
65
+ from_workspace: string;
66
+ to_id: string;
67
+ to_workspace: string;
68
+ relation: string;
69
+ }
70
+ /** Adapter configuration; pure packing remains independent of the process environment. */
71
+ export declare function configuredRelationDeliveryOptions(options?: RelationDeliveryOptions): RelationDeliveryOptions;
72
+ /** View-only adaptation for a cached pre-contract task response; never rewrite stored history. */
73
+ export declare function markLegacyModelContext<T extends {
74
+ context?: unknown;
75
+ }>(value: T): T;
76
+ /** All edges or none. A complete result covers stored links between provided items only. */
77
+ export declare function packRelationDelivery(rows: readonly StoredRelation[], options?: RelationDeliveryOptions): RelationDelivery;
78
+ /** Old deliveries without a reconstructable relation snapshot must not claim completeness. */
79
+ export declare function legacyRelationDelivery(options?: RelationDeliveryOptions): RelationDelivery;
80
+ /** Restrict an attested complete superset after a consumer removes whole items. */
81
+ export declare function restrictRelationDelivery(raw: unknown, original: readonly ProvidedRelationItem[], provided: readonly ProvidedRelationItem[], options?: RelationDeliveryOptions): RelationDelivery;
82
+ /**
83
+ * One statement owns the SQLite read snapshot, including selected-revision checks.
84
+ * CROSS JOIN fixes the loop order: at most n² endpoint-pair index seeks (n <= 1000),
85
+ * rather than scanning an unbounded outgoing adjacency list. No global sort/count.
86
+ * LIMIT cap+1 bounds materialized edges, not the claim about internal scan work.
87
+ */
88
+ export declare function readRelationDelivery(database: SqliteDatabase, items: readonly ProvidedRelationItem[], options?: RelationDeliveryOptions): RelationDelivery;
89
+ interface ModelMemoryItem {
90
+ id?: string;
91
+ entryId?: string;
92
+ workspace?: string;
93
+ revision?: number;
94
+ entryRevision?: number;
95
+ content?: unknown;
96
+ }
97
+ /** Final presentation boundary: keep model-visible identities and recompute for these exact items. */
98
+ export declare function attachRelationDelivery<T extends {
99
+ items: readonly ModelMemoryItem[];
100
+ truncated?: boolean;
101
+ }>(database: SqliteDatabase, value: T, options?: RelationDeliveryOptions & {
102
+ itemLimit?: number;
103
+ }): T & {
104
+ relationDelivery: RelationDelivery;
105
+ };
106
+ export {};
107
+ //# 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":"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"}
@@ -0,0 +1,163 @@
1
+ import * as z from 'zod/v4';
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
+ const endpointSchema = z.object({ workspace: z.string().min(1).max(256), entryId: z.string().min(1).max(256) }).strict();
6
+ export const relationDeliverySchema = z.object({
7
+ scope: z.literal('provided_items'),
8
+ status: z.enum(['complete', 'omitted_budget', 'omitted_edge_cap', 'omitted_unknown_type', 'omitted_legacy']),
9
+ edges: z.array(z.object({ from: endpointSchema, to: endpointSchema, type: z.enum(RELATION_TYPES) }).strict()).max(1024),
10
+ selectionOmissions: z.array(z.enum(['body_budget', 'item_limit', 'final_filter'])).max(3),
11
+ }).strict().refine(value => value.status === 'complete' || value.edges.length === 0, 'An omitted delivery cannot contain partial edges');
12
+ function limits(options) {
13
+ const characters = options.relationCharacterBudget ?? DEFAULT_RELATION_CHARACTERS;
14
+ const edgeCap = options.relationEdgeCap ?? DEFAULT_RELATION_EDGE_CAP;
15
+ if (!Number.isSafeInteger(characters) || characters < 1 || characters > 100_000
16
+ || !Number.isSafeInteger(edgeCap) || edgeCap < 1 || edgeCap > 1024
17
+ || options.selectionOmissions?.some(reason => !['body_budget', 'item_limit', 'final_filter'].includes(reason))) {
18
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation delivery limits are invalid');
19
+ }
20
+ return { characters, edgeCap };
21
+ }
22
+ /** Adapter configuration; pure packing remains independent of the process environment. */
23
+ export function configuredRelationDeliveryOptions(options = {}) {
24
+ const result = { ...options,
25
+ relationCharacterBudget: options.relationCharacterBudget ?? Number(process.env.KIOKUKO_RELATION_CHARACTER_BUDGET ?? DEFAULT_RELATION_CHARACTERS),
26
+ relationEdgeCap: options.relationEdgeCap ?? Number(process.env.KIOKUKO_RELATION_EDGE_CAP ?? DEFAULT_RELATION_EDGE_CAP),
27
+ };
28
+ limits(result);
29
+ return result;
30
+ }
31
+ /** View-only adaptation for a cached pre-contract task response; never rewrite stored history. */
32
+ export function markLegacyModelContext(value) {
33
+ const context = value.context;
34
+ if (typeof context !== 'object' || context === null || Array.isArray(context)
35
+ || !Array.isArray(context.items) || Object.hasOwn(context, 'relationDelivery'))
36
+ return value;
37
+ return { ...value, context: { ...context, relationDelivery: legacyRelationDelivery(configuredRelationDeliveryOptions()) } };
38
+ }
39
+ /** All edges or none. A complete result covers stored links between provided items only. */
40
+ export function packRelationDelivery(rows, options = {}) {
41
+ const { characters, edgeCap } = limits(options);
42
+ const fit = (status, edges) => {
43
+ const value = { scope: 'provided_items', status, edges,
44
+ selectionOmissions: [...new Set(options.selectionOmissions ?? [])].sort() };
45
+ if (Array.from(JSON.stringify({ relationDelivery: value })).length <= characters)
46
+ return value;
47
+ if (status === 'complete')
48
+ return fit('omitted_budget', []);
49
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation metadata budget cannot fit its explicit delivery status');
50
+ };
51
+ if (rows.length > edgeCap)
52
+ return fit('omitted_edge_cap', []);
53
+ if (rows.some(row => !RELATION_TYPES.includes(row.relation)))
54
+ return fit('omitted_unknown_type', []);
55
+ const edges = rows.map(row => ({ from: { workspace: row.from_workspace, entryId: row.from_id },
56
+ to: { workspace: row.to_workspace, entryId: row.to_id }, type: row.relation }));
57
+ edges.sort((a, b) => {
58
+ const left = JSON.stringify(a), right = JSON.stringify(b);
59
+ return left < right ? -1 : left > right ? 1 : 0;
60
+ });
61
+ return fit('complete', edges);
62
+ }
63
+ /** Old deliveries without a reconstructable relation snapshot must not claim completeness. */
64
+ export function legacyRelationDelivery(options = {}) {
65
+ const { characters } = limits(options);
66
+ const value = { scope: 'provided_items', status: 'omitted_legacy', edges: [],
67
+ selectionOmissions: [...new Set(options.selectionOmissions ?? [])].sort() };
68
+ if (Array.from(JSON.stringify({ relationDelivery: value })).length > characters) {
69
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation metadata budget cannot fit its explicit delivery status');
70
+ }
71
+ return value;
72
+ }
73
+ /** Restrict an attested complete superset after a consumer removes whole items. */
74
+ export function restrictRelationDelivery(raw, original, provided, options = {}) {
75
+ if (raw === undefined)
76
+ return legacyRelationDelivery(options);
77
+ const parsed = relationDeliverySchema.safeParse(raw);
78
+ if (!parsed.success)
79
+ throw new KiokukoError('INTEGRITY_ERROR', 'Stored relation delivery is invalid');
80
+ const key = (item) => JSON.stringify([item.workspace, item.entryId]);
81
+ const originalIds = new Set(original.map(key));
82
+ if (provided.some(item => !originalIds.has(key(item))))
83
+ throw new KiokukoError('INTEGRITY_ERROR', 'Final relation items are not a subset of the original delivery');
84
+ if (parsed.data.status === 'complete' && original.some(item => !item.workspace))
85
+ throw new KiokukoError('INTEGRITY_ERROR', 'Complete relations require model-visible workspace identities');
86
+ if (parsed.data.edges.some(edge => !originalIds.has(key(edge.from)) || !originalIds.has(key(edge.to))))
87
+ throw new KiokukoError('INTEGRITY_ERROR', 'Relation endpoints are outside the original delivery');
88
+ const ids = new Set(provided.map(key));
89
+ const selectionOmissions = [...new Set([...parsed.data.selectionOmissions, ...(options.selectionOmissions ?? []),
90
+ ...(provided.length < original.length ? ['final_filter'] : [])])].sort();
91
+ const settings = { ...options, selectionOmissions };
92
+ if (parsed.data.status === 'complete') {
93
+ return packRelationDelivery(parsed.data.edges.filter(edge => ids.has(key(edge.from)) && ids.has(key(edge.to))).map(edge => ({
94
+ kind: 'edge', from_id: edge.from.entryId, from_workspace: edge.from.workspace,
95
+ to_id: edge.to.entryId, to_workspace: edge.to.workspace, relation: edge.type,
96
+ })), settings);
97
+ }
98
+ const { characters } = limits(settings);
99
+ const value = { ...parsed.data, edges: [], selectionOmissions };
100
+ if (Array.from(JSON.stringify({ relationDelivery: value })).length > characters)
101
+ throw new KiokukoError('VALIDATION_ERROR', 'Relation metadata budget cannot fit its explicit delivery status');
102
+ return value;
103
+ }
104
+ /**
105
+ * One statement owns the SQLite read snapshot, including selected-revision checks.
106
+ * CROSS JOIN fixes the loop order: at most n² endpoint-pair index seeks (n <= 1000),
107
+ * rather than scanning an unbounded outgoing adjacency list. No global sort/count.
108
+ * LIMIT cap+1 bounds materialized edges, not the claim about internal scan work.
109
+ */
110
+ export function readRelationDelivery(database, items, options = {}) {
111
+ const { edgeCap } = limits(options);
112
+ if (items.length > 1000 || new Set(items.map(item => item.entryId)).size !== items.length
113
+ || items.some(item => typeof item.entryId !== 'string' || !item.entryId
114
+ || item.workspace !== undefined && (typeof item.workspace !== 'string' || !item.workspace)
115
+ || item.revision !== undefined && (!Number.isSafeInteger(item.revision) || item.revision < 1))) {
116
+ throw new KiokukoError('VALIDATION_ERROR', 'Provided relation endpoints are invalid');
117
+ }
118
+ if (items.length === 0)
119
+ return packRelationDelivery([], options);
120
+ const sql = 'WITH selected(id, workspace, revision) AS (VALUES ' + items.map(() => '(?,?,?)').join(',') + '), '
121
+ + 'current AS (SELECT s.id, e.workspace, e.current_revision FROM selected s JOIN entries e ON e.id=s.id), '
122
+ + 'invalid AS (SELECT 1 FROM selected s LEFT JOIN current e ON e.id=s.id '
123
+ + 'WHERE e.id IS NULL OR (s.workspace IS NOT NULL AND s.workspace<>e.workspace) '
124
+ + 'OR (s.revision IS NOT NULL AND s.revision<>e.current_revision) LIMIT 1), '
125
+ + 'links AS (SELECT a.id from_id, a.workspace from_workspace, b.id to_id, b.workspace to_workspace, l.relation '
126
+ + 'FROM current a CROSS JOIN current b CROSS JOIN entry_links l '
127
+ + 'WHERE l.from_entry_id=a.id AND l.to_entry_id=b.id LIMIT ?) '
128
+ + "SELECT 'invalid' kind, '' from_id, '' from_workspace, '' to_id, '' to_workspace, '' relation FROM invalid "
129
+ + "UNION ALL SELECT 'edge' kind, from_id, from_workspace, to_id, to_workspace, relation FROM links";
130
+ const rows = database.prepare(sql).all(...items.flatMap(item => [item.entryId, item.workspace ?? null, item.revision ?? null]), edgeCap + 1);
131
+ if (rows.some(row => row.kind === 'invalid'))
132
+ throw new KiokukoError('CONFLICT', 'Provided items changed before relation delivery');
133
+ return packRelationDelivery(rows, options);
134
+ }
135
+ /** Final presentation boundary: keep model-visible identities and recompute for these exact items. */
136
+ export function attachRelationDelivery(database, value, options = {}) {
137
+ const ids = value.items.map(item => item.entryId ?? item.id ?? '');
138
+ if (ids.some(id => !id) || ids.length > 1000)
139
+ throw new KiokukoError('VALIDATION_ERROR', 'Model memory identities are invalid');
140
+ const identities = ids.length ? database.prepare('SELECT id, workspace, current_revision FROM entries WHERE id IN ('
141
+ + ids.map(() => '?').join(',') + ')').all(...ids) : [];
142
+ const byId = new Map(identities.map(row => [row.id, row]));
143
+ const references = value.items.map((item, index) => {
144
+ const current = byId.get(ids[index]);
145
+ if (!current)
146
+ throw new KiokukoError('CONFLICT', 'A provided memory disappeared before relation delivery');
147
+ return { entryId: current.id, workspace: item.workspace ?? current.workspace,
148
+ revision: item.revision ?? item.entryRevision ?? current.current_revision };
149
+ });
150
+ const omissions = new Set(options.selectionOmissions ?? []);
151
+ if (options.itemLimit !== undefined && value.items.length >= options.itemLimit)
152
+ omissions.add('item_limit');
153
+ const partialBody = value.items.some(item => typeof item.content === 'object' && item.content !== null
154
+ && item.content.truncated === true);
155
+ if (partialBody)
156
+ omissions.add('body_budget');
157
+ if (value.truncated && omissions.size === 0)
158
+ omissions.add('final_filter');
159
+ const configured = configuredRelationDeliveryOptions({ ...options, selectionOmissions: [...omissions] });
160
+ const relationDelivery = readRelationDelivery(database, references, configured);
161
+ return { ...value, items: value.items.map((item, index) => ({ ...item, workspace: references[index].workspace })), relationDelivery };
162
+ }
163
+ //# 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 } 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';
@@ -30,6 +31,7 @@ export interface RecallEntriesInput extends SearchEntriesInput {
30
31
  maxChars?: number;
31
32
  }
32
33
  export interface RecallItem {
34
+ revision?: number;
33
35
  id: string;
34
36
  workspace: string;
35
37
  kind: EntryKind;
@@ -46,6 +48,7 @@ export interface RecallItem {
46
48
  selectionReasons?: string[];
47
49
  }
48
50
  export interface RecallResult {
51
+ relationDelivery?: RelationDelivery;
49
52
  items: RecallItem[];
50
53
  count: number;
51
54
  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;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAqE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3I,MAAM,WAAW,kBAAkB;IACjC,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;IAC5B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,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;IACF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;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;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,8BAA8B,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;CAC3E;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;AAcD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,EACjC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAkBvB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAmBd;AAiDD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,mBAAwB,EACjC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
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 } 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';
@@ -9,7 +11,7 @@ import { deduplicateDeliverableLessonSources, formatLessonSourceReferences } fro
9
11
  import { effectiveRelatedSearchMode } from './search-extension-config.js';
10
12
  const DEFAULT_SEARCH_LIMIT = 20;
11
13
  const DEFAULT_RECALL_LIMIT = 5;
12
- const DEFAULT_RECALL_MAX_CHARS = 8000;
14
+ const DEFAULT_RECALL_MAX_CHARS = DEFAULT_CONTEXT_CHARACTERS;
13
15
  const MAX_LIMIT = 1000;
14
16
  const MAX_RECALL_CHARS = 100_000;
15
17
  function characterCount(value) {
@@ -106,11 +108,11 @@ export function recallEntries(database, input, runtime = {}) {
106
108
  for (const id of retained)
107
109
  reasons.set(id, ['duplicate_source_suppressed']);
108
110
  return {
109
- ...packRecallEntries(input, deduplicated.entries, selected.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons),
111
+ ...packRecallEntries(database, input, deduplicated.entries, selected.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons),
110
112
  lessonDeduplicationDiagnostics: deduplicated.diagnostics,
111
113
  };
112
114
  }
113
- function packRecallEntries(input, entries, selectedTruncated, maxChars = normalizedMaxChars(input.maxChars), sourceNotes = new Map(), selectionReasons = new Map()) {
115
+ function packRecallEntries(database, input, entries, selectedTruncated, maxChars = normalizedMaxChars(input.maxChars), sourceNotes = new Map(), selectionReasons = new Map()) {
114
116
  const items = [];
115
117
  let characters = 0;
116
118
  let truncated = false;
@@ -132,6 +134,7 @@ function packRecallEntries(input, entries, selectedTruncated, maxChars = normali
132
134
  truncated = true;
133
135
  items.push({
134
136
  id: entry.id,
137
+ revision: entry.revision,
135
138
  workspace: entry.workspace,
136
139
  kind: entry.kind,
137
140
  status: entry.status,
@@ -148,7 +151,7 @@ function packRecallEntries(input, entries, selectedTruncated, maxChars = normali
148
151
  }
149
152
  if (items.length < entries.length || selectedTruncated)
150
153
  truncated = true;
151
- return { items, count: items.length, characterCount: characters, truncated };
154
+ return attachRelationDelivery(database, { items, count: items.length, characterCount: characters, truncated }, { itemLimit: input.limit ?? DEFAULT_RECALL_LIMIT, selectionOmissions: [...(selectedTruncated ? ['item_limit'] : []), ...(truncated ? ['body_budget'] : [])] });
152
155
  }
153
156
  export async function recallEntriesWithReranker(database, input, runtime = {}, signal) {
154
157
  const config = readRerankerConfig();
@@ -185,7 +188,7 @@ export async function recallEntriesWithReranker(database, input, runtime = {}, s
185
188
  }) !== originalHash) {
186
189
  throw new KiokukoError('CONFLICT', 'Recall selection changed during reranker inference');
187
190
  }
188
- const result = packRecallEntries(input, reranked.candidates.map(({ entry }) => entry), baseline.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons);
191
+ const result = packRecallEntries(database, input, reranked.candidates.map(({ entry }) => entry), baseline.truncated || suppressed.size > 0, maxChars, sourceNotes, reasons);
189
192
  return {
190
193
  ...result,
191
194
  lessonDeduplicationDiagnostics: deduplicated.diagnostics,
@@ -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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"}
@@ -0,0 +1,38 @@
1
+ import { type ProjectConfig } from '../config/project-config.js';
2
+ import type { SqliteDatabase } from '../db/adapter.js';
3
+ import { readRegularFile } from '../agent-file/atomic-write.js';
4
+ export interface BindingRegistration extends Record<string, unknown> {
5
+ canonicalRoot: string;
6
+ repositoryId: string;
7
+ workspace: string;
8
+ bindingSchemaVersion: number;
9
+ agentTemplateVersion: number;
10
+ }
11
+ export declare function bindingRegistrations(database: SqliteDatabase): BindingRegistration[];
12
+ type RepairPlan = {
13
+ kind: 'create' | 'recreate' | 'unchanged';
14
+ config: ProjectConfig;
15
+ detail: string;
16
+ } | {
17
+ kind: 'refuse';
18
+ detail: string;
19
+ };
20
+ /** Decide from supplied evidence only; never mint identity or infer it from a directory name. */
21
+ export declare function planBindingRepair(root: string, registrations: readonly BindingRegistration[], original: string | undefined): RepairPlan;
22
+ export interface BindingRepairResult {
23
+ repositoryRoot: string;
24
+ repositoryId?: string;
25
+ status: 'created' | 'recreated' | 'unchanged' | 'refused' | 'failed';
26
+ detail: string;
27
+ backupPath?: string;
28
+ }
29
+ export interface BindingRepairOptions {
30
+ roots?: readonly string[];
31
+ /** I/O seam for testing races/failures immediately before the conditional write. */
32
+ beforeWrite?: (filePath: string) => void | Promise<void>;
33
+ readBinding?: typeof readRegularFile;
34
+ }
35
+ /** The database is an authority to read, never an object repaired by this operation. */
36
+ export declare function repairRegisteredBindings(database: SqliteDatabase, options?: BindingRepairOptions): Promise<BindingRepairResult[]>;
37
+ export {};
38
+ //# sourceMappingURL=binding-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-repair.d.ts","sourceRoot":"","sources":["../../src/repository/binding-repair.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC7G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAyG,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGvK,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,mBAAmB,EAAE,CAIpF;AAED,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAoCvI;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,eAAe,CAAC;CACtC;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA6C3I"}