@claritylabs/cl-sdk 3.1.17 → 3.1.18

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,2 +1,2 @@
1
- export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, aq as ContextProposalResult, au as CreateApplicationRunInput, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bp as ReplyIntent, bq as ReplyIntentSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, b_ as validateApplicationPacket } from './index-CTxWtbqE.mjs';
1
+ export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, aq as ContextProposalResult, au as CreateApplicationRunInput, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bp as ReplyIntent, bq as ReplyIntentSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, b_ as validateApplicationPacket } from './index-q8LQXen9.mjs';
2
2
  import 'zod';
@@ -1,2 +1,2 @@
1
- export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, aq as ContextProposalResult, au as CreateApplicationRunInput, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bp as ReplyIntent, bq as ReplyIntentSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, b_ as validateApplicationPacket } from './index-CTxWtbqE.js';
1
+ export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, aq as ContextProposalResult, au as CreateApplicationRunInput, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bp as ReplyIntent, bq as ReplyIntentSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, b_ as validateApplicationPacket } from './index-q8LQXen9.js';
2
2
  import 'zod';
@@ -71,6 +71,8 @@ interface ModelCallTrace {
71
71
  batchCount?: number;
72
72
  phase?: string;
73
73
  sourceBacked?: boolean;
74
+ coverageGroup?: string;
75
+ itemCount?: number;
74
76
  }
75
77
  /** Callback to generate text from a prompt. Provider-agnostic. */
76
78
  type GenerateText = (params: {
@@ -71,6 +71,8 @@ interface ModelCallTrace {
71
71
  batchCount?: number;
72
72
  phase?: string;
73
73
  sourceBacked?: boolean;
74
+ coverageGroup?: string;
75
+ itemCount?: number;
74
76
  }
75
77
  /** Callback to generate text from a prompt. Provider-agnostic. */
76
78
  type GenerateText = (params: {
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LogFn, M as ModelTaskKind, a as ModelBudgetResolution, b as ModelCallTrace, G as GenerateObject, T as TokenUsage, S as SourceSpanLocation, c as SourceSpan, D as DocumentSourceNode, d as SourceKind, e as SourceSpanUnit, f as SourceSpanTableLocation, g as SourceChunk, h as SourceSpanBBox, U as UnifiedQualityReport, B as BaseQualityIssue, Q as QualityGateStatus, I as InsuranceDocument, P as PdfInput, i as DocumentChunk, j as PolicyOperationalProfile, k as PerformanceReport, l as GenerateText, C as ConvertPdfToImagesFn, m as QualityGateMode, n as ModelCapabilities, o as ModelBudgetConstraint, A as AgentContext, p as DocumentStore, q as MemoryStore, r as Platform } from './index-CTxWtbqE.mjs';
2
- export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ai as AuxiliaryFact, aj as AuxiliaryFactSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, an as ChunkFilter, ao as CommunicationIntent, ap as CommunicationIntentSchema, aq as ContextProposalResult, ar as ConversationTurn, as as CoveredReason, at as CoveredReasonSchema, au as CreateApplicationRunInput, av as Definition, aw as DefinitionSchema, ax as DocumentAgentGuidance, ay as DocumentAgentGuidanceSchema, az as DocumentFilters, aA as DocumentMetadata, aB as DocumentMetadataSchema, aC as DocumentNode, aD as DocumentNodeSchema, aE as DocumentPageMapEntry, aF as DocumentPageMapEntrySchema, aG as DocumentSourceNodeKind, aH as DocumentSourceNodeKindSchema, aI as DocumentSourceNodeSchema, aJ as DocumentTableOfContentsEntry, aK as DocumentTableOfContentsEntrySchema, aL as EmbedText, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aS as InsuranceDocumentSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, aZ as ModelCallReport, a_ as OperationalCoverageLine, a$ as OperationalCoverageLineSchema, b0 as OperationalCoverageTerm, b1 as OperationalCoverageTermSchema, b2 as OperationalEndorsementSupport, b3 as OperationalEndorsementSupportSchema, b4 as OperationalParty, b5 as OperationalPartySchema, b6 as PLATFORM_CONFIGS, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, b9 as PlatformConfig, ba as PlatformSchema, bb as PolicyDocument, bc as PolicyDocumentSchema, bd as PolicyOperationalProfileSchema, be as PremiumLine, bf as PremiumLineSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bn as QuoteDocument, bo as QuoteDocumentSchema, bp as ReplyIntent, bq as ReplyIntentSchema, br as ResolveModelBudgetParams, bs as Section, bt as SectionSchema, bu as SourceBackedValue, bv as SourceBackedValueSchema, bw as SourceChunkSchema, bx as SourceKindSchema, by as SourceSpanBBoxSchema, bz as SourceSpanKind, bA as SourceSpanKindSchema, bB as SourceSpanLocationSchema, bC as SourceSpanRef, bD as SourceSpanRefSchema, bE as SourceSpanSchema, bF as SourceSpanTableLocationSchema, bG as SourceSpanUnitSchema, bH as Subjectivity, bI as SubjectivitySchema, bJ as Subsection, bK as SubsectionSchema, bL as UnderwritingCondition, bM as UnderwritingConditionSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, bZ as resolveModelBudget, b_ as validateApplicationPacket } from './index-CTxWtbqE.mjs';
1
+ import { L as LogFn, M as ModelTaskKind, a as ModelBudgetResolution, b as ModelCallTrace, G as GenerateObject, T as TokenUsage, S as SourceSpanLocation, c as SourceSpan, D as DocumentSourceNode, d as SourceKind, e as SourceSpanUnit, f as SourceSpanTableLocation, g as SourceChunk, h as SourceSpanBBox, U as UnifiedQualityReport, B as BaseQualityIssue, Q as QualityGateStatus, I as InsuranceDocument, P as PdfInput, i as DocumentChunk, j as PolicyOperationalProfile, k as PerformanceReport, l as GenerateText, C as ConvertPdfToImagesFn, m as QualityGateMode, n as ModelCapabilities, o as ModelBudgetConstraint, A as AgentContext, p as DocumentStore, q as MemoryStore, r as Platform } from './index-q8LQXen9.mjs';
2
+ export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ai as AuxiliaryFact, aj as AuxiliaryFactSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, an as ChunkFilter, ao as CommunicationIntent, ap as CommunicationIntentSchema, aq as ContextProposalResult, ar as ConversationTurn, as as CoveredReason, at as CoveredReasonSchema, au as CreateApplicationRunInput, av as Definition, aw as DefinitionSchema, ax as DocumentAgentGuidance, ay as DocumentAgentGuidanceSchema, az as DocumentFilters, aA as DocumentMetadata, aB as DocumentMetadataSchema, aC as DocumentNode, aD as DocumentNodeSchema, aE as DocumentPageMapEntry, aF as DocumentPageMapEntrySchema, aG as DocumentSourceNodeKind, aH as DocumentSourceNodeKindSchema, aI as DocumentSourceNodeSchema, aJ as DocumentTableOfContentsEntry, aK as DocumentTableOfContentsEntrySchema, aL as EmbedText, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aS as InsuranceDocumentSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, aZ as ModelCallReport, a_ as OperationalCoverageLine, a$ as OperationalCoverageLineSchema, b0 as OperationalCoverageTerm, b1 as OperationalCoverageTermSchema, b2 as OperationalEndorsementSupport, b3 as OperationalEndorsementSupportSchema, b4 as OperationalParty, b5 as OperationalPartySchema, b6 as PLATFORM_CONFIGS, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, b9 as PlatformConfig, ba as PlatformSchema, bb as PolicyDocument, bc as PolicyDocumentSchema, bd as PolicyOperationalProfileSchema, be as PremiumLine, bf as PremiumLineSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bn as QuoteDocument, bo as QuoteDocumentSchema, bp as ReplyIntent, bq as ReplyIntentSchema, br as ResolveModelBudgetParams, bs as Section, bt as SectionSchema, bu as SourceBackedValue, bv as SourceBackedValueSchema, bw as SourceChunkSchema, bx as SourceKindSchema, by as SourceSpanBBoxSchema, bz as SourceSpanKind, bA as SourceSpanKindSchema, bB as SourceSpanLocationSchema, bC as SourceSpanRef, bD as SourceSpanRefSchema, bE as SourceSpanSchema, bF as SourceSpanTableLocationSchema, bG as SourceSpanUnitSchema, bH as Subjectivity, bI as SubjectivitySchema, bJ as Subsection, bK as SubsectionSchema, bL as UnderwritingCondition, bM as UnderwritingConditionSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, bZ as resolveModelBudget, b_ as validateApplicationPacket } from './index-q8LQXen9.mjs';
3
3
  import * as zod from 'zod';
4
4
  import { ZodTypeAny, z, ZodSchema } from 'zod';
5
5
  import { PDFDocument } from 'pdf-lib';
@@ -8734,6 +8734,7 @@ interface ExtractorConfig {
8734
8734
  sourceStore?: SourceStore;
8735
8735
  qualityGate?: QualityGateMode;
8736
8736
  modelCapabilities?: ModelCapabilities;
8737
+ modelCapabilitiesByTaskKind?: Partial<Record<ModelTaskKind, ModelCapabilities>>;
8737
8738
  modelBudgetConstraints?: Partial<Record<ModelTaskKind, ModelBudgetConstraint>>;
8738
8739
  /** Optional checkpoint persistence callback. */
8739
8740
  onCheckpointSave?: (checkpoint: PipelineCheckpoint<ExtractionState>) => Promise<void>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LogFn, M as ModelTaskKind, a as ModelBudgetResolution, b as ModelCallTrace, G as GenerateObject, T as TokenUsage, S as SourceSpanLocation, c as SourceSpan, D as DocumentSourceNode, d as SourceKind, e as SourceSpanUnit, f as SourceSpanTableLocation, g as SourceChunk, h as SourceSpanBBox, U as UnifiedQualityReport, B as BaseQualityIssue, Q as QualityGateStatus, I as InsuranceDocument, P as PdfInput, i as DocumentChunk, j as PolicyOperationalProfile, k as PerformanceReport, l as GenerateText, C as ConvertPdfToImagesFn, m as QualityGateMode, n as ModelCapabilities, o as ModelBudgetConstraint, A as AgentContext, p as DocumentStore, q as MemoryStore, r as Platform } from './index-CTxWtbqE.js';
2
- export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ai as AuxiliaryFact, aj as AuxiliaryFactSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, an as ChunkFilter, ao as CommunicationIntent, ap as CommunicationIntentSchema, aq as ContextProposalResult, ar as ConversationTurn, as as CoveredReason, at as CoveredReasonSchema, au as CreateApplicationRunInput, av as Definition, aw as DefinitionSchema, ax as DocumentAgentGuidance, ay as DocumentAgentGuidanceSchema, az as DocumentFilters, aA as DocumentMetadata, aB as DocumentMetadataSchema, aC as DocumentNode, aD as DocumentNodeSchema, aE as DocumentPageMapEntry, aF as DocumentPageMapEntrySchema, aG as DocumentSourceNodeKind, aH as DocumentSourceNodeKindSchema, aI as DocumentSourceNodeSchema, aJ as DocumentTableOfContentsEntry, aK as DocumentTableOfContentsEntrySchema, aL as EmbedText, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aS as InsuranceDocumentSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, aZ as ModelCallReport, a_ as OperationalCoverageLine, a$ as OperationalCoverageLineSchema, b0 as OperationalCoverageTerm, b1 as OperationalCoverageTermSchema, b2 as OperationalEndorsementSupport, b3 as OperationalEndorsementSupportSchema, b4 as OperationalParty, b5 as OperationalPartySchema, b6 as PLATFORM_CONFIGS, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, b9 as PlatformConfig, ba as PlatformSchema, bb as PolicyDocument, bc as PolicyDocumentSchema, bd as PolicyOperationalProfileSchema, be as PremiumLine, bf as PremiumLineSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bn as QuoteDocument, bo as QuoteDocumentSchema, bp as ReplyIntent, bq as ReplyIntentSchema, br as ResolveModelBudgetParams, bs as Section, bt as SectionSchema, bu as SourceBackedValue, bv as SourceBackedValueSchema, bw as SourceChunkSchema, bx as SourceKindSchema, by as SourceSpanBBoxSchema, bz as SourceSpanKind, bA as SourceSpanKindSchema, bB as SourceSpanLocationSchema, bC as SourceSpanRef, bD as SourceSpanRefSchema, bE as SourceSpanSchema, bF as SourceSpanTableLocationSchema, bG as SourceSpanUnitSchema, bH as Subjectivity, bI as SubjectivitySchema, bJ as Subsection, bK as SubsectionSchema, bL as UnderwritingCondition, bM as UnderwritingConditionSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, bZ as resolveModelBudget, b_ as validateApplicationPacket } from './index-CTxWtbqE.js';
1
+ import { L as LogFn, M as ModelTaskKind, a as ModelBudgetResolution, b as ModelCallTrace, G as GenerateObject, T as TokenUsage, S as SourceSpanLocation, c as SourceSpan, D as DocumentSourceNode, d as SourceKind, e as SourceSpanUnit, f as SourceSpanTableLocation, g as SourceChunk, h as SourceSpanBBox, U as UnifiedQualityReport, B as BaseQualityIssue, Q as QualityGateStatus, I as InsuranceDocument, P as PdfInput, i as DocumentChunk, j as PolicyOperationalProfile, k as PerformanceReport, l as GenerateText, C as ConvertPdfToImagesFn, m as QualityGateMode, n as ModelCapabilities, o as ModelBudgetConstraint, A as AgentContext, p as DocumentStore, q as MemoryStore, r as Platform } from './index-q8LQXen9.js';
2
+ export { s as AcroFormMapping, t as AcroFormMappingSchema, u as AnswerParsingResult, v as AnswerParsingResultSchema, w as ApplicationClassifyResult, x as ApplicationClassifyResultSchema, y as ApplicationContextProposal, z as ApplicationContextProposalSchema, E as ApplicationEmailReviewSchema, F as ApplicationField, H as ApplicationFieldSchema, J as ApplicationListFilters, K as ApplicationNextQuestions, N as ApplicationPacket, O as ApplicationPacketAnswer, R as ApplicationPacketAnswerSchema, V as ApplicationPacketSchema, W as ApplicationPipelineConfig, X as ApplicationQualityArtifactSchema, Y as ApplicationQualityIssueSchema, Z as ApplicationQualityReportSchema, _ as ApplicationQualityRoundSchema, $ as ApplicationQuestionCondition, a0 as ApplicationQuestionConditionSchema, a1 as ApplicationQuestionGraph, a2 as ApplicationQuestionGraphSchema, a3 as ApplicationQuestionNode, a4 as ApplicationQuestionNodeSchema, a5 as ApplicationRepeat, a6 as ApplicationRepeatSchema, a7 as ApplicationState, a8 as ApplicationStateSchema, a9 as ApplicationStore, aa as ApplicationTemplate, ab as ApplicationTemplateListFilters, ac as ApplicationTemplateSchema, ad as ApplicationTemplateStore, ae as AutoFillMatch, af as AutoFillMatchSchema, ag as AutoFillResult, ah as AutoFillResultSchema, ai as AuxiliaryFact, aj as AuxiliaryFactSchema, ak as BackfillProvider, al as BuildApplicationPacketInput, am as BuildApplicationPacketResult, an as ChunkFilter, ao as CommunicationIntent, ap as CommunicationIntentSchema, aq as ContextProposalResult, ar as ConversationTurn, as as CoveredReason, at as CoveredReasonSchema, au as CreateApplicationRunInput, av as Definition, aw as DefinitionSchema, ax as DocumentAgentGuidance, ay as DocumentAgentGuidanceSchema, az as DocumentFilters, aA as DocumentMetadata, aB as DocumentMetadataSchema, aC as DocumentNode, aD as DocumentNodeSchema, aE as DocumentPageMapEntry, aF as DocumentPageMapEntrySchema, aG as DocumentSourceNodeKind, aH as DocumentSourceNodeKindSchema, aI as DocumentSourceNodeSchema, aJ as DocumentTableOfContentsEntry, aK as DocumentTableOfContentsEntrySchema, aL as EmbedText, aM as FieldExtractionResult, aN as FieldExtractionResultSchema, aO as FieldType, aP as FieldTypeSchema, aQ as FlatPdfPlacement, aR as FlatPdfPlacementSchema, aS as InsuranceDocumentSchema, aT as LookupFill, aU as LookupFillResult, aV as LookupFillResultSchema, aW as LookupFillSchema, aX as LookupRequest, aY as LookupRequestSchema, aZ as ModelCallReport, a_ as OperationalCoverageLine, a$ as OperationalCoverageLineSchema, b0 as OperationalCoverageTerm, b1 as OperationalCoverageTermSchema, b2 as OperationalEndorsementSupport, b3 as OperationalEndorsementSupportSchema, b4 as OperationalParty, b5 as OperationalPartySchema, b6 as PLATFORM_CONFIGS, b7 as ParsedAnswer, b8 as ParsedAnswerSchema, b9 as PlatformConfig, ba as PlatformSchema, bb as PolicyDocument, bc as PolicyDocumentSchema, bd as PolicyOperationalProfileSchema, be as PremiumLine, bf as PremiumLineSchema, bg as PriorAnswer, bh as ProcessApplicationInput, bi as ProcessApplicationResult, bj as ProcessReplyInput, bk as ProcessReplyResult, bl as QuestionBatchResult, bm as QuestionBatchResultSchema, bn as QuoteDocument, bo as QuoteDocumentSchema, bp as ReplyIntent, bq as ReplyIntentSchema, br as ResolveModelBudgetParams, bs as Section, bt as SectionSchema, bu as SourceBackedValue, bv as SourceBackedValueSchema, bw as SourceChunkSchema, bx as SourceKindSchema, by as SourceSpanBBoxSchema, bz as SourceSpanKind, bA as SourceSpanKindSchema, bB as SourceSpanLocationSchema, bC as SourceSpanRef, bD as SourceSpanRefSchema, bE as SourceSpanSchema, bF as SourceSpanTableLocationSchema, bG as SourceSpanUnitSchema, bH as Subjectivity, bI as SubjectivitySchema, bJ as Subsection, bK as SubsectionSchema, bL as UnderwritingCondition, bM as UnderwritingConditionSchema, bN as applyApplicationAnswers, bO as buildApplicationPacket, bP as buildQuestionGraphFromFields, bQ as createApplicationPipeline, bR as createApplicationRun, bS as extractQuestionGraphFromFields, bT as flattenQuestionGraph, bU as getActiveApplicationFields, bV as getNextApplicationQuestions, bW as normalizeApplicationQuestionGraph, bX as planNextApplicationQuestions, bY as proposeContextWrites, bZ as resolveModelBudget, b_ as validateApplicationPacket } from './index-q8LQXen9.js';
3
3
  import * as zod from 'zod';
4
4
  import { ZodTypeAny, z, ZodSchema } from 'zod';
5
5
  import { PDFDocument } from 'pdf-lib';
@@ -8734,6 +8734,7 @@ interface ExtractorConfig {
8734
8734
  sourceStore?: SourceStore;
8735
8735
  qualityGate?: QualityGateMode;
8736
8736
  modelCapabilities?: ModelCapabilities;
8737
+ modelCapabilitiesByTaskKind?: Partial<Record<ModelTaskKind, ModelCapabilities>>;
8737
8738
  modelBudgetConstraints?: Partial<Record<ModelTaskKind, ModelBudgetConstraint>>;
8738
8739
  /** Optional checkpoint persistence callback. */
8739
8740
  onCheckpointSave?: (checkpoint: PipelineCheckpoint<ExtractionState>) => Promise<void>;
package/dist/index.js CHANGED
@@ -9578,11 +9578,20 @@ function coverageTextForSelection(coverage) {
9578
9578
  ])
9579
9579
  ].filter(Boolean).join(" ");
9580
9580
  }
9581
+ function coverageCleanupEntries(profile, coverageIndexes) {
9582
+ if (!coverageIndexes) {
9583
+ return profile.coverages.map((coverage, coverageIndex) => ({ coverage, coverageIndex }));
9584
+ }
9585
+ return [...new Set(coverageIndexes)].sort((left, right) => left - right).map((coverageIndex) => {
9586
+ const coverage = profile.coverages[coverageIndex];
9587
+ return coverage ? { coverage, coverageIndex } : void 0;
9588
+ }).filter((entry) => Boolean(entry));
9589
+ }
9581
9590
  function nodeTextMatchesCoverage(node, coverageTerms) {
9582
9591
  const text = nodeTextForSelection(node).toLowerCase();
9583
9592
  return coverageTerms.some((term) => term.length >= 5 && text.includes(term));
9584
9593
  }
9585
- function selectCoverageCleanupNodes(sourceTree, profile) {
9594
+ function selectCoverageCleanupNodes(sourceTree, coverages) {
9586
9595
  const nodeById = new Map(sourceTree.map((node) => [node.id, node]));
9587
9596
  const childrenByParent = /* @__PURE__ */ new Map();
9588
9597
  for (const node of sourceTree) {
@@ -9600,12 +9609,12 @@ function selectCoverageCleanupNodes(sourceTree, profile) {
9600
9609
  const current = selected.get(node.id);
9601
9610
  if (!current || score > current.score) selected.set(node.id, { node, score });
9602
9611
  };
9603
- const sourceNodeIds = uniqueStrings(profile.coverages.flatMap((coverage) => [
9612
+ const sourceNodeIds = uniqueStrings(coverages.flatMap((coverage) => [
9604
9613
  ...coverage.sourceNodeIds,
9605
9614
  ...coverage.limits.flatMap((term) => term.sourceNodeIds)
9606
9615
  ]));
9607
9616
  const coveragePages2 = /* @__PURE__ */ new Set();
9608
- const coverageTerms = uniqueStrings(profile.coverages.flatMap(
9617
+ const coverageTerms = uniqueStrings(coverages.flatMap(
9609
9618
  (coverage) => coverageTextForSelection(coverage).toLowerCase().split(/[^a-z0-9$,.]+/i).filter((part) => part.length >= 5)
9610
9619
  ));
9611
9620
  for (const id of sourceNodeIds) {
@@ -9648,8 +9657,9 @@ function selectCoverageCleanupNodes(sourceTree, profile) {
9648
9657
  (left, right) => (left.node.pageStart ?? Number.MAX_SAFE_INTEGER) - (right.node.pageStart ?? Number.MAX_SAFE_INTEGER) || left.node.order - right.node.order
9649
9658
  ).map((entry) => entry.node);
9650
9659
  }
9651
- function buildOperationalProfileCleanupPrompt(sourceTree, profile) {
9652
- const nodes = selectCoverageCleanupNodes(sourceTree, profile).map((node) => compactNode(
9660
+ function buildOperationalProfileCleanupPrompt(sourceTree, profile, options = {}) {
9661
+ const coverageEntries = coverageCleanupEntries(profile, options.coverageIndexes);
9662
+ const nodes = selectCoverageCleanupNodes(sourceTree, coverageEntries.map((entry) => entry.coverage)).map((node) => compactNode(
9653
9663
  node,
9654
9664
  node.kind === "page" || node.kind === "page_group" ? 260 : node.kind === "table_row" || node.kind === "table_cell" ? 520 : 360
9655
9665
  ));
@@ -9657,9 +9667,12 @@ function buildOperationalProfileCleanupPrompt(sourceTree, profile) {
9657
9667
  documentType: profile.documentType,
9658
9668
  policyTypes: profile.policyTypes,
9659
9669
  coverageTypes: profile.coverageTypes,
9660
- coverages: profile.coverages.map(compactCoverageForCleanup)
9670
+ coverages: coverageEntries.map(({ coverage, coverageIndex }) => compactCoverageForCleanup(coverage, coverageIndex))
9661
9671
  };
9662
9672
  return `Review and clean a source-backed operational profile projection for an insurance policy.
9673
+ ${options.label ? `
9674
+ Coverage group: ${options.label}
9675
+ ` : ""}
9663
9676
 
9664
9677
  Task:
9665
9678
  - Inspect the candidate coverage projection against the source nodes.
@@ -11744,7 +11757,8 @@ async function runVisualTableRepair(params) {
11744
11757
  if (candidates.length === 0) return { sourceTree: params.sourceTree, warnings: [] };
11745
11758
  let sourceTree = params.sourceTree;
11746
11759
  const warnings = [];
11747
- for (const [index, candidate] of candidates.entries()) {
11760
+ const repairResults = await Promise.all(candidates.map(async (candidate, index) => {
11761
+ const label = `source_tree_visual_table_repair_p${candidate.page}`;
11748
11762
  try {
11749
11763
  const budget = params.resolveBudget("extraction_source_tree", 1800);
11750
11764
  const maxTokens = Math.min(budget.maxTokens, 2400);
@@ -11758,7 +11772,7 @@ async function runVisualTableRepair(params) {
11758
11772
  taskKind: "extraction_source_tree",
11759
11773
  budgetDiagnostics: { ...budget, maxTokens },
11760
11774
  trace: {
11761
- label: `source_tree_visual_table_repair_p${candidate.page}`,
11775
+ label,
11762
11776
  startPage: candidate.page,
11763
11777
  endPage: candidate.page,
11764
11778
  batchIndex: index + 1,
@@ -11771,20 +11785,38 @@ async function runVisualTableRepair(params) {
11771
11785
  log: params.log
11772
11786
  }
11773
11787
  );
11774
- params.trackUsage(response.usage, {
11775
- taskKind: "extraction_source_tree",
11776
- label: `source_tree_visual_table_repair_p${candidate.page}`,
11788
+ return {
11789
+ index,
11790
+ candidate,
11791
+ label,
11777
11792
  maxTokens,
11778
- durationMs: Date.now() - startedAt
11779
- });
11780
- const repair = response.object;
11781
- sourceTree = applyVisualTableRepair(sourceTree, repair);
11782
- warnings.push(...repair.warnings.map(
11783
- (warning) => `Visual table repair warning on page ${candidate.page}: ${warning}`
11784
- ));
11793
+ durationMs: Date.now() - startedAt,
11794
+ usage: response.usage,
11795
+ repair: response.object
11796
+ };
11785
11797
  } catch (error) {
11786
- warnings.push(`Visual table repair skipped on page ${candidate.page}; parsed table kept (${error instanceof Error ? error.message : String(error)})`);
11798
+ return {
11799
+ index,
11800
+ candidate,
11801
+ error: error instanceof Error ? error.message : String(error)
11802
+ };
11803
+ }
11804
+ }));
11805
+ for (const result of repairResults.sort((left, right) => left.index - right.index)) {
11806
+ if ("error" in result) {
11807
+ warnings.push(`Visual table repair skipped on page ${result.candidate.page}; parsed table kept (${result.error})`);
11808
+ continue;
11787
11809
  }
11810
+ params.trackUsage(result.usage, {
11811
+ taskKind: "extraction_source_tree",
11812
+ label: result.label,
11813
+ maxTokens: result.maxTokens,
11814
+ durationMs: result.durationMs
11815
+ });
11816
+ sourceTree = applyVisualTableRepair(sourceTree, result.repair);
11817
+ warnings.push(...result.repair.warnings.map(
11818
+ (warning) => `Visual table repair warning on page ${result.candidate.page}: ${warning}`
11819
+ ));
11788
11820
  }
11789
11821
  return { sourceTree, warnings };
11790
11822
  }
@@ -11881,6 +11913,32 @@ var NORMALIZED_COMPATIBILITY_FIELDS = /* @__PURE__ */ new Set([
11881
11913
  "insurer",
11882
11914
  "broker"
11883
11915
  ]);
11916
+ function coverageBelongsToEndorsementCleanupChunk(coverage) {
11917
+ return coverage.coverageOrigin === "endorsement" || Boolean(coverage.endorsementNumber);
11918
+ }
11919
+ function coverageCleanupChunks(profile) {
11920
+ const basePolicy = [];
11921
+ const endorsements = [];
11922
+ profile.coverages.forEach((coverage, coverageIndex) => {
11923
+ if (coverageBelongsToEndorsementCleanupChunk(coverage)) {
11924
+ endorsements.push(coverageIndex);
11925
+ } else {
11926
+ basePolicy.push(coverageIndex);
11927
+ }
11928
+ });
11929
+ return [
11930
+ basePolicy.length ? {
11931
+ group: "base_policy",
11932
+ label: "Coverage cleanup: base policy",
11933
+ coverageIndexes: basePolicy
11934
+ } : void 0,
11935
+ endorsements.length ? {
11936
+ group: "endorsements",
11937
+ label: "Coverage cleanup: endorsements",
11938
+ coverageIndexes: endorsements
11939
+ } : void 0
11940
+ ].filter((chunk) => Boolean(chunk));
11941
+ }
11884
11942
  function valueOf(profile, key) {
11885
11943
  const value = profile[key];
11886
11944
  if (!value || typeof value !== "object" || Array.isArray(value) || !("value" in value)) return void 0;
@@ -12037,9 +12095,9 @@ async function runSourceTreeExtraction(params) {
12037
12095
  };
12038
12096
  if (shouldRunSourceTreeOrganizer(sourceTree, sourceSpans)) {
12039
12097
  try {
12040
- const organizations = [];
12041
12098
  const batches = organizationBatches(sourceTree);
12042
- for (const [batchIndex, batch] of batches.entries()) {
12099
+ const organizationResults = await Promise.all(batches.map(async (batch, batchIndex) => {
12100
+ const label = batches.length > 1 ? `source_tree_organizer_${batchIndex + 1}` : "source_tree_organizer";
12043
12101
  const budget = params.resolveBudget("extraction_source_tree", 4096);
12044
12102
  const startedAt = Date.now();
12045
12103
  const response = await safeGenerateObject(
@@ -12049,20 +12107,37 @@ async function runSourceTreeExtraction(params) {
12049
12107
  schema: SourceTreeOrganizationSchema,
12050
12108
  maxTokens: budget.maxTokens,
12051
12109
  taskKind: "extraction_source_tree",
12052
- budgetDiagnostics: budget
12110
+ budgetDiagnostics: budget,
12111
+ trace: {
12112
+ label,
12113
+ batchIndex: batchIndex + 1,
12114
+ batchCount: batches.length,
12115
+ sourceBacked: true
12116
+ }
12053
12117
  },
12054
12118
  {
12055
12119
  fallback: { labels: [], groups: [] },
12056
12120
  log: params.log
12057
12121
  }
12058
12122
  );
12059
- localTrack(response.usage, {
12123
+ return {
12124
+ batchIndex,
12125
+ label,
12126
+ budget,
12127
+ durationMs: Date.now() - startedAt,
12128
+ usage: response.usage,
12129
+ organization: response.object
12130
+ };
12131
+ }));
12132
+ const organizations = [];
12133
+ for (const result of organizationResults.sort((left, right) => left.batchIndex - right.batchIndex)) {
12134
+ localTrack(result.usage, {
12060
12135
  taskKind: "extraction_source_tree",
12061
- label: batches.length > 1 ? `source_tree_organizer_${batchIndex + 1}` : "source_tree_organizer",
12062
- maxTokens: budget.maxTokens,
12063
- durationMs: Date.now() - startedAt
12136
+ label: result.label,
12137
+ maxTokens: result.budget.maxTokens,
12138
+ durationMs: result.durationMs
12064
12139
  });
12065
- organizations.push(response.object);
12140
+ organizations.push(result.organization);
12066
12141
  }
12067
12142
  sourceTree = applyOrganization(sourceTree, mergeOrganizationResults(organizations));
12068
12143
  } catch (error) {
@@ -12151,33 +12226,64 @@ async function runSourceTreeExtraction(params) {
12151
12226
  try {
12152
12227
  const validNodeIds = new Set(sourceTree.map((node) => node.id));
12153
12228
  const validSpanIds = new Set(sourceSpans.map((span) => span.id));
12154
- const budget = params.resolveBudget("extraction_coverage_cleanup", 4096);
12155
- const startedAt = Date.now();
12156
- const response = await safeGenerateObject(
12157
- params.generateObject,
12158
- {
12159
- prompt: buildOperationalProfileCleanupPrompt(sourceTree, operationalProfile),
12160
- schema: OperationalProfileCleanupSchema,
12161
- maxTokens: budget.maxTokens,
12229
+ const chunks = coverageCleanupChunks(operationalProfile);
12230
+ if (chunks.length > 1) {
12231
+ await params.log?.(`Operational profile coverage cleanup reviewing ${chunks.length} coverage groups in parallel`);
12232
+ }
12233
+ const cleanupResults = await Promise.all(chunks.map(async (chunk, batchIndex) => {
12234
+ const budget = params.resolveBudget("extraction_coverage_cleanup", 4096);
12235
+ const startedAt = Date.now();
12236
+ const response = await safeGenerateObject(
12237
+ params.generateObject,
12238
+ {
12239
+ prompt: buildOperationalProfileCleanupPrompt(sourceTree, operationalProfile, {
12240
+ coverageIndexes: chunk.coverageIndexes,
12241
+ label: chunk.label
12242
+ }),
12243
+ schema: OperationalProfileCleanupSchema,
12244
+ maxTokens: budget.maxTokens,
12245
+ taskKind: "extraction_coverage_cleanup",
12246
+ budgetDiagnostics: budget,
12247
+ providerOptions: params.providerOptions,
12248
+ trace: {
12249
+ phase: "coverage_cleanup",
12250
+ label: chunk.label,
12251
+ batchIndex: batchIndex + 1,
12252
+ batchCount: chunks.length,
12253
+ coverageGroup: chunk.group,
12254
+ itemCount: chunk.coverageIndexes.length,
12255
+ sourceBacked: true
12256
+ }
12257
+ },
12258
+ {
12259
+ fallback: { coverageDecisions: [], warnings: [] },
12260
+ maxRetries: 0,
12261
+ log: params.log
12262
+ }
12263
+ );
12264
+ return {
12265
+ batchIndex,
12266
+ chunk,
12267
+ budget,
12268
+ durationMs: Date.now() - startedAt,
12269
+ usage: response.usage,
12270
+ cleanup: response.object
12271
+ };
12272
+ }));
12273
+ const cleanup = { coverageDecisions: [], warnings: [] };
12274
+ for (const result of cleanupResults.sort((left, right) => left.batchIndex - right.batchIndex)) {
12275
+ localTrack(result.usage, {
12162
12276
  taskKind: "extraction_coverage_cleanup",
12163
- budgetDiagnostics: budget,
12164
- providerOptions: params.providerOptions,
12165
- trace: { phase: "coverage_cleanup", sourceBacked: true }
12166
- },
12167
- {
12168
- fallback: { coverageDecisions: [], warnings: [] },
12169
- log: params.log
12170
- }
12171
- );
12172
- localTrack(response.usage, {
12173
- taskKind: "extraction_coverage_cleanup",
12174
- label: "operational_profile_cleanup",
12175
- maxTokens: budget.maxTokens,
12176
- durationMs: Date.now() - startedAt
12177
- });
12277
+ label: result.chunk.label,
12278
+ maxTokens: result.budget.maxTokens,
12279
+ durationMs: result.durationMs
12280
+ });
12281
+ cleanup.coverageDecisions.push(...result.cleanup.coverageDecisions);
12282
+ cleanup.warnings.push(...result.cleanup.warnings);
12283
+ }
12178
12284
  operationalProfile = applyOperationalProfileCleanup(
12179
12285
  operationalProfile,
12180
- response.object,
12286
+ cleanup,
12181
12287
  validNodeIds,
12182
12288
  validSpanIds
12183
12289
  );
@@ -12231,6 +12337,7 @@ function createExtractor(config) {
12231
12337
  sourceStore,
12232
12338
  qualityGate = "warn",
12233
12339
  modelCapabilities,
12340
+ modelCapabilitiesByTaskKind,
12234
12341
  modelBudgetConstraints,
12235
12342
  onCheckpointSave
12236
12343
  } = config;
@@ -12247,10 +12354,11 @@ function createExtractor(config) {
12247
12354
  };
12248
12355
  let activeProviderOptions = providerOptions;
12249
12356
  function resolveBudget(taskKind, hintTokens) {
12357
+ const taskModelCapabilities = modelCapabilitiesByTaskKind?.[taskKind] ?? modelCapabilities;
12250
12358
  return resolveModelBudget({
12251
12359
  taskKind,
12252
12360
  hintTokens,
12253
- modelCapabilities,
12361
+ modelCapabilities: taskModelCapabilities,
12254
12362
  constraint: modelBudgetConstraints?.[taskKind]
12255
12363
  });
12256
12364
  }