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.
- package/README.md +2 -0
- package/dist/agent-file/atomic-write.d.ts.map +1 -1
- package/dist/agent-file/atomic-write.js +2 -1
- package/dist/agent-file/atomic-write.js.map +1 -1
- package/dist/akinator/agent-task.d.ts +4 -2
- package/dist/akinator/agent-task.d.ts.map +1 -1
- package/dist/akinator/agent-task.js +14 -4
- package/dist/akinator/agent-task.js.map +1 -1
- package/dist/akinator/preparation-recovery.d.ts.map +1 -1
- package/dist/assurance/contracts.d.ts +1 -1
- package/dist/assurance/doctor.d.ts +1 -1
- package/dist/assurance/service.d.ts +1 -1
- package/dist/assurance/verification-contracts.d.ts +1 -1
- package/dist/assurance/verification.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +15 -3
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +26 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/use.d.ts.map +1 -1
- package/dist/commands/use.js +10 -1
- package/dist/commands/use.js.map +1 -1
- package/dist/context/broker.d.ts +4 -1
- package/dist/context/broker.d.ts.map +1 -1
- package/dist/context/broker.js +9 -3
- package/dist/context/broker.js.map +1 -1
- package/dist/context/ranking.d.ts +1 -1
- package/dist/context/ranking.d.ts.map +1 -1
- package/dist/context/ranking.js +2 -1
- package/dist/context/ranking.js.map +1 -1
- package/dist/context/scoped-broker.d.ts +3 -1
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +8 -5
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/gateway/checkpoint-mutation-service.d.ts.map +1 -1
- package/dist/gateway/checkpoint-mutation-service.js +2 -1
- package/dist/gateway/checkpoint-mutation-service.js.map +1 -1
- package/dist/ledger/checkpoint-contract.d.ts +8 -8
- package/dist/mcp/chatgpt-contract.d.ts +33 -1
- package/dist/mcp/chatgpt-contract.d.ts.map +1 -1
- package/dist/mcp/chatgpt-contract.js +4 -2
- package/dist/mcp/chatgpt-contract.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +5 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/checkpoint-contract.d.ts +12 -12
- package/dist/memory/context-budget.d.ts +5 -0
- package/dist/memory/context-budget.d.ts.map +1 -0
- package/dist/memory/context-budget.js +5 -0
- package/dist/memory/context-budget.js.map +1 -0
- package/dist/memory/federated-retrieval.d.ts.map +1 -1
- package/dist/memory/federated-retrieval.js +11 -6
- package/dist/memory/federated-retrieval.js.map +1 -1
- package/dist/memory/global-conversation-query.d.ts +3 -0
- package/dist/memory/global-conversation-query.d.ts.map +1 -1
- package/dist/memory/global-conversation-query.js +5 -2
- package/dist/memory/global-conversation-query.js.map +1 -1
- package/dist/memory/handoff.d.ts +1 -1
- package/dist/memory/interaction-contract.d.ts +10 -10
- package/dist/memory/interaction-contract.d.ts.map +1 -1
- package/dist/memory/interaction-contract.js +3 -2
- package/dist/memory/interaction-contract.js.map +1 -1
- package/dist/memory/interaction-recall.d.ts +3 -0
- package/dist/memory/interaction-recall.d.ts.map +1 -1
- package/dist/memory/interaction-recall.js +2 -1
- package/dist/memory/interaction-recall.js.map +1 -1
- package/dist/memory/observation-contract.d.ts +12 -6
- package/dist/memory/observation-contract.d.ts.map +1 -1
- package/dist/memory/observation-contract.js +3 -1
- package/dist/memory/observation-contract.js.map +1 -1
- package/dist/memory/observations.d.ts.map +1 -1
- package/dist/memory/observations.js +21 -5
- package/dist/memory/observations.js.map +1 -1
- package/dist/memory/relation-delivery.d.ts +107 -0
- package/dist/memory/relation-delivery.d.ts.map +1 -0
- package/dist/memory/relation-delivery.js +163 -0
- package/dist/memory/relation-delivery.js.map +1 -0
- package/dist/memory/retrieval.d.ts +3 -0
- package/dist/memory/retrieval.d.ts.map +1 -1
- package/dist/memory/retrieval.js +8 -5
- package/dist/memory/retrieval.js.map +1 -1
- package/dist/repository/binding-repair.d.ts +38 -0
- package/dist/repository/binding-repair.d.ts.map +1 -0
- package/dist/repository/binding-repair.js +129 -0
- package/dist/repository/binding-repair.js.map +1 -0
- package/dist/server/agent-checkpoint-use-case.d.ts.map +1 -1
- package/dist/server/agent-checkpoint-use-case.js +1 -0
- package/dist/server/agent-checkpoint-use-case.js.map +1 -1
- package/dist/server/routes/agent-capability-gate.d.ts.map +1 -1
- package/dist/server/routes/agent-capability-gate.js +1 -0
- package/dist/server/routes/agent-capability-gate.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +5 -1
- package/dist/web/server.js.map +1 -1
- package/docs/context-delivery.md +62 -0
- package/docs/interaction-memory.md +1 -1
- 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
|
-
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"observations.js","sourceRoot":"","sources":["../../src/memory/observations.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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
|
|
1
|
+
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/memory/retrieval.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/retrieval.js
CHANGED
|
@@ -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 =
|
|
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"}
|