@askdkc/kiokuko 0.1.29 → 0.1.31
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/dist/akinator/store.d.ts.map +1 -1
- package/dist/akinator/store.js +5 -1
- package/dist/akinator/store.js.map +1 -1
- package/dist/commands/doctor.d.ts +10 -5
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +258 -135
- package/dist/commands/doctor.js.map +1 -1
- package/dist/context/delivery-migration.d.ts +37 -5
- package/dist/context/delivery-migration.d.ts.map +1 -1
- package/dist/context/delivery-migration.js +340 -73
- package/dist/context/delivery-migration.js.map +1 -1
- package/dist/context/delivery.d.ts +1 -0
- package/dist/context/delivery.d.ts.map +1 -1
- package/dist/context/delivery.js +32 -4
- package/dist/context/delivery.js.map +1 -1
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +7 -16
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/ledger/maintenance.d.ts.map +1 -1
- package/dist/ledger/maintenance.js +25 -4
- package/dist/ledger/maintenance.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,100 +1,367 @@
|
|
|
1
|
+
import { readRunIntakeLink } from '../akinator/store.js';
|
|
1
2
|
import { KiokukoError } from '../errors.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { canonicalJson } from '../serialization/validate.js';
|
|
4
|
+
import { CONTEXT_RANKING_COMPONENTS_V2, CONTEXT_SELECTION_REASON_ORDER, } from './ranking.js';
|
|
5
|
+
import { entryOriginMatchesWorkspace, isContextEntryOrigin, } from './origin.js';
|
|
6
|
+
import { legacyScopedDeliveryId, readContextDelivery, } from './delivery.js';
|
|
7
|
+
export const LEGACY_SCOPED_POLICY_VERSIONS = ['context-ranking-v2', 'context-ranking-v3'];
|
|
8
|
+
export const MAX_DELIVERIES = 100_000;
|
|
9
|
+
export const MAX_FINDINGS = 100;
|
|
10
|
+
export const LEGACY_DELIVERY_INSPECTION_STAGES = [
|
|
11
|
+
'legacy-delivery-row',
|
|
12
|
+
'legacy-delivery-read',
|
|
13
|
+
'legacy-delivery-policy',
|
|
14
|
+
'legacy-delivery-identity',
|
|
15
|
+
'legacy-delivery-run-binding',
|
|
16
|
+
'legacy-delivery-profile-binding',
|
|
17
|
+
'legacy-delivery-entry-revision',
|
|
18
|
+
'legacy-delivery-entry-rank',
|
|
19
|
+
'legacy-delivery-entry-score',
|
|
20
|
+
'legacy-delivery-entry-reasons',
|
|
21
|
+
'legacy-delivery-entry-origin',
|
|
22
|
+
'legacy-delivery-character-range',
|
|
23
|
+
];
|
|
24
|
+
const MAX_IDENTIFIER_BYTES = 256;
|
|
25
|
+
const MAX_ITEMS = 100;
|
|
26
|
+
const MAX_SCORE_COMPONENT = 1_000_000;
|
|
27
|
+
const MAX_CHAR_BUDGET = 100_000;
|
|
28
|
+
const MAX_STORED_JSON_BYTES = 1_000_000;
|
|
29
|
+
function safeIdentifier(value) {
|
|
30
|
+
return typeof value === 'string'
|
|
31
|
+
&& value.length > 0
|
|
32
|
+
&& !/[\p{C}]/u.test(value)
|
|
33
|
+
&& Buffer.byteLength(value, 'utf8') <= MAX_IDENTIFIER_BYTES;
|
|
34
|
+
}
|
|
35
|
+
function safePolicyVersion(value) {
|
|
36
|
+
return safeIdentifier(value);
|
|
37
|
+
}
|
|
38
|
+
function safeDiagnosticString(value) {
|
|
39
|
+
return safeIdentifier(value) ? value : undefined;
|
|
40
|
+
}
|
|
41
|
+
function safeInteger(value, minimum = 0) {
|
|
42
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= minimum;
|
|
43
|
+
}
|
|
44
|
+
function safeHash(value) {
|
|
45
|
+
return typeof value === 'string' && /^[0-9a-f]{64}$/u.test(value);
|
|
46
|
+
}
|
|
47
|
+
function safeStoredJson(value) {
|
|
48
|
+
if (typeof value !== 'string' || Buffer.byteLength(value, 'utf8') > MAX_STORED_JSON_BYTES)
|
|
49
|
+
return undefined;
|
|
50
|
+
try {
|
|
51
|
+
const parsed = JSON.parse(value);
|
|
52
|
+
return canonicalJson(parsed) === value ? parsed : undefined;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function isPlainObject(value) {
|
|
59
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
60
|
+
return false;
|
|
61
|
+
const prototype = Object.getPrototypeOf(value);
|
|
62
|
+
return prototype === Object.prototype || prototype === null;
|
|
63
|
+
}
|
|
64
|
+
function validStoredScore(value) {
|
|
65
|
+
const parsed = safeStoredJson(value);
|
|
66
|
+
if (!isPlainObject(parsed))
|
|
67
|
+
return false;
|
|
68
|
+
const keys = Object.keys(parsed);
|
|
69
|
+
if (keys.length !== CONTEXT_RANKING_COMPONENTS_V2.length
|
|
70
|
+
|| CONTEXT_RANKING_COMPONENTS_V2.some((component) => !Object.hasOwn(parsed, component)))
|
|
71
|
+
return false;
|
|
72
|
+
return CONTEXT_RANKING_COMPONENTS_V2.every((component) => {
|
|
73
|
+
const score = parsed[component];
|
|
74
|
+
return typeof score === 'number'
|
|
75
|
+
&& Number.isSafeInteger(score)
|
|
76
|
+
&& Number.isFinite(score)
|
|
77
|
+
&& score >= -MAX_SCORE_COMPONENT
|
|
78
|
+
&& score <= MAX_SCORE_COMPONENT;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function validStoredReasons(value) {
|
|
82
|
+
const parsed = safeStoredJson(value);
|
|
83
|
+
if (!Array.isArray(parsed) || parsed.length === 0)
|
|
84
|
+
return false;
|
|
85
|
+
let previousIndex = -1;
|
|
86
|
+
for (const reason of parsed) {
|
|
87
|
+
if (typeof reason !== 'string')
|
|
88
|
+
return false;
|
|
89
|
+
const index = CONTEXT_SELECTION_REASON_ORDER.indexOf(reason);
|
|
90
|
+
if (index < 0 || index <= previousIndex)
|
|
91
|
+
return false;
|
|
92
|
+
previousIndex = index;
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
function migrationIntegrity(metadata, stage, causeCode = 'INTEGRITY_ERROR') {
|
|
97
|
+
const details = { stage, causeCode };
|
|
98
|
+
if (metadata.deliveryId !== undefined)
|
|
99
|
+
details.deliveryId = metadata.deliveryId;
|
|
100
|
+
if (metadata.runId !== undefined)
|
|
101
|
+
details.runId = metadata.runId;
|
|
102
|
+
if (metadata.policyVersion !== undefined)
|
|
103
|
+
details.policyVersion = metadata.policyVersion;
|
|
104
|
+
throw new KiokukoError('INTEGRITY_ERROR', 'Stored legacy context delivery is invalid', details);
|
|
105
|
+
}
|
|
106
|
+
function errorCode(error) {
|
|
107
|
+
if (!(error instanceof KiokukoError))
|
|
108
|
+
return 'INTEGRITY_ERROR';
|
|
109
|
+
return safeDiagnosticString(error.details.causeCode) ?? error.code;
|
|
110
|
+
}
|
|
111
|
+
function metadataFromRow(row) {
|
|
112
|
+
return {
|
|
113
|
+
...(safeDiagnosticString(row.delivery_id) === undefined ? {} : { deliveryId: row.delivery_id }),
|
|
114
|
+
...(safeDiagnosticString(row.run_id) === undefined ? {} : { runId: row.run_id }),
|
|
115
|
+
...(safePolicyVersion(row.policy_version) === undefined ? {} : { policyVersion: row.policy_version }),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function metadataFromHeader(header) {
|
|
119
|
+
return {
|
|
120
|
+
...(safeDiagnosticString(header.delivery_id) === undefined ? {} : { deliveryId: header.delivery_id }),
|
|
121
|
+
...(safeDiagnosticString(header.run_id) === undefined ? {} : { runId: header.run_id }),
|
|
122
|
+
...(safePolicyVersion(header.policy_version) === undefined ? {} : { policyVersion: header.policy_version }),
|
|
123
|
+
};
|
|
8
124
|
}
|
|
9
125
|
function deliveryRows(database) {
|
|
10
126
|
const placeholders = LEGACY_SCOPED_POLICY_VERSIONS.map(() => '?').join(', ');
|
|
11
127
|
const rows = database.prepare(`
|
|
12
|
-
SELECT cd.delivery_id,
|
|
128
|
+
SELECT cd.delivery_id, cd.run_id, cd.policy_version, cd.score_schema_version,
|
|
129
|
+
lr.workspace AS run_workspace
|
|
13
130
|
FROM context_deliveries AS cd
|
|
14
131
|
LEFT JOIN ledger_runs AS lr ON lr.run_id = cd.run_id
|
|
15
|
-
WHERE cd.
|
|
16
|
-
AND cd.policy_version IN (${placeholders})
|
|
132
|
+
WHERE cd.policy_version IN (${placeholders})
|
|
17
133
|
ORDER BY cd.delivery_id ASC
|
|
18
134
|
LIMIT ?
|
|
19
135
|
`).all(...LEGACY_SCOPED_POLICY_VERSIONS, MAX_DELIVERIES + 1);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
136
|
+
return {
|
|
137
|
+
rows: rows.slice(0, MAX_DELIVERIES),
|
|
138
|
+
scanTruncated: rows.length > MAX_DELIVERIES,
|
|
139
|
+
};
|
|
23
140
|
}
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
141
|
+
function selectLegacyDeliveryHeader(database, deliveryId) {
|
|
142
|
+
return database.prepare(`
|
|
143
|
+
SELECT cd.delivery_id, cd.run_id, cd.through_sequence, cd.intake_session_id,
|
|
144
|
+
cd.task_profile_hash, cd.query_hash, cd.policy_version,
|
|
145
|
+
cd.char_budget, cd.char_count, cd.truncated, cd.created_at,
|
|
146
|
+
cd.score_schema_version, lr.workspace AS run_workspace,
|
|
147
|
+
lr.last_sequence AS run_last_sequence
|
|
148
|
+
FROM context_deliveries AS cd
|
|
149
|
+
LEFT JOIN ledger_runs AS lr ON lr.run_id = cd.run_id
|
|
150
|
+
WHERE cd.delivery_id = ?
|
|
151
|
+
`).get(deliveryId);
|
|
152
|
+
}
|
|
153
|
+
function selectLegacyDeliveryEntries(database, deliveryId) {
|
|
154
|
+
return database.prepare(`
|
|
155
|
+
SELECT cde.delivery_id, cde.entry_id, cde.entry_revision, cde.rank,
|
|
156
|
+
cde.score_components_json, cde.selection_reason_json, cde.origin_scope,
|
|
157
|
+
e.workspace AS entry_workspace, r.entry_id AS revision_entry_id,
|
|
158
|
+
r.workspace AS revision_workspace
|
|
159
|
+
FROM context_delivery_entries AS cde
|
|
160
|
+
LEFT JOIN entry_revisions AS r
|
|
161
|
+
ON r.entry_id = cde.entry_id AND r.revision = cde.entry_revision
|
|
162
|
+
LEFT JOIN entries AS e ON e.id = cde.entry_id
|
|
163
|
+
WHERE cde.delivery_id = ?
|
|
164
|
+
ORDER BY cde.rank ASC, cde.entry_id ASC
|
|
165
|
+
`).all(deliveryId);
|
|
166
|
+
}
|
|
167
|
+
function headerStage(row, header) {
|
|
168
|
+
if (!safeIdentifier(header.delivery_id)
|
|
169
|
+
|| !safeIdentifier(header.run_id)
|
|
170
|
+
|| !safeIdentifier(header.run_workspace)
|
|
171
|
+
|| header.delivery_id !== row.delivery_id
|
|
172
|
+
|| header.run_id !== row.run_id
|
|
173
|
+
|| header.run_workspace !== row.run_workspace)
|
|
174
|
+
return 'legacy-delivery-run-binding';
|
|
175
|
+
if (!LEGACY_SCOPED_POLICY_VERSIONS.includes(header.policy_version)
|
|
176
|
+
|| header.score_schema_version !== 2)
|
|
177
|
+
return 'legacy-delivery-policy';
|
|
178
|
+
if (!safeInteger(header.run_last_sequence)
|
|
179
|
+
|| !safeInteger(header.through_sequence)
|
|
180
|
+
|| header.through_sequence > header.run_last_sequence)
|
|
181
|
+
return 'legacy-delivery-run-binding';
|
|
182
|
+
if (!safeHash(header.task_profile_hash) || !safeHash(header.query_hash))
|
|
183
|
+
return 'legacy-delivery-row';
|
|
184
|
+
if (header.intake_session_id !== null && !safeIdentifier(header.intake_session_id))
|
|
185
|
+
return 'legacy-delivery-profile-binding';
|
|
186
|
+
if (!safeInteger(header.char_budget, 1) || header.char_budget > MAX_CHAR_BUDGET
|
|
187
|
+
|| !safeInteger(header.char_count) || header.char_count > header.char_budget) {
|
|
188
|
+
return 'legacy-delivery-character-range';
|
|
189
|
+
}
|
|
190
|
+
if (header.truncated !== 0 && header.truncated !== 1)
|
|
191
|
+
return 'legacy-delivery-row';
|
|
192
|
+
if (typeof header.created_at !== 'string'
|
|
193
|
+
|| !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(header.created_at))
|
|
194
|
+
return 'legacy-delivery-row';
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
function legacyBindingIsValid(database, header) {
|
|
198
|
+
if (!safeIdentifier(header.run_id) || !safeIdentifier(header.run_workspace))
|
|
199
|
+
return false;
|
|
200
|
+
if (header.intake_session_id === null)
|
|
201
|
+
return true;
|
|
28
202
|
try {
|
|
29
|
-
|
|
203
|
+
const link = readRunIntakeLink(database, { workspace: header.run_workspace, runId: header.run_id });
|
|
204
|
+
return link.workspace === header.run_workspace && link.sessionId === header.intake_session_id;
|
|
30
205
|
}
|
|
31
206
|
catch {
|
|
32
|
-
|
|
207
|
+
return false;
|
|
33
208
|
}
|
|
34
209
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
migrationIntegrity();
|
|
39
|
-
try {
|
|
40
|
-
const revision = readEntryRevision(database, {
|
|
41
|
-
entryId: item.entryId,
|
|
42
|
-
workspace: entry.workspace,
|
|
43
|
-
revision: item.entryRevision,
|
|
44
|
-
});
|
|
45
|
-
if (revision.workspace !== entry.workspace || revision.revision !== item.entryRevision)
|
|
46
|
-
migrationIntegrity();
|
|
47
|
-
return { title: revision.title, summary: revision.summary, body: revision.body };
|
|
210
|
+
function entryStage(database, header) {
|
|
211
|
+
if (!safeIdentifier(header.run_workspace) || !safeIdentifier(header.delivery_id)) {
|
|
212
|
+
return 'legacy-delivery-run-binding';
|
|
48
213
|
}
|
|
49
|
-
|
|
50
|
-
|
|
214
|
+
const rows = selectLegacyDeliveryEntries(database, header.delivery_id);
|
|
215
|
+
if (rows.length > MAX_ITEMS)
|
|
216
|
+
return 'legacy-delivery-entry-rank';
|
|
217
|
+
// Migration 009 can remove an invalid entry and its delivery reference.
|
|
218
|
+
// Released deliveries may therefore retain gaps in their historical ranks.
|
|
219
|
+
const allowsRankGaps = LEGACY_SCOPED_POLICY_VERSIONS.includes(header.policy_version);
|
|
220
|
+
let previousRank = 0;
|
|
221
|
+
let expectedRank = 1;
|
|
222
|
+
for (const row of rows) {
|
|
223
|
+
if (row.delivery_id !== header.delivery_id
|
|
224
|
+
|| !safeIdentifier(row.entry_id)
|
|
225
|
+
|| row.revision_entry_id !== row.entry_id
|
|
226
|
+
|| !safeIdentifier(row.entry_workspace)
|
|
227
|
+
|| !safeIdentifier(row.revision_workspace)
|
|
228
|
+
|| !safeInteger(row.entry_revision, 1)
|
|
229
|
+
|| row.revision_workspace !== row.entry_workspace)
|
|
230
|
+
return 'legacy-delivery-entry-revision';
|
|
231
|
+
const origin = isContextEntryOrigin(row.origin_scope) ? row.origin_scope : undefined;
|
|
232
|
+
if (origin === undefined
|
|
233
|
+
|| !entryOriginMatchesWorkspace({
|
|
234
|
+
origin,
|
|
235
|
+
runWorkspace: header.run_workspace,
|
|
236
|
+
entryWorkspace: row.entry_workspace,
|
|
237
|
+
}))
|
|
238
|
+
return 'legacy-delivery-entry-origin';
|
|
239
|
+
if (!safeInteger(row.rank, 1)
|
|
240
|
+
|| (allowsRankGaps ? row.rank <= previousRank : row.rank !== expectedRank)) {
|
|
241
|
+
return 'legacy-delivery-entry-rank';
|
|
242
|
+
}
|
|
243
|
+
previousRank = row.rank;
|
|
244
|
+
expectedRank += 1;
|
|
245
|
+
if (!validStoredScore(row.score_components_json))
|
|
246
|
+
return 'legacy-delivery-entry-score';
|
|
247
|
+
if (!validStoredReasons(row.selection_reason_json))
|
|
248
|
+
return 'legacy-delivery-entry-reasons';
|
|
51
249
|
}
|
|
250
|
+
return undefined;
|
|
52
251
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
252
|
+
function diagnosticFailureStage(database, row, header) {
|
|
253
|
+
const rowMetadata = metadataFromRow(row);
|
|
254
|
+
if (rowMetadata.deliveryId === undefined)
|
|
255
|
+
return 'legacy-delivery-row';
|
|
256
|
+
if (!safeIdentifier(row.run_id) || !safeIdentifier(row.run_workspace))
|
|
257
|
+
return 'legacy-delivery-run-binding';
|
|
258
|
+
if (!LEGACY_SCOPED_POLICY_VERSIONS.includes(row.policy_version)
|
|
259
|
+
|| row.score_schema_version !== 2)
|
|
260
|
+
return 'legacy-delivery-policy';
|
|
261
|
+
if (header === undefined)
|
|
262
|
+
return 'legacy-delivery-read';
|
|
263
|
+
const headerFailure = headerStage(row, header);
|
|
264
|
+
if (headerFailure !== undefined)
|
|
265
|
+
return headerFailure;
|
|
266
|
+
if (!legacyBindingIsValid(database, header))
|
|
267
|
+
return 'legacy-delivery-profile-binding';
|
|
268
|
+
const entryFailure = entryStage(database, header);
|
|
269
|
+
if (entryFailure !== undefined)
|
|
270
|
+
return entryFailure;
|
|
271
|
+
if (!safeIdentifier(header.run_id) || !safeHash(header.query_hash)
|
|
272
|
+
|| header.delivery_id !== legacyScopedDeliveryId({ runId: header.run_id, queryHash: header.query_hash })) {
|
|
273
|
+
return 'legacy-delivery-identity';
|
|
57
274
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
83
|
-
charCount += bodyPreview.length;
|
|
84
|
-
remaining -= cost;
|
|
275
|
+
return 'legacy-delivery-read';
|
|
276
|
+
}
|
|
277
|
+
function readLegacyDelivery(database, row) {
|
|
278
|
+
const metadata = metadataFromRow(row);
|
|
279
|
+
if (metadata.deliveryId === undefined)
|
|
280
|
+
migrationIntegrity(metadata, 'legacy-delivery-row');
|
|
281
|
+
if (!safeIdentifier(row.run_workspace))
|
|
282
|
+
migrationIntegrity(metadata, 'legacy-delivery-run-binding');
|
|
283
|
+
const header = selectLegacyDeliveryHeader(database, metadata.deliveryId);
|
|
284
|
+
const preliminaryFailure = header === undefined ? 'legacy-delivery-read' : headerStage(row, header);
|
|
285
|
+
if (preliminaryFailure !== undefined)
|
|
286
|
+
migrationIntegrity(metadataFromHeader(header ?? row), preliminaryFailure);
|
|
287
|
+
if (header === undefined || !safeIdentifier(header.run_workspace))
|
|
288
|
+
migrationIntegrity(metadata, 'legacy-delivery-run-binding');
|
|
289
|
+
if (!legacyBindingIsValid(database, header))
|
|
290
|
+
migrationIntegrity(metadataFromHeader(header), 'legacy-delivery-profile-binding');
|
|
291
|
+
const entryFailure = entryStage(database, header);
|
|
292
|
+
if (entryFailure !== undefined)
|
|
293
|
+
migrationIntegrity(metadataFromHeader(header), entryFailure);
|
|
294
|
+
if (!safeIdentifier(header.run_id) || !safeHash(header.query_hash)
|
|
295
|
+
|| header.delivery_id !== legacyScopedDeliveryId({ runId: header.run_id, queryHash: header.query_hash })) {
|
|
296
|
+
migrationIntegrity(metadataFromHeader(header), 'legacy-delivery-identity');
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
return readContextDelivery(database, { workspace: header.run_workspace, deliveryId: metadata.deliveryId });
|
|
85
300
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
301
|
+
catch (error) {
|
|
302
|
+
if (!(error instanceof KiokukoError))
|
|
303
|
+
throw error;
|
|
304
|
+
migrationIntegrity(metadataFromHeader(header), diagnosticFailureStage(database, row, header), errorCode(error));
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/** Validate one released v2/v3 delivery using persisted structure only. */
|
|
308
|
+
export function inspectLegacyContextDelivery(database, row) {
|
|
309
|
+
const delivery = readLegacyDelivery(database, row);
|
|
310
|
+
if (!LEGACY_SCOPED_POLICY_VERSIONS.includes(delivery.policyVersion)
|
|
311
|
+
|| delivery.scoreSchemaVersion !== 2) {
|
|
312
|
+
migrationIntegrity(metadataFromRow(row), 'legacy-delivery-policy');
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
deliveryId: delivery.deliveryId,
|
|
316
|
+
runId: delivery.runId,
|
|
317
|
+
policyVersion: delivery.policyVersion,
|
|
318
|
+
};
|
|
89
319
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
320
|
+
/** Inspect all released v2/v3 deliveries without stopping at the first finding. */
|
|
321
|
+
export function inspectLegacyContextDeliveries(database) {
|
|
322
|
+
const loaded = deliveryRows(database);
|
|
323
|
+
let valid = 0;
|
|
324
|
+
let invalid = 0;
|
|
325
|
+
const findings = [];
|
|
326
|
+
for (const row of loaded.rows) {
|
|
327
|
+
try {
|
|
328
|
+
inspectLegacyContextDelivery(database, row);
|
|
329
|
+
valid += 1;
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
if (!(error instanceof KiokukoError))
|
|
333
|
+
throw error;
|
|
334
|
+
invalid += 1;
|
|
335
|
+
const stage = LEGACY_DELIVERY_INSPECTION_STAGES.includes(error.details.stage)
|
|
336
|
+
? error.details.stage
|
|
337
|
+
: 'legacy-delivery-read';
|
|
338
|
+
const metadata = metadataFromRow(row);
|
|
339
|
+
if (findings.length < MAX_FINDINGS) {
|
|
340
|
+
findings.push({
|
|
341
|
+
deliveryId: metadata.deliveryId ?? '<invalid>',
|
|
342
|
+
...(metadata.runId === undefined ? {} : { runId: metadata.runId }),
|
|
343
|
+
...(metadata.policyVersion === undefined ? {} : { policyVersion: metadata.policyVersion }),
|
|
344
|
+
stage,
|
|
345
|
+
code: errorCode(error),
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return {
|
|
351
|
+
scanned: loaded.rows.length,
|
|
352
|
+
valid,
|
|
353
|
+
invalid,
|
|
354
|
+
findings,
|
|
355
|
+
scanTruncated: loaded.scanTruncated,
|
|
356
|
+
findingsTruncated: invalid > findings.length,
|
|
357
|
+
};
|
|
93
358
|
}
|
|
94
359
|
/** Validate released scoped delivery formats inside the caller-owned migration transaction. */
|
|
95
360
|
export function migrateLegacyContextDeliveries(database) {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
361
|
+
const loaded = deliveryRows(database);
|
|
362
|
+
if (loaded.scanTruncated)
|
|
363
|
+
migrationIntegrity({}, 'legacy-delivery-row');
|
|
364
|
+
for (const row of loaded.rows)
|
|
365
|
+
inspectLegacyContextDelivery(database, row);
|
|
99
366
|
}
|
|
100
367
|
//# sourceMappingURL=delivery-migration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-migration.js","sourceRoot":"","sources":["../../src/context/delivery-migration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-migration.js","sourceRoot":"","sources":["../../src/context/delivery-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export interface ContextDeliveryPage {
|
|
|
53
53
|
nextCursor: string | null;
|
|
54
54
|
}
|
|
55
55
|
export declare function scopedDeliveryId(input: ContextDeliveryInput): string;
|
|
56
|
+
export declare function legacyScopedDeliveryId(input: Pick<ContextDeliveryInput, 'runId' | 'queryHash'>): string;
|
|
56
57
|
export declare function recordContextDeliveryInTransaction(database: SqliteDatabase, input: unknown, options?: ContextDeliveryWriteOptions): ContextDeliveryView;
|
|
57
58
|
export declare function recordContextDelivery(database: SqliteDatabase, input: unknown, options?: ContextDeliveryWriteOptions): ContextDeliveryView;
|
|
58
59
|
export declare function readContextDelivery(database: SqliteDatabase, input: unknown): ContextDeliveryView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/context/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAqD,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/context/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAqD,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2BzG,MAAM,MAAM,8BAA8B,GAAG;KAAG,SAAS,IAAI,uBAAuB,GAAG,MAAM;CAAE,CAAC;AAChG,MAAM,MAAM,gCAAgC,GAAG;KAAG,SAAS,IAAI,yBAAyB,GAAG,MAAM;CAAE,CAAC;AACpG,MAAM,MAAM,iCAAiC,GAAG,8BAA8B,GAAG,gCAAgC,CAAC;AAElH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,iCAAiC,CAAC;IACnD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAC9E,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,2GAA2G;IAC3G,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAudD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAwBpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,CAEvG;AAqSD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,2BAAgC,GACxC,mBAAmB,CAQrB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,2BAAgC,GACxC,mBAAmB,CAQrB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAOjG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,mBAAmB,CA8CnG"}
|
package/dist/context/delivery.js
CHANGED
|
@@ -8,6 +8,7 @@ import { isRetrievableEntry } from '../memory/hybrid-retrieval.js';
|
|
|
8
8
|
import { entryOriginMatchesWorkspace, isContextEntryOrigin } from './origin.js';
|
|
9
9
|
import { RUN_STATUSES } from '../ledger/types.js';
|
|
10
10
|
import { RECOMMENDATION_POLICY_VERSION } from './recommendations.js';
|
|
11
|
+
import { readRunIntakeLink } from '../akinator/store.js';
|
|
11
12
|
import { readContextRunProfileBinding } from './run-state.js';
|
|
12
13
|
const MAX_IDENTIFIER_BYTES = 256;
|
|
13
14
|
const MAX_ITEMS = 100;
|
|
@@ -494,7 +495,7 @@ export function scopedDeliveryId(input) {
|
|
|
494
495
|
})),
|
|
495
496
|
})}`;
|
|
496
497
|
}
|
|
497
|
-
function legacyScopedDeliveryId(input) {
|
|
498
|
+
export function legacyScopedDeliveryId(input) {
|
|
498
499
|
return `context-${canonicalContentHash({ runId: input.runId, queryHash: input.queryHash })}`;
|
|
499
500
|
}
|
|
500
501
|
function storedScopedDeliveryIdentityMatches(input) {
|
|
@@ -671,7 +672,11 @@ function validateStoredEntries(database, header) {
|
|
|
671
672
|
const rows = selectDeliveryEntries(database, header.deliveryId);
|
|
672
673
|
if (rows.length > MAX_ITEMS)
|
|
673
674
|
integrity();
|
|
675
|
+
// Migration 009 may remove an invalid entry from a released delivery,
|
|
676
|
+
// leaving a historical rank gap. New writes still require contiguous ranks.
|
|
677
|
+
const allowsRankGaps = LEGACY_SCOPED_DELIVERY_POLICY_VERSIONS.has(header.policyVersion);
|
|
674
678
|
const entryIds = new Set();
|
|
679
|
+
let previousRank = 0;
|
|
675
680
|
let expectedRank = 1;
|
|
676
681
|
return rows.map((row) => {
|
|
677
682
|
const deliveryId = boundedStoredIdentifier(row.delivery_id);
|
|
@@ -688,8 +693,9 @@ function validateStoredEntries(database, header) {
|
|
|
688
693
|
if (revisionWorkspace !== entryWorkspace)
|
|
689
694
|
integrity();
|
|
690
695
|
const rank = storedPositiveSafeInteger(row.rank);
|
|
691
|
-
if (rank !== expectedRank)
|
|
696
|
+
if (allowsRankGaps ? rank <= previousRank : rank !== expectedRank)
|
|
692
697
|
integrity();
|
|
698
|
+
previousRank = rank;
|
|
693
699
|
expectedRank += 1;
|
|
694
700
|
const scoreValue = validateStoredJson(row.score_components_json);
|
|
695
701
|
const reasonValue = validateStoredJson(row.selection_reason_json);
|
|
@@ -715,6 +721,28 @@ function assertStoredProfileBinding(database, header) {
|
|
|
715
721
|
|| header.taskProfileHash !== binding.profileHash)
|
|
716
722
|
integrity();
|
|
717
723
|
}
|
|
724
|
+
function assertLegacyStoredIntakeBinding(database, header) {
|
|
725
|
+
if (header.intakeSessionId === null)
|
|
726
|
+
return;
|
|
727
|
+
let link;
|
|
728
|
+
try {
|
|
729
|
+
link = readRunIntakeLink(database, { workspace: header.workspace, runId: header.runId });
|
|
730
|
+
}
|
|
731
|
+
catch (error) {
|
|
732
|
+
if (isKiokukoError(error) && (error.code === 'NOT_FOUND' || error.code === 'INTEGRITY_ERROR'))
|
|
733
|
+
integrity();
|
|
734
|
+
throw error;
|
|
735
|
+
}
|
|
736
|
+
if (link.workspace !== header.workspace || link.sessionId !== header.intakeSessionId)
|
|
737
|
+
integrity();
|
|
738
|
+
}
|
|
739
|
+
function assertStoredDeliveryBinding(database, header) {
|
|
740
|
+
if (LEGACY_SCOPED_DELIVERY_POLICY_VERSIONS.has(header.policyVersion)) {
|
|
741
|
+
assertLegacyStoredIntakeBinding(database, header);
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
assertStoredProfileBinding(database, header);
|
|
745
|
+
}
|
|
718
746
|
function readStoredDelivery(database, workspace, deliveryId) {
|
|
719
747
|
const row = selectHeaderByDeliveryId(database, deliveryId);
|
|
720
748
|
if (!row)
|
|
@@ -724,7 +752,7 @@ function readStoredDelivery(database, workspace, deliveryId) {
|
|
|
724
752
|
if (row.run_workspace !== workspace)
|
|
725
753
|
notFound();
|
|
726
754
|
const header = validateStoredHeader(row, workspace);
|
|
727
|
-
|
|
755
|
+
assertStoredDeliveryBinding(database, header);
|
|
728
756
|
const items = validateStoredEntries(database, header);
|
|
729
757
|
const complete = { ...header, items };
|
|
730
758
|
if ((header.scoreSchemaVersion ?? 1) === 2 && !storedScopedDeliveryIdentityMatches(complete))
|
|
@@ -828,7 +856,7 @@ export function listContextDeliveries(database, input) {
|
|
|
828
856
|
const pageRows = rows.slice(0, validated.limit);
|
|
829
857
|
const items = pageRows.map((row) => {
|
|
830
858
|
const header = validateStoredHeader(row, validated.workspace);
|
|
831
|
-
|
|
859
|
+
assertStoredDeliveryBinding(database, header);
|
|
832
860
|
const storedItems = validateStoredEntries(database, header);
|
|
833
861
|
const complete = { ...header, items: storedItems };
|
|
834
862
|
if ((header.scoreSchemaVersion ?? 1) === 2 && !storedScopedDeliveryIdentityMatches(complete))
|