@sixb/core 0.1.0 → 0.1.1
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/README.md +24 -4
- package/dist/actions/index.js +17 -17
- package/dist/actions/worker.js +7 -7
- package/dist/actions/worker.js.map +1 -1
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/builders.d.ts +8 -1
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/context.js +2 -2
- package/dist/agents/errors.d.ts +15 -0
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.d.ts +4 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +30 -11
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/tool-definition.d.ts +9 -0
- package/dist/agents/tool-definition.d.ts.map +1 -0
- package/dist/agents/types.d.ts +64 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +14 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/auth/index.js +4 -4
- package/dist/authorization/index.js +3 -3
- package/dist/blob-storage/browser.js +3 -2
- package/dist/blob-storage/browser.js.map +1 -1
- package/dist/blob-storage/index.js +4 -3
- package/dist/blob-storage/index.js.map +1 -1
- package/dist/blob-storage/validation.d.ts.map +1 -1
- package/dist/bootstrap/index.js +25 -25
- package/dist/broker/index.js +2 -2
- package/dist/{chunk-590dejbp.js → chunk-4hwxq5e6.js} +1 -1
- package/dist/{chunk-wj01s5hr.js → chunk-4tvj3ate.js} +1 -1
- package/dist/{chunk-tsk2bxs3.js → chunk-53s4asfm.js} +13 -13
- package/dist/{chunk-tsk2bxs3.js.map → chunk-53s4asfm.js.map} +3 -3
- package/dist/{chunk-8r8cw2xw.js → chunk-63te770v.js} +40 -5
- package/dist/{chunk-8r8cw2xw.js.map → chunk-63te770v.js.map} +3 -3
- package/dist/{chunk-vj723r3p.js → chunk-6rzdtvn5.js} +1 -1
- package/dist/{chunk-5yny9z0e.js → chunk-6zrpewy4.js} +1 -1
- package/dist/{chunk-nvamz5dv.js → chunk-86459jn0.js} +294 -22
- package/dist/chunk-86459jn0.js.map +22 -0
- package/dist/{chunk-p6r5g77m.js → chunk-8kv2sez0.js} +1 -1
- package/dist/{chunk-k41ajtz7.js → chunk-9k3hgv8h.js} +1 -1
- package/dist/{chunk-jdwx7vzs.js → chunk-avppcgt6.js} +7 -7
- package/dist/{chunk-jdwx7vzs.js.map → chunk-avppcgt6.js.map} +1 -1
- package/dist/{chunk-2gpr6jsz.js → chunk-b1bqvhpe.js} +2 -2
- package/dist/{chunk-pv1yad91.js → chunk-b5dp7gaf.js} +17 -90
- package/dist/{chunk-pv1yad91.js.map → chunk-b5dp7gaf.js.map} +5 -6
- package/dist/{chunk-1vffvydj.js → chunk-be9vm29v.js} +6 -6
- package/dist/chunk-be9vm29v.js.map +10 -0
- package/dist/{chunk-wxhdnwh4.js → chunk-bh8bwma3.js} +1 -1
- package/dist/{chunk-0psb6kdw.js → chunk-btcsywk4.js} +12 -16
- package/dist/{chunk-0psb6kdw.js.map → chunk-btcsywk4.js.map} +3 -3
- package/dist/{chunk-0fygrz37.js → chunk-exrfbt2d.js} +1 -1
- package/dist/{chunk-c3zd880g.js → chunk-f6kyyeef.js} +2 -2
- package/dist/{chunk-q4qzq0ea.js → chunk-hb9xcx9c.js} +3 -3
- package/dist/{chunk-4pycxcj3.js → chunk-hz8m927w.js} +6 -9
- package/dist/{chunk-4pycxcj3.js.map → chunk-hz8m927w.js.map} +3 -3
- package/dist/{chunk-btpe64e4.js → chunk-m9w0artv.js} +1 -1
- package/dist/{chunk-45tw90k7.js → chunk-md9jbrm9.js} +1 -1
- package/dist/{chunk-dhmj53mx.js → chunk-nbywkytr.js} +3 -3
- package/dist/{chunk-t358gywy.js → chunk-p7vj8xgb.js} +8 -8
- package/dist/{chunk-2s6sydsh.js → chunk-qzyemcj7.js} +294 -4
- package/dist/chunk-qzyemcj7.js.map +13 -0
- package/dist/{chunk-r65yscvk.js → chunk-r82k4z7z.js} +131 -13
- package/dist/chunk-r82k4z7z.js.map +13 -0
- package/dist/{chunk-aebzcsxr.js → chunk-raq0x6bd.js} +11 -9
- package/dist/{chunk-aebzcsxr.js.map → chunk-raq0x6bd.js.map} +4 -4
- package/dist/{chunk-hsv43v58.js → chunk-rgzed50y.js} +77 -22
- package/dist/chunk-rgzed50y.js.map +22 -0
- package/dist/{chunk-yvef9xwc.js → chunk-rjqm6ksg.js} +7 -7
- package/dist/{chunk-f2b5e2gf.js → chunk-sb0shdvv.js} +18 -3
- package/dist/{chunk-f2b5e2gf.js.map → chunk-sb0shdvv.js.map} +3 -3
- package/dist/{chunk-dcgrzj1t.js → chunk-xt6qx9sh.js} +1 -1
- package/dist/{chunk-mx84y05q.js → chunk-y2ygpd0m.js} +2 -2
- package/dist/{chunk-yxss87qa.js → chunk-yn947ck3.js} +1 -1
- package/dist/datasets/builders.d.ts +18 -5
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/changes.d.ts +18 -0
- package/dist/datasets/changes.d.ts.map +1 -0
- package/dist/datasets/index.d.ts +3 -1
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/types.d.ts +2 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/events/index.js +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -58
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +8 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/lake-storage/definition-updates.d.ts.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +15 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +3 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +15 -7
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/merge-validation.d.ts +10 -0
- package/dist/lake-storage/merge-validation.d.ts.map +1 -0
- package/dist/lake-storage/merge.d.ts +32 -0
- package/dist/lake-storage/merge.d.ts.map +1 -0
- package/dist/lake-storage/types.d.ts +3 -1
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/logging/index.js +3 -3
- package/dist/logging/types.js +2 -2
- package/dist/materialization/index.js +2 -2
- package/dist/materializer/index.js +15 -15
- package/dist/materializer/index.js.map +1 -1
- package/dist/objects/index.js +17 -17
- package/dist/objects/query/index.js +8 -8
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/internal.js +7 -6
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/validation/normalize.d.ts.map +1 -1
- package/dist/projections/internal.js +4 -4
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +16 -16
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/ontology/provider.js +4 -4
- package/dist/storage/sync-runs/index.d.ts +1 -1
- package/dist/storage/sync-runs/index.d.ts.map +1 -1
- package/dist/storage/sync-runs/types.d.ts +7 -3
- package/dist/storage/sync-runs/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +2 -0
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/builders.d.ts +11 -3
- package/dist/syncs/builders.d.ts.map +1 -1
- package/dist/syncs/index.d.ts +1 -1
- package/dist/syncs/index.d.ts.map +1 -1
- package/dist/syncs/types.d.ts +24 -19
- package/dist/syncs/types.d.ts.map +1 -1
- package/dist/syncs/validation.d.ts +14 -0
- package/dist/syncs/validation.d.ts.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +837 -583
- package/dist/testing/index.js.map +5 -4
- package/dist/testing/lake-merge-storage-contract.d.ts +7 -0
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -0
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/workflows/index.js +23 -23
- package/package.json +1 -1
- package/src/agents/adapters.ts +1 -9
- package/src/agents/builders.ts +53 -3
- package/src/agents/errors.ts +22 -0
- package/src/agents/index.ts +22 -2
- package/src/agents/prompt.ts +2 -2
- package/src/agents/tool-definition.ts +93 -0
- package/src/agents/types.ts +101 -0
- package/src/agents/validation.ts +287 -3
- package/src/blob-storage/validation.ts +2 -10
- package/src/datasets/builders.ts +49 -5
- package/src/datasets/changes.ts +13 -0
- package/src/datasets/index.ts +3 -0
- package/src/datasets/types.ts +5 -0
- package/src/datasets/validation.ts +53 -11
- package/src/http/api-routes.ts +39 -4
- package/src/index.ts +18 -1
- package/src/json.ts +11 -4
- package/src/lake-storage/definition-updates.ts +21 -0
- package/src/lake-storage/in-memory.ts +284 -2
- package/src/lake-storage/index.ts +14 -0
- package/src/lake-storage/merge-validation.ts +117 -0
- package/src/lake-storage/merge.ts +35 -0
- package/src/lake-storage/types.ts +3 -1
- package/src/ontology/json-schema.ts +2 -1
- package/src/ontology/validation/normalize.ts +9 -15
- package/src/runtime/sixb.ts +16 -1
- package/src/storage/index.ts +1 -0
- package/src/storage/sync-runs/in-memory.ts +2 -2
- package/src/storage/sync-runs/index.ts +1 -0
- package/src/storage/sync-runs/types.ts +9 -4
- package/src/storage/types.ts +1 -0
- package/src/storage/workflow-runs/in-memory.ts +2 -0
- package/src/storage/workflow-runs/types.ts +2 -0
- package/src/syncs/builders.ts +31 -13
- package/src/syncs/index.ts +1 -0
- package/src/syncs/types.ts +44 -18
- package/src/syncs/validation.ts +77 -0
- package/src/testing/index.ts +4 -0
- package/src/testing/lake-merge-storage-contract.ts +302 -0
- package/src/testing/lake-storage-contract.ts +23 -0
- package/src/workflows/snapshot.ts +1 -10
- package/dist/chunk-1vffvydj.js.map +0 -10
- package/dist/chunk-2s6sydsh.js.map +0 -12
- package/dist/chunk-hsv43v58.js.map +0 -21
- package/dist/chunk-nvamz5dv.js.map +0 -21
- package/dist/chunk-r65yscvk.js.map +0 -11
- /package/dist/{chunk-590dejbp.js.map → chunk-4hwxq5e6.js.map} +0 -0
- /package/dist/{chunk-wj01s5hr.js.map → chunk-4tvj3ate.js.map} +0 -0
- /package/dist/{chunk-vj723r3p.js.map → chunk-6rzdtvn5.js.map} +0 -0
- /package/dist/{chunk-5yny9z0e.js.map → chunk-6zrpewy4.js.map} +0 -0
- /package/dist/{chunk-p6r5g77m.js.map → chunk-8kv2sez0.js.map} +0 -0
- /package/dist/{chunk-k41ajtz7.js.map → chunk-9k3hgv8h.js.map} +0 -0
- /package/dist/{chunk-2gpr6jsz.js.map → chunk-b1bqvhpe.js.map} +0 -0
- /package/dist/{chunk-wxhdnwh4.js.map → chunk-bh8bwma3.js.map} +0 -0
- /package/dist/{chunk-0fygrz37.js.map → chunk-exrfbt2d.js.map} +0 -0
- /package/dist/{chunk-c3zd880g.js.map → chunk-f6kyyeef.js.map} +0 -0
- /package/dist/{chunk-q4qzq0ea.js.map → chunk-hb9xcx9c.js.map} +0 -0
- /package/dist/{chunk-btpe64e4.js.map → chunk-m9w0artv.js.map} +0 -0
- /package/dist/{chunk-45tw90k7.js.map → chunk-md9jbrm9.js.map} +0 -0
- /package/dist/{chunk-dhmj53mx.js.map → chunk-nbywkytr.js.map} +0 -0
- /package/dist/{chunk-t358gywy.js.map → chunk-p7vj8xgb.js.map} +0 -0
- /package/dist/{chunk-yvef9xwc.js.map → chunk-rjqm6ksg.js.map} +0 -0
- /package/dist/{chunk-dcgrzj1t.js.map → chunk-xt6qx9sh.js.map} +0 -0
- /package/dist/{chunk-mx84y05q.js.map → chunk-y2ygpd0m.js.map} +0 -0
- /package/dist/{chunk-yxss87qa.js.map → chunk-yn947ck3.js.map} +0 -0
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"import { isActionDefinition } from \"../actions\"\nimport { isAgentDefinition } from \"../agents\"\nimport type { SchemaOrRef, ValueType } from \"../ontology\"\nimport { validateSchemaOrRefValue } from \"../ontology\"\nimport type { ScheduleDefinition } from \"../schedules\"\nimport { WorkflowDefinitionError, WorkflowValidationError } from \"./errors\"\nimport type {\n AgentStepDefinition,\n InterventionDefinition,\n InterventionFieldConfig,\n InterventionResponseConfig,\n StepDefinition,\n WorkflowActionNodeDefinition,\n WorkflowAgentNodeDefinition,\n WorkflowDefinition,\n WorkflowInterventionNodeDefinition,\n WorkflowNodeDefinition,\n WorkflowStepNodeDefinition,\n WorkflowTriggerDefinition,\n} from \"./types\"\n\nexport function assertNonEmpty(\n value: string,\n subject: \"Step\" | \"Agent step\" | \"Workflow\" | \"Intervention\",\n field: string\n): void {\n if (!value.trim()) {\n throw new WorkflowDefinitionError(`${subject} ${field} must not be empty.`)\n }\n}\n\nexport function isStepDefinition(value: unknown): value is StepDefinition {\n return (\n isRecord(value) &&\n value.kind === \"step\" &&\n typeof value.id === \"string\" &&\n isRecord(value.input) &&\n isRecord(value.output) &&\n typeof value.handler === \"function\"\n )\n}\n\nexport function isAgentStepDefinition(value: unknown): value is AgentStepDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agentStep\" &&\n typeof value.id === \"string\" &&\n isAgentDefinition(value.agent) &&\n isRecord(value.input) &&\n isRecord(value.output) &&\n typeof value.prompt === \"function\"\n )\n}\n\nexport function isInterventionDefinition(value: unknown): value is InterventionDefinition {\n return (\n isRecord(value) &&\n value.kind === \"intervention\" &&\n typeof value.id === \"string\" &&\n isRecord(value.input) &&\n isRecord(value.response) &&\n (value.defaults === undefined || typeof value.defaults === \"function\")\n )\n}\n\nexport function isWorkflowDefinition(value: unknown): value is WorkflowDefinition {\n return (\n isRecord(value) &&\n value.kind === \"workflow\" &&\n typeof value.id === \"string\" &&\n isRecord(value.input) &&\n Array.isArray(value.triggers) &&\n Array.isArray(value.nodes)\n )\n}\n\nexport function validateWorkflowDefinition(value: unknown): asserts value is WorkflowDefinition {\n if (!isWorkflowDefinition(value)) {\n throw new WorkflowDefinitionError(\"Invalid workflow definition.\")\n }\n\n assertNonEmpty(value.id, \"Workflow\", \"id\")\n\n if (value.nodes.length === 0) {\n throw new WorkflowDefinitionError(`Workflow \"${value.id}\" must contain at least one node.`)\n }\n\n const nodeIds = new Set<string>()\n const nodeKeys = new Set<string>()\n\n for (const node of value.nodes) {\n validateWorkflowNodeDefinition(value.id, node)\n\n if (nodeIds.has(node.id)) {\n throw new WorkflowDefinitionError(\n `Duplicate workflow node id \"${node.id}\" in workflow \"${value.id}\".`\n )\n }\n nodeIds.add(node.id)\n\n if (nodeKeys.has(node.key)) {\n throw new WorkflowDefinitionError(\n `Duplicate workflow node key \"${node.key}\" in workflow \"${value.id}\".`\n )\n }\n nodeKeys.add(node.key)\n }\n}\n\nexport function validateWorkflowsAtStartup(options: {\n workflows: readonly WorkflowDefinition[]\n registeredSchedules: ReadonlyMap<string, ScheduleDefinition>\n registeredActionIds: ReadonlySet<string>\n registeredAgentIds: ReadonlySet<string>\n}): readonly WorkflowDefinition[] {\n for (const workflow of options.workflows) {\n validateWorkflowDefinition(workflow)\n\n for (const trigger of workflow.triggers) {\n validateWorkflowTriggerAtStartup(\n workflow.id,\n trigger,\n options.registeredSchedules,\n Object.keys(workflow.input)\n )\n }\n\n for (const node of workflow.nodes) {\n if (node.type === \"action\" && !options.registeredActionIds.has(node.action.id)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflow.id}\" references unknown action \"${node.action.id}\". Add it to 'actions' in createSixb() or export it from 'actions/'.`\n )\n }\n if (node.type === \"agent\" && !options.registeredAgentIds.has(node.agentStep.agent.id)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflow.id}\" references unknown agent \"${node.agentStep.agent.id}\". Add it to 'agents' in createSixb() or export it from 'agents/'.`\n )\n }\n }\n }\n\n return options.workflows\n}\n\nexport function validateWorkflowInput(params: {\n readonly workflow: WorkflowDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.workflow.input,\n value: params.value,\n path: `Workflow \"${params.workflow.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowStepInput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.step.input,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowStepOutput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.step.output,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowInterventionInput(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.intervention.input,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowInterventionResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" response`,\n partial: false,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowInterventionDefaultResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" defaultResponse`,\n partial: true,\n valueTypesById: params.valueTypesById,\n })\n}\n\nfunction validateWorkflowTriggerAtStartup(\n workflowId: string,\n trigger: WorkflowTriggerDefinition,\n registeredSchedules: ReadonlyMap<string, ScheduleDefinition>,\n inputFields: readonly string[]\n): void {\n if (!isRecord(trigger) || trigger.type !== \"schedule\") {\n throw new WorkflowDefinitionError(`Workflow \"${workflowId}\" contains an unsupported trigger.`)\n }\n validateScheduleWorkflowTrigger(workflowId, trigger, registeredSchedules, inputFields)\n}\n\nfunction validateScheduleWorkflowTrigger(\n workflowId: string,\n trigger: Extract<WorkflowTriggerDefinition, { readonly type: \"schedule\" }>,\n registeredSchedules: ReadonlyMap<string, ScheduleDefinition>,\n inputFields: readonly string[]\n): void {\n if (typeof trigger.scheduleId !== \"string\" || !trigger.scheduleId.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains a schedule trigger with an empty schedule id.`\n )\n }\n\n const schedule = registeredSchedules.get(trigger.scheduleId)\n if (!schedule) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" references unknown schedule \"${trigger.scheduleId}\". Add it to 'schedules' in createSixb() or export it from 'schedules/'.`\n )\n }\n\n if (trigger.mapper !== undefined && typeof trigger.mapper !== \"function\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" schedule \"${trigger.scheduleId}\" mapper must be a function.`\n )\n }\n\n if (trigger.mapper !== undefined && schedule.trigger.type !== \"event\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" cron schedule \"${trigger.scheduleId}\" does not accept a mapper.`\n )\n }\n\n if (trigger.mapper === undefined && inputFields.length > 0) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" schedule \"${trigger.scheduleId}\" requires a mapper because workflow input is not empty: ${inputFields.join(\", \")}.`\n )\n }\n}\n\nfunction validateWorkflowNodeDefinition(workflowId: string, node: WorkflowNodeDefinition): void {\n if (!isRecord(node)) {\n throw new WorkflowDefinitionError(`Workflow \"${workflowId}\" contains an invalid node.`)\n }\n\n if (node.type === \"step\") {\n validateStepNodeDefinition(workflowId, node)\n return\n }\n\n if (node.type === \"agent\") {\n validateAgentNodeDefinition(workflowId, node)\n return\n }\n\n if (node.type === \"intervention\") {\n validateInterventionNodeDefinition(workflowId, node)\n return\n }\n\n if (node.type === \"action\") {\n validateActionNodeDefinition(workflowId, node)\n return\n }\n\n throw new WorkflowDefinitionError(`Workflow \"${workflowId}\" contains an unsupported node type.`)\n}\n\nfunction validateAgentNodeDefinition(workflowId: string, node: WorkflowAgentNodeDefinition): void {\n if (typeof node.id !== \"string\" || !node.id.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an agent step with an empty id.`\n )\n }\n if (typeof node.key !== \"string\" || !node.key.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains agent step \"${node.id}\" with an empty derived key.`\n )\n }\n if (!isAgentStepDefinition(node.agentStep)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an invalid agent node \"${node.id}\".`\n )\n }\n if (node.id !== node.agentStep.id) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" agent node id \"${node.id}\" does not match agent step definition id \"${node.agentStep.id}\".`\n )\n }\n if (node.mapper !== undefined && typeof node.mapper !== \"function\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" agent node \"${node.id}\" mapper must be a function.`\n )\n }\n}\n\nexport function validateWorkflowAgentStepInput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.agentStep.input,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function validateWorkflowAgentStepOutput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n return validateWorkflowContractRecord({\n shape: params.agentStep.output,\n value: params.value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nfunction validateStepNodeDefinition(workflowId: string, node: WorkflowStepNodeDefinition): void {\n if (typeof node.id !== \"string\" || !node.id.trim()) {\n throw new WorkflowDefinitionError(`Workflow \"${workflowId}\" contains a step with an empty id.`)\n }\n\n if (typeof node.key !== \"string\" || !node.key.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains step \"${node.id}\" with an empty derived key.`\n )\n }\n\n if (!isStepDefinition(node.step)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an invalid step node \"${node.id}\".`\n )\n }\n\n if (node.id !== node.step.id) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" step node id \"${node.id}\" does not match step definition id \"${node.step.id}\".`\n )\n }\n\n if (node.mapper !== undefined && typeof node.mapper !== \"function\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" step node \"${node.id}\" mapper must be a function.`\n )\n }\n}\n\nfunction validateInterventionNodeDefinition(\n workflowId: string,\n node: WorkflowInterventionNodeDefinition\n): void {\n if (typeof node.id !== \"string\" || !node.id.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an intervention with an empty id.`\n )\n }\n\n if (typeof node.key !== \"string\" || !node.key.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains intervention \"${node.id}\" with an empty derived key.`\n )\n }\n\n if (!isInterventionDefinition(node.intervention)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an invalid intervention node \"${node.id}\".`\n )\n }\n\n if (node.id !== node.intervention.id) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" intervention node id \"${node.id}\" does not match intervention definition id \"${node.intervention.id}\".`\n )\n }\n\n if (node.mapper !== undefined && typeof node.mapper !== \"function\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" intervention node \"${node.id}\" mapper must be a function.`\n )\n }\n}\n\nfunction validateActionNodeDefinition(\n workflowId: string,\n node: WorkflowActionNodeDefinition\n): void {\n if (typeof node.id !== \"string\" || !node.id.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an action with an empty id.`\n )\n }\n\n if (typeof node.key !== \"string\" || !node.key.trim()) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains action \"${node.id}\" with an empty derived key.`\n )\n }\n\n if (!isActionDefinition(node.action)) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" contains an invalid action node \"${node.id}\".`\n )\n }\n\n if (node.id !== node.action.id) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" action node id \"${node.id}\" does not match action definition id \"${node.action.id}\".`\n )\n }\n\n if (node.mapper !== undefined && typeof node.mapper !== \"function\") {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" action node \"${node.id}\" mapper must be a function.`\n )\n }\n}\n\nfunction validateWorkflowContractRecord(params: {\n readonly shape: Readonly<Record<string, unknown>>\n readonly value: unknown\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n if (!isRecord(params.value)) {\n throw new WorkflowValidationError(`[Sixb] ${params.path} must be an object`)\n }\n\n const fieldIds = new Set(Object.keys(params.shape))\n for (const fieldId of Object.keys(params.value)) {\n if (!fieldIds.has(fieldId)) {\n throw new WorkflowValidationError(`[Sixb] Unknown field '${params.path}.${fieldId}'`)\n }\n }\n\n for (const [fieldId, schema] of Object.entries(params.shape)) {\n const fieldValue = params.value[fieldId]\n if (fieldValue === undefined) {\n throw new WorkflowValidationError(`[Sixb] Missing required field '${params.path}.${fieldId}'`)\n }\n\n try {\n validateSchemaOrRefValue(\n schema as SchemaOrRef,\n fieldValue,\n `${params.path}.${fieldId}`,\n params.valueTypesById\n )\n } catch (error) {\n throw toWorkflowValidationError(error)\n }\n }\n\n return params.value\n}\n\nfunction validateWorkflowInterventionResponseRecord(params: {\n readonly response: InterventionResponseConfig\n readonly value: unknown\n readonly path: string\n readonly partial: boolean\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): Readonly<Record<string, unknown>> {\n if (!isRecord(params.value)) {\n throw new WorkflowValidationError(`[Sixb] ${params.path} must be an object`)\n }\n\n const fieldIds = new Set(Object.keys(params.response))\n for (const fieldId of Object.keys(params.value)) {\n if (!fieldIds.has(fieldId)) {\n throw new WorkflowValidationError(`[Sixb] Unknown field '${params.path}.${fieldId}'`)\n }\n }\n\n for (const [fieldId, field] of Object.entries(params.response)) {\n const fieldValue = params.value[fieldId]\n if (fieldValue === undefined) {\n if (!params.partial && isInterventionResponseFieldRequired(field)) {\n throw new WorkflowValidationError(\n `[Sixb] Missing required field '${params.path}.${fieldId}'`\n )\n }\n continue\n }\n\n try {\n validateSchemaOrRefValue(\n interventionResponseFieldSchema(field),\n fieldValue,\n `${params.path}.${fieldId}`,\n params.valueTypesById\n )\n } catch (error) {\n throw toWorkflowValidationError(error)\n }\n }\n\n return params.value\n}\n\nexport function isInterventionFieldConfig(value: unknown): value is InterventionFieldConfig {\n return isRecord(value) && \"schema\" in value\n}\n\nexport function interventionResponseFieldSchema(field: unknown): SchemaOrRef {\n return (isInterventionFieldConfig(field) ? field.schema : field) as SchemaOrRef\n}\n\nexport function isInterventionResponseFieldRequired(field: unknown): boolean {\n return !isInterventionFieldConfig(field) || field.required !== false\n}\n\nfunction toWorkflowValidationError(error: unknown): WorkflowValidationError {\n if (error instanceof WorkflowValidationError) {\n return error\n }\n\n if (error instanceof Error) {\n return new WorkflowValidationError(error.message, { cause: error })\n }\n\n return new WorkflowValidationError(String(error), { cause: error })\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
7
7
|
"import type { ActionDefinition } from \"../actions\"\nimport { isActionDefinition } from \"../actions\"\nimport type { AgentDefinition } from \"../agents\"\nimport { isAgentDefinition } from \"../agents\"\nimport type { SchemaOrRef } from \"../ontology\"\nimport type { ScheduleDefinition, ScheduleDefinitionForEvent } from \"../schedules\"\nimport { isScheduleDefinition } from \"../schedules\"\nimport { WorkflowDefinitionError } from \"./errors\"\nimport type {\n AgentStepBuilder,\n AgentStepDefinition,\n InterventionBuilder,\n InterventionDefaultsRuntimeHandler,\n InterventionDefinition,\n InterventionFieldConfig,\n StepBuilder,\n StepDefinition,\n StepHandler,\n WorkflowBuilder,\n WorkflowChainDefinition,\n WorkflowNodeDefinition,\n WorkflowScheduleMapper,\n WorkflowTriggerDefinition,\n} from \"./types\"\nimport {\n assertNonEmpty,\n isAgentStepDefinition,\n isInterventionDefinition,\n isStepDefinition,\n} from \"./validation\"\n\ntype InterventionOptions = {\n description?: string\n}\n\ntype RuntimeWorkflowInput = Record<string, SchemaOrRef>\ntype RuntimeWorkflowValueInput = Record<string, unknown>\ntype RuntimeWorkflowMapper = (...args: never[]) => unknown\ntype RuntimeWorkflowScheduleMapper = WorkflowScheduleMapper<unknown, RuntimeWorkflowValueInput>\ntype RuntimeWorkflowThenDefinition =\n | StepDefinition\n | InterventionDefinition\n | ActionDefinition\n | AgentStepDefinition\ntype RuntimeWorkflowThen = (\n nodeDefinition: RuntimeWorkflowThenDefinition,\n mapper?: RuntimeWorkflowMapper\n) => WorkflowChainDefinition\ntype RuntimeWorkflowDraftBuilder = {\n when(schedule: ScheduleDefinition): RuntimeWorkflowDraftBuilder\n when(\n schedule: ScheduleDefinitionForEvent,\n mapper: RuntimeWorkflowScheduleMapper\n ): RuntimeWorkflowDraftBuilder\n readonly then: RuntimeWorkflowThen\n}\n\n/**\n * See the action-param helper for why widened booleans are rejected. Optional\n * response fields must be an explicit literal decision so inference stays honest.\n */\ntype StrictBoolean<T extends boolean> = boolean extends T ? never : T\n\ntype InterventionFieldResult<TSchema extends SchemaOrRef, TRequired extends boolean> = {\n readonly schema: TSchema\n readonly required: TRequired\n readonly description?: string\n}\n\nexport function interventionField<const TSchema extends SchemaOrRef>(\n schema: TSchema\n): InterventionFieldResult<TSchema, true>\nexport function interventionField<\n const TSchema extends SchemaOrRef,\n const TRequired extends boolean = true,\n>(\n schema: TSchema,\n options: {\n required?: StrictBoolean<TRequired>\n description?: string\n }\n): InterventionFieldResult<TSchema, TRequired>\nexport function interventionField(\n schema: SchemaOrRef,\n options?: { required?: boolean; description?: string }\n): InterventionFieldConfig {\n return {\n schema,\n required: options?.required ?? true,\n ...(options?.description !== undefined ? { description: options.description } : {}),\n }\n}\n\nexport function defineWorkflowStep<const TId extends string>(id: TId): StepBuilder<TId> {\n assertNonEmpty(id, \"Step\", \"id\")\n\n return {\n input(input: RuntimeWorkflowInput): unknown {\n return {\n output(output: RuntimeWorkflowInput): unknown {\n return {\n run(handler: StepHandler<Record<string, unknown>, Record<string, unknown>>): unknown {\n return {\n kind: \"step\",\n id,\n input,\n output,\n handler,\n }\n },\n }\n },\n }\n },\n } as unknown as StepBuilder<TId>\n}\n\nexport function defineAgentStep<const TId extends string, const TAgent extends AgentDefinition>(\n id: TId,\n agent: TAgent\n): AgentStepBuilder<TId, TAgent> {\n assertNonEmpty(id, \"Agent step\", \"id\")\n if (!isAgentDefinition(agent)) {\n throw new WorkflowDefinitionError(`Agent step \"${id}\" references an invalid agent.`)\n }\n\n return {\n input(input: RuntimeWorkflowInput): unknown {\n return {\n output(output: RuntimeWorkflowInput): unknown {\n return {\n prompt(prompt: unknown): unknown {\n if (typeof prompt !== \"function\") {\n throw new WorkflowDefinitionError(`Agent step \"${id}\" prompt must be a function.`)\n }\n return { kind: \"agentStep\", id, agent, input, output, prompt }\n },\n }\n },\n }\n },\n } as unknown as AgentStepBuilder<TId, TAgent>\n}\n\nexport function defineIntervention<const TId extends string>(\n id: TId,\n options?: InterventionOptions\n): InterventionBuilder<TId> {\n assertNonEmpty(id, \"Intervention\", \"id\")\n\n return {\n input(input: RuntimeWorkflowInput): unknown {\n return {\n response(response: Record<string, unknown>): unknown {\n return createInterventionDefinition({\n id,\n input,\n response,\n description: options?.description,\n })\n },\n }\n },\n } as unknown as InterventionBuilder<TId>\n}\n\nexport function defineWorkflow<const TId extends string>(id: TId): WorkflowBuilder<TId> {\n assertNonEmpty(id, \"Workflow\", \"id\")\n\n return {\n input(input: RuntimeWorkflowInput): unknown {\n return createWorkflowDraftBuilder(id, input)\n },\n } as unknown as WorkflowBuilder<TId>\n}\n\nfunction createWorkflowDraftBuilder(\n id: string,\n input: RuntimeWorkflowInput\n): RuntimeWorkflowDraftBuilder {\n const triggers: WorkflowTriggerDefinition[] = []\n const nodes: WorkflowNodeDefinition[] = []\n let definition: WorkflowChainDefinition | null = null\n\n const appendNode = (\n nodeDefinition: unknown,\n mapper?: unknown,\n ...extraArgs: unknown[]\n ): WorkflowChainDefinition => {\n if (extraArgs.length > 0) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n if (isStepDefinition(nodeDefinition)) {\n if (mapper !== undefined && !isRuntimeWorkflowMapper(mapper)) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n nodes.push(createStepNode(id, nodes, nodeDefinition, mapper))\n definition ??= createWorkflowDefinition(id, input, triggers, nodes, appendNode)\n return definition\n }\n\n if (isAgentStepDefinition(nodeDefinition)) {\n if (mapper !== undefined && !isRuntimeWorkflowMapper(mapper)) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n nodes.push(createAgentNode(id, nodes, nodeDefinition, mapper))\n definition ??= createWorkflowDefinition(id, input, triggers, nodes, appendNode)\n return definition\n }\n\n if (isInterventionDefinition(nodeDefinition)) {\n if (mapper !== undefined && !isRuntimeWorkflowMapper(mapper)) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n nodes.push(createInterventionNode(id, nodes, nodeDefinition, mapper))\n definition ??= createWorkflowDefinition(id, input, triggers, nodes, appendNode)\n return definition\n }\n\n if (isActionDefinition(nodeDefinition)) {\n if (mapper !== undefined && !isRuntimeWorkflowMapper(mapper)) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n nodes.push(createActionNode(id, nodes, nodeDefinition, mapper))\n definition ??= createWorkflowDefinition(id, input, triggers, nodes, appendNode)\n return definition\n }\n\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .then(...) call.`)\n }\n\n let draft: RuntimeWorkflowDraftBuilder\n\n function when(schedule: ScheduleDefinition): RuntimeWorkflowDraftBuilder\n function when(\n schedule: ScheduleDefinitionForEvent,\n mapper: RuntimeWorkflowScheduleMapper\n ): RuntimeWorkflowDraftBuilder\n function when(\n schedule: unknown,\n mapper?: unknown,\n ...extraArgs: unknown[]\n ): RuntimeWorkflowDraftBuilder {\n if (extraArgs.length > 0) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .when(...) call.`)\n }\n\n if (isScheduleDefinition(schedule)) {\n if (mapper !== undefined && schedule.trigger.type !== \"event\") {\n throw new WorkflowDefinitionError(`Workflow \"${id}\" cron schedules do not accept a mapper.`)\n }\n if (mapper !== undefined && !isRuntimeWorkflowScheduleMapper(mapper)) {\n throw new WorkflowDefinitionError(`Invalid workflow \"${id}\" .when(...) schedule mapper.`)\n }\n\n triggers.push({\n type: \"schedule\",\n scheduleId: schedule.id,\n ...(mapper !== undefined ? { mapper } : {}),\n })\n return draft\n }\n\n throw new WorkflowDefinitionError(`Workflow \"${id}\" .when(...) only accepts schedules.`)\n }\n\n draft = {\n when,\n // biome-ignore lint/suspicious/noThenProperty: Workflows intentionally expose a chainable .then(...) DSL.\n then: appendNode,\n }\n\n return draft\n}\n\nfunction createWorkflowDefinition(\n id: string,\n input: RuntimeWorkflowInput,\n triggers: readonly WorkflowTriggerDefinition[],\n nodes: readonly WorkflowNodeDefinition[],\n then: (\n nodeDefinition: unknown,\n mapper?: unknown,\n ...extraArgs: unknown[]\n ) => WorkflowChainDefinition\n): WorkflowChainDefinition {\n return {\n kind: \"workflow\",\n id,\n input,\n triggers,\n nodes,\n then,\n } as unknown as WorkflowChainDefinition\n}\n\nfunction createStepNode(\n workflowId: string,\n nodes: readonly WorkflowNodeDefinition[],\n step: StepDefinition,\n mapper: RuntimeWorkflowMapper | undefined\n): WorkflowNodeDefinition {\n const key = deriveWorkflowNodeKey(step.id)\n assertNodeKey(workflowId, step.id, key)\n assertUniqueNode(workflowId, nodes, step.id, key)\n\n return {\n type: \"step\",\n id: step.id,\n key,\n step,\n ...(mapper !== undefined ? { mapper } : {}),\n }\n}\n\nfunction createAgentNode(\n workflowId: string,\n nodes: readonly WorkflowNodeDefinition[],\n agentStep: AgentStepDefinition,\n mapper: RuntimeWorkflowMapper | undefined\n): WorkflowNodeDefinition {\n const key = deriveWorkflowNodeKey(agentStep.id)\n assertNodeKey(workflowId, agentStep.id, key)\n assertUniqueNode(workflowId, nodes, agentStep.id, key)\n\n return {\n type: \"agent\",\n id: agentStep.id,\n key,\n agentStep,\n ...(mapper !== undefined ? { mapper } : {}),\n }\n}\n\nfunction createInterventionDefinition(input: {\n readonly id: string\n readonly input: RuntimeWorkflowInput\n readonly response: Record<string, unknown>\n readonly description?: string\n}): unknown {\n const base = {\n kind: \"intervention\" as const,\n id: input.id,\n input: input.input,\n response: input.response,\n ...(input.description !== undefined ? { description: input.description } : {}),\n }\n\n const defaults = (handlerOrContext: unknown) => {\n if (typeof handlerOrContext === \"function\") {\n return {\n ...base,\n defaults: handlerOrContext as InterventionDefaultsRuntimeHandler,\n }\n }\n\n // A no-defaults intervention is still usable as a definition immediately after\n // `.response(...)`. Treating the builder method as an empty default handler keeps\n // future executor code simple if it calls `definition.defaults?.(ctx) ?? {}`.\n return {}\n }\n\n Object.defineProperty(base, \"defaults\", {\n value: defaults,\n enumerable: false,\n })\n\n return base\n}\n\nfunction createActionNode(\n workflowId: string,\n nodes: readonly WorkflowNodeDefinition[],\n action: ActionDefinition,\n mapper: RuntimeWorkflowMapper | undefined\n): WorkflowNodeDefinition {\n const key = deriveWorkflowNodeKey(action.id)\n assertNodeKey(workflowId, action.id, key)\n assertUniqueNode(workflowId, nodes, action.id, key)\n\n return {\n type: \"action\",\n id: action.id,\n key,\n action,\n ...(mapper !== undefined ? { mapper } : {}),\n }\n}\n\nfunction createInterventionNode(\n workflowId: string,\n nodes: readonly WorkflowNodeDefinition[],\n intervention: InterventionDefinition,\n mapper: RuntimeWorkflowMapper | undefined\n): WorkflowNodeDefinition {\n const key = deriveWorkflowNodeKey(intervention.id)\n assertNodeKey(workflowId, intervention.id, key)\n assertUniqueNode(workflowId, nodes, intervention.id, key)\n\n return {\n type: \"intervention\",\n id: intervention.id,\n key,\n intervention,\n ...(mapper !== undefined ? { mapper } : {}),\n } as WorkflowNodeDefinition\n}\n\nfunction assertNodeKey(workflowId: string, nodeId: string, key: string): void {\n if (key.length === 0) {\n throw new WorkflowDefinitionError(\n `Workflow \"${workflowId}\" node id \"${nodeId}\" must contain at least one letter or number.`\n )\n }\n}\n\nfunction assertUniqueNode(\n workflowId: string,\n nodes: readonly WorkflowNodeDefinition[],\n nodeId: string,\n key: string\n): void {\n const duplicateId = nodes.find((node) => node.id === nodeId)\n if (duplicateId) {\n throw new WorkflowDefinitionError(\n `Duplicate workflow node id \"${nodeId}\" in workflow \"${workflowId}\".`\n )\n }\n\n const duplicateKey = nodes.find((node) => node.key === key)\n if (duplicateKey) {\n throw new WorkflowDefinitionError(\n `Duplicate workflow node key \"${key}\" in workflow \"${workflowId}\". Node ids \"${duplicateKey.id}\" and \"${nodeId}\" derive the same key.`\n )\n }\n}\n\nfunction deriveWorkflowNodeKey(id: string): string {\n const segments = id\n .trim()\n .split(/[^A-Za-z0-9]+/)\n .filter((segment) => segment.length > 0)\n\n return segments\n .map((segment, index) => {\n const normalized = uncapitalize(segment)\n return index === 0 ? normalized : capitalize(normalized)\n })\n .join(\"\")\n}\n\nfunction uncapitalize(value: string): string {\n return value.length === 0 ? value : `${value[0].toLowerCase()}${value.slice(1)}`\n}\n\nfunction capitalize(value: string): string {\n return value.length === 0 ? value : `${value[0].toUpperCase()}${value.slice(1)}`\n}\n\nfunction isRuntimeWorkflowMapper(value: unknown): value is RuntimeWorkflowMapper {\n return typeof value === \"function\"\n}\n\nfunction isRuntimeWorkflowScheduleMapper(value: unknown): value is RuntimeWorkflowScheduleMapper {\n return typeof value === \"function\"\n}\n",
|
|
8
8
|
"import { randomUUID } from \"node:crypto\"\nimport { SYSTEM_PRINCIPAL } from \"../auth\"\nimport { assertAuthorized } from \"../authorization\"\nimport { reportRunFailure } from \"../error-reporting/capability\"\nimport type { SixbRuntimeContext } from \"../runtime/types\"\nimport { WorkflowValidationError } from \"./errors\"\nimport { snapshotWorkflowInput } from \"./snapshot\"\nimport type { WorkflowDefinition, WorkflowRunSource } from \"./types\"\n\nexport interface WorkflowRunRequestOptions {\n readonly input?: Readonly<Record<string, unknown>>\n readonly runId?: string\n readonly source?: WorkflowRunSource\n}\n\nexport interface RequestWorkflowRunInput extends WorkflowRunRequestOptions {\n readonly workflowId: string\n}\n\nexport interface WorkflowRunRequestResult {\n readonly workflowId: string\n readonly runId: string\n readonly queuedAt: string\n readonly jobId?: string\n /**\n * `false` when a deterministic `runId` already existed for the same workflow,\n * so no second queue job was enqueued.\n */\n readonly created: boolean\n}\n\n/**\n * Validate, snapshot, persist, queue, and announce a workflow run request.\n *\n * Operates on an already-resolved workflow definition and the shared runtime\n * context, so it stays decoupled from how workflows are registered or looked up.\n */\nexport async function requestWorkflowRun(\n runtime: SixbRuntimeContext,\n workflow: WorkflowDefinition,\n options: WorkflowRunRequestOptions = {}\n): Promise<WorkflowRunRequestResult> {\n assertAuthorized(runtime, { kind: \"workflow.run\", workflowId: workflow.id })\n const storage = runtime.storage.workflowRuns\n if (!storage) {\n throw new WorkflowValidationError(\"[Sixb] Workflow run storage is not configured.\")\n }\n\n const queue = runtime.queues.workflows\n if (!queue) {\n throw new WorkflowValidationError(\"[Sixb] Workflow run queue is not configured.\")\n }\n\n const runId = createWorkflowRunId(options.runId)\n const value = options.input ?? {}\n // Validates the input against the workflow contract and rejects before any\n // storage or queue write.\n const snapshot = snapshotWorkflowInput({\n workflow,\n value,\n valueTypesById: runtime.ontology.getValueTypesById(),\n })\n\n const existing = await storage.getById({ projectId: runtime.projectId, id: runId })\n if (existing) {\n if (existing.workflowId !== workflow.id) {\n throw new WorkflowValidationError(\n `[Sixb] Workflow run '${runId}' already exists for a different workflow '${existing.workflowId}'.`\n )\n }\n\n return {\n workflowId: workflow.id,\n runId,\n queuedAt: (existing.queuedAt ?? existing.startedAt).toISOString(),\n created: false,\n }\n }\n\n const queuedAt = new Date()\n await storage.queue({\n projectId: runtime.projectId,\n id: runId,\n workflowId: workflow.id,\n input: snapshot,\n queuedAt,\n source: options.source,\n requestedByPrincipal:\n runtime.authorization?.principal ??\n (options.source?.type === \"schedule\" ? options.source.principal : SYSTEM_PRINCIPAL),\n })\n\n let job: Awaited<ReturnType<typeof queue.enqueue>>[number] | undefined\n try {\n ;[job] = await queue.enqueue({\n projectId: runtime.projectId,\n jobs: [\n {\n type: \"workflow.run.requested\",\n payload: { workflowId: workflow.id, runId, input: value },\n },\n ],\n })\n } catch (error) {\n const failed = await storage.finish({\n projectId: runtime.projectId,\n id: runId,\n status: \"failed\",\n error: error instanceof Error ? error.message : String(error),\n })\n reportRunFailure(runtime, error, {\n projectId: runtime.projectId,\n occurredAt: failed.finishedAt,\n run: {\n kind: \"workflow\",\n runId,\n workflowId: workflow.id,\n },\n })\n throw error\n }\n\n // Past this point the run row exists and the job is queued, so the run *will* execute. Rejecting\n // here would report a failure for work already under way, and leave the run unmarked either way.\n await runtime.events.emit(\n {\n events: [\n {\n type: \"workflow.run.queued\",\n payload: {\n workflowId: workflow.id,\n runId,\n queuedAt: queuedAt.toISOString(),\n ...(job?.id ? { jobId: job.id } : {}),\n ...(options.source ? { source: options.source } : {}),\n },\n },\n ],\n },\n { source: \"Sixb\" }\n )\n\n return {\n workflowId: workflow.id,\n runId,\n queuedAt: queuedAt.toISOString(),\n jobId: job?.id,\n created: true,\n }\n}\n\nfunction createWorkflowRunId(runId: string | undefined): string {\n if (runId !== undefined) {\n if (!runId.trim()) {\n throw new WorkflowValidationError(\"[Sixb] Workflow run id must not be empty\")\n }\n return runId\n }\n\n return `run_${randomUUID()}`\n}\n",
|
|
9
|
-
"import type { ActionSubject } from \"../actions\"\nimport type { JsonValue } from \"../json\"\nimport { isObjectRefSchema, type Schema, type SchemaOrRef, type ValueType } from \"../ontology\"\nimport { WorkflowValidationError } from \"./errors\"\nimport type {\n AgentStepDefinition,\n InterventionDefinition,\n InterventionResponseConfig,\n StepDefinition,\n WorkflowDefinition,\n WorkflowIOSnapshot,\n} from \"./types\"\nimport {\n interventionResponseFieldSchema,\n validateWorkflowAgentStepInput,\n validateWorkflowAgentStepOutput,\n validateWorkflowInput,\n validateWorkflowInterventionDefaultResponse,\n validateWorkflowInterventionInput,\n validateWorkflowInterventionResponse,\n validateWorkflowStepInput,\n validateWorkflowStepOutput,\n} from \"./validation\"\n\nexport function snapshotWorkflowAgentStepInput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowAgentStepInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.agentStep.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowAgentStepOutput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowAgentStepOutput(params)\n return snapshotWorkflowContractRecord({\n shape: params.agentStep.output as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInput(params: {\n readonly workflow: WorkflowDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.workflow.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflow.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowStepInput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowStepInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.step.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowStepOutput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowStepOutput(params)\n return snapshotWorkflowContractRecord({\n shape: params.step.output as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionInput(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.intervention.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionResponse(params)\n return snapshotWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" response`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionDefaultResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionDefaultResponse(params)\n return snapshotWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" defaultResponse`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowActionInput(params: {\n readonly subject?: ActionSubject\n readonly params: Readonly<Record<string, unknown>>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {\n params: snapshotJsonValue(params.params, \"Workflow action params\"),\n }\n\n if (params.subject && params.subject.kind !== \"none\") {\n snapshot.subject = snapshotJsonValue(params.subject, \"Workflow action subject\")\n }\n\n return snapshot\n}\n\nfunction snapshotWorkflowContractRecord(params: {\n readonly shape: Readonly<Record<string, SchemaOrRef>>\n readonly value: Readonly<Record<string, unknown>>\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {}\n\n for (const [fieldId, schema] of Object.entries(params.shape)) {\n snapshot[fieldId] = snapshotSchemaOrRefValue({\n schema,\n value: params.value[fieldId],\n path: `${params.path}.${fieldId}`,\n valueTypesById: params.valueTypesById,\n })\n }\n\n return snapshot\n}\n\nfunction snapshotWorkflowInterventionResponseRecord(params: {\n readonly response: InterventionResponseConfig\n readonly value: Readonly<Record<string, unknown>>\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {}\n\n for (const [fieldId, value] of Object.entries(params.value)) {\n if (value === undefined) {\n continue\n }\n\n snapshot[fieldId] = snapshotSchemaOrRefValue({\n schema: interventionResponseFieldSchema(params.response[fieldId]),\n value,\n path: `${params.path}.${fieldId}`,\n valueTypesById: params.valueTypesById,\n })\n }\n\n return snapshot\n}\n\nfunction snapshotSchemaOrRefValue(params: {\n readonly schema: SchemaOrRef\n readonly value: unknown\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): JsonValue {\n if (isObjectRefSchema(params.schema)) {\n if (!isRecord(params.value)) {\n throw cannotSerialize(params.path)\n }\n\n return {\n objectTypeId: String(params.value.objectTypeId),\n primaryId: String(params.value.primaryId),\n }\n }\n\n return snapshotSchemaValue({\n schema: params.schema,\n value: params.value,\n path: params.path,\n valueTypesById: params.valueTypesById,\n })\n}\n\nfunction snapshotSchemaValue(params: {\n readonly schema: Schema\n readonly value: unknown\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): JsonValue {\n const { schema, value, path, valueTypesById } = params\n\n if (typeof schema === \"string\") {\n if (schema === \"date\" || schema === \"timestamp\") {\n if (value instanceof Date) {\n return snapshotDate(value, path)\n }\n return snapshotJsonValue(value, path)\n }\n\n return snapshotJsonValue(value, path)\n }\n\n if (schema.type === \"enum\") {\n return snapshotJsonValue(value, path)\n }\n\n if (schema.type === \"array\") {\n if (!Array.isArray(value)) {\n throw cannotSerialize(path)\n }\n\n return value.map((item, index) =>\n snapshotSchemaValue({\n schema: schema.items,\n value: item,\n path: `${path}[${index}]`,\n valueTypesById,\n })\n )\n }\n\n if (schema.type === \"map\") {\n if (!isRecord(value)) {\n throw cannotSerialize(path)\n }\n\n const snapshot: Record<string, JsonValue> = {}\n for (const [key, entry] of Object.entries(value)) {\n snapshot[key] = snapshotSchemaValue({\n schema: schema.valueSchema,\n value: entry,\n path: `${path}.${key}`,\n valueTypesById,\n })\n }\n return snapshot\n }\n\n if (schema.type === \"object\") {\n if (!isRecord(value)) {\n throw cannotSerialize(path)\n }\n\n const snapshot: Record<string, JsonValue> = {}\n for (const [fieldId, field] of Object.entries(schema.properties)) {\n const fieldValue = value[fieldId]\n if (fieldValue === undefined) {\n continue\n }\n\n if (fieldValue === null) {\n snapshot[fieldId] = null\n continue\n }\n\n snapshot[fieldId] = snapshotSchemaValue({\n schema: field.schema,\n value: fieldValue,\n path: `${path}.${fieldId}`,\n valueTypesById,\n })\n }\n return snapshot\n }\n\n if (schema.type === \"valueTypeRef\") {\n const valueType = valueTypesById.get(schema.valueTypeId)\n if (!valueType) {\n throw new WorkflowValidationError(\n `[Sixb] Unknown valueTypeRef '${schema.valueTypeId}' at ${path}`\n )\n }\n\n return snapshotSchemaValue({\n schema: valueType.schema,\n value,\n path,\n valueTypesById,\n })\n }\n\n return snapshotJsonValue(value, path)\n}\n\nfunction snapshotJsonValue(value: unknown, path: string): JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\") {\n return value\n }\n\n if (typeof value === \"number\") {\n if (!Number.isFinite(value)) {\n throw cannotSerialize(path)\n }\n return value\n }\n\n if (value instanceof Date) {\n return snapshotDate(value, path)\n }\n\n if (Array.isArray(value)) {\n return value.map((item, index) => snapshotJsonValue(item, `${path}[${index}]`))\n }\n\n if (isPlainRecord(value)) {\n const snapshot: Record<string, JsonValue> = {}\n for (const [key, entry] of Object.entries(value)) {\n snapshot[key] = snapshotJsonValue(entry, `${path}.${key}`)\n }\n return snapshot\n }\n\n throw cannotSerialize(path)\n}\n\nfunction snapshotDate(value: Date, path: string): string {\n if (Number.isNaN(value.getTime())) {\n throw cannotSerialize(path)\n }\n\n return value.toISOString()\n}\n\nfunction cannotSerialize(path: string): WorkflowValidationError {\n return new WorkflowValidationError(`[Sixb] ${path} cannot be serialized as workflow IO`)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isPlainRecord(value: unknown): value is Record<string, unknown> {\n if (!isRecord(value)) {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === Object.prototype || prototype === null\n}\n",
|
|
9
|
+
"import type { ActionSubject } from \"../actions\"\nimport { isPlainRecord, type JsonValue } from \"../json\"\nimport { isObjectRefSchema, type Schema, type SchemaOrRef, type ValueType } from \"../ontology\"\nimport { WorkflowValidationError } from \"./errors\"\nimport type {\n AgentStepDefinition,\n InterventionDefinition,\n InterventionResponseConfig,\n StepDefinition,\n WorkflowDefinition,\n WorkflowIOSnapshot,\n} from \"./types\"\nimport {\n interventionResponseFieldSchema,\n validateWorkflowAgentStepInput,\n validateWorkflowAgentStepOutput,\n validateWorkflowInput,\n validateWorkflowInterventionDefaultResponse,\n validateWorkflowInterventionInput,\n validateWorkflowInterventionResponse,\n validateWorkflowStepInput,\n validateWorkflowStepOutput,\n} from \"./validation\"\n\nexport function snapshotWorkflowAgentStepInput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowAgentStepInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.agentStep.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowAgentStepOutput(params: {\n readonly workflowId: string\n readonly agentStep: AgentStepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowAgentStepOutput(params)\n return snapshotWorkflowContractRecord({\n shape: params.agentStep.output as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" agent step \"${params.agentStep.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInput(params: {\n readonly workflow: WorkflowDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.workflow.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflow.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowStepInput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowStepInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.step.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowStepOutput(params: {\n readonly workflowId: string\n readonly step: StepDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowStepOutput(params)\n return snapshotWorkflowContractRecord({\n shape: params.step.output as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" step \"${params.step.id}\" output`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionInput(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionInput(params)\n return snapshotWorkflowContractRecord({\n shape: params.intervention.input as Readonly<Record<string, SchemaOrRef>>,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" input`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionResponse(params)\n return snapshotWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" response`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowInterventionDefaultResponse(params: {\n readonly workflowId: string\n readonly intervention: InterventionDefinition\n readonly value: unknown\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const value = validateWorkflowInterventionDefaultResponse(params)\n return snapshotWorkflowInterventionResponseRecord({\n response: params.intervention.response,\n value,\n path: `Workflow \"${params.workflowId}\" intervention \"${params.intervention.id}\" defaultResponse`,\n valueTypesById: params.valueTypesById,\n })\n}\n\nexport function snapshotWorkflowActionInput(params: {\n readonly subject?: ActionSubject\n readonly params: Readonly<Record<string, unknown>>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {\n params: snapshotJsonValue(params.params, \"Workflow action params\"),\n }\n\n if (params.subject && params.subject.kind !== \"none\") {\n snapshot.subject = snapshotJsonValue(params.subject, \"Workflow action subject\")\n }\n\n return snapshot\n}\n\nfunction snapshotWorkflowContractRecord(params: {\n readonly shape: Readonly<Record<string, SchemaOrRef>>\n readonly value: Readonly<Record<string, unknown>>\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {}\n\n for (const [fieldId, schema] of Object.entries(params.shape)) {\n snapshot[fieldId] = snapshotSchemaOrRefValue({\n schema,\n value: params.value[fieldId],\n path: `${params.path}.${fieldId}`,\n valueTypesById: params.valueTypesById,\n })\n }\n\n return snapshot\n}\n\nfunction snapshotWorkflowInterventionResponseRecord(params: {\n readonly response: InterventionResponseConfig\n readonly value: Readonly<Record<string, unknown>>\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): WorkflowIOSnapshot {\n const snapshot: Record<string, JsonValue> = {}\n\n for (const [fieldId, value] of Object.entries(params.value)) {\n if (value === undefined) {\n continue\n }\n\n snapshot[fieldId] = snapshotSchemaOrRefValue({\n schema: interventionResponseFieldSchema(params.response[fieldId]),\n value,\n path: `${params.path}.${fieldId}`,\n valueTypesById: params.valueTypesById,\n })\n }\n\n return snapshot\n}\n\nfunction snapshotSchemaOrRefValue(params: {\n readonly schema: SchemaOrRef\n readonly value: unknown\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): JsonValue {\n if (isObjectRefSchema(params.schema)) {\n if (!isRecord(params.value)) {\n throw cannotSerialize(params.path)\n }\n\n return {\n objectTypeId: String(params.value.objectTypeId),\n primaryId: String(params.value.primaryId),\n }\n }\n\n return snapshotSchemaValue({\n schema: params.schema,\n value: params.value,\n path: params.path,\n valueTypesById: params.valueTypesById,\n })\n}\n\nfunction snapshotSchemaValue(params: {\n readonly schema: Schema\n readonly value: unknown\n readonly path: string\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): JsonValue {\n const { schema, value, path, valueTypesById } = params\n\n if (typeof schema === \"string\") {\n if (schema === \"date\" || schema === \"timestamp\") {\n if (value instanceof Date) {\n return snapshotDate(value, path)\n }\n return snapshotJsonValue(value, path)\n }\n\n return snapshotJsonValue(value, path)\n }\n\n if (schema.type === \"enum\") {\n return snapshotJsonValue(value, path)\n }\n\n if (schema.type === \"array\") {\n if (!Array.isArray(value)) {\n throw cannotSerialize(path)\n }\n\n return value.map((item, index) =>\n snapshotSchemaValue({\n schema: schema.items,\n value: item,\n path: `${path}[${index}]`,\n valueTypesById,\n })\n )\n }\n\n if (schema.type === \"map\") {\n if (!isRecord(value)) {\n throw cannotSerialize(path)\n }\n\n const snapshot: Record<string, JsonValue> = {}\n for (const [key, entry] of Object.entries(value)) {\n snapshot[key] = snapshotSchemaValue({\n schema: schema.valueSchema,\n value: entry,\n path: `${path}.${key}`,\n valueTypesById,\n })\n }\n return snapshot\n }\n\n if (schema.type === \"object\") {\n if (!isRecord(value)) {\n throw cannotSerialize(path)\n }\n\n const snapshot: Record<string, JsonValue> = {}\n for (const [fieldId, field] of Object.entries(schema.properties)) {\n const fieldValue = value[fieldId]\n if (fieldValue === undefined) {\n continue\n }\n\n if (fieldValue === null) {\n snapshot[fieldId] = null\n continue\n }\n\n snapshot[fieldId] = snapshotSchemaValue({\n schema: field.schema,\n value: fieldValue,\n path: `${path}.${fieldId}`,\n valueTypesById,\n })\n }\n return snapshot\n }\n\n if (schema.type === \"valueTypeRef\") {\n const valueType = valueTypesById.get(schema.valueTypeId)\n if (!valueType) {\n throw new WorkflowValidationError(\n `[Sixb] Unknown valueTypeRef '${schema.valueTypeId}' at ${path}`\n )\n }\n\n return snapshotSchemaValue({\n schema: valueType.schema,\n value,\n path,\n valueTypesById,\n })\n }\n\n return snapshotJsonValue(value, path)\n}\n\nfunction snapshotJsonValue(value: unknown, path: string): JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\") {\n return value\n }\n\n if (typeof value === \"number\") {\n if (!Number.isFinite(value)) {\n throw cannotSerialize(path)\n }\n return value\n }\n\n if (value instanceof Date) {\n return snapshotDate(value, path)\n }\n\n if (Array.isArray(value)) {\n return value.map((item, index) => snapshotJsonValue(item, `${path}[${index}]`))\n }\n\n if (isPlainRecord(value)) {\n const snapshot: Record<string, JsonValue> = {}\n for (const [key, entry] of Object.entries(value)) {\n snapshot[key] = snapshotJsonValue(entry, `${path}.${key}`)\n }\n return snapshot\n }\n\n throw cannotSerialize(path)\n}\n\nfunction snapshotDate(value: Date, path: string): string {\n if (Number.isNaN(value.getTime())) {\n throw cannotSerialize(path)\n }\n\n return value.toISOString()\n}\n\nfunction cannotSerialize(path: string): WorkflowValidationError {\n return new WorkflowValidationError(`[Sixb] ${path} cannot be serialized as workflow IO`)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
10
10
|
"import type { SixbRuntimeContext } from \"../runtime/types\"\nimport { WorkflowValidationError } from \"./errors\"\nimport {\n type RequestWorkflowRunInput,\n requestWorkflowRun,\n type WorkflowRunRequestResult,\n} from \"./request\"\nimport type { InferWorkflowInput, WorkflowDefinition, WorkflowRunSource } from \"./types\"\n\n/**\n * Typed entry point for workflow definitions and runs, exposed as\n * `sixb.workflows`.\n *\n * Owns the registered workflow definitions and implements lookup directly,\n * then delegates run requests to {@link requestWorkflowRun}.\n */\nexport class WorkflowsRuntime {\n private readonly runtime: SixbRuntimeContext\n private readonly workflowsById: ReadonlyMap<string, WorkflowDefinition>\n\n constructor(runtime: SixbRuntimeContext, workflows: readonly WorkflowDefinition[]) {\n this.runtime = runtime\n this.workflowsById = new Map(workflows.map((workflow) => [workflow.id, workflow]))\n }\n\n /** All registered workflow definitions. */\n list(): readonly WorkflowDefinition[] {\n return [...this.workflowsById.values()]\n }\n\n /** Look up a registered workflow definition by id. */\n getById(workflowId: string): WorkflowDefinition | null {\n return this.workflowsById.get(workflowId) ?? null\n }\n\n /** Start a run for a known workflow definition with typed input. */\n request<TWorkflow extends WorkflowDefinition>(\n workflow: TWorkflow,\n options: {\n readonly input?: InferWorkflowInput<TWorkflow>\n readonly runId?: string\n readonly source?: WorkflowRunSource\n } = {}\n ): Promise<WorkflowRunRequestResult> {\n return this.requestById({ workflowId: workflow.id, ...options })\n }\n\n /** Start a run by workflow id (server routes and dynamic use cases). */\n async requestById(input: RequestWorkflowRunInput): Promise<WorkflowRunRequestResult> {\n return this.requestByIdAs(this.runtime, input)\n }\n\n /**\n * Start a run by id on behalf of an explicit runtime context, so the scoped\n * SDK can enforce run grants while reusing the registered definitions.\n */\n async requestByIdAs(\n runtime: SixbRuntimeContext,\n input: RequestWorkflowRunInput\n ): Promise<WorkflowRunRequestResult> {\n const workflow = this.getById(input.workflowId)\n if (!workflow) {\n throw new WorkflowValidationError(`[Sixb] Unknown workflow '${input.workflowId}'`)\n }\n\n return requestWorkflowRun(runtime, workflow, input)\n }\n}\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAClB;AAAA;AAEO,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAAA,EACE;AAAA,EAElB,WAAW,CAAC,SAAiB,SAAwC;AAAA,IACnE,MAAM,OAAO;AAAA,IACb,KAAK,QAAQ,SAAS;AAAA;AAE1B;;;ACSO,SAAS,cAAc,CAC5B,OACA,SACA,OACM;AAAA,EACN,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,IACjB,MAAM,IAAI,wBAAwB,GAAG,WAAW,0BAA0B;AAAA,EAC5E;AAAA;AAGK,SAAS,gBAAgB,CAAC,OAAyC;AAAA,EACxE,OACE,SAAS,KAAK,KACd,MAAM,SAAS,UACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,MAAM,KACrB,OAAO,MAAM,YAAY;AAAA;AAItB,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAClF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,eACf,OAAO,MAAM,OAAO,YACpB,kBAAkB,MAAM,KAAK,KAC7B,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,MAAM,KACrB,OAAO,MAAM,WAAW;AAAA;AAIrB,SAAS,wBAAwB,CAAC,OAAiD;AAAA,EACxF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,kBACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,QAAQ,MACtB,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa;AAAA;AAIxD,SAAS,oBAAoB,CAAC,OAA6C;AAAA,EAChF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,cACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,MAAM,QAAQ,MAAM,QAAQ,KAC5B,MAAM,QAAQ,MAAM,KAAK;AAAA;AAItB,SAAS,0BAA0B,CAAC,OAAqD;AAAA,EAC9F,IAAI,CAAC,qBAAqB,KAAK,GAAG;AAAA,IAChC,MAAM,IAAI,wBAAwB,8BAA8B;AAAA,EAClE;AAAA,EAEA,eAAe,MAAM,IAAI,YAAY,IAAI;AAAA,EAEzC,IAAI,MAAM,MAAM,WAAW,GAAG;AAAA,IAC5B,MAAM,IAAI,wBAAwB,aAAa,MAAM,qCAAqC;AAAA,EAC5F;AAAA,EAEA,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,WAAW,IAAI;AAAA,EAErB,WAAW,QAAQ,MAAM,OAAO;AAAA,IAC9B,+BAA+B,MAAM,IAAI,IAAI;AAAA,IAE7C,IAAI,QAAQ,IAAI,KAAK,EAAE,GAAG;AAAA,MACxB,MAAM,IAAI,wBACR,+BAA+B,KAAK,oBAAoB,MAAM,MAChE;AAAA,IACF;AAAA,IACA,QAAQ,IAAI,KAAK,EAAE;AAAA,IAEnB,IAAI,SAAS,IAAI,KAAK,GAAG,GAAG;AAAA,MAC1B,MAAM,IAAI,wBACR,gCAAgC,KAAK,qBAAqB,MAAM,MAClE;AAAA,IACF;AAAA,IACA,SAAS,IAAI,KAAK,GAAG;AAAA,EACvB;AAAA;AAGK,SAAS,0BAA0B,CAAC,SAKT;AAAA,EAChC,WAAW,YAAY,QAAQ,WAAW;AAAA,IACxC,2BAA2B,QAAQ;AAAA,IAEnC,WAAW,WAAW,SAAS,UAAU;AAAA,MACvC,iCACE,SAAS,IACT,SACA,QAAQ,qBACR,OAAO,KAAK,SAAS,KAAK,CAC5B;AAAA,IACF;AAAA,IAEA,WAAW,QAAQ,SAAS,OAAO;AAAA,MACjC,IAAI,KAAK,SAAS,YAAY,CAAC,QAAQ,oBAAoB,IAAI,KAAK,OAAO,EAAE,GAAG;AAAA,QAC9E,MAAM,IAAI,wBACR,aAAa,SAAS,kCAAkC,KAAK,OAAO,wEACtE;AAAA,MACF;AAAA,MACA,IAAI,KAAK,SAAS,WAAW,CAAC,QAAQ,mBAAmB,IAAI,KAAK,UAAU,MAAM,EAAE,GAAG;AAAA,QACrF,MAAM,IAAI,wBACR,aAAa,SAAS,iCAAiC,KAAK,UAAU,MAAM,sEAC9E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,QAAQ;AAAA;AAGV,SAAS,qBAAqB,CAAC,QAIA;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKJ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKL;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAKZ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAKf;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKtB;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,gCAAgC,CACvC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,CAAC,SAAS,OAAO,KAAK,QAAQ,SAAS,YAAY;AAAA,IACrD,MAAM,IAAI,wBAAwB,aAAa,8CAA8C;AAAA,EAC/F;AAAA,EACA,gCAAgC,YAAY,SAAS,qBAAqB,WAAW;AAAA;AAGvF,SAAS,+BAA+B,CACtC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,OAAO,QAAQ,eAAe,YAAY,CAAC,QAAQ,WAAW,KAAK,GAAG;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,oEACf;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,oBAAoB,IAAI,QAAQ,UAAU;AAAA,EAC3D,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,wBACR,aAAa,4CAA4C,QAAQ,oFACnE;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,OAAO,QAAQ,WAAW,YAAY;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,wCAChD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,SAAS,QAAQ,SAAS,SAAS;AAAA,IACrE,MAAM,IAAI,wBACR,aAAa,8BAA8B,QAAQ,uCACrD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,YAAY,SAAS,GAAG;AAAA,IAC1D,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,sEAAsE,YAAY,KAAK,IAAI,IAC3I;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,YAAoB,MAAoC;AAAA,EAC9F,IAAI,CAAC,SAAS,IAAI,GAAG;AAAA,IACnB,MAAM,IAAI,wBAAwB,aAAa,uCAAuC;AAAA,EACxF;AAAA,EAEA,IAAI,KAAK,SAAS,QAAQ;AAAA,IACxB,2BAA2B,YAAY,IAAI;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,SAAS;AAAA,IACzB,4BAA4B,YAAY,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,gBAAgB;AAAA,IAChC,mCAAmC,YAAY,IAAI;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,UAAU;AAAA,IAC1B,6BAA6B,YAAY,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,wBAAwB,aAAa,gDAAgD;AAAA;AAGjG,SAAS,2BAA2B,CAAC,YAAoB,MAAyC;AAAA,EAChG,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,sDACf;AAAA,EACF;AAAA,EACA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,oCAAoC,KAAK,gCACxD;AAAA,EACF;AAAA,EACA,IAAI,CAAC,sBAAsB,KAAK,SAAS,GAAG;AAAA,IAC1C,MAAM,IAAI,wBACR,aAAa,+CAA+C,KAAK,MACnE;AAAA,EACF;AAAA,EACA,IAAI,KAAK,OAAO,KAAK,UAAU,IAAI;AAAA,IACjC,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gDAAgD,KAAK,UAAU,MACjH;AAAA,EACF;AAAA,EACA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,2BAA2B,KAAK,gCAC/C;AAAA,EACF;AAAA;AAGK,SAAS,8BAA8B,CAAC,QAKT;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKV;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,0BAA0B,CAAC,YAAoB,MAAwC;AAAA,EAC9F,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBAAwB,aAAa,+CAA+C;AAAA,EAChG;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gCAClD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAAA,IAChC,MAAM,IAAI,wBACR,aAAa,8CAA8C,KAAK,MAClE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,KAAK,IAAI;AAAA,IAC5B,MAAM,IAAI,wBACR,aAAa,6BAA6B,KAAK,0CAA0C,KAAK,KAAK,MACrG;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,0BAA0B,KAAK,gCAC9C;AAAA,EACF;AAAA;AAGF,SAAS,kCAAkC,CACzC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,wDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,sCAAsC,KAAK,gCAC1D;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,yBAAyB,KAAK,YAAY,GAAG;AAAA,IAChD,MAAM,IAAI,wBACR,aAAa,sDAAsD,KAAK,MAC1E;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,aAAa,IAAI;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,qCAAqC,KAAK,kDAAkD,KAAK,aAAa,MAC7H;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,kCAAkC,KAAK,gCACtD;AAAA,EACF;AAAA;AAGF,SAAS,4BAA4B,CACnC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,kDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,gCAAgC,KAAK,gCACpD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,mBAAmB,KAAK,MAAM,GAAG;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,gDAAgD,KAAK,MACpE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,OAAO,IAAI;AAAA,IAC9B,MAAM,IAAI,wBACR,aAAa,+BAA+B,KAAK,4CAA4C,KAAK,OAAO,MAC3G;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,4BAA4B,KAAK,gCAChD;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,QAKF;AAAA,EACpC,IAAI,CAAC,SAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EAClD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,MAAM,IAAI,wBAAwB,kCAAkC,OAAO,QAAQ,UAAU;AAAA,IAC/F;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,QACA,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGhB,SAAS,0CAA0C,CAAC,QAMd;AAAA,EACpC,IAAI,CAAC,SAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,QAAQ,CAAC;AAAA,EACrD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAAA,IAC9D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,IAAI,CAAC,OAAO,WAAW,oCAAoC,KAAK,GAAG;AAAA,QACjE,MAAM,IAAI,wBACR,kCAAkC,OAAO,QAAQ,UACnD;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,gCAAgC,KAAK,GACrC,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGT,SAAS,yBAAyB,CAAC,OAAkD;AAAA,EAC1F,OAAO,SAAS,KAAK,KAAK,YAAY;AAAA;AAGjC,SAAS,+BAA+B,CAAC,OAA6B;AAAA,EAC3E,OAAQ,0BAA0B,KAAK,IAAI,MAAM,SAAS;AAAA;AAGrD,SAAS,mCAAmC,CAAC,OAAyB;AAAA,EAC3E,OAAO,CAAC,0BAA0B,KAAK,KAAK,MAAM,aAAa;AAAA;AAGjE,SAAS,yBAAyB,CAAC,OAAyC;AAAA,EAC1E,IAAI,iBAAiB,yBAAyB;AAAA,IAC5C,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,OAAO;AAAA,IAC1B,OAAO,IAAI,wBAAwB,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,IAAI,wBAAwB,OAAO,KAAK,GAAG,EAAE,OAAO,MAAM,CAAC;AAAA;AAGpE,SAAS,QAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;ACxerE,SAAS,iBAAiB,CAC/B,QACA,SACyB;AAAA,EACzB,OAAO;AAAA,IACL;AAAA,IACA,UAAU,SAAS,YAAY;AAAA,OAC3B,SAAS,gBAAgB,YAAY,EAAE,aAAa,QAAQ,YAAY,IAAI,CAAC;AAAA,EACnF;AAAA;AAGK,SAAS,kBAA4C,CAAC,IAA2B;AAAA,EACtF,eAAe,IAAI,QAAQ,IAAI;AAAA,EAE/B,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,MAAM,CAAC,QAAuC;AAAA,UAC5C,OAAO;AAAA,YACL,GAAG,CAAC,SAAiF;AAAA,cACnF,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA,UAEJ;AAAA;AAAA,MAEJ;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,eAA+E,CAC7F,IACA,OAC+B;AAAA,EAC/B,eAAe,IAAI,cAAc,IAAI;AAAA,EACrC,IAAI,CAAC,kBAAkB,KAAK,GAAG;AAAA,IAC7B,MAAM,IAAI,wBAAwB,eAAe,kCAAkC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,MAAM,CAAC,QAAuC;AAAA,UAC5C,OAAO;AAAA,YACL,MAAM,CAAC,QAA0B;AAAA,cAC/B,IAAI,OAAO,WAAW,YAAY;AAAA,gBAChC,MAAM,IAAI,wBAAwB,eAAe,gCAAgC;AAAA,cACnF;AAAA,cACA,OAAO,EAAE,MAAM,aAAa,IAAI,OAAO,OAAO,QAAQ,OAAO;AAAA;AAAA,UAEjE;AAAA;AAAA,MAEJ;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,kBAA4C,CAC1D,IACA,SAC0B;AAAA,EAC1B,eAAe,IAAI,gBAAgB,IAAI;AAAA,EAEvC,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,QAAQ,CAAC,UAA4C;AAAA,UACnD,OAAO,6BAA6B;AAAA,YAClC;AAAA,YACA;AAAA,YACA;AAAA,YACA,aAAa,SAAS;AAAA,UACxB,CAAC;AAAA;AAAA,MAEL;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,cAAwC,CAAC,IAA+B;AAAA,EACtF,eAAe,IAAI,YAAY,IAAI;AAAA,EAEnC,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO,2BAA2B,IAAI,KAAK;AAAA;AAAA,EAE/C;AAAA;AAGF,SAAS,0BAA0B,CACjC,IACA,OAC6B;AAAA,EAC7B,MAAM,WAAwC,CAAC;AAAA,EAC/C,MAAM,QAAkC,CAAC;AAAA,EACzC,IAAI,aAA6C;AAAA,EAEjD,MAAM,aAAa,CACjB,gBACA,WACG,cACyB;AAAA,IAC5B,IAAI,UAAU,SAAS,GAAG;AAAA,MACxB,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,IAC/E;AAAA,IAEA,IAAI,iBAAiB,cAAc,GAAG;AAAA,MACpC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,eAAe,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC5D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,sBAAsB,cAAc,GAAG;AAAA,MACzC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,gBAAgB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC7D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,yBAAyB,cAAc,GAAG;AAAA,MAC5C,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,uBAAuB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MACpE,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,mBAAmB,cAAc,GAAG;AAAA,MACtC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,iBAAiB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC9D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA;AAAA,EAG/E,IAAI;AAAA,EAOJ,SAAS,IAAI,CACX,UACA,WACG,WAC0B;AAAA,IAC7B,IAAI,UAAU,SAAS,GAAG;AAAA,MACxB,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,IAC/E;AAAA,IAEA,IAAI,qBAAqB,QAAQ,GAAG;AAAA,MAClC,IAAI,WAAW,aAAa,SAAS,QAAQ,SAAS,SAAS;AAAA,QAC7D,MAAM,IAAI,wBAAwB,aAAa,4CAA4C;AAAA,MAC7F;AAAA,MACA,IAAI,WAAW,aAAa,CAAC,gCAAgC,MAAM,GAAG;AAAA,QACpE,MAAM,IAAI,wBAAwB,qBAAqB,iCAAiC;AAAA,MAC1F;AAAA,MAEA,SAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,YAAY,SAAS;AAAA,WACjB,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,MAC3C,CAAC;AAAA,MACD,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,wBAAwB,aAAa,wCAAwC;AAAA;AAAA,EAGzF,QAAQ;AAAA,IACN;AAAA,IAEA,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,wBAAwB,CAC/B,IACA,OACA,UACA,OACA,MAKyB;AAAA,EACzB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAGF,SAAS,cAAc,CACrB,YACA,OACA,MACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,KAAK,EAAE;AAAA,EACzC,cAAc,YAAY,KAAK,IAAI,GAAG;AAAA,EACtC,iBAAiB,YAAY,OAAO,KAAK,IAAI,GAAG;AAAA,EAEhD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,KAAK;AAAA,IACT;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,eAAe,CACtB,YACA,OACA,WACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,UAAU,EAAE;AAAA,EAC9C,cAAc,YAAY,UAAU,IAAI,GAAG;AAAA,EAC3C,iBAAiB,YAAY,OAAO,UAAU,IAAI,GAAG;AAAA,EAErD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,UAAU;AAAA,IACd;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,4BAA4B,CAAC,OAK1B;AAAA,EACV,MAAM,OAAO;AAAA,IACX,MAAM;AAAA,IACN,IAAI,MAAM;AAAA,IACV,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,OACZ,MAAM,gBAAgB,YAAY,EAAE,aAAa,MAAM,YAAY,IAAI,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,WAAW,CAAC,qBAA8B;AAAA,IAC9C,IAAI,OAAO,qBAAqB,YAAY;AAAA,MAC1C,OAAO;AAAA,WACF;AAAA,QACH,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IAKA,OAAO,CAAC;AAAA;AAAA,EAGV,OAAO,eAAe,MAAM,YAAY;AAAA,IACtC,OAAO;AAAA,IACP,YAAY;AAAA,EACd,CAAC;AAAA,EAED,OAAO;AAAA;AAGT,SAAS,gBAAgB,CACvB,YACA,OACA,QACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,OAAO,EAAE;AAAA,EAC3C,cAAc,YAAY,OAAO,IAAI,GAAG;AAAA,EACxC,iBAAiB,YAAY,OAAO,OAAO,IAAI,GAAG;AAAA,EAElD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,OAAO;AAAA,IACX;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,sBAAsB,CAC7B,YACA,OACA,cACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,aAAa,EAAE;AAAA,EACjD,cAAc,YAAY,aAAa,IAAI,GAAG;AAAA,EAC9C,iBAAiB,YAAY,OAAO,aAAa,IAAI,GAAG;AAAA,EAExD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,aAAa,CAAC,YAAoB,QAAgB,KAAmB;AAAA,EAC5E,IAAI,IAAI,WAAW,GAAG;AAAA,IACpB,MAAM,IAAI,wBACR,aAAa,wBAAwB,qDACvC;AAAA,EACF;AAAA;AAGF,SAAS,gBAAgB,CACvB,YACA,OACA,QACA,KACM;AAAA,EACN,MAAM,cAAc,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,EAC3D,IAAI,aAAa;AAAA,IACf,MAAM,IAAI,wBACR,+BAA+B,wBAAwB,cACzD;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,MAAM,KAAK,CAAC,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC1D,IAAI,cAAc;AAAA,IAChB,MAAM,IAAI,wBACR,gCAAgC,qBAAqB,0BAA0B,aAAa,YAAY,8BAC1G;AAAA,EACF;AAAA;AAGF,SAAS,qBAAqB,CAAC,IAAoB;AAAA,EACjD,MAAM,WAAW,GACd,KAAK,EACL,MAAM,eAAe,EACrB,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC;AAAA,EAEzC,OAAO,SACJ,IAAI,CAAC,SAAS,UAAU;AAAA,IACvB,MAAM,aAAa,aAAa,OAAO;AAAA,IACvC,OAAO,UAAU,IAAI,aAAa,WAAW,UAAU;AAAA,GACxD,EACA,KAAK,EAAE;AAAA;AAGZ,SAAS,YAAY,CAAC,OAAuB;AAAA,EAC3C,OAAO,MAAM,WAAW,IAAI,QAAQ,GAAG,MAAM,GAAG,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA;AAG/E,SAAS,UAAU,CAAC,OAAuB;AAAA,EACzC,OAAO,MAAM,WAAW,IAAI,QAAQ,GAAG,MAAM,GAAG,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA;AAG/E,SAAS,uBAAuB,CAAC,OAAgD;AAAA,EAC/E,OAAO,OAAO,UAAU;AAAA;AAG1B,SAAS,+BAA+B,CAAC,OAAwD;AAAA,EAC/F,OAAO,OAAO,UAAU;AAAA;;ACrd1B;;;ACwBO,SAAS,8BAA8B,CAAC,QAKxB;AAAA,EACrB,MAAM,QAAQ,+BAA+B,MAAM;AAAA,EACnD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKzB;AAAA,EACrB,MAAM,QAAQ,gCAAgC,MAAM;AAAA,EACpD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,qBAAqB,CAAC,QAIf;AAAA,EACrB,MAAM,QAAQ,sBAAsB,MAAM;AAAA,EAC1C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB;AAAA,IACA,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKnB;AAAA,EACrB,MAAM,QAAQ,0BAA0B,MAAM;AAAA,EAC9C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKpB;AAAA,EACrB,MAAM,QAAQ,2BAA2B,MAAM;AAAA,EAC/C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAK3B;AAAA,EACrB,MAAM,QAAQ,kCAAkC,MAAM;AAAA,EACtD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAK9B;AAAA,EACrB,MAAM,QAAQ,qCAAqC,MAAM;AAAA,EACzD,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKrC;AAAA,EACrB,MAAM,QAAQ,4CAA4C,MAAM;AAAA,EAChE,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2BAA2B,CAAC,QAGrB;AAAA,EACrB,MAAM,WAAsC;AAAA,IAC1C,QAAQ,kBAAkB,OAAO,QAAQ,wBAAwB;AAAA,EACnE;AAAA,EAEA,IAAI,OAAO,WAAW,OAAO,QAAQ,SAAS,QAAQ;AAAA,IACpD,SAAS,UAAU,kBAAkB,OAAO,SAAS,yBAAyB;AAAA,EAChF;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,8BAA8B,CAAC,QAKjB;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,SAAS,WAAW,yBAAyB;AAAA,MAC3C;AAAA,MACA,OAAO,OAAO,MAAM;AAAA,MACpB,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,0CAA0C,CAAC,QAK7B;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC3D,IAAI,UAAU,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IAEA,SAAS,WAAW,yBAAyB;AAAA,MAC3C,QAAQ,gCAAgC,OAAO,SAAS,QAAQ;AAAA,MAChE;AAAA,MACA,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,wBAAwB,CAAC,QAKpB;AAAA,EACZ,IAAI,kBAAkB,OAAO,MAAM,GAAG;AAAA,IACpC,IAAI,CAAC,UAAS,OAAO,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,OAAO,IAAI;AAAA,IACnC;AAAA,IAEA,OAAO;AAAA,MACL,cAAc,OAAO,OAAO,MAAM,YAAY;AAAA,MAC9C,WAAW,OAAO,OAAO,MAAM,SAAS;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,OAAO,oBAAoB;AAAA,IACzB,QAAQ,OAAO;AAAA,IACf,OAAO,OAAO;AAAA,IACd,MAAM,OAAO;AAAA,IACb,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,mBAAmB,CAAC,QAKf;AAAA,EACZ,QAAQ,QAAQ,OAAO,MAAM,mBAAmB;AAAA,EAEhD,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,IAAI,WAAW,UAAU,WAAW,aAAa;AAAA,MAC/C,IAAI,iBAAiB,MAAM;AAAA,QACzB,OAAO,aAAa,OAAO,IAAI;AAAA,MACjC;AAAA,MACA,OAAO,kBAAkB,OAAO,IAAI;AAAA,IACtC;AAAA,IAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,MACzB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,OAAO,MAAM,IAAI,CAAC,MAAM,UACtB,oBAAoB;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,MACP,MAAM,GAAG,QAAQ;AAAA,MACjB;AAAA,IACF,CAAC,CACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,oBAAoB;AAAA,QAClC,QAAQ,OAAO;AAAA,QACf,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,MAChE,MAAM,aAAa,MAAM;AAAA,MACzB,IAAI,eAAe,WAAW;AAAA,QAC5B;AAAA,MACF;AAAA,MAEA,IAAI,eAAe,MAAM;AAAA,QACvB,SAAS,WAAW;AAAA,QACpB;AAAA,MACF;AAAA,MAEA,SAAS,WAAW,oBAAoB;AAAA,QACtC,QAAQ,MAAM;AAAA,QACd,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,MAAM,YAAY,eAAe,IAAI,OAAO,WAAW;AAAA,IACvD,IAAI,CAAC,WAAW;AAAA,MACd,MAAM,IAAI,wBACR,gCAAgC,OAAO,mBAAmB,MAC5D;AAAA,IACF;AAAA,IAEA,OAAO,oBAAoB;AAAA,MACzB,QAAQ,UAAU;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA;AAGtC,SAAS,iBAAiB,CAAC,OAAgB,MAAyB;AAAA,EAClE,IAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AAAA,IAC7E,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,MAAM;AAAA,IACzB,OAAO,aAAa,OAAO,IAAI;AAAA,EACjC;AAAA,EAEA,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,IACxB,OAAO,MAAM,IAAI,CAAC,MAAM,UAAU,kBAAkB,MAAM,GAAG,QAAQ,QAAQ,CAAC;AAAA,EAChF;AAAA,EAEA,IAAI,cAAc,KAAK,GAAG;AAAA,IACxB,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,kBAAkB,OAAO,GAAG,QAAQ,KAAK;AAAA,IAC3D;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,IAAI;AAAA;AAG5B,SAAS,YAAY,CAAC,OAAa,MAAsB;AAAA,EACvD,IAAI,OAAO,MAAM,MAAM,QAAQ,CAAC,GAAG;AAAA,IACjC,MAAM,gBAAgB,IAAI;AAAA,EAC5B;AAAA,EAEA,OAAO,MAAM,YAAY;AAAA;AAG3B,SAAS,eAAe,CAAC,MAAuC;AAAA,EAC9D,OAAO,IAAI,wBAAwB,UAAU,0CAA0C;AAAA;AAGzF,SAAS,SAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;AAG5E,SAAS,aAAa,CAAC,OAAkD;AAAA,EACvE,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,OAAO,eAAe,KAAK;AAAA,EAC7C,OAAO,cAAc,OAAO,aAAa,cAAc;AAAA;;;ADxVzD,eAAsB,kBAAkB,CACtC,SACA,UACA,UAAqC,CAAC,GACH;AAAA,EACnC,iBAAiB,SAAS,EAAE,MAAM,gBAAgB,YAAY,SAAS,GAAG,CAAC;AAAA,EAC3E,MAAM,UAAU,QAAQ,QAAQ;AAAA,EAChC,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,IAAI,wBAAwB,gDAAgD;AAAA,EACpF;AAAA,EAEA,MAAM,QAAQ,QAAQ,OAAO;AAAA,EAC7B,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,IAAI,wBAAwB,8CAA8C;AAAA,EAClF;AAAA,EAEA,MAAM,QAAQ,oBAAoB,QAAQ,KAAK;AAAA,EAC/C,MAAM,QAAQ,QAAQ,SAAS,CAAC;AAAA,EAGhC,MAAM,WAAW,sBAAsB;AAAA,IACrC;AAAA,IACA;AAAA,IACA,gBAAgB,QAAQ,SAAS,kBAAkB;AAAA,EACrD,CAAC;AAAA,EAED,MAAM,WAAW,MAAM,QAAQ,QAAQ,EAAE,WAAW,QAAQ,WAAW,IAAI,MAAM,CAAC;AAAA,EAClF,IAAI,UAAU;AAAA,IACZ,IAAI,SAAS,eAAe,SAAS,IAAI;AAAA,MACvC,MAAM,IAAI,wBACR,wBAAwB,mDAAmD,SAAS,cACtF;AAAA,IACF;AAAA,IAEA,OAAO;AAAA,MACL,YAAY,SAAS;AAAA,MACrB;AAAA,MACA,WAAW,SAAS,YAAY,SAAS,WAAW,YAAY;AAAA,MAChE,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,IAAI;AAAA,EACrB,MAAM,QAAQ,MAAM;AAAA,IAClB,WAAW,QAAQ;AAAA,IACnB,IAAI;AAAA,IACJ,YAAY,SAAS;AAAA,IACrB,OAAO;AAAA,IACP;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB,sBACE,QAAQ,eAAe,cACtB,QAAQ,QAAQ,SAAS,aAAa,QAAQ,OAAO,YAAY;AAAA,EACtE,CAAC;AAAA,EAED,IAAI;AAAA,EACJ,IAAI;AAAA,IACD,CAAC,GAAG,IAAI,MAAM,MAAM,QAAQ;AAAA,MAC3B,WAAW,QAAQ;AAAA,MACnB,MAAM;AAAA,QACJ;AAAA,UACE,MAAM;AAAA,UACN,SAAS,EAAE,YAAY,SAAS,IAAI,OAAO,OAAO,MAAM;AAAA,QAC1D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,MAAM,SAAS,MAAM,QAAQ,OAAO;AAAA,MAClC,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,IACD,iBAAiB,SAAS,OAAO;AAAA,MAC/B,WAAW,QAAQ;AAAA,MACnB,YAAY,OAAO;AAAA,MACnB,KAAK;AAAA,QACH,MAAM;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,IACD,MAAM;AAAA;AAAA,EAKR,MAAM,QAAQ,OAAO,KACnB;AAAA,IACE,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,YAAY,SAAS;AAAA,UACrB;AAAA,UACA,UAAU,SAAS,YAAY;AAAA,aAC3B,KAAK,KAAK,EAAE,OAAO,IAAI,GAAG,IAAI,CAAC;AAAA,aAC/B,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAAA,EACF,GACA,EAAE,QAAQ,OAAO,CACnB;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB;AAAA,IACA,UAAU,SAAS,YAAY;AAAA,IAC/B,OAAO,KAAK;AAAA,IACZ,SAAS;AAAA,EACX;AAAA;AAGF,SAAS,mBAAmB,CAAC,OAAmC;AAAA,EAC9D,IAAI,UAAU,WAAW;AAAA,IACvB,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,MACjB,MAAM,IAAI,wBAAwB,0CAA0C;AAAA,IAC9E;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAO,WAAW;AAAA;;AE/IpB,MAAM,iBAAiB;AAAA,EACX;AAAA,EACA;AAAA,EAEjB,WAAW,CAAC,SAA6B,WAA0C;AAAA,IACjF,KAAK,UAAU;AAAA,IACf,KAAK,gBAAgB,IAAI,IAAI,UAAU,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;AAAA;AAAA,EAInF,IAAI,GAAkC;AAAA,IACpC,OAAO,CAAC,GAAG,KAAK,cAAc,OAAO,CAAC;AAAA;AAAA,EAIxC,OAAO,CAAC,YAA+C;AAAA,IACrD,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK;AAAA;AAAA,EAI/C,OAA6C,CAC3C,UACA,UAII,CAAC,GAC8B;AAAA,IACnC,OAAO,KAAK,YAAY,EAAE,YAAY,SAAS,OAAO,QAAQ,CAAC;AAAA;AAAA,OAI3D,YAAW,CAAC,OAAmE;AAAA,IACnF,OAAO,KAAK,cAAc,KAAK,SAAS,KAAK;AAAA;AAAA,OAOzC,cAAa,CACjB,SACA,OACmC;AAAA,IACnC,MAAM,WAAW,KAAK,QAAQ,MAAM,UAAU;AAAA,IAC9C,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,wBAAwB,4BAA4B,MAAM,aAAa;AAAA,IACnF;AAAA,IAEA,OAAO,mBAAmB,SAAS,UAAU,KAAK;AAAA;AAEtD;",
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAClB;AAAA;AAEO,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAAA,EACE;AAAA,EAElB,WAAW,CAAC,SAAiB,SAAwC;AAAA,IACnE,MAAM,OAAO;AAAA,IACb,KAAK,QAAQ,SAAS;AAAA;AAE1B;;;ACSO,SAAS,cAAc,CAC5B,OACA,SACA,OACM;AAAA,EACN,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,IACjB,MAAM,IAAI,wBAAwB,GAAG,WAAW,0BAA0B;AAAA,EAC5E;AAAA;AAGK,SAAS,gBAAgB,CAAC,OAAyC;AAAA,EACxE,OACE,SAAS,KAAK,KACd,MAAM,SAAS,UACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,MAAM,KACrB,OAAO,MAAM,YAAY;AAAA;AAItB,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAClF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,eACf,OAAO,MAAM,OAAO,YACpB,kBAAkB,MAAM,KAAK,KAC7B,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,MAAM,KACrB,OAAO,MAAM,WAAW;AAAA;AAIrB,SAAS,wBAAwB,CAAC,OAAiD;AAAA,EACxF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,kBACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,SAAS,MAAM,QAAQ,MACtB,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa;AAAA;AAIxD,SAAS,oBAAoB,CAAC,OAA6C;AAAA,EAChF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,cACf,OAAO,MAAM,OAAO,YACpB,SAAS,MAAM,KAAK,KACpB,MAAM,QAAQ,MAAM,QAAQ,KAC5B,MAAM,QAAQ,MAAM,KAAK;AAAA;AAItB,SAAS,0BAA0B,CAAC,OAAqD;AAAA,EAC9F,IAAI,CAAC,qBAAqB,KAAK,GAAG;AAAA,IAChC,MAAM,IAAI,wBAAwB,8BAA8B;AAAA,EAClE;AAAA,EAEA,eAAe,MAAM,IAAI,YAAY,IAAI;AAAA,EAEzC,IAAI,MAAM,MAAM,WAAW,GAAG;AAAA,IAC5B,MAAM,IAAI,wBAAwB,aAAa,MAAM,qCAAqC;AAAA,EAC5F;AAAA,EAEA,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,WAAW,IAAI;AAAA,EAErB,WAAW,QAAQ,MAAM,OAAO;AAAA,IAC9B,+BAA+B,MAAM,IAAI,IAAI;AAAA,IAE7C,IAAI,QAAQ,IAAI,KAAK,EAAE,GAAG;AAAA,MACxB,MAAM,IAAI,wBACR,+BAA+B,KAAK,oBAAoB,MAAM,MAChE;AAAA,IACF;AAAA,IACA,QAAQ,IAAI,KAAK,EAAE;AAAA,IAEnB,IAAI,SAAS,IAAI,KAAK,GAAG,GAAG;AAAA,MAC1B,MAAM,IAAI,wBACR,gCAAgC,KAAK,qBAAqB,MAAM,MAClE;AAAA,IACF;AAAA,IACA,SAAS,IAAI,KAAK,GAAG;AAAA,EACvB;AAAA;AAGK,SAAS,0BAA0B,CAAC,SAKT;AAAA,EAChC,WAAW,YAAY,QAAQ,WAAW;AAAA,IACxC,2BAA2B,QAAQ;AAAA,IAEnC,WAAW,WAAW,SAAS,UAAU;AAAA,MACvC,iCACE,SAAS,IACT,SACA,QAAQ,qBACR,OAAO,KAAK,SAAS,KAAK,CAC5B;AAAA,IACF;AAAA,IAEA,WAAW,QAAQ,SAAS,OAAO;AAAA,MACjC,IAAI,KAAK,SAAS,YAAY,CAAC,QAAQ,oBAAoB,IAAI,KAAK,OAAO,EAAE,GAAG;AAAA,QAC9E,MAAM,IAAI,wBACR,aAAa,SAAS,kCAAkC,KAAK,OAAO,wEACtE;AAAA,MACF;AAAA,MACA,IAAI,KAAK,SAAS,WAAW,CAAC,QAAQ,mBAAmB,IAAI,KAAK,UAAU,MAAM,EAAE,GAAG;AAAA,QACrF,MAAM,IAAI,wBACR,aAAa,SAAS,iCAAiC,KAAK,UAAU,MAAM,sEAC9E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,QAAQ;AAAA;AAGV,SAAS,qBAAqB,CAAC,QAIA;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKJ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKL;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAKZ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAKf;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKtB;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,gCAAgC,CACvC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,CAAC,SAAS,OAAO,KAAK,QAAQ,SAAS,YAAY;AAAA,IACrD,MAAM,IAAI,wBAAwB,aAAa,8CAA8C;AAAA,EAC/F;AAAA,EACA,gCAAgC,YAAY,SAAS,qBAAqB,WAAW;AAAA;AAGvF,SAAS,+BAA+B,CACtC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,OAAO,QAAQ,eAAe,YAAY,CAAC,QAAQ,WAAW,KAAK,GAAG;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,oEACf;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,oBAAoB,IAAI,QAAQ,UAAU;AAAA,EAC3D,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,wBACR,aAAa,4CAA4C,QAAQ,oFACnE;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,OAAO,QAAQ,WAAW,YAAY;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,wCAChD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,SAAS,QAAQ,SAAS,SAAS;AAAA,IACrE,MAAM,IAAI,wBACR,aAAa,8BAA8B,QAAQ,uCACrD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,YAAY,SAAS,GAAG;AAAA,IAC1D,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,sEAAsE,YAAY,KAAK,IAAI,IAC3I;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,YAAoB,MAAoC;AAAA,EAC9F,IAAI,CAAC,SAAS,IAAI,GAAG;AAAA,IACnB,MAAM,IAAI,wBAAwB,aAAa,uCAAuC;AAAA,EACxF;AAAA,EAEA,IAAI,KAAK,SAAS,QAAQ;AAAA,IACxB,2BAA2B,YAAY,IAAI;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,SAAS;AAAA,IACzB,4BAA4B,YAAY,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,gBAAgB;AAAA,IAChC,mCAAmC,YAAY,IAAI;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,UAAU;AAAA,IAC1B,6BAA6B,YAAY,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,wBAAwB,aAAa,gDAAgD;AAAA;AAGjG,SAAS,2BAA2B,CAAC,YAAoB,MAAyC;AAAA,EAChG,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,sDACf;AAAA,EACF;AAAA,EACA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,oCAAoC,KAAK,gCACxD;AAAA,EACF;AAAA,EACA,IAAI,CAAC,sBAAsB,KAAK,SAAS,GAAG;AAAA,IAC1C,MAAM,IAAI,wBACR,aAAa,+CAA+C,KAAK,MACnE;AAAA,EACF;AAAA,EACA,IAAI,KAAK,OAAO,KAAK,UAAU,IAAI;AAAA,IACjC,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gDAAgD,KAAK,UAAU,MACjH;AAAA,EACF;AAAA,EACA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,2BAA2B,KAAK,gCAC/C;AAAA,EACF;AAAA;AAGK,SAAS,8BAA8B,CAAC,QAKT;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKV;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,0BAA0B,CAAC,YAAoB,MAAwC;AAAA,EAC9F,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBAAwB,aAAa,+CAA+C;AAAA,EAChG;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gCAClD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAAA,IAChC,MAAM,IAAI,wBACR,aAAa,8CAA8C,KAAK,MAClE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,KAAK,IAAI;AAAA,IAC5B,MAAM,IAAI,wBACR,aAAa,6BAA6B,KAAK,0CAA0C,KAAK,KAAK,MACrG;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,0BAA0B,KAAK,gCAC9C;AAAA,EACF;AAAA;AAGF,SAAS,kCAAkC,CACzC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,wDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,sCAAsC,KAAK,gCAC1D;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,yBAAyB,KAAK,YAAY,GAAG;AAAA,IAChD,MAAM,IAAI,wBACR,aAAa,sDAAsD,KAAK,MAC1E;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,aAAa,IAAI;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,qCAAqC,KAAK,kDAAkD,KAAK,aAAa,MAC7H;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,kCAAkC,KAAK,gCACtD;AAAA,EACF;AAAA;AAGF,SAAS,4BAA4B,CACnC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,kDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,gCAAgC,KAAK,gCACpD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,mBAAmB,KAAK,MAAM,GAAG;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,gDAAgD,KAAK,MACpE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,OAAO,IAAI;AAAA,IAC9B,MAAM,IAAI,wBACR,aAAa,+BAA+B,KAAK,4CAA4C,KAAK,OAAO,MAC3G;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,4BAA4B,KAAK,gCAChD;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,QAKF;AAAA,EACpC,IAAI,CAAC,SAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EAClD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,MAAM,IAAI,wBAAwB,kCAAkC,OAAO,QAAQ,UAAU;AAAA,IAC/F;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,QACA,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGhB,SAAS,0CAA0C,CAAC,QAMd;AAAA,EACpC,IAAI,CAAC,SAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,QAAQ,CAAC;AAAA,EACrD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAAA,IAC9D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,IAAI,CAAC,OAAO,WAAW,oCAAoC,KAAK,GAAG;AAAA,QACjE,MAAM,IAAI,wBACR,kCAAkC,OAAO,QAAQ,UACnD;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,gCAAgC,KAAK,GACrC,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGT,SAAS,yBAAyB,CAAC,OAAkD;AAAA,EAC1F,OAAO,SAAS,KAAK,KAAK,YAAY;AAAA;AAGjC,SAAS,+BAA+B,CAAC,OAA6B;AAAA,EAC3E,OAAQ,0BAA0B,KAAK,IAAI,MAAM,SAAS;AAAA;AAGrD,SAAS,mCAAmC,CAAC,OAAyB;AAAA,EAC3E,OAAO,CAAC,0BAA0B,KAAK,KAAK,MAAM,aAAa;AAAA;AAGjE,SAAS,yBAAyB,CAAC,OAAyC;AAAA,EAC1E,IAAI,iBAAiB,yBAAyB;AAAA,IAC5C,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,OAAO;AAAA,IAC1B,OAAO,IAAI,wBAAwB,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,IAAI,wBAAwB,OAAO,KAAK,GAAG,EAAE,OAAO,MAAM,CAAC;AAAA;AAGpE,SAAS,QAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;ACxerE,SAAS,iBAAiB,CAC/B,QACA,SACyB;AAAA,EACzB,OAAO;AAAA,IACL;AAAA,IACA,UAAU,SAAS,YAAY;AAAA,OAC3B,SAAS,gBAAgB,YAAY,EAAE,aAAa,QAAQ,YAAY,IAAI,CAAC;AAAA,EACnF;AAAA;AAGK,SAAS,kBAA4C,CAAC,IAA2B;AAAA,EACtF,eAAe,IAAI,QAAQ,IAAI;AAAA,EAE/B,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,MAAM,CAAC,QAAuC;AAAA,UAC5C,OAAO;AAAA,YACL,GAAG,CAAC,SAAiF;AAAA,cACnF,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA,UAEJ;AAAA;AAAA,MAEJ;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,eAA+E,CAC7F,IACA,OAC+B;AAAA,EAC/B,eAAe,IAAI,cAAc,IAAI;AAAA,EACrC,IAAI,CAAC,kBAAkB,KAAK,GAAG;AAAA,IAC7B,MAAM,IAAI,wBAAwB,eAAe,kCAAkC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,MAAM,CAAC,QAAuC;AAAA,UAC5C,OAAO;AAAA,YACL,MAAM,CAAC,QAA0B;AAAA,cAC/B,IAAI,OAAO,WAAW,YAAY;AAAA,gBAChC,MAAM,IAAI,wBAAwB,eAAe,gCAAgC;AAAA,cACnF;AAAA,cACA,OAAO,EAAE,MAAM,aAAa,IAAI,OAAO,OAAO,QAAQ,OAAO;AAAA;AAAA,UAEjE;AAAA;AAAA,MAEJ;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,kBAA4C,CAC1D,IACA,SAC0B;AAAA,EAC1B,eAAe,IAAI,gBAAgB,IAAI;AAAA,EAEvC,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO;AAAA,QACL,QAAQ,CAAC,UAA4C;AAAA,UACnD,OAAO,6BAA6B;AAAA,YAClC;AAAA,YACA;AAAA,YACA;AAAA,YACA,aAAa,SAAS;AAAA,UACxB,CAAC;AAAA;AAAA,MAEL;AAAA;AAAA,EAEJ;AAAA;AAGK,SAAS,cAAwC,CAAC,IAA+B;AAAA,EACtF,eAAe,IAAI,YAAY,IAAI;AAAA,EAEnC,OAAO;AAAA,IACL,KAAK,CAAC,OAAsC;AAAA,MAC1C,OAAO,2BAA2B,IAAI,KAAK;AAAA;AAAA,EAE/C;AAAA;AAGF,SAAS,0BAA0B,CACjC,IACA,OAC6B;AAAA,EAC7B,MAAM,WAAwC,CAAC;AAAA,EAC/C,MAAM,QAAkC,CAAC;AAAA,EACzC,IAAI,aAA6C;AAAA,EAEjD,MAAM,aAAa,CACjB,gBACA,WACG,cACyB;AAAA,IAC5B,IAAI,UAAU,SAAS,GAAG;AAAA,MACxB,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,IAC/E;AAAA,IAEA,IAAI,iBAAiB,cAAc,GAAG;AAAA,MACpC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,eAAe,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC5D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,sBAAsB,cAAc,GAAG;AAAA,MACzC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,gBAAgB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC7D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,yBAAyB,cAAc,GAAG;AAAA,MAC5C,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,uBAAuB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MACpE,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,mBAAmB,cAAc,GAAG;AAAA,MACtC,IAAI,WAAW,aAAa,CAAC,wBAAwB,MAAM,GAAG;AAAA,QAC5D,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,MAC/E;AAAA,MAEA,MAAM,KAAK,iBAAiB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AAAA,MAC9D,eAAe,yBAAyB,IAAI,OAAO,UAAU,OAAO,UAAU;AAAA,MAC9E,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA;AAAA,EAG/E,IAAI;AAAA,EAOJ,SAAS,IAAI,CACX,UACA,WACG,WAC0B;AAAA,IAC7B,IAAI,UAAU,SAAS,GAAG;AAAA,MACxB,MAAM,IAAI,wBAAwB,qBAAqB,sBAAsB;AAAA,IAC/E;AAAA,IAEA,IAAI,qBAAqB,QAAQ,GAAG;AAAA,MAClC,IAAI,WAAW,aAAa,SAAS,QAAQ,SAAS,SAAS;AAAA,QAC7D,MAAM,IAAI,wBAAwB,aAAa,4CAA4C;AAAA,MAC7F;AAAA,MACA,IAAI,WAAW,aAAa,CAAC,gCAAgC,MAAM,GAAG;AAAA,QACpE,MAAM,IAAI,wBAAwB,qBAAqB,iCAAiC;AAAA,MAC1F;AAAA,MAEA,SAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,YAAY,SAAS;AAAA,WACjB,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,MAC3C,CAAC;AAAA,MACD,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,wBAAwB,aAAa,wCAAwC;AAAA;AAAA,EAGzF,QAAQ;AAAA,IACN;AAAA,IAEA,MAAM;AAAA,EACR;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,wBAAwB,CAC/B,IACA,OACA,UACA,OACA,MAKyB;AAAA,EACzB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAGF,SAAS,cAAc,CACrB,YACA,OACA,MACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,KAAK,EAAE;AAAA,EACzC,cAAc,YAAY,KAAK,IAAI,GAAG;AAAA,EACtC,iBAAiB,YAAY,OAAO,KAAK,IAAI,GAAG;AAAA,EAEhD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,KAAK;AAAA,IACT;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,eAAe,CACtB,YACA,OACA,WACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,UAAU,EAAE;AAAA,EAC9C,cAAc,YAAY,UAAU,IAAI,GAAG;AAAA,EAC3C,iBAAiB,YAAY,OAAO,UAAU,IAAI,GAAG;AAAA,EAErD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,UAAU;AAAA,IACd;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,4BAA4B,CAAC,OAK1B;AAAA,EACV,MAAM,OAAO;AAAA,IACX,MAAM;AAAA,IACN,IAAI,MAAM;AAAA,IACV,OAAO,MAAM;AAAA,IACb,UAAU,MAAM;AAAA,OACZ,MAAM,gBAAgB,YAAY,EAAE,aAAa,MAAM,YAAY,IAAI,CAAC;AAAA,EAC9E;AAAA,EAEA,MAAM,WAAW,CAAC,qBAA8B;AAAA,IAC9C,IAAI,OAAO,qBAAqB,YAAY;AAAA,MAC1C,OAAO;AAAA,WACF;AAAA,QACH,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IAKA,OAAO,CAAC;AAAA;AAAA,EAGV,OAAO,eAAe,MAAM,YAAY;AAAA,IACtC,OAAO;AAAA,IACP,YAAY;AAAA,EACd,CAAC;AAAA,EAED,OAAO;AAAA;AAGT,SAAS,gBAAgB,CACvB,YACA,OACA,QACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,OAAO,EAAE;AAAA,EAC3C,cAAc,YAAY,OAAO,IAAI,GAAG;AAAA,EACxC,iBAAiB,YAAY,OAAO,OAAO,IAAI,GAAG;AAAA,EAElD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,OAAO;AAAA,IACX;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,sBAAsB,CAC7B,YACA,OACA,cACA,QACwB;AAAA,EACxB,MAAM,MAAM,sBAAsB,aAAa,EAAE;AAAA,EACjD,cAAc,YAAY,aAAa,IAAI,GAAG;AAAA,EAC9C,iBAAiB,YAAY,OAAO,aAAa,IAAI,GAAG;AAAA,EAExD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI,aAAa;AAAA,IACjB;AAAA,IACA;AAAA,OACI,WAAW,YAAY,EAAE,OAAO,IAAI,CAAC;AAAA,EAC3C;AAAA;AAGF,SAAS,aAAa,CAAC,YAAoB,QAAgB,KAAmB;AAAA,EAC5E,IAAI,IAAI,WAAW,GAAG;AAAA,IACpB,MAAM,IAAI,wBACR,aAAa,wBAAwB,qDACvC;AAAA,EACF;AAAA;AAGF,SAAS,gBAAgB,CACvB,YACA,OACA,QACA,KACM;AAAA,EACN,MAAM,cAAc,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,EAC3D,IAAI,aAAa;AAAA,IACf,MAAM,IAAI,wBACR,+BAA+B,wBAAwB,cACzD;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,MAAM,KAAK,CAAC,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC1D,IAAI,cAAc;AAAA,IAChB,MAAM,IAAI,wBACR,gCAAgC,qBAAqB,0BAA0B,aAAa,YAAY,8BAC1G;AAAA,EACF;AAAA;AAGF,SAAS,qBAAqB,CAAC,IAAoB;AAAA,EACjD,MAAM,WAAW,GACd,KAAK,EACL,MAAM,eAAe,EACrB,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC;AAAA,EAEzC,OAAO,SACJ,IAAI,CAAC,SAAS,UAAU;AAAA,IACvB,MAAM,aAAa,aAAa,OAAO;AAAA,IACvC,OAAO,UAAU,IAAI,aAAa,WAAW,UAAU;AAAA,GACxD,EACA,KAAK,EAAE;AAAA;AAGZ,SAAS,YAAY,CAAC,OAAuB;AAAA,EAC3C,OAAO,MAAM,WAAW,IAAI,QAAQ,GAAG,MAAM,GAAG,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA;AAG/E,SAAS,UAAU,CAAC,OAAuB;AAAA,EACzC,OAAO,MAAM,WAAW,IAAI,QAAQ,GAAG,MAAM,GAAG,YAAY,IAAI,MAAM,MAAM,CAAC;AAAA;AAG/E,SAAS,uBAAuB,CAAC,OAAgD;AAAA,EAC/E,OAAO,OAAO,UAAU;AAAA;AAG1B,SAAS,+BAA+B,CAAC,OAAwD;AAAA,EAC/F,OAAO,OAAO,UAAU;AAAA;;ACrd1B;;;ACwBO,SAAS,8BAA8B,CAAC,QAKxB;AAAA,EACrB,MAAM,QAAQ,+BAA+B,MAAM;AAAA,EACnD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKzB;AAAA,EACrB,MAAM,QAAQ,gCAAgC,MAAM;AAAA,EACpD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,qBAAqB,CAAC,QAIf;AAAA,EACrB,MAAM,QAAQ,sBAAsB,MAAM;AAAA,EAC1C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB;AAAA,IACA,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKnB;AAAA,EACrB,MAAM,QAAQ,0BAA0B,MAAM;AAAA,EAC9C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKpB;AAAA,EACrB,MAAM,QAAQ,2BAA2B,MAAM;AAAA,EAC/C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAK3B;AAAA,EACrB,MAAM,QAAQ,kCAAkC,MAAM;AAAA,EACtD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAK9B;AAAA,EACrB,MAAM,QAAQ,qCAAqC,MAAM;AAAA,EACzD,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKrC;AAAA,EACrB,MAAM,QAAQ,4CAA4C,MAAM;AAAA,EAChE,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2BAA2B,CAAC,QAGrB;AAAA,EACrB,MAAM,WAAsC;AAAA,IAC1C,QAAQ,kBAAkB,OAAO,QAAQ,wBAAwB;AAAA,EACnE;AAAA,EAEA,IAAI,OAAO,WAAW,OAAO,QAAQ,SAAS,QAAQ;AAAA,IACpD,SAAS,UAAU,kBAAkB,OAAO,SAAS,yBAAyB;AAAA,EAChF;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,8BAA8B,CAAC,QAKjB;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,SAAS,WAAW,yBAAyB;AAAA,MAC3C;AAAA,MACA,OAAO,OAAO,MAAM;AAAA,MACpB,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,0CAA0C,CAAC,QAK7B;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC3D,IAAI,UAAU,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IAEA,SAAS,WAAW,yBAAyB;AAAA,MAC3C,QAAQ,gCAAgC,OAAO,SAAS,QAAQ;AAAA,MAChE;AAAA,MACA,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,wBAAwB,CAAC,QAKpB;AAAA,EACZ,IAAI,kBAAkB,OAAO,MAAM,GAAG;AAAA,IACpC,IAAI,CAAC,UAAS,OAAO,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,OAAO,IAAI;AAAA,IACnC;AAAA,IAEA,OAAO;AAAA,MACL,cAAc,OAAO,OAAO,MAAM,YAAY;AAAA,MAC9C,WAAW,OAAO,OAAO,MAAM,SAAS;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,OAAO,oBAAoB;AAAA,IACzB,QAAQ,OAAO;AAAA,IACf,OAAO,OAAO;AAAA,IACd,MAAM,OAAO;AAAA,IACb,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,mBAAmB,CAAC,QAKf;AAAA,EACZ,QAAQ,QAAQ,OAAO,MAAM,mBAAmB;AAAA,EAEhD,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,IAAI,WAAW,UAAU,WAAW,aAAa;AAAA,MAC/C,IAAI,iBAAiB,MAAM;AAAA,QACzB,OAAO,aAAa,OAAO,IAAI;AAAA,MACjC;AAAA,MACA,OAAO,kBAAkB,OAAO,IAAI;AAAA,IACtC;AAAA,IAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,MACzB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,OAAO,MAAM,IAAI,CAAC,MAAM,UACtB,oBAAoB;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,MACP,MAAM,GAAG,QAAQ;AAAA,MACjB;AAAA,IACF,CAAC,CACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,oBAAoB;AAAA,QAClC,QAAQ,OAAO;AAAA,QACf,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,MAChE,MAAM,aAAa,MAAM;AAAA,MACzB,IAAI,eAAe,WAAW;AAAA,QAC5B;AAAA,MACF;AAAA,MAEA,IAAI,eAAe,MAAM;AAAA,QACvB,SAAS,WAAW;AAAA,QACpB;AAAA,MACF;AAAA,MAEA,SAAS,WAAW,oBAAoB;AAAA,QACtC,QAAQ,MAAM;AAAA,QACd,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,MAAM,YAAY,eAAe,IAAI,OAAO,WAAW;AAAA,IACvD,IAAI,CAAC,WAAW;AAAA,MACd,MAAM,IAAI,wBACR,gCAAgC,OAAO,mBAAmB,MAC5D;AAAA,IACF;AAAA,IAEA,OAAO,oBAAoB;AAAA,MACzB,QAAQ,UAAU;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA;AAGtC,SAAS,iBAAiB,CAAC,OAAgB,MAAyB;AAAA,EAClE,IAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AAAA,IAC7E,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,MAAM;AAAA,IACzB,OAAO,aAAa,OAAO,IAAI;AAAA,EACjC;AAAA,EAEA,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,IACxB,OAAO,MAAM,IAAI,CAAC,MAAM,UAAU,kBAAkB,MAAM,GAAG,QAAQ,QAAQ,CAAC;AAAA,EAChF;AAAA,EAEA,IAAI,cAAc,KAAK,GAAG;AAAA,IACxB,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,kBAAkB,OAAO,GAAG,QAAQ,KAAK;AAAA,IAC3D;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,IAAI;AAAA;AAG5B,SAAS,YAAY,CAAC,OAAa,MAAsB;AAAA,EACvD,IAAI,OAAO,MAAM,MAAM,QAAQ,CAAC,GAAG;AAAA,IACjC,MAAM,gBAAgB,IAAI;AAAA,EAC5B;AAAA,EAEA,OAAO,MAAM,YAAY;AAAA;AAG3B,SAAS,eAAe,CAAC,MAAuC;AAAA,EAC9D,OAAO,IAAI,wBAAwB,UAAU,0CAA0C;AAAA;AAGzF,SAAS,SAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;AD/U5E,eAAsB,kBAAkB,CACtC,SACA,UACA,UAAqC,CAAC,GACH;AAAA,EACnC,iBAAiB,SAAS,EAAE,MAAM,gBAAgB,YAAY,SAAS,GAAG,CAAC;AAAA,EAC3E,MAAM,UAAU,QAAQ,QAAQ;AAAA,EAChC,IAAI,CAAC,SAAS;AAAA,IACZ,MAAM,IAAI,wBAAwB,gDAAgD;AAAA,EACpF;AAAA,EAEA,MAAM,QAAQ,QAAQ,OAAO;AAAA,EAC7B,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,IAAI,wBAAwB,8CAA8C;AAAA,EAClF;AAAA,EAEA,MAAM,QAAQ,oBAAoB,QAAQ,KAAK;AAAA,EAC/C,MAAM,QAAQ,QAAQ,SAAS,CAAC;AAAA,EAGhC,MAAM,WAAW,sBAAsB;AAAA,IACrC;AAAA,IACA;AAAA,IACA,gBAAgB,QAAQ,SAAS,kBAAkB;AAAA,EACrD,CAAC;AAAA,EAED,MAAM,WAAW,MAAM,QAAQ,QAAQ,EAAE,WAAW,QAAQ,WAAW,IAAI,MAAM,CAAC;AAAA,EAClF,IAAI,UAAU;AAAA,IACZ,IAAI,SAAS,eAAe,SAAS,IAAI;AAAA,MACvC,MAAM,IAAI,wBACR,wBAAwB,mDAAmD,SAAS,cACtF;AAAA,IACF;AAAA,IAEA,OAAO;AAAA,MACL,YAAY,SAAS;AAAA,MACrB;AAAA,MACA,WAAW,SAAS,YAAY,SAAS,WAAW,YAAY;AAAA,MAChE,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,IAAI;AAAA,EACrB,MAAM,QAAQ,MAAM;AAAA,IAClB,WAAW,QAAQ;AAAA,IACnB,IAAI;AAAA,IACJ,YAAY,SAAS;AAAA,IACrB,OAAO;AAAA,IACP;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB,sBACE,QAAQ,eAAe,cACtB,QAAQ,QAAQ,SAAS,aAAa,QAAQ,OAAO,YAAY;AAAA,EACtE,CAAC;AAAA,EAED,IAAI;AAAA,EACJ,IAAI;AAAA,IACD,CAAC,GAAG,IAAI,MAAM,MAAM,QAAQ;AAAA,MAC3B,WAAW,QAAQ;AAAA,MACnB,MAAM;AAAA,QACJ;AAAA,UACE,MAAM;AAAA,UACN,SAAS,EAAE,YAAY,SAAS,IAAI,OAAO,OAAO,MAAM;AAAA,QAC1D;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,MAAM,SAAS,MAAM,QAAQ,OAAO;AAAA,MAClC,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,IACD,iBAAiB,SAAS,OAAO;AAAA,MAC/B,WAAW,QAAQ;AAAA,MACnB,YAAY,OAAO;AAAA,MACnB,KAAK;AAAA,QACH,MAAM;AAAA,QACN;AAAA,QACA,YAAY,SAAS;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,IACD,MAAM;AAAA;AAAA,EAKR,MAAM,QAAQ,OAAO,KACnB;AAAA,IACE,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,YAAY,SAAS;AAAA,UACrB;AAAA,UACA,UAAU,SAAS,YAAY;AAAA,aAC3B,KAAK,KAAK,EAAE,OAAO,IAAI,GAAG,IAAI,CAAC;AAAA,aAC/B,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAAA,EACF,GACA,EAAE,QAAQ,OAAO,CACnB;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB;AAAA,IACA,UAAU,SAAS,YAAY;AAAA,IAC/B,OAAO,KAAK;AAAA,IACZ,SAAS;AAAA,EACX;AAAA;AAGF,SAAS,mBAAmB,CAAC,OAAmC;AAAA,EAC9D,IAAI,UAAU,WAAW;AAAA,IACvB,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,MACjB,MAAM,IAAI,wBAAwB,0CAA0C;AAAA,IAC9E;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAO,WAAW;AAAA;;AE/IpB,MAAM,iBAAiB;AAAA,EACX;AAAA,EACA;AAAA,EAEjB,WAAW,CAAC,SAA6B,WAA0C;AAAA,IACjF,KAAK,UAAU;AAAA,IACf,KAAK,gBAAgB,IAAI,IAAI,UAAU,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;AAAA;AAAA,EAInF,IAAI,GAAkC;AAAA,IACpC,OAAO,CAAC,GAAG,KAAK,cAAc,OAAO,CAAC;AAAA;AAAA,EAIxC,OAAO,CAAC,YAA+C;AAAA,IACrD,OAAO,KAAK,cAAc,IAAI,UAAU,KAAK;AAAA;AAAA,EAI/C,OAA6C,CAC3C,UACA,UAII,CAAC,GAC8B;AAAA,IACnC,OAAO,KAAK,YAAY,EAAE,YAAY,SAAS,OAAO,QAAQ,CAAC;AAAA;AAAA,OAI3D,YAAW,CAAC,OAAmE;AAAA,IACnF,OAAO,KAAK,cAAc,KAAK,SAAS,KAAK;AAAA;AAAA,OAOzC,cAAa,CACjB,SACA,OACmC;AAAA,IACnC,MAAM,WAAW,KAAK,QAAQ,MAAM,UAAU;AAAA,IAC9C,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,wBAAwB,4BAA4B,MAAM,aAAa;AAAA,IACnF;AAAA,IAEA,OAAO,mBAAmB,SAAS,UAAU,KAAK;AAAA;AAEtD;",
|
|
13
|
+
"debugId": "680E4CCE7DF2359264756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
isLevelEnabled,
|
|
6
6
|
isLogRecord,
|
|
7
7
|
normalizeLogError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6zrpewy4.js";
|
|
9
9
|
import {
|
|
10
10
|
getInvalidJsonValueReason
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-be9vm29v.js";
|
|
12
12
|
|
|
13
13
|
// src/logging/console-logger.ts
|
|
14
14
|
var CONSOLE_METHOD = {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createEventId,
|
|
4
4
|
materializationEventKindOrdinal
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-bh8bwma3.js";
|
|
6
6
|
import {
|
|
7
7
|
linkRefKey,
|
|
8
8
|
linkRefSortKey,
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
objectRefSortKey,
|
|
12
12
|
projectionEntityKey,
|
|
13
13
|
telemetryPointKey
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-8kv2sez0.js";
|
|
15
15
|
import {
|
|
16
16
|
MaterializationConflictError,
|
|
17
17
|
MaterializationValidationError
|
|
18
18
|
} from "./chunk-ry24jbr1.js";
|
|
19
19
|
import {
|
|
20
20
|
stableJsonStringify
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-be9vm29v.js";
|
|
22
22
|
|
|
23
23
|
// src/storage/ontology/provider.ts
|
|
24
24
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
isPlainRecord
|
|
4
|
+
} from "./chunk-be9vm29v.js";
|
|
5
|
+
|
|
2
6
|
// src/blob-storage/derive.ts
|
|
3
7
|
function blobDigestHex(digest) {
|
|
4
8
|
return digest.slice("sha256:".length);
|
|
@@ -8,18 +12,11 @@ function blobIdFromDigest(digest) {
|
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
// src/blob-storage/validation.ts
|
|
11
|
-
function isPlainObject(value) {
|
|
12
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
const prototype = Object.getPrototypeOf(value);
|
|
16
|
-
return prototype === Object.prototype || prototype === null;
|
|
17
|
-
}
|
|
18
15
|
function isBlobDigest(value) {
|
|
19
16
|
return typeof value === "string" && value.startsWith("sha256:") && value.length > "sha256:".length;
|
|
20
17
|
}
|
|
21
18
|
function isFileRef(value) {
|
|
22
|
-
return
|
|
19
|
+
return isPlainRecord(value) && typeof value.blobId === "string" && value.blobId.trim().length > 0 && isBlobDigest(value.digest) && value.blobId === blobIdFromDigest(value.digest) && typeof value.sizeBytes === "number" && Number.isInteger(value.sizeBytes) && value.sizeBytes >= 0 && (value.fileName === undefined || typeof value.fileName === "string") && (value.mediaType === undefined || typeof value.mediaType === "string") && (value.logicalPath === undefined || typeof value.logicalPath === "string");
|
|
23
20
|
}
|
|
24
21
|
function supportsDirectUpload(storage) {
|
|
25
22
|
const candidate = storage;
|
|
@@ -32,4 +29,4 @@ function supportsRangeRead(storage) {
|
|
|
32
29
|
|
|
33
30
|
export { blobDigestHex, blobIdFromDigest, isBlobDigest, isFileRef, supportsDirectUpload, supportsRangeRead };
|
|
34
31
|
|
|
35
|
-
//# debugId=
|
|
32
|
+
//# debugId=CBADD015FD5B0A0D64756E2164756E21
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"sources": ["../src/blob-storage/derive.ts", "../src/blob-storage/validation.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { BlobDigest } from \"./types\"\n\n// Pure, crypto-free derivations of blob identity from a digest. Kept out of\n// `utils.ts` (which imports `node:crypto`) so the browser-safe `./browser`\n// barrel can reuse them without dragging Node crypto into the client bundle.\n\nexport function blobDigestHex(digest: BlobDigest): string {\n return digest.slice(\"sha256:\".length)\n}\n\nexport function blobIdFromDigest(digest: BlobDigest): string {\n return `blob_${blobDigestHex(digest)}`\n}\n",
|
|
6
|
-
"import { blobIdFromDigest } from \"./derive\"\nimport type {\n BlobDigest,\n BlobStorage,\n DirectUploadBlobStorage,\n FileRef,\n RangeReadableBlobStorage,\n} from \"./types\"\n\
|
|
6
|
+
"import { isPlainRecord } from \"../json\"\nimport { blobIdFromDigest } from \"./derive\"\nimport type {\n BlobDigest,\n BlobStorage,\n DirectUploadBlobStorage,\n FileRef,\n RangeReadableBlobStorage,\n} from \"./types\"\n\nexport function isBlobDigest(value: unknown): value is BlobDigest {\n return typeof value === \"string\" && value.startsWith(\"sha256:\") && value.length > \"sha256:\".length\n}\n\nexport function isFileRef(value: unknown): value is FileRef {\n return (\n isPlainRecord(value) &&\n typeof value.blobId === \"string\" &&\n value.blobId.trim().length > 0 &&\n isBlobDigest(value.digest) &&\n // Blob identity is content-addressed: the id must be derivable from the digest.\n // Rejecting a mismatch guards against tampered or malformed references.\n value.blobId === blobIdFromDigest(value.digest) &&\n typeof value.sizeBytes === \"number\" &&\n Number.isInteger(value.sizeBytes) &&\n value.sizeBytes >= 0 &&\n (value.fileName === undefined || typeof value.fileName === \"string\") &&\n (value.mediaType === undefined || typeof value.mediaType === \"string\") &&\n (value.logicalPath === undefined || typeof value.logicalPath === \"string\")\n )\n}\n\nexport function supportsDirectUpload(\n storage: BlobStorage\n): storage is BlobStorage & DirectUploadBlobStorage {\n const candidate = storage as Partial<DirectUploadBlobStorage>\n return (\n typeof candidate.createUpload === \"function\" &&\n typeof candidate.signUploadPart === \"function\" &&\n typeof candidate.completeUpload === \"function\" &&\n typeof candidate.abortUpload === \"function\"\n )\n}\n\nexport function supportsRangeRead(\n storage: BlobStorage\n): storage is BlobStorage & RangeReadableBlobStorage {\n const candidate = storage as Partial<RangeReadableBlobStorage>\n return typeof candidate.openRange === \"function\"\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": ";;;;;;AAMO,SAAS,aAAa,CAAC,QAA4B;AAAA,EACxD,OAAO,OAAO,MAAM,UAAU,MAAM;AAAA;AAG/B,SAAS,gBAAgB,CAAC,QAA4B;AAAA,EAC3D,OAAO,QAAQ,cAAc,MAAM;AAAA;;;ACD9B,SAAS,YAAY,CAAC,OAAqC;AAAA,EAChE,OAAO,OAAO,UAAU,YAAY,MAAM,WAAW,SAAS,KAAK,MAAM,SAAS,UAAU;AAAA;AAGvF,SAAS,SAAS,CAAC,OAAkC;AAAA,EAC1D,OACE,cAAc,KAAK,KACnB,OAAO,MAAM,WAAW,YACxB,MAAM,OAAO,KAAK,EAAE,SAAS,KAC7B,aAAa,MAAM,MAAM,KAGzB,MAAM,WAAW,iBAAiB,MAAM,MAAM,KAC9C,OAAO,MAAM,cAAc,YAC3B,OAAO,UAAU,MAAM,SAAS,KAChC,MAAM,aAAa,MAClB,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa,cAC1D,MAAM,cAAc,aAAa,OAAO,MAAM,cAAc,cAC5D,MAAM,gBAAgB,aAAa,OAAO,MAAM,gBAAgB;AAAA;AAI9D,SAAS,oBAAoB,CAClC,SACkD;AAAA,EAClD,MAAM,YAAY;AAAA,EAClB,OACE,OAAO,UAAU,iBAAiB,cAClC,OAAO,UAAU,mBAAmB,cACpC,OAAO,UAAU,mBAAmB,cACpC,OAAO,UAAU,gBAAgB;AAAA;AAI9B,SAAS,iBAAiB,CAC/B,SACmD;AAAA,EACnD,MAAM,YAAY;AAAA,EAClB,OAAO,OAAO,UAAU,cAAc;AAAA;",
|
|
9
|
+
"debugId": "CBADD015FD5B0A0D64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -10,15 +10,15 @@ import {
|
|
|
10
10
|
requestAction,
|
|
11
11
|
requestActionAndWait,
|
|
12
12
|
waitForActionRun
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-avppcgt6.js";
|
|
14
14
|
import {
|
|
15
15
|
createLinkScopeFingerprint
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-rjqm6ksg.js";
|
|
17
17
|
import {
|
|
18
18
|
linkRefKey,
|
|
19
19
|
linkScopeKey,
|
|
20
20
|
objectRefKey
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-8kv2sez0.js";
|
|
22
22
|
import {
|
|
23
23
|
lowerEditBatch
|
|
24
24
|
} from "./chunk-1evzqhks.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
explainObjectQuery,
|
|
11
11
|
facetObjects,
|
|
12
12
|
validateObjectQuery
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-b1bqvhpe.js";
|
|
14
14
|
import {
|
|
15
15
|
createObjectQueryBuilder
|
|
16
16
|
} from "./chunk-gqdd7508.js";
|
|
@@ -23,17 +23,17 @@ import {
|
|
|
23
23
|
import {
|
|
24
24
|
requestAction,
|
|
25
25
|
requestActionAndWait
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-avppcgt6.js";
|
|
27
27
|
import {
|
|
28
28
|
normalizeJsonProperties
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-rjqm6ksg.js";
|
|
30
30
|
import {
|
|
31
31
|
ObjectNotFoundError
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-raq0x6bd.js";
|
|
33
33
|
import {
|
|
34
34
|
linkRefKey,
|
|
35
35
|
telemetryPointKey
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-8kv2sez0.js";
|
|
37
37
|
import {
|
|
38
38
|
MaterializationObjectNotFoundError
|
|
39
39
|
} from "./chunk-ry24jbr1.js";
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
normalizeObjectProperties,
|
|
51
51
|
validateLinkProperties,
|
|
52
52
|
validateObjectProperties
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-53s4asfm.js";
|
|
54
54
|
import {
|
|
55
55
|
OntologyNotFoundError,
|
|
56
56
|
OntologyValidationError
|
|
@@ -60,10 +60,10 @@ import {
|
|
|
60
60
|
assertCanAppendTelemetry,
|
|
61
61
|
assertCanEdit,
|
|
62
62
|
assertPrivileged
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-exrfbt2d.js";
|
|
64
64
|
import {
|
|
65
65
|
stableJsonStringify
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-be9vm29v.js";
|
|
67
67
|
import {
|
|
68
68
|
__export
|
|
69
69
|
} from "./chunk-y64skrwp.js";
|