@askdkc/kiokuko 0.1.29 → 0.1.30
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 +333 -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 +26 -3
- 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,360 @@
|
|
|
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
|
+
let expectedRank = 1;
|
|
218
|
+
for (const row of rows) {
|
|
219
|
+
if (row.delivery_id !== header.delivery_id
|
|
220
|
+
|| !safeIdentifier(row.entry_id)
|
|
221
|
+
|| row.revision_entry_id !== row.entry_id
|
|
222
|
+
|| !safeIdentifier(row.entry_workspace)
|
|
223
|
+
|| !safeIdentifier(row.revision_workspace)
|
|
224
|
+
|| !safeInteger(row.entry_revision, 1)
|
|
225
|
+
|| row.revision_workspace !== row.entry_workspace)
|
|
226
|
+
return 'legacy-delivery-entry-revision';
|
|
227
|
+
const origin = isContextEntryOrigin(row.origin_scope) ? row.origin_scope : undefined;
|
|
228
|
+
if (origin === undefined
|
|
229
|
+
|| !entryOriginMatchesWorkspace({
|
|
230
|
+
origin,
|
|
231
|
+
runWorkspace: header.run_workspace,
|
|
232
|
+
entryWorkspace: row.entry_workspace,
|
|
233
|
+
}))
|
|
234
|
+
return 'legacy-delivery-entry-origin';
|
|
235
|
+
if (row.rank !== expectedRank || !safeInteger(row.rank, 1))
|
|
236
|
+
return 'legacy-delivery-entry-rank';
|
|
237
|
+
expectedRank += 1;
|
|
238
|
+
if (!validStoredScore(row.score_components_json))
|
|
239
|
+
return 'legacy-delivery-entry-score';
|
|
240
|
+
if (!validStoredReasons(row.selection_reason_json))
|
|
241
|
+
return 'legacy-delivery-entry-reasons';
|
|
51
242
|
}
|
|
243
|
+
return undefined;
|
|
52
244
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
245
|
+
function diagnosticFailureStage(database, row, header) {
|
|
246
|
+
const rowMetadata = metadataFromRow(row);
|
|
247
|
+
if (rowMetadata.deliveryId === undefined)
|
|
248
|
+
return 'legacy-delivery-row';
|
|
249
|
+
if (!safeIdentifier(row.run_id) || !safeIdentifier(row.run_workspace))
|
|
250
|
+
return 'legacy-delivery-run-binding';
|
|
251
|
+
if (!LEGACY_SCOPED_POLICY_VERSIONS.includes(row.policy_version)
|
|
252
|
+
|| row.score_schema_version !== 2)
|
|
253
|
+
return 'legacy-delivery-policy';
|
|
254
|
+
if (header === undefined)
|
|
255
|
+
return 'legacy-delivery-read';
|
|
256
|
+
const headerFailure = headerStage(row, header);
|
|
257
|
+
if (headerFailure !== undefined)
|
|
258
|
+
return headerFailure;
|
|
259
|
+
if (!legacyBindingIsValid(database, header))
|
|
260
|
+
return 'legacy-delivery-profile-binding';
|
|
261
|
+
const entryFailure = entryStage(database, header);
|
|
262
|
+
if (entryFailure !== undefined)
|
|
263
|
+
return entryFailure;
|
|
264
|
+
if (!safeIdentifier(header.run_id) || !safeHash(header.query_hash)
|
|
265
|
+
|| header.delivery_id !== legacyScopedDeliveryId({ runId: header.run_id, queryHash: header.query_hash })) {
|
|
266
|
+
return 'legacy-delivery-identity';
|
|
57
267
|
}
|
|
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;
|
|
268
|
+
return 'legacy-delivery-read';
|
|
269
|
+
}
|
|
270
|
+
function readLegacyDelivery(database, row) {
|
|
271
|
+
const metadata = metadataFromRow(row);
|
|
272
|
+
if (metadata.deliveryId === undefined)
|
|
273
|
+
migrationIntegrity(metadata, 'legacy-delivery-row');
|
|
274
|
+
if (!safeIdentifier(row.run_workspace))
|
|
275
|
+
migrationIntegrity(metadata, 'legacy-delivery-run-binding');
|
|
276
|
+
const header = selectLegacyDeliveryHeader(database, metadata.deliveryId);
|
|
277
|
+
const preliminaryFailure = header === undefined ? 'legacy-delivery-read' : headerStage(row, header);
|
|
278
|
+
if (preliminaryFailure !== undefined)
|
|
279
|
+
migrationIntegrity(metadataFromHeader(header ?? row), preliminaryFailure);
|
|
280
|
+
if (header === undefined || !safeIdentifier(header.run_workspace))
|
|
281
|
+
migrationIntegrity(metadata, 'legacy-delivery-run-binding');
|
|
282
|
+
if (!legacyBindingIsValid(database, header))
|
|
283
|
+
migrationIntegrity(metadataFromHeader(header), 'legacy-delivery-profile-binding');
|
|
284
|
+
const entryFailure = entryStage(database, header);
|
|
285
|
+
if (entryFailure !== undefined)
|
|
286
|
+
migrationIntegrity(metadataFromHeader(header), entryFailure);
|
|
287
|
+
if (!safeIdentifier(header.run_id) || !safeHash(header.query_hash)
|
|
288
|
+
|| header.delivery_id !== legacyScopedDeliveryId({ runId: header.run_id, queryHash: header.query_hash })) {
|
|
289
|
+
migrationIntegrity(metadataFromHeader(header), 'legacy-delivery-identity');
|
|
290
|
+
}
|
|
291
|
+
try {
|
|
292
|
+
return readContextDelivery(database, { workspace: header.run_workspace, deliveryId: metadata.deliveryId });
|
|
85
293
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (!(error instanceof KiokukoError))
|
|
296
|
+
throw error;
|
|
297
|
+
migrationIntegrity(metadataFromHeader(header), diagnosticFailureStage(database, row, header), errorCode(error));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/** Validate one released v2/v3 delivery using persisted structure only. */
|
|
301
|
+
export function inspectLegacyContextDelivery(database, row) {
|
|
302
|
+
const delivery = readLegacyDelivery(database, row);
|
|
303
|
+
if (!LEGACY_SCOPED_POLICY_VERSIONS.includes(delivery.policyVersion)
|
|
304
|
+
|| delivery.scoreSchemaVersion !== 2) {
|
|
305
|
+
migrationIntegrity(metadataFromRow(row), 'legacy-delivery-policy');
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
deliveryId: delivery.deliveryId,
|
|
309
|
+
runId: delivery.runId,
|
|
310
|
+
policyVersion: delivery.policyVersion,
|
|
311
|
+
};
|
|
89
312
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
313
|
+
/** Inspect all released v2/v3 deliveries without stopping at the first finding. */
|
|
314
|
+
export function inspectLegacyContextDeliveries(database) {
|
|
315
|
+
const loaded = deliveryRows(database);
|
|
316
|
+
let valid = 0;
|
|
317
|
+
let invalid = 0;
|
|
318
|
+
const findings = [];
|
|
319
|
+
for (const row of loaded.rows) {
|
|
320
|
+
try {
|
|
321
|
+
inspectLegacyContextDelivery(database, row);
|
|
322
|
+
valid += 1;
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
if (!(error instanceof KiokukoError))
|
|
326
|
+
throw error;
|
|
327
|
+
invalid += 1;
|
|
328
|
+
const stage = LEGACY_DELIVERY_INSPECTION_STAGES.includes(error.details.stage)
|
|
329
|
+
? error.details.stage
|
|
330
|
+
: 'legacy-delivery-read';
|
|
331
|
+
const metadata = metadataFromRow(row);
|
|
332
|
+
if (findings.length < MAX_FINDINGS) {
|
|
333
|
+
findings.push({
|
|
334
|
+
deliveryId: metadata.deliveryId ?? '<invalid>',
|
|
335
|
+
...(metadata.runId === undefined ? {} : { runId: metadata.runId }),
|
|
336
|
+
...(metadata.policyVersion === undefined ? {} : { policyVersion: metadata.policyVersion }),
|
|
337
|
+
stage,
|
|
338
|
+
code: errorCode(error),
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return {
|
|
344
|
+
scanned: loaded.rows.length,
|
|
345
|
+
valid,
|
|
346
|
+
invalid,
|
|
347
|
+
findings,
|
|
348
|
+
scanTruncated: loaded.scanTruncated,
|
|
349
|
+
findingsTruncated: invalid > findings.length,
|
|
350
|
+
};
|
|
93
351
|
}
|
|
94
352
|
/** Validate released scoped delivery formats inside the caller-owned migration transaction. */
|
|
95
353
|
export function migrateLegacyContextDeliveries(database) {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
354
|
+
const loaded = deliveryRows(database);
|
|
355
|
+
if (loaded.scanTruncated)
|
|
356
|
+
migrationIntegrity({}, 'legacy-delivery-row');
|
|
357
|
+
for (const row of loaded.rows)
|
|
358
|
+
inspectLegacyContextDelivery(database, row);
|
|
99
359
|
}
|
|
100
360
|
//# 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":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAU,CAAC;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,qBAAqB;IACrB,sBAAsB;IACtB,wBAAwB;IACxB,0BAA0B;IAC1B,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC;IAChC,4BAA4B;IAC5B,6BAA6B;IAC7B,+BAA+B;IAC/B,8BAA8B;IAC9B,iCAAiC;CACzB,CAAC;AA4EX,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAExC,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,CAAC,MAAM,GAAG,CAAC;WAChB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;WACvB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,oBAAoB,CAAC;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,OAAO,GAAG,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC;AACtF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,qBAAqB;QAAE,OAAO,SAAS,CAAC;IAC5G,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,6BAA6B,CAAC,MAAM;WACnD,6BAA6B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxG,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,OAAO,KAAK,KAAK,QAAQ;eAC3B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;eAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;eACtB,KAAK,IAAI,CAAC,mBAAmB;eAC7B,KAAK,IAAI,mBAAmB,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,KAAK,GAAG,8BAA8B,CAAC,OAAO,CAAC,MAAyD,CAAC,CAAC;QAChH,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,aAAa;YAAE,OAAO,KAAK,CAAC;QACtD,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgC,EAChC,KAAoC,EACpC,SAAS,GAAG,iBAAiB;IAE7B,MAAM,OAAO,GAA4B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9D,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChF,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjE,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACzF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,EAAE,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC/D,OAAO,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,GAAsB;IAC7C,OAAO;QACL,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,WAAqB,EAAE,CAAC;QACzG,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAgB,EAAE,CAAC;QAC1F,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,cAAwB,EAAE,CAAC;KAChH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B;IACzD,OAAO;QACL,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,WAAqB,EAAE,CAAC;QAC/G,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAgB,EAAE,CAAC;QAChG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,cAAwB,EAAE,CAAC;KACtH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,QAAwB;IAC5C,MAAM,YAAY,GAAG,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;mCAKG,YAAY;;;GAG5C,CAAC,CAAC,GAAG,CAAoB,GAAG,6BAA6B,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;QACnC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,cAAc;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAwB,EAAE,UAAkB;IAC9E,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;GASvB,CAAC,CAAC,GAAG,CAA0B,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAwB,EAAE,UAAkB;IAC/E,OAAO,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;GAWvB,CAAC,CAAC,GAAG,CAAyB,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAClB,GAAsB,EACtB,MAA+B;IAE/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;WAClC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;WAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;WACrC,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW;WACtC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;WAC5B,MAAM,CAAC,aAAa,KAAK,GAAG,CAAC,aAAa;QAAE,OAAO,6BAA6B,CAAC;IACtF,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAgE,CAAC;WAC/G,MAAM,CAAC,oBAAoB,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACxE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;WACrC,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;WACrC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,iBAAiB;QAAE,OAAO,6BAA6B,CAAC;IAC9F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACtG,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,iCAAiC,CAAC;IAC7H,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,eAAe;WAC1E,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/E,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACnF,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;WACpC,CAAC,gDAAgD,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAC7G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAwB,EAAE,MAA+B;IACrF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1F,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,iBAAiB,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,QAAwB,EACxB,MAA+B;IAE/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACjF,OAAO,6BAA6B,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,4BAA4B,CAAC;IACjE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;eACrC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;eAC7B,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,QAAQ;eACtC,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC;eACpC,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;eACvC,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;eACnC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC,eAAe;YAAE,OAAO,gCAAgC,CAAC;QAC7F,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,IAAI,MAAM,KAAK,SAAS;eACnB,CAAC,2BAA2B,CAAC;gBAC9B,MAAM;gBACN,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,cAAc,EAAE,GAAG,CAAC,eAAe;aACpC,CAAC;YAAE,OAAO,8BAA8B,CAAC;QAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,4BAA4B,CAAC;QAChG,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAAE,OAAO,6BAA6B,CAAC;QACvF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAAE,OAAO,+BAA+B,CAAC;IAC7F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAwB,EACxB,GAAsB,EACtB,MAA2C;IAE3C,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACvE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAC5G,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAgE,CAAC;WAC5G,GAAG,CAAC,oBAAoB,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACtD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAE,OAAO,iCAAiC,CAAC;IACtF,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IACpD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;WAC7D,MAAM,CAAC,WAAW,KAAK,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3G,OAAO,0BAA0B,CAAC;IACpC,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB,EAAE,GAAsB;IAC1E,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;QAAE,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC3F,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,kBAAkB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpG,IAAI,kBAAkB,KAAK,SAAS;QAAE,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,IAAI,GAA8B,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC3I,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,kBAAkB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IAC/H,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAE,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAC/H,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS;QAAE,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7F,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;WAC7D,MAAM,CAAC,WAAW,KAAK,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAC3G,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;YAAE,MAAM,KAAK,CAAC;QAClD,kBAAkB,CAChB,kBAAkB,CAAC,MAAM,CAAC,EAC1B,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,EAC7C,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,4BAA4B,CAC1C,QAAwB,EACxB,GAAsB;IAEtB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAA+D,CAAC;WAChH,QAAQ,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;QACvC,kBAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACrE,CAAC;IACD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,aAAa,EAAE,QAAQ,CAAC,aAA+D;KACxF,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,8BAA8B,CAAC,QAAwB;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;gBAAE,MAAM,KAAK,CAAC;YAClD,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,iCAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAsC,CAAC;gBAC5G,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAsC;gBACtD,CAAC,CAAC,sBAAsB,CAAC;YAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,WAAW;oBAC9C,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAClE,GAAG,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC1F,KAAK;oBACL,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC3B,KAAK;QACL,OAAO;QACP,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM;KAC7C,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,8BAA8B,CAAC,QAAwB;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,aAAa;QAAE,kBAAkB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACxE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;QAAE,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -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;AAgSD,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) {
|
|
@@ -715,6 +716,28 @@ function assertStoredProfileBinding(database, header) {
|
|
|
715
716
|
|| header.taskProfileHash !== binding.profileHash)
|
|
716
717
|
integrity();
|
|
717
718
|
}
|
|
719
|
+
function assertLegacyStoredIntakeBinding(database, header) {
|
|
720
|
+
if (header.intakeSessionId === null)
|
|
721
|
+
return;
|
|
722
|
+
let link;
|
|
723
|
+
try {
|
|
724
|
+
link = readRunIntakeLink(database, { workspace: header.workspace, runId: header.runId });
|
|
725
|
+
}
|
|
726
|
+
catch (error) {
|
|
727
|
+
if (isKiokukoError(error) && (error.code === 'NOT_FOUND' || error.code === 'INTEGRITY_ERROR'))
|
|
728
|
+
integrity();
|
|
729
|
+
throw error;
|
|
730
|
+
}
|
|
731
|
+
if (link.workspace !== header.workspace || link.sessionId !== header.intakeSessionId)
|
|
732
|
+
integrity();
|
|
733
|
+
}
|
|
734
|
+
function assertStoredDeliveryBinding(database, header) {
|
|
735
|
+
if (LEGACY_SCOPED_DELIVERY_POLICY_VERSIONS.has(header.policyVersion)) {
|
|
736
|
+
assertLegacyStoredIntakeBinding(database, header);
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
assertStoredProfileBinding(database, header);
|
|
740
|
+
}
|
|
718
741
|
function readStoredDelivery(database, workspace, deliveryId) {
|
|
719
742
|
const row = selectHeaderByDeliveryId(database, deliveryId);
|
|
720
743
|
if (!row)
|
|
@@ -724,7 +747,7 @@ function readStoredDelivery(database, workspace, deliveryId) {
|
|
|
724
747
|
if (row.run_workspace !== workspace)
|
|
725
748
|
notFound();
|
|
726
749
|
const header = validateStoredHeader(row, workspace);
|
|
727
|
-
|
|
750
|
+
assertStoredDeliveryBinding(database, header);
|
|
728
751
|
const items = validateStoredEntries(database, header);
|
|
729
752
|
const complete = { ...header, items };
|
|
730
753
|
if ((header.scoreSchemaVersion ?? 1) === 2 && !storedScopedDeliveryIdentityMatches(complete))
|
|
@@ -828,7 +851,7 @@ export function listContextDeliveries(database, input) {
|
|
|
828
851
|
const pageRows = rows.slice(0, validated.limit);
|
|
829
852
|
const items = pageRows.map((row) => {
|
|
830
853
|
const header = validateStoredHeader(row, validated.workspace);
|
|
831
|
-
|
|
854
|
+
assertStoredDeliveryBinding(database, header);
|
|
832
855
|
const storedItems = validateStoredEntries(database, header);
|
|
833
856
|
const complete = { ...header, items: storedItems };
|
|
834
857
|
if ((header.scoreSchemaVersion ?? 1) === 2 && !storedScopedDeliveryIdentityMatches(complete))
|