@happyvertical/smrt-ingestion 0.57.24 → 0.57.26
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/PROPOSALS.md +22 -1
- package/dist/chunks/{proposal-contracts-77Uo1B1j.js → proposal-contracts-CqVVPvqq.js} +6 -5
- package/dist/chunks/proposal-contracts-CqVVPvqq.js.map +1 -0
- package/dist/extraction.d.ts +7 -0
- package/dist/extraction.d.ts.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/models.js +1 -1
- package/dist/models.js.map +1 -1
- package/dist/proposal-dto.d.ts +13 -0
- package/dist/proposal-dto.d.ts.map +1 -1
- package/dist/proposal-validation.d.ts +15 -1
- package/dist/proposal-validation.d.ts.map +1 -1
- package/dist/proposals.d.ts.map +1 -1
- package/dist/proposals.js +59 -8
- package/dist/proposals.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/smrt-knowledge.json +8 -8
- package/package.json +13 -13
- package/dist/chunks/proposal-contracts-77Uo1B1j.js.map +0 -1
package/dist/proposal-dto.d.ts
CHANGED
|
@@ -111,6 +111,19 @@ export interface GenerationOutput {
|
|
|
111
111
|
usage?: Record<string, number>;
|
|
112
112
|
};
|
|
113
113
|
usage: Record<string, number>;
|
|
114
|
+
/**
|
|
115
|
+
* Repeated `alternatives`/`missingFields` entries dropped from the
|
|
116
|
+
* generator output before validation (#4286); absent when none were.
|
|
117
|
+
*/
|
|
118
|
+
duplicatesRemoved?: number;
|
|
119
|
+
/**
|
|
120
|
+
* Split proposals dropped because they failed a fixed check, named here
|
|
121
|
+
* (#4288); never page numbers or evidence ids. Absent when none were.
|
|
122
|
+
*/
|
|
123
|
+
splitsDropped?: {
|
|
124
|
+
count: number;
|
|
125
|
+
checks: string[];
|
|
126
|
+
};
|
|
114
127
|
/**
|
|
115
128
|
* Bounded, value-free reason for a failed stage, next to its warning
|
|
116
129
|
* category: JSON paths, schema keywords and constants, never document text.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-dto.d.ts","sourceRoot":"","sources":["../src/proposal-dto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proposal-dto.d.ts","sourceRoot":"","sources":["../src/proposal-dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -210,5 +210,19 @@ export declare function suggestionSchema(limits: GenerationLimits): {
|
|
|
210
210
|
};
|
|
211
211
|
};
|
|
212
212
|
};
|
|
213
|
-
|
|
213
|
+
/**
|
|
214
|
+
* Drop repeated `alternatives` and `missingFields` entries (by canonical JSON,
|
|
215
|
+
* keeping the first) from fresh generator output before validation (#4286).
|
|
216
|
+
* The provider grammar no longer carries `uniqueItems` (#4260), so a model can
|
|
217
|
+
* repeat an entry; the validator still enforces `uniqueItems` on the result.
|
|
218
|
+
* Only these two suggestion-level lists are touched; anything malformed or
|
|
219
|
+
* non-JSON is left for the validator to reject. The input is not mutated.
|
|
220
|
+
*/
|
|
221
|
+
export declare function dedupeGeneratedLists(raw: unknown): {
|
|
222
|
+
output: unknown;
|
|
223
|
+
removed: number;
|
|
224
|
+
};
|
|
225
|
+
export declare function validateSuggestions(raw: unknown, offered: GenerationOutput['offered'], extraction: ExtractionResult[], limits: GenerationLimits, revision: number): Pick<GenerationOutput, 'outcome' | 'suggestions' | 'splits'> & {
|
|
226
|
+
splitsDropped?: NonNullable<GenerationOutput['provenance']['splitsDropped']>;
|
|
227
|
+
};
|
|
214
228
|
//# sourceMappingURL=proposal-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-validation.d.ts","sourceRoot":"","sources":["../src/proposal-validation.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAO7C;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,CAgDR;AACD;;;GAGG;AACH,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAG9C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,EACxC,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,OAAO,EAClB,KAAK,SAAK,EACV,QAAQ,SAA8B,GACrC,MAAM,CAkDR;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAInD;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,MAAM,CAItD;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehE;AAwCD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFxD;AACD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACpC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"proposal-validation.d.ts","sourceRoot":"","sources":["../src/proposal-validation.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAO7C;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,CAgDR;AACD;;;GAGG;AACH,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAG9C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,EACxC,MAAM,EAAE,OAAO,EACf,QAAQ,CAAC,EAAE,OAAO,EAClB,KAAK,SAAK,EACV,QAAQ,SAA8B,GACrC,MAAM,CAkDR;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAInD;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,MAAM,CAItD;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehE;AAwCD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFxD;AACD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAsCA;AACD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACpC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG;IAChE,aAAa,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;CAC9E,CAgJA"}
|
package/dist/proposals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../src/proposals.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAY5D,OAAO,EAGL,sBAAsB,EACtB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAEhB,gBAAgB,EAEhB,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../src/proposals.ts"],"names":[],"mappings":"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"}
|
package/dist/proposals.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as require_ajv, d as GenerationSnapshotStaleError, g as generationSnapshotRead, h as discoveryTransaction, i as intakeBindingDigest, n as IntakeExecutionService, p as HandlerArgumentsInvalidError, y as __toESM } from "./chunks/execution-BzVQax0n.js";
|
|
2
2
|
import { a as providerIdentity } from "./chunks/extraction-providers-C66ADDVe.js";
|
|
3
|
-
import {
|
|
3
|
+
import { n as assertProposalLimits, o as proposeDocumentSplits, r as SplitGroupError, t as proposalReadConfiguration } from "./chunks/proposal-contracts-CqVVPvqq.js";
|
|
4
4
|
import { i as reviewerInstructionView } from "./chunks/reviewer-instruction-CEc3AOuU.js";
|
|
5
5
|
import { n as IntakeFeedbackService, t as FeedbackRetrievalDeniedError } from "./chunks/feedback-D3UTF8fm.js";
|
|
6
6
|
import { executeDecision, isEmbeddedDatabase, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
|
|
@@ -274,6 +274,42 @@ function suggestionSchema(limits) {
|
|
|
274
274
|
}
|
|
275
275
|
};
|
|
276
276
|
}
|
|
277
|
+
function dedupeGeneratedLists(raw) {
|
|
278
|
+
const suggestions = raw?.suggestions;
|
|
279
|
+
if (!raw || typeof raw !== "object" || !Array.isArray(suggestions)) return {
|
|
280
|
+
output: raw,
|
|
281
|
+
removed: 0
|
|
282
|
+
};
|
|
283
|
+
let removed = 0;
|
|
284
|
+
const unique = (list) => {
|
|
285
|
+
const seen = /* @__PURE__ */ new Set();
|
|
286
|
+
const kept = list.filter((item) => {
|
|
287
|
+
let key;
|
|
288
|
+
try {
|
|
289
|
+
key = intakeBindingDigest(item);
|
|
290
|
+
} catch {
|
|
291
|
+
return true;
|
|
292
|
+
}
|
|
293
|
+
if (seen.has(key)) return false;
|
|
294
|
+
seen.add(key);
|
|
295
|
+
return true;
|
|
296
|
+
});
|
|
297
|
+
removed += list.length - kept.length;
|
|
298
|
+
return kept;
|
|
299
|
+
};
|
|
300
|
+
return {
|
|
301
|
+
output: {
|
|
302
|
+
...raw,
|
|
303
|
+
suggestions: suggestions.map((suggestion) => {
|
|
304
|
+
if (!suggestion || typeof suggestion !== "object" || Array.isArray(suggestion)) return suggestion;
|
|
305
|
+
const entry = { ...suggestion };
|
|
306
|
+
for (const field of ["alternatives", "missingFields"]) if (Array.isArray(entry[field])) entry[field] = unique(entry[field]);
|
|
307
|
+
return entry;
|
|
308
|
+
})
|
|
309
|
+
},
|
|
310
|
+
removed
|
|
311
|
+
};
|
|
312
|
+
}
|
|
277
313
|
function validateSuggestions(raw, offered, extraction, limits, revision) {
|
|
278
314
|
const ajv = new import_ajv.default({
|
|
279
315
|
strict: true,
|
|
@@ -307,26 +343,33 @@ function validateSuggestions(raw, offered, extraction, limits, revision) {
|
|
|
307
343
|
};
|
|
308
344
|
});
|
|
309
345
|
const seen = /* @__PURE__ */ new Set();
|
|
310
|
-
|
|
346
|
+
let dropped = 0;
|
|
347
|
+
const splits = input.splits.flatMap((split, index) => {
|
|
311
348
|
const source = extraction.find((entry) => entry.evidence.id === split.evidenceId);
|
|
312
349
|
if (!source || seen.has(split.evidenceId)) throw new ProposalValidationError("Invalid split source", `/splits/${index}`);
|
|
313
350
|
seen.add(split.evidenceId);
|
|
314
351
|
let result;
|
|
315
352
|
try {
|
|
316
353
|
result = proposeDocumentSplits(source, revision, split.groups);
|
|
317
|
-
} catch {
|
|
318
|
-
throw new ProposalValidationError("Invalid split
|
|
354
|
+
} catch (error) {
|
|
355
|
+
if (!(error instanceof SplitGroupError)) throw new ProposalValidationError("Invalid split", `/splits/${index}`);
|
|
356
|
+
dropped++;
|
|
357
|
+
return [];
|
|
319
358
|
}
|
|
320
|
-
return {
|
|
359
|
+
return [{
|
|
321
360
|
evidenceId: split.evidenceId,
|
|
322
361
|
groups: structuredClone(split.groups),
|
|
323
362
|
digest: result.digest
|
|
324
|
-
};
|
|
363
|
+
}];
|
|
325
364
|
});
|
|
326
365
|
return {
|
|
327
366
|
outcome: input.outcome,
|
|
328
367
|
suggestions,
|
|
329
|
-
splits
|
|
368
|
+
splits,
|
|
369
|
+
...dropped ? { splitsDropped: {
|
|
370
|
+
count: dropped,
|
|
371
|
+
checks: ["split_groups"]
|
|
372
|
+
} } : {}
|
|
330
373
|
};
|
|
331
374
|
}
|
|
332
375
|
function assertEvidenceReference(reference, extraction, path) {
|
|
@@ -1280,7 +1323,11 @@ var IngestionProposalService = class {
|
|
|
1280
1323
|
if (!["complete", "unknown"].includes(generated.completion)) throw new StageFailure("malformed_output", "Generator declared no validated completion");
|
|
1281
1324
|
if (generated.completion === "unknown") output.warnings.push("generation_completion_unknown");
|
|
1282
1325
|
if (bytes(generated.output) > maxBytes) throw new StageFailure("limit");
|
|
1283
|
-
|
|
1326
|
+
const deduped = dedupeGeneratedLists(generated.output);
|
|
1327
|
+
const { splitsDropped, ...validated } = validateSuggestions(deduped.output, output.offered, extraction, this.config.limits, generation.revision);
|
|
1328
|
+
Object.assign(output, validated);
|
|
1329
|
+
if (deduped.removed) output.provenance.duplicatesRemoved = deduped.removed;
|
|
1330
|
+
if (splitsDropped) output.provenance.splitsDropped = splitsDropped;
|
|
1284
1331
|
if (humanCorrection) {
|
|
1285
1332
|
const correction = record(humanCorrection);
|
|
1286
1333
|
if (correction.kind !== "logical_split" || !output.splits.some((split) => split.evidenceId === correction.evidenceId && intakeBindingDigest(split.groups) === intakeBindingDigest(correction.groups))) {
|
|
@@ -1310,6 +1357,8 @@ var IngestionProposalService = class {
|
|
|
1310
1357
|
output.outcome = "provider_error";
|
|
1311
1358
|
output.suggestions = [];
|
|
1312
1359
|
output.splits = [];
|
|
1360
|
+
delete output.provenance.duplicatesRemoved;
|
|
1361
|
+
delete output.provenance.splitsDropped;
|
|
1313
1362
|
output.warnings.push(failure);
|
|
1314
1363
|
}
|
|
1315
1364
|
if (bytes(publication()) > maxBytes) {
|
|
@@ -1320,6 +1369,8 @@ var IngestionProposalService = class {
|
|
|
1320
1369
|
output.splits = [];
|
|
1321
1370
|
output.offered = [];
|
|
1322
1371
|
delete output.provenance.failure;
|
|
1372
|
+
delete output.provenance.duplicatesRemoved;
|
|
1373
|
+
delete output.provenance.splitsDropped;
|
|
1323
1374
|
output.warnings.push("output_limit");
|
|
1324
1375
|
if (bytes(publication()) > maxBytes) return this.service.failAnalysis(lease, "limit");
|
|
1325
1376
|
}
|