@happyvertical/smrt-ingestion 0.57.36 → 0.57.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-sdk.d.ts","sourceRoot":"","sources":["../src/proposal-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAuBzD,CAAC;AAgCH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsEtD;AAiDD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpE;AA2KD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EACjC,kBAAkB,EAAE,gBAAgB,EACpC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C,iBAAiB,CAwFnB;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,iBAAiB,GAAG,QAAQ,CAAC,GACtD,cAAc,CAYhB"}
1
+ {"version":3,"file":"proposal-sdk.d.ts","sourceRoot":"","sources":["../src/proposal-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AA+BjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAuBzD,CAAC;AAgCH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsEtD;AAiDD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpE;AA2KD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EACjC,kBAAkB,EAAE,gBAAgB,EACpC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C,iBAAiB,CAyFnB;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,iBAAiB,GAAG,QAAQ,CAAC,GACtD,cAAc,CAYhB"}
@@ -247,11 +247,12 @@ export declare function boundGeneratedExplanations(raw: unknown): {
247
247
  truncated: number;
248
248
  };
249
249
  /**
250
- * Drop repeated `alternatives` and `missingFields` entries (by canonical JSON,
251
- * keeping the first) from fresh generator output before validation (#4286).
250
+ * Drop repeated `alternatives` and `missingFields` entries, and repeated whole
251
+ * suggestions (same handlerId, handlerVersion and args; #4450), by canonical JSON,
252
+ * keeping the first, from fresh generator output before validation (#4286).
252
253
  * The provider grammar no longer carries `uniqueItems` (#4260), so a model can
253
254
  * repeat an entry; the validator still enforces `uniqueItems` on the result.
254
- * Only these two suggestion-level lists are touched; anything malformed or
255
+ * Nothing else is touched; anything malformed or
255
256
  * non-JSON is left for the validator to reject. The input is not mutated.
256
257
  */
257
258
  export declare function dedupeGeneratedLists(raw: unknown): {
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-validation.d.ts","sourceRoot":"","sources":["../src/proposal-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal-validation.d.ts","sourceRoot":"","sources":["../src/proposal-validation.ts"],"names":[],"mappings":"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"}
package/dist/proposals.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { A as __toESM, D as generationSnapshotRead, E as discoveryTransaction, S as prepareFailureCapture, T as completeWithFailureCapture, _ as HandlerArgumentsInvalidError, b as FAILURE_CAPTURE_MAX_BYTES, d as schemaOwnedPath, f as require_ajv, h as GenerationSnapshotStaleError, i as intakeBindingDigest, n as IntakeExecutionService, u as describeArgumentRefusal, w as analysisLeaseRemaining, x as assertFailureCapture, y as FAILURE_CAPTURE_DEFAULT_MAX_BYTES } from "./chunks/execution-DKWz2cz0.js";
2
- import { c as storableJSONText, o as providerIdentity, s as normalizeObservedImageRegions } from "./chunks/extraction-providers-GOoo2Vfj.js";
3
- import { n as assertProposalLimits, o as proposeDocumentSplits, r as SplitGroupError, t as proposalReadConfiguration } from "./chunks/proposal-contracts-ClAXdqDF.js";
2
+ import { c as storableJSONText, o as providerIdentity, s as normalizeObservedImageRegions } from "./chunks/extraction-providers-DoD7M-Lm.js";
3
+ import { n as assertProposalLimits, o as proposeDocumentSplits, r as SplitGroupError, t as proposalReadConfiguration } from "./chunks/proposal-contracts-CPH3ckgH.js";
4
4
  import { i as reviewerInstructionView } from "./chunks/reviewer-instruction-Deoe4NPv.js";
5
5
  import { n as IntakeFeedbackService, t as FeedbackRetrievalDeniedError } from "./chunks/feedback-DHcSKgVU.js";
6
6
  import { executeDecision, isEmbeddedDatabase, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
@@ -370,30 +370,51 @@ function dedupeGeneratedLists(raw) {
370
370
  };
371
371
  let removed = 0;
372
372
  const unique = (list) => {
373
- const seen = /* @__PURE__ */ new Set();
374
- const kept = list.filter((item) => {
373
+ const seen2 = /* @__PURE__ */ new Set();
374
+ const kept2 = list.filter((item) => {
375
375
  let key;
376
376
  try {
377
377
  key = intakeBindingDigest(item);
378
378
  } catch {
379
379
  return true;
380
380
  }
381
- if (seen.has(key)) return false;
382
- seen.add(key);
381
+ if (seen2.has(key)) return false;
382
+ seen2.add(key);
383
383
  return true;
384
384
  });
385
- removed += list.length - kept.length;
386
- return kept;
385
+ removed += list.length - kept2.length;
386
+ return kept2;
387
387
  };
388
+ const cleaned = suggestions.map((suggestion) => {
389
+ if (!suggestion || typeof suggestion !== "object" || Array.isArray(suggestion)) return suggestion;
390
+ const entry = { ...suggestion };
391
+ for (const field of ["alternatives", "missingFields"]) if (Array.isArray(entry[field])) entry[field] = unique(entry[field]);
392
+ return entry;
393
+ });
394
+ const seen = /* @__PURE__ */ new Set();
395
+ const kept = cleaned.filter((suggestion) => {
396
+ if (!suggestion || typeof suggestion !== "object" || Array.isArray(suggestion)) return true;
397
+ const { handlerId, handlerVersion, args } = suggestion;
398
+ if (typeof handlerId !== "string" || typeof handlerVersion !== "string" || !args || typeof args !== "object" || Array.isArray(args)) return true;
399
+ let key;
400
+ try {
401
+ key = intakeBindingDigest([
402
+ handlerId,
403
+ handlerVersion,
404
+ args
405
+ ]);
406
+ } catch {
407
+ return true;
408
+ }
409
+ if (seen.has(key)) return false;
410
+ seen.add(key);
411
+ return true;
412
+ });
413
+ removed += cleaned.length - kept.length;
388
414
  return {
389
415
  output: {
390
416
  ...raw,
391
- suggestions: suggestions.map((suggestion) => {
392
- if (!suggestion || typeof suggestion !== "object" || Array.isArray(suggestion)) return suggestion;
393
- const entry = { ...suggestion };
394
- for (const field of ["alternatives", "missingFields"]) if (Array.isArray(entry[field])) entry[field] = unique(entry[field]);
395
- return entry;
396
- })
417
+ suggestions: kept
397
418
  },
398
419
  removed
399
420
  };
@@ -1122,7 +1143,7 @@ function createSDKProposalGenerator(client, configuredIdentity, limits) {
1122
1143
  }
1123
1144
  return {
1124
1145
  output,
1125
- completion: "unknown",
1146
+ completion: "complete",
1126
1147
  usage: safeUsage(response.usage),
1127
1148
  ...response.model && response.model !== identity.model ? { responseModel: response.model } : {}
1128
1149
  };