@claritylabs/cl-sdk 3.0.18 → 3.0.19

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/index.js CHANGED
@@ -11308,11 +11308,49 @@ ${span.text}` : span.text;
11308
11308
  }
11309
11309
  }
11310
11310
  if (sourceSpans.length > 0) {
11311
+ const pageCount2 = Math.max(
11312
+ 1,
11313
+ ...sourceSpans.map((span) => span.pageEnd ?? span.pageStart ?? span.location?.endPage ?? span.location?.page ?? 1)
11314
+ );
11315
+ let formInventory2 = options?.formInventory;
11316
+ if (!formInventory2) {
11317
+ onProgress?.("Building form inventory from source spans...");
11318
+ const budget = resolveBudget("extraction_form_inventory", 2048);
11319
+ const startedAt = Date.now();
11320
+ const templateHints2 = buildTemplateHints("other", "policy", pageCount2, getTemplate("other"));
11321
+ const sourceText = formatSourceSpanText(sourceSpans);
11322
+ const prompt = `${buildFormInventoryPrompt(templateHints2)}
11323
+
11324
+ SOURCE SPAN DOCUMENT TEXT:
11325
+ ${sourceText}`;
11326
+ const response = await safeGenerateObject(
11327
+ generateObject,
11328
+ {
11329
+ prompt,
11330
+ schema: FormInventorySchema,
11331
+ maxTokens: budget.maxTokens,
11332
+ taskKind: "extraction_form_inventory",
11333
+ budgetDiagnostics: budget
11334
+ },
11335
+ {
11336
+ fallback: { forms: [] },
11337
+ log,
11338
+ onError: (err, attempt) => log?.(`Form inventory attempt ${attempt + 1} failed: ${err instanceof Error ? err.message : String(err)}`)
11339
+ }
11340
+ );
11341
+ trackUsage(response.usage, {
11342
+ taskKind: "extraction_form_inventory",
11343
+ label: "form_inventory",
11344
+ maxTokens: budget.maxTokens,
11345
+ durationMs: Date.now() - startedAt
11346
+ });
11347
+ formInventory2 = response.object;
11348
+ }
11311
11349
  onProgress?.("Building source-native document tree...");
11312
11350
  const v3 = await runSourceTreeExtraction({
11313
11351
  id,
11314
11352
  sourceSpans,
11315
- formInventory: options?.formInventory,
11353
+ formInventory: formInventory2,
11316
11354
  generateObject,
11317
11355
  providerOptions: activeProviderOptions,
11318
11356
  resolveBudget,