@evalops/maestro 0.10.20 → 0.10.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent.d.ts +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +15 -4
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +68 -3
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/types.d.ts +3 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +7 -1
- package/dist/agent/transport.js.map +1 -1
- package/dist/audit/logger.d.ts +1 -1
- package/dist/bootstrap/tools-setup.d.ts.map +1 -1
- package/dist/bootstrap/tools-setup.js +3 -2
- package/dist/bootstrap/tools-setup.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts.map +1 -1
- package/dist/cli/commands/a2a.js +141 -8
- package/dist/cli/commands/a2a.js.map +1 -1
- package/dist/cli/commands/codex.d.ts.map +1 -1
- package/dist/cli/commands/codex.js +4 -3
- package/dist/cli/commands/codex.js.map +1 -1
- package/dist/cli/commands/hosted-runner.d.ts +1 -0
- package/dist/cli/commands/hosted-runner.d.ts.map +1 -1
- package/dist/cli/commands/hosted-runner.js +31 -2
- package/dist/cli/commands/hosted-runner.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +2 -9
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli-tui/commands/a2a-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/a2a-handlers.js +55 -0
- package/dist/cli-tui/commands/a2a-handlers.js.map +1 -1
- package/dist/cli.js +3924 -1972
- package/dist/codex/compatibility.d.ts +17 -1
- package/dist/codex/compatibility.d.ts.map +1 -1
- package/dist/codex/compatibility.js +57 -1
- package/dist/codex/compatibility.js.map +1 -1
- package/dist/guardian/config.d.ts +8 -6
- package/dist/guardian/config.d.ts.map +1 -1
- package/dist/guardian/config.js +33 -7
- package/dist/guardian/config.js.map +1 -1
- package/dist/guardian/runner.d.ts.map +1 -1
- package/dist/guardian/runner.js +54 -9
- package/dist/guardian/runner.js.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +2 -0
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/fathom-cua.d.ts +3 -0
- package/dist/mcp/fathom-cua.d.ts.map +1 -0
- package/dist/mcp/fathom-cua.js +158 -0
- package/dist/mcp/fathom-cua.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/{node_modules → dist/node_modules}/@evalops/contracts/package.json +1 -1
- package/{node_modules → dist/node_modules}/@evalops/tui/package.json +1 -1
- package/dist/platform/a2a-cockpit.d.ts +90 -0
- package/dist/platform/a2a-cockpit.d.ts.map +1 -0
- package/dist/platform/a2a-cockpit.js +302 -0
- package/dist/platform/a2a-cockpit.js.map +1 -0
- package/dist/platform/a2a-fleet.d.ts +14 -0
- package/dist/platform/a2a-fleet.d.ts.map +1 -1
- package/dist/platform/a2a-fleet.js +66 -1
- package/dist/platform/a2a-fleet.js.map +1 -1
- package/dist/platform/a2a-ownership.d.ts +27 -0
- package/dist/platform/a2a-ownership.d.ts.map +1 -0
- package/dist/platform/a2a-ownership.js +149 -0
- package/dist/platform/a2a-ownership.js.map +1 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
- package/dist/platform/a2a-task-ledger.js +29 -5
- package/dist/platform/a2a-task-ledger.js.map +1 -1
- package/dist/server/agent-trajectory-replay-lab.d.ts +36 -0
- package/dist/server/agent-trajectory-replay-lab.d.ts.map +1 -0
- package/dist/server/agent-trajectory-replay-lab.js +48 -0
- package/dist/server/agent-trajectory-replay-lab.js.map +1 -0
- package/dist/server/any-agent-control-plane-proof.d.ts +42 -0
- package/dist/server/any-agent-control-plane-proof.d.ts.map +1 -0
- package/dist/server/any-agent-control-plane-proof.js +175 -0
- package/dist/server/any-agent-control-plane-proof.js.map +1 -0
- package/dist/server/app-context.d.ts +1 -0
- package/dist/server/app-context.d.ts.map +1 -1
- package/dist/server/app-context.js.map +1 -1
- package/dist/server/handlers/a2a-cockpit.d.ts +3 -0
- package/dist/server/handlers/a2a-cockpit.d.ts.map +1 -0
- package/dist/server/handlers/a2a-cockpit.js +71 -0
- package/dist/server/handlers/a2a-cockpit.js.map +1 -0
- package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
- package/dist/server/handlers/headless-sessions.js +17 -2
- package/dist/server/handlers/headless-sessions.js.map +1 -1
- package/dist/server/handlers/session-artifacts.d.ts.map +1 -1
- package/dist/server/handlers/session-artifacts.js +20 -3
- package/dist/server/handlers/session-artifacts.js.map +1 -1
- package/dist/server/handlers/session-replay-lab.d.ts +13 -0
- package/dist/server/handlers/session-replay-lab.d.ts.map +1 -0
- package/dist/server/handlers/session-replay-lab.js +80 -0
- package/dist/server/handlers/session-replay-lab.js.map +1 -0
- package/dist/server/handlers/stats.js +1 -1
- package/dist/server/handlers/stats.js.map +1 -1
- package/dist/server/handlers/status.d.ts +44 -3
- package/dist/server/handlers/status.d.ts.map +1 -1
- package/dist/server/handlers/status.js +227 -17
- package/dist/server/handlers/status.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +17 -0
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +143 -3
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.d.ts +17 -0
- package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.js +352 -15
- package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +14 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/services/intelligent-router/index.d.ts +1 -1
- package/dist/services/intelligent-router/index.d.ts.map +1 -1
- package/dist/services/intelligent-router/index.js +1 -1
- package/dist/services/intelligent-router/index.js.map +1 -1
- package/dist/services/intelligent-router/normalize.d.ts +10 -2
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +20 -1
- package/dist/services/intelligent-router/normalize.js.map +1 -1
- package/dist/services/intelligent-router/service.d.ts.map +1 -1
- package/dist/services/intelligent-router/service.js +35 -0
- package/dist/services/intelligent-router/service.js.map +1 -1
- package/dist/services/intelligent-router/types.d.ts +13 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -1
- package/dist/services/intelligent-router/types.js +1 -0
- package/dist/services/intelligent-router/types.js.map +1 -1
- package/dist/telemetry/cli-command-aggregator.d.ts +1 -0
- package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -1
- package/dist/telemetry/cli-command-aggregator.js +23 -0
- package/dist/telemetry/cli-command-aggregator.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +11 -5
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-event-catalog.d.ts +15 -1
- package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-catalog.js +30 -0
- package/dist/telemetry/maestro-event-catalog.js.map +1 -1
- package/dist/version.json +2 -2
- package/package.json +10 -3
- package/node_modules/@bufbuild/protobuf/README.md +0 -44
- package/node_modules/@bufbuild/protobuf/dist/cjs/clone.d.ts +0 -6
- package/node_modules/@bufbuild/protobuf/dist/cjs/clone.js +0 -66
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/enum.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/enum.js +0 -31
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/extension.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/extension.js +0 -28
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/file.d.ts +0 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/file.js +0 -18
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/index.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/index.js +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/message.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/message.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/service.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/service.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/symbols.d.ts +0 -135
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/symbols.js +0 -43
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/types.d.ts +0 -75
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv1/types.js +0 -22
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/boot.d.ts +0 -63
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/boot.js +0 -105
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/embed.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/embed.js +0 -244
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/enum.d.ts +0 -18
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/enum.js +0 -40
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/extension.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/extension.js +0 -28
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/file.d.ts +0 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/file.js +0 -35
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/index.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/index.js +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/message.d.ts +0 -15
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/message.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/restore-json-names.d.ts +0 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/restore-json-names.js +0 -29
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/scalar.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/scalar.js +0 -67
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/service.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/service.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/symbols.d.ts +0 -135
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/symbols.js +0 -72
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/types.d.ts +0 -81
- package/node_modules/@bufbuild/protobuf/dist/cjs/codegenv2/types.js +0 -22
- package/node_modules/@bufbuild/protobuf/dist/cjs/create.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/create.js +0 -259
- package/node_modules/@bufbuild/protobuf/dist/cjs/descriptors.d.ts +0 -634
- package/node_modules/@bufbuild/protobuf/dist/cjs/descriptors.js +0 -53
- package/node_modules/@bufbuild/protobuf/dist/cjs/equals.d.ts +0 -41
- package/node_modules/@bufbuild/protobuf/dist/cjs/equals.js +0 -204
- package/node_modules/@bufbuild/protobuf/dist/cjs/extensions.d.ts +0 -59
- package/node_modules/@bufbuild/protobuf/dist/cjs/extensions.js +0 -169
- package/node_modules/@bufbuild/protobuf/dist/cjs/fields.d.ts +0 -23
- package/node_modules/@bufbuild/protobuf/dist/cjs/fields.js +0 -45
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-binary.d.ts +0 -34
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-binary.js +0 -241
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.d.ts +0 -56
- package/node_modules/@bufbuild/protobuf/dist/cjs/from-json.js +0 -619
- package/node_modules/@bufbuild/protobuf/dist/cjs/index.d.ts +0 -18
- package/node_modules/@bufbuild/protobuf/dist/cjs/index.js +0 -54
- package/node_modules/@bufbuild/protobuf/dist/cjs/is-message.d.ts +0 -7
- package/node_modules/@bufbuild/protobuf/dist/cjs/is-message.js +0 -33
- package/node_modules/@bufbuild/protobuf/dist/cjs/json-value.d.ts +0 -16
- package/node_modules/@bufbuild/protobuf/dist/cjs/json-value.js +0 -15
- package/node_modules/@bufbuild/protobuf/dist/cjs/merge.d.ts +0 -13
- package/node_modules/@bufbuild/protobuf/dist/cjs/merge.js +0 -70
- package/node_modules/@bufbuild/protobuf/dist/cjs/package.json +0 -1
- package/node_modules/@bufbuild/protobuf/dist/cjs/proto-int64.d.ts +0 -98
- package/node_modules/@bufbuild/protobuf/dist/cjs/proto-int64.js +0 -130
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/error.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/error.js +0 -36
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/guard.d.ts +0 -20
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/guard.js +0 -78
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/index.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/index.js +0 -41
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/names.d.ts +0 -30
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/names.js +0 -115
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/nested-types.d.ts +0 -35
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/nested-types.js +0 -110
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/path.d.ts +0 -107
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/path.js +0 -376
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect-check.d.ts +0 -19
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect-check.js +0 -266
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect-types.d.ts +0 -217
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect-types.js +0 -16
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/reflect.js +0 -545
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/scalar.d.ts +0 -21
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/scalar.js +0 -102
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/unsafe.d.ts +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/reflect/unsafe.js +0 -149
- package/node_modules/@bufbuild/protobuf/dist/cjs/registry.d.ts +0 -98
- package/node_modules/@bufbuild/protobuf/dist/cjs/registry.js +0 -945
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-binary.d.ts +0 -24
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-binary.js +0 -199
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.d.ts +0 -67
- package/node_modules/@bufbuild/protobuf/dist/cjs/to-json.js +0 -391
- package/node_modules/@bufbuild/protobuf/dist/cjs/types.d.ts +0 -128
- package/node_modules/@bufbuild/protobuf/dist/cjs/types.js +0 -15
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/base64-encoding.d.ts +0 -23
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/base64-encoding.js +0 -156
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.d.ts +0 -266
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/binary-encoding.js +0 -525
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/index.d.ts +0 -5
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/index.js +0 -34
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/size-delimited.d.ts +0 -51
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/size-delimited.js +0 -153
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.d.ts +0 -28
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-encoding.js +0 -61
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-format.d.ts +0 -13
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/text-format.js +0 -199
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/varint.d.ts +0 -70
- package/node_modules/@bufbuild/protobuf/dist/cjs/wire/varint.js +0 -322
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/any.d.ts +0 -38
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/any.js +0 -75
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/duration.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/duration.js +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/any_pb.d.ts +0 -238
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/any_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +0 -537
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/api_pb.js +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +0 -490
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +0 -68
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/cpp_features_pb.d.ts +0 -91
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/cpp_features_pb.js +0 -60
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +0 -4143
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +0 -892
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/duration_pb.d.ts +0 -161
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +0 -39
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +0 -424
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.d.ts +0 -189
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/go_features_pb.js +0 -126
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/java_features_pb.d.ts +0 -194
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/java_features_pb.js +0 -106
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/struct_pb.d.ts +0 -195
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +0 -59
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +0 -222
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +0 -27
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +0 -722
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/type_pb.js +0 -242
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +0 -330
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +0 -67
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/index.d.ts +0 -19
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/index.js +0 -48
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/timestamp.d.ts +0 -21
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/timestamp.js +0 -57
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.d.ts +0 -25
- package/node_modules/@bufbuild/protobuf/dist/cjs/wkt/wrappers.js +0 -66
- package/node_modules/@bufbuild/protobuf/dist/esm/clone.d.ts +0 -6
- package/node_modules/@bufbuild/protobuf/dist/esm/clone.js +0 -63
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js +0 -26
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.js +0 -25
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.d.ts +0 -1
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js +0 -14
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.js +0 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.d.ts +0 -135
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.js +0 -40
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.d.ts +0 -75
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.js +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.d.ts +0 -63
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +0 -101
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.js +0 -239
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.d.ts +0 -18
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.js +0 -36
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.js +0 -25
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.d.ts +0 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +0 -32
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.d.ts +0 -10
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.js +0 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.d.ts +0 -15
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.d.ts +0 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +0 -26
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js +0 -63
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.d.ts +0 -135
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.js +0 -69
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.d.ts +0 -81
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.js +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/create.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/create.js +0 -256
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +0 -634
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +0 -50
- package/node_modules/@bufbuild/protobuf/dist/esm/equals.d.ts +0 -41
- package/node_modules/@bufbuild/protobuf/dist/esm/equals.js +0 -201
- package/node_modules/@bufbuild/protobuf/dist/esm/extensions.d.ts +0 -59
- package/node_modules/@bufbuild/protobuf/dist/esm/extensions.js +0 -160
- package/node_modules/@bufbuild/protobuf/dist/esm/fields.d.ts +0 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/fields.js +0 -41
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.d.ts +0 -34
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +0 -236
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +0 -56
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +0 -611
- package/node_modules/@bufbuild/protobuf/dist/esm/index.d.ts +0 -18
- package/node_modules/@bufbuild/protobuf/dist/esm/index.js +0 -28
- package/node_modules/@bufbuild/protobuf/dist/esm/is-message.d.ts +0 -7
- package/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +0 -30
- package/node_modules/@bufbuild/protobuf/dist/esm/json-value.d.ts +0 -16
- package/node_modules/@bufbuild/protobuf/dist/esm/json-value.js +0 -14
- package/node_modules/@bufbuild/protobuf/dist/esm/merge.d.ts +0 -13
- package/node_modules/@bufbuild/protobuf/dist/esm/merge.js +0 -67
- package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.d.ts +0 -98
- package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +0 -127
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +0 -31
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.d.ts +0 -20
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +0 -71
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.d.ts +0 -8
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.js +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.d.ts +0 -30
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +0 -109
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.d.ts +0 -35
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +0 -105
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +0 -107
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.js +0 -369
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +0 -19
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +0 -260
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.d.ts +0 -217
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.js +0 -14
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +0 -540
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.d.ts +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +0 -97
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.d.ts +0 -39
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +0 -140
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.d.ts +0 -98
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +0 -939
- package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +0 -195
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +0 -67
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +0 -386
- package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +0 -128
- package/node_modules/@bufbuild/protobuf/dist/esm/types.js +0 -14
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +0 -23
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +0 -152
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +0 -266
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +0 -520
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +0 -5
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +0 -18
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.d.ts +0 -51
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.js +0 -148
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +0 -28
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +0 -57
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.d.ts +0 -13
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +0 -195
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +0 -70
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +0 -313
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.d.ts +0 -38
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.js +0 -69
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.d.ts +0 -9
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.js +0 -35
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +0 -238
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +0 -537
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js +0 -36
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +0 -490
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +0 -65
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.d.ts +0 -91
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +0 -57
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +0 -4143
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +0 -888
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +0 -161
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +0 -39
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +0 -424
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +0 -189
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +0 -123
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.d.ts +0 -194
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +0 -103
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +0 -43
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +0 -195
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js +0 -56
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +0 -222
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +0 -24
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +0 -722
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js +0 -239
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +0 -330
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +0 -64
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.d.ts +0 -19
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.js +0 -32
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.d.ts +0 -21
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.js +0 -50
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +0 -25
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +0 -61
- package/node_modules/@bufbuild/protobuf/package.json +0 -68
- package/node_modules/@evalops/contracts/README.md +0 -69
- package/node_modules/@evalops/tui/README.md +0 -255
- package/node_modules/@evalops/tui/dist/testing/index.d.ts +0 -46
- package/node_modules/@evalops/tui/dist/testing/index.d.ts.map +0 -1
- package/node_modules/@evalops/tui/dist/testing/index.js +0 -46
- package/node_modules/@evalops/tui/dist/testing/index.js.map +0 -1
- package/node_modules/@evalops/tui/dist/testing/virtual-terminal.d.ts +0 -147
- package/node_modules/@evalops/tui/dist/testing/virtual-terminal.d.ts.map +0 -1
- package/node_modules/@evalops/tui/dist/testing/virtual-terminal.js +0 -269
- package/node_modules/@evalops/tui/dist/testing/virtual-terminal.js.map +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/compiler/compiler.d.ts +0 -55
- package/node_modules/@sinclair/typebox/build/cjs/compiler/compiler.js +0 -670
- package/node_modules/@sinclair/typebox/build/cjs/compiler/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/compiler/index.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/errors/errors.d.ts +0 -91
- package/node_modules/@sinclair/typebox/build/cjs/errors/errors.js +0 -599
- package/node_modules/@sinclair/typebox/build/cjs/errors/function.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/errors/function.js +0 -153
- package/node_modules/@sinclair/typebox/build/cjs/errors/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/errors/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/index.d.ts +0 -71
- package/node_modules/@sinclair/typebox/build/cjs/index.js +0 -97
- package/node_modules/@sinclair/typebox/build/cjs/parser/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/parser/index.js +0 -39
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/guard.d.ts +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/guard.js +0 -86
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/index.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/index.js +0 -45
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/module.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/module.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/parse.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/parse.js +0 -160
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/token.d.ts +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/token.js +0 -230
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/types.d.ts +0 -98
- package/node_modules/@sinclair/typebox/build/cjs/parser/runtime/types.js +0 -71
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/index.js +0 -43
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/parse.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/parse.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/token.d.ts +0 -108
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/token.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/types.d.ts +0 -69
- package/node_modules/@sinclair/typebox/build/cjs/parser/static/types.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/syntax/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/syntax/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/syntax/mapping.d.ts +0 -167
- package/node_modules/@sinclair/typebox/build/cjs/syntax/mapping.js +0 -491
- package/node_modules/@sinclair/typebox/build/cjs/syntax/parser.d.ts +0 -162
- package/node_modules/@sinclair/typebox/build/cjs/syntax/parser.js +0 -191
- package/node_modules/@sinclair/typebox/build/cjs/syntax/syntax.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/syntax/syntax.js +0 -54
- package/node_modules/@sinclair/typebox/build/cjs/system/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/system/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/system/policy.d.ts +0 -29
- package/node_modules/@sinclair/typebox/build/cjs/system/policy.js +0 -58
- package/node_modules/@sinclair/typebox/build/cjs/system/system.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/system/system.js +0 -43
- package/node_modules/@sinclair/typebox/build/cjs/type/any/any.d.ts +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/type/any/any.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/any/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/any/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/argument/argument.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/argument/argument.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/argument/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/argument/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/array/array.d.ts +0 -28
- package/node_modules/@sinclair/typebox/build/cjs/type/array/array.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/array/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/array/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/async-iterator.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/async-iterator.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/awaited/awaited.d.ts +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/awaited/awaited.js +0 -41
- package/node_modules/@sinclair/typebox/build/cjs/type/awaited/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/awaited/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/bigint/bigint.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/bigint/bigint.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/bigint/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/bigint/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/boolean/boolean.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/boolean/boolean.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/boolean/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/boolean/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/type.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/type.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/value.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/clone/value.js +0 -73
- package/node_modules/@sinclair/typebox/build/cjs/type/composite/composite.d.ts +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/composite/composite.js +0 -46
- package/node_modules/@sinclair/typebox/build/cjs/type/composite/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/composite/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/computed/computed.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/computed/computed.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/computed/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/computed/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/const/const.d.ts +0 -27
- package/node_modules/@sinclair/typebox/build/cjs/type/const/const.js +0 -58
- package/node_modules/@sinclair/typebox/build/cjs/type/const/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/const/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor/constructor.d.ts +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor/constructor.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/constructor-parameters.d.ts +0 -7
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/constructor-parameters.js +0 -44
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/create/immutable.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/create/immutable.js +0 -70
- package/node_modules/@sinclair/typebox/build/cjs/type/create/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/create/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/create/type.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/create/type.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/date/date.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/date/date.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/date/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/date/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/discard/discard.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/discard/discard.js +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/discard/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/discard/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/enum/enum.d.ts +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/enum/enum.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/enum/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/enum/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/error/error.d.ts +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/error/error.js +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/error/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/error/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude-from-mapped-result.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude-from-mapped-result.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude-from-template-literal.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude-from-template-literal.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/exclude.js +0 -29
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/exclude/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-check.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-check.js +0 -641
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-from-mapped-key.d.ts +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-from-mapped-key.js +0 -29
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-from-mapped-result.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-from-mapped-result.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-undefined.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends-undefined.js +0 -24
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/extends.js +0 -27
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/index.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/extends/index.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract-from-mapped-result.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract-from-mapped-result.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract-from-template-literal.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract-from-template-literal.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/extract.js +0 -29
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/extract/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/function/function.d.ts +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/function/function.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/function/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/function/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/index.js +0 -40
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/kind.d.ts +0 -147
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/kind.js +0 -320
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/type.d.ts +0 -152
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/type.js +0 -597
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/value.d.ts +0 -34
- package/node_modules/@sinclair/typebox/build/cjs/type/guard/value.js +0 -89
- package/node_modules/@sinclair/typebox/build/cjs/type/helpers/helpers.d.ts +0 -42
- package/node_modules/@sinclair/typebox/build/cjs/type/helpers/helpers.js +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/type/helpers/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/helpers/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/index.d.ts +0 -71
- package/node_modules/@sinclair/typebox/build/cjs/type/index.js +0 -88
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/index.d.ts +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/index.js +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-from-mapped-key.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-from-mapped-key.js +0 -26
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-from-mapped-result.js +0 -24
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-property-keys.d.ts +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed-property-keys.js +0 -36
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed.d.ts +0 -52
- package/node_modules/@sinclair/typebox/build/cjs/type/indexed/indexed.js +0 -98
- package/node_modules/@sinclair/typebox/build/cjs/type/instance-type/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/instance-type/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/instance-type/instance-type.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/instance-type/instance-type.js +0 -44
- package/node_modules/@sinclair/typebox/build/cjs/type/instantiate/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/instantiate/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/instantiate/instantiate.d.ts +0 -50
- package/node_modules/@sinclair/typebox/build/cjs/type/instantiate/instantiate.js +0 -153
- package/node_modules/@sinclair/typebox/build/cjs/type/integer/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/integer/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/integer/integer.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/integer/integer.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-create.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-create.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-evaluated.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-evaluated.js +0 -42
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-type.d.ts +0 -15
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect-type.js +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/intersect/intersect.js +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/capitalize.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/capitalize.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/index.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/index.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/intrinsic-from-mapped-key.d.ts +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/intrinsic-from-mapped-key.js +0 -30
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/intrinsic.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/intrinsic.js +0 -68
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/lowercase.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/lowercase.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/uncapitalize.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/uncapitalize.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/uppercase.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/uppercase.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/iterator/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/iterator/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/iterator/iterator.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/iterator/iterator.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/index.d.ts +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/index.js +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-from-mapped-result.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-property-entries.d.ts +0 -7
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-property-entries.js +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-property-keys.d.ts +0 -24
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof-property-keys.js +0 -78
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/keyof/keyof.js +0 -40
- package/node_modules/@sinclair/typebox/build/cjs/type/literal/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/literal/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/literal/literal.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/literal/literal.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped-key.d.ts +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped-key.js +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped-result.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped-result.js +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped.d.ts +0 -47
- package/node_modules/@sinclair/typebox/build/cjs/type/mapped/mapped.js +0 -107
- package/node_modules/@sinclair/typebox/build/cjs/type/module/compute.d.ts +0 -59
- package/node_modules/@sinclair/typebox/build/cjs/type/module/compute.js +0 -205
- package/node_modules/@sinclair/typebox/build/cjs/type/module/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/module/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/module/infer.d.ts +0 -49
- package/node_modules/@sinclair/typebox/build/cjs/type/module/infer.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/module/module.d.ts +0 -27
- package/node_modules/@sinclair/typebox/build/cjs/type/module/module.js +0 -38
- package/node_modules/@sinclair/typebox/build/cjs/type/never/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/never/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/never/never.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/never/never.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/not/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/not/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/not/not.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/not/not.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/null/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/null/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/null/null.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/null/null.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/number/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/number/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/number/number.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/number/number.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/object/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/object/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/object/object.d.ts +0 -51
- package/node_modules/@sinclair/typebox/build/cjs/type/object/object.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit-from-mapped-key.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit-from-mapped-key.js +0 -26
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit-from-mapped-result.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit.d.ts +0 -36
- package/node_modules/@sinclair/typebox/build/cjs/type/omit/omit.js +0 -75
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/optional-from-mapped-result.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/optional-from-mapped-result.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/optional.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/optional/optional.js +0 -26
- package/node_modules/@sinclair/typebox/build/cjs/type/parameters/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/parameters/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/parameters/parameters.d.ts +0 -7
- package/node_modules/@sinclair/typebox/build/cjs/type/parameters/parameters.js +0 -44
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/partial-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/partial-from-mapped-result.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/partial.d.ts +0 -35
- package/node_modules/@sinclair/typebox/build/cjs/type/partial/partial.js +0 -111
- package/node_modules/@sinclair/typebox/build/cjs/type/patterns/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/patterns/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/patterns/patterns.d.ts +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/type/patterns/patterns.js +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick-from-mapped-key.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick-from-mapped-key.js +0 -28
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick-from-mapped-result.js +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick.d.ts +0 -36
- package/node_modules/@sinclair/typebox/build/cjs/type/pick/pick.js +0 -70
- package/node_modules/@sinclair/typebox/build/cjs/type/promise/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/promise/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/promise/promise.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/promise/promise.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/readonly-from-mapped-result.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/readonly-from-mapped-result.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/readonly.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly/readonly.js +0 -26
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/readonly-optional.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/readonly-optional.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/record/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/record/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/record/record.d.ts +0 -71
- package/node_modules/@sinclair/typebox/build/cjs/type/record/record.js +0 -123
- package/node_modules/@sinclair/typebox/build/cjs/type/recursive/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/recursive/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/recursive/recursive.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/recursive/recursive.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/ref/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/ref/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/ref/ref.d.ts +0 -41
- package/node_modules/@sinclair/typebox/build/cjs/type/ref/ref.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/regexp/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/regexp/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/regexp/regexp.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/regexp/regexp.js +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/format.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/format.js +0 -35
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/index.js +0 -39
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/type.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/registry/type.js +0 -35
- package/node_modules/@sinclair/typebox/build/cjs/type/required/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/required/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/required/required-from-mapped-result.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/required/required-from-mapped-result.js +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/type/required/required.d.ts +0 -35
- package/node_modules/@sinclair/typebox/build/cjs/type/required/required.js +0 -110
- package/node_modules/@sinclair/typebox/build/cjs/type/rest/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/rest/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/rest/rest.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/rest/rest.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/return-type/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/return-type/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/return-type/return-type.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/return-type/return-type.js +0 -44
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/anyschema.d.ts +0 -33
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/anyschema.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/index.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/index.js +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/schema.d.ts +0 -29
- package/node_modules/@sinclair/typebox/build/cjs/type/schema/schema.js +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/sets/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/sets/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/sets/set.d.ts +0 -28
- package/node_modules/@sinclair/typebox/build/cjs/type/sets/set.js +0 -59
- package/node_modules/@sinclair/typebox/build/cjs/type/static/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/static/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/static/static.d.ts +0 -39
- package/node_modules/@sinclair/typebox/build/cjs/type/static/static.js +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/string/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/string/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/string/string.d.ts +0 -25
- package/node_modules/@sinclair/typebox/build/cjs/type/string/string.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/symbol/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/symbol/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/symbol/symbol.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/symbol/symbol.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/symbols/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/symbols/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/symbols/symbols.d.ts +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/symbols/symbols.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/finite.d.ts +0 -19
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/finite.js +0 -56
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/generate.d.ts +0 -21
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/generate.js +0 -60
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/index.d.ts +0 -7
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/index.js +0 -24
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/parse.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/parse.js +0 -174
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/pattern.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/pattern.js +0 -39
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/syntax.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/syntax.js +0 -59
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/template-literal.d.ts +0 -30
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/template-literal.js +0 -17
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/union.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/template-literal/union.js +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/transform/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/transform/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/transform/transform.d.ts +0 -30
- package/node_modules/@sinclair/typebox/build/cjs/type/transform/transform.js +0 -47
- package/node_modules/@sinclair/typebox/build/cjs/type/tuple/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/tuple/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/tuple/tuple.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/type/tuple/tuple.js +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/type/index.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/type/index.js +0 -51
- package/node_modules/@sinclair/typebox/build/cjs/type/type/javascript.d.ts +0 -64
- package/node_modules/@sinclair/typebox/build/cjs/type/type/javascript.js +0 -104
- package/node_modules/@sinclair/typebox/build/cjs/type/type/json.d.ts +0 -208
- package/node_modules/@sinclair/typebox/build/cjs/type/type/json.js +0 -226
- package/node_modules/@sinclair/typebox/build/cjs/type/type/type.d.ts +0 -59
- package/node_modules/@sinclair/typebox/build/cjs/type/type/type.js +0 -129
- package/node_modules/@sinclair/typebox/build/cjs/type/uint8array/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/uint8array/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/uint8array/uint8array.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/uint8array/uint8array.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/undefined/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/undefined/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/undefined/undefined.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/undefined/undefined.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/union/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/union/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-create.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-create.js +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-evaluated.d.ts +0 -13
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-evaluated.js +0 -40
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-type.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union-type.js +0 -4
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/type/union/union.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/type/unknown/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/unknown/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/unknown/unknown.d.ts +0 -8
- package/node_modules/@sinclair/typebox/build/cjs/type/unknown/unknown.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/unsafe/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/unsafe/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/unsafe/unsafe.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/type/unsafe/unsafe.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/type/void/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/type/void/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/type/void/void.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/type/void/void.js +0 -10
- package/node_modules/@sinclair/typebox/build/cjs/value/assert/assert.d.ts +0 -15
- package/node_modules/@sinclair/typebox/build/cjs/value/assert/assert.js +0 -55
- package/node_modules/@sinclair/typebox/build/cjs/value/assert/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/assert/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/cast/cast.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/value/cast/cast.js +0 -241
- package/node_modules/@sinclair/typebox/build/cjs/value/cast/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/cast/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/check/check.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/value/check/check.js +0 -476
- package/node_modules/@sinclair/typebox/build/cjs/value/check/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/check/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/clean/clean.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/value/clean/clean.js +0 -149
- package/node_modules/@sinclair/typebox/build/cjs/value/clean/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/clean/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/clone/clone.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/value/clone/clone.js +0 -60
- package/node_modules/@sinclair/typebox/build/cjs/value/clone/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/clone/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/convert/convert.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/value/convert/convert.js +0 -264
- package/node_modules/@sinclair/typebox/build/cjs/value/convert/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/convert/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/create/create.d.ts +0 -11
- package/node_modules/@sinclair/typebox/build/cjs/value/create/create.js +0 -474
- package/node_modules/@sinclair/typebox/build/cjs/value/create/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/create/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/decode/decode.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/value/decode/decode.js +0 -14
- package/node_modules/@sinclair/typebox/build/cjs/value/decode/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/decode/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/default/default.d.ts +0 -5
- package/node_modules/@sinclair/typebox/build/cjs/value/default/default.js +0 -176
- package/node_modules/@sinclair/typebox/build/cjs/value/default/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/default/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/delta/delta.d.ts +0 -32
- package/node_modules/@sinclair/typebox/build/cjs/value/delta/delta.js +0 -178
- package/node_modules/@sinclair/typebox/build/cjs/value/delta/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/delta/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/deref/deref.d.ts +0 -12
- package/node_modules/@sinclair/typebox/build/cjs/value/deref/deref.js +0 -36
- package/node_modules/@sinclair/typebox/build/cjs/value/deref/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/deref/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/encode/encode.d.ts +0 -6
- package/node_modules/@sinclair/typebox/build/cjs/value/encode/encode.js +0 -15
- package/node_modules/@sinclair/typebox/build/cjs/value/encode/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/encode/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/equal/equal.d.ts +0 -2
- package/node_modules/@sinclair/typebox/build/cjs/value/equal/equal.js +0 -50
- package/node_modules/@sinclair/typebox/build/cjs/value/equal/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/equal/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/guard/guard.d.ts +0 -74
- package/node_modules/@sinclair/typebox/build/cjs/value/guard/guard.js +0 -195
- package/node_modules/@sinclair/typebox/build/cjs/value/guard/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/guard/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/hash/hash.d.ts +0 -7
- package/node_modules/@sinclair/typebox/build/cjs/value/hash/hash.js +0 -152
- package/node_modules/@sinclair/typebox/build/cjs/value/hash/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/hash/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/index.d.ts +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/value/index.js +0 -53
- package/node_modules/@sinclair/typebox/build/cjs/value/mutate/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/mutate/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/mutate/mutate.d.ts +0 -9
- package/node_modules/@sinclair/typebox/build/cjs/value/mutate/mutate.js +0 -104
- package/node_modules/@sinclair/typebox/build/cjs/value/parse/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/parse/index.js +0 -18
- package/node_modules/@sinclair/typebox/build/cjs/value/parse/parse.d.ts +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/value/parse/parse.js +0 -87
- package/node_modules/@sinclair/typebox/build/cjs/value/pointer/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/pointer/index.js +0 -38
- package/node_modules/@sinclair/typebox/build/cjs/value/pointer/pointer.d.ts +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/value/pointer/pointer.js +0 -126
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/decode.d.ts +0 -22
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/decode.js +0 -214
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/encode.d.ts +0 -23
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/encode.js +0 -225
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/has.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/has.js +0 -133
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/index.d.ts +0 -3
- package/node_modules/@sinclair/typebox/build/cjs/value/transform/index.js +0 -20
- package/node_modules/@sinclair/typebox/build/cjs/value/value/index.d.ts +0 -1
- package/node_modules/@sinclair/typebox/build/cjs/value/value/index.js +0 -38
- package/node_modules/@sinclair/typebox/build/cjs/value/value/value.d.ts +0 -16
- package/node_modules/@sinclair/typebox/build/cjs/value/value/value.js +0 -39
- package/node_modules/@sinclair/typebox/build/esm/compiler/compiler.d.mts +0 -55
- package/node_modules/@sinclair/typebox/build/esm/compiler/compiler.mjs +0 -663
- package/node_modules/@sinclair/typebox/build/esm/compiler/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/compiler/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/errors/errors.d.mts +0 -91
- package/node_modules/@sinclair/typebox/build/esm/errors/errors.mjs +0 -592
- package/node_modules/@sinclair/typebox/build/esm/errors/function.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/errors/function.mjs +0 -147
- package/node_modules/@sinclair/typebox/build/esm/errors/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/errors/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/index.d.mts +0 -71
- package/node_modules/@sinclair/typebox/build/esm/index.mjs +0 -80
- package/node_modules/@sinclair/typebox/build/esm/parser/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/parser/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/guard.d.mts +0 -23
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/guard.mjs +0 -72
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/index.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/index.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/module.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/module.mjs +0 -17
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/parse.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/parse.mjs +0 -123
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/token.d.mts +0 -8
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/token.mjs +0 -223
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/types.d.mts +0 -98
- package/node_modules/@sinclair/typebox/build/esm/parser/runtime/types.mjs +0 -55
- package/node_modules/@sinclair/typebox/build/esm/parser/static/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/parser/static/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/parser/static/parse.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/parser/static/parse.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/parser/static/token.d.mts +0 -108
- package/node_modules/@sinclair/typebox/build/esm/parser/static/token.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/parser/static/types.d.mts +0 -69
- package/node_modules/@sinclair/typebox/build/esm/parser/static/types.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/syntax/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/syntax/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/syntax/mapping.d.mts +0 -167
- package/node_modules/@sinclair/typebox/build/esm/syntax/mapping.mjs +0 -386
- package/node_modules/@sinclair/typebox/build/esm/syntax/parser.d.mts +0 -162
- package/node_modules/@sinclair/typebox/build/esm/syntax/parser.mjs +0 -78
- package/node_modules/@sinclair/typebox/build/esm/syntax/syntax.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/syntax/syntax.mjs +0 -16
- package/node_modules/@sinclair/typebox/build/esm/system/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/system/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/system/policy.d.mts +0 -29
- package/node_modules/@sinclair/typebox/build/esm/system/policy.mjs +0 -54
- package/node_modules/@sinclair/typebox/build/esm/system/system.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/system/system.mjs +0 -37
- package/node_modules/@sinclair/typebox/build/esm/type/any/any.d.mts +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/any/any.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/any/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/any/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/argument/argument.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/argument/argument.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/argument/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/argument/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/array/array.d.mts +0 -28
- package/node_modules/@sinclair/typebox/build/esm/type/array/array.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/array/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/array/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/async-iterator/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/async-iterator/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.d.mts +0 -14
- package/node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.mjs +0 -37
- package/node_modules/@sinclair/typebox/build/esm/type/awaited/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/awaited/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/bigint/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/bigint/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/boolean/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/boolean/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/clone/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/clone/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/clone/type.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/clone/type.mjs +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/clone/value.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/clone/value.mjs +0 -36
- package/node_modules/@sinclair/typebox/build/esm/type/composite/composite.d.mts +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/composite/composite.mjs +0 -42
- package/node_modules/@sinclair/typebox/build/esm/type/composite/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/composite/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/computed/computed.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/computed/computed.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/computed/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/computed/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/const/const.d.mts +0 -27
- package/node_modules/@sinclair/typebox/build/esm/type/const/const.mjs +0 -54
- package/node_modules/@sinclair/typebox/build/esm/type/const/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/const/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.d.mts +0 -23
- package/node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/constructor/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/constructor/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.d.mts +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.mjs +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/create/immutable.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/create/immutable.mjs +0 -33
- package/node_modules/@sinclair/typebox/build/esm/type/create/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/create/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/create/type.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/create/type.mjs +0 -15
- package/node_modules/@sinclair/typebox/build/esm/type/date/date.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/type/date/date.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/date/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/date/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/discard/discard.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/discard/discard.mjs +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/discard/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/discard/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/enum/enum.d.mts +0 -14
- package/node_modules/@sinclair/typebox/build/esm/type/enum/enum.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/enum/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/enum/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/error/error.d.mts +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/error/error.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/error/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/error/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.mjs +0 -25
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/exclude/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.mjs +0 -635
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.d.mts +0 -14
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.mjs +0 -25
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-undefined.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends-undefined.mjs +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/extends/extends.mjs +0 -23
- package/node_modules/@sinclair/typebox/build/esm/type/extends/index.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/extends/index.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/type/extract/extract.mjs +0 -25
- package/node_modules/@sinclair/typebox/build/esm/type/extract/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/extract/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/function/function.d.mts +0 -23
- package/node_modules/@sinclair/typebox/build/esm/type/function/function.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/function/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/function/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/guard/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/guard/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/guard/kind.d.mts +0 -147
- package/node_modules/@sinclair/typebox/build/esm/type/guard/kind.mjs +0 -235
- package/node_modules/@sinclair/typebox/build/esm/type/guard/type.d.mts +0 -152
- package/node_modules/@sinclair/typebox/build/esm/type/guard/type.mjs +0 -509
- package/node_modules/@sinclair/typebox/build/esm/type/guard/value.d.mts +0 -34
- package/node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs +0 -70
- package/node_modules/@sinclair/typebox/build/esm/type/helpers/helpers.d.mts +0 -42
- package/node_modules/@sinclair/typebox/build/esm/type/helpers/helpers.mjs +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/helpers/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/helpers/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/index.d.mts +0 -71
- package/node_modules/@sinclair/typebox/build/esm/type/index.mjs +0 -71
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/index.d.mts +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/index.mjs +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.mjs +0 -22
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.mjs +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.d.mts +0 -14
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.mjs +0 -32
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.d.mts +0 -52
- package/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.mjs +0 -91
- package/node_modules/@sinclair/typebox/build/esm/type/instance-type/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/instance-type/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.mjs +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/instantiate/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/instantiate/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.d.mts +0 -50
- package/node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.mjs +0 -115
- package/node_modules/@sinclair/typebox/build/esm/type/integer/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/integer/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/integer/integer.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/integer/integer.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-create.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-create.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.mjs +0 -38
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-type.d.mts +0 -15
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-type.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.mjs +0 -17
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/index.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/index.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.d.mts +0 -14
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.mjs +0 -26
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.mjs +0 -64
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/iterator/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/iterator/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/index.d.mts +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/index.mjs +0 -4
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-entries.d.mts +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-entries.mjs +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.d.mts +0 -24
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.mjs +0 -73
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.mjs +0 -35
- package/node_modules/@sinclair/typebox/build/esm/type/literal/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/literal/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/literal/literal.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/literal/literal.mjs +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-key.d.mts +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-key.mjs +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.mjs +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.d.mts +0 -47
- package/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.mjs +0 -102
- package/node_modules/@sinclair/typebox/build/esm/type/module/compute.d.mts +0 -59
- package/node_modules/@sinclair/typebox/build/esm/type/module/compute.mjs +0 -166
- package/node_modules/@sinclair/typebox/build/esm/type/module/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/module/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/module/infer.d.mts +0 -49
- package/node_modules/@sinclair/typebox/build/esm/type/module/infer.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/module/module.d.mts +0 -27
- package/node_modules/@sinclair/typebox/build/esm/type/module/module.mjs +0 -32
- package/node_modules/@sinclair/typebox/build/esm/type/never/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/never/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/never/never.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/never/never.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/not/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/not/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/not/not.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/not/not.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/null/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/null/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/null/null.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/null/null.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/number/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/number/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/number/number.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/number/number.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/object/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/object/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/object/object.d.mts +0 -51
- package/node_modules/@sinclair/typebox/build/esm/type/object/object.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/omit/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/omit/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.mjs +0 -22
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit.d.mts +0 -36
- package/node_modules/@sinclair/typebox/build/esm/type/omit/omit.mjs +0 -71
- package/node_modules/@sinclair/typebox/build/esm/type/optional/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/optional/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/optional/optional.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/optional/optional.mjs +0 -22
- package/node_modules/@sinclair/typebox/build/esm/type/parameters/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/parameters/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.d.mts +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.mjs +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/partial/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/partial/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/partial/partial.d.mts +0 -35
- package/node_modules/@sinclair/typebox/build/esm/type/partial/partial.mjs +0 -74
- package/node_modules/@sinclair/typebox/build/esm/type/patterns/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/patterns/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.d.mts +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.mjs +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/pick/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/pick/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.mjs +0 -24
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.mjs +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick.d.mts +0 -36
- package/node_modules/@sinclair/typebox/build/esm/type/pick/pick.mjs +0 -66
- package/node_modules/@sinclair/typebox/build/esm/type/promise/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/promise/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/promise/promise.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/promise/promise.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.mjs +0 -22
- package/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/record/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/record/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/record/record.d.mts +0 -71
- package/node_modules/@sinclair/typebox/build/esm/type/record/record.mjs +0 -116
- package/node_modules/@sinclair/typebox/build/esm/type/recursive/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/recursive/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.mjs +0 -15
- package/node_modules/@sinclair/typebox/build/esm/type/ref/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/ref/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/ref/ref.d.mts +0 -41
- package/node_modules/@sinclair/typebox/build/esm/type/ref/ref.mjs +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/regexp/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/regexp/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.mjs +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/registry/format.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/registry/format.mjs +0 -26
- package/node_modules/@sinclair/typebox/build/esm/type/registry/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/registry/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/registry/type.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/registry/type.mjs +0 -26
- package/node_modules/@sinclair/typebox/build/esm/type/required/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/required/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.mjs +0 -18
- package/node_modules/@sinclair/typebox/build/esm/type/required/required.d.mts +0 -35
- package/node_modules/@sinclair/typebox/build/esm/type/required/required.mjs +0 -73
- package/node_modules/@sinclair/typebox/build/esm/type/rest/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/rest/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/rest/rest.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/rest/rest.mjs +0 -15
- package/node_modules/@sinclair/typebox/build/esm/type/return-type/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/return-type/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.mjs +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/schema/anyschema.d.mts +0 -33
- package/node_modules/@sinclair/typebox/build/esm/type/schema/anyschema.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/schema/index.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/schema/index.mjs +0 -2
- package/node_modules/@sinclair/typebox/build/esm/type/schema/schema.d.mts +0 -29
- package/node_modules/@sinclair/typebox/build/esm/type/schema/schema.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/sets/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/sets/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/sets/set.d.mts +0 -28
- package/node_modules/@sinclair/typebox/build/esm/type/sets/set.mjs +0 -48
- package/node_modules/@sinclair/typebox/build/esm/type/static/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/static/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/static/static.d.mts +0 -39
- package/node_modules/@sinclair/typebox/build/esm/type/static/static.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/string/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/string/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/string/string.d.mts +0 -25
- package/node_modules/@sinclair/typebox/build/esm/type/string/string.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/symbol/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/symbol/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/symbols/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/symbols/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.d.mts +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.mjs +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.d.mts +0 -19
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.mjs +0 -49
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.d.mts +0 -21
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.mjs +0 -53
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/index.d.mts +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/index.mjs +0 -7
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.mjs +0 -167
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.mjs +0 -33
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.mjs +0 -55
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.d.mts +0 -30
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.mjs +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/union.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/template-literal/union.mjs +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/transform/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/transform/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/transform/transform.d.mts +0 -30
- package/node_modules/@sinclair/typebox/build/esm/type/transform/transform.mjs +0 -40
- package/node_modules/@sinclair/typebox/build/esm/type/tuple/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/tuple/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.mjs +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/type/index.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/type/index.mjs +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/type/javascript.d.mts +0 -64
- package/node_modules/@sinclair/typebox/build/esm/type/type/javascript.mjs +0 -99
- package/node_modules/@sinclair/typebox/build/esm/type/type/json.d.mts +0 -208
- package/node_modules/@sinclair/typebox/build/esm/type/type/json.mjs +0 -221
- package/node_modules/@sinclair/typebox/build/esm/type/type/type.d.mts +0 -59
- package/node_modules/@sinclair/typebox/build/esm/type/type/type.mjs +0 -62
- package/node_modules/@sinclair/typebox/build/esm/type/uint8array/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/uint8array/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/undefined/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/undefined/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/union/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/union/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-create.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-create.mjs +0 -5
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.d.mts +0 -13
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.mjs +0 -36
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-type.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/type/union/union-type.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/union/union.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/union/union.mjs +0 -10
- package/node_modules/@sinclair/typebox/build/esm/type/unknown/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/unknown/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.d.mts +0 -8
- package/node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/unsafe/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/unsafe/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/type/void/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/void/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/type/void/void.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/type/void/void.mjs +0 -6
- package/node_modules/@sinclair/typebox/build/esm/value/assert/assert.d.mts +0 -15
- package/node_modules/@sinclair/typebox/build/esm/value/assert/assert.mjs +0 -49
- package/node_modules/@sinclair/typebox/build/esm/value/assert/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/assert/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/cast/cast.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/value/cast/cast.mjs +0 -235
- package/node_modules/@sinclair/typebox/build/esm/value/cast/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/cast/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/check/check.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/value/check/check.mjs +0 -470
- package/node_modules/@sinclair/typebox/build/esm/value/check/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/check/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/clean/clean.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/value/clean/clean.mjs +0 -145
- package/node_modules/@sinclair/typebox/build/esm/value/clean/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/clean/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/clone/clone.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/value/clone/clone.mjs +0 -56
- package/node_modules/@sinclair/typebox/build/esm/value/clone/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/clone/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/convert/convert.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/value/convert/convert.mjs +0 -260
- package/node_modules/@sinclair/typebox/build/esm/value/convert/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/convert/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/create/create.d.mts +0 -11
- package/node_modules/@sinclair/typebox/build/esm/value/create/create.mjs +0 -468
- package/node_modules/@sinclair/typebox/build/esm/value/create/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/create/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/decode/decode.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/value/decode/decode.mjs +0 -10
- package/node_modules/@sinclair/typebox/build/esm/value/decode/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/decode/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/default/default.d.mts +0 -5
- package/node_modules/@sinclair/typebox/build/esm/value/default/default.mjs +0 -172
- package/node_modules/@sinclair/typebox/build/esm/value/default/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/default/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/delta/delta.d.mts +0 -32
- package/node_modules/@sinclair/typebox/build/esm/value/delta/delta.mjs +0 -171
- package/node_modules/@sinclair/typebox/build/esm/value/delta/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/delta/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/deref/deref.d.mts +0 -12
- package/node_modules/@sinclair/typebox/build/esm/value/deref/deref.mjs +0 -29
- package/node_modules/@sinclair/typebox/build/esm/value/deref/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/deref/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/encode/encode.d.mts +0 -6
- package/node_modules/@sinclair/typebox/build/esm/value/encode/encode.mjs +0 -11
- package/node_modules/@sinclair/typebox/build/esm/value/encode/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/encode/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/equal/equal.d.mts +0 -2
- package/node_modules/@sinclair/typebox/build/esm/value/equal/equal.mjs +0 -46
- package/node_modules/@sinclair/typebox/build/esm/value/equal/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/equal/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/guard/guard.d.mts +0 -74
- package/node_modules/@sinclair/typebox/build/esm/value/guard/guard.mjs +0 -158
- package/node_modules/@sinclair/typebox/build/esm/value/guard/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/guard/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/hash/hash.d.mts +0 -7
- package/node_modules/@sinclair/typebox/build/esm/value/hash/hash.mjs +0 -146
- package/node_modules/@sinclair/typebox/build/esm/value/hash/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/hash/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/index.d.mts +0 -20
- package/node_modules/@sinclair/typebox/build/esm/value/index.mjs +0 -32
- package/node_modules/@sinclair/typebox/build/esm/value/mutate/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/mutate/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/mutate/mutate.d.mts +0 -9
- package/node_modules/@sinclair/typebox/build/esm/value/mutate/mutate.mjs +0 -98
- package/node_modules/@sinclair/typebox/build/esm/value/parse/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/parse/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/parse/parse.d.mts +0 -22
- package/node_modules/@sinclair/typebox/build/esm/value/parse/parse.mjs +0 -81
- package/node_modules/@sinclair/typebox/build/esm/value/pointer/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/pointer/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/pointer/pointer.d.mts +0 -22
- package/node_modules/@sinclair/typebox/build/esm/value/pointer/pointer.mjs +0 -115
- package/node_modules/@sinclair/typebox/build/esm/value/transform/decode.d.mts +0 -22
- package/node_modules/@sinclair/typebox/build/esm/value/transform/decode.mjs +0 -207
- package/node_modules/@sinclair/typebox/build/esm/value/transform/encode.d.mts +0 -23
- package/node_modules/@sinclair/typebox/build/esm/value/transform/encode.mjs +0 -218
- package/node_modules/@sinclair/typebox/build/esm/value/transform/has.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/value/transform/has.mjs +0 -129
- package/node_modules/@sinclair/typebox/build/esm/value/transform/index.d.mts +0 -3
- package/node_modules/@sinclair/typebox/build/esm/value/transform/index.mjs +0 -3
- package/node_modules/@sinclair/typebox/build/esm/value/value/index.d.mts +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/value/index.mjs +0 -1
- package/node_modules/@sinclair/typebox/build/esm/value/value/value.d.mts +0 -16
- package/node_modules/@sinclair/typebox/build/esm/value/value/value.mjs +0 -16
- package/node_modules/@sinclair/typebox/compiler/package.json +0 -4
- package/node_modules/@sinclair/typebox/errors/package.json +0 -4
- package/node_modules/@sinclair/typebox/license +0 -25
- package/node_modules/@sinclair/typebox/package.json +0 -116
- package/node_modules/@sinclair/typebox/parser/package.json +0 -4
- package/node_modules/@sinclair/typebox/readme.md +0 -1865
- package/node_modules/@sinclair/typebox/syntax/package.json +0 -4
- package/node_modules/@sinclair/typebox/system/package.json +0 -4
- package/node_modules/@sinclair/typebox/type/package.json +0 -4
- package/node_modules/@sinclair/typebox/value/package.json +0 -4
- package/node_modules/ansi-regex/index.d.ts +0 -33
- package/node_modules/ansi-regex/index.js +0 -14
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/package.json +0 -61
- package/node_modules/ansi-regex/readme.md +0 -66
- package/node_modules/chalk/license +0 -9
- package/node_modules/chalk/package.json +0 -83
- package/node_modules/chalk/readme.md +0 -297
- package/node_modules/chalk/source/index.d.ts +0 -325
- package/node_modules/chalk/source/index.js +0 -225
- package/node_modules/chalk/source/utilities.js +0 -33
- package/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
- package/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
- package/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
- package/node_modules/chalk/source/vendor/supports-color/browser.js +0 -34
- package/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
- package/node_modules/chalk/source/vendor/supports-color/index.js +0 -190
- package/node_modules/get-east-asian-width/index.d.ts +0 -60
- package/node_modules/get-east-asian-width/index.js +0 -30
- package/node_modules/get-east-asian-width/license +0 -9
- package/node_modules/get-east-asian-width/lookup-data.js +0 -18
- package/node_modules/get-east-asian-width/lookup.js +0 -135
- package/node_modules/get-east-asian-width/package.json +0 -71
- package/node_modules/get-east-asian-width/readme.md +0 -65
- package/node_modules/get-east-asian-width/utilities.js +0 -24
- package/node_modules/marked/LICENSE.md +0 -44
- package/node_modules/marked/README.md +0 -107
- package/node_modules/marked/bin/main.js +0 -284
- package/node_modules/marked/bin/marked.js +0 -16
- package/node_modules/marked/lib/marked.d.ts +0 -759
- package/node_modules/marked/lib/marked.esm.js +0 -72
- package/node_modules/marked/lib/marked.esm.js.map +0 -7
- package/node_modules/marked/lib/marked.umd.js +0 -74
- package/node_modules/marked/lib/marked.umd.js.map +0 -7
- package/node_modules/marked/man/marked.1 +0 -113
- package/node_modules/marked/man/marked.1.md +0 -93
- package/node_modules/marked/package.json +0 -103
- package/node_modules/string-width/index.d.ts +0 -39
- package/node_modules/string-width/index.js +0 -203
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/package.json +0 -65
- package/node_modules/string-width/readme.md +0 -66
- package/node_modules/strip-ansi/index.d.ts +0 -15
- package/node_modules/strip-ansi/index.js +0 -19
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/package.json +0 -59
- package/node_modules/strip-ansi/readme.md +0 -37
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/advisor-effort.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/advisor-effort.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/advisor-effort.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/advisor-effort.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/delegation-prompt.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/delegation-prompt.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/delegation-prompt.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/delegation-prompt.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/guarded-files-settings.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/guarded-files-settings.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/guarded-files-settings.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/guarded-files-settings.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-generated.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-generated.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-generated.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-generated.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-schemas.generated.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/headless-protocol-schemas.generated.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/index.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/index.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/index.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/index.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/key-value-tokens.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/key-value-tokens.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/key-value-tokens.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/key-value-tokens.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/maestro-app-server.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/maestro-app-server.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/maestro-app-server.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/maestro-app-server.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/mcp-settings.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/mcp-settings.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/mcp-settings.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/mcp-settings.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory-utils.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory-utils.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory-utils.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory-utils.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/memory.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/onboarding-utils.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/onboarding-utils.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/onboarding-utils.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/onboarding-utils.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-app-server.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-app-server.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-app-server.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-app-server.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-constraints.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-constraints.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-constraints.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-constraints.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-server-request.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-server-request.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-server-request.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/runtime-server-request.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/scenario.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/scenario.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/scenario.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/scenario.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/schemas.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/schemas.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/schemas.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/schemas.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/typebox-utils.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/typebox-utils.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/typebox-utils.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/typebox-utils.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/validators.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/validators.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/validators.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/contracts/dist/validators.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/autocomplete.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/autocomplete.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/autocomplete.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/autocomplete.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/editor.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/editor.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/editor.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/editor.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/input.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/input.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/input.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/input.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/layout.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/layout.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/layout.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/layout.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/loader.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/loader.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/loader.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/loader.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/markdown.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/markdown.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/markdown.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/markdown.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/scroll-container.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/scroll-container.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/scroll-container.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/select-list.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/select-list.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/select-list.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/select-list.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/spacer.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/spacer.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/spacer.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/spacer.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/status-bar.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/status-bar.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/status-bar.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/status-bar.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/text.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/text.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/text.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/text.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/truncated-text.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/truncated-text.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/components/truncated-text.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/index.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/index.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/index.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/index.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/keymap.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/keymap.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/keymap.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/keymap.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/mermaid-renderer.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/mermaid-renderer.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/mermaid-renderer.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/style/code-highlighter.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/style/code-highlighter.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/style/code-highlighter.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/terminal.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/terminal.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/terminal.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/terminal.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/tui.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/tui.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/tui.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/tui.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils/terminal-features.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils/terminal-features.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils/terminal-features.js.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils.d.ts +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils.d.ts.map +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils.js +0 -0
- /package/{node_modules → dist/node_modules}/@evalops/tui/dist/utils.js.map +0 -0
package/dist/agent/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Core - Event-Driven LLM Interaction Engine\n *\n * This module provides the central Agent class that orchestrates all LLM\n * communication, tool execution, and state management for the Composer CLI.\n * It implements an event-driven architecture that enables real-time streaming,\n * concurrent tool execution, and extensible transport layers.\n *\n * ## Architecture Overview\n *\n * ```\n * ┌─────────────────────────────────────────────────────────────────────────┐\n * │ Agent │\n * │ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────────────────┐ │\n * │ │ State │ │ Transport │ │ Context Sources │ │\n * │ │ - messages │ │ - Anthropic │ │ - TodoContextSource │ │\n * │ │ - model │ │ - OpenAI │ │ - BackgroundTaskContextSource │ │\n * │ │ - tools │ │ - Google │ │ - LspContextSource │ │\n * │ │ - streaming │ │ - Custom │ │ - FrameworkPreferenceContext │ │\n * │ └─────────────┘ └──────────────┘ └─────────────────────────────────┘ │\n * │ │ │ │ │\n * │ ▼ ▼ ▼ │\n * │ ┌─────────────────────────────────────────────────────────────────────┐│\n * │ │ Event Emitter ││\n * │ │ message_start, message_update, message_end, tool_execution_* ││\n * │ └─────────────────────────────────────────────────────────────────────┘│\n * │ │ │\n * └─────────────────────────────────┼────────────────────────────────────────┘\n * ▼\n * ┌───────────────────┐\n * │ Subscribers │\n * │ - TUI Renderer │\n * │ - Session Mgr │\n * │ - JSONL Writer │\n * └───────────────────┘\n * ```\n *\n * ## Event Flow\n *\n * When `agent.prompt()` is called, the following sequence occurs:\n *\n * 1. **agent_start**: Signals the beginning of a prompt cycle\n * 2. **message_start**: Message envelope begins (user or assistant)\n * 3. **message_end**: Message envelope completes (user or assistant)\n * 4. **content_block_delta**: Streaming text/thinking content\n * 5. **tool_execution_start**: Tool call initiated\n * 6. **tool_execution_end**: Tool call completed\n * 7. **message_update**: Partial message with accumulated content\n * 8. **agent_end**: Prompt cycle completed\n *\n * ## Message Transformation\n *\n * Messages are transformed through a pipeline before being sent to the LLM:\n *\n * 1. **App Messages**: Internal format with attachments, metadata\n * 2. **Message Transform**: Convert attachments to content blocks\n * 3. **Provider Normalization**: Adapt to target provider's format\n * 4. **System Prompt Injection**: Add context from context sources\n *\n * ## Thinking/Reasoning Support\n *\n * The agent supports extended thinking for compatible models:\n *\n * | Level | Description |\n * |---------|------------------------------------------|\n * | off | No extended thinking |\n * | minimal | Brief chain-of-thought |\n * | low | Short reasoning steps |\n * | medium | Moderate reasoning depth |\n * | high | Deep reasoning with exploration |\n * | max | Maximum reasoning effort |\n *\n * ## Abort and Partial Handling\n *\n * The agent supports graceful interruption:\n *\n * - `abort()`: Cancel current request, discard partial response\n * - `abortAndKeepPartial()`: Cancel but preserve partial content\n *\n * @module agent/agent\n */\n\nimport { validate as uuidValidate } from \"uuid\";\nimport {\n\tbuildDiagnosticRepairFollowUpMessage,\n\tgetDiagnosticDeltaFromToolResult,\n\thasDiagnosticRepairOptOut,\n} from \"../lsp/diagnostic-repair.js\";\nimport type { SkillArtifactMetadata } from \"../skills/artifact-metadata.js\";\nimport {\n\trecordMaestroEvalScored,\n\trecordMaestroSkillInvoked,\n\trecordMaestroSkillOutcome,\n\trecordMaestroToolCallAttempt,\n\trecordMaestroToolCallCompleted,\n} from \"../telemetry/maestro-event-bus.js\";\nimport { createQueryProfilerFromEnv } from \"../utils/checkpoint-profiler.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport {\n\tdescribeToolActivity,\n\tdescribeToolDisplayName,\n\tsummarizeToolBatch,\n\tsummarizeToolUse,\n} from \"../utils/tool-use-summary.js\";\nimport {\n\tAgentContextManager,\n\ttype AgentContextSource,\n\ttype ContextLoadResult,\n} from \"./context-manager.js\";\nimport { isContextOverflow as isAssistantContextOverflow } from \"./context-overflow.js\";\nimport { convertAppMessagesToLlm, isCoreMessage } from \"./custom-messages.js\";\nimport {\n\ttype PreprocessMessagesFn,\n\tchainPreprocessMessages,\n\tdefaultPreprocessMessages,\n} from \"./preprocess-messages.js\";\nimport { isAssistantMessage } from \"./type-guards.js\";\nimport type {\n\tAgentEvent,\n\tAgentState,\n\tAgentTool,\n\tAgentTransport,\n\tApi,\n\tAppMessage,\n\tAssistantMessage,\n\tAttachment,\n\tImageContent,\n\tMessage,\n\tModel,\n\tQueuedMessage,\n\tReasoningEffort,\n\tStopReason,\n\tTextContent,\n\tThinkingLevel,\n\tToolResultMessage,\n\tUsage,\n\tUserMessage,\n\tUserMessageWithAttachments,\n} from \"./types.js\";\n\nconst logger = createLogger(\"agent\");\n\ntype ToolEvaluationSummary = {\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\trationale?: string;\n\tassertionCount?: number;\n};\n\ntype SkillEvaluationFailure = {\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n\ttoolName?: string;\n\tscore?: number;\n\tthreshold?: number;\n\trationale?: string;\n\tassertionCount?: number;\n};\n\ntype CurrentTurnSkillSelection = {\n\tskillMetadata: SkillArtifactMetadata;\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n\tevaluationFailure?: SkillEvaluationFailure;\n};\n\nfunction getToolEvaluationSummary(\n\tdetails: unknown,\n): ToolEvaluationSummary | undefined {\n\tif (!details || typeof details !== \"object\" || Array.isArray(details)) {\n\t\treturn undefined;\n\t}\n\n\tconst normalized = details as {\n\t\tevaluation?: unknown;\n\t\tassertions?: unknown;\n\t};\n\tif (\n\t\t!normalized.evaluation ||\n\t\ttypeof normalized.evaluation !== \"object\" ||\n\t\tArray.isArray(normalized.evaluation)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tconst evaluation = normalized.evaluation as Record<string, unknown>;\n\tconst summary: ToolEvaluationSummary = {};\n\tif (\n\t\ttypeof evaluation.score === \"number\" &&\n\t\tNumber.isFinite(evaluation.score)\n\t) {\n\t\tsummary.score = evaluation.score;\n\t}\n\tif (\n\t\ttypeof evaluation.threshold === \"number\" &&\n\t\tNumber.isFinite(evaluation.threshold)\n\t) {\n\t\tsummary.threshold = evaluation.threshold;\n\t}\n\tif (typeof evaluation.passed === \"boolean\") {\n\t\tsummary.passed = evaluation.passed;\n\t}\n\tif (\n\t\ttypeof evaluation.rationale === \"string\" &&\n\t\tevaluation.rationale.trim().length > 0\n\t) {\n\t\tsummary.rationale = evaluation.rationale.trim();\n\t}\n\tif (\n\t\tArray.isArray(normalized.assertions) &&\n\t\tnormalized.assertions.length > 0\n\t) {\n\t\tsummary.assertionCount = normalized.assertions.length;\n\t}\n\n\treturn Object.keys(summary).length > 0 ? summary : undefined;\n}\n\nfunction isFailedToolEvaluation(summary: ToolEvaluationSummary): boolean {\n\tif (summary.passed === false) {\n\t\treturn true;\n\t}\n\tif (summary.passed === true) {\n\t\treturn false;\n\t}\n\treturn (\n\t\ttypeof summary.score === \"number\" &&\n\t\ttypeof summary.threshold === \"number\" &&\n\t\tsummary.score < summary.threshold\n\t);\n}\n\nfunction buildEvaluationFailureMessage(\n\tfailure: SkillEvaluationFailure,\n): string | undefined {\n\tif (failure.rationale) {\n\t\treturn failure.rationale;\n\t}\n\tif (\n\t\ttypeof failure.score === \"number\" &&\n\t\ttypeof failure.threshold === \"number\"\n\t) {\n\t\treturn `Eval score ${failure.score} below threshold ${failure.threshold}`;\n\t}\n\tif (typeof failure.score === \"number\") {\n\t\treturn `Eval score ${failure.score} did not pass`;\n\t}\n\treturn \"Selected skill failed evaluation\";\n}\n\n/**\n * Default message transformer that converts app messages to LLM-ready format.\n *\n * This transformer handles:\n * - Filtering to valid message roles (user, assistant, toolResult)\n * - Expanding user message attachments into content blocks\n * - Converting images to base64 image content\n * - Converting documents to text content with filename headers\n *\n * @param messages - Array of app messages to transform\n * @returns Array of messages ready for LLM consumption\n */\nfunction defaultMessageTransformer(messages: AppMessage[]): Message[] {\n\treturn (\n\t\tconvertAppMessagesToLlm(messages)\n\t\t\t// Filter to only roles the LLM understands\n\t\t\t.filter(\n\t\t\t\t(m) =>\n\t\t\t\t\tm.role === \"user\" ||\n\t\t\t\t\tm.role === \"assistant\" ||\n\t\t\t\t\tm.role === \"toolResult\",\n\t\t\t)\n\t\t\t.map((message) => {\n\t\t\t\t// Non-user messages pass through unchanged\n\t\t\t\tif (message.role !== \"user\") {\n\t\t\t\t\treturn message as Message;\n\t\t\t\t}\n\n\t\t\t\t// Handle user messages with attachments\n\t\t\t\tconst { attachments, ...rest } = message as UserMessageWithAttachments;\n\t\t\t\tif (!attachments || attachments.length === 0) {\n\t\t\t\t\treturn rest as Message;\n\t\t\t\t}\n\n\t\t\t\t// Expand attachments into content array\n\t\t\t\t// Start with existing content (may be string or array)\n\t\t\t\tconst content: Array<TextContent | ImageContent> = Array.isArray(\n\t\t\t\t\trest.content,\n\t\t\t\t)\n\t\t\t\t\t? [...rest.content]\n\t\t\t\t\t: [{ type: \"text\", text: rest.content }];\n\n\t\t\t\t// Convert each attachment to appropriate content type\n\t\t\t\tfor (const attachment of attachments) {\n\t\t\t\t\tif (attachment.type === \"image\") {\n\t\t\t\t\t\t// Images become image content blocks with base64 data\n\t\t\t\t\t\tcontent.push({\n\t\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\t\tdata: attachment.content,\n\t\t\t\t\t\t\tmimeType: attachment.mimeType,\n\t\t\t\t\t\t} as ImageContent);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tattachment.type === \"document\" &&\n\t\t\t\t\t\tattachment.extractedText\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Documents become text blocks with filename headers\n\t\t\t\t\t\tcontent.push({\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `\\n\\n[Document: ${attachment.fileName}]\\n${attachment.extractedText}`,\n\t\t\t\t\t\t} as TextContent);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn { ...rest, content } as Message;\n\t\t\t})\n\t);\n}\n\n/**\n * Maps internal thinking level to provider reasoning effort parameter.\n *\n * Different providers have different reasoning/thinking capabilities.\n * This function normalizes our internal levels to what providers support.\n *\n * @param level - Internal thinking level\n * @returns Provider-specific reasoning effort, or undefined if disabled\n */\nfunction mapThinkingLevel(level: ThinkingLevel): ReasoningEffort | undefined {\n\tswitch (level) {\n\t\tcase \"off\":\n\t\t\treturn undefined; // No extended thinking\n\t\tcase \"minimal\":\n\t\t\treturn \"minimal\"; // Brief chain-of-thought\n\t\tcase \"low\":\n\t\t\treturn \"low\"; // Short reasoning steps\n\t\tcase \"medium\":\n\t\t\treturn \"medium\"; // Moderate depth\n\t\tcase \"high\":\n\t\t\treturn \"high\"; // Thorough reasoning\n\t\tcase \"ultra\":\n\t\t\treturn \"ultra\"; // Provider max where supported\n\t\tcase \"max\":\n\t\t\treturn \"high\"; // Maximum reasoning (max maps to high for providers)\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction buildPromptOnlyToolBatchSummaryMessage(\n\tsummaryLabels: string[],\n): UserMessage {\n\tconst bulletList = summaryLabels.map((label) => `- ${label}`).join(\"\\n\");\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: `The following is a transient summary of the most recent tool activity:\\n${bulletList}`,\n\t\t\t},\n\t\t],\n\t\ttimestamp: Date.now(),\n\t};\n}\n\nfunction buildPromptOnlyBatchShapingFeedbackMessage(hint: string): UserMessage {\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: `The following is transient tool batching feedback for the next assistant turn:\\n- ${hint}`,\n\t\t\t},\n\t\t],\n\t\ttimestamp: Date.now(),\n\t};\n}\n\n/**\n * Ensures prior assistant messages remain provider-compatible when switching models mid-session.\n *\n * When users switch between providers (e.g., Anthropic → OpenAI), previous assistant\n * messages may contain provider-specific content like \"thinking\" blocks. This function\n * converts those blocks to a format all providers can understand.\n *\n * ## Problem\n *\n * Anthropic's thinking blocks look like: `{ type: \"thinking\", thinking: \"...\" }`\n * OpenAI doesn't understand this format and may error or ignore it.\n *\n * ## Solution\n *\n * Convert thinking blocks to text: `<thinking>...</thinking>` which all providers\n * can process as regular text content.\n *\n * @param messages - Messages from conversation history\n * @param targetModel - The model that will receive these messages\n * @returns Messages with thinking blocks normalized for the target provider\n */\nfunction normalizeMessagesForProvider(\n\tmessages: Message[],\n\ttargetModel: Model<Api>,\n): Message[] {\n\tconst normalizedMessages: Message[] = [];\n\n\tfor (const msg of messages) {\n\t\tif (msg.role !== \"assistant\") {\n\t\t\tif (msg.role === \"user\") {\n\t\t\t\tconst previous = normalizedMessages[normalizedMessages.length - 1];\n\t\t\t\tif (previous?.role === \"user\") {\n\t\t\t\t\tconst previousContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\ttypeof previous.content === \"string\"\n\t\t\t\t\t\t\t? [{ type: \"text\", text: previous.content }]\n\t\t\t\t\t\t\t: [...previous.content];\n\t\t\t\t\tconst currentContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\ttypeof msg.content === \"string\"\n\t\t\t\t\t\t\t? [{ type: \"text\", text: msg.content }]\n\t\t\t\t\t\t\t: [...msg.content];\n\t\t\t\t\tconst mergedContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\tpreviousContent.length > 0 && currentContent.length > 0\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...previousContent,\n\t\t\t\t\t\t\t\t\t{ type: \"text\", text: \"\\n\\n\" } as TextContent,\n\t\t\t\t\t\t\t\t\t...currentContent,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t: [...previousContent, ...currentContent];\n\t\t\t\t\tconst previousAttachments = (\n\t\t\t\t\t\t\"attachments\" in previous ? previous.attachments : undefined\n\t\t\t\t\t) as Attachment[] | undefined;\n\t\t\t\t\tconst currentAttachments = (\n\t\t\t\t\t\t\"attachments\" in msg ? msg.attachments : undefined\n\t\t\t\t\t) as Attachment[] | undefined;\n\t\t\t\t\tconst mergedAttachments: Attachment[] = [\n\t\t\t\t\t\t...(previousAttachments ?? []),\n\t\t\t\t\t\t...(currentAttachments ?? []),\n\t\t\t\t\t];\n\t\t\t\t\tconst mergedUser: UserMessageWithAttachments = {\n\t\t\t\t\t\t...previous,\n\t\t\t\t\t\tcontent: mergedContent,\n\t\t\t\t\t\tattachments:\n\t\t\t\t\t\t\tmergedAttachments.length > 0 ? mergedAttachments : undefined,\n\t\t\t\t\t\tmetadata: previous.metadata ?? msg.metadata,\n\t\t\t\t\t};\n\t\t\t\t\tnormalizedMessages[normalizedMessages.length - 1] = mergedUser;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tnormalizedMessages.push(msg);\n\t\t\tcontinue;\n\t\t}\n\t\tconst shouldConvertThinking =\n\t\t\tmsg.provider !== targetModel.provider ||\n\t\t\tmsg.api !== targetModel.api ||\n\t\t\t!targetModel.reasoning;\n\t\tif (!shouldConvertThinking) {\n\t\t\tnormalizedMessages.push(msg);\n\t\t\tcontinue;\n\t\t}\n\t\tconst content = msg.content.map((block) => {\n\t\t\tif (block.type === \"thinking\") {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: `<thinking>${block.thinking}</thinking>`,\n\t\t\t\t} as TextContent;\n\t\t\t}\n\t\t\treturn block;\n\t\t});\n\t\tnormalizedMessages.push({ ...msg, content });\n\t}\n\n\treturn normalizedMessages;\n}\n\ntype BufferedAssistantStartState = {\n\tpendingAssistantStart: AssistantMessage | null;\n\tlastStopReason?: StopReason;\n};\n\ntype StreamedMessageEvent = Extract<\n\tAgentEvent,\n\t{ type: \"message_start\" | \"message_update\" | \"message_end\" }\n>;\n\nfunction isDuplicateMessage(\n\texisting: AppMessage | undefined,\n\tincoming: AppMessage,\n): boolean {\n\tif (!existing) return false;\n\tif (existing.role !== incoming.role) return false;\n\tif (\"timestamp\" in existing && \"timestamp\" in incoming) {\n\t\tif (existing.timestamp !== incoming.timestamp) return false;\n\t}\n\tif (existing.role === \"toolResult\" && incoming.role === \"toolResult\") {\n\t\treturn existing.toolCallId === incoming.toolCallId;\n\t}\n\t// For assistant messages, compare stopReason and content fingerprint to avoid\n\t// discarding distinct messages that share a timestamp (e.g. parallel tool calls).\n\tif (existing.role === \"assistant\" && incoming.role === \"assistant\") {\n\t\tif (existing.stopReason !== incoming.stopReason) return false;\n\t\tif (existing.content.length !== incoming.content.length) return false;\n\t\t// Compare first content block identity for a stronger structural check.\n\t\tconst a = existing.content[0];\n\t\tconst b = incoming.content[0];\n\t\tif (a && b) {\n\t\t\tif (a.type !== b.type) return false;\n\t\t\tif (a.type === \"toolCall\" && b.type === \"toolCall\") {\n\t\t\t\tif (a.id !== b.id) return false;\n\t\t\t} else if (a.type === \"text\" && b.type === \"text\") {\n\t\t\t\tif (a.text !== b.text) return false;\n\t\t\t} else if (a.type === \"thinking\" && b.type === \"thinking\") {\n\t\t\t\tif (a.thinking !== b.thinking) return false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction mergeUsage(messages: AssistantMessage[]): Usage {\n\treturn messages.reduce<Usage>(\n\t\t(acc, message) => ({\n\t\t\tinput: acc.input + message.usage.input,\n\t\t\toutput: acc.output + message.usage.output,\n\t\t\tcacheRead: acc.cacheRead + message.usage.cacheRead,\n\t\t\tcacheWrite: acc.cacheWrite + message.usage.cacheWrite,\n\t\t\tcost: {\n\t\t\t\tinput: acc.cost.input + message.usage.cost.input,\n\t\t\t\toutput: acc.cost.output + message.usage.cost.output,\n\t\t\t\tcacheRead: acc.cost.cacheRead + message.usage.cost.cacheRead,\n\t\t\t\tcacheWrite: acc.cost.cacheWrite + message.usage.cost.cacheWrite,\n\t\t\t\ttotal: acc.cost.total + message.usage.cost.total,\n\t\t\t},\n\t\t}),\n\t\t{\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotal: 0,\n\t\t\t},\n\t\t},\n\t);\n}\n\nfunction mergeAssistantMessages(\n\tmessages: AssistantMessage[],\n): AssistantMessage {\n\tconst lastMessage = messages[messages.length - 1]!;\n\treturn {\n\t\t...lastMessage,\n\t\tcontent: messages.flatMap((message) => message.content),\n\t\tusage: mergeUsage(messages),\n\t};\n}\n\n/**\n * Configuration options for creating an Agent instance.\n */\nexport interface AgentOptions {\n\t/** Initial state to override defaults (system prompt, model, tools, etc.) */\n\tinitialState?: Partial<AgentState>;\n\t/** Transport implementation for LLM provider communication */\n\ttransport: AgentTransport;\n\t/** Optional transformer to convert app messages to provider-specific format */\n\tmessageTransformer?: (\n\t\tmessages: AppMessage[],\n\t) => Message[] | Promise<Message[]>;\n\t/** Optional message preprocessor executed immediately before provider invocation */\n\tpreprocessMessages?: PreprocessMessagesFn;\n\t/** Disable Composer's built-in preprocessing (not recommended) */\n\tdisableDefaultPreprocessMessages?: boolean;\n\t/** Optional context sources for environment injection */\n\tcontextSources?: AgentContextSource[];\n}\n\n/**\n * Core Agent class implementing event-driven LLM interaction.\n *\n * The Agent manages conversation state, tool execution, and streaming responses\n * across multiple LLM providers through an abstracted transport layer.\n *\n * @example\n * ```typescript\n * const agent = new Agent({\n * transport: new AnthropicTransport(apiKey),\n * initialState: { model: claudeSonnet4, tools: codingTools }\n * });\n *\n * agent.subscribe((event) => {\n * if (event.type === 'content_block_delta') {\n * process.stdout.write(event.text);\n * }\n * });\n *\n * await agent.prompt(\"Create a hello world function\");\n * ```\n */\nexport class Agent {\n\tprivate _state: AgentState;\n\tprivate listeners: Array<(e: AgentEvent) => void> = [];\n\tprivate abortController?: AbortController;\n\tprivate transport: AgentTransport;\n\tprivate messageTransformer: (\n\t\tmessages: AppMessage[],\n\t) => Message[] | Promise<Message[]>;\n\tprivate preprocessMessages?: PreprocessMessagesFn;\n\tprivate steeringQueue: Array<QueuedMessage<AppMessage>> = [];\n\tprivate followUpQueue: Array<QueuedMessage<AppMessage>> = [];\n\tprivate nextRunHistoryQueue: AppMessage[] = [];\n\tprivate nextRunPromptOnlyQueue: Message[] = [];\n\tprivate promptOnlyQueue: Message[] = [];\n\tprivate nextRunSystemPromptAdditions: string[] = [];\n\tprivate defaultTaskBudgetTotal?: number;\n\tprivate currentTaskBudget?:\n\t\t| {\n\t\t\t\ttotal: number;\n\t\t\t\tremaining?: number;\n\t\t }\n\t\t| undefined;\n\tprivate steeringMode: \"all\" | \"one\" = \"all\";\n\tprivate followUpMode: \"all\" | \"one\" = \"all\";\n\tprivate queueMode: \"all\" | \"one\" = \"all\";\n\tprivate nextQueuedMessageId = 1;\n\tprivate runningPrompt?: Promise<void>;\n\tprivate resolveRunningPrompt?: () => void;\n\tprivate contextManager: AgentContextManager;\n\tprivate activeToolBatchIds: Set<string> | null = null;\n\tprivate completedToolBatch: Array<{\n\t\ttoolCallId: string;\n\t\ttoolName: string;\n\t\targs: Record<string, unknown>;\n\t\tisError: boolean;\n\t\ttool?: Pick<AgentTool, \"getToolUseSummary\" | \"getActivityDescription\">;\n\t}> = [];\n\tprivate suppressRecoverableOverflowErrors = false;\n\tprivate withheldRecoverableOverflowError?: AssistantMessage;\n\tprivate withheldRecoverableLengthMessages: AssistantMessage[] = [];\n\tprivate pendingMergedRecoverableTurnEnd?: AssistantMessage;\n\tprivate diagnosticRepairAttempts = new Map<string, number>();\n\tprivate currentTurnEvaluationFailure?: SkillEvaluationFailure;\n\tprivate currentTurnSkillSelections = new Map<\n\t\tstring,\n\t\tCurrentTurnSkillSelection\n\t>();\n\n\t/**\n\t * Creates a new Agent instance.\n\t *\n\t * @param opts - Configuration options including transport and initial state\n\t */\n\tconstructor(opts: AgentOptions) {\n\t\tthis.transport = opts.transport;\n\t\tthis.messageTransformer =\n\t\t\topts.messageTransformer ??\n\t\t\t((messages) => defaultMessageTransformer(messages));\n\t\tthis.preprocessMessages = chainPreprocessMessages(\n\t\t\topts.disableDefaultPreprocessMessages\n\t\t\t\t? undefined\n\t\t\t\t: defaultPreprocessMessages,\n\t\t\topts.preprocessMessages,\n\t\t);\n\n\t\tthis.contextManager = new AgentContextManager();\n\t\tif (opts.contextSources) {\n\t\t\tfor (const source of opts.contextSources) {\n\t\t\t\tthis.contextManager.addSource(source);\n\t\t\t}\n\t\t}\n\n\t\tconst {\n\t\t\tsystemPrompt,\n\t\t\tmodel,\n\t\t\tthinkingLevel,\n\t\t\ttools,\n\t\t\tqueueMode,\n\t\t\tsteeringMode,\n\t\t\tfollowUpMode,\n\t\t\t...restInitialState\n\t\t} = opts.initialState ?? {};\n\t\tthis.queueMode = queueMode ?? \"all\";\n\t\tthis.steeringMode = steeringMode ?? queueMode ?? \"all\";\n\t\tthis.followUpMode = followUpMode ?? queueMode ?? \"all\";\n\n\t\tif (restInitialState.user) {\n\t\t\tif (\n\t\t\t\t!uuidValidate(restInitialState.user.id) ||\n\t\t\t\t!uuidValidate(restInitialState.user.orgId)\n\t\t\t) {\n\t\t\t\tthrow new Error(\"Invalid user ID or Org ID: Must be a valid UUID\");\n\t\t\t}\n\t\t}\n\n\t\tthis._state = {\n\t\t\tsystemPrompt: systemPrompt ?? \"\",\n\t\t\tmodel:\n\t\t\t\tmodel ??\n\t\t\t\t((): never => {\n\t\t\t\t\tthrow new Error(\"Agent requires an initial model\");\n\t\t\t\t})(),\n\t\t\tthinkingLevel: thinkingLevel ?? \"off\",\n\t\t\ttools: tools ?? [],\n\t\t\tmessages: [],\n\t\t\tisStreaming: false,\n\t\t\tstreamMessage: null,\n\t\t\tpendingToolCalls: new Map(),\n\t\t\tsandbox: restInitialState.sandbox,\n\t\t\tsandboxMode: restInitialState.sandboxMode ?? null,\n\t\t\tsandboxEnabled:\n\t\t\t\trestInitialState.sandboxEnabled ?? Boolean(restInitialState.sandbox),\n\t\t\t...restInitialState,\n\t\t\tqueueMode: this.queueMode,\n\t\t\tsteeringMode: this.steeringMode,\n\t\t\tfollowUpMode: this.followUpMode,\n\t\t};\n\t}\n\n\t/**\n\t * Gets the current agent state (read-only).\n\t *\n\t * @returns The current state including messages, model, tools, and streaming status\n\t */\n\tget state(): Readonly<AgentState> {\n\t\treturn this._state;\n\t}\n\n\t/**\n\t * Gets detailed status of all context sources.\n\t *\n\t * Context sources provide dynamic content injected into the system prompt,\n\t * such as todo lists, LSP diagnostics, and IDE information.\n\t *\n\t * @returns Promise resolving to context load result with per-source status\n\t *\n\t * @example\n\t * ```typescript\n\t * const result = await agent.getContextSourceStatus();\n\t * for (const source of result.sourceStatuses) {\n\t * console.log(`${source.name}: ${source.status} (${source.durationMs}ms)`);\n\t * }\n\t * ```\n\t */\n\tasync getContextSourceStatus(): Promise<ContextLoadResult> {\n\t\treturn this.contextManager.getCombinedSystemPromptWithStatus();\n\t}\n\n\t/**\n\t * Optionally probes the underlying transport for connectivity checks.\n\t */\n\tasync probeTransport(): Promise<void> {\n\t\tif (this.transport.ping) {\n\t\t\tawait this.transport.ping();\n\t\t}\n\t}\n\n\t/**\n\t * Subscribes to agent events (streaming deltas, tool calls, errors, etc.).\n\t *\n\t * @param fn - Event listener function to be called on each event\n\t * @returns Unsubscribe function to remove the listener\n\t *\n\t * @example\n\t * ```typescript\n\t * const unsubscribe = agent.subscribe((event) => {\n\t * if (event.type === 'content_block_delta') {\n\t * console.log(event.text);\n\t * }\n\t * });\n\t *\n\t * // Later, to stop listening:\n\t * unsubscribe();\n\t * ```\n\t */\n\tsubscribe(fn: (e: AgentEvent) => void): () => void {\n\t\tthis.listeners.push(fn);\n\t\treturn () => {\n\t\t\tconst idx = this.listeners.indexOf(fn);\n\t\t\tif (idx >= 0) this.listeners.splice(idx, 1);\n\t\t};\n\t}\n\n\t/**\n\t * Emits an event to all subscribed listeners.\n\t * Errors in listeners are caught and logged to prevent cascading failures.\n\t *\n\t * @param event - The event to emit\n\t */\n\tprivate emit(event: AgentEvent): void {\n\t\tfor (const listener of this.listeners) {\n\t\t\ttry {\n\t\t\t\tlistener(event);\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Error in agent event listener\",\n\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async dequeueSteeringMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\tif (this.steeringQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.steeringMode === \"one\") {\n\t\t\tconst next = this.steeringQueue.shift();\n\t\t\treturn next ? [next as QueuedMessage<T>] : [];\n\t\t}\n\t\tconst queued = this.steeringQueue.splice(0) as QueuedMessage<T>[];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeueFollowUpMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\tif (this.followUpQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.followUpMode === \"one\") {\n\t\t\tconst next = this.followUpQueue.shift();\n\t\t\treturn next ? [next as QueuedMessage<T>] : [];\n\t\t}\n\t\tconst queued = this.followUpQueue.splice(0) as QueuedMessage<T>[];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeuePromptOnlyMessages(): Promise<Message[]> {\n\t\tif (\n\t\t\tthis.nextRunPromptOnlyQueue.length === 0 &&\n\t\t\tthis.promptOnlyQueue.length === 0\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunPromptOnlyQueue, ...this.promptOnlyQueue];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\treturn queued;\n\t}\n\n\tprivate dequeueNextRunHistoryMessages(): AppMessage[] {\n\t\tif (this.nextRunHistoryQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunHistoryQueue];\n\t\tthis.nextRunHistoryQueue = [];\n\t\treturn queued;\n\t}\n\n\tprivate dequeueNextRunSystemPromptAdditions(): string[] {\n\t\tif (this.nextRunSystemPromptAdditions.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunSystemPromptAdditions];\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeueQueuedMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\treturn this.dequeueFollowUpMessages<T>();\n\t}\n\n\t/**\n\t * Sets the system prompt that provides context and instructions to the model.\n\t *\n\t * @param v - The system prompt text\n\t */\n\tsetSystemPrompt(v: string): void {\n\t\tthis._state.systemPrompt = v;\n\t}\n\n\t/**\n\t * Sets the active LLM model for this agent.\n\t *\n\t * @param m - The model configuration\n\t */\n\tsetModel(m: Model<Api>): void {\n\t\tthis._state.model = m;\n\t\tif (!m.reasoning && this._state.thinkingLevel !== \"off\") {\n\t\t\tthis._state.thinkingLevel = \"off\";\n\t\t}\n\t}\n\n\t/**\n\t * Sets the thinking/reasoning level for extended reasoning models.\n\t *\n\t * @param l - Thinking level: \"off\", \"minimal\", \"low\", \"medium\", \"high\", \"max\"\n\t */\n\tsetThinkingLevel(l: ThinkingLevel): void {\n\t\tthis._state.thinkingLevel = l;\n\t}\n\n\t/**\n\t * Controls how queued steering messages are drained between turns.\n\t * \"all\" (default) sends the full queue; \"one\" sends a single item per turn.\n\t */\n\tsetSteeringMode(mode: \"all\" | \"one\"): void {\n\t\tthis.steeringMode = mode;\n\t\tthis.queueMode = mode;\n\t\tthis._state.steeringMode = mode;\n\t\tthis._state.queueMode = mode;\n\t}\n\n\tgetSteeringMode(): \"all\" | \"one\" {\n\t\treturn this.steeringMode;\n\t}\n\n\t/**\n\t * Controls how queued follow-up messages are drained between turns.\n\t * \"all\" (default) sends the full queue; \"one\" sends a single item per turn.\n\t */\n\tsetFollowUpMode(mode: \"all\" | \"one\"): void {\n\t\tthis.followUpMode = mode;\n\t\tthis._state.followUpMode = mode;\n\t}\n\n\tgetFollowUpMode(): \"all\" | \"one\" {\n\t\treturn this.followUpMode;\n\t}\n\n\t/**\n\t * @deprecated Use setSteeringMode/setFollowUpMode instead.\n\t * Sets both steering + follow-up modes for compatibility.\n\t */\n\tsetQueueMode(mode: \"all\" | \"one\"): void {\n\t\tthis.queueMode = mode;\n\t\tthis._state.queueMode = mode;\n\t\tthis.setSteeringMode(mode);\n\t\tthis.setFollowUpMode(mode);\n\t}\n\n\t/**\n\t * Sets the available tools that the model can invoke.\n\t *\n\t * @param t - Array of tool definitions with schemas and execute functions\n\t */\n\tsetTools(t: AgentTool[]): void {\n\t\tthis._state.tools = t;\n\t}\n\n\t/**\n\t * Sets the active user for this agent.\n\t */\n\tsetUser(user: AgentState[\"user\"]): void {\n\t\tthis._state.user = user;\n\t}\n\n\t/**\n\t * Sets the active session for this agent.\n\t */\n\tsetSession(session: AgentState[\"session\"]): void {\n\t\tthis._state.session = session;\n\t}\n\n\t/**\n\t * Sets the sampling temperature for LLM generation.\n\t *\n\t * @param t - Temperature value (0.0-2.0, lower = more deterministic). Pass undefined to reset to default.\n\t */\n\tsetTemperature(t: number | undefined): void {\n\t\tthis._state.temperature = t;\n\t}\n\n\t/**\n\t * Sets the top-p sampling parameter for LLM generation.\n\t *\n\t * @param p - Top-p value (0.0-1.0). Pass undefined to reset to default.\n\t */\n\tsetTopP(p: number | undefined): void {\n\t\tthis._state.topP = p;\n\t}\n\n\tsetTaskBudgetTotal(total: number | undefined): void {\n\t\tthis.defaultTaskBudgetTotal = total;\n\t}\n\n\tgetTaskBudgetTotal(): number | undefined {\n\t\treturn this.defaultTaskBudgetTotal;\n\t}\n\n\tsetCurrentTaskBudget(\n\t\ttaskBudget:\n\t\t\t| {\n\t\t\t\t\ttotal: number;\n\t\t\t\t\tremaining?: number;\n\t\t\t }\n\t\t\t| undefined,\n\t): void {\n\t\tthis.currentTaskBudget = taskBudget ? { ...taskBudget } : undefined;\n\t}\n\n\tgetCurrentTaskBudget():\n\t\t| {\n\t\t\t\ttotal: number;\n\t\t\t\tremaining?: number;\n\t\t }\n\t\t| undefined {\n\t\treturn this.currentTaskBudget ? { ...this.currentTaskBudget } : undefined;\n\t}\n\n\t/**\n\t * Replaces the entire message history with a new set of messages.\n\t *\n\t * @param ms - New message array\n\t */\n\treplaceMessages(ms: AppMessage[]): void {\n\t\tthis._state.messages = ms.slice();\n\t}\n\n\t/**\n\t * Clear transient run state without touching message history or queued inputs.\n\t *\n\t * This is useful before starting a fresh run, or after operations like\n\t * compaction that rewrite history while the agent is otherwise idle.\n\t */\n\tclearTransientRunState(options?: {\n\t\tclearSessionContextCache?: boolean;\n\t}): void {\n\t\tthis._state.isStreaming = false;\n\t\tthis._state.streamMessage = null;\n\t\tthis._state.pendingToolCalls.clear();\n\t\tif (options?.clearSessionContextCache) {\n\t\t\tthis.contextManager.clearSessionCache();\n\t\t}\n\t\tthis.activeToolBatchIds = null;\n\t\tthis.completedToolBatch = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis._state.error = undefined;\n\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tif (!this.suppressRecoverableOverflowErrors) {\n\t\t\tthis.withheldRecoverableLengthMessages = [];\n\t\t}\n\t\tthis._partialAccepted = null;\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t}\n\n\tsetRecoverableOverflowErrorSuppression(enabled: boolean): void {\n\t\tthis.suppressRecoverableOverflowErrors = enabled;\n\t\tif (!enabled) {\n\t\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\t\tthis.withheldRecoverableLengthMessages = [];\n\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t}\n\t}\n\n\tgetWithheldRecoverableOverflowError(): AssistantMessage | undefined {\n\t\treturn this.withheldRecoverableOverflowError;\n\t}\n\n\tflushWithheldRecoverableLengthMessage(): AssistantMessage | undefined {\n\t\tif (this.withheldRecoverableLengthMessages.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst merged = mergeAssistantMessages(\n\t\t\tthis.withheldRecoverableLengthMessages,\n\t\t);\n\t\tthis._state.messages = [\n\t\t\t...this._state.messages.slice(\n\t\t\t\t0,\n\t\t\t\t-this.withheldRecoverableLengthMessages.length,\n\t\t\t),\n\t\t\tmerged,\n\t\t];\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tthis.primeToolBatch(merged);\n\t\tthis.emit({ type: \"message_start\", message: merged });\n\t\tthis.emit({ type: \"message_end\", message: merged });\n\t\tthis.emit({ type: \"turn_end\", message: merged, toolResults: [] });\n\t\treturn merged;\n\t}\n\n\t/**\n\t * Appends a single message to the conversation history.\n\t *\n\t * @param m - Message to append\n\t */\n\tappendMessage(m: AppMessage): void {\n\t\tthis._state.messages = [...this._state.messages, m];\n\t}\n\n\t/**\n\t * Inject a message into the conversation history and emit a message_end event.\n\t */\n\tinjectMessage(m: AppMessage): void {\n\t\tthis._state.messages = [...this._state.messages, m];\n\t\tthis.emit({ type: \"message_end\", message: m });\n\t}\n\n\t/**\n\t * Emit a transient runtime status update without mutating conversation history.\n\t */\n\temitStatus(status: string, details: Record<string, unknown> = {}): void {\n\t\tconst normalized = status.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emit({ type: \"status\", status: normalized, details });\n\t}\n\n\t/**\n\t * Emit a transient runtime error without mutating conversation history.\n\t */\n\temitError(message: string): void {\n\t\tconst normalized = message.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emit({ type: \"error\", message: normalized });\n\t}\n\n\tprivate shouldWithholdRecoverableOverflowError(\n\t\tmessage: AppMessage,\n\t): message is AssistantMessage {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\tisAssistantMessage(message) &&\n\t\t\tmessage.stopReason === \"error\" &&\n\t\t\tisAssistantContextOverflow(message, this._state.model.contextWindow)\n\t\t);\n\t}\n\n\tprivate shouldWithholdRecoverableMaxOutput(\n\t\tmessage: AssistantMessage,\n\t): boolean {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors && message.stopReason === \"length\"\n\t\t);\n\t}\n\n\tprivate shouldMergeRecoverableLengthContinuation(\n\t\tmessage: AssistantMessage,\n\t): boolean {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\tthis.withheldRecoverableLengthMessages.length > 0 &&\n\t\t\tmessage.stopReason !== \"length\" &&\n\t\t\tmessage.stopReason !== \"error\"\n\t\t);\n\t}\n\n\tprivate mergeWithWithheldRecoverableLengthMessages(\n\t\tincoming: AssistantMessage,\n\t): AssistantMessage {\n\t\tif (this.withheldRecoverableLengthMessages.length === 0) {\n\t\t\treturn incoming;\n\t\t}\n\n\t\tconst merged = mergeAssistantMessages([\n\t\t\t...this.withheldRecoverableLengthMessages,\n\t\t\tincoming,\n\t\t]);\n\t\tthis._state.messages = [\n\t\t\t...this._state.messages.slice(\n\t\t\t\t0,\n\t\t\t\t-this.withheldRecoverableLengthMessages.length,\n\t\t\t),\n\t\t\tmerged,\n\t\t];\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = merged;\n\t\treturn merged;\n\t}\n\n\t/**\n\t * Emit a compaction lifecycle event without mutating conversation history.\n\t */\n\temitCompaction(\n\t\tevent: Omit<Extract<AgentEvent, { type: \"compaction\" }>, \"type\">,\n\t): void {\n\t\tthis.emit({ type: \"compaction\", ...event });\n\t}\n\n\t/**\n\t * Queue a prompt-only message for the next run without persisting it to history.\n\t */\n\tqueueNextRunPromptOnlyMessage(message: Message): void {\n\t\tthis.nextRunPromptOnlyQueue.push(message);\n\t}\n\n\t/**\n\t * Queue a persisted history message for the next run.\n\t */\n\tqueueNextRunHistoryMessage(message: AppMessage): void {\n\t\tthis.nextRunHistoryQueue.push(message);\n\t}\n\n\t/**\n\t * Queue transient system guidance for the next run.\n\t */\n\tqueueNextRunSystemPromptAddition(text: string): void {\n\t\tconst normalized = text.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.nextRunSystemPromptAdditions.push(normalized);\n\t}\n\n\t/**\n\t * Clear queued one-shot prompt inputs that were prepared for the next run but\n\t * not yet consumed.\n\t */\n\tclearQueuedPromptInputs(): void {\n\t\tthis.nextRunHistoryQueue = [];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t}\n\n\t/**\n\t * Queues a steering message to interrupt the agent mid-run.\n\t *\n\t * Delivered after the current tool execution and skips remaining tools.\n\t *\n\t * @param m - Message to queue\n\t */\n\tasync steer(m: AppMessage): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"steer\", m);\n\t}\n\n\t/**\n\t * Queues a follow-up message to be processed after the agent finishes.\n\t *\n\t * @param m - Message to queue\n\t */\n\tasync followUp(m: AppMessage): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"followUp\", m);\n\t}\n\n\t/**\n\t * Re-inserts a follow-up at the front of the follow-up queue.\n\t */\n\tasync prependFollowUp(\n\t\tm: AppMessage,\n\t\toptions?: { id?: number; createdAt?: number },\n\t): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"followUp\", m, {\n\t\t\tposition: \"front\",\n\t\t\tid: options?.id,\n\t\t\tcreatedAt: options?.createdAt,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated Use steer() or followUp() instead.\n\t * Defaults to follow-up semantics.\n\t */\n\tasync queueMessage(m: AppMessage): Promise<void> {\n\t\tawait this.followUp(m);\n\t}\n\n\tprivate async enqueueQueuedMessage(\n\t\tkind: \"steer\" | \"followUp\",\n\t\tmessage: AppMessage,\n\t\toptions?: {\n\t\t\tposition?: \"front\" | \"back\";\n\t\t\tid?: number;\n\t\t\tcreatedAt?: number;\n\t\t},\n\t): Promise<void> {\n\t\tconst transformed = await this.messageTransformer([message]);\n\t\tconst id = options?.id ?? this.nextQueuedMessageId++;\n\t\tif (id >= this.nextQueuedMessageId) {\n\t\t\tthis.nextQueuedMessageId = id + 1;\n\t\t}\n\t\tconst queued = {\n\t\t\tid,\n\t\t\tcreatedAt: options?.createdAt ?? Date.now(),\n\t\t\toriginal: message,\n\t\t\tllm: transformed[0],\n\t\t};\n\t\tconst position = options?.position ?? \"back\";\n\t\tif (kind === \"steer\") {\n\t\t\tif (position === \"front\") {\n\t\t\t\tthis.steeringQueue.unshift(queued);\n\t\t\t} else {\n\t\t\t\tthis.steeringQueue.push(queued);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (position === \"front\") {\n\t\t\tthis.followUpQueue.unshift(queued);\n\t\t} else {\n\t\t\tthis.followUpQueue.push(queued);\n\t\t}\n\t}\n\n\t/**\n\t * Clears all messages from the conversation history.\n\t */\n\tclearMessages(): void {\n\t\tthis._state.messages = [];\n\t}\n\n\t/**\n\t * Get the number of queued messages.\n\t */\n\tgetQueuedMessageCount(): number {\n\t\treturn this.steeringQueue.length + this.followUpQueue.length;\n\t}\n\n\tgetQueuedSteeringCount(): number {\n\t\treturn this.steeringQueue.length;\n\t}\n\n\tgetQueuedFollowUpCount(): number {\n\t\treturn this.followUpQueue.length;\n\t}\n\n\tgetQueuedMessagesSnapshot(): {\n\t\tsteering: ReadonlyArray<QueuedMessage<AppMessage>>;\n\t\tfollowUps: ReadonlyArray<QueuedMessage<AppMessage>>;\n\t} {\n\t\treturn {\n\t\t\tsteering: [...this.steeringQueue],\n\t\t\tfollowUps: [...this.followUpQueue],\n\t\t};\n\t}\n\n\tremoveQueuedMessage(id: number): QueuedMessage<AppMessage> | null {\n\t\tconst steeringIndex = this.steeringQueue.findIndex(\n\t\t\t(message) => message.id === id,\n\t\t);\n\t\tif (steeringIndex !== -1) {\n\t\t\treturn this.steeringQueue.splice(steeringIndex, 1)[0] ?? null;\n\t\t}\n\t\tconst followUpIndex = this.followUpQueue.findIndex(\n\t\t\t(message) => message.id === id,\n\t\t);\n\t\tif (followUpIndex !== -1) {\n\t\t\treturn this.followUpQueue.splice(followUpIndex, 1)[0] ?? null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tclearQueuedMessages(): Array<QueuedMessage<AppMessage>> {\n\t\tconst queued = [...this.steeringQueue, ...this.followUpQueue].sort(\n\t\t\t(a, b) => a.createdAt - b.createdAt || a.id - b.id,\n\t\t);\n\t\tthis.steeringQueue = [];\n\t\tthis.followUpQueue = [];\n\t\treturn queued;\n\t}\n\n\t/**\n\t * Aborts the current streaming request if one is in progress.\n\t */\n\tabort(): void {\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort();\n\t\t\tthis.abortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Aborts the current streaming request and saves any partial response.\n\t *\n\t * Unlike `abort()`, this method preserves the partial assistant message\n\t * that was being streamed, adding it to the message history. This allows\n\t * users to keep useful partial responses when interrupting long generations.\n\t *\n\t * @returns The partial message that was saved, or null if no partial was available\n\t *\n\t * @example\n\t * ```typescript\n\t * // User presses Ctrl+C during a long response\n\t * const partial = agent.abortAndKeepPartial();\n\t * if (partial) {\n\t * console.log(\"Saved partial response:\", partial.content);\n\t * }\n\t * ```\n\t */\n\tabortAndKeepPartial(): AppMessage | null {\n\t\tconst partialMessage = this._state.streamMessage;\n\n\t\t// Only save if we have an assistant message (not user message)\n\t\tif (\n\t\t\tpartialMessage &&\n\t\t\tpartialMessage.role === \"assistant\" &&\n\t\t\tthis.abortController\n\t\t) {\n\t\t\t// Mark as interrupted by setting stopReason\n\t\t\tconst savedMessage: AssistantMessage = {\n\t\t\t\t...partialMessage,\n\t\t\t\tstopReason: \"aborted\",\n\t\t\t};\n\n\t\t\t// Add to message history before aborting\n\t\t\tthis._state.messages = [...this._state.messages, savedMessage];\n\t\t\tthis._state.streamMessage = null;\n\t\t\tthis._partialAccepted = savedMessage;\n\n\t\t\tlogger.info(\"Saved partial message on interrupt\", {\n\t\t\t\tcontentLength: JSON.stringify(savedMessage.content).length,\n\t\t\t});\n\n\t\t\t// Now abort\n\t\t\tthis.abort();\n\n\t\t\treturn savedMessage;\n\t\t}\n\n\t\t// No partial to save, just abort\n\t\tthis.abort();\n\n\t\treturn null;\n\t}\n\n\t/** Tracks if a partial message was accepted during abort */\n\tprivate _partialAccepted: AppMessage | null = null;\n\n\t/**\n\t * Returns a promise that resolves when the current prompt completes.\n\t * Returns immediately resolved promise if no prompt is running.\n\t */\n\twaitForIdle(): Promise<void> {\n\t\treturn this.runningPrompt ?? Promise.resolve();\n\t}\n\n\t/**\n\t * Clear all messages and state. Call abort() first if a prompt is in flight.\n\t */\n\treset(): void {\n\t\tthis._state.messages = [];\n\t\tthis._state.isStreaming = false;\n\t\tthis._state.streamMessage = null;\n\t\tthis._state.pendingToolCalls.clear();\n\t\tthis.activeToolBatchIds = null;\n\t\tthis.completedToolBatch = [];\n\t\tthis.nextRunHistoryQueue = [];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t\tthis._state.error = undefined;\n\t\tthis.steeringQueue = [];\n\t\tthis.followUpQueue = [];\n\t\tthis.abortController = undefined;\n\t\tthis.runningPrompt = undefined;\n\t\tthis.resolveRunningPrompt = undefined;\n\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tthis.currentTaskBudget = undefined;\n\t\tthis.diagnosticRepairAttempts.clear();\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t\t// Note: Do NOT clear listeners - they contain the TUI subscription\n\t\t// and must persist across resets for UI updates to work\n\t}\n\n\tprivate buildProviderMessages(\n\t\ttransformedMessages: Message[],\n\t\tcontinuationPrompt?: string,\n\t): Message[] {\n\t\tconst providerInputMessages = continuationPrompt\n\t\t\t? [\n\t\t\t\t\t...transformedMessages,\n\t\t\t\t\t{\n\t\t\t\t\t\trole: \"user\" as const,\n\t\t\t\t\t\tcontent: continuationPrompt,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t: transformedMessages;\n\t\treturn normalizeMessagesForProvider(\n\t\t\tproviderInputMessages,\n\t\t\tthis._state.model,\n\t\t);\n\t}\n\n\tprivate handleStreamedMessageEvent(\n\t\tevent: StreamedMessageEvent,\n\t\tstate: BufferedAssistantStartState,\n\t): BufferedAssistantStartState {\n\t\tlet { pendingAssistantStart, lastStopReason } = state;\n\n\t\tif (event.type === \"message_start\") {\n\t\t\tif (\n\t\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\t\tisAssistantMessage(event.message)\n\t\t\t) {\n\t\t\t\tpendingAssistantStart = event.message;\n\t\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t\t? event.message\n\t\t\t\t\t: null;\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t) ||\n\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)\n\t\t\t\t) {\n\t\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\t\tpendingAssistantStart = null;\n\t\t\t\t}\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t) ||\n\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t(this.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)))\n\t\t\t) {\n\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t? event.message\n\t\t\t\t: null;\n\t\t\tthis.emit(event);\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\n\t\tif (event.type === \"message_update\") {\n\t\t\tif (\n\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t) ||\n\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t(this.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)))\n\t\t\t) {\n\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\tpendingAssistantStart = null;\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tif (pendingAssistantStart) {\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"message_start\",\n\t\t\t\t\tmessage: pendingAssistantStart,\n\t\t\t\t});\n\t\t\t\tpendingAssistantStart = null;\n\t\t\t}\n\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t? event.message\n\t\t\t\t: null;\n\t\t\tthis.emit(event);\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\n\t\tthis._state.streamMessage = null;\n\t\tlet incoming = event.message as AppMessage;\n\t\tif (this.shouldWithholdRecoverableOverflowError(incoming)) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tthis.withheldRecoverableOverflowError = incoming;\n\t\t\tlastStopReason = incoming.stopReason;\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (\n\t\t\tisAssistantMessage(incoming) &&\n\t\t\tthis.shouldWithholdRecoverableMaxOutput(incoming)\n\t\t) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tconst assistantIncoming = incoming;\n\t\t\tconst lastMessage = this._state.messages[this._state.messages.length - 1];\n\t\t\tif (!isDuplicateMessage(lastMessage, assistantIncoming)) {\n\t\t\t\tthis._state.messages = [...this._state.messages, assistantIncoming];\n\t\t\t\tthis.withheldRecoverableLengthMessages.push(assistantIncoming);\n\t\t\t}\n\t\t\tlastStopReason = \"length\";\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (\n\t\t\tisAssistantMessage(incoming) &&\n\t\t\tthis.shouldMergeRecoverableLengthContinuation(incoming)\n\t\t) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tincoming = this.mergeWithWithheldRecoverableLengthMessages(incoming);\n\t\t\tlastStopReason = incoming.stopReason;\n\t\t\tthis.primeToolBatch(incoming);\n\t\t\tthis.emit({ type: \"message_start\", message: incoming });\n\t\t\tthis.emit({ ...event, message: incoming });\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (pendingAssistantStart && isAssistantMessage(incoming)) {\n\t\t\tthis.emit({\n\t\t\t\ttype: \"message_start\",\n\t\t\t\tmessage: pendingAssistantStart,\n\t\t\t});\n\t\t\tpendingAssistantStart = null;\n\t\t}\n\t\tconst lastMessage = this._state.messages[this._state.messages.length - 1];\n\t\tif (!isDuplicateMessage(lastMessage, incoming)) {\n\t\t\tthis._state.messages = [...this._state.messages, incoming];\n\t\t}\n\t\tif (\n\t\t\t\"stopReason\" in event.message &&\n\t\t\tevent.message.stopReason !== undefined\n\t\t) {\n\t\t\tlastStopReason = event.message.stopReason;\n\t\t}\n\t\tthis.primeToolBatch(incoming);\n\t\tthis.emit({ ...event, message: incoming });\n\t\treturn { pendingAssistantStart, lastStopReason };\n\t}\n\n\t/**\n\t * Sends a prompt to the model and processes the response, including tool calls.\n\t *\n\t * This is the main entry point for interacting with the agent. It handles:\n\t * - Building the user message with optional image/document attachments\n\t * - Streaming the model's response\n\t * - Executing any tool calls made by the model\n\t * - Automatic retries for tool execution\n\t *\n\t * @param input - The user's text prompt\n\t * @param attachments - Optional images or documents to include with the prompt\n\t *\n\t * @example\n\t * ```typescript\n\t * await agent.prompt(\"Read the package.json file\");\n\t *\n\t * // With image attachment\n\t * await agent.prompt(\"What's in this screenshot?\", [{\n\t * type: \"image\",\n\t * content: base64Data,\n\t * mimeType: \"image/png\"\n\t * }]);\n\t * ```\n\t */\n\tasync prompt(input: string, attachments?: Attachment[]): Promise<void> {\n\t\t// Prevent concurrent prompts\n\t\tif (this.runningPrompt) {\n\t\t\tthrow new Error(\n\t\t\t\t\"A prompt is already in progress. Wait for it to complete before starting another.\",\n\t\t\t);\n\t\t}\n\n\t\tconst queryProfiler = createQueryProfilerFromEnv();\n\t\tqueryProfiler.checkpoint(\"input:received\");\n\n\t\tthis.clearTransientRunState();\n\n\t\t// Set up running prompt tracking\n\t\tthis.runningPrompt = new Promise<void>((resolve) => {\n\t\t\tthis.resolveRunningPrompt = resolve;\n\t\t});\n\n\t\tfor (const queuedMessage of this.dequeueNextRunHistoryMessages()) {\n\t\t\tthis.injectMessage(queuedMessage);\n\t\t}\n\n\t\tconst userMessage: UserMessageWithAttachments = {\n\t\t\trole: \"user\",\n\t\t\tcontent: input,\n\t\t\tattachments: attachments?.length ? attachments : undefined,\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tthis._state.messages = [...this._state.messages, userMessage];\n\t\tthis._state.isStreaming = true;\n\n\t\tconst abortController = new AbortController();\n\t\tthis.abortController = abortController;\n\n\t\tthis.emit({ type: \"agent_start\" });\n\n\t\tlet aborted = false;\n\t\tlet lastStopReason: StopReason | undefined;\n\t\tlet pendingAssistantStart: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tconst transformedMessages = await this.messageTransformer(\n\t\t\t\tthis._state.messages,\n\t\t\t);\n\t\t\tconst messagesToSend = this.buildProviderMessages(transformedMessages);\n\t\t\tqueryProfiler.checkpoint(\"context:loaded\", {\n\t\t\t\tmessages: messagesToSend.length,\n\t\t\t});\n\n\t\t\t// Determine reasoning level\n\t\t\tconst level = this._state.thinkingLevel;\n\t\t\tconst reasoning = this._state.model.reasoning\n\t\t\t\t? mapThinkingLevel(level)\n\t\t\t\t: undefined;\n\n\t\t\t// Inject Context from Environment (Terrarium Principle)\n\t\t\tlet systemPrompt = this._state.systemPrompt;\n\t\t\tconst nextRunSystemPromptAdditions =\n\t\t\t\tthis.dequeueNextRunSystemPromptAdditions();\n\t\t\tif (nextRunSystemPromptAdditions.length > 0) {\n\t\t\t\tsystemPrompt = `${systemPrompt}\\n\\n${nextRunSystemPromptAdditions.join(\"\\n\\n\")}`;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst contextAdditions =\n\t\t\t\t\tawait this.contextManager.getCombinedSystemPrompt();\n\t\t\t\tif (contextAdditions) {\n\t\t\t\t\tsystemPrompt += `\\n\\n${contextAdditions}`;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to inject environmental context\", {\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t\tqueryProfiler.checkpoint(\"prompt:assembled\", {\n\t\t\t\tsystem_bytes: systemPrompt.length,\n\t\t\t});\n\n\t\t\tconst runConfig = {\n\t\t\t\tsystemPrompt,\n\t\t\t\ttools: this._state.tools,\n\t\t\t\tmodel: this._state.model,\n\t\t\t\treasoning,\n\t\t\t\treasoningSummary: this._state.reasoningSummary,\n\t\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t\t\tgetSteeringMessages: async <T>() => this.dequeueSteeringMessages<T>(),\n\t\t\t\tgetFollowUpMessages: async <T>() => this.dequeueFollowUpMessages<T>(),\n\t\t\t\tgetPromptOnlyMessages: async () => this.dequeuePromptOnlyMessages(),\n\t\t\t\tuser: this._state.user,\n\t\t\t\tsession: this._state.session,\n\t\t\t\tsandbox: this._state.sandbox,\n\t\t\t\ttemperature: this._state.temperature,\n\t\t\t\ttopP: this._state.topP,\n\t\t\t\ttaskBudget: this.currentTaskBudget,\n\t\t\t\tqueryProfiler,\n\t\t\t};\n\t\t\tqueryProfiler.checkpoint(\"tools:prepared\", {\n\t\t\t\ttools: this._state.tools.length,\n\t\t\t});\n\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tmessagesToSend, // Include userMessage in messages array\n\t\t\t\tuserMessage,\n\t\t\t\trunConfig,\n\t\t\t\tabortController.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_start\" ||\n\t\t\t\t\tevent.type === \"message_update\" ||\n\t\t\t\t\tevent.type === \"message_end\"\n\t\t\t\t) {\n\t\t\t\t\t({ pendingAssistantStart, lastStopReason } =\n\t\t\t\t\t\tthis.handleStreamedMessageEvent(event, {\n\t\t\t\t\t\t\tpendingAssistantStart,\n\t\t\t\t\t\t\tlastStopReason,\n\t\t\t\t\t\t}));\n\t\t\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\t\t\tthis.handleToolExecutionStart(event);\n\t\t\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\t\t\tthis.handleToolExecutionUpdate(event);\n\t\t\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\t\t\tthis.handleToolExecutionEnd(event);\n\t\t\t\t} else if (event.type === \"tool_phase_summary\") {\n\t\t\t\t\tthis.handleToolPhaseSummary(event);\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else if (event.type === \"turn_end\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message))\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.pendingMergedRecoverableTurnEnd) {\n\t\t\t\t\t\tthis.emit({\n\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\tmessage: this.pendingMergedRecoverableTurnEnd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\taborted = true;\n\t\t\t\tqueryProfiler.terminal(\"turn:aborted\");\n\t\t\t} else {\n\t\t\t\tthis._state.error =\n\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\tqueryProfiler.terminal(\"turn:error\");\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._state.isStreaming = false;\n\t\t\tif (this.abortController === abortController) {\n\t\t\t\tthis.abortController = undefined;\n\t\t\t}\n\t\t\t// Clean up running prompt tracking\n\t\t\tthis.resolveRunningPrompt?.();\n\t\t\tthis.runningPrompt = undefined;\n\t\t\tthis.resolveRunningPrompt = undefined;\n\t\t\tif (this._state.pendingToolCalls.size > 0) {\n\t\t\t\tconst reason = aborted\n\t\t\t\t\t? \"Error: Operation aborted\"\n\t\t\t\t\t: \"Error: Tool execution did not complete\";\n\t\t\t\tthis.resolvePendingToolCalls(reason);\n\t\t\t}\n\n\t\t\tconst partialAccepted = this._partialAccepted;\n\t\t\tthis._partialAccepted = null;\n\t\t\tthis.publishCurrentTurnSkillOutcomes({\n\t\t\t\taborted,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"agent_end\",\n\t\t\t\tmessages: this._state.messages,\n\t\t\t\taborted,\n\t\t\t\tpartialAccepted: partialAccepted ?? undefined,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Continue the agent conversation from existing messages without adding a new user message.\n\t * Useful for overflow recovery after compaction, or resuming a partial response.\n\t *\n\t * @param options - Optional configuration for continuation\n\t */\n\tasync continue(options?: {\n\t\t/** Override the system prompt for this continuation */\n\t\tsystemPromptOverride?: string;\n\t\t/** Override max output tokens for this continuation only. */\n\t\tmaxTokensOverride?: number;\n\t\t/**\n\t\t * Provider-only user instruction appended for this continuation.\n\t\t * Not persisted to session history or shown in the UI.\n\t\t */\n\t\tcontinuationPrompt?: string;\n\t}): Promise<void> {\n\t\t// Prevent concurrent prompts\n\t\tif (this.runningPrompt) {\n\t\t\tthrow new Error(\n\t\t\t\t\"A prompt is already in progress. Wait for it to complete before starting another.\",\n\t\t\t);\n\t\t}\n\n\t\t// Check we have messages to continue from\n\t\tif (this._state.messages.length === 0) {\n\t\t\tthrow new Error(\"No messages to continue from\");\n\t\t}\n\n\t\tconst queryProfiler = createQueryProfilerFromEnv();\n\t\tqueryProfiler.checkpoint(\"input:received\", { continuation: true });\n\n\t\tthis.clearTransientRunState();\n\n\t\t// Set up running prompt tracking\n\t\tthis.runningPrompt = new Promise<void>((resolve) => {\n\t\t\tthis.resolveRunningPrompt = resolve;\n\t\t});\n\n\t\tfor (const queuedMessage of this.dequeueNextRunHistoryMessages()) {\n\t\t\tthis.injectMessage(queuedMessage);\n\t\t}\n\n\t\tthis._state.isStreaming = true;\n\n\t\tconst abortController = new AbortController();\n\t\tthis.abortController = abortController;\n\n\t\tthis.emit({ type: \"agent_start\", continuation: true });\n\n\t\tlet aborted = false;\n\t\tlet lastStopReason: StopReason | undefined;\n\t\tlet pendingAssistantStart: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tconst transformedMessages = await this.messageTransformer(\n\t\t\t\tthis._state.messages,\n\t\t\t);\n\t\t\tconst continuationPrompt = options?.continuationPrompt?.trim();\n\t\t\tconst providerMessages = this.buildProviderMessages(\n\t\t\t\ttransformedMessages,\n\t\t\t\tcontinuationPrompt,\n\t\t\t);\n\t\t\tqueryProfiler.checkpoint(\"context:loaded\", {\n\t\t\t\tmessages: providerMessages.length,\n\t\t\t});\n\n\t\t\t// Determine reasoning level\n\t\t\tconst level = this._state.thinkingLevel;\n\t\t\tconst reasoning = this._state.model.reasoning\n\t\t\t\t? mapThinkingLevel(level)\n\t\t\t\t: undefined;\n\n\t\t\t// Inject Context from Environment\n\t\t\tlet systemPrompt =\n\t\t\t\toptions?.systemPromptOverride ?? this._state.systemPrompt;\n\t\t\tconst nextRunSystemPromptAdditions =\n\t\t\t\tthis.dequeueNextRunSystemPromptAdditions();\n\t\t\tif (nextRunSystemPromptAdditions.length > 0) {\n\t\t\t\tsystemPrompt = `${systemPrompt}\\n\\n${nextRunSystemPromptAdditions.join(\"\\n\\n\")}`;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst contextAdditions =\n\t\t\t\t\tawait this.contextManager.getCombinedSystemPrompt();\n\t\t\t\tif (contextAdditions) {\n\t\t\t\t\tsystemPrompt += `\\n\\n${contextAdditions}`;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to inject environmental context\", {\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t});\n\t\t\t}\n\t\t\tqueryProfiler.checkpoint(\"prompt:assembled\", {\n\t\t\t\tsystem_bytes: systemPrompt.length,\n\t\t\t});\n\n\t\t\t// Create a synthetic continuation trigger message\n\t\t\t// This signals to the transport that we want the model to continue responding\n\t\t\tconst continuationMessage: UserMessage = {\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: [],\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\n\t\t\tconst runConfig = {\n\t\t\t\tsystemPrompt,\n\t\t\t\ttools: this._state.tools,\n\t\t\t\tmodel:\n\t\t\t\t\toptions?.maxTokensOverride !== undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...this._state.model,\n\t\t\t\t\t\t\t\tmaxTokens: options.maxTokensOverride,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: this._state.model,\n\t\t\t\treasoning,\n\t\t\t\treasoningSummary: this._state.reasoningSummary,\n\t\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t\t\tgetSteeringMessages: async <T>() => this.dequeueSteeringMessages<T>(),\n\t\t\t\tgetFollowUpMessages: async <T>() => this.dequeueFollowUpMessages<T>(),\n\t\t\t\tgetPromptOnlyMessages: async () => this.dequeuePromptOnlyMessages(),\n\t\t\t\tuser: this._state.user,\n\t\t\t\tsession: this._state.session,\n\t\t\t\tsandbox: this._state.sandbox,\n\t\t\t\ttemperature: this._state.temperature,\n\t\t\t\ttopP: this._state.topP,\n\t\t\t\ttaskBudget: this.currentTaskBudget,\n\t\t\t\temitUserMessageEnd: false,\n\t\t\t\tqueryProfiler,\n\t\t\t};\n\t\t\tqueryProfiler.checkpoint(\"tools:prepared\", {\n\t\t\t\ttools: this._state.tools.length,\n\t\t\t});\n\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tproviderMessages,\n\t\t\t\tcontinuationMessage,\n\t\t\t\trunConfig,\n\t\t\t\tabortController.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_start\" ||\n\t\t\t\t\tevent.type === \"message_update\" ||\n\t\t\t\t\tevent.type === \"message_end\"\n\t\t\t\t) {\n\t\t\t\t\t({ pendingAssistantStart, lastStopReason } =\n\t\t\t\t\t\tthis.handleStreamedMessageEvent(event, {\n\t\t\t\t\t\t\tpendingAssistantStart,\n\t\t\t\t\t\t\tlastStopReason,\n\t\t\t\t\t\t}));\n\t\t\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\t\t\tthis.handleToolExecutionStart(event);\n\t\t\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\t\t\tthis.handleToolExecutionUpdate(event);\n\t\t\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\t\t\tthis.handleToolExecutionEnd(event);\n\t\t\t\t} else if (event.type === \"tool_phase_summary\") {\n\t\t\t\t\tthis.handleToolPhaseSummary(event);\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else if (event.type === \"turn_end\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message))\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.pendingMergedRecoverableTurnEnd) {\n\t\t\t\t\t\tthis.emit({\n\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\tmessage: this.pendingMergedRecoverableTurnEnd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\taborted = true;\n\t\t\t\tqueryProfiler.terminal(\"turn:aborted\");\n\t\t\t} else {\n\t\t\t\tthis._state.error =\n\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\tqueryProfiler.terminal(\"turn:error\");\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._state.isStreaming = false;\n\t\t\tif (this.abortController === abortController) {\n\t\t\t\tthis.abortController = undefined;\n\t\t\t}\n\t\t\t// Clean up running prompt tracking\n\t\t\tthis.resolveRunningPrompt?.();\n\t\t\tthis.runningPrompt = undefined;\n\t\t\tthis.resolveRunningPrompt = undefined;\n\t\t\tif (this._state.pendingToolCalls.size > 0) {\n\t\t\t\tconst reason = aborted\n\t\t\t\t\t? \"Error: Operation aborted\"\n\t\t\t\t\t: \"Error: Tool execution did not complete\";\n\t\t\t\tthis.resolvePendingToolCalls(reason);\n\t\t\t}\n\n\t\t\tconst partialAccepted = this._partialAccepted;\n\t\t\tthis._partialAccepted = null;\n\t\t\tthis.publishCurrentTurnSkillOutcomes({\n\t\t\t\taborted,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"agent_end\",\n\t\t\t\tmessages: this._state.messages,\n\t\t\t\taborted,\n\t\t\t\tpartialAccepted: partialAccepted ?? undefined,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate handleToolExecutionStart(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>,\n\t): void {\n\t\tconst tool = this._state.tools.find(\n\t\t\t(candidate) => candidate.name === event.toolName,\n\t\t);\n\t\tconst displayName = describeToolDisplayName(\n\t\t\tevent.toolName,\n\t\t\tevent.args,\n\t\t\ttool,\n\t\t);\n\t\tconst summaryLabel = summarizeToolUse(event.toolName, event.args, tool);\n\t\tthis._state.pendingToolCalls.set(event.toolCallId, {\n\t\t\ttoolName: event.toolName,\n\t\t\targs: event.args,\n\t\t\ttool,\n\t\t\tdisplayName,\n\t\t\tsummaryLabel,\n\t\t});\n\t\trecordMaestroToolCallAttempt({\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\ttool_name: event.toolName,\n\t\t\tsafe_arguments: event.args,\n\t\t\tcorrelation: {\n\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t},\n\t\t});\n\t\tthis.emitStatus(describeToolActivity(event.toolName, event.args, tool), {\n\t\t\tkind: \"tool_execution_summary\",\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\tdisplayName,\n\t\t\tsummaryLabel,\n\t\t});\n\t\tthis.emit({ ...event, displayName, summaryLabel });\n\t}\n\n\tprivate preserveSpecificPendingToolLabel(\n\t\tnextLabel: string,\n\t\tpendingLabel: string | undefined,\n\t\tgenericLabel: string,\n\t): string {\n\t\tif (\n\t\t\t!pendingLabel ||\n\t\t\tpendingLabel === genericLabel ||\n\t\t\tnextLabel !== genericLabel\n\t\t) {\n\t\t\treturn nextLabel;\n\t\t}\n\t\treturn pendingLabel;\n\t}\n\n\tprivate handleToolExecutionUpdate(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_update\" }>,\n\t): void {\n\t\tconst pending = this._state.pendingToolCalls.get(event.toolCallId);\n\t\tconst tool = pending?.tool;\n\t\tconst nextDisplayName = describeToolDisplayName(\n\t\t\tevent.toolName,\n\t\t\tevent.args,\n\t\t\ttool,\n\t\t);\n\t\tconst nextSummaryLabel = summarizeToolUse(event.toolName, event.args, tool);\n\t\tconst displayName = this.preserveSpecificPendingToolLabel(\n\t\t\tnextDisplayName,\n\t\t\tpending?.displayName,\n\t\t\tdescribeToolDisplayName(event.toolName, {}, tool),\n\t\t);\n\t\tconst summaryLabel = this.preserveSpecificPendingToolLabel(\n\t\t\tnextSummaryLabel,\n\t\t\tpending?.summaryLabel,\n\t\t\tsummarizeToolUse(event.toolName, {}, tool),\n\t\t);\n\t\tif (pending) {\n\t\t\tpending.args = event.args;\n\t\t\tpending.displayName = displayName;\n\t\t\tpending.summaryLabel = summaryLabel;\n\t\t}\n\t\tthis.emit({ ...event, displayName, summaryLabel });\n\t}\n\n\tprivate handleToolExecutionEnd(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst pending = this._state.pendingToolCalls.get(event.toolCallId);\n\t\tthis._state.pendingToolCalls.delete(event.toolCallId);\n\t\tthis.emit({\n\t\t\t...event,\n\t\t\tdisplayName: pending?.displayName,\n\t\t\tsummaryLabel: pending?.summaryLabel,\n\t\t});\n\t\trecordMaestroToolCallCompleted({\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\tstatus: event.isError\n\t\t\t\t? \"MAESTRO_TOOL_CALL_STATUS_FAILED\"\n\t\t\t\t: \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\",\n\t\t\tskill_metadata: event.skillMetadata,\n\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\terror_code: event.errorCode,\n\t\t\terror_message: event.isError\n\t\t\t\t? event.result.content\n\t\t\t\t\t\t.map((part) => (part.type === \"text\" ? part.text : \"\"))\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\"\\n\")\n\t\t\t\t: undefined,\n\t\t\tcorrelation: {\n\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t},\n\t\t});\n\t\tif (event.skillMetadata) {\n\t\t\tthis.recordCurrentTurnSkillSelection({\n\t\t\t\tskillMetadata: event.skillMetadata,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: event.toolExecutionId,\n\t\t\t});\n\t\t\tif (event.toolName === \"Skill\") {\n\t\t\t\trecordMaestroSkillInvoked({\n\t\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\t\tskill_metadata: event.skillMetadata,\n\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\t\t\tcorrelation: {\n\t\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t\t\t},\n\t\t\t\t\tinvoked_at: new Date(event.result.timestamp).toISOString(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.publishCurrentTurnEvalScores(event);\n\t\tthis.handleDiagnosticDeltaToolResult(event);\n\t\tif (!pending) {\n\t\t\treturn;\n\t\t}\n\t\tthis.completedToolBatch.push({\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\targs: pending.args ?? {},\n\t\t\tisError: event.isError,\n\t\t\ttool: pending.tool,\n\t\t});\n\t\tif (this.activeToolBatchIds?.delete(event.toolCallId)) {\n\t\t\tif (this.activeToolBatchIds.size > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.activeToolBatchIds = null;\n\t\t\tthis.emitToolBatchSummary();\n\t\t}\n\t}\n\n\tprivate buildSkillSelectionKey(skillMetadata: SkillArtifactMetadata): string {\n\t\treturn [\n\t\t\tskillMetadata.artifactId,\n\t\t\tskillMetadata.source,\n\t\t\tskillMetadata.name,\n\t\t\tskillMetadata.version,\n\t\t\tskillMetadata.hash,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\":\");\n\t}\n\n\tprivate recordCurrentTurnSkillSelection(selection: {\n\t\tskillMetadata: SkillArtifactMetadata;\n\t\ttoolCallId: string;\n\t\ttoolExecutionId?: string;\n\t}): void {\n\t\tconst key = this.buildSkillSelectionKey(selection.skillMetadata);\n\t\tif (!key) {\n\t\t\treturn;\n\t\t}\n\t\tconst existing = this.currentTurnSkillSelections.get(key);\n\t\tthis.currentTurnSkillSelections.set(key, {\n\t\t\t...existing,\n\t\t\t...selection,\n\t\t\tevaluationFailure: existing?.evaluationFailure,\n\t\t});\n\t}\n\n\tprivate getCurrentTurnSkillSelectionForEvaluation(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): CurrentTurnSkillSelection | undefined {\n\t\tif (event.skillMetadata) {\n\t\t\treturn this.currentTurnSkillSelections.get(\n\t\t\t\tthis.buildSkillSelectionKey(event.skillMetadata),\n\t\t\t);\n\t\t}\n\t\tif (this.currentTurnSkillSelections.size === 1) {\n\t\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\t\treturn selection;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate publishCurrentTurnEvalScores(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst evaluation = getToolEvaluationSummary(event.result.details);\n\t\tif (!evaluation || this.currentTurnSkillSelections.size === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scoredAt = new Date(event.result.timestamp).toISOString();\n\t\tconst failedEvaluation = isFailedToolEvaluation(evaluation)\n\t\t\t? {\n\t\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\t\ttoolExecutionId: event.toolExecutionId,\n\t\t\t\t\ttoolName: event.toolName,\n\t\t\t\t\tscore: evaluation.score,\n\t\t\t\t\tthreshold: evaluation.threshold,\n\t\t\t\t\trationale: evaluation.rationale,\n\t\t\t\t\tassertionCount: evaluation.assertionCount,\n\t\t\t\t}\n\t\t\t: undefined;\n\t\tconst evaluationTarget = failedEvaluation\n\t\t\t? this.getCurrentTurnSkillSelectionForEvaluation(event)\n\t\t\t: undefined;\n\t\tif (failedEvaluation) {\n\t\t\tthis.currentTurnEvaluationFailure = failedEvaluation;\n\t\t}\n\t\tif (failedEvaluation && evaluationTarget) {\n\t\t\tevaluationTarget.evaluationFailure = failedEvaluation;\n\t\t}\n\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\trecordMaestroEvalScored({\n\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\tskill_metadata: selection.skillMetadata,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tscore: evaluation.score,\n\t\t\t\tthreshold: evaluation.threshold,\n\t\t\t\tpassed: evaluation.passed,\n\t\t\t\trationale: evaluation.rationale,\n\t\t\t\tassertion_count: evaluation.assertionCount,\n\t\t\t\tcorrelation: {\n\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t\t},\n\t\t\t\tscored_at: scoredAt,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate publishCurrentTurnSkillOutcomes(options: {\n\t\taborted: boolean;\n\t\tstopReason?: StopReason;\n\t}): void {\n\t\tif (this.currentTurnSkillSelections.size === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst baseTurnStatus = options.aborted\n\t\t\t? \"aborted\"\n\t\t\t: this._state.error !== undefined\n\t\t\t\t? \"error\"\n\t\t\t\t: undefined;\n\n\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\tconst evaluationFailure = selection.evaluationFailure;\n\t\t\tconst turnStatus =\n\t\t\t\tbaseTurnStatus ??\n\t\t\t\t(evaluationFailure || this.currentTurnEvaluationFailure\n\t\t\t\t\t? \"evaluation_failed\"\n\t\t\t\t\t: \"success\");\n\t\t\tconst outcomeEvaluationFailure =\n\t\t\t\tevaluationFailure ?? this.currentTurnEvaluationFailure;\n\t\t\tconst errorMessage =\n\t\t\t\tturnStatus === \"aborted\"\n\t\t\t\t\t? \"Operation aborted\"\n\t\t\t\t\t: turnStatus === \"error\"\n\t\t\t\t\t\t? this._state.error\n\t\t\t\t\t\t: turnStatus === \"evaluation_failed\" && outcomeEvaluationFailure\n\t\t\t\t\t\t\t? buildEvaluationFailureMessage(outcomeEvaluationFailure)\n\t\t\t\t\t\t\t: undefined;\n\t\t\trecordMaestroSkillOutcome({\n\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\tskill_metadata: selection.skillMetadata,\n\t\t\t\ttool_call_id: selection.toolCallId,\n\t\t\t\ttool_execution_id: selection.toolExecutionId,\n\t\t\t\tturn_status: turnStatus,\n\t\t\t\terror_category:\n\t\t\t\t\tturnStatus === \"success\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: turnStatus === \"evaluation_failed\"\n\t\t\t\t\t\t\t? \"evaluation\"\n\t\t\t\t\t\t\t: \"runtime\",\n\t\t\t\terror_message: errorMessage,\n\t\t\t\tevaluation_tool_name: evaluationFailure?.toolName,\n\t\t\t\tevaluation_tool_call_id: evaluationFailure?.toolCallId,\n\t\t\t\tevaluation_tool_execution_id: evaluationFailure?.toolExecutionId,\n\t\t\t\tevaluation_score: evaluationFailure?.score,\n\t\t\t\tevaluation_threshold: evaluationFailure?.threshold,\n\t\t\t\tevaluation_assertion_count: evaluationFailure?.assertionCount,\n\t\t\t\tevaluation_rationale: evaluationFailure?.rationale,\n\t\t\t\tstop_reason: options.stopReason,\n\t\t\t\tcorrelation: {\n\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t}\n\n\tprivate handleDiagnosticDeltaToolResult(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst summary = getDiagnosticDeltaFromToolResult(event.result);\n\t\tif (!summary) {\n\t\t\treturn;\n\t\t}\n\t\tif (summary.introducedCount === 0 && summary.repairedCount === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repairKey = [event.toolName, summary.file, summary.fingerprint].join(\n\t\t\t\":\",\n\t\t);\n\t\tconst nextAttempt = (this.diagnosticRepairAttempts.get(repairKey) ?? 0) + 1;\n\t\tconst hasPendingUserInput =\n\t\t\tthis.steeringQueue.length > 0 || this.followUpQueue.length > 0;\n\t\tconst hasOptOut = hasDiagnosticRepairOptOut(this._state.messages);\n\t\tconst canAutoFollowUp =\n\t\t\t!event.isError &&\n\t\t\tsummary.repair.shouldFollowUp &&\n\t\t\t!hasPendingUserInput &&\n\t\t\t!hasOptOut &&\n\t\t\tnextAttempt <= summary.repair.maxAttempts;\n\n\t\tconst reason = !summary.repair.shouldFollowUp\n\t\t\t? summary.repair.reason\n\t\t\t: event.isError\n\t\t\t\t? \"Tool call failed; leaving diagnostics in the tool result.\"\n\t\t\t\t: hasPendingUserInput\n\t\t\t\t\t? \"Queued user input exists; not adding an automatic diagnostic repair turn.\"\n\t\t\t\t\t: hasOptOut\n\t\t\t\t\t\t? \"User asked Maestro not to continue or repair automatically.\"\n\t\t\t\t\t\t: nextAttempt > summary.repair.maxAttempts\n\t\t\t\t\t\t\t? \"Automatic diagnostic repair attempt limit reached.\"\n\t\t\t\t\t\t\t: \"Queued a bounded diagnostic repair follow-up.\";\n\n\t\tif (summary.repair.shouldFollowUp) {\n\t\t\tthis.diagnosticRepairAttempts.set(repairKey, nextAttempt);\n\t\t}\n\n\t\tthis.emit({\n\t\t\ttype: \"diagnostic_delta\",\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\tfile: summary.file,\n\t\t\tdisplayPath: summary.displayPath,\n\t\t\tusedDelta: summary.usedDelta,\n\t\t\tintroducedCount: summary.introducedCount,\n\t\t\trepairedCount: summary.repairedCount,\n\t\t\tremainingCount: summary.remainingCount,\n\t\t\tfingerprint: summary.fingerprint,\n\t\t\trepairAttempt: summary.repair.shouldFollowUp ? nextAttempt : undefined,\n\t\t\tmaxRepairAttempts: summary.repair.shouldFollowUp\n\t\t\t\t? summary.repair.maxAttempts\n\t\t\t\t: undefined,\n\t\t\twillAutoFollowUp: canAutoFollowUp,\n\t\t\treason,\n\t\t});\n\n\t\tif (!canAutoFollowUp) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.enqueueFollowUpMessageSync(\n\t\t\tbuildDiagnosticRepairFollowUpMessage({\n\t\t\t\tsummary,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\tattempt: nextAttempt,\n\t\t\t}),\n\t\t\t\"front\",\n\t\t);\n\t}\n\n\tprivate enqueueFollowUpMessageSync(\n\t\tmessage: AppMessage,\n\t\tposition: \"front\" | \"back\" = \"back\",\n\t): void {\n\t\tconst queued: QueuedMessage<AppMessage> = {\n\t\t\tid: this.nextQueuedMessageId++,\n\t\t\tcreatedAt: Date.now(),\n\t\t\toriginal: message,\n\t\t\tllm: message as Message,\n\t\t};\n\t\tif (position === \"front\") {\n\t\t\tthis.followUpQueue.unshift(queued);\n\t\t\treturn;\n\t\t}\n\t\tthis.followUpQueue.push(queued);\n\t}\n\n\tprivate primeToolBatch(message: AppMessage): void {\n\t\tif (message.role !== \"assistant\" || message.stopReason !== \"toolUse\") {\n\t\t\treturn;\n\t\t}\n\t\tconst toolCallIds = message.content.flatMap((block) =>\n\t\t\tblock.type === \"toolCall\" ? [block.id] : [],\n\t\t);\n\t\tif (toolCallIds.length === 0) {\n\t\t\tthis.activeToolBatchIds = null;\n\t\t\tthis.completedToolBatch = [];\n\t\t\treturn;\n\t\t}\n\t\tthis.activeToolBatchIds = new Set(toolCallIds);\n\t\tthis.completedToolBatch = [];\n\t}\n\n\tprivate emitToolBatchSummary(): void {\n\t\tif (this.completedToolBatch.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst batch = this.completedToolBatch;\n\t\tthis.completedToolBatch = [];\n\t\tconst { summary, summaryLabels, callsSucceeded, callsFailed } =\n\t\t\tsummarizeToolBatch(batch);\n\t\tthis.emit({\n\t\t\ttype: \"tool_batch_summary\",\n\t\t\tsummary,\n\t\t\tsummaryLabels,\n\t\t\ttoolCallIds: batch.map((entry) => entry.toolCallId),\n\t\t\ttoolNames: batch.map((entry) => entry.toolName),\n\t\t\tcallsSucceeded,\n\t\t\tcallsFailed,\n\t\t});\n\t\tif (summaryLabels.length > 0) {\n\t\t\tthis.promptOnlyQueue.push(\n\t\t\t\tbuildPromptOnlyToolBatchSummaryMessage(summaryLabels),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate handleToolPhaseSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_phase_summary\" }>,\n\t): void {\n\t\tconst feedback = event.batchShapingFeedback;\n\t\tif (feedback?.avoidableSingleton && feedback.hint.trim().length > 0) {\n\t\t\tthis.promptOnlyQueue.push(\n\t\t\t\tbuildPromptOnlyBatchShapingFeedbackMessage(feedback.hint.trim()),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate resolvePendingToolCalls(reason: string): void {\n\t\tfor (const [toolCallId, info] of this._state.pendingToolCalls.entries()) {\n\t\t\tconst abortedResult: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\",\n\t\t\t\ttoolCallId,\n\t\t\t\ttoolName: info.toolName,\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: reason,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tisError: true,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tthis._state.messages = [...this._state.messages, abortedResult];\n\t\t\tthis.handleToolExecutionEnd({\n\t\t\t\ttype: \"tool_execution_end\",\n\t\t\t\ttoolCallId,\n\t\t\t\ttoolName: info.toolName,\n\t\t\t\tresult: abortedResult,\n\t\t\t\tisError: true,\n\t\t\t});\n\t\t}\n\t\tthis._state.pendingToolCalls.clear();\n\t}\n\n\tasync generateSummary(\n\t\thistory: Message[],\n\t\tprompt: string,\n\t\tsystemPrompt = \"\",\n\t\tmodelOverride?: Model<Api>,\n\t\tsignal?: AbortSignal,\n\t): Promise<AssistantMessage> {\n\t\tconst summaryModel = modelOverride ?? this._state.model;\n\t\tif (!summaryModel) {\n\t\t\tthrow new Error(\"No model configured for summarization\");\n\t\t}\n\n\t\tconst userMessage: UserMessage = {\n\t\t\trole: \"user\",\n\t\t\tcontent: [{ type: \"text\", text: prompt }],\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tconst runMessages: Message[] = [...history, userMessage];\n\t\tconst providerMessages = normalizeMessagesForProvider(\n\t\t\trunMessages,\n\t\t\tsummaryModel,\n\t\t);\n\t\tconst runConfig = {\n\t\t\tsystemPrompt,\n\t\t\ttools: [],\n\t\t\tmodel: summaryModel,\n\t\t\treasoning: undefined,\n\t\t\t// Keep summary generation fast by not requesting reasoning summaries.\n\t\t\treasoningSummary: undefined,\n\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t};\n\n\t\tconst controller = new AbortController();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tcontroller.abort(signal.reason);\n\t\t\t} else {\n\t\t\t\tsignal.addEventListener(\n\t\t\t\t\t\"abort\",\n\t\t\t\t\t() => {\n\t\t\t\t\t\tcontroller.abort(signal.reason);\n\t\t\t\t\t},\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tlet finalMessage: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tproviderMessages,\n\t\t\t\tuserMessage,\n\t\t\t\trunConfig,\n\t\t\t\tcontroller.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_end\" &&\n\t\t\t\t\tevent.message.role === \"assistant\"\n\t\t\t\t) {\n\t\t\t\t\tfinalMessage = event.message as AssistantMessage;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tcontroller.abort();\n\t\t}\n\n\t\tif (!finalMessage) {\n\t\t\tthrow new Error(\"Summary generation did not return a response\");\n\t\t}\n\n\t\treturn finalMessage;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAEH,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EACN,oCAAoC,EACpC,gCAAgC,EAChC,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACN,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,mBAAmB,GAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAEN,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAwBtD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AA2BrC,SAAS,wBAAwB,CAChC,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,OAGlB,CAAC;IACF,IACC,CAAC,UAAU,CAAC,UAAU;QACtB,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;QACzC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EACnC,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,UAAqC,CAAC;IACpE,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,IACC,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;QACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,IACC,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;QACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EACpC,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,IACC,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;QACxC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,IACC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QACpC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC/B,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA8B;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CACN,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QACjC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;QACrC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CACjC,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,OAA+B;IAE/B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IACC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QACjC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EACpC,CAAC;QACF,OAAO,cAAc,OAAO,CAAC,KAAK,oBAAoB,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,OAAO,CAAC,KAAK,eAAe,CAAC;IACnD,CAAC;IACD,OAAO,kCAAkC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,yBAAyB,CAAC,QAAsB;IACxD,OAAO,CACN,uBAAuB,CAAC,QAAQ,CAAC;QAChC,2CAA2C;SAC1C,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,IAAI,KAAK,WAAW;QACtB,CAAC,CAAC,IAAI,KAAK,YAAY,CACxB;SACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,2CAA2C;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,OAAkB,CAAC;QAC3B,CAAC;QAED,wCAAwC;QACxC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAqC,CAAC;QACvE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAe,CAAC;QACxB,CAAC;QAED,wCAAwC;QACxC,uDAAuD;QACvD,MAAM,OAAO,GAAsC,KAAK,CAAC,OAAO,CAC/D,IAAI,CAAC,OAAO,CACZ;YACA,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1C,sDAAsD;QACtD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACtC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,sDAAsD;gBACtD,OAAO,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU,CAAC,OAAO;oBACxB,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBACb,CAAC,CAAC;YACpB,CAAC;iBAAM,IACN,UAAU,CAAC,IAAI,KAAK,UAAU;gBAC9B,UAAU,CAAC,aAAa,EACvB,CAAC;gBACF,qDAAqD;gBACrD,OAAO,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB,UAAU,CAAC,QAAQ,MAAM,UAAU,CAAC,aAAa,EAAE;iBAC5D,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAa,CAAC;IACxC,CAAC,CAAC,CACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAoB;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,KAAK;YACT,OAAO,SAAS,CAAC,CAAC,uBAAuB;QAC1C,KAAK,SAAS;YACb,OAAO,SAAS,CAAC,CAAC,yBAAyB;QAC5C,KAAK,KAAK;YACT,OAAO,KAAK,CAAC,CAAC,wBAAwB;QACvC,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC,CAAC,iBAAiB;QACnC,KAAK,MAAM;YACV,OAAO,MAAM,CAAC,CAAC,qBAAqB;QACrC,KAAK,OAAO;YACX,OAAO,OAAO,CAAC,CAAC,+BAA+B;QAChD,KAAK,KAAK;YACT,OAAO,MAAM,CAAC,CAAC,qDAAqD;QACrE;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED,SAAS,sCAAsC,CAC9C,aAAuB;IAEvB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2EAA2E,UAAU,EAAE;aAC7F;SACD;QACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AACH,CAAC;AAED,MAAM,uCAAuC,GAC5C,oIAAoI,CAAC;AAEtI,SAAS,0CAA0C;IAClD,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qFAAqF,uCAAuC,EAAE;aACpI;SACD;QACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,4BAA4B,CACpC,QAAmB,EACnB,WAAuB;IAEvB,MAAM,kBAAkB,GAAc,EAAE,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC/B,MAAM,eAAe,GACpB,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;wBACnC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAC5C,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC1B,MAAM,cAAc,GACnB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;wBAC9B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;wBACvC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM,aAAa,GAClB,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;wBACtD,CAAC,CAAC;4BACA,GAAG,eAAe;4BAClB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAiB;4BAC7C,GAAG,cAAc;yBACjB;wBACF,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC;oBAC5C,MAAM,mBAAmB,GAAG,CAC3B,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;oBAC9B,MAAM,kBAAkB,GAAG,CAC1B,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CACtB,CAAC;oBAC9B,MAAM,iBAAiB,GAAiB;wBACvC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;wBAC9B,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;qBAC7B,CAAC;oBACF,MAAM,UAAU,GAA+B;wBAC9C,GAAG,QAAQ;wBACX,OAAO,EAAE,aAAa;wBACtB,WAAW,EACV,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;wBAC7D,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;qBAC3C,CAAC;oBACF,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;oBAC/D,SAAS;gBACV,CAAC;YACF,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS;QACV,CAAC;QACD,MAAM,qBAAqB,GAC1B,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;YACrC,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG;YAC3B,CAAC,WAAW,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAa,KAAK,CAAC,QAAQ,aAAa;iBAC/B,CAAC;YAClB,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAYD,SAAS,kBAAkB,CAC1B,QAAgC,EAChC,QAAoB;IAEpB,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QACxD,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC;IACpD,CAAC;IACD,8EAA8E;IAC9E,kFAAkF;IAClF,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpE,IAAI,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACtE,wEAAwE;QACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpD,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;oBAAE,OAAO,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;YACrC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3D,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;YAC7C,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,QAA4B;IAC/C,OAAO,QAAQ,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM;QACzC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS;QAClD,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU;QACrD,IAAI,EAAE;YACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;YAChD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;YACnD,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS;YAC5D,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU;YAC/D,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;SAChD;KACD,CAAC,EACF;QACC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;SACR;KACD,CACD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC9B,QAA4B;IAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACnD,OAAO;QACN,GAAG,WAAW;QACd,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACvD,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;KAC3B,CAAC;AACH,CAAC;AAsBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,KAAK;IAiDjB;;;;OAIG;IACH,YAAY,IAAkB;QApDtB,cAAS,GAAmC,EAAE,CAAC;QAO/C,kBAAa,GAAqC,EAAE,CAAC;QACrD,kBAAa,GAAqC,EAAE,CAAC;QACrD,wBAAmB,GAAiB,EAAE,CAAC;QACvC,2BAAsB,GAAc,EAAE,CAAC;QACvC,oBAAe,GAAc,EAAE,CAAC;QAChC,mCAA8B,GAAG,IAAI,GAAG,EAAU,CAAC;QACnD,iCAA4B,GAAa,EAAE,CAAC;QAQ5C,iBAAY,GAAkB,KAAK,CAAC;QACpC,iBAAY,GAAkB,KAAK,CAAC;QACpC,cAAS,GAAkB,KAAK,CAAC;QACjC,wBAAmB,GAAG,CAAC,CAAC;QAIxB,uBAAkB,GAAuB,IAAI,CAAC;QAC9C,uBAAkB,GAMrB,EAAE,CAAC;QACA,sCAAiC,GAAG,KAAK,CAAC;QAE1C,sCAAiC,GAAuB,EAAE,CAAC;QAE3D,6BAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAErD,+BAA0B,GAAG,IAAI,GAAG,EAGzC,CAAC;QA+vBJ,4DAA4D;QACpD,qBAAgB,GAAsB,IAAI,CAAC;QAxvBlD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,kBAAkB;YACtB,IAAI,CAAC,kBAAkB;gBACvB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,CAChD,IAAI,CAAC,gCAAgC;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,yBAAyB,EAC5B,IAAI,CAAC,kBAAkB,CACvB,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,MAAM,EACL,YAAY,EACZ,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,GAAG,gBAAgB,EACnB,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,SAAS,IAAI,KAAK,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,SAAS,IAAI,KAAK,CAAC;QAEvD,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC3B,IACC,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EACzC,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACpE,CAAC;QACF,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACb,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,KAAK,EACJ,KAAK;gBACL,CAAC,GAAU,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACpD,CAAC,CAAC,EAAE;YACL,aAAa,EAAE,aAAa,IAAI,KAAK;YACrC,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,IAAI;YACjD,cAAc,EACb,gBAAgB,CAAC,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACrE,GAAG,gBAAgB;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,sBAAsB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,iCAAiC,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QACnB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAA2B;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,GAAG,EAAE;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,IAAI,CAAC,KAAiB;QAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CACX,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACzD,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACX,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAuB,CAAC;QAClE,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACX,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAuB,CAAC;QAClE,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACtC,IACC,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAChC,CAAC;YACF,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,6BAA6B;QACpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,mCAAmC;QAC1C,IAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACtD,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAClC,OAAO,IAAI,CAAC,uBAAuB,EAAK,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,CAAS;QACxB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAa;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;QACnC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,CAAgB;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,IAAmB;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,IAAmB;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAmB;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAc;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAwB;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAA8B;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,CAAqB;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,CAAqB;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,kBAAkB,CAAC,KAAyB;QAC3C,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,kBAAkB;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACpC,CAAC;IAED,oBAAoB,CACnB,UAKY;QAEZ,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,oBAAoB;QAMnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,EAAgB;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,OAEtB;QACA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,wBAAwB,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,gCAAgC,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAC7C,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;QAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,sCAAsC,CAAC,OAAgB;QACtD,IAAI,CAAC,iCAAiC,GAAG,OAAO,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,CAAC,gCAAgC,GAAG,SAAS,CAAC;YAClD,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;QAClD,CAAC;IACF,CAAC;IAED,mCAAmC;QAClC,OAAO,IAAI,CAAC,gCAAgC,CAAC;IAC9C,CAAC;IAED,qCAAqC;QACpC,IAAI,IAAI,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CACpC,IAAI,CAAC,iCAAiC,CACtC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG;YACtB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAC5B,CAAC,EACD,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAC9C;YACD,MAAM;SACN,CAAC;QACF,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,CAAa;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,CAAa;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,UAAmC,EAAE;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACxB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IAEO,sCAAsC,CAC7C,OAAmB;QAEnB,OAAO,CACN,IAAI,CAAC,iCAAiC;YACtC,kBAAkB,CAAC,OAAO,CAAC;YAC3B,OAAO,CAAC,UAAU,KAAK,OAAO;YAC9B,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CACpE,CAAC;IACH,CAAC;IAEO,kCAAkC,CACzC,OAAyB;QAEzB,OAAO,CACN,IAAI,CAAC,iCAAiC,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,CACzE,CAAC;IACH,CAAC;IAEO,wCAAwC,CAC/C,OAAyB;QAEzB,OAAO,CACN,IAAI,CAAC,iCAAiC;YACtC,IAAI,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC;YACjD,OAAO,CAAC,UAAU,KAAK,QAAQ;YAC/B,OAAO,CAAC,UAAU,KAAK,OAAO,CAC9B,CAAC;IACH,CAAC;IAEO,0CAA0C,CACjD,QAA0B;QAE1B,IAAI,IAAI,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACrC,GAAG,IAAI,CAAC,iCAAiC;YACzC,QAAQ;SACR,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG;YACtB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAC5B,CAAC,EACD,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAC9C;YACD,MAAM;SACN,CAAC;QACF,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,+BAA+B,GAAG,MAAM,CAAC;QAC9C,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CACb,KAAgE;QAEhE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,6BAA6B,CAAC,OAAgB;QAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,OAAmB;QAC7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,gCAAgC,CAAC,IAAY;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACtB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,CAAa;QACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,CAAa;QAC3B,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACpB,CAAa,EACb,OAA6C;QAE7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC,EAAE;YAC9C,QAAQ,EAAE,OAAO;YACjB,EAAE,EAAE,OAAO,EAAE,EAAE;YACf,SAAS,EAAE,OAAO,EAAE,SAAS;SAC7B,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,CAAa;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CACjC,IAA0B,EAC1B,OAAmB,EACnB,OAIC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG;YACd,EAAE;YACF,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3C,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;SACnB,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC;QAC7C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACR,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED,sBAAsB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,sBAAsB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,yBAAyB;QAIxB,OAAO;YACN,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;SAClC,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CACjD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAC9B,CAAC;QACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC/D,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CACjD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAC9B,CAAC;QACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mBAAmB;QAClB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAClD,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAClC,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAEjD,+DAA+D;QAC/D,IACC,cAAc;YACd,cAAc,CAAC,IAAI,KAAK,WAAW;YACnC,IAAI,CAAC,eAAe,EACnB,CAAC;YACF,4CAA4C;YAC5C,MAAM,YAAY,GAAqB;gBACtC,GAAG,cAAc;gBACjB,UAAU,EAAE,SAAS;aACrB,CAAC;YAEF,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBACjD,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM;aAC1D,CAAC,CAAC;YAEH,YAAY;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACb,CAAC;IAKD;;;OAGG;IACH,WAAW;QACV,OAAO,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,gCAAgC,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;QAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACxC,mEAAmE;QACnE,wDAAwD;IACzD,CAAC;IAEO,qBAAqB,CAC5B,mBAA8B,EAC9B,kBAA2B;QAE3B,MAAM,qBAAqB,GAAG,kBAAkB;YAC/C,CAAC,CAAC;gBACA,GAAG,mBAAmB;gBACtB;oBACC,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE,kBAAkB;oBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACrB;aACD;YACF,CAAC,CAAC,mBAAmB,CAAC;QACvB,OAAO,4BAA4B,CAClC,qBAAqB,EACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACjB,CAAC;IACH,CAAC;IAEO,0BAA0B,CACjC,KAA2B,EAC3B,KAAkC;QAElC,IAAI,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAEtD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,IACC,IAAI,CAAC,iCAAiC;gBACtC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,EAChC,CAAC;gBACF,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;oBACvD,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,IAAI,CAAC;gBACR,IACC,IAAI,CAAC,sCAAsC,CAC1C,KAAK,CAAC,OAAqB,CAC3B;oBACD,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC;oBACtD,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,OAAO,CAAC,EAC3D,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;oBACjC,qBAAqB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;YAClD,CAAC;YACD,IACC,IAAI,CAAC,sCAAsC,CAC1C,KAAK,CAAC,OAAqB,CAC3B;gBACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjC,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC;wBACtD,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/D,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;gBACjC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvD,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,IAAI,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,IACC,IAAI,CAAC,sCAAsC,CAC1C,KAAK,CAAC,OAAqB,CAC3B;gBACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;oBACjC,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC;wBACtD,IAAI,CAAC,wCAAwC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/D,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;gBACjC,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;YAClD,CAAC;YACD,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,qBAAqB;iBAC9B,CAAC,CAAC;gBACH,qBAAqB,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvD,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,IAAI,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAqB,CAAC;QAC3C,IAAI,IAAI,CAAC,sCAAsC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,qBAAqB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,gCAAgC,GAAG,QAAQ,CAAC;YACjD,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;QACD,IACC,kBAAkB,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAChD,CAAC;YACF,qBAAqB,GAAG,IAAI,CAAC;YAC7B,MAAM,iBAAiB,GAAG,QAAQ,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACpE,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChE,CAAC;YACD,cAAc,GAAG,QAAQ,CAAC;YAC1B,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;QACD,IACC,kBAAkB,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,wCAAwC,CAAC,QAAQ,CAAC,EACtD,CAAC;YACF,qBAAqB,GAAG,IAAI,CAAC;YAC7B,QAAQ,GAAG,IAAI,CAAC,0CAA0C,CAAC,QAAQ,CAAC,CAAC;YACrE,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,qBAAqB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,qBAAqB;aAC9B,CAAC,CAAC;YACH,qBAAqB,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IACC,YAAY,IAAI,KAAK,CAAC,OAAO;YAC7B,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EACrC,CAAC;YACF,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,WAA0B;QACrD,6BAA6B;QAC7B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,mFAAmF,CACnF,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;QACnD,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE3C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,iCAAiC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,WAAW,GAA+B;YAC/C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAE/B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAEnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAsC,CAAC;QAC3C,IAAI,qBAAqB,GAA4B,IAAI,CAAC;QAE1D,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACpB,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YACvE,aAAa,CAAC,UAAU,CAAC,gBAAgB,EAAE;gBAC1C,QAAQ,EAAE,cAAc,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;gBAC5C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAC;YAEb,wDAAwD;YACxD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,MAAM,4BAA4B,GACjC,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC5C,IAAI,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,YAAY,GAAG,GAAG,YAAY,OAAO,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,gBAAgB,GACrB,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBACrD,IAAI,gBAAgB,EAAE,CAAC;oBACtB,YAAY,IAAI,OAAO,gBAAgB,EAAE,CAAC;gBAC3C,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;oBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACvD,CAAC,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,UAAU,CAAC,kBAAkB,EAAE;gBAC5C,YAAY,EAAE,YAAY,CAAC,MAAM;aACjC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG;gBACjB,YAAY;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,SAAS;gBACT,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBAC9C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,mBAAmB,EAAE,KAAK,IAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAK;gBACrE,mBAAmB,EAAE,KAAK,IAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAK;gBACrE,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACnE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,iBAAiB;gBAClC,aAAa;aACb,CAAC;YACF,aAAa,CAAC,UAAU,CAAC,gBAAgB,EAAE;gBAC1C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAC3C,cAAc,EAAE,wCAAwC;YACxD,WAAW,EACX,SAAS,EACT,eAAe,CAAC,MAAM,CACtB,EAAE,CAAC;gBACH,IACC,KAAK,CAAC,IAAI,KAAK,eAAe;oBAC9B,KAAK,CAAC,IAAI,KAAK,gBAAgB;oBAC/B,KAAK,CAAC,IAAI,KAAK,aAAa,EAC3B,CAAC;oBACF,CAAC,EAAE,qBAAqB,EAAE,cAAc,EAAE;wBACzC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE;4BACtC,qBAAqB;4BACrB,cAAc;yBACd,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAClD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACnD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAChD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAChD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACtC,IACC,IAAI,CAAC,sCAAsC,CAC1C,KAAK,CAAC,OAAqB,CAC3B;wBACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;4BACjC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACvD,CAAC;wBACF,SAAS;oBACV,CAAC;oBACD,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;wBAC1C,IAAI,CAAC,IAAI,CAAC;4BACT,GAAG,KAAK;4BACR,OAAO,EAAE,IAAI,CAAC,+BAA+B;yBAC7C,CAAC,CAAC;wBACH,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;wBACjD,SAAS;oBACV,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBACf,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK;oBAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxD,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACrC,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAChC,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;gBAC9C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YAClC,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO;oBACrB,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,wCAAwC,CAAC;gBAC5C,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,+BAA+B,CAAC;gBACpC,OAAO;gBACP,UAAU,EAAE,cAAc;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,OAAO;gBACP,eAAe,EAAE,eAAe,IAAI,SAAS;gBAC7C,UAAU,EAAE,cAAc;aAC1B,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAUd;QACA,6BAA6B;QAC7B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,mFAAmF,CACnF,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;QACnD,aAAa,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,iCAAiC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAE/B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,cAAsC,CAAC;QAC3C,IAAI,qBAAqB,GAA4B,IAAI,CAAC;QAE1D,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACpB,CAAC;YACF,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAClD,mBAAmB,EACnB,kBAAkB,CAClB,CAAC;YACF,aAAa,CAAC,UAAU,CAAC,gBAAgB,EAAE;gBAC1C,QAAQ,EAAE,gBAAgB,CAAC,MAAM;aACjC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;gBAC5C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAC;YAEb,kCAAkC;YAClC,IAAI,YAAY,GACf,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC3D,MAAM,4BAA4B,GACjC,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC5C,IAAI,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,YAAY,GAAG,GAAG,YAAY,OAAO,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,gBAAgB,GACrB,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBACrD,IAAI,gBAAgB,EAAE,CAAC;oBACtB,YAAY,IAAI,OAAO,gBAAgB,EAAE,CAAC;gBAC3C,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;oBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7D,CAAC,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,UAAU,CAAC,kBAAkB,EAAE;gBAC5C,YAAY,EAAE,YAAY,CAAC,MAAM;aACjC,CAAC,CAAC;YAEH,kDAAkD;YAClD,8EAA8E;YAC9E,MAAM,mBAAmB,GAAgB;gBACxC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACrB,CAAC;YAEF,MAAM,SAAS,GAAG;gBACjB,YAAY;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,KAAK,EACJ,OAAO,EAAE,iBAAiB,KAAK,SAAS;oBACvC,CAAC,CAAC;wBACA,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;wBACpB,SAAS,EAAE,OAAO,CAAC,iBAAiB;qBACpC;oBACF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;gBACrB,SAAS;gBACT,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBAC9C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,mBAAmB,EAAE,KAAK,IAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAK;gBACrE,mBAAmB,EAAE,KAAK,IAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAK;gBACrE,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACnE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,iBAAiB;gBAClC,kBAAkB,EAAE,KAAK;gBACzB,aAAa;aACb,CAAC;YACF,aAAa,CAAC,UAAU,CAAC,gBAAgB,EAAE;gBAC1C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAC3C,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,eAAe,CAAC,MAAM,CACtB,EAAE,CAAC;gBACH,IACC,KAAK,CAAC,IAAI,KAAK,eAAe;oBAC9B,KAAK,CAAC,IAAI,KAAK,gBAAgB;oBAC/B,KAAK,CAAC,IAAI,KAAK,aAAa,EAC3B,CAAC;oBACF,CAAC,EAAE,qBAAqB,EAAE,cAAc,EAAE;wBACzC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE;4BACtC,qBAAqB;4BACrB,cAAc;yBACd,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAClD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACnD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAChD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAChD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACtC,IACC,IAAI,CAAC,sCAAsC,CAC1C,KAAK,CAAC,OAAqB,CAC3B;wBACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;4BACjC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACvD,CAAC;wBACF,SAAS;oBACV,CAAC;oBACD,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;wBAC1C,IAAI,CAAC,IAAI,CAAC;4BACT,GAAG,KAAK;4BACR,OAAO,EAAE,IAAI,CAAC,+BAA+B;yBAC7C,CAAC,CAAC;wBACH,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;wBACjD,SAAS;oBACV,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBACf,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK;oBAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxD,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACrC,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAChC,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;gBAC9C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YAClC,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO;oBACrB,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,wCAAwC,CAAC;gBAC5C,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,+BAA+B,CAAC;gBACpC,OAAO;gBACP,UAAU,EAAE,cAAc;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,OAAO;gBACP,eAAe,EAAE,eAAe,IAAI,SAAS;gBAC7C,UAAU,EAAE,cAAc;aAC1B,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,wBAAwB,CAC/B,KAA4D;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAChD,CAAC;QACF,MAAM,WAAW,GAAG,uBAAuB,CAC1C,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,IAAI,EACV,IAAI,CACJ,CAAC;QACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE;YAClD,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI;YACJ,WAAW;YACX,YAAY;SACZ,CAAC,CAAC;QACH,4BAA4B,CAAC;YAC5B,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,iBAAiB,EAAE,KAAK,CAAC,eAAe;YACxC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC3C,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,cAAc,EAAE,KAAK,CAAC,IAAI;YAC1B,WAAW,EAAE;gBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;gBACnC,iBAAiB,EAAE,KAAK,CAAC,UAAU;aACnC;SACD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YACvE,IAAI,EAAE,wBAAwB;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW;YACX,YAAY;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,gCAAgC,CACvC,SAAiB,EACjB,YAAgC,EAChC,YAAoB;QAEpB,IACC,CAAC,YAAY;YACb,YAAY,KAAK,YAAY;YAC7B,SAAS,KAAK,YAAY,EACzB,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IAEO,yBAAyB,CAChC,KAA6D;QAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC3B,MAAM,eAAe,GAAG,uBAAuB,CAC9C,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,IAAI,EACV,IAAI,CACJ,CAAC;QACF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CACxD,eAAe,EACf,OAAO,EAAE,WAAW,EACpB,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CACjD,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,gCAAgC,CACzD,gBAAgB,EAChB,OAAO,EAAE,YAAY,EACrB,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAC1C,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC1B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,sBAAsB,CAC7B,KAA0D;QAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC;YACT,GAAG,KAAK;YACR,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,YAAY,EAAE,OAAO,EAAE,YAAY;SACnC,CAAC,CAAC;QACH,8BAA8B,CAAC;YAC9B,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,iBAAiB,EAAE,KAAK,CAAC,eAAe;YACxC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC3C,MAAM,EAAE,KAAK,CAAC,OAAO;gBACpB,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,oCAAoC;YACvC,cAAc,EAAE,KAAK,CAAC,aAAa;YACnC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;YAC5C,gBAAgB,EAAE,KAAK,CAAC,eAAe;YACvC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;qBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACtD,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,IAAI,CAAC;gBACb,CAAC,CAAC,SAAS;YACZ,WAAW,EAAE;gBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;gBACnC,iBAAiB,EAAE,KAAK,CAAC,UAAU;aACnC;SACD,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,+BAA+B,CAAC;gBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;aACtC,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,yBAAyB,CAAC;oBACzB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;oBAC3C,cAAc,EAAE,KAAK,CAAC,aAAa;oBACnC,YAAY,EAAE,KAAK,CAAC,UAAU;oBAC9B,iBAAiB,EAAE,KAAK,CAAC,eAAe;oBACxC,WAAW,EAAE;wBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;wBACnC,iBAAiB,EAAE,KAAK,CAAC,UAAU;qBACnC;oBACD,UAAU,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;iBAC1D,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO;YACR,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAEO,sBAAsB,CAAC,aAAoC;QAClE,OAAO;YACN,aAAa,CAAC,UAAU;YACxB,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,OAAO;YACrB,aAAa,CAAC,IAAI;SAClB;aACC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAEO,+BAA+B,CAAC,SAIvC;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,EAAE;YACxC,GAAG,QAAQ;YACX,GAAG,SAAS;YACZ,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB;SAC9C,CAAC,CAAC;IACJ,CAAC;IAEO,yCAAyC,CAChD,KAA0D;QAE1D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CACzC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAChD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,4BAA4B,CACnC,KAA0D;QAE1D,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC;YAC1D,CAAC,CAAC;gBACA,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,cAAc,EAAE,UAAU,CAAC,cAAc;aACzC;YACF,CAAC,CAAC,SAAS,CAAC;QACb,MAAM,gBAAgB,GAAG,gBAAgB;YACxC,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QACb,IAAI,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,4BAA4B,GAAG,gBAAgB,CAAC;QACtD,CAAC;QACD,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;YAC1C,gBAAgB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE,CAAC;YAClE,uBAAuB,CAAC;gBACvB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC3C,cAAc,EAAE,SAAS,CAAC,aAAa;gBACvC,YAAY,EAAE,KAAK,CAAC,UAAU;gBAC9B,iBAAiB,EAAE,KAAK,CAAC,eAAe;gBACxC,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,eAAe,EAAE,UAAU,CAAC,cAAc;gBAC1C,WAAW,EAAE;oBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;oBACnC,iBAAiB,EAAE,KAAK,CAAC,UAAU;iBACnC;gBACD,SAAS,EAAE,QAAQ;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,+BAA+B,CAAC,OAGvC;QACA,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO;YACrC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC;QAEd,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE,CAAC;YAClE,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACtD,MAAM,UAAU,GACf,cAAc;gBACd,CAAC,iBAAiB,IAAI,IAAI,CAAC,4BAA4B;oBACtD,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,SAAS,CAAC,CAAC;YACf,MAAM,wBAAwB,GAC7B,iBAAiB,IAAI,IAAI,CAAC,4BAA4B,CAAC;YACxD,MAAM,YAAY,GACjB,UAAU,KAAK,SAAS;gBACvB,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,UAAU,KAAK,OAAO;oBACvB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;oBACnB,CAAC,CAAC,UAAU,KAAK,mBAAmB,IAAI,wBAAwB;wBAC/D,CAAC,CAAC,6BAA6B,CAAC,wBAAwB,CAAC;wBACzD,CAAC,CAAC,SAAS,CAAC;YAChB,yBAAyB,CAAC;gBACzB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC3C,cAAc,EAAE,SAAS,CAAC,aAAa;gBACvC,YAAY,EAAE,SAAS,CAAC,UAAU;gBAClC,iBAAiB,EAAE,SAAS,CAAC,eAAe;gBAC5C,WAAW,EAAE,UAAU;gBACvB,cAAc,EACb,UAAU,KAAK,SAAS;oBACvB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,KAAK,mBAAmB;wBACnC,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,SAAS;gBACd,aAAa,EAAE,YAAY;gBAC3B,oBAAoB,EAAE,iBAAiB,EAAE,QAAQ;gBACjD,uBAAuB,EAAE,iBAAiB,EAAE,UAAU;gBACtD,4BAA4B,EAAE,iBAAiB,EAAE,eAAe;gBAChE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK;gBAC1C,oBAAoB,EAAE,iBAAiB,EAAE,SAAS;gBAClD,0BAA0B,EAAE,iBAAiB,EAAE,cAAc;gBAC7D,oBAAoB,EAAE,iBAAiB,EAAE,SAAS;gBAClD,WAAW,EAAE,OAAO,CAAC,UAAU;gBAC/B,WAAW,EAAE;oBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;iBACnC;aACD,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;QAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAEO,+BAA+B,CACtC,KAA0D;QAE1D,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CACzE,GAAG,CACH,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,mBAAmB,GACxB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,eAAe,GACpB,CAAC,KAAK,CAAC,OAAO;YACd,OAAO,CAAC,MAAM,CAAC,cAAc;YAC7B,CAAC,mBAAmB;YACpB,CAAC,SAAS;YACV,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAE3C,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;YAC5C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YACvB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACd,CAAC,CAAC,2DAA2D;gBAC7D,CAAC,CAAC,mBAAmB;oBACpB,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,SAAS;wBACV,CAAC,CAAC,6DAA6D;wBAC/D,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW;4BACzC,CAAC,CAAC,oDAAoD;4BACtD,CAAC,CAAC,+CAA+C,CAAC;QAEvD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtE,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;gBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;gBAC5B,CAAC,CAAC,SAAS;YACZ,gBAAgB,EAAE,eAAe;YACjC,MAAM;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,0BAA0B,CAC9B,oCAAoC,CAAC;YACpC,OAAO;YACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,WAAW;SACpB,CAAC,EACF,OAAO,CACP,CAAC;IACH,CAAC;IAEO,0BAA0B,CACjC,OAAmB,EACnB,WAA6B,MAAM;QAEnC,MAAM,MAAM,GAA8B;YACzC,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,OAAkB;SACvB,CAAC;QACF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEO,cAAc,CAAC,OAAmB;QACzC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtE,OAAO;QACR,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACrD,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,oBAAoB;QAC3B,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAC5D,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,oBAAoB;YAC1B,OAAO;YACP,aAAa;YACb,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;YACnD,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC/C,cAAc;YACd,WAAW;SACX,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CACxB,sCAAsC,CAAC,aAAa,CAAC,CACrD,CAAC;QACH,CAAC;IACF,CAAC;IAEO,sBAAsB,CAC7B,KAA0D;QAE1D,MAAM,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC5C,IAAI,QAAQ,EAAE,kBAAkB,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,qBAAqB,CAAC;YACrD,IAAI,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO;YACR,CAAC;YACD,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,MAAc;QAC7C,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzE,MAAM,aAAa,GAAsB;gBACxC,IAAI,EAAE,YAAY;gBAClB,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACZ;iBACD;gBACD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACrB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,sBAAsB,CAAC;gBAC3B,IAAI,EAAE,oBAAoB;gBAC1B,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,IAAI;aACb,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,OAAkB,EAClB,MAAc,EACd,YAAY,GAAG,EAAE,EACjB,aAA0B,EAC1B,MAAoB;QAEpB,MAAM,YAAY,GAAG,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAgB;YAChC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,MAAM,WAAW,GAAc,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,4BAA4B,CACpD,WAAW,EACX,YAAY,CACZ,CAAC;QACF,MAAM,SAAS,GAAG;YACjB,YAAY;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,SAAS;YACpB,sEAAsE;YACtE,gBAAgB,EAAE,SAAS;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,gBAAgB,CACtB,OAAO,EACP,GAAG,EAAE;oBACJ,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACd,CAAC;YACH,CAAC;QACF,CAAC;QACD,IAAI,YAAY,GAA4B,IAAI,CAAC;QAEjD,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAC3C,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,CAAC,MAAM,CACjB,EAAE,CAAC;gBACH,IACC,KAAK,CAAC,IAAI,KAAK,aAAa;oBAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EACjC,CAAC;oBACF,YAAY,GAAG,KAAK,CAAC,OAA2B,CAAC;gBAClD,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;CACD","sourcesContent":["/**\n * Agent Core - Event-Driven LLM Interaction Engine\n *\n * This module provides the central Agent class that orchestrates all LLM\n * communication, tool execution, and state management for the Composer CLI.\n * It implements an event-driven architecture that enables real-time streaming,\n * concurrent tool execution, and extensible transport layers.\n *\n * ## Architecture Overview\n *\n * ```\n * ┌─────────────────────────────────────────────────────────────────────────┐\n * │ Agent │\n * │ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────────────────┐ │\n * │ │ State │ │ Transport │ │ Context Sources │ │\n * │ │ - messages │ │ - Anthropic │ │ - TodoContextSource │ │\n * │ │ - model │ │ - OpenAI │ │ - BackgroundTaskContextSource │ │\n * │ │ - tools │ │ - Google │ │ - LspContextSource │ │\n * │ │ - streaming │ │ - Custom │ │ - FrameworkPreferenceContext │ │\n * │ └─────────────┘ └──────────────┘ └─────────────────────────────────┘ │\n * │ │ │ │ │\n * │ ▼ ▼ ▼ │\n * │ ┌─────────────────────────────────────────────────────────────────────┐│\n * │ │ Event Emitter ││\n * │ │ message_start, message_update, message_end, tool_execution_* ││\n * │ └─────────────────────────────────────────────────────────────────────┘│\n * │ │ │\n * └─────────────────────────────────┼────────────────────────────────────────┘\n * ▼\n * ┌───────────────────┐\n * │ Subscribers │\n * │ - TUI Renderer │\n * │ - Session Mgr │\n * │ - JSONL Writer │\n * └───────────────────┘\n * ```\n *\n * ## Event Flow\n *\n * When `agent.prompt()` is called, the following sequence occurs:\n *\n * 1. **agent_start**: Signals the beginning of a prompt cycle\n * 2. **message_start**: Message envelope begins (user or assistant)\n * 3. **message_end**: Message envelope completes (user or assistant)\n * 4. **content_block_delta**: Streaming text/thinking content\n * 5. **tool_execution_start**: Tool call initiated\n * 6. **tool_execution_end**: Tool call completed\n * 7. **message_update**: Partial message with accumulated content\n * 8. **agent_end**: Prompt cycle completed\n *\n * ## Message Transformation\n *\n * Messages are transformed through a pipeline before being sent to the LLM:\n *\n * 1. **App Messages**: Internal format with attachments, metadata\n * 2. **Message Transform**: Convert attachments to content blocks\n * 3. **Provider Normalization**: Adapt to target provider's format\n * 4. **System Prompt Injection**: Add context from context sources\n *\n * ## Thinking/Reasoning Support\n *\n * The agent supports extended thinking for compatible models:\n *\n * | Level | Description |\n * |---------|------------------------------------------|\n * | off | No extended thinking |\n * | minimal | Brief chain-of-thought |\n * | low | Short reasoning steps |\n * | medium | Moderate reasoning depth |\n * | high | Deep reasoning with exploration |\n * | max | Maximum reasoning effort |\n *\n * ## Abort and Partial Handling\n *\n * The agent supports graceful interruption:\n *\n * - `abort()`: Cancel current request, discard partial response\n * - `abortAndKeepPartial()`: Cancel but preserve partial content\n *\n * @module agent/agent\n */\n\nimport { validate as uuidValidate } from \"uuid\";\nimport {\n\tbuildDiagnosticRepairFollowUpMessage,\n\tgetDiagnosticDeltaFromToolResult,\n\thasDiagnosticRepairOptOut,\n} from \"../lsp/diagnostic-repair.js\";\nimport type { SkillArtifactMetadata } from \"../skills/artifact-metadata.js\";\nimport {\n\trecordMaestroEvalScored,\n\trecordMaestroSkillInvoked,\n\trecordMaestroSkillOutcome,\n\trecordMaestroToolCallAttempt,\n\trecordMaestroToolCallCompleted,\n} from \"../telemetry/maestro-event-bus.js\";\nimport { createQueryProfilerFromEnv } from \"../utils/checkpoint-profiler.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport {\n\tdescribeToolActivity,\n\tdescribeToolDisplayName,\n\tsummarizeToolBatch,\n\tsummarizeToolUse,\n} from \"../utils/tool-use-summary.js\";\nimport {\n\tAgentContextManager,\n\ttype AgentContextSource,\n\ttype ContextLoadResult,\n} from \"./context-manager.js\";\nimport { isContextOverflow as isAssistantContextOverflow } from \"./context-overflow.js\";\nimport { convertAppMessagesToLlm, isCoreMessage } from \"./custom-messages.js\";\nimport {\n\ttype PreprocessMessagesFn,\n\tchainPreprocessMessages,\n\tdefaultPreprocessMessages,\n} from \"./preprocess-messages.js\";\nimport { isAssistantMessage } from \"./type-guards.js\";\nimport type {\n\tAgentEvent,\n\tAgentState,\n\tAgentTool,\n\tAgentTransport,\n\tApi,\n\tAppMessage,\n\tAssistantMessage,\n\tAttachment,\n\tImageContent,\n\tMessage,\n\tModel,\n\tQueuedMessage,\n\tReasoningEffort,\n\tStopReason,\n\tTextContent,\n\tThinkingLevel,\n\tToolResultMessage,\n\tUsage,\n\tUserMessage,\n\tUserMessageWithAttachments,\n} from \"./types.js\";\n\nconst logger = createLogger(\"agent\");\n\ntype ToolEvaluationSummary = {\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\trationale?: string;\n\tassertionCount?: number;\n};\n\ntype SkillEvaluationFailure = {\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n\ttoolName?: string;\n\tscore?: number;\n\tthreshold?: number;\n\trationale?: string;\n\tassertionCount?: number;\n};\n\ntype CurrentTurnSkillSelection = {\n\tskillMetadata: SkillArtifactMetadata;\n\ttoolCallId: string;\n\ttoolExecutionId?: string;\n\tevaluationFailure?: SkillEvaluationFailure;\n};\n\nfunction getToolEvaluationSummary(\n\tdetails: unknown,\n): ToolEvaluationSummary | undefined {\n\tif (!details || typeof details !== \"object\" || Array.isArray(details)) {\n\t\treturn undefined;\n\t}\n\n\tconst normalized = details as {\n\t\tevaluation?: unknown;\n\t\tassertions?: unknown;\n\t};\n\tif (\n\t\t!normalized.evaluation ||\n\t\ttypeof normalized.evaluation !== \"object\" ||\n\t\tArray.isArray(normalized.evaluation)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tconst evaluation = normalized.evaluation as Record<string, unknown>;\n\tconst summary: ToolEvaluationSummary = {};\n\tif (\n\t\ttypeof evaluation.score === \"number\" &&\n\t\tNumber.isFinite(evaluation.score)\n\t) {\n\t\tsummary.score = evaluation.score;\n\t}\n\tif (\n\t\ttypeof evaluation.threshold === \"number\" &&\n\t\tNumber.isFinite(evaluation.threshold)\n\t) {\n\t\tsummary.threshold = evaluation.threshold;\n\t}\n\tif (typeof evaluation.passed === \"boolean\") {\n\t\tsummary.passed = evaluation.passed;\n\t}\n\tif (\n\t\ttypeof evaluation.rationale === \"string\" &&\n\t\tevaluation.rationale.trim().length > 0\n\t) {\n\t\tsummary.rationale = evaluation.rationale.trim();\n\t}\n\tif (\n\t\tArray.isArray(normalized.assertions) &&\n\t\tnormalized.assertions.length > 0\n\t) {\n\t\tsummary.assertionCount = normalized.assertions.length;\n\t}\n\n\treturn Object.keys(summary).length > 0 ? summary : undefined;\n}\n\nfunction isFailedToolEvaluation(summary: ToolEvaluationSummary): boolean {\n\tif (summary.passed === false) {\n\t\treturn true;\n\t}\n\tif (summary.passed === true) {\n\t\treturn false;\n\t}\n\treturn (\n\t\ttypeof summary.score === \"number\" &&\n\t\ttypeof summary.threshold === \"number\" &&\n\t\tsummary.score < summary.threshold\n\t);\n}\n\nfunction buildEvaluationFailureMessage(\n\tfailure: SkillEvaluationFailure,\n): string | undefined {\n\tif (failure.rationale) {\n\t\treturn failure.rationale;\n\t}\n\tif (\n\t\ttypeof failure.score === \"number\" &&\n\t\ttypeof failure.threshold === \"number\"\n\t) {\n\t\treturn `Eval score ${failure.score} below threshold ${failure.threshold}`;\n\t}\n\tif (typeof failure.score === \"number\") {\n\t\treturn `Eval score ${failure.score} did not pass`;\n\t}\n\treturn \"Selected skill failed evaluation\";\n}\n\n/**\n * Default message transformer that converts app messages to LLM-ready format.\n *\n * This transformer handles:\n * - Filtering to valid message roles (user, assistant, toolResult)\n * - Expanding user message attachments into content blocks\n * - Converting images to base64 image content\n * - Converting documents to text content with filename headers\n *\n * @param messages - Array of app messages to transform\n * @returns Array of messages ready for LLM consumption\n */\nfunction defaultMessageTransformer(messages: AppMessage[]): Message[] {\n\treturn (\n\t\tconvertAppMessagesToLlm(messages)\n\t\t\t// Filter to only roles the LLM understands\n\t\t\t.filter(\n\t\t\t\t(m) =>\n\t\t\t\t\tm.role === \"user\" ||\n\t\t\t\t\tm.role === \"assistant\" ||\n\t\t\t\t\tm.role === \"toolResult\",\n\t\t\t)\n\t\t\t.map((message) => {\n\t\t\t\t// Non-user messages pass through unchanged\n\t\t\t\tif (message.role !== \"user\") {\n\t\t\t\t\treturn message as Message;\n\t\t\t\t}\n\n\t\t\t\t// Handle user messages with attachments\n\t\t\t\tconst { attachments, ...rest } = message as UserMessageWithAttachments;\n\t\t\t\tif (!attachments || attachments.length === 0) {\n\t\t\t\t\treturn rest as Message;\n\t\t\t\t}\n\n\t\t\t\t// Expand attachments into content array\n\t\t\t\t// Start with existing content (may be string or array)\n\t\t\t\tconst content: Array<TextContent | ImageContent> = Array.isArray(\n\t\t\t\t\trest.content,\n\t\t\t\t)\n\t\t\t\t\t? [...rest.content]\n\t\t\t\t\t: [{ type: \"text\", text: rest.content }];\n\n\t\t\t\t// Convert each attachment to appropriate content type\n\t\t\t\tfor (const attachment of attachments) {\n\t\t\t\t\tif (attachment.type === \"image\") {\n\t\t\t\t\t\t// Images become image content blocks with base64 data\n\t\t\t\t\t\tcontent.push({\n\t\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\t\tdata: attachment.content,\n\t\t\t\t\t\t\tmimeType: attachment.mimeType,\n\t\t\t\t\t\t} as ImageContent);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tattachment.type === \"document\" &&\n\t\t\t\t\t\tattachment.extractedText\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Documents become text blocks with filename headers\n\t\t\t\t\t\tcontent.push({\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: `\\n\\n[Document: ${attachment.fileName}]\\n${attachment.extractedText}`,\n\t\t\t\t\t\t} as TextContent);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn { ...rest, content } as Message;\n\t\t\t})\n\t);\n}\n\n/**\n * Maps internal thinking level to provider reasoning effort parameter.\n *\n * Different providers have different reasoning/thinking capabilities.\n * This function normalizes our internal levels to what providers support.\n *\n * @param level - Internal thinking level\n * @returns Provider-specific reasoning effort, or undefined if disabled\n */\nfunction mapThinkingLevel(level: ThinkingLevel): ReasoningEffort | undefined {\n\tswitch (level) {\n\t\tcase \"off\":\n\t\t\treturn undefined; // No extended thinking\n\t\tcase \"minimal\":\n\t\t\treturn \"minimal\"; // Brief chain-of-thought\n\t\tcase \"low\":\n\t\t\treturn \"low\"; // Short reasoning steps\n\t\tcase \"medium\":\n\t\t\treturn \"medium\"; // Moderate depth\n\t\tcase \"high\":\n\t\t\treturn \"high\"; // Thorough reasoning\n\t\tcase \"ultra\":\n\t\t\treturn \"ultra\"; // Provider max where supported\n\t\tcase \"max\":\n\t\t\treturn \"high\"; // Maximum reasoning (max maps to high for providers)\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction buildPromptOnlyToolBatchSummaryMessage(\n\tsummaryLabels: string[],\n): UserMessage {\n\tconst bulletList = summaryLabels.map((label) => `- ${label}`).join(\"\\n\");\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: `The following is a transient summary of the most recent tool activity:\\n${bulletList}`,\n\t\t\t},\n\t\t],\n\t\ttimestamp: Date.now(),\n\t};\n}\n\nconst PROMPT_ONLY_BATCH_SHAPING_FEEDBACK_HINT =\n\t\"When you need several independent reads or searches, emit them together in one assistant message so Maestro can batch them safely.\";\n\nfunction buildPromptOnlyBatchShapingFeedbackMessage(): UserMessage {\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: `The following is transient tool batching feedback for the next assistant turn:\\n- ${PROMPT_ONLY_BATCH_SHAPING_FEEDBACK_HINT}`,\n\t\t\t},\n\t\t],\n\t\ttimestamp: Date.now(),\n\t};\n}\n\n/**\n * Ensures prior assistant messages remain provider-compatible when switching models mid-session.\n *\n * When users switch between providers (e.g., Anthropic → OpenAI), previous assistant\n * messages may contain provider-specific content like \"thinking\" blocks. This function\n * converts those blocks to a format all providers can understand.\n *\n * ## Problem\n *\n * Anthropic's thinking blocks look like: `{ type: \"thinking\", thinking: \"...\" }`\n * OpenAI doesn't understand this format and may error or ignore it.\n *\n * ## Solution\n *\n * Convert thinking blocks to text: `<thinking>...</thinking>` which all providers\n * can process as regular text content.\n *\n * @param messages - Messages from conversation history\n * @param targetModel - The model that will receive these messages\n * @returns Messages with thinking blocks normalized for the target provider\n */\nfunction normalizeMessagesForProvider(\n\tmessages: Message[],\n\ttargetModel: Model<Api>,\n): Message[] {\n\tconst normalizedMessages: Message[] = [];\n\n\tfor (const msg of messages) {\n\t\tif (msg.role !== \"assistant\") {\n\t\t\tif (msg.role === \"user\") {\n\t\t\t\tconst previous = normalizedMessages[normalizedMessages.length - 1];\n\t\t\t\tif (previous?.role === \"user\") {\n\t\t\t\t\tconst previousContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\ttypeof previous.content === \"string\"\n\t\t\t\t\t\t\t? [{ type: \"text\", text: previous.content }]\n\t\t\t\t\t\t\t: [...previous.content];\n\t\t\t\t\tconst currentContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\ttypeof msg.content === \"string\"\n\t\t\t\t\t\t\t? [{ type: \"text\", text: msg.content }]\n\t\t\t\t\t\t\t: [...msg.content];\n\t\t\t\t\tconst mergedContent: (TextContent | ImageContent)[] =\n\t\t\t\t\t\tpreviousContent.length > 0 && currentContent.length > 0\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...previousContent,\n\t\t\t\t\t\t\t\t\t{ type: \"text\", text: \"\\n\\n\" } as TextContent,\n\t\t\t\t\t\t\t\t\t...currentContent,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t: [...previousContent, ...currentContent];\n\t\t\t\t\tconst previousAttachments = (\n\t\t\t\t\t\t\"attachments\" in previous ? previous.attachments : undefined\n\t\t\t\t\t) as Attachment[] | undefined;\n\t\t\t\t\tconst currentAttachments = (\n\t\t\t\t\t\t\"attachments\" in msg ? msg.attachments : undefined\n\t\t\t\t\t) as Attachment[] | undefined;\n\t\t\t\t\tconst mergedAttachments: Attachment[] = [\n\t\t\t\t\t\t...(previousAttachments ?? []),\n\t\t\t\t\t\t...(currentAttachments ?? []),\n\t\t\t\t\t];\n\t\t\t\t\tconst mergedUser: UserMessageWithAttachments = {\n\t\t\t\t\t\t...previous,\n\t\t\t\t\t\tcontent: mergedContent,\n\t\t\t\t\t\tattachments:\n\t\t\t\t\t\t\tmergedAttachments.length > 0 ? mergedAttachments : undefined,\n\t\t\t\t\t\tmetadata: previous.metadata ?? msg.metadata,\n\t\t\t\t\t};\n\t\t\t\t\tnormalizedMessages[normalizedMessages.length - 1] = mergedUser;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tnormalizedMessages.push(msg);\n\t\t\tcontinue;\n\t\t}\n\t\tconst shouldConvertThinking =\n\t\t\tmsg.provider !== targetModel.provider ||\n\t\t\tmsg.api !== targetModel.api ||\n\t\t\t!targetModel.reasoning;\n\t\tif (!shouldConvertThinking) {\n\t\t\tnormalizedMessages.push(msg);\n\t\t\tcontinue;\n\t\t}\n\t\tconst content = msg.content.map((block) => {\n\t\t\tif (block.type === \"thinking\") {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: `<thinking>${block.thinking}</thinking>`,\n\t\t\t\t} as TextContent;\n\t\t\t}\n\t\t\treturn block;\n\t\t});\n\t\tnormalizedMessages.push({ ...msg, content });\n\t}\n\n\treturn normalizedMessages;\n}\n\ntype BufferedAssistantStartState = {\n\tpendingAssistantStart: AssistantMessage | null;\n\tlastStopReason?: StopReason;\n};\n\ntype StreamedMessageEvent = Extract<\n\tAgentEvent,\n\t{ type: \"message_start\" | \"message_update\" | \"message_end\" }\n>;\n\nfunction isDuplicateMessage(\n\texisting: AppMessage | undefined,\n\tincoming: AppMessage,\n): boolean {\n\tif (!existing) return false;\n\tif (existing.role !== incoming.role) return false;\n\tif (\"timestamp\" in existing && \"timestamp\" in incoming) {\n\t\tif (existing.timestamp !== incoming.timestamp) return false;\n\t}\n\tif (existing.role === \"toolResult\" && incoming.role === \"toolResult\") {\n\t\treturn existing.toolCallId === incoming.toolCallId;\n\t}\n\t// For assistant messages, compare stopReason and content fingerprint to avoid\n\t// discarding distinct messages that share a timestamp (e.g. parallel tool calls).\n\tif (existing.role === \"assistant\" && incoming.role === \"assistant\") {\n\t\tif (existing.stopReason !== incoming.stopReason) return false;\n\t\tif (existing.content.length !== incoming.content.length) return false;\n\t\t// Compare first content block identity for a stronger structural check.\n\t\tconst a = existing.content[0];\n\t\tconst b = incoming.content[0];\n\t\tif (a && b) {\n\t\t\tif (a.type !== b.type) return false;\n\t\t\tif (a.type === \"toolCall\" && b.type === \"toolCall\") {\n\t\t\t\tif (a.id !== b.id) return false;\n\t\t\t} else if (a.type === \"text\" && b.type === \"text\") {\n\t\t\t\tif (a.text !== b.text) return false;\n\t\t\t} else if (a.type === \"thinking\" && b.type === \"thinking\") {\n\t\t\t\tif (a.thinking !== b.thinking) return false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction mergeUsage(messages: AssistantMessage[]): Usage {\n\treturn messages.reduce<Usage>(\n\t\t(acc, message) => ({\n\t\t\tinput: acc.input + message.usage.input,\n\t\t\toutput: acc.output + message.usage.output,\n\t\t\tcacheRead: acc.cacheRead + message.usage.cacheRead,\n\t\t\tcacheWrite: acc.cacheWrite + message.usage.cacheWrite,\n\t\t\tcost: {\n\t\t\t\tinput: acc.cost.input + message.usage.cost.input,\n\t\t\t\toutput: acc.cost.output + message.usage.cost.output,\n\t\t\t\tcacheRead: acc.cost.cacheRead + message.usage.cost.cacheRead,\n\t\t\t\tcacheWrite: acc.cost.cacheWrite + message.usage.cost.cacheWrite,\n\t\t\t\ttotal: acc.cost.total + message.usage.cost.total,\n\t\t\t},\n\t\t}),\n\t\t{\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotal: 0,\n\t\t\t},\n\t\t},\n\t);\n}\n\nfunction mergeAssistantMessages(\n\tmessages: AssistantMessage[],\n): AssistantMessage {\n\tconst lastMessage = messages[messages.length - 1]!;\n\treturn {\n\t\t...lastMessage,\n\t\tcontent: messages.flatMap((message) => message.content),\n\t\tusage: mergeUsage(messages),\n\t};\n}\n\n/**\n * Configuration options for creating an Agent instance.\n */\nexport interface AgentOptions {\n\t/** Initial state to override defaults (system prompt, model, tools, etc.) */\n\tinitialState?: Partial<AgentState>;\n\t/** Transport implementation for LLM provider communication */\n\ttransport: AgentTransport;\n\t/** Optional transformer to convert app messages to provider-specific format */\n\tmessageTransformer?: (\n\t\tmessages: AppMessage[],\n\t) => Message[] | Promise<Message[]>;\n\t/** Optional message preprocessor executed immediately before provider invocation */\n\tpreprocessMessages?: PreprocessMessagesFn;\n\t/** Disable Composer's built-in preprocessing (not recommended) */\n\tdisableDefaultPreprocessMessages?: boolean;\n\t/** Optional context sources for environment injection */\n\tcontextSources?: AgentContextSource[];\n}\n\n/**\n * Core Agent class implementing event-driven LLM interaction.\n *\n * The Agent manages conversation state, tool execution, and streaming responses\n * across multiple LLM providers through an abstracted transport layer.\n *\n * @example\n * ```typescript\n * const agent = new Agent({\n * transport: new AnthropicTransport(apiKey),\n * initialState: { model: claudeSonnet4, tools: codingTools }\n * });\n *\n * agent.subscribe((event) => {\n * if (event.type === 'content_block_delta') {\n * process.stdout.write(event.text);\n * }\n * });\n *\n * await agent.prompt(\"Create a hello world function\");\n * ```\n */\nexport class Agent {\n\tprivate _state: AgentState;\n\tprivate listeners: Array<(e: AgentEvent) => void> = [];\n\tprivate abortController?: AbortController;\n\tprivate transport: AgentTransport;\n\tprivate messageTransformer: (\n\t\tmessages: AppMessage[],\n\t) => Message[] | Promise<Message[]>;\n\tprivate preprocessMessages?: PreprocessMessagesFn;\n\tprivate steeringQueue: Array<QueuedMessage<AppMessage>> = [];\n\tprivate followUpQueue: Array<QueuedMessage<AppMessage>> = [];\n\tprivate nextRunHistoryQueue: AppMessage[] = [];\n\tprivate nextRunPromptOnlyQueue: Message[] = [];\n\tprivate promptOnlyQueue: Message[] = [];\n\tprivate queuedBatchShapingFeedbackKeys = new Set<string>();\n\tprivate nextRunSystemPromptAdditions: string[] = [];\n\tprivate defaultTaskBudgetTotal?: number;\n\tprivate currentTaskBudget?:\n\t\t| {\n\t\t\t\ttotal: number;\n\t\t\t\tremaining?: number;\n\t\t }\n\t\t| undefined;\n\tprivate steeringMode: \"all\" | \"one\" = \"all\";\n\tprivate followUpMode: \"all\" | \"one\" = \"all\";\n\tprivate queueMode: \"all\" | \"one\" = \"all\";\n\tprivate nextQueuedMessageId = 1;\n\tprivate runningPrompt?: Promise<void>;\n\tprivate resolveRunningPrompt?: () => void;\n\tprivate contextManager: AgentContextManager;\n\tprivate activeToolBatchIds: Set<string> | null = null;\n\tprivate completedToolBatch: Array<{\n\t\ttoolCallId: string;\n\t\ttoolName: string;\n\t\targs: Record<string, unknown>;\n\t\tisError: boolean;\n\t\ttool?: Pick<AgentTool, \"getToolUseSummary\" | \"getActivityDescription\">;\n\t}> = [];\n\tprivate suppressRecoverableOverflowErrors = false;\n\tprivate withheldRecoverableOverflowError?: AssistantMessage;\n\tprivate withheldRecoverableLengthMessages: AssistantMessage[] = [];\n\tprivate pendingMergedRecoverableTurnEnd?: AssistantMessage;\n\tprivate diagnosticRepairAttempts = new Map<string, number>();\n\tprivate currentTurnEvaluationFailure?: SkillEvaluationFailure;\n\tprivate currentTurnSkillSelections = new Map<\n\t\tstring,\n\t\tCurrentTurnSkillSelection\n\t>();\n\n\t/**\n\t * Creates a new Agent instance.\n\t *\n\t * @param opts - Configuration options including transport and initial state\n\t */\n\tconstructor(opts: AgentOptions) {\n\t\tthis.transport = opts.transport;\n\t\tthis.messageTransformer =\n\t\t\topts.messageTransformer ??\n\t\t\t((messages) => defaultMessageTransformer(messages));\n\t\tthis.preprocessMessages = chainPreprocessMessages(\n\t\t\topts.disableDefaultPreprocessMessages\n\t\t\t\t? undefined\n\t\t\t\t: defaultPreprocessMessages,\n\t\t\topts.preprocessMessages,\n\t\t);\n\n\t\tthis.contextManager = new AgentContextManager();\n\t\tif (opts.contextSources) {\n\t\t\tfor (const source of opts.contextSources) {\n\t\t\t\tthis.contextManager.addSource(source);\n\t\t\t}\n\t\t}\n\n\t\tconst {\n\t\t\tsystemPrompt,\n\t\t\tmodel,\n\t\t\tthinkingLevel,\n\t\t\ttools,\n\t\t\tqueueMode,\n\t\t\tsteeringMode,\n\t\t\tfollowUpMode,\n\t\t\t...restInitialState\n\t\t} = opts.initialState ?? {};\n\t\tthis.queueMode = queueMode ?? \"all\";\n\t\tthis.steeringMode = steeringMode ?? queueMode ?? \"all\";\n\t\tthis.followUpMode = followUpMode ?? queueMode ?? \"all\";\n\n\t\tif (restInitialState.user) {\n\t\t\tif (\n\t\t\t\t!uuidValidate(restInitialState.user.id) ||\n\t\t\t\t!uuidValidate(restInitialState.user.orgId)\n\t\t\t) {\n\t\t\t\tthrow new Error(\"Invalid user ID or Org ID: Must be a valid UUID\");\n\t\t\t}\n\t\t}\n\n\t\tthis._state = {\n\t\t\tsystemPrompt: systemPrompt ?? \"\",\n\t\t\tmodel:\n\t\t\t\tmodel ??\n\t\t\t\t((): never => {\n\t\t\t\t\tthrow new Error(\"Agent requires an initial model\");\n\t\t\t\t})(),\n\t\t\tthinkingLevel: thinkingLevel ?? \"off\",\n\t\t\ttools: tools ?? [],\n\t\t\tmessages: [],\n\t\t\tisStreaming: false,\n\t\t\tstreamMessage: null,\n\t\t\tpendingToolCalls: new Map(),\n\t\t\tsandbox: restInitialState.sandbox,\n\t\t\tsandboxMode: restInitialState.sandboxMode ?? null,\n\t\t\tsandboxEnabled:\n\t\t\t\trestInitialState.sandboxEnabled ?? Boolean(restInitialState.sandbox),\n\t\t\t...restInitialState,\n\t\t\tqueueMode: this.queueMode,\n\t\t\tsteeringMode: this.steeringMode,\n\t\t\tfollowUpMode: this.followUpMode,\n\t\t};\n\t}\n\n\t/**\n\t * Gets the current agent state (read-only).\n\t *\n\t * @returns The current state including messages, model, tools, and streaming status\n\t */\n\tget state(): Readonly<AgentState> {\n\t\treturn this._state;\n\t}\n\n\t/**\n\t * Gets detailed status of all context sources.\n\t *\n\t * Context sources provide dynamic content injected into the system prompt,\n\t * such as todo lists, LSP diagnostics, and IDE information.\n\t *\n\t * @returns Promise resolving to context load result with per-source status\n\t *\n\t * @example\n\t * ```typescript\n\t * const result = await agent.getContextSourceStatus();\n\t * for (const source of result.sourceStatuses) {\n\t * console.log(`${source.name}: ${source.status} (${source.durationMs}ms)`);\n\t * }\n\t * ```\n\t */\n\tasync getContextSourceStatus(): Promise<ContextLoadResult> {\n\t\treturn this.contextManager.getCombinedSystemPromptWithStatus();\n\t}\n\n\t/**\n\t * Optionally probes the underlying transport for connectivity checks.\n\t */\n\tasync probeTransport(): Promise<void> {\n\t\tif (this.transport.ping) {\n\t\t\tawait this.transport.ping();\n\t\t}\n\t}\n\n\t/**\n\t * Subscribes to agent events (streaming deltas, tool calls, errors, etc.).\n\t *\n\t * @param fn - Event listener function to be called on each event\n\t * @returns Unsubscribe function to remove the listener\n\t *\n\t * @example\n\t * ```typescript\n\t * const unsubscribe = agent.subscribe((event) => {\n\t * if (event.type === 'content_block_delta') {\n\t * console.log(event.text);\n\t * }\n\t * });\n\t *\n\t * // Later, to stop listening:\n\t * unsubscribe();\n\t * ```\n\t */\n\tsubscribe(fn: (e: AgentEvent) => void): () => void {\n\t\tthis.listeners.push(fn);\n\t\treturn () => {\n\t\t\tconst idx = this.listeners.indexOf(fn);\n\t\t\tif (idx >= 0) this.listeners.splice(idx, 1);\n\t\t};\n\t}\n\n\t/**\n\t * Emits an event to all subscribed listeners.\n\t * Errors in listeners are caught and logged to prevent cascading failures.\n\t *\n\t * @param event - The event to emit\n\t */\n\tprivate emit(event: AgentEvent): void {\n\t\tfor (const listener of this.listeners) {\n\t\t\ttry {\n\t\t\t\tlistener(event);\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Error in agent event listener\",\n\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async dequeueSteeringMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\tif (this.steeringQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.steeringMode === \"one\") {\n\t\t\tconst next = this.steeringQueue.shift();\n\t\t\treturn next ? [next as QueuedMessage<T>] : [];\n\t\t}\n\t\tconst queued = this.steeringQueue.splice(0) as QueuedMessage<T>[];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeueFollowUpMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\tif (this.followUpQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.followUpMode === \"one\") {\n\t\t\tconst next = this.followUpQueue.shift();\n\t\t\treturn next ? [next as QueuedMessage<T>] : [];\n\t\t}\n\t\tconst queued = this.followUpQueue.splice(0) as QueuedMessage<T>[];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeuePromptOnlyMessages(): Promise<Message[]> {\n\t\tif (\n\t\t\tthis.nextRunPromptOnlyQueue.length === 0 &&\n\t\t\tthis.promptOnlyQueue.length === 0\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunPromptOnlyQueue, ...this.promptOnlyQueue];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.queuedBatchShapingFeedbackKeys.clear();\n\t\treturn queued;\n\t}\n\n\tprivate dequeueNextRunHistoryMessages(): AppMessage[] {\n\t\tif (this.nextRunHistoryQueue.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunHistoryQueue];\n\t\tthis.nextRunHistoryQueue = [];\n\t\treturn queued;\n\t}\n\n\tprivate dequeueNextRunSystemPromptAdditions(): string[] {\n\t\tif (this.nextRunSystemPromptAdditions.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tconst queued = [...this.nextRunSystemPromptAdditions];\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t\treturn queued;\n\t}\n\n\tprivate async dequeueQueuedMessages<T>(): Promise<QueuedMessage<T>[]> {\n\t\treturn this.dequeueFollowUpMessages<T>();\n\t}\n\n\t/**\n\t * Sets the system prompt that provides context and instructions to the model.\n\t *\n\t * @param v - The system prompt text\n\t */\n\tsetSystemPrompt(v: string): void {\n\t\tthis._state.systemPrompt = v;\n\t}\n\n\t/**\n\t * Sets the active LLM model for this agent.\n\t *\n\t * @param m - The model configuration\n\t */\n\tsetModel(m: Model<Api>): void {\n\t\tthis._state.model = m;\n\t\tif (!m.reasoning && this._state.thinkingLevel !== \"off\") {\n\t\t\tthis._state.thinkingLevel = \"off\";\n\t\t}\n\t}\n\n\t/**\n\t * Sets the thinking/reasoning level for extended reasoning models.\n\t *\n\t * @param l - Thinking level: \"off\", \"minimal\", \"low\", \"medium\", \"high\", \"max\"\n\t */\n\tsetThinkingLevel(l: ThinkingLevel): void {\n\t\tthis._state.thinkingLevel = l;\n\t}\n\n\t/**\n\t * Controls how queued steering messages are drained between turns.\n\t * \"all\" (default) sends the full queue; \"one\" sends a single item per turn.\n\t */\n\tsetSteeringMode(mode: \"all\" | \"one\"): void {\n\t\tthis.steeringMode = mode;\n\t\tthis.queueMode = mode;\n\t\tthis._state.steeringMode = mode;\n\t\tthis._state.queueMode = mode;\n\t}\n\n\tgetSteeringMode(): \"all\" | \"one\" {\n\t\treturn this.steeringMode;\n\t}\n\n\t/**\n\t * Controls how queued follow-up messages are drained between turns.\n\t * \"all\" (default) sends the full queue; \"one\" sends a single item per turn.\n\t */\n\tsetFollowUpMode(mode: \"all\" | \"one\"): void {\n\t\tthis.followUpMode = mode;\n\t\tthis._state.followUpMode = mode;\n\t}\n\n\tgetFollowUpMode(): \"all\" | \"one\" {\n\t\treturn this.followUpMode;\n\t}\n\n\t/**\n\t * @deprecated Use setSteeringMode/setFollowUpMode instead.\n\t * Sets both steering + follow-up modes for compatibility.\n\t */\n\tsetQueueMode(mode: \"all\" | \"one\"): void {\n\t\tthis.queueMode = mode;\n\t\tthis._state.queueMode = mode;\n\t\tthis.setSteeringMode(mode);\n\t\tthis.setFollowUpMode(mode);\n\t}\n\n\t/**\n\t * Sets the available tools that the model can invoke.\n\t *\n\t * @param t - Array of tool definitions with schemas and execute functions\n\t */\n\tsetTools(t: AgentTool[]): void {\n\t\tthis._state.tools = t;\n\t}\n\n\t/**\n\t * Sets the active user for this agent.\n\t */\n\tsetUser(user: AgentState[\"user\"]): void {\n\t\tthis._state.user = user;\n\t}\n\n\t/**\n\t * Sets the active session for this agent.\n\t */\n\tsetSession(session: AgentState[\"session\"]): void {\n\t\tthis._state.session = session;\n\t}\n\n\t/**\n\t * Sets the sampling temperature for LLM generation.\n\t *\n\t * @param t - Temperature value (0.0-2.0, lower = more deterministic). Pass undefined to reset to default.\n\t */\n\tsetTemperature(t: number | undefined): void {\n\t\tthis._state.temperature = t;\n\t}\n\n\t/**\n\t * Sets the top-p sampling parameter for LLM generation.\n\t *\n\t * @param p - Top-p value (0.0-1.0). Pass undefined to reset to default.\n\t */\n\tsetTopP(p: number | undefined): void {\n\t\tthis._state.topP = p;\n\t}\n\n\tsetTaskBudgetTotal(total: number | undefined): void {\n\t\tthis.defaultTaskBudgetTotal = total;\n\t}\n\n\tgetTaskBudgetTotal(): number | undefined {\n\t\treturn this.defaultTaskBudgetTotal;\n\t}\n\n\tsetCurrentTaskBudget(\n\t\ttaskBudget:\n\t\t\t| {\n\t\t\t\t\ttotal: number;\n\t\t\t\t\tremaining?: number;\n\t\t\t }\n\t\t\t| undefined,\n\t): void {\n\t\tthis.currentTaskBudget = taskBudget ? { ...taskBudget } : undefined;\n\t}\n\n\tgetCurrentTaskBudget():\n\t\t| {\n\t\t\t\ttotal: number;\n\t\t\t\tremaining?: number;\n\t\t }\n\t\t| undefined {\n\t\treturn this.currentTaskBudget ? { ...this.currentTaskBudget } : undefined;\n\t}\n\n\t/**\n\t * Replaces the entire message history with a new set of messages.\n\t *\n\t * @param ms - New message array\n\t */\n\treplaceMessages(ms: AppMessage[]): void {\n\t\tthis._state.messages = ms.slice();\n\t}\n\n\t/**\n\t * Clear transient run state without touching message history or queued inputs.\n\t *\n\t * This is useful before starting a fresh run, or after operations like\n\t * compaction that rewrite history while the agent is otherwise idle.\n\t */\n\tclearTransientRunState(options?: {\n\t\tclearSessionContextCache?: boolean;\n\t}): void {\n\t\tthis._state.isStreaming = false;\n\t\tthis._state.streamMessage = null;\n\t\tthis._state.pendingToolCalls.clear();\n\t\tif (options?.clearSessionContextCache) {\n\t\t\tthis.contextManager.clearSessionCache();\n\t\t}\n\t\tthis.activeToolBatchIds = null;\n\t\tthis.completedToolBatch = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.queuedBatchShapingFeedbackKeys.clear();\n\t\tthis._state.error = undefined;\n\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tif (!this.suppressRecoverableOverflowErrors) {\n\t\t\tthis.withheldRecoverableLengthMessages = [];\n\t\t}\n\t\tthis._partialAccepted = null;\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t}\n\n\tsetRecoverableOverflowErrorSuppression(enabled: boolean): void {\n\t\tthis.suppressRecoverableOverflowErrors = enabled;\n\t\tif (!enabled) {\n\t\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\t\tthis.withheldRecoverableLengthMessages = [];\n\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t}\n\t}\n\n\tgetWithheldRecoverableOverflowError(): AssistantMessage | undefined {\n\t\treturn this.withheldRecoverableOverflowError;\n\t}\n\n\tflushWithheldRecoverableLengthMessage(): AssistantMessage | undefined {\n\t\tif (this.withheldRecoverableLengthMessages.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst merged = mergeAssistantMessages(\n\t\t\tthis.withheldRecoverableLengthMessages,\n\t\t);\n\t\tthis._state.messages = [\n\t\t\t...this._state.messages.slice(\n\t\t\t\t0,\n\t\t\t\t-this.withheldRecoverableLengthMessages.length,\n\t\t\t),\n\t\t\tmerged,\n\t\t];\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tthis.primeToolBatch(merged);\n\t\tthis.emit({ type: \"message_start\", message: merged });\n\t\tthis.emit({ type: \"message_end\", message: merged });\n\t\tthis.emit({ type: \"turn_end\", message: merged, toolResults: [] });\n\t\treturn merged;\n\t}\n\n\t/**\n\t * Appends a single message to the conversation history.\n\t *\n\t * @param m - Message to append\n\t */\n\tappendMessage(m: AppMessage): void {\n\t\tthis._state.messages = [...this._state.messages, m];\n\t}\n\n\t/**\n\t * Inject a message into the conversation history and emit a message_end event.\n\t */\n\tinjectMessage(m: AppMessage): void {\n\t\tthis._state.messages = [...this._state.messages, m];\n\t\tthis.emit({ type: \"message_end\", message: m });\n\t}\n\n\t/**\n\t * Emit a transient runtime status update without mutating conversation history.\n\t */\n\temitStatus(status: string, details: Record<string, unknown> = {}): void {\n\t\tconst normalized = status.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emit({ type: \"status\", status: normalized, details });\n\t}\n\n\t/**\n\t * Emit a transient runtime error without mutating conversation history.\n\t */\n\temitError(message: string): void {\n\t\tconst normalized = message.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.emit({ type: \"error\", message: normalized });\n\t}\n\n\tprivate shouldWithholdRecoverableOverflowError(\n\t\tmessage: AppMessage,\n\t): message is AssistantMessage {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\tisAssistantMessage(message) &&\n\t\t\tmessage.stopReason === \"error\" &&\n\t\t\tisAssistantContextOverflow(message, this._state.model.contextWindow)\n\t\t);\n\t}\n\n\tprivate shouldWithholdRecoverableMaxOutput(\n\t\tmessage: AssistantMessage,\n\t): boolean {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors && message.stopReason === \"length\"\n\t\t);\n\t}\n\n\tprivate shouldMergeRecoverableLengthContinuation(\n\t\tmessage: AssistantMessage,\n\t): boolean {\n\t\treturn (\n\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\tthis.withheldRecoverableLengthMessages.length > 0 &&\n\t\t\tmessage.stopReason !== \"length\" &&\n\t\t\tmessage.stopReason !== \"error\"\n\t\t);\n\t}\n\n\tprivate mergeWithWithheldRecoverableLengthMessages(\n\t\tincoming: AssistantMessage,\n\t): AssistantMessage {\n\t\tif (this.withheldRecoverableLengthMessages.length === 0) {\n\t\t\treturn incoming;\n\t\t}\n\n\t\tconst merged = mergeAssistantMessages([\n\t\t\t...this.withheldRecoverableLengthMessages,\n\t\t\tincoming,\n\t\t]);\n\t\tthis._state.messages = [\n\t\t\t...this._state.messages.slice(\n\t\t\t\t0,\n\t\t\t\t-this.withheldRecoverableLengthMessages.length,\n\t\t\t),\n\t\t\tmerged,\n\t\t];\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = merged;\n\t\treturn merged;\n\t}\n\n\t/**\n\t * Emit a compaction lifecycle event without mutating conversation history.\n\t */\n\temitCompaction(\n\t\tevent: Omit<Extract<AgentEvent, { type: \"compaction\" }>, \"type\">,\n\t): void {\n\t\tthis.emit({ type: \"compaction\", ...event });\n\t}\n\n\t/**\n\t * Queue a prompt-only message for the next run without persisting it to history.\n\t */\n\tqueueNextRunPromptOnlyMessage(message: Message): void {\n\t\tthis.nextRunPromptOnlyQueue.push(message);\n\t}\n\n\t/**\n\t * Queue a persisted history message for the next run.\n\t */\n\tqueueNextRunHistoryMessage(message: AppMessage): void {\n\t\tthis.nextRunHistoryQueue.push(message);\n\t}\n\n\t/**\n\t * Queue transient system guidance for the next run.\n\t */\n\tqueueNextRunSystemPromptAddition(text: string): void {\n\t\tconst normalized = text.trim();\n\t\tif (!normalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.nextRunSystemPromptAdditions.push(normalized);\n\t}\n\n\t/**\n\t * Clear queued one-shot prompt inputs that were prepared for the next run but\n\t * not yet consumed.\n\t */\n\tclearQueuedPromptInputs(): void {\n\t\tthis.nextRunHistoryQueue = [];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.queuedBatchShapingFeedbackKeys.clear();\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t}\n\n\t/**\n\t * Queues a steering message to interrupt the agent mid-run.\n\t *\n\t * Delivered after the current tool execution and skips remaining tools.\n\t *\n\t * @param m - Message to queue\n\t */\n\tasync steer(m: AppMessage): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"steer\", m);\n\t}\n\n\t/**\n\t * Queues a follow-up message to be processed after the agent finishes.\n\t *\n\t * @param m - Message to queue\n\t */\n\tasync followUp(m: AppMessage): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"followUp\", m);\n\t}\n\n\t/**\n\t * Re-inserts a follow-up at the front of the follow-up queue.\n\t */\n\tasync prependFollowUp(\n\t\tm: AppMessage,\n\t\toptions?: { id?: number; createdAt?: number },\n\t): Promise<void> {\n\t\tawait this.enqueueQueuedMessage(\"followUp\", m, {\n\t\t\tposition: \"front\",\n\t\t\tid: options?.id,\n\t\t\tcreatedAt: options?.createdAt,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated Use steer() or followUp() instead.\n\t * Defaults to follow-up semantics.\n\t */\n\tasync queueMessage(m: AppMessage): Promise<void> {\n\t\tawait this.followUp(m);\n\t}\n\n\tprivate async enqueueQueuedMessage(\n\t\tkind: \"steer\" | \"followUp\",\n\t\tmessage: AppMessage,\n\t\toptions?: {\n\t\t\tposition?: \"front\" | \"back\";\n\t\t\tid?: number;\n\t\t\tcreatedAt?: number;\n\t\t},\n\t): Promise<void> {\n\t\tconst transformed = await this.messageTransformer([message]);\n\t\tconst id = options?.id ?? this.nextQueuedMessageId++;\n\t\tif (id >= this.nextQueuedMessageId) {\n\t\t\tthis.nextQueuedMessageId = id + 1;\n\t\t}\n\t\tconst queued = {\n\t\t\tid,\n\t\t\tcreatedAt: options?.createdAt ?? Date.now(),\n\t\t\toriginal: message,\n\t\t\tllm: transformed[0],\n\t\t};\n\t\tconst position = options?.position ?? \"back\";\n\t\tif (kind === \"steer\") {\n\t\t\tif (position === \"front\") {\n\t\t\t\tthis.steeringQueue.unshift(queued);\n\t\t\t} else {\n\t\t\t\tthis.steeringQueue.push(queued);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (position === \"front\") {\n\t\t\tthis.followUpQueue.unshift(queued);\n\t\t} else {\n\t\t\tthis.followUpQueue.push(queued);\n\t\t}\n\t}\n\n\t/**\n\t * Clears all messages from the conversation history.\n\t */\n\tclearMessages(): void {\n\t\tthis._state.messages = [];\n\t}\n\n\t/**\n\t * Get the number of queued messages.\n\t */\n\tgetQueuedMessageCount(): number {\n\t\treturn this.steeringQueue.length + this.followUpQueue.length;\n\t}\n\n\tgetQueuedSteeringCount(): number {\n\t\treturn this.steeringQueue.length;\n\t}\n\n\tgetQueuedFollowUpCount(): number {\n\t\treturn this.followUpQueue.length;\n\t}\n\n\tgetQueuedMessagesSnapshot(): {\n\t\tsteering: ReadonlyArray<QueuedMessage<AppMessage>>;\n\t\tfollowUps: ReadonlyArray<QueuedMessage<AppMessage>>;\n\t} {\n\t\treturn {\n\t\t\tsteering: [...this.steeringQueue],\n\t\t\tfollowUps: [...this.followUpQueue],\n\t\t};\n\t}\n\n\tremoveQueuedMessage(id: number): QueuedMessage<AppMessage> | null {\n\t\tconst steeringIndex = this.steeringQueue.findIndex(\n\t\t\t(message) => message.id === id,\n\t\t);\n\t\tif (steeringIndex !== -1) {\n\t\t\treturn this.steeringQueue.splice(steeringIndex, 1)[0] ?? null;\n\t\t}\n\t\tconst followUpIndex = this.followUpQueue.findIndex(\n\t\t\t(message) => message.id === id,\n\t\t);\n\t\tif (followUpIndex !== -1) {\n\t\t\treturn this.followUpQueue.splice(followUpIndex, 1)[0] ?? null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tclearQueuedMessages(): Array<QueuedMessage<AppMessage>> {\n\t\tconst queued = [...this.steeringQueue, ...this.followUpQueue].sort(\n\t\t\t(a, b) => a.createdAt - b.createdAt || a.id - b.id,\n\t\t);\n\t\tthis.steeringQueue = [];\n\t\tthis.followUpQueue = [];\n\t\treturn queued;\n\t}\n\n\t/**\n\t * Aborts the current streaming request if one is in progress.\n\t */\n\tabort(): void {\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort();\n\t\t\tthis.abortController = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Aborts the current streaming request and saves any partial response.\n\t *\n\t * Unlike `abort()`, this method preserves the partial assistant message\n\t * that was being streamed, adding it to the message history. This allows\n\t * users to keep useful partial responses when interrupting long generations.\n\t *\n\t * @returns The partial message that was saved, or null if no partial was available\n\t *\n\t * @example\n\t * ```typescript\n\t * // User presses Ctrl+C during a long response\n\t * const partial = agent.abortAndKeepPartial();\n\t * if (partial) {\n\t * console.log(\"Saved partial response:\", partial.content);\n\t * }\n\t * ```\n\t */\n\tabortAndKeepPartial(): AppMessage | null {\n\t\tconst partialMessage = this._state.streamMessage;\n\n\t\t// Only save if we have an assistant message (not user message)\n\t\tif (\n\t\t\tpartialMessage &&\n\t\t\tpartialMessage.role === \"assistant\" &&\n\t\t\tthis.abortController\n\t\t) {\n\t\t\t// Mark as interrupted by setting stopReason\n\t\t\tconst savedMessage: AssistantMessage = {\n\t\t\t\t...partialMessage,\n\t\t\t\tstopReason: \"aborted\",\n\t\t\t};\n\n\t\t\t// Add to message history before aborting\n\t\t\tthis._state.messages = [...this._state.messages, savedMessage];\n\t\t\tthis._state.streamMessage = null;\n\t\t\tthis._partialAccepted = savedMessage;\n\n\t\t\tlogger.info(\"Saved partial message on interrupt\", {\n\t\t\t\tcontentLength: JSON.stringify(savedMessage.content).length,\n\t\t\t});\n\n\t\t\t// Now abort\n\t\t\tthis.abort();\n\n\t\t\treturn savedMessage;\n\t\t}\n\n\t\t// No partial to save, just abort\n\t\tthis.abort();\n\n\t\treturn null;\n\t}\n\n\t/** Tracks if a partial message was accepted during abort */\n\tprivate _partialAccepted: AppMessage | null = null;\n\n\t/**\n\t * Returns a promise that resolves when the current prompt completes.\n\t * Returns immediately resolved promise if no prompt is running.\n\t */\n\twaitForIdle(): Promise<void> {\n\t\treturn this.runningPrompt ?? Promise.resolve();\n\t}\n\n\t/**\n\t * Clear all messages and state. Call abort() first if a prompt is in flight.\n\t */\n\treset(): void {\n\t\tthis._state.messages = [];\n\t\tthis._state.isStreaming = false;\n\t\tthis._state.streamMessage = null;\n\t\tthis._state.pendingToolCalls.clear();\n\t\tthis.activeToolBatchIds = null;\n\t\tthis.completedToolBatch = [];\n\t\tthis.nextRunHistoryQueue = [];\n\t\tthis.nextRunPromptOnlyQueue = [];\n\t\tthis.promptOnlyQueue = [];\n\t\tthis.queuedBatchShapingFeedbackKeys.clear();\n\t\tthis.nextRunSystemPromptAdditions = [];\n\t\tthis._state.error = undefined;\n\t\tthis.steeringQueue = [];\n\t\tthis.followUpQueue = [];\n\t\tthis.abortController = undefined;\n\t\tthis.runningPrompt = undefined;\n\t\tthis.resolveRunningPrompt = undefined;\n\t\tthis.withheldRecoverableOverflowError = undefined;\n\t\tthis.withheldRecoverableLengthMessages = [];\n\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\tthis.currentTaskBudget = undefined;\n\t\tthis.diagnosticRepairAttempts.clear();\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t\t// Note: Do NOT clear listeners - they contain the TUI subscription\n\t\t// and must persist across resets for UI updates to work\n\t}\n\n\tprivate buildProviderMessages(\n\t\ttransformedMessages: Message[],\n\t\tcontinuationPrompt?: string,\n\t): Message[] {\n\t\tconst providerInputMessages = continuationPrompt\n\t\t\t? [\n\t\t\t\t\t...transformedMessages,\n\t\t\t\t\t{\n\t\t\t\t\t\trole: \"user\" as const,\n\t\t\t\t\t\tcontent: continuationPrompt,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t: transformedMessages;\n\t\treturn normalizeMessagesForProvider(\n\t\t\tproviderInputMessages,\n\t\t\tthis._state.model,\n\t\t);\n\t}\n\n\tprivate handleStreamedMessageEvent(\n\t\tevent: StreamedMessageEvent,\n\t\tstate: BufferedAssistantStartState,\n\t): BufferedAssistantStartState {\n\t\tlet { pendingAssistantStart, lastStopReason } = state;\n\n\t\tif (event.type === \"message_start\") {\n\t\t\tif (\n\t\t\t\tthis.suppressRecoverableOverflowErrors &&\n\t\t\t\tisAssistantMessage(event.message)\n\t\t\t) {\n\t\t\t\tpendingAssistantStart = event.message;\n\t\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t\t? event.message\n\t\t\t\t\t: null;\n\t\t\t\tif (\n\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t) ||\n\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)\n\t\t\t\t) {\n\t\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\t\tpendingAssistantStart = null;\n\t\t\t\t}\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t) ||\n\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t(this.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)))\n\t\t\t) {\n\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t? event.message\n\t\t\t\t: null;\n\t\t\tthis.emit(event);\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\n\t\tif (event.type === \"message_update\") {\n\t\t\tif (\n\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t) ||\n\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t(this.shouldWithholdRecoverableMaxOutput(event.message) ||\n\t\t\t\t\t\tthis.shouldMergeRecoverableLengthContinuation(event.message)))\n\t\t\t) {\n\t\t\t\tthis._state.streamMessage = null;\n\t\t\t\tpendingAssistantStart = null;\n\t\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t\t}\n\t\t\tif (pendingAssistantStart) {\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"message_start\",\n\t\t\t\t\tmessage: pendingAssistantStart,\n\t\t\t\t});\n\t\t\t\tpendingAssistantStart = null;\n\t\t\t}\n\t\t\tthis._state.streamMessage = isCoreMessage(event.message)\n\t\t\t\t? event.message\n\t\t\t\t: null;\n\t\t\tthis.emit(event);\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\n\t\tthis._state.streamMessage = null;\n\t\tlet incoming = event.message as AppMessage;\n\t\tif (this.shouldWithholdRecoverableOverflowError(incoming)) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tthis.withheldRecoverableOverflowError = incoming;\n\t\t\tlastStopReason = incoming.stopReason;\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (\n\t\t\tisAssistantMessage(incoming) &&\n\t\t\tthis.shouldWithholdRecoverableMaxOutput(incoming)\n\t\t) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tconst assistantIncoming = incoming;\n\t\t\tconst lastMessage = this._state.messages[this._state.messages.length - 1];\n\t\t\tif (!isDuplicateMessage(lastMessage, assistantIncoming)) {\n\t\t\t\tthis._state.messages = [...this._state.messages, assistantIncoming];\n\t\t\t\tthis.withheldRecoverableLengthMessages.push(assistantIncoming);\n\t\t\t}\n\t\t\tlastStopReason = \"length\";\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (\n\t\t\tisAssistantMessage(incoming) &&\n\t\t\tthis.shouldMergeRecoverableLengthContinuation(incoming)\n\t\t) {\n\t\t\tpendingAssistantStart = null;\n\t\t\tincoming = this.mergeWithWithheldRecoverableLengthMessages(incoming);\n\t\t\tlastStopReason = incoming.stopReason;\n\t\t\tthis.primeToolBatch(incoming);\n\t\t\tthis.emit({ type: \"message_start\", message: incoming });\n\t\t\tthis.emit({ ...event, message: incoming });\n\t\t\treturn { pendingAssistantStart, lastStopReason };\n\t\t}\n\t\tif (pendingAssistantStart && isAssistantMessage(incoming)) {\n\t\t\tthis.emit({\n\t\t\t\ttype: \"message_start\",\n\t\t\t\tmessage: pendingAssistantStart,\n\t\t\t});\n\t\t\tpendingAssistantStart = null;\n\t\t}\n\t\tconst lastMessage = this._state.messages[this._state.messages.length - 1];\n\t\tif (!isDuplicateMessage(lastMessage, incoming)) {\n\t\t\tthis._state.messages = [...this._state.messages, incoming];\n\t\t}\n\t\tif (\n\t\t\t\"stopReason\" in event.message &&\n\t\t\tevent.message.stopReason !== undefined\n\t\t) {\n\t\t\tlastStopReason = event.message.stopReason;\n\t\t}\n\t\tthis.primeToolBatch(incoming);\n\t\tthis.emit({ ...event, message: incoming });\n\t\treturn { pendingAssistantStart, lastStopReason };\n\t}\n\n\t/**\n\t * Sends a prompt to the model and processes the response, including tool calls.\n\t *\n\t * This is the main entry point for interacting with the agent. It handles:\n\t * - Building the user message with optional image/document attachments\n\t * - Streaming the model's response\n\t * - Executing any tool calls made by the model\n\t * - Automatic retries for tool execution\n\t *\n\t * @param input - The user's text prompt\n\t * @param attachments - Optional images or documents to include with the prompt\n\t *\n\t * @example\n\t * ```typescript\n\t * await agent.prompt(\"Read the package.json file\");\n\t *\n\t * // With image attachment\n\t * await agent.prompt(\"What's in this screenshot?\", [{\n\t * type: \"image\",\n\t * content: base64Data,\n\t * mimeType: \"image/png\"\n\t * }]);\n\t * ```\n\t */\n\tasync prompt(input: string, attachments?: Attachment[]): Promise<void> {\n\t\t// Prevent concurrent prompts\n\t\tif (this.runningPrompt) {\n\t\t\tthrow new Error(\n\t\t\t\t\"A prompt is already in progress. Wait for it to complete before starting another.\",\n\t\t\t);\n\t\t}\n\n\t\tconst queryProfiler = createQueryProfilerFromEnv();\n\t\tqueryProfiler.checkpoint(\"input:received\");\n\n\t\tthis.clearTransientRunState();\n\n\t\t// Set up running prompt tracking\n\t\tthis.runningPrompt = new Promise<void>((resolve) => {\n\t\t\tthis.resolveRunningPrompt = resolve;\n\t\t});\n\n\t\tfor (const queuedMessage of this.dequeueNextRunHistoryMessages()) {\n\t\t\tthis.injectMessage(queuedMessage);\n\t\t}\n\n\t\tconst userMessage: UserMessageWithAttachments = {\n\t\t\trole: \"user\",\n\t\t\tcontent: input,\n\t\t\tattachments: attachments?.length ? attachments : undefined,\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tthis._state.messages = [...this._state.messages, userMessage];\n\t\tthis._state.isStreaming = true;\n\n\t\tconst abortController = new AbortController();\n\t\tthis.abortController = abortController;\n\n\t\tthis.emit({ type: \"agent_start\" });\n\n\t\tlet aborted = false;\n\t\tlet lastStopReason: StopReason | undefined;\n\t\tlet pendingAssistantStart: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tconst transformedMessages = await this.messageTransformer(\n\t\t\t\tthis._state.messages,\n\t\t\t);\n\t\t\tconst messagesToSend = this.buildProviderMessages(transformedMessages);\n\t\t\tqueryProfiler.checkpoint(\"context:loaded\", {\n\t\t\t\tmessages: messagesToSend.length,\n\t\t\t});\n\n\t\t\t// Determine reasoning level\n\t\t\tconst level = this._state.thinkingLevel;\n\t\t\tconst reasoning = this._state.model.reasoning\n\t\t\t\t? mapThinkingLevel(level)\n\t\t\t\t: undefined;\n\n\t\t\t// Inject Context from Environment (Terrarium Principle)\n\t\t\tlet systemPrompt = this._state.systemPrompt;\n\t\t\tconst nextRunSystemPromptAdditions =\n\t\t\t\tthis.dequeueNextRunSystemPromptAdditions();\n\t\t\tif (nextRunSystemPromptAdditions.length > 0) {\n\t\t\t\tsystemPrompt = `${systemPrompt}\\n\\n${nextRunSystemPromptAdditions.join(\"\\n\\n\")}`;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst contextAdditions =\n\t\t\t\t\tawait this.contextManager.getCombinedSystemPrompt();\n\t\t\t\tif (contextAdditions) {\n\t\t\t\t\tsystemPrompt += `\\n\\n${contextAdditions}`;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to inject environmental context\", {\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t\tqueryProfiler.checkpoint(\"prompt:assembled\", {\n\t\t\t\tsystem_bytes: systemPrompt.length,\n\t\t\t});\n\n\t\t\tconst runConfig = {\n\t\t\t\tsystemPrompt,\n\t\t\t\ttools: this._state.tools,\n\t\t\t\tmodel: this._state.model,\n\t\t\t\treasoning,\n\t\t\t\treasoningSummary: this._state.reasoningSummary,\n\t\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t\t\tgetSteeringMessages: async <T>() => this.dequeueSteeringMessages<T>(),\n\t\t\t\tgetFollowUpMessages: async <T>() => this.dequeueFollowUpMessages<T>(),\n\t\t\t\tgetPromptOnlyMessages: async () => this.dequeuePromptOnlyMessages(),\n\t\t\t\tuser: this._state.user,\n\t\t\t\tsession: this._state.session,\n\t\t\t\tsandbox: this._state.sandbox,\n\t\t\t\ttemperature: this._state.temperature,\n\t\t\t\ttopP: this._state.topP,\n\t\t\t\ttaskBudget: this.currentTaskBudget,\n\t\t\t\tqueryProfiler,\n\t\t\t};\n\t\t\tqueryProfiler.checkpoint(\"tools:prepared\", {\n\t\t\t\ttools: this._state.tools.length,\n\t\t\t});\n\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tmessagesToSend, // Include userMessage in messages array\n\t\t\t\tuserMessage,\n\t\t\t\trunConfig,\n\t\t\t\tabortController.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_start\" ||\n\t\t\t\t\tevent.type === \"message_update\" ||\n\t\t\t\t\tevent.type === \"message_end\"\n\t\t\t\t) {\n\t\t\t\t\t({ pendingAssistantStart, lastStopReason } =\n\t\t\t\t\t\tthis.handleStreamedMessageEvent(event, {\n\t\t\t\t\t\t\tpendingAssistantStart,\n\t\t\t\t\t\t\tlastStopReason,\n\t\t\t\t\t\t}));\n\t\t\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\t\t\tthis.handleToolExecutionStart(event);\n\t\t\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\t\t\tthis.handleToolExecutionUpdate(event);\n\t\t\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\t\t\tthis.handleToolExecutionEnd(event);\n\t\t\t\t} else if (event.type === \"tool_phase_summary\") {\n\t\t\t\t\tthis.handleToolPhaseSummary(event);\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else if (event.type === \"turn_end\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message))\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.pendingMergedRecoverableTurnEnd) {\n\t\t\t\t\t\tthis.emit({\n\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\tmessage: this.pendingMergedRecoverableTurnEnd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\taborted = true;\n\t\t\t\tqueryProfiler.terminal(\"turn:aborted\");\n\t\t\t} else {\n\t\t\t\tthis._state.error =\n\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\tqueryProfiler.terminal(\"turn:error\");\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._state.isStreaming = false;\n\t\t\tif (this.abortController === abortController) {\n\t\t\t\tthis.abortController = undefined;\n\t\t\t}\n\t\t\t// Clean up running prompt tracking\n\t\t\tthis.resolveRunningPrompt?.();\n\t\t\tthis.runningPrompt = undefined;\n\t\t\tthis.resolveRunningPrompt = undefined;\n\t\t\tif (this._state.pendingToolCalls.size > 0) {\n\t\t\t\tconst reason = aborted\n\t\t\t\t\t? \"Error: Operation aborted\"\n\t\t\t\t\t: \"Error: Tool execution did not complete\";\n\t\t\t\tthis.resolvePendingToolCalls(reason);\n\t\t\t}\n\n\t\t\tconst partialAccepted = this._partialAccepted;\n\t\t\tthis._partialAccepted = null;\n\t\t\tthis.publishCurrentTurnSkillOutcomes({\n\t\t\t\taborted,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"agent_end\",\n\t\t\t\tmessages: this._state.messages,\n\t\t\t\taborted,\n\t\t\t\tpartialAccepted: partialAccepted ?? undefined,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Continue the agent conversation from existing messages without adding a new user message.\n\t * Useful for overflow recovery after compaction, or resuming a partial response.\n\t *\n\t * @param options - Optional configuration for continuation\n\t */\n\tasync continue(options?: {\n\t\t/** Override the system prompt for this continuation */\n\t\tsystemPromptOverride?: string;\n\t\t/** Override max output tokens for this continuation only. */\n\t\tmaxTokensOverride?: number;\n\t\t/**\n\t\t * Provider-only user instruction appended for this continuation.\n\t\t * Not persisted to session history or shown in the UI.\n\t\t */\n\t\tcontinuationPrompt?: string;\n\t}): Promise<void> {\n\t\t// Prevent concurrent prompts\n\t\tif (this.runningPrompt) {\n\t\t\tthrow new Error(\n\t\t\t\t\"A prompt is already in progress. Wait for it to complete before starting another.\",\n\t\t\t);\n\t\t}\n\n\t\t// Check we have messages to continue from\n\t\tif (this._state.messages.length === 0) {\n\t\t\tthrow new Error(\"No messages to continue from\");\n\t\t}\n\n\t\tconst queryProfiler = createQueryProfilerFromEnv();\n\t\tqueryProfiler.checkpoint(\"input:received\", { continuation: true });\n\n\t\tthis.clearTransientRunState();\n\n\t\t// Set up running prompt tracking\n\t\tthis.runningPrompt = new Promise<void>((resolve) => {\n\t\t\tthis.resolveRunningPrompt = resolve;\n\t\t});\n\n\t\tfor (const queuedMessage of this.dequeueNextRunHistoryMessages()) {\n\t\t\tthis.injectMessage(queuedMessage);\n\t\t}\n\n\t\tthis._state.isStreaming = true;\n\n\t\tconst abortController = new AbortController();\n\t\tthis.abortController = abortController;\n\n\t\tthis.emit({ type: \"agent_start\", continuation: true });\n\n\t\tlet aborted = false;\n\t\tlet lastStopReason: StopReason | undefined;\n\t\tlet pendingAssistantStart: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tconst transformedMessages = await this.messageTransformer(\n\t\t\t\tthis._state.messages,\n\t\t\t);\n\t\t\tconst continuationPrompt = options?.continuationPrompt?.trim();\n\t\t\tconst providerMessages = this.buildProviderMessages(\n\t\t\t\ttransformedMessages,\n\t\t\t\tcontinuationPrompt,\n\t\t\t);\n\t\t\tqueryProfiler.checkpoint(\"context:loaded\", {\n\t\t\t\tmessages: providerMessages.length,\n\t\t\t});\n\n\t\t\t// Determine reasoning level\n\t\t\tconst level = this._state.thinkingLevel;\n\t\t\tconst reasoning = this._state.model.reasoning\n\t\t\t\t? mapThinkingLevel(level)\n\t\t\t\t: undefined;\n\n\t\t\t// Inject Context from Environment\n\t\t\tlet systemPrompt =\n\t\t\t\toptions?.systemPromptOverride ?? this._state.systemPrompt;\n\t\t\tconst nextRunSystemPromptAdditions =\n\t\t\t\tthis.dequeueNextRunSystemPromptAdditions();\n\t\t\tif (nextRunSystemPromptAdditions.length > 0) {\n\t\t\t\tsystemPrompt = `${systemPrompt}\\n\\n${nextRunSystemPromptAdditions.join(\"\\n\\n\")}`;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst contextAdditions =\n\t\t\t\t\tawait this.contextManager.getCombinedSystemPrompt();\n\t\t\t\tif (contextAdditions) {\n\t\t\t\t\tsystemPrompt += `\\n\\n${contextAdditions}`;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to inject environmental context\", {\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t});\n\t\t\t}\n\t\t\tqueryProfiler.checkpoint(\"prompt:assembled\", {\n\t\t\t\tsystem_bytes: systemPrompt.length,\n\t\t\t});\n\n\t\t\t// Create a synthetic continuation trigger message\n\t\t\t// This signals to the transport that we want the model to continue responding\n\t\t\tconst continuationMessage: UserMessage = {\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: [],\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\n\t\t\tconst runConfig = {\n\t\t\t\tsystemPrompt,\n\t\t\t\ttools: this._state.tools,\n\t\t\t\tmodel:\n\t\t\t\t\toptions?.maxTokensOverride !== undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...this._state.model,\n\t\t\t\t\t\t\t\tmaxTokens: options.maxTokensOverride,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: this._state.model,\n\t\t\t\treasoning,\n\t\t\t\treasoningSummary: this._state.reasoningSummary,\n\t\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t\t\tgetSteeringMessages: async <T>() => this.dequeueSteeringMessages<T>(),\n\t\t\t\tgetFollowUpMessages: async <T>() => this.dequeueFollowUpMessages<T>(),\n\t\t\t\tgetPromptOnlyMessages: async () => this.dequeuePromptOnlyMessages(),\n\t\t\t\tuser: this._state.user,\n\t\t\t\tsession: this._state.session,\n\t\t\t\tsandbox: this._state.sandbox,\n\t\t\t\ttemperature: this._state.temperature,\n\t\t\t\ttopP: this._state.topP,\n\t\t\t\ttaskBudget: this.currentTaskBudget,\n\t\t\t\temitUserMessageEnd: false,\n\t\t\t\tqueryProfiler,\n\t\t\t};\n\t\t\tqueryProfiler.checkpoint(\"tools:prepared\", {\n\t\t\t\ttools: this._state.tools.length,\n\t\t\t});\n\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tproviderMessages,\n\t\t\t\tcontinuationMessage,\n\t\t\t\trunConfig,\n\t\t\t\tabortController.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_start\" ||\n\t\t\t\t\tevent.type === \"message_update\" ||\n\t\t\t\t\tevent.type === \"message_end\"\n\t\t\t\t) {\n\t\t\t\t\t({ pendingAssistantStart, lastStopReason } =\n\t\t\t\t\t\tthis.handleStreamedMessageEvent(event, {\n\t\t\t\t\t\t\tpendingAssistantStart,\n\t\t\t\t\t\t\tlastStopReason,\n\t\t\t\t\t\t}));\n\t\t\t\t} else if (event.type === \"tool_execution_start\") {\n\t\t\t\t\tthis.handleToolExecutionStart(event);\n\t\t\t\t} else if (event.type === \"tool_execution_update\") {\n\t\t\t\t\tthis.handleToolExecutionUpdate(event);\n\t\t\t\t} else if (event.type === \"tool_execution_end\") {\n\t\t\t\t\tthis.handleToolExecutionEnd(event);\n\t\t\t\t} else if (event.type === \"tool_phase_summary\") {\n\t\t\t\t\tthis.handleToolPhaseSummary(event);\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else if (event.type === \"turn_end\") {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.shouldWithholdRecoverableOverflowError(\n\t\t\t\t\t\t\tevent.message as AppMessage,\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(isAssistantMessage(event.message) &&\n\t\t\t\t\t\t\tthis.shouldWithholdRecoverableMaxOutput(event.message))\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.pendingMergedRecoverableTurnEnd) {\n\t\t\t\t\t\tthis.emit({\n\t\t\t\t\t\t\t...event,\n\t\t\t\t\t\t\tmessage: this.pendingMergedRecoverableTurnEnd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.pendingMergedRecoverableTurnEnd = undefined;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.emit(event);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tif (error instanceof Error && error.name === \"AbortError\") {\n\t\t\t\taborted = true;\n\t\t\t\tqueryProfiler.terminal(\"turn:aborted\");\n\t\t\t} else {\n\t\t\t\tthis._state.error =\n\t\t\t\t\terror instanceof Error ? error.message : String(error);\n\t\t\t\tqueryProfiler.terminal(\"turn:error\");\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._state.isStreaming = false;\n\t\t\tif (this.abortController === abortController) {\n\t\t\t\tthis.abortController = undefined;\n\t\t\t}\n\t\t\t// Clean up running prompt tracking\n\t\t\tthis.resolveRunningPrompt?.();\n\t\t\tthis.runningPrompt = undefined;\n\t\t\tthis.resolveRunningPrompt = undefined;\n\t\t\tif (this._state.pendingToolCalls.size > 0) {\n\t\t\t\tconst reason = aborted\n\t\t\t\t\t? \"Error: Operation aborted\"\n\t\t\t\t\t: \"Error: Tool execution did not complete\";\n\t\t\t\tthis.resolvePendingToolCalls(reason);\n\t\t\t}\n\n\t\t\tconst partialAccepted = this._partialAccepted;\n\t\t\tthis._partialAccepted = null;\n\t\t\tthis.publishCurrentTurnSkillOutcomes({\n\t\t\t\taborted,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"agent_end\",\n\t\t\t\tmessages: this._state.messages,\n\t\t\t\taborted,\n\t\t\t\tpartialAccepted: partialAccepted ?? undefined,\n\t\t\t\tstopReason: lastStopReason,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate handleToolExecutionStart(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_start\" }>,\n\t): void {\n\t\tconst tool = this._state.tools.find(\n\t\t\t(candidate) => candidate.name === event.toolName,\n\t\t);\n\t\tconst displayName = describeToolDisplayName(\n\t\t\tevent.toolName,\n\t\t\tevent.args,\n\t\t\ttool,\n\t\t);\n\t\tconst summaryLabel = summarizeToolUse(event.toolName, event.args, tool);\n\t\tthis._state.pendingToolCalls.set(event.toolCallId, {\n\t\t\ttoolName: event.toolName,\n\t\t\targs: event.args,\n\t\t\ttool,\n\t\t\tdisplayName,\n\t\t\tsummaryLabel,\n\t\t});\n\t\trecordMaestroToolCallAttempt({\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\ttool_name: event.toolName,\n\t\t\tsafe_arguments: event.args,\n\t\t\tcorrelation: {\n\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t},\n\t\t});\n\t\tthis.emitStatus(describeToolActivity(event.toolName, event.args, tool), {\n\t\t\tkind: \"tool_execution_summary\",\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\tdisplayName,\n\t\t\tsummaryLabel,\n\t\t});\n\t\tthis.emit({ ...event, displayName, summaryLabel });\n\t}\n\n\tprivate preserveSpecificPendingToolLabel(\n\t\tnextLabel: string,\n\t\tpendingLabel: string | undefined,\n\t\tgenericLabel: string,\n\t): string {\n\t\tif (\n\t\t\t!pendingLabel ||\n\t\t\tpendingLabel === genericLabel ||\n\t\t\tnextLabel !== genericLabel\n\t\t) {\n\t\t\treturn nextLabel;\n\t\t}\n\t\treturn pendingLabel;\n\t}\n\n\tprivate handleToolExecutionUpdate(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_update\" }>,\n\t): void {\n\t\tconst pending = this._state.pendingToolCalls.get(event.toolCallId);\n\t\tconst tool = pending?.tool;\n\t\tconst nextDisplayName = describeToolDisplayName(\n\t\t\tevent.toolName,\n\t\t\tevent.args,\n\t\t\ttool,\n\t\t);\n\t\tconst nextSummaryLabel = summarizeToolUse(event.toolName, event.args, tool);\n\t\tconst displayName = this.preserveSpecificPendingToolLabel(\n\t\t\tnextDisplayName,\n\t\t\tpending?.displayName,\n\t\t\tdescribeToolDisplayName(event.toolName, {}, tool),\n\t\t);\n\t\tconst summaryLabel = this.preserveSpecificPendingToolLabel(\n\t\t\tnextSummaryLabel,\n\t\t\tpending?.summaryLabel,\n\t\t\tsummarizeToolUse(event.toolName, {}, tool),\n\t\t);\n\t\tif (pending) {\n\t\t\tpending.args = event.args;\n\t\t\tpending.displayName = displayName;\n\t\t\tpending.summaryLabel = summaryLabel;\n\t\t}\n\t\tthis.emit({ ...event, displayName, summaryLabel });\n\t}\n\n\tprivate handleToolExecutionEnd(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst pending = this._state.pendingToolCalls.get(event.toolCallId);\n\t\tthis._state.pendingToolCalls.delete(event.toolCallId);\n\t\tthis.emit({\n\t\t\t...event,\n\t\t\tdisplayName: pending?.displayName,\n\t\t\tsummaryLabel: pending?.summaryLabel,\n\t\t});\n\t\trecordMaestroToolCallCompleted({\n\t\t\ttool_call_id: event.toolCallId,\n\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\tstatus: event.isError\n\t\t\t\t? \"MAESTRO_TOOL_CALL_STATUS_FAILED\"\n\t\t\t\t: \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\",\n\t\t\tskill_metadata: event.skillMetadata,\n\t\t\tapproval_request_id: event.approvalRequestId,\n\t\t\tgoverned_outcome: event.governedOutcome,\n\t\t\terror_code: event.errorCode,\n\t\t\terror_message: event.isError\n\t\t\t\t? event.result.content\n\t\t\t\t\t\t.map((part) => (part.type === \"text\" ? part.text : \"\"))\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(\"\\n\")\n\t\t\t\t: undefined,\n\t\t\tcorrelation: {\n\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t},\n\t\t});\n\t\tif (event.skillMetadata) {\n\t\t\tthis.recordCurrentTurnSkillSelection({\n\t\t\t\tskillMetadata: event.skillMetadata,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\ttoolExecutionId: event.toolExecutionId,\n\t\t\t});\n\t\t\tif (event.toolName === \"Skill\") {\n\t\t\t\trecordMaestroSkillInvoked({\n\t\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\t\tskill_metadata: event.skillMetadata,\n\t\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\t\t\tcorrelation: {\n\t\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t\t\t},\n\t\t\t\t\tinvoked_at: new Date(event.result.timestamp).toISOString(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.publishCurrentTurnEvalScores(event);\n\t\tthis.handleDiagnosticDeltaToolResult(event);\n\t\tif (!pending) {\n\t\t\treturn;\n\t\t}\n\t\tthis.completedToolBatch.push({\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\targs: pending.args ?? {},\n\t\t\tisError: event.isError,\n\t\t\ttool: pending.tool,\n\t\t});\n\t\tif (this.activeToolBatchIds?.delete(event.toolCallId)) {\n\t\t\tif (this.activeToolBatchIds.size > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.activeToolBatchIds = null;\n\t\t\tthis.emitToolBatchSummary();\n\t\t}\n\t}\n\n\tprivate buildSkillSelectionKey(skillMetadata: SkillArtifactMetadata): string {\n\t\treturn [\n\t\t\tskillMetadata.artifactId,\n\t\t\tskillMetadata.source,\n\t\t\tskillMetadata.name,\n\t\t\tskillMetadata.version,\n\t\t\tskillMetadata.hash,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\":\");\n\t}\n\n\tprivate recordCurrentTurnSkillSelection(selection: {\n\t\tskillMetadata: SkillArtifactMetadata;\n\t\ttoolCallId: string;\n\t\ttoolExecutionId?: string;\n\t}): void {\n\t\tconst key = this.buildSkillSelectionKey(selection.skillMetadata);\n\t\tif (!key) {\n\t\t\treturn;\n\t\t}\n\t\tconst existing = this.currentTurnSkillSelections.get(key);\n\t\tthis.currentTurnSkillSelections.set(key, {\n\t\t\t...existing,\n\t\t\t...selection,\n\t\t\tevaluationFailure: existing?.evaluationFailure,\n\t\t});\n\t}\n\n\tprivate getCurrentTurnSkillSelectionForEvaluation(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): CurrentTurnSkillSelection | undefined {\n\t\tif (event.skillMetadata) {\n\t\t\treturn this.currentTurnSkillSelections.get(\n\t\t\t\tthis.buildSkillSelectionKey(event.skillMetadata),\n\t\t\t);\n\t\t}\n\t\tif (this.currentTurnSkillSelections.size === 1) {\n\t\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\t\treturn selection;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate publishCurrentTurnEvalScores(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst evaluation = getToolEvaluationSummary(event.result.details);\n\t\tif (!evaluation || this.currentTurnSkillSelections.size === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scoredAt = new Date(event.result.timestamp).toISOString();\n\t\tconst failedEvaluation = isFailedToolEvaluation(evaluation)\n\t\t\t? {\n\t\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\t\ttoolExecutionId: event.toolExecutionId,\n\t\t\t\t\ttoolName: event.toolName,\n\t\t\t\t\tscore: evaluation.score,\n\t\t\t\t\tthreshold: evaluation.threshold,\n\t\t\t\t\trationale: evaluation.rationale,\n\t\t\t\t\tassertionCount: evaluation.assertionCount,\n\t\t\t\t}\n\t\t\t: undefined;\n\t\tconst evaluationTarget = failedEvaluation\n\t\t\t? this.getCurrentTurnSkillSelectionForEvaluation(event)\n\t\t\t: undefined;\n\t\tif (failedEvaluation) {\n\t\t\tthis.currentTurnEvaluationFailure = failedEvaluation;\n\t\t}\n\t\tif (failedEvaluation && evaluationTarget) {\n\t\t\tevaluationTarget.evaluationFailure = failedEvaluation;\n\t\t}\n\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\trecordMaestroEvalScored({\n\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\tskill_metadata: selection.skillMetadata,\n\t\t\t\ttool_call_id: event.toolCallId,\n\t\t\t\ttool_execution_id: event.toolExecutionId,\n\t\t\t\ttool_name: event.toolName,\n\t\t\t\tscore: evaluation.score,\n\t\t\t\tthreshold: evaluation.threshold,\n\t\t\t\tpassed: evaluation.passed,\n\t\t\t\trationale: evaluation.rationale,\n\t\t\t\tassertion_count: evaluation.assertionCount,\n\t\t\t\tcorrelation: {\n\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t\tagent_run_step_id: event.toolCallId,\n\t\t\t\t},\n\t\t\t\tscored_at: scoredAt,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate publishCurrentTurnSkillOutcomes(options: {\n\t\taborted: boolean;\n\t\tstopReason?: StopReason;\n\t}): void {\n\t\tif (this.currentTurnSkillSelections.size === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst baseTurnStatus = options.aborted\n\t\t\t? \"aborted\"\n\t\t\t: this._state.error !== undefined\n\t\t\t\t? \"error\"\n\t\t\t\t: undefined;\n\n\t\tfor (const selection of this.currentTurnSkillSelections.values()) {\n\t\t\tconst evaluationFailure = selection.evaluationFailure;\n\t\t\tconst turnStatus =\n\t\t\t\tbaseTurnStatus ??\n\t\t\t\t(evaluationFailure || this.currentTurnEvaluationFailure\n\t\t\t\t\t? \"evaluation_failed\"\n\t\t\t\t\t: \"success\");\n\t\t\tconst outcomeEvaluationFailure =\n\t\t\t\tevaluationFailure ?? this.currentTurnEvaluationFailure;\n\t\t\tconst errorMessage =\n\t\t\t\tturnStatus === \"aborted\"\n\t\t\t\t\t? \"Operation aborted\"\n\t\t\t\t\t: turnStatus === \"error\"\n\t\t\t\t\t\t? this._state.error\n\t\t\t\t\t\t: turnStatus === \"evaluation_failed\" && outcomeEvaluationFailure\n\t\t\t\t\t\t\t? buildEvaluationFailureMessage(outcomeEvaluationFailure)\n\t\t\t\t\t\t\t: undefined;\n\t\t\trecordMaestroSkillOutcome({\n\t\t\t\tprompt_metadata: this._state.promptMetadata,\n\t\t\t\tskill_metadata: selection.skillMetadata,\n\t\t\t\ttool_call_id: selection.toolCallId,\n\t\t\t\ttool_execution_id: selection.toolExecutionId,\n\t\t\t\tturn_status: turnStatus,\n\t\t\t\terror_category:\n\t\t\t\t\tturnStatus === \"success\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: turnStatus === \"evaluation_failed\"\n\t\t\t\t\t\t\t? \"evaluation\"\n\t\t\t\t\t\t\t: \"runtime\",\n\t\t\t\terror_message: errorMessage,\n\t\t\t\tevaluation_tool_name: evaluationFailure?.toolName,\n\t\t\t\tevaluation_tool_call_id: evaluationFailure?.toolCallId,\n\t\t\t\tevaluation_tool_execution_id: evaluationFailure?.toolExecutionId,\n\t\t\t\tevaluation_score: evaluationFailure?.score,\n\t\t\t\tevaluation_threshold: evaluationFailure?.threshold,\n\t\t\t\tevaluation_assertion_count: evaluationFailure?.assertionCount,\n\t\t\t\tevaluation_rationale: evaluationFailure?.rationale,\n\t\t\t\tstop_reason: options.stopReason,\n\t\t\t\tcorrelation: {\n\t\t\t\t\tsession_id: this._state.session?.id,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthis.currentTurnEvaluationFailure = undefined;\n\t\tthis.currentTurnSkillSelections.clear();\n\t}\n\n\tprivate handleDiagnosticDeltaToolResult(\n\t\tevent: Extract<AgentEvent, { type: \"tool_execution_end\" }>,\n\t): void {\n\t\tconst summary = getDiagnosticDeltaFromToolResult(event.result);\n\t\tif (!summary) {\n\t\t\treturn;\n\t\t}\n\t\tif (summary.introducedCount === 0 && summary.repairedCount === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst repairKey = [event.toolName, summary.file, summary.fingerprint].join(\n\t\t\t\":\",\n\t\t);\n\t\tconst nextAttempt = (this.diagnosticRepairAttempts.get(repairKey) ?? 0) + 1;\n\t\tconst hasPendingUserInput =\n\t\t\tthis.steeringQueue.length > 0 || this.followUpQueue.length > 0;\n\t\tconst hasOptOut = hasDiagnosticRepairOptOut(this._state.messages);\n\t\tconst canAutoFollowUp =\n\t\t\t!event.isError &&\n\t\t\tsummary.repair.shouldFollowUp &&\n\t\t\t!hasPendingUserInput &&\n\t\t\t!hasOptOut &&\n\t\t\tnextAttempt <= summary.repair.maxAttempts;\n\n\t\tconst reason = !summary.repair.shouldFollowUp\n\t\t\t? summary.repair.reason\n\t\t\t: event.isError\n\t\t\t\t? \"Tool call failed; leaving diagnostics in the tool result.\"\n\t\t\t\t: hasPendingUserInput\n\t\t\t\t\t? \"Queued user input exists; not adding an automatic diagnostic repair turn.\"\n\t\t\t\t\t: hasOptOut\n\t\t\t\t\t\t? \"User asked Maestro not to continue or repair automatically.\"\n\t\t\t\t\t\t: nextAttempt > summary.repair.maxAttempts\n\t\t\t\t\t\t\t? \"Automatic diagnostic repair attempt limit reached.\"\n\t\t\t\t\t\t\t: \"Queued a bounded diagnostic repair follow-up.\";\n\n\t\tif (summary.repair.shouldFollowUp) {\n\t\t\tthis.diagnosticRepairAttempts.set(repairKey, nextAttempt);\n\t\t}\n\n\t\tthis.emit({\n\t\t\ttype: \"diagnostic_delta\",\n\t\t\ttoolCallId: event.toolCallId,\n\t\t\ttoolName: event.toolName,\n\t\t\tfile: summary.file,\n\t\t\tdisplayPath: summary.displayPath,\n\t\t\tusedDelta: summary.usedDelta,\n\t\t\tintroducedCount: summary.introducedCount,\n\t\t\trepairedCount: summary.repairedCount,\n\t\t\tremainingCount: summary.remainingCount,\n\t\t\tfingerprint: summary.fingerprint,\n\t\t\trepairAttempt: summary.repair.shouldFollowUp ? nextAttempt : undefined,\n\t\t\tmaxRepairAttempts: summary.repair.shouldFollowUp\n\t\t\t\t? summary.repair.maxAttempts\n\t\t\t\t: undefined,\n\t\t\twillAutoFollowUp: canAutoFollowUp,\n\t\t\treason,\n\t\t});\n\n\t\tif (!canAutoFollowUp) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.enqueueFollowUpMessageSync(\n\t\t\tbuildDiagnosticRepairFollowUpMessage({\n\t\t\t\tsummary,\n\t\t\t\ttoolName: event.toolName,\n\t\t\t\ttoolCallId: event.toolCallId,\n\t\t\t\tattempt: nextAttempt,\n\t\t\t}),\n\t\t\t\"front\",\n\t\t);\n\t}\n\n\tprivate enqueueFollowUpMessageSync(\n\t\tmessage: AppMessage,\n\t\tposition: \"front\" | \"back\" = \"back\",\n\t): void {\n\t\tconst queued: QueuedMessage<AppMessage> = {\n\t\t\tid: this.nextQueuedMessageId++,\n\t\t\tcreatedAt: Date.now(),\n\t\t\toriginal: message,\n\t\t\tllm: message as Message,\n\t\t};\n\t\tif (position === \"front\") {\n\t\t\tthis.followUpQueue.unshift(queued);\n\t\t\treturn;\n\t\t}\n\t\tthis.followUpQueue.push(queued);\n\t}\n\n\tprivate primeToolBatch(message: AppMessage): void {\n\t\tif (message.role !== \"assistant\" || message.stopReason !== \"toolUse\") {\n\t\t\treturn;\n\t\t}\n\t\tconst toolCallIds = message.content.flatMap((block) =>\n\t\t\tblock.type === \"toolCall\" ? [block.id] : [],\n\t\t);\n\t\tif (toolCallIds.length === 0) {\n\t\t\tthis.activeToolBatchIds = null;\n\t\t\tthis.completedToolBatch = [];\n\t\t\treturn;\n\t\t}\n\t\tthis.activeToolBatchIds = new Set(toolCallIds);\n\t\tthis.completedToolBatch = [];\n\t}\n\n\tprivate emitToolBatchSummary(): void {\n\t\tif (this.completedToolBatch.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst batch = this.completedToolBatch;\n\t\tthis.completedToolBatch = [];\n\t\tconst { summary, summaryLabels, callsSucceeded, callsFailed } =\n\t\t\tsummarizeToolBatch(batch);\n\t\tthis.emit({\n\t\t\ttype: \"tool_batch_summary\",\n\t\t\tsummary,\n\t\t\tsummaryLabels,\n\t\t\ttoolCallIds: batch.map((entry) => entry.toolCallId),\n\t\t\ttoolNames: batch.map((entry) => entry.toolName),\n\t\t\tcallsSucceeded,\n\t\t\tcallsFailed,\n\t\t});\n\t\tif (summaryLabels.length > 0) {\n\t\t\tthis.promptOnlyQueue.push(\n\t\t\t\tbuildPromptOnlyToolBatchSummaryMessage(summaryLabels),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate handleToolPhaseSummary(\n\t\tevent: Extract<AgentEvent, { type: \"tool_phase_summary\" }>,\n\t): void {\n\t\tconst feedback = event.batchShapingFeedback;\n\t\tif (feedback?.avoidableSingleton) {\n\t\t\tconst key = feedback.reason || \"avoidable_singleton\";\n\t\t\tif (this.queuedBatchShapingFeedbackKeys.has(key)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.queuedBatchShapingFeedbackKeys.add(key);\n\t\t\tthis.promptOnlyQueue.push(buildPromptOnlyBatchShapingFeedbackMessage());\n\t\t}\n\t}\n\n\tprivate resolvePendingToolCalls(reason: string): void {\n\t\tfor (const [toolCallId, info] of this._state.pendingToolCalls.entries()) {\n\t\t\tconst abortedResult: ToolResultMessage = {\n\t\t\t\trole: \"toolResult\",\n\t\t\t\ttoolCallId,\n\t\t\t\ttoolName: info.toolName,\n\t\t\t\tcontent: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: reason,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tisError: true,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tthis._state.messages = [...this._state.messages, abortedResult];\n\t\t\tthis.handleToolExecutionEnd({\n\t\t\t\ttype: \"tool_execution_end\",\n\t\t\t\ttoolCallId,\n\t\t\t\ttoolName: info.toolName,\n\t\t\t\tresult: abortedResult,\n\t\t\t\tisError: true,\n\t\t\t});\n\t\t}\n\t\tthis._state.pendingToolCalls.clear();\n\t}\n\n\tasync generateSummary(\n\t\thistory: Message[],\n\t\tprompt: string,\n\t\tsystemPrompt = \"\",\n\t\tmodelOverride?: Model<Api>,\n\t\tsignal?: AbortSignal,\n\t): Promise<AssistantMessage> {\n\t\tconst summaryModel = modelOverride ?? this._state.model;\n\t\tif (!summaryModel) {\n\t\t\tthrow new Error(\"No model configured for summarization\");\n\t\t}\n\n\t\tconst userMessage: UserMessage = {\n\t\t\trole: \"user\",\n\t\t\tcontent: [{ type: \"text\", text: prompt }],\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\tconst runMessages: Message[] = [...history, userMessage];\n\t\tconst providerMessages = normalizeMessagesForProvider(\n\t\t\trunMessages,\n\t\t\tsummaryModel,\n\t\t);\n\t\tconst runConfig = {\n\t\t\tsystemPrompt,\n\t\t\ttools: [],\n\t\t\tmodel: summaryModel,\n\t\t\treasoning: undefined,\n\t\t\t// Keep summary generation fast by not requesting reasoning summaries.\n\t\t\treasoningSummary: undefined,\n\t\t\tpreprocessMessages: this.preprocessMessages,\n\t\t};\n\n\t\tconst controller = new AbortController();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tcontroller.abort(signal.reason);\n\t\t\t} else {\n\t\t\t\tsignal.addEventListener(\n\t\t\t\t\t\"abort\",\n\t\t\t\t\t() => {\n\t\t\t\t\t\tcontroller.abort(signal.reason);\n\t\t\t\t\t},\n\t\t\t\t\t{ once: true },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tlet finalMessage: AssistantMessage | null = null;\n\n\t\ttry {\n\t\t\tfor await (const event of this.transport.run(\n\t\t\t\tproviderMessages,\n\t\t\t\tuserMessage,\n\t\t\t\trunConfig,\n\t\t\t\tcontroller.signal,\n\t\t\t)) {\n\t\t\t\tif (\n\t\t\t\t\tevent.type === \"message_end\" &&\n\t\t\t\t\tevent.message.role === \"assistant\"\n\t\t\t\t) {\n\t\t\t\t\tfinalMessage = event.message as AssistantMessage;\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tcontroller.abort();\n\t\t}\n\n\t\tif (!finalMessage) {\n\t\t\tthrow new Error(\"Summary generation did not return a response\");\n\t\t}\n\n\t\treturn finalMessage;\n\t}\n}\n"]}
|