@uns-kit/assistant-workflow 3.0.1 → 3.0.3
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/API_STABILITY.md +38 -0
- package/README.md +40 -0
- package/dist/definition-diagnostics.d.ts +1 -1
- package/dist/definition-diagnostics.d.ts.map +1 -1
- package/dist/definition-diagnostics.js +62 -0
- package/dist/definition-diagnostics.js.map +1 -1
- package/dist/definition-diff.d.ts +9 -0
- package/dist/definition-diff.d.ts.map +1 -1
- package/dist/definition-diff.js +39 -1
- package/dist/definition-diff.js.map +1 -1
- package/dist/definition.d.ts +5 -0
- package/dist/definition.d.ts.map +1 -1
- package/dist/definition.js +38 -0
- package/dist/definition.js.map +1 -1
- package/dist/execution-budget.d.ts +38 -0
- package/dist/execution-budget.d.ts.map +1 -0
- package/dist/execution-budget.js +65 -0
- package/dist/execution-budget.js.map +1 -0
- package/dist/execution-plan.d.ts +8 -0
- package/dist/execution-plan.d.ts.map +1 -1
- package/dist/execution-plan.js +47 -1
- package/dist/execution-plan.js.map +1 -1
- package/dist/execution-policy.d.ts +9 -0
- package/dist/execution-policy.d.ts.map +1 -0
- package/dist/execution-policy.js +21 -0
- package/dist/execution-policy.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/planning.d.ts +1 -0
- package/dist/planning.d.ts.map +1 -1
- package/dist/planning.js +1 -0
- package/dist/planning.js.map +1 -1
- package/dist/tool-executor.d.ts +7 -0
- package/dist/tool-executor.d.ts.map +1 -1
- package/dist/tool-executor.js +180 -55
- package/dist/tool-executor.js.map +1 -1
- package/dist/tool-invocations.d.ts +7 -0
- package/dist/tool-invocations.d.ts.map +1 -1
- package/dist/tool-invocations.js +43 -2
- package/dist/tool-invocations.js.map +1 -1
- package/package.json +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-diff.js","sourceRoot":"","sources":["../src/definition-diff.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AssistantWorkflowDirectRouteDefinition,\n AssistantWorkflowDefinition,\n AssistantWorkflowIntentDefinition,\n} from \"./definition.js\";\nimport type { AssistantWorkflowJsonValue } from \"./run-report-json.js\";\n\nexport type AssistantWorkflowDefinitionIntentDiff = {\n intentId: string;\n addedToolHints: string[];\n removedToolHints: string[];\n addedRequiredToolHints: string[];\n removedRequiredToolHints: string[];\n addedPlanningSteps: string[];\n removedPlanningSteps: string[];\n addedToolSelectionProfileIds: string[];\n removedToolSelectionProfileIds: string[];\n addedPlanningStepProfileIds: string[];\n removedPlanningStepProfileIds: string[];\n addedClarificationRules: string[];\n removedClarificationRules: string[];\n changed: boolean;\n};\n\nexport type AssistantWorkflowDefinitionDirectRouteDiff = {\n routeId: string;\n addedStrategyIds: string[];\n removedStrategyIds: string[];\n changed: boolean;\n};\n\nexport type AssistantWorkflowDefinitionDiff = {\n fromWorkflowId: string;\n toWorkflowId: string;\n fromVersion: number;\n toVersion: number;\n changed: boolean;\n versionChanged: boolean;\n addedIntentIds: string[];\n removedIntentIds: string[];\n addedToolNames: string[];\n removedToolNames: string[];\n addedToolBindingNames: string[];\n removedToolBindingNames: string[];\n addedMemorySlotIds: string[];\n removedMemorySlotIds: string[];\n addedDirectRouteIds: string[];\n removedDirectRouteIds: string[];\n addedPlanningStepIds: string[];\n removedPlanningStepIds: string[];\n addedClarificationRuleIds: string[];\n removedClarificationRuleIds: string[];\n intentDiffs: AssistantWorkflowDefinitionIntentDiff[];\n directRouteDiffs: AssistantWorkflowDefinitionDirectRouteDiff[];\n};\n\nexport function buildAssistantWorkflowDefinitionDiff(\n before: AssistantWorkflowDefinition,\n after: AssistantWorkflowDefinition,\n): AssistantWorkflowDefinitionDiff {\n const intentDiffs = buildIntentDiffs(before.intents, after.intents);\n const directRouteDiffs = buildDirectRouteDiffs(before.directRoutes ?? [], after.directRoutes ?? []);\n const diff: AssistantWorkflowDefinitionDiff = {\n fromWorkflowId: before.id,\n toWorkflowId: after.id,\n fromVersion: before.version,\n toVersion: after.version,\n changed: false,\n versionChanged: before.version !== after.version,\n addedIntentIds: diffStrings(before.intents.map((intent) => intent.id), after.intents.map((intent) => intent.id)),\n removedIntentIds: diffStrings(after.intents.map((intent) => intent.id), before.intents.map((intent) => intent.id)),\n addedToolNames: diffStrings(before.tools?.map((tool) => tool.name) ?? [], after.tools?.map((tool) => tool.name) ?? []),\n removedToolNames: diffStrings(after.tools?.map((tool) => tool.name) ?? [], before.tools?.map((tool) => tool.name) ?? []),\n addedToolBindingNames: diffStrings(\n before.toolBindings?.map((binding) => binding.name) ?? [],\n after.toolBindings?.map((binding) => binding.name) ?? [],\n ),\n removedToolBindingNames: diffStrings(\n after.toolBindings?.map((binding) => binding.name) ?? [],\n before.toolBindings?.map((binding) => binding.name) ?? [],\n ),\n addedMemorySlotIds: diffStrings(\n before.memorySlots?.map((slot) => slot.id) ?? [],\n after.memorySlots?.map((slot) => slot.id) ?? [],\n ),\n removedMemorySlotIds: diffStrings(\n after.memorySlots?.map((slot) => slot.id) ?? [],\n before.memorySlots?.map((slot) => slot.id) ?? [],\n ),\n addedDirectRouteIds: diffStrings(\n before.directRoutes?.map((route) => route.id) ?? [],\n after.directRoutes?.map((route) => route.id) ?? [],\n ),\n removedDirectRouteIds: diffStrings(\n after.directRoutes?.map((route) => route.id) ?? [],\n before.directRoutes?.map((route) => route.id) ?? [],\n ),\n addedPlanningStepIds: diffStrings(\n before.planningSteps?.map((step) => step.id) ?? [],\n after.planningSteps?.map((step) => step.id) ?? [],\n ),\n removedPlanningStepIds: diffStrings(\n after.planningSteps?.map((step) => step.id) ?? [],\n before.planningSteps?.map((step) => step.id) ?? [],\n ),\n addedClarificationRuleIds: diffStrings(\n before.clarificationRules?.map((rule) => rule.id) ?? [],\n after.clarificationRules?.map((rule) => rule.id) ?? [],\n ),\n removedClarificationRuleIds: diffStrings(\n after.clarificationRules?.map((rule) => rule.id) ?? [],\n before.clarificationRules?.map((rule) => rule.id) ?? [],\n ),\n intentDiffs,\n directRouteDiffs,\n };\n return {\n ...diff,\n changed: diff.versionChanged ||\n diff.addedIntentIds.length > 0 ||\n diff.removedIntentIds.length > 0 ||\n diff.addedToolNames.length > 0 ||\n diff.removedToolNames.length > 0 ||\n diff.addedToolBindingNames.length > 0 ||\n diff.removedToolBindingNames.length > 0 ||\n diff.addedMemorySlotIds.length > 0 ||\n diff.removedMemorySlotIds.length > 0 ||\n diff.addedDirectRouteIds.length > 0 ||\n diff.removedDirectRouteIds.length > 0 ||\n diff.addedPlanningStepIds.length > 0 ||\n diff.removedPlanningStepIds.length > 0 ||\n diff.addedClarificationRuleIds.length > 0 ||\n diff.removedClarificationRuleIds.length > 0 ||\n diff.intentDiffs.some((intentDiff) => intentDiff.changed) ||\n diff.directRouteDiffs.some((routeDiff) => routeDiff.changed),\n };\n}\n\nexport function buildAssistantWorkflowDefinitionDiffTracePayload(\n diff: AssistantWorkflowDefinitionDiff,\n): Record<string, AssistantWorkflowJsonValue> {\n return {\n fromWorkflowId: diff.fromWorkflowId,\n toWorkflowId: diff.toWorkflowId,\n fromVersion: diff.fromVersion,\n toVersion: diff.toVersion,\n changed: diff.changed,\n versionChanged: diff.versionChanged,\n addedIntentIds: diff.addedIntentIds,\n removedIntentIds: diff.removedIntentIds,\n addedToolNames: diff.addedToolNames,\n removedToolNames: diff.removedToolNames,\n addedToolBindingNames: diff.addedToolBindingNames,\n removedToolBindingNames: diff.removedToolBindingNames,\n addedMemorySlotIds: diff.addedMemorySlotIds,\n removedMemorySlotIds: diff.removedMemorySlotIds,\n addedDirectRouteIds: diff.addedDirectRouteIds,\n removedDirectRouteIds: diff.removedDirectRouteIds,\n addedPlanningStepIds: diff.addedPlanningStepIds,\n removedPlanningStepIds: diff.removedPlanningStepIds,\n addedClarificationRuleIds: diff.addedClarificationRuleIds,\n removedClarificationRuleIds: diff.removedClarificationRuleIds,\n intentDiffs: diff.intentDiffs.map((intentDiff) => ({\n intentId: intentDiff.intentId,\n addedToolHints: intentDiff.addedToolHints,\n removedToolHints: intentDiff.removedToolHints,\n addedRequiredToolHints: intentDiff.addedRequiredToolHints,\n removedRequiredToolHints: intentDiff.removedRequiredToolHints,\n addedPlanningSteps: intentDiff.addedPlanningSteps,\n removedPlanningSteps: intentDiff.removedPlanningSteps,\n addedToolSelectionProfileIds: intentDiff.addedToolSelectionProfileIds,\n removedToolSelectionProfileIds: intentDiff.removedToolSelectionProfileIds,\n addedPlanningStepProfileIds: intentDiff.addedPlanningStepProfileIds,\n removedPlanningStepProfileIds: intentDiff.removedPlanningStepProfileIds,\n addedClarificationRules: intentDiff.addedClarificationRules,\n removedClarificationRules: intentDiff.removedClarificationRules,\n changed: intentDiff.changed,\n })),\n directRouteDiffs: diff.directRouteDiffs.map((routeDiff) => ({\n routeId: routeDiff.routeId,\n addedStrategyIds: routeDiff.addedStrategyIds,\n removedStrategyIds: routeDiff.removedStrategyIds,\n changed: routeDiff.changed,\n })),\n };\n}\n\nfunction buildDirectRouteDiffs(\n beforeRoutes: readonly AssistantWorkflowDirectRouteDefinition[],\n afterRoutes: readonly AssistantWorkflowDirectRouteDefinition[],\n): AssistantWorkflowDefinitionDirectRouteDiff[] {\n const beforeById = new Map(beforeRoutes.map((route) => [route.id, route]));\n const diffs: AssistantWorkflowDefinitionDirectRouteDiff[] = [];\n\n for (const afterRoute of afterRoutes) {\n const beforeRoute = beforeById.get(afterRoute.id);\n if (!beforeRoute) continue;\n const diff = buildDirectRouteDiff(beforeRoute, afterRoute);\n if (diff.changed) diffs.push(diff);\n }\n return diffs.sort((left, right) => left.routeId.localeCompare(right.routeId));\n}\n\nfunction buildDirectRouteDiff(\n before: AssistantWorkflowDirectRouteDefinition,\n after: AssistantWorkflowDirectRouteDefinition,\n): AssistantWorkflowDefinitionDirectRouteDiff {\n const diff: AssistantWorkflowDefinitionDirectRouteDiff = {\n routeId: after.id,\n addedStrategyIds: diffStrings(\n before.strategies?.map((strategy) => strategy.id) ?? [],\n after.strategies?.map((strategy) => strategy.id) ?? [],\n ),\n removedStrategyIds: diffStrings(\n after.strategies?.map((strategy) => strategy.id) ?? [],\n before.strategies?.map((strategy) => strategy.id) ?? [],\n ),\n changed: false,\n };\n return {\n ...diff,\n changed: diff.addedStrategyIds.length > 0 || diff.removedStrategyIds.length > 0,\n };\n}\n\nfunction buildIntentDiffs(\n beforeIntents: readonly AssistantWorkflowIntentDefinition[],\n afterIntents: readonly AssistantWorkflowIntentDefinition[],\n): AssistantWorkflowDefinitionIntentDiff[] {\n const beforeById = new Map(beforeIntents.map((intent) => [intent.id, intent]));\n const diffs: AssistantWorkflowDefinitionIntentDiff[] = [];\n\n for (const afterIntent of afterIntents) {\n const beforeIntent = beforeById.get(afterIntent.id);\n if (!beforeIntent) continue;\n const diff = buildIntentDiff(beforeIntent, afterIntent);\n if (diff.changed) diffs.push(diff);\n }\n return diffs.sort((left, right) => left.intentId.localeCompare(right.intentId));\n}\n\nfunction buildIntentDiff(\n before: AssistantWorkflowIntentDefinition,\n after: AssistantWorkflowIntentDefinition,\n): AssistantWorkflowDefinitionIntentDiff {\n const diff: AssistantWorkflowDefinitionIntentDiff = {\n intentId: after.id,\n addedToolHints: diffStrings(before.toolHints ?? [], after.toolHints ?? []),\n removedToolHints: diffStrings(after.toolHints ?? [], before.toolHints ?? []),\n addedRequiredToolHints: diffStrings(before.requiredToolHints ?? [], after.requiredToolHints ?? []),\n removedRequiredToolHints: diffStrings(after.requiredToolHints ?? [], before.requiredToolHints ?? []),\n addedPlanningSteps: diffStrings(before.planningSteps ?? [], after.planningSteps ?? []),\n removedPlanningSteps: diffStrings(after.planningSteps ?? [], before.planningSteps ?? []),\n addedToolSelectionProfileIds: diffStrings(\n before.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n after.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n ),\n removedToolSelectionProfileIds: diffStrings(\n after.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n before.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n ),\n addedPlanningStepProfileIds: diffStrings(\n before.planningStepProfiles?.map((profile) => profile.id) ?? [],\n after.planningStepProfiles?.map((profile) => profile.id) ?? [],\n ),\n removedPlanningStepProfileIds: diffStrings(\n after.planningStepProfiles?.map((profile) => profile.id) ?? [],\n before.planningStepProfiles?.map((profile) => profile.id) ?? [],\n ),\n addedClarificationRules: diffStrings(before.clarificationRules ?? [], after.clarificationRules ?? []),\n removedClarificationRules: diffStrings(after.clarificationRules ?? [], before.clarificationRules ?? []),\n changed: false,\n };\n return {\n ...diff,\n changed: diff.addedToolHints.length > 0 ||\n diff.removedToolHints.length > 0 ||\n diff.addedRequiredToolHints.length > 0 ||\n diff.removedRequiredToolHints.length > 0 ||\n diff.addedPlanningSteps.length > 0 ||\n diff.removedPlanningSteps.length > 0 ||\n diff.addedToolSelectionProfileIds.length > 0 ||\n diff.removedToolSelectionProfileIds.length > 0 ||\n diff.addedPlanningStepProfileIds.length > 0 ||\n diff.removedPlanningStepProfileIds.length > 0 ||\n diff.addedClarificationRules.length > 0 ||\n diff.removedClarificationRules.length > 0,\n };\n}\n\nfunction diffStrings(before: readonly string[], after: readonly string[]): string[] {\n const beforeSet = new Set(before);\n return [...new Set(after)]\n .filter((value) => value.length > 0 && !beforeSet.has(value))\n .sort();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"definition-diff.js","sourceRoot":"","sources":["../src/definition-diff.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AssistantWorkflowDirectRouteDefinition,\n AssistantWorkflowDefinition,\n AssistantWorkflowIntentDefinition,\n} from \"./definition.js\";\nimport type { AssistantWorkflowJsonValue } from \"./run-report-json.js\";\n\nexport type AssistantWorkflowDefinitionIntentDiff = {\n intentId: string;\n addedToolHints: string[];\n removedToolHints: string[];\n addedRequiredToolHints: string[];\n removedRequiredToolHints: string[];\n addedPlanningSteps: string[];\n removedPlanningSteps: string[];\n addedToolSelectionProfileIds: string[];\n removedToolSelectionProfileIds: string[];\n addedPlanningStepProfileIds: string[];\n removedPlanningStepProfileIds: string[];\n addedClarificationRules: string[];\n removedClarificationRules: string[];\n changed: boolean;\n};\n\nexport type AssistantWorkflowDefinitionDirectRouteDiff = {\n routeId: string;\n addedStrategyIds: string[];\n removedStrategyIds: string[];\n changed: boolean;\n};\n\nexport type AssistantWorkflowDefinitionPlanningStepDiff = {\n stepId: string;\n addedDependencyStepIds: string[];\n removedDependencyStepIds: string[];\n changed: boolean;\n};\n\nexport type AssistantWorkflowDefinitionDiff = {\n fromWorkflowId: string;\n toWorkflowId: string;\n fromVersion: number;\n toVersion: number;\n changed: boolean;\n versionChanged: boolean;\n executionBudgetChanged: boolean;\n executionPolicyChanged: boolean;\n addedIntentIds: string[];\n removedIntentIds: string[];\n addedToolNames: string[];\n removedToolNames: string[];\n addedToolBindingNames: string[];\n removedToolBindingNames: string[];\n addedMemorySlotIds: string[];\n removedMemorySlotIds: string[];\n addedDirectRouteIds: string[];\n removedDirectRouteIds: string[];\n addedPlanningStepIds: string[];\n removedPlanningStepIds: string[];\n addedClarificationRuleIds: string[];\n removedClarificationRuleIds: string[];\n intentDiffs: AssistantWorkflowDefinitionIntentDiff[];\n directRouteDiffs: AssistantWorkflowDefinitionDirectRouteDiff[];\n planningStepDiffs: AssistantWorkflowDefinitionPlanningStepDiff[];\n};\n\nexport function buildAssistantWorkflowDefinitionDiff(\n before: AssistantWorkflowDefinition,\n after: AssistantWorkflowDefinition,\n): AssistantWorkflowDefinitionDiff {\n const intentDiffs = buildIntentDiffs(before.intents, after.intents);\n const directRouteDiffs = buildDirectRouteDiffs(before.directRoutes ?? [], after.directRoutes ?? []);\n const planningStepDiffs = buildPlanningStepDiffs(before.planningSteps ?? [], after.planningSteps ?? []);\n const diff: AssistantWorkflowDefinitionDiff = {\n fromWorkflowId: before.id,\n toWorkflowId: after.id,\n fromVersion: before.version,\n toVersion: after.version,\n changed: false,\n versionChanged: before.version !== after.version,\n executionBudgetChanged: !sameJson(before.executionBudget ?? null, after.executionBudget ?? null),\n executionPolicyChanged: !sameJson(before.executionPolicy ?? null, after.executionPolicy ?? null),\n addedIntentIds: diffStrings(before.intents.map((intent) => intent.id), after.intents.map((intent) => intent.id)),\n removedIntentIds: diffStrings(after.intents.map((intent) => intent.id), before.intents.map((intent) => intent.id)),\n addedToolNames: diffStrings(before.tools?.map((tool) => tool.name) ?? [], after.tools?.map((tool) => tool.name) ?? []),\n removedToolNames: diffStrings(after.tools?.map((tool) => tool.name) ?? [], before.tools?.map((tool) => tool.name) ?? []),\n addedToolBindingNames: diffStrings(\n before.toolBindings?.map((binding) => binding.name) ?? [],\n after.toolBindings?.map((binding) => binding.name) ?? [],\n ),\n removedToolBindingNames: diffStrings(\n after.toolBindings?.map((binding) => binding.name) ?? [],\n before.toolBindings?.map((binding) => binding.name) ?? [],\n ),\n addedMemorySlotIds: diffStrings(\n before.memorySlots?.map((slot) => slot.id) ?? [],\n after.memorySlots?.map((slot) => slot.id) ?? [],\n ),\n removedMemorySlotIds: diffStrings(\n after.memorySlots?.map((slot) => slot.id) ?? [],\n before.memorySlots?.map((slot) => slot.id) ?? [],\n ),\n addedDirectRouteIds: diffStrings(\n before.directRoutes?.map((route) => route.id) ?? [],\n after.directRoutes?.map((route) => route.id) ?? [],\n ),\n removedDirectRouteIds: diffStrings(\n after.directRoutes?.map((route) => route.id) ?? [],\n before.directRoutes?.map((route) => route.id) ?? [],\n ),\n addedPlanningStepIds: diffStrings(\n before.planningSteps?.map((step) => step.id) ?? [],\n after.planningSteps?.map((step) => step.id) ?? [],\n ),\n removedPlanningStepIds: diffStrings(\n after.planningSteps?.map((step) => step.id) ?? [],\n before.planningSteps?.map((step) => step.id) ?? [],\n ),\n addedClarificationRuleIds: diffStrings(\n before.clarificationRules?.map((rule) => rule.id) ?? [],\n after.clarificationRules?.map((rule) => rule.id) ?? [],\n ),\n removedClarificationRuleIds: diffStrings(\n after.clarificationRules?.map((rule) => rule.id) ?? [],\n before.clarificationRules?.map((rule) => rule.id) ?? [],\n ),\n intentDiffs,\n directRouteDiffs,\n planningStepDiffs,\n };\n return {\n ...diff,\n changed: diff.versionChanged ||\n diff.executionBudgetChanged ||\n diff.executionPolicyChanged ||\n diff.addedIntentIds.length > 0 ||\n diff.removedIntentIds.length > 0 ||\n diff.addedToolNames.length > 0 ||\n diff.removedToolNames.length > 0 ||\n diff.addedToolBindingNames.length > 0 ||\n diff.removedToolBindingNames.length > 0 ||\n diff.addedMemorySlotIds.length > 0 ||\n diff.removedMemorySlotIds.length > 0 ||\n diff.addedDirectRouteIds.length > 0 ||\n diff.removedDirectRouteIds.length > 0 ||\n diff.addedPlanningStepIds.length > 0 ||\n diff.removedPlanningStepIds.length > 0 ||\n diff.addedClarificationRuleIds.length > 0 ||\n diff.removedClarificationRuleIds.length > 0 ||\n diff.intentDiffs.some((intentDiff) => intentDiff.changed) ||\n diff.directRouteDiffs.some((routeDiff) => routeDiff.changed) ||\n diff.planningStepDiffs.some((stepDiff) => stepDiff.changed),\n };\n}\n\nexport function buildAssistantWorkflowDefinitionDiffTracePayload(\n diff: AssistantWorkflowDefinitionDiff,\n): Record<string, AssistantWorkflowJsonValue> {\n return {\n fromWorkflowId: diff.fromWorkflowId,\n toWorkflowId: diff.toWorkflowId,\n fromVersion: diff.fromVersion,\n toVersion: diff.toVersion,\n changed: diff.changed,\n versionChanged: diff.versionChanged,\n executionBudgetChanged: diff.executionBudgetChanged,\n executionPolicyChanged: diff.executionPolicyChanged,\n addedIntentIds: diff.addedIntentIds,\n removedIntentIds: diff.removedIntentIds,\n addedToolNames: diff.addedToolNames,\n removedToolNames: diff.removedToolNames,\n addedToolBindingNames: diff.addedToolBindingNames,\n removedToolBindingNames: diff.removedToolBindingNames,\n addedMemorySlotIds: diff.addedMemorySlotIds,\n removedMemorySlotIds: diff.removedMemorySlotIds,\n addedDirectRouteIds: diff.addedDirectRouteIds,\n removedDirectRouteIds: diff.removedDirectRouteIds,\n addedPlanningStepIds: diff.addedPlanningStepIds,\n removedPlanningStepIds: diff.removedPlanningStepIds,\n addedClarificationRuleIds: diff.addedClarificationRuleIds,\n removedClarificationRuleIds: diff.removedClarificationRuleIds,\n intentDiffs: diff.intentDiffs.map((intentDiff) => ({\n intentId: intentDiff.intentId,\n addedToolHints: intentDiff.addedToolHints,\n removedToolHints: intentDiff.removedToolHints,\n addedRequiredToolHints: intentDiff.addedRequiredToolHints,\n removedRequiredToolHints: intentDiff.removedRequiredToolHints,\n addedPlanningSteps: intentDiff.addedPlanningSteps,\n removedPlanningSteps: intentDiff.removedPlanningSteps,\n addedToolSelectionProfileIds: intentDiff.addedToolSelectionProfileIds,\n removedToolSelectionProfileIds: intentDiff.removedToolSelectionProfileIds,\n addedPlanningStepProfileIds: intentDiff.addedPlanningStepProfileIds,\n removedPlanningStepProfileIds: intentDiff.removedPlanningStepProfileIds,\n addedClarificationRules: intentDiff.addedClarificationRules,\n removedClarificationRules: intentDiff.removedClarificationRules,\n changed: intentDiff.changed,\n })),\n directRouteDiffs: diff.directRouteDiffs.map((routeDiff) => ({\n routeId: routeDiff.routeId,\n addedStrategyIds: routeDiff.addedStrategyIds,\n removedStrategyIds: routeDiff.removedStrategyIds,\n changed: routeDiff.changed,\n })),\n planningStepDiffs: diff.planningStepDiffs.map((stepDiff) => ({\n stepId: stepDiff.stepId,\n addedDependencyStepIds: stepDiff.addedDependencyStepIds,\n removedDependencyStepIds: stepDiff.removedDependencyStepIds,\n changed: stepDiff.changed,\n })),\n };\n}\n\nfunction buildPlanningStepDiffs(\n beforeSteps: readonly NonNullable<AssistantWorkflowDefinition[\"planningSteps\"]>[number][],\n afterSteps: readonly NonNullable<AssistantWorkflowDefinition[\"planningSteps\"]>[number][],\n): AssistantWorkflowDefinitionPlanningStepDiff[] {\n const beforeById = new Map(beforeSteps.map((step) => [step.id, step] as const));\n const diffs: AssistantWorkflowDefinitionPlanningStepDiff[] = [];\n for (const afterStep of afterSteps) {\n const beforeStep = beforeById.get(afterStep.id);\n if (!beforeStep) continue;\n const addedDependencyStepIds = diffStrings(beforeStep.dependsOn ?? [], afterStep.dependsOn ?? []);\n const removedDependencyStepIds = diffStrings(afterStep.dependsOn ?? [], beforeStep.dependsOn ?? []);\n if (addedDependencyStepIds.length || removedDependencyStepIds.length) {\n diffs.push({\n stepId: afterStep.id,\n addedDependencyStepIds,\n removedDependencyStepIds,\n changed: true,\n });\n }\n }\n return diffs.sort((left, right) => left.stepId.localeCompare(right.stepId));\n}\n\nfunction buildDirectRouteDiffs(\n beforeRoutes: readonly AssistantWorkflowDirectRouteDefinition[],\n afterRoutes: readonly AssistantWorkflowDirectRouteDefinition[],\n): AssistantWorkflowDefinitionDirectRouteDiff[] {\n const beforeById = new Map(beforeRoutes.map((route) => [route.id, route]));\n const diffs: AssistantWorkflowDefinitionDirectRouteDiff[] = [];\n\n for (const afterRoute of afterRoutes) {\n const beforeRoute = beforeById.get(afterRoute.id);\n if (!beforeRoute) continue;\n const diff = buildDirectRouteDiff(beforeRoute, afterRoute);\n if (diff.changed) diffs.push(diff);\n }\n return diffs.sort((left, right) => left.routeId.localeCompare(right.routeId));\n}\n\nfunction buildDirectRouteDiff(\n before: AssistantWorkflowDirectRouteDefinition,\n after: AssistantWorkflowDirectRouteDefinition,\n): AssistantWorkflowDefinitionDirectRouteDiff {\n const diff: AssistantWorkflowDefinitionDirectRouteDiff = {\n routeId: after.id,\n addedStrategyIds: diffStrings(\n before.strategies?.map((strategy) => strategy.id) ?? [],\n after.strategies?.map((strategy) => strategy.id) ?? [],\n ),\n removedStrategyIds: diffStrings(\n after.strategies?.map((strategy) => strategy.id) ?? [],\n before.strategies?.map((strategy) => strategy.id) ?? [],\n ),\n changed: false,\n };\n return {\n ...diff,\n changed: diff.addedStrategyIds.length > 0 || diff.removedStrategyIds.length > 0,\n };\n}\n\nfunction buildIntentDiffs(\n beforeIntents: readonly AssistantWorkflowIntentDefinition[],\n afterIntents: readonly AssistantWorkflowIntentDefinition[],\n): AssistantWorkflowDefinitionIntentDiff[] {\n const beforeById = new Map(beforeIntents.map((intent) => [intent.id, intent]));\n const diffs: AssistantWorkflowDefinitionIntentDiff[] = [];\n\n for (const afterIntent of afterIntents) {\n const beforeIntent = beforeById.get(afterIntent.id);\n if (!beforeIntent) continue;\n const diff = buildIntentDiff(beforeIntent, afterIntent);\n if (diff.changed) diffs.push(diff);\n }\n return diffs.sort((left, right) => left.intentId.localeCompare(right.intentId));\n}\n\nfunction buildIntentDiff(\n before: AssistantWorkflowIntentDefinition,\n after: AssistantWorkflowIntentDefinition,\n): AssistantWorkflowDefinitionIntentDiff {\n const diff: AssistantWorkflowDefinitionIntentDiff = {\n intentId: after.id,\n addedToolHints: diffStrings(before.toolHints ?? [], after.toolHints ?? []),\n removedToolHints: diffStrings(after.toolHints ?? [], before.toolHints ?? []),\n addedRequiredToolHints: diffStrings(before.requiredToolHints ?? [], after.requiredToolHints ?? []),\n removedRequiredToolHints: diffStrings(after.requiredToolHints ?? [], before.requiredToolHints ?? []),\n addedPlanningSteps: diffStrings(before.planningSteps ?? [], after.planningSteps ?? []),\n removedPlanningSteps: diffStrings(after.planningSteps ?? [], before.planningSteps ?? []),\n addedToolSelectionProfileIds: diffStrings(\n before.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n after.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n ),\n removedToolSelectionProfileIds: diffStrings(\n after.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n before.toolSelectionProfiles?.map((profile) => profile.id) ?? [],\n ),\n addedPlanningStepProfileIds: diffStrings(\n before.planningStepProfiles?.map((profile) => profile.id) ?? [],\n after.planningStepProfiles?.map((profile) => profile.id) ?? [],\n ),\n removedPlanningStepProfileIds: diffStrings(\n after.planningStepProfiles?.map((profile) => profile.id) ?? [],\n before.planningStepProfiles?.map((profile) => profile.id) ?? [],\n ),\n addedClarificationRules: diffStrings(before.clarificationRules ?? [], after.clarificationRules ?? []),\n removedClarificationRules: diffStrings(after.clarificationRules ?? [], before.clarificationRules ?? []),\n changed: false,\n };\n return {\n ...diff,\n changed: diff.addedToolHints.length > 0 ||\n diff.removedToolHints.length > 0 ||\n diff.addedRequiredToolHints.length > 0 ||\n diff.removedRequiredToolHints.length > 0 ||\n diff.addedPlanningSteps.length > 0 ||\n diff.removedPlanningSteps.length > 0 ||\n diff.addedToolSelectionProfileIds.length > 0 ||\n diff.removedToolSelectionProfileIds.length > 0 ||\n diff.addedPlanningStepProfileIds.length > 0 ||\n diff.removedPlanningStepProfileIds.length > 0 ||\n diff.addedClarificationRules.length > 0 ||\n diff.removedClarificationRules.length > 0,\n };\n}\n\nfunction diffStrings(before: readonly string[], after: readonly string[]): string[] {\n const beforeSet = new Set(before);\n return [...new Set(after)]\n .filter((value) => value.length > 0 && !beforeSet.has(value))\n .sort();\n}\n\nfunction sameJson(left: unknown, right: unknown): boolean {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n"]}
|
package/dist/definition.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type AssistantWorkflowExecutionBudget } from "./execution-budget.js";
|
|
2
|
+
import { type AssistantWorkflowExecutionPolicy } from "./execution-policy.js";
|
|
1
3
|
export type AssistantWorkflowExecutionBias = "allow-shortcuts" | "llm-first";
|
|
2
4
|
export type AssistantWorkflowFirstHopToolPolicy = "auto" | "require-tool";
|
|
3
5
|
export type AssistantWorkflowOptionalToolSelectionMode = "classifier-confirmed" | "workflow-suggested";
|
|
@@ -36,6 +38,7 @@ export type AssistantWorkflowMemoryPolicy = {
|
|
|
36
38
|
export type AssistantWorkflowPlanningStepKind = "classify" | "resolve" | "retrieve" | "fetch" | "derive" | "build_artifact" | "ask_clarification" | "synthesize" | "generate";
|
|
37
39
|
export type AssistantWorkflowPlanningStepDefinition = AssistantWorkflowVocabularyItem & {
|
|
38
40
|
kind: AssistantWorkflowPlanningStepKind;
|
|
41
|
+
dependsOn?: readonly string[];
|
|
39
42
|
toolHints?: readonly string[];
|
|
40
43
|
requiredToolHints?: readonly string[];
|
|
41
44
|
readsMemory?: readonly string[];
|
|
@@ -158,6 +161,8 @@ export type AssistantWorkflowDefinition<TIntent extends string = string, TSubint
|
|
|
158
161
|
id: string;
|
|
159
162
|
version: number;
|
|
160
163
|
description?: string;
|
|
164
|
+
executionBudget?: AssistantWorkflowExecutionBudget;
|
|
165
|
+
executionPolicy?: AssistantWorkflowExecutionPolicy;
|
|
161
166
|
intents: readonly AssistantWorkflowIntentDefinition<TIntent, TPresentation>[];
|
|
162
167
|
tools?: readonly AssistantWorkflowToolCapabilityDefinition[];
|
|
163
168
|
toolBindings?: readonly AssistantWorkflowToolBindingDefinition[];
|
package/dist/definition.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"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"}
|
package/dist/definition.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import { assertAssistantWorkflowExecutionBudget, } from "./execution-budget.js";
|
|
2
|
+
import { assertAssistantWorkflowExecutionPolicy, } from "./execution-policy.js";
|
|
1
3
|
export function defineAssistantWorkflow(definition) {
|
|
2
4
|
assertWorkflowHeader(definition);
|
|
5
|
+
if (definition.executionBudget) {
|
|
6
|
+
assertAssistantWorkflowExecutionBudget(definition.executionBudget);
|
|
7
|
+
}
|
|
8
|
+
if (definition.executionPolicy) {
|
|
9
|
+
assertAssistantWorkflowExecutionPolicy(definition.executionPolicy);
|
|
10
|
+
}
|
|
3
11
|
assertUniqueVocabulary("intent", definition.intents);
|
|
4
12
|
assertUniqueVocabulary("subintent", definition.subintents ?? []);
|
|
5
13
|
assertUniqueVocabulary("presentation", definition.presentations ?? []);
|
|
@@ -9,10 +17,40 @@ export function defineAssistantWorkflow(definition) {
|
|
|
9
17
|
assertUniqueDirectRoutes(definition.directRoutes ?? []);
|
|
10
18
|
assertUniqueMemorySlots(definition.memorySlots ?? []);
|
|
11
19
|
assertUniquePlanningSteps(definition.planningSteps ?? []);
|
|
20
|
+
assertPlanningStepDependencies(definition.planningSteps ?? []);
|
|
12
21
|
assertUniqueClarificationRules(definition.clarificationRules ?? []);
|
|
13
22
|
assertIntentReferences(definition);
|
|
14
23
|
return definition;
|
|
15
24
|
}
|
|
25
|
+
function assertPlanningStepDependencies(steps) {
|
|
26
|
+
const stepsById = new Map(steps.map((step) => [step.id, step]));
|
|
27
|
+
for (const step of steps) {
|
|
28
|
+
for (const dependencyId of step.dependsOn ?? []) {
|
|
29
|
+
if (dependencyId === step.id) {
|
|
30
|
+
throw new Error(`Assistant workflow planning step ${step.id} must not depend on itself.`);
|
|
31
|
+
}
|
|
32
|
+
if (!stepsById.has(dependencyId)) {
|
|
33
|
+
throw new Error(`Assistant workflow planning step ${step.id} references unknown dependency: ${dependencyId}.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const visiting = new Set();
|
|
38
|
+
const visited = new Set();
|
|
39
|
+
const visit = (stepId) => {
|
|
40
|
+
if (visited.has(stepId))
|
|
41
|
+
return;
|
|
42
|
+
if (visiting.has(stepId)) {
|
|
43
|
+
throw new Error(`Assistant workflow planning step dependencies contain a cycle at: ${stepId}.`);
|
|
44
|
+
}
|
|
45
|
+
visiting.add(stepId);
|
|
46
|
+
for (const dependencyId of stepsById.get(stepId)?.dependsOn ?? [])
|
|
47
|
+
visit(dependencyId);
|
|
48
|
+
visiting.delete(stepId);
|
|
49
|
+
visited.add(stepId);
|
|
50
|
+
};
|
|
51
|
+
for (const step of steps)
|
|
52
|
+
visit(step.id);
|
|
53
|
+
}
|
|
16
54
|
export function normalizeAssistantWorkflowId(value) {
|
|
17
55
|
if (typeof value !== "string")
|
|
18
56
|
return null;
|
package/dist/definition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AA6RA,MAAM,UAAU,uBAAuB,CAMrC,UAA8F;IAE9F,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACjC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACrD,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACjE,sBAAsB,CAAC,cAAc,EAAE,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACvE,sBAAsB,CAAC,mBAAmB,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAChF,4BAA4B,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACrD,wBAAwB,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACxD,wBAAwB,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACxD,uBAAuB,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACtD,yBAAyB,CAAC,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAC1D,8BAA8B,CAAC,UAAU,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACpE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAsE;IAEtE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAyE;IAEzE,OAAO,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAA4E;IAE5E,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,QAAgF;IAEhF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAA6E,EAC7E,QAAiB;IAEjB,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAqE,EACrE,QAAiB,EACjB,kBAAsC;IAEtC,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,uBAAuB,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,QAAqE,EACrE,QAAiB,EACjB,kBAAsC;IAEtC,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,KAAiD,EACjD,UAA6C,EAAE;IAE/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAChE,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,mBAAmB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,QAAqE;IAErE,OAAO;QACL,OAAO,EAAE,iCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5D,UAAU,EAAE,iCAAiC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QACxE,aAAa,EAAE,iCAAiC,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAC9G,iBAAiB,EAAE,iCAAiC,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;KACvH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAqE;IACjG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAY,EACZ,KAAiD;IAEjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,kBAAkB,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,mCAAmC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,QAAQ,UAAU,GAAG,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAqE;IAErE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,CAAC,CAAC;IACnG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,uEAAuE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,QAAQ,uCAAuC,UAAU,CAAC,QAAQ,GAAG,CAC1I,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAChD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACtF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,EAAE,wCAAwC,QAAQ,GAAG,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACjF,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,EAAE,oCAAoC,MAAM,GAAG,CACzF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;QACrD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACjF,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,EAAE,oCAAoC,MAAM,GAAG,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAChD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,CAAC,EAAE,wCAAwC,QAAQ,GAAG,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAC1C,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,mBAAmB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,qCAAqC,MAAM,CAAC,mBAAmB,GAAG,CACzG,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1F,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,wCAAwC,QAAQ,GAAG,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACrF,mCAAmC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACjF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,2BAA2B,OAAO,CAAC,EAAE,wCAAwC,QAAQ,GAAG,CAC/H,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,2BAA2B,YAAY,sCAAsC,CACpH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACpF,kCAAkC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,YAAY,0CAA0C,CACvH,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3C,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7D,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,OAAO,CAAC,EAAE,sCAAsC,MAAM,GAAG,CAC1H,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;gBAC9D,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,OAAO,CAAC,EAAE,sCAAsC,QAAQ,GAAG,CAC5H,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACpC,IAAI,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,OAAO,CAAC,EAAE,kCAAkC,SAAS,CAAC,SAAS,GAAG,CACnI,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,EAAE,YAAY,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxG,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,OAAO,CAAC,EAAE,qCAAqC,SAAS,CAAC,YAAY,GAAG,CACzI,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI;YACnB,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;SACvC,EAAE,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,oCAAoC,MAAM,GAAG,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,qCAAqC,OAAO,GAAG,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,sCAAsC,MAAM,GAAG,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,2CAA2C,MAAM,GAAG,CAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAyD;IACzF,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;YAChH,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,CAAC,EAAE,6CAA6C,KAAK,CAAC,YAAY,GAAG,CAC9G,CAAC;QACJ,CAAC;QACD,sBAAsB,CAAC,gBAAgB,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACpF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,EAAE,KAAK,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,CAAC,EAAE,4CAA4C,QAAQ,CAAC,EAAE,GAAG,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAyC;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,0DAA0D,OAAO,CAAC,EAAE,GAAG,CAC9G,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,EAAE,4BAA4B,UAAU,GAAG,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,EAAE,2BAA2B,UAAU,2BAA2B,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAyC;IACjF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,oBAAoB,IAAI,EAAE,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,EAAE,wCAAwC,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,EAAE,yDAAyD,OAAO,CAAC,EAAE,GAAG,CAC7G,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,EAAE,2BAA2B,UAAU,GAAG,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,EAAE,0BAA0B,UAAU,2BAA2B,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAC1C,QAAgB,EAChB,OAA8C,EAC9C,cAAmC,EACnC,iBAAsC;IAEtC,MAAM,EACJ,MAAM,EACN,MAAM,EACN,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,uBAAuB,GAAG,OAAO,CAAC,cAAc;aACnD,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;aACtE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,iDAAiD,CAC5H,CAAC;QACJ,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,iDAAiD,QAAQ,GAAG,CACvI,CAAC;YACJ,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,oDAAoD,QAAQ,GAAG,CAC1I,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,yCAAyC,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,yCAAyC,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,iCAAiC,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,+BAA+B,CAC1G,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,kCAAkC,mBAAmB,GAAG,CACnI,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,oDAAoD,CAC/H,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,oDAAoD,CAC/H,CAAC;IACJ,CAAC;IACD,IACE,iBAAiB,KAAK,SAAS;QAC/B,iBAAiB,KAAK,SAAS;QAC/B,iBAAiB,GAAG,iBAAiB,EACrC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,uDAAuD,CAClI,CAAC;IACJ,CAAC;IACD,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,uBAAuB,GAAG,uBAAuB;aACpD,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;aACtE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,0DAA0D,CACrI,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,mDAAmD,QAAQ,GAAG,CACzI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,2BAA2B,OAAO,CAAC,EAAE,oCAAoC,CAC/G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CACzC,QAAgB,EAChB,OAA6C;IAE7C,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IACzH,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,yCAAyC,CACnH,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,yCAAyC,CACnH,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,GAAG,aAAa,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,+CAA+C,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,+BAA+B,CACzG,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,kCAAkC,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,oCAAoC,CAC9G,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,0BAA0B,OAAO,CAAC,EAAE,mCAAmC,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,KAA8D;IAE9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wEAAwE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oDAAoD,UAAU,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,2BAA2B,CAAC,CAAC;QAClG,CAAC;QACD,IACE,IAAI,CAAC,SAAS,KAAK,gBAAgB;YACnC,IAAI,CAAC,eAAe,KAAK,SAAS;YAClC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAChG,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,2CAA2C,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAyD;IAEzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,2BAA2B,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuD;IAEvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,iEAAiE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,2BAA2B,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,KAA2D;IAE3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uEAAuE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,GAAG,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,wCAAwC,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA2D;IAE3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oEAAoE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA+C;IAC9E,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,gBAAgB;YACnB,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACzE,OAAO;QACT,KAAK,MAAM;YACT,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACpG,CAAC;YACD,OAAO;QACT,KAAK,eAAe;YAClB,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnF,OAAO;QACT,KAAK,KAAK;YACR,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvE,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvE,OAAO;QACT,KAAK,MAAM;YACT,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,CAAC,IAAI,+CAA+C,CAC/F,CAAC;YACJ,CAAC;YACD,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB,EAAE,SAAiB,EAAE,KAAa;IACpF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,IAAI,SAAS,eAAe,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAA2B,EAC3B,kBAAsC;IAEtC,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["export type AssistantWorkflowExecutionBias = \"allow-shortcuts\" | \"llm-first\";\n\nexport type AssistantWorkflowFirstHopToolPolicy = \"auto\" | \"require-tool\";\n\nexport type AssistantWorkflowOptionalToolSelectionMode =\n | \"classifier-confirmed\"\n | \"workflow-suggested\";\n\nexport type AssistantWorkflowToolSelectionProfileCondition = {\n minHop?: number;\n maxHop?: number;\n selectedReason?: string;\n /** `null` explicitly matches classifications without a subintent. */\n subintent?: string | null;\n resolvedScope?: boolean;\n minAttributeCount?: number;\n maxAttributeCount?: number;\n requiredClassifierTools?: readonly string[];\n};\n\nexport type AssistantWorkflowToolSelectionProfile = AssistantWorkflowVocabularyItem & {\n toolHints: readonly string[];\n toolExclusions?: readonly string[];\n condition?: AssistantWorkflowToolSelectionProfileCondition;\n optionalToolSelectionMode?: AssistantWorkflowOptionalToolSelectionMode;\n};\n\nexport type AssistantWorkflowMemoryUse =\n | \"thread-profile-read\"\n | \"thread-profile-write\"\n | \"thread-profile-inject\";\n\nexport type AssistantWorkflowMemoryStorage =\n | \"thread-profile\"\n | \"thread-state\"\n | \"turn\";\n\nexport type AssistantWorkflowMemoryOperation = \"read\" | \"write\" | \"inject\";\n\nexport type AssistantWorkflowMemorySlotDefinition = {\n id: string;\n description: string;\n storage: AssistantWorkflowMemoryStorage;\n profileField?: string;\n maxChars?: number;\n};\n\nexport type AssistantWorkflowMemoryPolicy = {\n read?: readonly string[];\n write?: readonly string[];\n inject?: readonly string[];\n};\n\nexport type AssistantWorkflowPlanningStepKind =\n | \"classify\"\n | \"resolve\"\n | \"retrieve\"\n | \"fetch\"\n | \"derive\"\n | \"build_artifact\"\n | \"ask_clarification\"\n | \"synthesize\"\n | \"generate\";\n\nexport type AssistantWorkflowPlanningStepDefinition = AssistantWorkflowVocabularyItem & {\n kind: AssistantWorkflowPlanningStepKind;\n toolHints?: readonly string[];\n requiredToolHints?: readonly string[];\n readsMemory?: readonly string[];\n writesMemory?: readonly string[];\n optional?: boolean;\n};\n\nexport type AssistantWorkflowPlanningStepProfileCondition = {\n subintent?: string;\n presentation?: string;\n timeWindowHint?: string;\n minConfidence?: number;\n maxConfidence?: number;\n requiredTools?: readonly string[];\n};\n\nexport type AssistantWorkflowPlanningStepProfile = AssistantWorkflowVocabularyItem & {\n planningSteps: readonly string[];\n condition?: AssistantWorkflowPlanningStepProfileCondition;\n};\n\nexport type AssistantWorkflowEntityKind =\n | \"container\"\n | \"attribute\"\n | \"full_topic_path\"\n | \"time_window\";\n\nexport type AssistantWorkflowClarificationCondition =\n | \"low_confidence\"\n | \"missing_required_entity\"\n | \"multiple_entity_candidates\"\n | \"resolver_candidates_ambiguous\"\n | \"fallback_intent\";\n\nexport type AssistantWorkflowClarificationQuestionStyle =\n | \"confirm_intent\"\n | \"choose_entity\"\n | \"ask_scope\"\n | \"ask_next_step\";\n\nexport type AssistantWorkflowClarificationRuleDefinition = AssistantWorkflowVocabularyItem & {\n condition: AssistantWorkflowClarificationCondition;\n questionStyle: AssistantWorkflowClarificationQuestionStyle;\n priority?: number;\n blocksExecution?: boolean;\n /** A host-provided resolved scope satisfies this rule without model-text inference. */\n satisfiedByResolvedScope?: boolean;\n confidenceBelow?: number;\n requiredEntityKinds?: readonly AssistantWorkflowEntityKind[];\n readsMemory?: readonly string[];\n writesMemory?: readonly string[];\n};\n\nexport type AssistantWorkflowToolProvider =\n | \"local-function\"\n | \"http\"\n | \"openai-hosted\"\n | \"mcp\"\n | \"repl\";\n\nexport type AssistantWorkflowToolEffect = \"read\" | \"compute\" | \"write\";\n\nexport type AssistantWorkflowToolSideEffectRisk = \"low\" | \"medium\" | \"high\";\n\nexport type AssistantWorkflowToolCacheability =\n | \"cacheable\"\n | \"request-scoped\"\n | \"not-cacheable\";\n\nexport type AssistantWorkflowToolRetryClass = \"safe\" | \"bounded\" | \"never\";\n\nexport type AssistantWorkflowToolOutputKind =\n | \"catalog\"\n | \"resolver\"\n | \"data\"\n | \"table\"\n | \"chart\"\n | \"link\"\n | \"artifact\"\n | \"evidence\"\n | \"schema\"\n | \"time\"\n | \"text\";\n\nexport type AssistantWorkflowToolContextRequirement =\n | \"auth\"\n | \"topic-scope\"\n | \"document-scope\"\n | \"confirmed-path\"\n | \"dashboard-id\"\n | \"schema-key\";\n\nexport type AssistantWorkflowDirectRouteEffect = \"read\" | \"compute\" | \"write\";\n\nexport type AssistantWorkflowDirectRouteStrategyDefinition = AssistantWorkflowVocabularyItem & {\n requiredToolHints?: readonly string[];\n};\n\nexport type AssistantWorkflowDirectRouteDefinition = AssistantWorkflowVocabularyItem & {\n effect: AssistantWorkflowDirectRouteEffect;\n outcomeRoute?: string;\n requiredToolHints?: readonly string[];\n strategies?: readonly AssistantWorkflowDirectRouteStrategyDefinition[];\n requiresConfirmation?: boolean;\n};\n\nexport type AssistantWorkflowHttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport type AssistantWorkflowVocabularyItem<TId extends string = string> = {\n id: TId;\n description: string;\n};\n\nexport type AssistantWorkflowToolCapabilityDefinition = {\n name: string;\n provider: AssistantWorkflowToolProvider;\n effect: AssistantWorkflowToolEffect;\n sideEffectRisk: AssistantWorkflowToolSideEffectRisk;\n cacheability: AssistantWorkflowToolCacheability;\n retryClass: AssistantWorkflowToolRetryClass;\n outputKinds: readonly AssistantWorkflowToolOutputKind[];\n requiredContext?: readonly AssistantWorkflowToolContextRequirement[];\n requiresConfirmation?: boolean;\n};\n\nexport type AssistantWorkflowLocalFunctionToolBinding = {\n name: string;\n provider: \"local-function\";\n handlerId: string;\n};\n\nexport type AssistantWorkflowHttpToolBinding = {\n name: string;\n provider: \"http\";\n method?: AssistantWorkflowHttpMethod;\n path: string;\n baseUrlRef?: string;\n operationId?: string;\n};\n\nexport type AssistantWorkflowOpenAIHostedToolBinding = {\n name: string;\n provider: \"openai-hosted\";\n hostedToolType: string;\n toolName?: string;\n};\n\nexport type AssistantWorkflowMcpToolBinding = {\n name: string;\n provider: \"mcp\";\n serverId: string;\n toolName: string;\n};\n\nexport type AssistantWorkflowReplToolBinding = {\n name: string;\n provider: \"repl\";\n runtimeId: string;\n functionName?: string;\n commandTemplate?: string;\n allowFilesystem?: boolean;\n allowNetwork?: boolean;\n};\n\nexport type AssistantWorkflowToolBindingDefinition =\n | AssistantWorkflowLocalFunctionToolBinding\n | AssistantWorkflowHttpToolBinding\n | AssistantWorkflowOpenAIHostedToolBinding\n | AssistantWorkflowMcpToolBinding\n | AssistantWorkflowReplToolBinding;\n\nexport type AssistantWorkflowIntentDefinition<\n TIntent extends string = string,\n TPresentation extends string = string,\n> = AssistantWorkflowVocabularyItem<TIntent> & {\n defaultPresentation?: TPresentation | null;\n executionBias?: AssistantWorkflowExecutionBias | null;\n firstHopToolPolicy?: AssistantWorkflowFirstHopToolPolicy | null;\n optionalToolSelectionMode?: AssistantWorkflowOptionalToolSelectionMode;\n toolHints?: readonly string[];\n requiredToolHints?: readonly string[];\n toolSelectionProfiles?: readonly AssistantWorkflowToolSelectionProfile[];\n planningStepProfiles?: readonly AssistantWorkflowPlanningStepProfile[];\n memoryUse?: readonly AssistantWorkflowMemoryUse[];\n memoryPolicy?: AssistantWorkflowMemoryPolicy;\n directRoutes?: readonly string[];\n planningSteps?: readonly string[];\n clarificationRules?: readonly string[];\n plannerInstructions?: readonly string[];\n};\n\nexport type AssistantWorkflowDefinition<\n TIntent extends string = string,\n TSubintent extends string = string,\n TPresentation extends string = string,\n TDerivedTransform extends string = string,\n> = {\n id: string;\n version: number;\n description?: string;\n intents: readonly AssistantWorkflowIntentDefinition<TIntent, TPresentation>[];\n tools?: readonly AssistantWorkflowToolCapabilityDefinition[];\n toolBindings?: readonly AssistantWorkflowToolBindingDefinition[];\n directRoutes?: readonly AssistantWorkflowDirectRouteDefinition[];\n memorySlots?: readonly AssistantWorkflowMemorySlotDefinition[];\n planningSteps?: readonly AssistantWorkflowPlanningStepDefinition[];\n clarificationRules?: readonly AssistantWorkflowClarificationRuleDefinition[];\n subintents?: readonly AssistantWorkflowVocabularyItem<TSubintent>[];\n presentations?: readonly AssistantWorkflowVocabularyItem<TPresentation>[];\n derivedTransforms?: readonly AssistantWorkflowVocabularyItem<TDerivedTransform>[];\n};\n\nexport type AssistantWorkflowPromptFacts = {\n intents: string;\n subintents: string;\n presentations: string;\n derivedTransforms: string;\n};\n\nexport function defineAssistantWorkflow<\n TIntent extends string,\n TSubintent extends string = never,\n TPresentation extends string = never,\n TDerivedTransform extends string = never,\n>(\n definition: AssistantWorkflowDefinition<TIntent, TSubintent, TPresentation, TDerivedTransform>,\n): AssistantWorkflowDefinition<TIntent, TSubintent, TPresentation, TDerivedTransform> {\n assertWorkflowHeader(definition);\n assertUniqueVocabulary(\"intent\", definition.intents);\n assertUniqueVocabulary(\"subintent\", definition.subintents ?? []);\n assertUniqueVocabulary(\"presentation\", definition.presentations ?? []);\n assertUniqueVocabulary(\"derived transform\", definition.derivedTransforms ?? []);\n assertUniqueToolCapabilities(definition.tools ?? []);\n assertUniqueToolBindings(definition.toolBindings ?? []);\n assertUniqueDirectRoutes(definition.directRoutes ?? []);\n assertUniqueMemorySlots(definition.memorySlots ?? []);\n assertUniquePlanningSteps(definition.planningSteps ?? []);\n assertUniqueClarificationRules(definition.clarificationRules ?? []);\n assertIntentReferences(definition);\n return definition;\n}\n\nexport function normalizeAssistantWorkflowId(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n const normalized = value.trim().toLowerCase();\n return normalized.length ? normalized : null;\n}\n\nexport function getAssistantWorkflowIntentIds<TIntent extends string>(\n workflow: AssistantWorkflowDefinition<TIntent, string, string, string>,\n): readonly TIntent[] {\n return workflow.intents.map((intent) => intent.id);\n}\n\nexport function getAssistantWorkflowSubintentIds<TSubintent extends string>(\n workflow: AssistantWorkflowDefinition<string, TSubintent, string, string>,\n): readonly TSubintent[] {\n return (workflow.subintents ?? []).map((subintent) => subintent.id);\n}\n\nexport function getAssistantWorkflowPresentationIds<TPresentation extends string>(\n workflow: AssistantWorkflowDefinition<string, string, TPresentation, string>,\n): readonly TPresentation[] {\n return (workflow.presentations ?? []).map((presentation) => presentation.id);\n}\n\nexport function getAssistantWorkflowDerivedTransformIds<TDerivedTransform extends string>(\n workflow: AssistantWorkflowDefinition<string, string, string, TDerivedTransform>,\n): readonly TDerivedTransform[] {\n return (workflow.derivedTransforms ?? []).map((transform) => transform.id);\n}\n\nexport function findAssistantWorkflowIntent<TIntent extends string, TPresentation extends string>(\n workflow: AssistantWorkflowDefinition<TIntent, string, TPresentation, string>,\n intentId: unknown,\n): AssistantWorkflowIntentDefinition<TIntent, TPresentation> | null {\n const normalized = normalizeAssistantWorkflowId(intentId);\n if (!normalized) return null;\n return workflow.intents.find((intent) => intent.id === normalized) ?? null;\n}\n\nexport function getAssistantWorkflowToolHints(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n intentId: unknown,\n availableToolNames?: readonly string[],\n): string[] {\n const intent = findAssistantWorkflowIntent(workflow, intentId);\n if (!intent) return [];\n return filterWorkflowToolNames(intent.toolHints ?? [], availableToolNames);\n}\n\nexport function getAssistantWorkflowRequiredToolHints(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n intentId: unknown,\n availableToolNames?: readonly string[],\n): string[] {\n const intent = findAssistantWorkflowIntent(workflow, intentId);\n if (!intent) return [];\n return filterWorkflowToolNames(intent.requiredToolHints ?? [], availableToolNames);\n}\n\nexport function formatAssistantWorkflowVocabulary(\n items: readonly AssistantWorkflowVocabularyItem[],\n options: { includeDescriptions?: boolean } = {},\n): string {\n const includeDescriptions = options.includeDescriptions ?? true;\n return items\n .map((item) => {\n const id = item.id.trim();\n const description = item.description.trim();\n return includeDescriptions && description.length ? `${id} = ${description}` : id;\n })\n .filter((entry) => entry.length > 0)\n .join(\"; \");\n}\n\nexport function buildAssistantWorkflowPromptFacts(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): AssistantWorkflowPromptFacts {\n return {\n intents: formatAssistantWorkflowVocabulary(workflow.intents),\n subintents: formatAssistantWorkflowVocabulary(workflow.subintents ?? []),\n presentations: formatAssistantWorkflowVocabulary(workflow.presentations ?? [], { includeDescriptions: false }),\n derivedTransforms: formatAssistantWorkflowVocabulary(workflow.derivedTransforms ?? [], { includeDescriptions: false }),\n };\n}\n\nfunction assertWorkflowHeader(workflow: AssistantWorkflowDefinition<string, string, string, string>): void {\n if (!workflow.id.trim().length) {\n throw new Error(\"Assistant workflow id is required.\");\n }\n if (!Number.isInteger(workflow.version) || workflow.version < 1) {\n throw new Error(\"Assistant workflow version must be a positive integer.\");\n }\n if (!workflow.intents.length) {\n throw new Error(\"Assistant workflow must define at least one intent.\");\n }\n}\n\nfunction assertUniqueVocabulary(\n kind: string,\n items: readonly AssistantWorkflowVocabularyItem[],\n): void {\n const seen = new Set<string>();\n for (const item of items) {\n const normalized = normalizeAssistantWorkflowId(item.id);\n if (!normalized) {\n throw new Error(`Assistant workflow ${kind} id is required.`);\n }\n if (normalized !== item.id) {\n throw new Error(`Assistant workflow ${kind} id must already be normalized: ${item.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow ${kind} id: ${normalized}.`);\n }\n seen.add(normalized);\n }\n}\n\nfunction assertIntentReferences(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): void {\n const toolCapabilities = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool] as const));\n const presentationIds = new Set((workflow.presentations ?? []).map((presentation) => presentation.id));\n const toolNames = new Set(toolCapabilities.keys());\n const directRouteIds = new Set((workflow.directRoutes ?? []).map((route) => route.id));\n const memorySlotIds = new Set((workflow.memorySlots ?? []).map((slot) => slot.id));\n const planningStepIds = new Set((workflow.planningSteps ?? []).map((step) => step.id));\n const clarificationRuleIds = new Set((workflow.clarificationRules ?? []).map((rule) => rule.id));\n const subintentIds = new Set((workflow.subintents ?? []).map((subintent) => subintent.id));\n for (const binding of workflow.toolBindings ?? []) {\n const capability = toolCapabilities.get(binding.name);\n if (toolCapabilities.size > 0 && !capability) {\n throw new Error(`Assistant workflow tool binding references unknown tool capability: ${binding.name}.`);\n }\n if (capability && capability.provider !== binding.provider) {\n throw new Error(\n `Assistant workflow tool binding ${binding.name} provider ${binding.provider} does not match capability provider ${capability.provider}.`,\n );\n }\n }\n for (const step of workflow.planningSteps ?? []) {\n for (const toolName of [...(step.toolHints ?? []), ...(step.requiredToolHints ?? [])]) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow planning step ${step.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n for (const slotId of [...(step.readsMemory ?? []), ...(step.writesMemory ?? [])]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow planning step ${step.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n }\n for (const rule of workflow.clarificationRules ?? []) {\n for (const slotId of [...(rule.readsMemory ?? []), ...(rule.writesMemory ?? [])]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow clarification rule ${rule.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n }\n for (const route of workflow.directRoutes ?? []) {\n for (const toolName of route.requiredToolHints ?? []) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow direct route ${route.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n }\n for (const intent of workflow.intents) {\n assertUniqueToolSelectionProfiles(intent);\n assertUniquePlanningStepProfiles(intent);\n if (intent.defaultPresentation && !presentationIds.has(intent.defaultPresentation)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown presentation: ${intent.defaultPresentation}.`,\n );\n }\n for (const toolName of [...(intent.toolHints ?? []), ...(intent.requiredToolHints ?? [])]) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n for (const [profileIndex, profile] of (intent.toolSelectionProfiles ?? []).entries()) {\n assertToolSelectionProfileCondition(intent.id, profile, toolNames, subintentIds);\n for (const toolName of profile.toolHints) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile ${profile.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n if (!profile.toolHints.length) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile ${profileIndex} must define at least one tool hint.`,\n );\n }\n }\n for (const [profileIndex, profile] of (intent.planningStepProfiles ?? []).entries()) {\n assertPlanningStepProfileCondition(intent.id, profile);\n if (!profile.planningSteps.length) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profileIndex} must define at least one planning step.`,\n );\n }\n for (const stepId of profile.planningSteps) {\n if (planningStepIds.size > 0 && !planningStepIds.has(stepId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown planning step: ${stepId}.`,\n );\n }\n }\n for (const toolName of profile.condition?.requiredTools ?? []) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown required tool: ${toolName}.`,\n );\n }\n }\n const condition = profile.condition;\n if (condition?.subintent && subintentIds.size > 0 && !subintentIds.has(condition.subintent)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown subintent: ${condition.subintent}.`,\n );\n }\n if (condition?.presentation && presentationIds.size > 0 && !presentationIds.has(condition.presentation)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown presentation: ${condition.presentation}.`,\n );\n }\n }\n for (const slotId of [\n ...(intent.memoryPolicy?.read ?? []),\n ...(intent.memoryPolicy?.write ?? []),\n ...(intent.memoryPolicy?.inject ?? []),\n ]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n for (const routeId of intent.directRoutes ?? []) {\n if (directRouteIds.size > 0 && !directRouteIds.has(routeId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown direct route: ${routeId}.`,\n );\n }\n }\n for (const stepId of intent.planningSteps ?? []) {\n if (planningStepIds.size > 0 && !planningStepIds.has(stepId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown planning step: ${stepId}.`,\n );\n }\n }\n for (const ruleId of intent.clarificationRules ?? []) {\n if (clarificationRuleIds.size > 0 && !clarificationRuleIds.has(ruleId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown clarification rule: ${ruleId}.`,\n );\n }\n }\n }\n}\n\nfunction assertUniqueDirectRoutes(routes: readonly AssistantWorkflowDirectRouteDefinition[]): void {\n assertUniqueVocabulary(\"direct route\", routes);\n for (const route of routes) {\n if (route.outcomeRoute !== undefined && !normalizeAssistantWorkflowId(route.outcomeRoute)) {\n throw new Error(`Assistant workflow direct route ${route.id} outcomeRoute must be non-empty when provided.`);\n }\n if (route.outcomeRoute !== undefined && normalizeAssistantWorkflowId(route.outcomeRoute) !== route.outcomeRoute) {\n throw new Error(\n `Assistant workflow direct route ${route.id} outcomeRoute must already be normalized: ${route.outcomeRoute}.`,\n );\n }\n assertUniqueVocabulary(`direct route ${route.id} strategy`, route.strategies ?? []);\n for (const strategy of route.strategies ?? []) {\n if (strategy.id !== normalizeAssistantWorkflowId(strategy.id)) {\n throw new Error(\n `Assistant workflow direct route ${route.id} strategy id must already be normalized: ${strategy.id}.`,\n );\n }\n }\n }\n}\n\nfunction assertUniqueToolSelectionProfiles(intent: AssistantWorkflowIntentDefinition): void {\n const seen = new Set<string>();\n for (const profile of intent.toolSelectionProfiles ?? []) {\n const normalized = normalizeAssistantWorkflowId(profile.id);\n if (!normalized) {\n throw new Error(`Assistant workflow intent ${intent.id} tool selection profile id is required.`);\n }\n if (normalized !== profile.id) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile id must already be normalized: ${profile.id}.`,\n );\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow intent ${intent.id} tool selection profile: ${normalized}.`);\n }\n seen.add(normalized);\n if (!profile.description.trim().length) {\n throw new Error(`Assistant workflow intent ${intent.id} tool selection profile ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniquePlanningStepProfiles(intent: AssistantWorkflowIntentDefinition): void {\n const seen = new Set<string>();\n for (const profile of intent.planningStepProfiles ?? []) {\n const normalized = normalizeAssistantWorkflowId(profile.id);\n if (!normalized) {\n throw new Error(`Assistant workflow intent ${intent.id} planning step profile id is required.`);\n }\n if (normalized !== profile.id) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile id must already be normalized: ${profile.id}.`,\n );\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow intent ${intent.id} planning step profile: ${normalized}.`);\n }\n seen.add(normalized);\n if (!profile.description.trim().length) {\n throw new Error(`Assistant workflow intent ${intent.id} planning step profile ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertToolSelectionProfileCondition(\n intentId: string,\n profile: AssistantWorkflowToolSelectionProfile,\n knownToolNames: ReadonlySet<string>,\n knownSubintentIds: ReadonlySet<string>,\n): void {\n const {\n minHop,\n maxHop,\n selectedReason,\n subintent,\n minAttributeCount,\n maxAttributeCount,\n requiredClassifierTools,\n } = profile.condition ?? {};\n if (profile.toolExclusions !== undefined) {\n const normalizedExcludedTools = profile.toolExclusions\n .filter((toolName): toolName is string => typeof toolName === \"string\")\n .map((toolName) => toolName.trim())\n .filter((toolName) => toolName.length > 0);\n if (!normalizedExcludedTools.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} toolExclusions must contain at least one tool.`,\n );\n }\n const profileToolHints = new Set(profile.toolHints.map((toolName) => toolName.trim()));\n for (const toolName of normalizedExcludedTools) {\n if (!knownToolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown excluded tool capability: ${toolName}.`,\n );\n }\n if (profileToolHints.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} must not both hint and exclude tool capability: ${toolName}.`,\n );\n }\n }\n }\n if (minHop !== undefined && (!Number.isInteger(minHop) || minHop < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minHop must be a non-negative integer.`,\n );\n }\n if (maxHop !== undefined && (!Number.isInteger(maxHop) || maxHop < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} maxHop must be a non-negative integer.`,\n );\n }\n if (minHop !== undefined && maxHop !== undefined && minHop > maxHop) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minHop must not exceed maxHop.`,\n );\n }\n if (subintent !== undefined && subintent !== null) {\n const normalizedSubintent = subintent.trim();\n if (!normalizedSubintent.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} subintent must not be empty.`,\n );\n }\n if (knownSubintentIds.size > 0 && !knownSubintentIds.has(normalizedSubintent)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown subintent: ${normalizedSubintent}.`,\n );\n }\n }\n if (minAttributeCount !== undefined && (!Number.isInteger(minAttributeCount) || minAttributeCount < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minAttributeCount must be a non-negative integer.`,\n );\n }\n if (maxAttributeCount !== undefined && (!Number.isInteger(maxAttributeCount) || maxAttributeCount < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} maxAttributeCount must be a non-negative integer.`,\n );\n }\n if (\n minAttributeCount !== undefined &&\n maxAttributeCount !== undefined &&\n minAttributeCount > maxAttributeCount\n ) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minAttributeCount must not exceed maxAttributeCount.`,\n );\n }\n if (requiredClassifierTools !== undefined) {\n const normalizedRequiredTools = requiredClassifierTools\n .filter((toolName): toolName is string => typeof toolName === \"string\")\n .map((toolName) => toolName.trim())\n .filter((toolName) => toolName.length > 0);\n if (!normalizedRequiredTools.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} requiredClassifierTools must contain at least one tool.`,\n );\n }\n for (const toolName of normalizedRequiredTools) {\n if (!knownToolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown classifier tool capability: ${toolName}.`,\n );\n }\n }\n }\n if (selectedReason !== undefined && !selectedReason.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} selectedReason must not be empty.`,\n );\n }\n}\n\nfunction assertPlanningStepProfileCondition(\n intentId: string,\n profile: AssistantWorkflowPlanningStepProfile,\n): void {\n const { minConfidence, maxConfidence, subintent, presentation, timeWindowHint, requiredTools } = profile.condition ?? {};\n if (minConfidence !== undefined && (!Number.isFinite(minConfidence) || minConfidence < 0 || minConfidence > 1)) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} minConfidence must be between 0 and 1.`,\n );\n }\n if (maxConfidence !== undefined && (!Number.isFinite(maxConfidence) || maxConfidence < 0 || maxConfidence > 1)) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} maxConfidence must be between 0 and 1.`,\n );\n }\n if (minConfidence !== undefined && maxConfidence !== undefined && minConfidence > maxConfidence) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} minConfidence must not exceed maxConfidence.`,\n );\n }\n if (subintent !== undefined && !subintent.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} subintent must not be empty.`,\n );\n }\n if (presentation !== undefined && !presentation.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} presentation must not be empty.`,\n );\n }\n if (timeWindowHint !== undefined && !timeWindowHint.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} timeWindowHint must not be empty.`,\n );\n }\n if (requiredTools !== undefined && requiredTools.length === 0) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} requiredTools must not be empty.`,\n );\n }\n}\n\nfunction assertUniqueClarificationRules(\n rules: readonly AssistantWorkflowClarificationRuleDefinition[],\n): void {\n const seen = new Set<string>();\n for (const rule of rules) {\n const normalized = normalizeAssistantWorkflowId(rule.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow clarification rule id is required.\");\n }\n if (normalized !== rule.id) {\n throw new Error(`Assistant workflow clarification rule id must already be normalized: ${rule.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow clarification rule: ${normalized}.`);\n }\n seen.add(normalized);\n if (!rule.description.trim().length) {\n throw new Error(`Assistant workflow clarification rule ${normalized} description is required.`);\n }\n if (\n rule.condition === \"low_confidence\" &&\n rule.confidenceBelow !== undefined &&\n (!Number.isFinite(rule.confidenceBelow) || rule.confidenceBelow < 0 || rule.confidenceBelow > 1)\n ) {\n throw new Error(`Assistant workflow clarification rule ${normalized} confidenceBelow must be between 0 and 1.`);\n }\n }\n}\n\nfunction assertUniquePlanningSteps(\n steps: readonly AssistantWorkflowPlanningStepDefinition[],\n): void {\n const seen = new Set<string>();\n for (const step of steps) {\n const normalized = normalizeAssistantWorkflowId(step.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow planning step id is required.\");\n }\n if (normalized !== step.id) {\n throw new Error(`Assistant workflow planning step id must already be normalized: ${step.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow planning step: ${normalized}.`);\n }\n seen.add(normalized);\n if (!step.description.trim().length) {\n throw new Error(`Assistant workflow planning step ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniqueMemorySlots(\n slots: readonly AssistantWorkflowMemorySlotDefinition[],\n): void {\n const seen = new Set<string>();\n for (const slot of slots) {\n const normalized = normalizeAssistantWorkflowId(slot.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow memory slot id is required.\");\n }\n if (normalized !== slot.id) {\n throw new Error(`Assistant workflow memory slot id must already be normalized: ${slot.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow memory slot: ${normalized}.`);\n }\n seen.add(normalized);\n if (!slot.description.trim().length) {\n throw new Error(`Assistant workflow memory slot ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniqueToolCapabilities(\n tools: readonly AssistantWorkflowToolCapabilityDefinition[],\n): void {\n const seen = new Set<string>();\n for (const tool of tools) {\n const normalized = normalizeAssistantWorkflowId(tool.name);\n if (!normalized) {\n throw new Error(\"Assistant workflow tool capability name is required.\");\n }\n if (normalized !== tool.name) {\n throw new Error(`Assistant workflow tool capability name must already be normalized: ${tool.name}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow tool capability: ${normalized}.`);\n }\n seen.add(normalized);\n if (!tool.outputKinds.length) {\n throw new Error(`Assistant workflow tool capability ${normalized} must define at least one output kind.`);\n }\n }\n}\n\nfunction assertUniqueToolBindings(\n bindings: readonly AssistantWorkflowToolBindingDefinition[],\n): void {\n const seen = new Set<string>();\n for (const binding of bindings) {\n const normalized = normalizeAssistantWorkflowId(binding.name);\n if (!normalized) {\n throw new Error(\"Assistant workflow tool binding name is required.\");\n }\n if (normalized !== binding.name) {\n throw new Error(`Assistant workflow tool binding name must already be normalized: ${binding.name}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow tool binding: ${normalized}.`);\n }\n seen.add(normalized);\n assertToolBindingTarget(binding);\n }\n}\n\nfunction assertToolBindingTarget(binding: AssistantWorkflowToolBindingDefinition): void {\n switch (binding.provider) {\n case \"local-function\":\n assertNonEmptyBindingField(binding.name, \"handlerId\", binding.handlerId);\n return;\n case \"http\":\n assertNonEmptyBindingField(binding.name, \"path\", binding.path);\n if (binding.method !== undefined && binding.method !== binding.method.toUpperCase()) {\n throw new Error(`Assistant workflow tool binding ${binding.name} HTTP method must be uppercase.`);\n }\n return;\n case \"openai-hosted\":\n assertNonEmptyBindingField(binding.name, \"hostedToolType\", binding.hostedToolType);\n return;\n case \"mcp\":\n assertNonEmptyBindingField(binding.name, \"serverId\", binding.serverId);\n assertNonEmptyBindingField(binding.name, \"toolName\", binding.toolName);\n return;\n case \"repl\":\n assertNonEmptyBindingField(binding.name, \"runtimeId\", binding.runtimeId);\n if (!binding.functionName?.trim().length && !binding.commandTemplate?.trim().length) {\n throw new Error(\n `Assistant workflow tool binding ${binding.name} must define functionName or commandTemplate.`,\n );\n }\n return;\n }\n}\n\nfunction assertNonEmptyBindingField(toolName: string, fieldName: string, value: string): void {\n if (!value.trim().length) {\n throw new Error(`Assistant workflow tool binding ${toolName} ${fieldName} is required.`);\n }\n}\n\nfunction filterWorkflowToolNames(\n rawTools: readonly string[],\n availableToolNames?: readonly string[],\n): string[] {\n const availableSet = availableToolNames ? new Set(availableToolNames) : null;\n const out: string[] = [];\n const seen = new Set<string>();\n for (const rawTool of rawTools) {\n const tool = rawTool.trim();\n if (!tool.length || seen.has(tool)) continue;\n if (availableSet && !availableSet.has(tool)) continue;\n seen.add(tool);\n out.push(tool);\n }\n return out;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertAssistantWorkflowExecutionBudget,\n type AssistantWorkflowExecutionBudget,\n} from \"./execution-budget.js\";\nimport {\n assertAssistantWorkflowExecutionPolicy,\n type AssistantWorkflowExecutionPolicy,\n} from \"./execution-policy.js\";\n\nexport type AssistantWorkflowExecutionBias = \"allow-shortcuts\" | \"llm-first\";\n\nexport type AssistantWorkflowFirstHopToolPolicy = \"auto\" | \"require-tool\";\n\nexport type AssistantWorkflowOptionalToolSelectionMode =\n | \"classifier-confirmed\"\n | \"workflow-suggested\";\n\nexport type AssistantWorkflowToolSelectionProfileCondition = {\n minHop?: number;\n maxHop?: number;\n selectedReason?: string;\n /** `null` explicitly matches classifications without a subintent. */\n subintent?: string | null;\n resolvedScope?: boolean;\n minAttributeCount?: number;\n maxAttributeCount?: number;\n requiredClassifierTools?: readonly string[];\n};\n\nexport type AssistantWorkflowToolSelectionProfile = AssistantWorkflowVocabularyItem & {\n toolHints: readonly string[];\n toolExclusions?: readonly string[];\n condition?: AssistantWorkflowToolSelectionProfileCondition;\n optionalToolSelectionMode?: AssistantWorkflowOptionalToolSelectionMode;\n};\n\nexport type AssistantWorkflowMemoryUse =\n | \"thread-profile-read\"\n | \"thread-profile-write\"\n | \"thread-profile-inject\";\n\nexport type AssistantWorkflowMemoryStorage =\n | \"thread-profile\"\n | \"thread-state\"\n | \"turn\";\n\nexport type AssistantWorkflowMemoryOperation = \"read\" | \"write\" | \"inject\";\n\nexport type AssistantWorkflowMemorySlotDefinition = {\n id: string;\n description: string;\n storage: AssistantWorkflowMemoryStorage;\n profileField?: string;\n maxChars?: number;\n};\n\nexport type AssistantWorkflowMemoryPolicy = {\n read?: readonly string[];\n write?: readonly string[];\n inject?: readonly string[];\n};\n\nexport type AssistantWorkflowPlanningStepKind =\n | \"classify\"\n | \"resolve\"\n | \"retrieve\"\n | \"fetch\"\n | \"derive\"\n | \"build_artifact\"\n | \"ask_clarification\"\n | \"synthesize\"\n | \"generate\";\n\nexport type AssistantWorkflowPlanningStepDefinition = AssistantWorkflowVocabularyItem & {\n kind: AssistantWorkflowPlanningStepKind;\n dependsOn?: readonly string[];\n toolHints?: readonly string[];\n requiredToolHints?: readonly string[];\n readsMemory?: readonly string[];\n writesMemory?: readonly string[];\n optional?: boolean;\n};\n\nexport type AssistantWorkflowPlanningStepProfileCondition = {\n subintent?: string;\n presentation?: string;\n timeWindowHint?: string;\n minConfidence?: number;\n maxConfidence?: number;\n requiredTools?: readonly string[];\n};\n\nexport type AssistantWorkflowPlanningStepProfile = AssistantWorkflowVocabularyItem & {\n planningSteps: readonly string[];\n condition?: AssistantWorkflowPlanningStepProfileCondition;\n};\n\nexport type AssistantWorkflowEntityKind =\n | \"container\"\n | \"attribute\"\n | \"full_topic_path\"\n | \"time_window\";\n\nexport type AssistantWorkflowClarificationCondition =\n | \"low_confidence\"\n | \"missing_required_entity\"\n | \"multiple_entity_candidates\"\n | \"resolver_candidates_ambiguous\"\n | \"fallback_intent\";\n\nexport type AssistantWorkflowClarificationQuestionStyle =\n | \"confirm_intent\"\n | \"choose_entity\"\n | \"ask_scope\"\n | \"ask_next_step\";\n\nexport type AssistantWorkflowClarificationRuleDefinition = AssistantWorkflowVocabularyItem & {\n condition: AssistantWorkflowClarificationCondition;\n questionStyle: AssistantWorkflowClarificationQuestionStyle;\n priority?: number;\n blocksExecution?: boolean;\n /** A host-provided resolved scope satisfies this rule without model-text inference. */\n satisfiedByResolvedScope?: boolean;\n confidenceBelow?: number;\n requiredEntityKinds?: readonly AssistantWorkflowEntityKind[];\n readsMemory?: readonly string[];\n writesMemory?: readonly string[];\n};\n\nexport type AssistantWorkflowToolProvider =\n | \"local-function\"\n | \"http\"\n | \"openai-hosted\"\n | \"mcp\"\n | \"repl\";\n\nexport type AssistantWorkflowToolEffect = \"read\" | \"compute\" | \"write\";\n\nexport type AssistantWorkflowToolSideEffectRisk = \"low\" | \"medium\" | \"high\";\n\nexport type AssistantWorkflowToolCacheability =\n | \"cacheable\"\n | \"request-scoped\"\n | \"not-cacheable\";\n\nexport type AssistantWorkflowToolRetryClass = \"safe\" | \"bounded\" | \"never\";\n\nexport type AssistantWorkflowToolOutputKind =\n | \"catalog\"\n | \"resolver\"\n | \"data\"\n | \"table\"\n | \"chart\"\n | \"link\"\n | \"artifact\"\n | \"evidence\"\n | \"schema\"\n | \"time\"\n | \"text\";\n\nexport type AssistantWorkflowToolContextRequirement =\n | \"auth\"\n | \"topic-scope\"\n | \"document-scope\"\n | \"confirmed-path\"\n | \"dashboard-id\"\n | \"schema-key\";\n\nexport type AssistantWorkflowDirectRouteEffect = \"read\" | \"compute\" | \"write\";\n\nexport type AssistantWorkflowDirectRouteStrategyDefinition = AssistantWorkflowVocabularyItem & {\n requiredToolHints?: readonly string[];\n};\n\nexport type AssistantWorkflowDirectRouteDefinition = AssistantWorkflowVocabularyItem & {\n effect: AssistantWorkflowDirectRouteEffect;\n outcomeRoute?: string;\n requiredToolHints?: readonly string[];\n strategies?: readonly AssistantWorkflowDirectRouteStrategyDefinition[];\n requiresConfirmation?: boolean;\n};\n\nexport type AssistantWorkflowHttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport type AssistantWorkflowVocabularyItem<TId extends string = string> = {\n id: TId;\n description: string;\n};\n\nexport type AssistantWorkflowToolCapabilityDefinition = {\n name: string;\n provider: AssistantWorkflowToolProvider;\n effect: AssistantWorkflowToolEffect;\n sideEffectRisk: AssistantWorkflowToolSideEffectRisk;\n cacheability: AssistantWorkflowToolCacheability;\n retryClass: AssistantWorkflowToolRetryClass;\n outputKinds: readonly AssistantWorkflowToolOutputKind[];\n requiredContext?: readonly AssistantWorkflowToolContextRequirement[];\n requiresConfirmation?: boolean;\n};\n\nexport type AssistantWorkflowLocalFunctionToolBinding = {\n name: string;\n provider: \"local-function\";\n handlerId: string;\n};\n\nexport type AssistantWorkflowHttpToolBinding = {\n name: string;\n provider: \"http\";\n method?: AssistantWorkflowHttpMethod;\n path: string;\n baseUrlRef?: string;\n operationId?: string;\n};\n\nexport type AssistantWorkflowOpenAIHostedToolBinding = {\n name: string;\n provider: \"openai-hosted\";\n hostedToolType: string;\n toolName?: string;\n};\n\nexport type AssistantWorkflowMcpToolBinding = {\n name: string;\n provider: \"mcp\";\n serverId: string;\n toolName: string;\n};\n\nexport type AssistantWorkflowReplToolBinding = {\n name: string;\n provider: \"repl\";\n runtimeId: string;\n functionName?: string;\n commandTemplate?: string;\n allowFilesystem?: boolean;\n allowNetwork?: boolean;\n};\n\nexport type AssistantWorkflowToolBindingDefinition =\n | AssistantWorkflowLocalFunctionToolBinding\n | AssistantWorkflowHttpToolBinding\n | AssistantWorkflowOpenAIHostedToolBinding\n | AssistantWorkflowMcpToolBinding\n | AssistantWorkflowReplToolBinding;\n\nexport type AssistantWorkflowIntentDefinition<\n TIntent extends string = string,\n TPresentation extends string = string,\n> = AssistantWorkflowVocabularyItem<TIntent> & {\n defaultPresentation?: TPresentation | null;\n executionBias?: AssistantWorkflowExecutionBias | null;\n firstHopToolPolicy?: AssistantWorkflowFirstHopToolPolicy | null;\n optionalToolSelectionMode?: AssistantWorkflowOptionalToolSelectionMode;\n toolHints?: readonly string[];\n requiredToolHints?: readonly string[];\n toolSelectionProfiles?: readonly AssistantWorkflowToolSelectionProfile[];\n planningStepProfiles?: readonly AssistantWorkflowPlanningStepProfile[];\n memoryUse?: readonly AssistantWorkflowMemoryUse[];\n memoryPolicy?: AssistantWorkflowMemoryPolicy;\n directRoutes?: readonly string[];\n planningSteps?: readonly string[];\n clarificationRules?: readonly string[];\n plannerInstructions?: readonly string[];\n};\n\nexport type AssistantWorkflowDefinition<\n TIntent extends string = string,\n TSubintent extends string = string,\n TPresentation extends string = string,\n TDerivedTransform extends string = string,\n> = {\n id: string;\n version: number;\n description?: string;\n executionBudget?: AssistantWorkflowExecutionBudget;\n executionPolicy?: AssistantWorkflowExecutionPolicy;\n intents: readonly AssistantWorkflowIntentDefinition<TIntent, TPresentation>[];\n tools?: readonly AssistantWorkflowToolCapabilityDefinition[];\n toolBindings?: readonly AssistantWorkflowToolBindingDefinition[];\n directRoutes?: readonly AssistantWorkflowDirectRouteDefinition[];\n memorySlots?: readonly AssistantWorkflowMemorySlotDefinition[];\n planningSteps?: readonly AssistantWorkflowPlanningStepDefinition[];\n clarificationRules?: readonly AssistantWorkflowClarificationRuleDefinition[];\n subintents?: readonly AssistantWorkflowVocabularyItem<TSubintent>[];\n presentations?: readonly AssistantWorkflowVocabularyItem<TPresentation>[];\n derivedTransforms?: readonly AssistantWorkflowVocabularyItem<TDerivedTransform>[];\n};\n\nexport type AssistantWorkflowPromptFacts = {\n intents: string;\n subintents: string;\n presentations: string;\n derivedTransforms: string;\n};\n\nexport function defineAssistantWorkflow<\n TIntent extends string,\n TSubintent extends string = never,\n TPresentation extends string = never,\n TDerivedTransform extends string = never,\n>(\n definition: AssistantWorkflowDefinition<TIntent, TSubintent, TPresentation, TDerivedTransform>,\n): AssistantWorkflowDefinition<TIntent, TSubintent, TPresentation, TDerivedTransform> {\n assertWorkflowHeader(definition);\n if (definition.executionBudget) {\n assertAssistantWorkflowExecutionBudget(definition.executionBudget);\n }\n if (definition.executionPolicy) {\n assertAssistantWorkflowExecutionPolicy(definition.executionPolicy);\n }\n assertUniqueVocabulary(\"intent\", definition.intents);\n assertUniqueVocabulary(\"subintent\", definition.subintents ?? []);\n assertUniqueVocabulary(\"presentation\", definition.presentations ?? []);\n assertUniqueVocabulary(\"derived transform\", definition.derivedTransforms ?? []);\n assertUniqueToolCapabilities(definition.tools ?? []);\n assertUniqueToolBindings(definition.toolBindings ?? []);\n assertUniqueDirectRoutes(definition.directRoutes ?? []);\n assertUniqueMemorySlots(definition.memorySlots ?? []);\n assertUniquePlanningSteps(definition.planningSteps ?? []);\n assertPlanningStepDependencies(definition.planningSteps ?? []);\n assertUniqueClarificationRules(definition.clarificationRules ?? []);\n assertIntentReferences(definition);\n return definition;\n}\n\nfunction assertPlanningStepDependencies(\n steps: readonly AssistantWorkflowPlanningStepDefinition[],\n): void {\n const stepsById = new Map(steps.map((step) => [step.id, step] as const));\n for (const step of steps) {\n for (const dependencyId of step.dependsOn ?? []) {\n if (dependencyId === step.id) {\n throw new Error(`Assistant workflow planning step ${step.id} must not depend on itself.`);\n }\n if (!stepsById.has(dependencyId)) {\n throw new Error(\n `Assistant workflow planning step ${step.id} references unknown dependency: ${dependencyId}.`,\n );\n }\n }\n }\n\n const visiting = new Set<string>();\n const visited = new Set<string>();\n const visit = (stepId: string): void => {\n if (visited.has(stepId)) return;\n if (visiting.has(stepId)) {\n throw new Error(`Assistant workflow planning step dependencies contain a cycle at: ${stepId}.`);\n }\n visiting.add(stepId);\n for (const dependencyId of stepsById.get(stepId)?.dependsOn ?? []) visit(dependencyId);\n visiting.delete(stepId);\n visited.add(stepId);\n };\n for (const step of steps) visit(step.id);\n}\n\nexport function normalizeAssistantWorkflowId(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n const normalized = value.trim().toLowerCase();\n return normalized.length ? normalized : null;\n}\n\nexport function getAssistantWorkflowIntentIds<TIntent extends string>(\n workflow: AssistantWorkflowDefinition<TIntent, string, string, string>,\n): readonly TIntent[] {\n return workflow.intents.map((intent) => intent.id);\n}\n\nexport function getAssistantWorkflowSubintentIds<TSubintent extends string>(\n workflow: AssistantWorkflowDefinition<string, TSubintent, string, string>,\n): readonly TSubintent[] {\n return (workflow.subintents ?? []).map((subintent) => subintent.id);\n}\n\nexport function getAssistantWorkflowPresentationIds<TPresentation extends string>(\n workflow: AssistantWorkflowDefinition<string, string, TPresentation, string>,\n): readonly TPresentation[] {\n return (workflow.presentations ?? []).map((presentation) => presentation.id);\n}\n\nexport function getAssistantWorkflowDerivedTransformIds<TDerivedTransform extends string>(\n workflow: AssistantWorkflowDefinition<string, string, string, TDerivedTransform>,\n): readonly TDerivedTransform[] {\n return (workflow.derivedTransforms ?? []).map((transform) => transform.id);\n}\n\nexport function findAssistantWorkflowIntent<TIntent extends string, TPresentation extends string>(\n workflow: AssistantWorkflowDefinition<TIntent, string, TPresentation, string>,\n intentId: unknown,\n): AssistantWorkflowIntentDefinition<TIntent, TPresentation> | null {\n const normalized = normalizeAssistantWorkflowId(intentId);\n if (!normalized) return null;\n return workflow.intents.find((intent) => intent.id === normalized) ?? null;\n}\n\nexport function getAssistantWorkflowToolHints(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n intentId: unknown,\n availableToolNames?: readonly string[],\n): string[] {\n const intent = findAssistantWorkflowIntent(workflow, intentId);\n if (!intent) return [];\n return filterWorkflowToolNames(intent.toolHints ?? [], availableToolNames);\n}\n\nexport function getAssistantWorkflowRequiredToolHints(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n intentId: unknown,\n availableToolNames?: readonly string[],\n): string[] {\n const intent = findAssistantWorkflowIntent(workflow, intentId);\n if (!intent) return [];\n return filterWorkflowToolNames(intent.requiredToolHints ?? [], availableToolNames);\n}\n\nexport function formatAssistantWorkflowVocabulary(\n items: readonly AssistantWorkflowVocabularyItem[],\n options: { includeDescriptions?: boolean } = {},\n): string {\n const includeDescriptions = options.includeDescriptions ?? true;\n return items\n .map((item) => {\n const id = item.id.trim();\n const description = item.description.trim();\n return includeDescriptions && description.length ? `${id} = ${description}` : id;\n })\n .filter((entry) => entry.length > 0)\n .join(\"; \");\n}\n\nexport function buildAssistantWorkflowPromptFacts(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): AssistantWorkflowPromptFacts {\n return {\n intents: formatAssistantWorkflowVocabulary(workflow.intents),\n subintents: formatAssistantWorkflowVocabulary(workflow.subintents ?? []),\n presentations: formatAssistantWorkflowVocabulary(workflow.presentations ?? [], { includeDescriptions: false }),\n derivedTransforms: formatAssistantWorkflowVocabulary(workflow.derivedTransforms ?? [], { includeDescriptions: false }),\n };\n}\n\nfunction assertWorkflowHeader(workflow: AssistantWorkflowDefinition<string, string, string, string>): void {\n if (!workflow.id.trim().length) {\n throw new Error(\"Assistant workflow id is required.\");\n }\n if (!Number.isInteger(workflow.version) || workflow.version < 1) {\n throw new Error(\"Assistant workflow version must be a positive integer.\");\n }\n if (!workflow.intents.length) {\n throw new Error(\"Assistant workflow must define at least one intent.\");\n }\n}\n\nfunction assertUniqueVocabulary(\n kind: string,\n items: readonly AssistantWorkflowVocabularyItem[],\n): void {\n const seen = new Set<string>();\n for (const item of items) {\n const normalized = normalizeAssistantWorkflowId(item.id);\n if (!normalized) {\n throw new Error(`Assistant workflow ${kind} id is required.`);\n }\n if (normalized !== item.id) {\n throw new Error(`Assistant workflow ${kind} id must already be normalized: ${item.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow ${kind} id: ${normalized}.`);\n }\n seen.add(normalized);\n }\n}\n\nfunction assertIntentReferences(\n workflow: AssistantWorkflowDefinition<string, string, string, string>,\n): void {\n const toolCapabilities = new Map((workflow.tools ?? []).map((tool) => [tool.name, tool] as const));\n const presentationIds = new Set((workflow.presentations ?? []).map((presentation) => presentation.id));\n const toolNames = new Set(toolCapabilities.keys());\n const directRouteIds = new Set((workflow.directRoutes ?? []).map((route) => route.id));\n const memorySlotIds = new Set((workflow.memorySlots ?? []).map((slot) => slot.id));\n const planningStepIds = new Set((workflow.planningSteps ?? []).map((step) => step.id));\n const clarificationRuleIds = new Set((workflow.clarificationRules ?? []).map((rule) => rule.id));\n const subintentIds = new Set((workflow.subintents ?? []).map((subintent) => subintent.id));\n for (const binding of workflow.toolBindings ?? []) {\n const capability = toolCapabilities.get(binding.name);\n if (toolCapabilities.size > 0 && !capability) {\n throw new Error(`Assistant workflow tool binding references unknown tool capability: ${binding.name}.`);\n }\n if (capability && capability.provider !== binding.provider) {\n throw new Error(\n `Assistant workflow tool binding ${binding.name} provider ${binding.provider} does not match capability provider ${capability.provider}.`,\n );\n }\n }\n for (const step of workflow.planningSteps ?? []) {\n for (const toolName of [...(step.toolHints ?? []), ...(step.requiredToolHints ?? [])]) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow planning step ${step.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n for (const slotId of [...(step.readsMemory ?? []), ...(step.writesMemory ?? [])]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow planning step ${step.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n }\n for (const rule of workflow.clarificationRules ?? []) {\n for (const slotId of [...(rule.readsMemory ?? []), ...(rule.writesMemory ?? [])]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow clarification rule ${rule.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n }\n for (const route of workflow.directRoutes ?? []) {\n for (const toolName of route.requiredToolHints ?? []) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow direct route ${route.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n }\n for (const intent of workflow.intents) {\n assertUniqueToolSelectionProfiles(intent);\n assertUniquePlanningStepProfiles(intent);\n if (intent.defaultPresentation && !presentationIds.has(intent.defaultPresentation)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown presentation: ${intent.defaultPresentation}.`,\n );\n }\n for (const toolName of [...(intent.toolHints ?? []), ...(intent.requiredToolHints ?? [])]) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n for (const [profileIndex, profile] of (intent.toolSelectionProfiles ?? []).entries()) {\n assertToolSelectionProfileCondition(intent.id, profile, toolNames, subintentIds);\n for (const toolName of profile.toolHints) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile ${profile.id} references unknown tool capability: ${toolName}.`,\n );\n }\n }\n if (!profile.toolHints.length) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile ${profileIndex} must define at least one tool hint.`,\n );\n }\n }\n for (const [profileIndex, profile] of (intent.planningStepProfiles ?? []).entries()) {\n assertPlanningStepProfileCondition(intent.id, profile);\n if (!profile.planningSteps.length) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profileIndex} must define at least one planning step.`,\n );\n }\n for (const stepId of profile.planningSteps) {\n if (planningStepIds.size > 0 && !planningStepIds.has(stepId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown planning step: ${stepId}.`,\n );\n }\n }\n for (const toolName of profile.condition?.requiredTools ?? []) {\n if (toolNames.size > 0 && !toolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown required tool: ${toolName}.`,\n );\n }\n }\n const condition = profile.condition;\n if (condition?.subintent && subintentIds.size > 0 && !subintentIds.has(condition.subintent)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown subintent: ${condition.subintent}.`,\n );\n }\n if (condition?.presentation && presentationIds.size > 0 && !presentationIds.has(condition.presentation)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile ${profile.id} references unknown presentation: ${condition.presentation}.`,\n );\n }\n }\n for (const slotId of [\n ...(intent.memoryPolicy?.read ?? []),\n ...(intent.memoryPolicy?.write ?? []),\n ...(intent.memoryPolicy?.inject ?? []),\n ]) {\n if (memorySlotIds.size > 0 && !memorySlotIds.has(slotId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown memory slot: ${slotId}.`,\n );\n }\n }\n for (const routeId of intent.directRoutes ?? []) {\n if (directRouteIds.size > 0 && !directRouteIds.has(routeId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown direct route: ${routeId}.`,\n );\n }\n }\n for (const stepId of intent.planningSteps ?? []) {\n if (planningStepIds.size > 0 && !planningStepIds.has(stepId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown planning step: ${stepId}.`,\n );\n }\n }\n for (const ruleId of intent.clarificationRules ?? []) {\n if (clarificationRuleIds.size > 0 && !clarificationRuleIds.has(ruleId)) {\n throw new Error(\n `Assistant workflow intent ${intent.id} references unknown clarification rule: ${ruleId}.`,\n );\n }\n }\n }\n}\n\nfunction assertUniqueDirectRoutes(routes: readonly AssistantWorkflowDirectRouteDefinition[]): void {\n assertUniqueVocabulary(\"direct route\", routes);\n for (const route of routes) {\n if (route.outcomeRoute !== undefined && !normalizeAssistantWorkflowId(route.outcomeRoute)) {\n throw new Error(`Assistant workflow direct route ${route.id} outcomeRoute must be non-empty when provided.`);\n }\n if (route.outcomeRoute !== undefined && normalizeAssistantWorkflowId(route.outcomeRoute) !== route.outcomeRoute) {\n throw new Error(\n `Assistant workflow direct route ${route.id} outcomeRoute must already be normalized: ${route.outcomeRoute}.`,\n );\n }\n assertUniqueVocabulary(`direct route ${route.id} strategy`, route.strategies ?? []);\n for (const strategy of route.strategies ?? []) {\n if (strategy.id !== normalizeAssistantWorkflowId(strategy.id)) {\n throw new Error(\n `Assistant workflow direct route ${route.id} strategy id must already be normalized: ${strategy.id}.`,\n );\n }\n }\n }\n}\n\nfunction assertUniqueToolSelectionProfiles(intent: AssistantWorkflowIntentDefinition): void {\n const seen = new Set<string>();\n for (const profile of intent.toolSelectionProfiles ?? []) {\n const normalized = normalizeAssistantWorkflowId(profile.id);\n if (!normalized) {\n throw new Error(`Assistant workflow intent ${intent.id} tool selection profile id is required.`);\n }\n if (normalized !== profile.id) {\n throw new Error(\n `Assistant workflow intent ${intent.id} tool selection profile id must already be normalized: ${profile.id}.`,\n );\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow intent ${intent.id} tool selection profile: ${normalized}.`);\n }\n seen.add(normalized);\n if (!profile.description.trim().length) {\n throw new Error(`Assistant workflow intent ${intent.id} tool selection profile ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniquePlanningStepProfiles(intent: AssistantWorkflowIntentDefinition): void {\n const seen = new Set<string>();\n for (const profile of intent.planningStepProfiles ?? []) {\n const normalized = normalizeAssistantWorkflowId(profile.id);\n if (!normalized) {\n throw new Error(`Assistant workflow intent ${intent.id} planning step profile id is required.`);\n }\n if (normalized !== profile.id) {\n throw new Error(\n `Assistant workflow intent ${intent.id} planning step profile id must already be normalized: ${profile.id}.`,\n );\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow intent ${intent.id} planning step profile: ${normalized}.`);\n }\n seen.add(normalized);\n if (!profile.description.trim().length) {\n throw new Error(`Assistant workflow intent ${intent.id} planning step profile ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertToolSelectionProfileCondition(\n intentId: string,\n profile: AssistantWorkflowToolSelectionProfile,\n knownToolNames: ReadonlySet<string>,\n knownSubintentIds: ReadonlySet<string>,\n): void {\n const {\n minHop,\n maxHop,\n selectedReason,\n subintent,\n minAttributeCount,\n maxAttributeCount,\n requiredClassifierTools,\n } = profile.condition ?? {};\n if (profile.toolExclusions !== undefined) {\n const normalizedExcludedTools = profile.toolExclusions\n .filter((toolName): toolName is string => typeof toolName === \"string\")\n .map((toolName) => toolName.trim())\n .filter((toolName) => toolName.length > 0);\n if (!normalizedExcludedTools.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} toolExclusions must contain at least one tool.`,\n );\n }\n const profileToolHints = new Set(profile.toolHints.map((toolName) => toolName.trim()));\n for (const toolName of normalizedExcludedTools) {\n if (!knownToolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown excluded tool capability: ${toolName}.`,\n );\n }\n if (profileToolHints.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} must not both hint and exclude tool capability: ${toolName}.`,\n );\n }\n }\n }\n if (minHop !== undefined && (!Number.isInteger(minHop) || minHop < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minHop must be a non-negative integer.`,\n );\n }\n if (maxHop !== undefined && (!Number.isInteger(maxHop) || maxHop < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} maxHop must be a non-negative integer.`,\n );\n }\n if (minHop !== undefined && maxHop !== undefined && minHop > maxHop) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minHop must not exceed maxHop.`,\n );\n }\n if (subintent !== undefined && subintent !== null) {\n const normalizedSubintent = subintent.trim();\n if (!normalizedSubintent.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} subintent must not be empty.`,\n );\n }\n if (knownSubintentIds.size > 0 && !knownSubintentIds.has(normalizedSubintent)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown subintent: ${normalizedSubintent}.`,\n );\n }\n }\n if (minAttributeCount !== undefined && (!Number.isInteger(minAttributeCount) || minAttributeCount < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minAttributeCount must be a non-negative integer.`,\n );\n }\n if (maxAttributeCount !== undefined && (!Number.isInteger(maxAttributeCount) || maxAttributeCount < 0)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} maxAttributeCount must be a non-negative integer.`,\n );\n }\n if (\n minAttributeCount !== undefined &&\n maxAttributeCount !== undefined &&\n minAttributeCount > maxAttributeCount\n ) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} minAttributeCount must not exceed maxAttributeCount.`,\n );\n }\n if (requiredClassifierTools !== undefined) {\n const normalizedRequiredTools = requiredClassifierTools\n .filter((toolName): toolName is string => typeof toolName === \"string\")\n .map((toolName) => toolName.trim())\n .filter((toolName) => toolName.length > 0);\n if (!normalizedRequiredTools.length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} requiredClassifierTools must contain at least one tool.`,\n );\n }\n for (const toolName of normalizedRequiredTools) {\n if (!knownToolNames.has(toolName)) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} references unknown classifier tool capability: ${toolName}.`,\n );\n }\n }\n }\n if (selectedReason !== undefined && !selectedReason.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} tool selection profile ${profile.id} selectedReason must not be empty.`,\n );\n }\n}\n\nfunction assertPlanningStepProfileCondition(\n intentId: string,\n profile: AssistantWorkflowPlanningStepProfile,\n): void {\n const { minConfidence, maxConfidence, subintent, presentation, timeWindowHint, requiredTools } = profile.condition ?? {};\n if (minConfidence !== undefined && (!Number.isFinite(minConfidence) || minConfidence < 0 || minConfidence > 1)) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} minConfidence must be between 0 and 1.`,\n );\n }\n if (maxConfidence !== undefined && (!Number.isFinite(maxConfidence) || maxConfidence < 0 || maxConfidence > 1)) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} maxConfidence must be between 0 and 1.`,\n );\n }\n if (minConfidence !== undefined && maxConfidence !== undefined && minConfidence > maxConfidence) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} minConfidence must not exceed maxConfidence.`,\n );\n }\n if (subintent !== undefined && !subintent.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} subintent must not be empty.`,\n );\n }\n if (presentation !== undefined && !presentation.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} presentation must not be empty.`,\n );\n }\n if (timeWindowHint !== undefined && !timeWindowHint.trim().length) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} timeWindowHint must not be empty.`,\n );\n }\n if (requiredTools !== undefined && requiredTools.length === 0) {\n throw new Error(\n `Assistant workflow intent ${intentId} planning step profile ${profile.id} requiredTools must not be empty.`,\n );\n }\n}\n\nfunction assertUniqueClarificationRules(\n rules: readonly AssistantWorkflowClarificationRuleDefinition[],\n): void {\n const seen = new Set<string>();\n for (const rule of rules) {\n const normalized = normalizeAssistantWorkflowId(rule.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow clarification rule id is required.\");\n }\n if (normalized !== rule.id) {\n throw new Error(`Assistant workflow clarification rule id must already be normalized: ${rule.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow clarification rule: ${normalized}.`);\n }\n seen.add(normalized);\n if (!rule.description.trim().length) {\n throw new Error(`Assistant workflow clarification rule ${normalized} description is required.`);\n }\n if (\n rule.condition === \"low_confidence\" &&\n rule.confidenceBelow !== undefined &&\n (!Number.isFinite(rule.confidenceBelow) || rule.confidenceBelow < 0 || rule.confidenceBelow > 1)\n ) {\n throw new Error(`Assistant workflow clarification rule ${normalized} confidenceBelow must be between 0 and 1.`);\n }\n }\n}\n\nfunction assertUniquePlanningSteps(\n steps: readonly AssistantWorkflowPlanningStepDefinition[],\n): void {\n const seen = new Set<string>();\n for (const step of steps) {\n const normalized = normalizeAssistantWorkflowId(step.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow planning step id is required.\");\n }\n if (normalized !== step.id) {\n throw new Error(`Assistant workflow planning step id must already be normalized: ${step.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow planning step: ${normalized}.`);\n }\n seen.add(normalized);\n if (!step.description.trim().length) {\n throw new Error(`Assistant workflow planning step ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniqueMemorySlots(\n slots: readonly AssistantWorkflowMemorySlotDefinition[],\n): void {\n const seen = new Set<string>();\n for (const slot of slots) {\n const normalized = normalizeAssistantWorkflowId(slot.id);\n if (!normalized) {\n throw new Error(\"Assistant workflow memory slot id is required.\");\n }\n if (normalized !== slot.id) {\n throw new Error(`Assistant workflow memory slot id must already be normalized: ${slot.id}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow memory slot: ${normalized}.`);\n }\n seen.add(normalized);\n if (!slot.description.trim().length) {\n throw new Error(`Assistant workflow memory slot ${normalized} description is required.`);\n }\n }\n}\n\nfunction assertUniqueToolCapabilities(\n tools: readonly AssistantWorkflowToolCapabilityDefinition[],\n): void {\n const seen = new Set<string>();\n for (const tool of tools) {\n const normalized = normalizeAssistantWorkflowId(tool.name);\n if (!normalized) {\n throw new Error(\"Assistant workflow tool capability name is required.\");\n }\n if (normalized !== tool.name) {\n throw new Error(`Assistant workflow tool capability name must already be normalized: ${tool.name}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow tool capability: ${normalized}.`);\n }\n seen.add(normalized);\n if (!tool.outputKinds.length) {\n throw new Error(`Assistant workflow tool capability ${normalized} must define at least one output kind.`);\n }\n }\n}\n\nfunction assertUniqueToolBindings(\n bindings: readonly AssistantWorkflowToolBindingDefinition[],\n): void {\n const seen = new Set<string>();\n for (const binding of bindings) {\n const normalized = normalizeAssistantWorkflowId(binding.name);\n if (!normalized) {\n throw new Error(\"Assistant workflow tool binding name is required.\");\n }\n if (normalized !== binding.name) {\n throw new Error(`Assistant workflow tool binding name must already be normalized: ${binding.name}.`);\n }\n if (seen.has(normalized)) {\n throw new Error(`Duplicate assistant workflow tool binding: ${normalized}.`);\n }\n seen.add(normalized);\n assertToolBindingTarget(binding);\n }\n}\n\nfunction assertToolBindingTarget(binding: AssistantWorkflowToolBindingDefinition): void {\n switch (binding.provider) {\n case \"local-function\":\n assertNonEmptyBindingField(binding.name, \"handlerId\", binding.handlerId);\n return;\n case \"http\":\n assertNonEmptyBindingField(binding.name, \"path\", binding.path);\n if (binding.method !== undefined && binding.method !== binding.method.toUpperCase()) {\n throw new Error(`Assistant workflow tool binding ${binding.name} HTTP method must be uppercase.`);\n }\n return;\n case \"openai-hosted\":\n assertNonEmptyBindingField(binding.name, \"hostedToolType\", binding.hostedToolType);\n return;\n case \"mcp\":\n assertNonEmptyBindingField(binding.name, \"serverId\", binding.serverId);\n assertNonEmptyBindingField(binding.name, \"toolName\", binding.toolName);\n return;\n case \"repl\":\n assertNonEmptyBindingField(binding.name, \"runtimeId\", binding.runtimeId);\n if (!binding.functionName?.trim().length && !binding.commandTemplate?.trim().length) {\n throw new Error(\n `Assistant workflow tool binding ${binding.name} must define functionName or commandTemplate.`,\n );\n }\n return;\n }\n}\n\nfunction assertNonEmptyBindingField(toolName: string, fieldName: string, value: string): void {\n if (!value.trim().length) {\n throw new Error(`Assistant workflow tool binding ${toolName} ${fieldName} is required.`);\n }\n}\n\nfunction filterWorkflowToolNames(\n rawTools: readonly string[],\n availableToolNames?: readonly string[],\n): string[] {\n const availableSet = availableToolNames ? new Set(availableToolNames) : null;\n const out: string[] = [];\n const seen = new Set<string>();\n for (const rawTool of rawTools) {\n const tool = rawTool.trim();\n if (!tool.length || seen.has(tool)) continue;\n if (availableSet && !availableSet.has(tool)) continue;\n seen.add(tool);\n out.push(tool);\n }\n return out;\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const ASSISTANT_WORKFLOW_EXECUTION_BUDGET_LIMITS: Readonly<{
|
|
2
|
+
maxPlanningSteps: 32;
|
|
3
|
+
maxToolCalls: 16;
|
|
4
|
+
maxProviderCalls: 8;
|
|
5
|
+
maxDurationMs: 300000;
|
|
6
|
+
maxEvidenceBytes: 1000000;
|
|
7
|
+
}>;
|
|
8
|
+
export type AssistantWorkflowExecutionBudget = {
|
|
9
|
+
maxPlanningSteps: number;
|
|
10
|
+
maxToolCalls: number;
|
|
11
|
+
maxProviderCalls: number;
|
|
12
|
+
maxDurationMs: number;
|
|
13
|
+
maxEvidenceBytes: number;
|
|
14
|
+
};
|
|
15
|
+
export type AssistantWorkflowExecutionBudgetUsage = {
|
|
16
|
+
planningStepCount: number;
|
|
17
|
+
toolCallCount: number;
|
|
18
|
+
providerCallCount: number;
|
|
19
|
+
elapsedMs: number;
|
|
20
|
+
evidenceBytes: number;
|
|
21
|
+
};
|
|
22
|
+
export type AssistantWorkflowExecutionBudgetViolationCode = "planning_steps_exceeded" | "tool_calls_exceeded" | "provider_calls_exceeded" | "duration_exceeded" | "evidence_bytes_exceeded";
|
|
23
|
+
export type AssistantWorkflowExecutionBudgetViolation = {
|
|
24
|
+
code: AssistantWorkflowExecutionBudgetViolationCode;
|
|
25
|
+
actual: number;
|
|
26
|
+
limit: number;
|
|
27
|
+
};
|
|
28
|
+
export type AssistantWorkflowExecutionBudgetAssessment = {
|
|
29
|
+
status: "within-budget" | "blocked";
|
|
30
|
+
budget: AssistantWorkflowExecutionBudget;
|
|
31
|
+
usage: AssistantWorkflowExecutionBudgetUsage;
|
|
32
|
+
violations: AssistantWorkflowExecutionBudgetViolation[];
|
|
33
|
+
};
|
|
34
|
+
export declare function assertAssistantWorkflowExecutionBudget(budget: AssistantWorkflowExecutionBudget): void;
|
|
35
|
+
export declare function buildAssistantWorkflowExecutionBudgetAssessment(budget: AssistantWorkflowExecutionBudget, usage?: Partial<AssistantWorkflowExecutionBudgetUsage>): AssistantWorkflowExecutionBudgetAssessment;
|
|
36
|
+
export declare function buildAssistantWorkflowExecutionBudgetTracePayload(assessment: AssistantWorkflowExecutionBudgetAssessment): Record<string, unknown>;
|
|
37
|
+
export declare function formatAssistantWorkflowExecutionBudgetViolation(violation: AssistantWorkflowExecutionBudgetViolation): string;
|
|
38
|
+
//# sourceMappingURL=execution-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-budget.d.ts","sourceRoot":"","sources":["../src/execution-budget.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0CAA0C;;;;;;EAMrD,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,6CAA6C,GACrD,yBAAyB,GACzB,qBAAqB,GACrB,yBAAyB,GACzB,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,6CAA6C,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,gCAAgC,CAAC;IACzC,KAAK,EAAE,qCAAqC,CAAC;IAC7C,UAAU,EAAE,yCAAyC,EAAE,CAAC;CACzD,CAAC;AAEF,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,gCAAgC,GACvC,IAAI,CAMN;AAED,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,gCAAgC,EACxC,KAAK,GAAE,OAAO,CAAC,qCAAqC,CAAM,GACzD,0CAA0C,CAuB5C;AAED,wBAAgB,iDAAiD,CAC/D,UAAU,EAAE,0CAA0C,GACrD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,wBAAgB,+CAA+C,CAC7D,SAAS,EAAE,yCAAyC,GACnD,MAAM,CAER"}
|