@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/guardian/runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport {\n\tcopyFileSync,\n\texistsSync,\n\tmkdirSync,\n\tmkdtempSync,\n\treadFileSync,\n\trmSync,\n\tstatSync,\n\twriteFileSync,\n} from \"node:fs\";\nimport os from \"node:os\";\nimport { dirname, join, resolve } from \"node:path\";\nimport { resolveGuardianConfig } from \"./config.js\";\nimport { loadGuardianState, recordGuardianRun } from \"./state.js\";\nimport { DEFAULT_EXCLUDES } from \"./types.js\";\nimport type {\n\tGuardianEnablement,\n\tGuardianRunOptions,\n\tGuardianRunResult,\n\tGuardianStatus,\n\tGuardianToolResult,\n} from \"./types.js\";\n\nconst GUARDIAN_DISABLE_VALUES = [\"0\", \"false\", \"off\", \"no\"];\nconst GUARDIAN_ENABLE_VALUES = [\"1\", \"true\", \"on\"];\nconst DEFAULT_TIMEOUT_MS = 10_000;\n\ntype FileListResult =\n\t| { ok: true; files: string[] }\n\t| { ok: false; error: string; exitCode: number };\n\ntype CommandResult = {\n\texitCode: number;\n\tstdout: string;\n\tstderr: string;\n\terror?: string;\n\tdurationMs: number;\n};\n\nfunction commandExists(command: string, cwd: string): boolean {\n\tconst result = spawnSync(command, [\"--version\"], {\n\t\tcwd,\n\t\tstdio: \"pipe\",\n\t\tencoding: \"utf-8\",\n\t});\n\treturn (result.status ?? 1) === 0;\n}\n\nfunction runCommand(\n\tcommand: string,\n\targs: string[],\n\tcwd: string,\n\ttimeoutMs = DEFAULT_TIMEOUT_MS,\n\tenv?: NodeJS.ProcessEnv,\n): CommandResult {\n\tconst started = Date.now();\n\ttry {\n\t\tconst result = spawnSync(command, args, {\n\t\t\tcwd,\n\t\t\tencoding: \"utf-8\",\n\t\t\tenv: env ? { ...process.env, ...env } : process.env,\n\t\t\tmaxBuffer: 8 * 1024 * 1024,\n\t\t\ttimeout: timeoutMs,\n\t\t});\n\t\treturn {\n\t\t\texitCode: result.status ?? 1,\n\t\t\tstdout: result.stdout ?? \"\",\n\t\t\tstderr: result.stderr ?? \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\texitCode: 1,\n\t\t\tstdout: \"\",\n\t\t\tstderr: error instanceof Error ? error.message : String(error),\n\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n}\n\nfunction hasGitSecretsPlugin(root: string): boolean {\n\tconst result = runCommand(\"git\", [\"secrets\", \"--help\"], root, 4_000);\n\treturn (\n\t\tresult.exitCode === 0 ||\n\t\tresult.stderr.includes(\"git secrets\") ||\n\t\tresult.stdout.includes(\"git secrets\")\n\t);\n}\n\nfunction filterFiles(files: string[]): string[] {\n\treturn files.filter((file) => {\n\t\tconst normalized = file.replace(/\\\\/g, \"/\");\n\t\treturn !DEFAULT_EXCLUDES.some(\n\t\t\t(exclude) =>\n\t\t\t\tnormalized === exclude ||\n\t\t\t\tnormalized.startsWith(exclude) ||\n\t\t\t\tnormalized.includes(`/${exclude}`),\n\t\t);\n\t});\n}\n\nfunction listStagedFiles(root: string): FileListResult {\n\tconst result = runCommand(\n\t\t\"git\",\n\t\t[\"diff\", \"--name-only\", \"--cached\", \"--diff-filter=ACMRTUXB\"],\n\t\troot,\n\t);\n\tif (result.exitCode !== 0) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror:\n\t\t\t\tresult.stderr.trim() ||\n\t\t\t\tresult.stdout.trim() ||\n\t\t\t\t\"Unable to list staged files\",\n\t\t\texitCode: result.exitCode,\n\t\t};\n\t}\n\tconst files = filterFiles(\n\t\tresult.stdout\n\t\t\t.split(\"\\n\")\n\t\t\t.map((line) => line.trim())\n\t\t\t.filter(Boolean),\n\t);\n\treturn { ok: true, files };\n}\n\nfunction listTrackedFiles(root: string): FileListResult {\n\tconst result = runCommand(\"git\", [\"ls-files\"], root);\n\tif (result.exitCode !== 0) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror:\n\t\t\t\tresult.stderr.trim() ||\n\t\t\t\tresult.stdout.trim() ||\n\t\t\t\t\"Unable to list tracked files\",\n\t\t\texitCode: result.exitCode,\n\t\t};\n\t}\n\tconst files = filterFiles(\n\t\tresult.stdout\n\t\t\t.split(\"\\n\")\n\t\t\t.map((line) => line.trim())\n\t\t\t.filter(Boolean),\n\t);\n\treturn { ok: true, files };\n}\n\nfunction resolveEnablement(\n\trespectEnv: boolean | undefined,\n): GuardianEnablement {\n\tconst state = loadGuardianState();\n\tif (!respectEnv) {\n\t\treturn { enabled: state.enabled };\n\t}\n\tconst rawEnv = process.env.MAESTRO_GUARDIAN;\n\tif (typeof rawEnv === \"string\" && rawEnv.trim().length > 0) {\n\t\tconst normalized = rawEnv.trim().toLowerCase();\n\t\tif (GUARDIAN_DISABLE_VALUES.includes(normalized)) {\n\t\t\treturn {\n\t\t\t\tenabled: false,\n\t\t\t\treason: \"MAESTRO_GUARDIAN=0 (disabled)\",\n\t\t\t\tenvOverride: \"disabled\",\n\t\t\t};\n\t\t}\n\t\tif (GUARDIAN_ENABLE_VALUES.includes(normalized)) {\n\t\t\treturn {\n\t\t\t\tenabled: true,\n\t\t\t\treason: \"MAESTRO_GUARDIAN=1 (forced on)\",\n\t\t\t\tenvOverride: \"enabled\",\n\t\t\t};\n\t\t}\n\t}\n\treturn { enabled: state.enabled };\n}\n\nfunction locateSemgrep(\n\troot: string,\n): { command: string; args: string[] } | null {\n\tif (commandExists(\"semgrep\", root)) {\n\t\treturn { command: \"semgrep\", args: [] };\n\t}\n\tif (commandExists(\"npx\", root)) {\n\t\treturn { command: \"npx\", args: [\"--yes\", \"semgrep\"] };\n\t}\n\treturn null;\n}\n\nfunction runSemgrep(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tconst cmd = locateSemgrep(root);\n\tif (!cmd) {\n\t\treturn {\n\t\t\ttool: \"semgrep\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"semgrep not found\",\n\t\t};\n\t}\n\tconst includeArgs = files.flatMap((file) => [\"--include\", file]);\n\tconst args = [\n\t\t...cmd.args,\n\t\t\"scan\",\n\t\t\"--config\",\n\t\t\"p/secrets\",\n\t\t\"--config\",\n\t\t\"p/ci\",\n\t\t\"--json\",\n\t\t\"--skip-unknown-extensions\",\n\t\t\"--error\",\n\t\t\"--timeout\",\n\t\t\"7\",\n\t\t\"--jobs\",\n\t\t\"1\",\n\t\t\"--metrics=off\",\n\t\t\"--disable-version-check\",\n\t\t...includeArgs,\n\t\t\".\",\n\t];\n\t// Semgrep can take longer on larger workspaces; allow up to 2 minutes before timing out\n\tconst result = runCommand(cmd.command, args, root, 120_000, {\n\t\tSEMGREP_SEND_METRICS: \"off\",\n\t});\n\treturn {\n\t\ttool: \"semgrep\",\n\t\texitCode: result.exitCode,\n\t\tstdout: result.stdout,\n\t\tstderr: result.stderr,\n\t\tdurationMs: result.durationMs,\n\t};\n}\n\nfunction materializeStagedFiles(root: string, files: string[]): string | null {\n\tconst tempDir = mkdtempSync(join(os.tmpdir(), \"composer-guardian-staged-\"));\n\tfor (const relative of files) {\n\t\tconst target = join(tempDir, relative);\n\t\tconst dir = dirname(target);\n\t\tmkdirSync(dir, { recursive: true });\n\t\tconst show = runCommand(\"git\", [\"show\", `:${relative}`], root, 5_000);\n\t\tif (show.exitCode !== 0) {\n\t\t\t// skip files we fail to read from index\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\twriteFileSync(target, show.stdout, \"utf-8\");\n\t\t} catch {\n\t\t\t// ignore write errors for problematic files\n\t\t}\n\t}\n\treturn tempDir;\n}\n\nfunction copyFilesToTemp(root: string, files: string[]): string | null {\n\tif (!files.length) return null;\n\tconst tempDir = mkdtempSync(join(os.tmpdir(), \"composer-guardian-\"));\n\tfor (const relative of files) {\n\t\tconst source = resolve(root, relative);\n\t\tif (!existsSync(source)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst target = join(tempDir, relative);\n\t\tconst dir = dirname(target);\n\t\tmkdirSync(dir, { recursive: true });\n\t\ttry {\n\t\t\tcopyFileSync(source, target);\n\t\t} catch {\n\t\t\t// ignore copy errors; file may be removed\n\t\t}\n\t}\n\treturn tempDir;\n}\n\nfunction runGitSecrets(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tif (!files.length) {\n\t\treturn {\n\t\t\ttool: \"git-secrets\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"no files\",\n\t\t};\n\t}\n\n\tconst hasBinary = commandExists(\"git-secrets\", root);\n\tconst hasPlugin = !hasBinary && hasGitSecretsPlugin(root);\n\tif (!hasBinary && !hasPlugin) {\n\t\treturn {\n\t\t\ttool: \"git-secrets\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"git-secrets not installed\",\n\t\t};\n\t}\n\n\tconst args = hasBinary\n\t\t? [\"--scan\", \"--no-index\", \"--\", ...files]\n\t\t: [\"secrets\", \"--scan\", \"--no-index\", \"--\", ...files];\n\tconst result = runCommand(hasBinary ? \"git-secrets\" : \"git\", args, root);\n\treturn {\n\t\ttool: \"git-secrets\",\n\t\texitCode: result.exitCode,\n\t\tstdout: result.stdout,\n\t\tstderr: result.stderr,\n\t\tdurationMs: result.durationMs,\n\t};\n}\n\nfunction runTrufflehog(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tif (!commandExists(\"trufflehog\", root)) {\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"trufflehog not installed\",\n\t\t};\n\t}\n\tif (!files.length) {\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"no files\",\n\t\t};\n\t}\n\n\tlet tempDir: string | null = null;\n\ttry {\n\t\ttempDir = copyFilesToTemp(root, files);\n\t\tif (!tempDir) {\n\t\t\treturn {\n\t\t\t\ttool: \"trufflehog\",\n\t\t\t\texitCode: 0,\n\t\t\t\tstdout: \"\",\n\t\t\t\tstderr: \"\",\n\t\t\t\tdurationMs: Date.now() - started,\n\t\t\t\tskipped: true,\n\t\t\t\treason: \"no files\",\n\t\t\t};\n\t\t}\n\t\tconst result = runCommand(\n\t\t\t\"trufflehog\",\n\t\t\t[\"filesystem\", \"--no-update\", \"--fail\", \"--json\", \"--path\", tempDir],\n\t\t\ttempDir,\n\t\t);\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: result.exitCode,\n\t\t\tstdout: result.stdout,\n\t\t\tstderr: result.stderr,\n\t\t\tdurationMs: result.durationMs,\n\t\t};\n\t} finally {\n\t\tif (tempDir) {\n\t\t\ttry {\n\t\t\t\trmSync(tempDir, { recursive: true, force: true });\n\t\t\t} catch {\n\t\t\t\t// best effort cleanup\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport type HeuristicFindingName =\n\t| \"AWS access key\"\n\t| \"AWS secret key\"\n\t| \"Private key block\"\n\t| \"Generic API key\"\n\t| \"Slack token\"\n\t| \"GitHub token\"\n\t| \"GitLab token\"\n\t| \"Google API key\"\n\t| \"Stripe key\"\n\t| \"OpenAI API key\"\n\t| \"SendGrid API key\"\n\t| \"Twilio auth token\"\n\t| \"Discord webhook\"\n\t| \"Database URL with credentials\"\n\t| \"JWT token\";\n\nexport type EvidenceIntegrityFindingName =\n\t| \"Synthetic production commit SHA\"\n\t| \"Synthetic production PR reference\"\n\t| \"Synthetic local GitHub Actions run ID\"\n\t| \"Local proof identifier\"\n\t| \"Replay artifact claimed as production evidence\";\n\nconst HEURISTIC_PATTERNS: Array<{ name: HeuristicFindingName; regex: RegExp }> =\n\t[\n\t\t// AWS credentials\n\t\t{ name: \"AWS access key\", regex: /\\bAKIA[0-9A-Z]{16}\\b/ },\n\t\t{\n\t\t\tname: \"AWS secret key\",\n\t\t\t// AWS secret keys are 40 characters of base64-like characters\n\t\t\tregex:\n\t\t\t\t/(?:aws_secret_access_key|secret_access_key|aws_secret)\\s*[:=]\\s*['\"]?[A-Za-z0-9/+=]{40}['\"]?/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Private key block\",\n\t\t\tregex: /BEGIN [A-Z ]*PRIVATE KEY/,\n\t\t},\n\t\t{\n\t\t\tname: \"Generic API key\",\n\t\t\t// Avoid matching natural language inside string literals while still catching\n\t\t\t// typical config patterns like:\n\t\t\t// token: \"....\" / token = \"....\"\n\t\t\t// apiKey: \"....\" / api_key = \"....\"\n\t\t\t// And JSON-style:\n\t\t\t// \"token\": \"....\"\n\t\t\tregex:\n\t\t\t\t/(?:(?<!['\"])\\b(?:api[_-]?key|token)\\b\\s*[:=]\\s*['\"][A-Za-z0-9_-]{20,}['\"]|['\"](?:api[_-]?key|token)['\"]\\s*:\\s*['\"][A-Za-z0-9_-]{20,}['\"])/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Slack token\",\n\t\t\t// Slack tokens are typically segmented and include numeric IDs:\n\t\t\t// xoxb-<digits>-<digits>-<secret>\n\t\t\t// xapp-<digits>-<digits>-<secret>\n\t\t\t// Use a stricter shape to avoid false positives in tests/docs.\n\t\t\tregex: /\\b(?:xox[baprs]|xapp)-\\d{6,}(?:-\\d{6,}){1,2}-[A-Za-z0-9-]{10,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"GitHub token\",\n\t\t\t// GitHub tokens: ghp_ (personal), gho_ (OAuth), ghu_ (user-to-server),\n\t\t\t// ghs_ (server-to-server), ghr_ (refresh), github_pat_\n\t\t\tregex: /\\b(?:ghp_|gho_|ghu_|ghs_|ghr_|github_pat_)[A-Za-z0-9_]{36,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"GitLab token\",\n\t\t\t// GitLab personal access tokens: glpat-...\n\t\t\tregex: /\\bglpat-[A-Za-z0-9_-]{20,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Google API key\",\n\t\t\t// Google API keys start with AIza\n\t\t\tregex: /\\bAIza[A-Za-z0-9_-]{35}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Stripe key\",\n\t\t\t// Stripe keys: sk_live_, pk_live_, sk_test_, pk_test_, rk_live_, rk_test_\n\t\t\tregex: /\\b[spr]k_(?:live|test)_[A-Za-z0-9]{24,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"OpenAI API key\",\n\t\t\t// OpenAI keys: sk-... (typically 48+ chars total)\n\t\t\tregex: /\\bsk-[A-Za-z0-9]{32,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"SendGrid API key\",\n\t\t\t// SendGrid keys start with SG.\n\t\t\tregex: /\\bSG\\.[A-Za-z0-9_-]{22,}\\.[A-Za-z0-9_-]{22,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Twilio auth token\",\n\t\t\t// Twilio auth tokens in config patterns\n\t\t\tregex:\n\t\t\t\t/twilio[_-]?(?:auth[_-]?token|account[_-]?sid)\\s*[:=]\\s*['\"]?[A-Za-z0-9]{32,}['\"]?/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Discord webhook\",\n\t\t\t// Discord webhook URLs contain sensitive tokens\n\t\t\tregex:\n\t\t\t\t/https:\\/\\/(?:discord(?:app)?\\.com|canary\\.discord\\.com)\\/api\\/webhooks\\/\\d+\\/[A-Za-z0-9_-]+/,\n\t\t},\n\t\t{\n\t\t\tname: \"Database URL with credentials\",\n\t\t\t// Database connection strings with embedded credentials\n\t\t\t// postgres://user:password@host, mysql://user:pass@host, mongodb://user:pass@host\n\t\t\tregex:\n\t\t\t\t/\\b(?:postgres(?:ql)?|mysql|mongodb(?:\\+srv)?|redis):\\/\\/[^\\s:]+:[^\\s@]+@[^\\s'\"]+/i,\n\t\t},\n\t\t{\n\t\t\tname: \"JWT token\",\n\t\t\t// JWT tokens have a distinctive structure: eyJ...\n\t\t\t// Only flag if it looks like a real token (has all three parts with decent lengths)\n\t\t\tregex:\n\t\t\t\t/\\beyJ[A-Za-z0-9_-]{20,}\\.eyJ[A-Za-z0-9_-]{20,}\\.[A-Za-z0-9_-]{20,}\\b/,\n\t\t},\n\t];\n\nconst EVIDENCE_CONTEXT_REGEX =\n\t/(?<![A-Za-z0-9_-])(?:production[\\s_-]+evidence|productionEvidence|production[\\s_-]+proof|productionProof|live[\\s_-]+evidence|liveEvidence|live[\\s_-]+proof|liveProof|dereferenceable|evidence[\\s_-]+bundle|evidenceBundle|deploy-verifier|hard[_-]identifiers|hardIdentifiers)(?![A-Za-z0-9_-])/i;\n\nconst REPLAY_EVIDENCE_MARKER_PATTERN = String.raw`(?:\\bdeterministic_replay\\b|(?<![A-Za-z0-9_])[\"']?replay[\"']?\\s*:\\s*true)`;\nconst PRODUCTION_EVIDENCE_CLAIM_PATTERN = String.raw`(?<![A-Za-z0-9_-])[\"']?(?:production[_-]?evidence|live[_-]?proof)[\"']?\\s*:\\s*[\"']?(?:true|verified)[\"']?(?![A-Za-z0-9_-])`;\n\nconst EVIDENCE_PATTERNS: Array<{\n\tname: EvidenceIntegrityFindingName;\n\tregex?: RegExp;\n\tmatches?: (contents: string) => boolean;\n\trequiresEvidenceContext?: boolean;\n}> = [\n\t{\n\t\tname: \"Synthetic production commit SHA\",\n\t\t// A 40-hex \"SHA\" containing an embedded UTC timestamp plus cutesy marker\n\t\t// text is a fixture identifier, not dereferenceable git evidence.\n\t\tregex:\n\t\t\t/\\b[0-9a-f]{4,12}20\\d{12}[0-9a-f]{0,16}(?:c0de|cafe|5afe)[0-9a-f]{0,20}\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Synthetic production PR reference\",\n\t\tregex:\n\t\t\t/\\b[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+#(?!\\d+\\b)[A-Za-z][A-Za-z0-9_.:-]*(?:local|prod-pr-lane)[A-Za-z0-9_.:-]*\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Synthetic local GitHub Actions run ID\",\n\t\tregex: /\\bgha-run-[A-Za-z0-9_.:-]*-local\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Local proof identifier\",\n\t\tregex:\n\t\t\t/\\bproof(?:[_-]?id|Id)?\\b[\"']?\\s*[:=]\\s*[\"']?[A-Za-z0-9_.:-]+-local\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Replay artifact claimed as production evidence\",\n\t\tmatches: (contents) =>\n\t\t\tnew RegExp(REPLAY_EVIDENCE_MARKER_PATTERN, \"i\").test(contents) &&\n\t\t\tnew RegExp(PRODUCTION_EVIDENCE_CLAIM_PATTERN, \"i\").test(contents),\n\t},\n];\n\nexport function detectHeuristicFindings(\n\tcontents: string,\n): HeuristicFindingName[] {\n\tconst matches: HeuristicFindingName[] = [];\n\tfor (const pattern of HEURISTIC_PATTERNS) {\n\t\tif (pattern.regex.test(contents)) {\n\t\t\tmatches.push(pattern.name);\n\t\t}\n\t}\n\treturn matches;\n}\n\nexport function detectEvidenceIntegrityFindings(\n\tcontents: string,\n): EvidenceIntegrityFindingName[] {\n\tconst matches: EvidenceIntegrityFindingName[] = [];\n\tconst hasEvidenceContext = EVIDENCE_CONTEXT_REGEX.test(contents);\n\tfor (const pattern of EVIDENCE_PATTERNS) {\n\t\tif (pattern.requiresEvidenceContext && !hasEvidenceContext) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (pattern.matches?.(contents) ?? pattern.regex?.test(contents)) {\n\t\t\tmatches.push(pattern.name);\n\t\t}\n\t}\n\treturn matches;\n}\n\nfunction runEvidenceIntegrityScan(\n\tfiles: string[],\n\troot: string,\n): GuardianToolResult {\n\tconst started = Date.now();\n\tconst findings: string[] = [];\n\tconst ignorePatterns = [\n\t\t/test\\/guardian\\/evidence-integrity\\.test\\.ts$/,\n\t\t/src\\/guardian\\/runner\\.ts$/,\n\t];\n\n\tfor (const relative of files) {\n\t\tif (ignorePatterns.some((pattern) => pattern.test(relative))) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst fullPath = resolve(root, relative);\n\t\tif (!existsSync(fullPath)) continue;\n\t\tlet contents: string;\n\t\ttry {\n\t\t\tconst stats = statSync(fullPath);\n\t\t\tif (stats.size > 2 * 1024 * 1024) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcontents = readFileSync(fullPath, \"utf-8\");\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t\tif (contents.includes(\"\\0\")) continue;\n\t\tfor (const match of detectEvidenceIntegrityFindings(contents)) {\n\t\t\tfindings.push(`${match}: ${relative}`);\n\t\t}\n\t}\n\n\tif (!findings.length) {\n\t\treturn {\n\t\t\ttool: \"evidence-integrity\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n\treturn {\n\t\ttool: \"evidence-integrity\",\n\t\texitCode: 1,\n\t\tstdout: findings.join(\"\\n\"),\n\t\tstderr:\n\t\t\t\"Live-production claims must use dereferenceable git, PR, Actions, deploy, and signature identifiers. Mark deterministic fixtures as replay evidence instead.\",\n\t\tdurationMs: Date.now() - started,\n\t};\n}\n\nfunction runHeuristicScan(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tconst findings: string[] = [];\n\tconst ignorePatterns = [\n\t\t/test\\/enterprise\\/pii-detector\\.test\\.ts$/,\n\t\t/test\\/guardian\\/heuristic-scan\\.test\\.ts$/,\n\t\t// Tests that intentionally include credential-like fixtures.\n\t\t/test\\/integration\\/security-middleware\\.test\\.ts$/,\n\t\t/test\\/safety\\/context-firewall\\.test\\.ts$/,\n\t\t/test\\/safety\\/edge-cases\\.test\\.ts$/,\n\t\t/test\\/safety\\/safety-middleware\\.test\\.ts$/,\n\t\t/test\\/telemetry\\/beacon\\.test\\.ts$/,\n\t\t/test\\/telemetry\\/telemetry-metadata-split\\.test\\.ts$/,\n\t\t// The runner itself contains regex patterns that look like secrets\n\t\t/src\\/guardian\\/runner\\.ts$/,\n\t];\n\n\tfor (const relative of files) {\n\t\tif (ignorePatterns.some((pattern) => pattern.test(relative))) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst fullPath = resolve(root, relative);\n\t\tif (!existsSync(fullPath)) continue;\n\t\tlet contents: string;\n\t\ttry {\n\t\t\tconst stats = statSync(fullPath);\n\t\t\tif (stats.size > 2 * 1024 * 1024) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcontents = readFileSync(fullPath, \"utf-8\");\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t\tif (contents.includes(\"\\0\")) continue; // likely binary\n\t\tfor (const match of detectHeuristicFindings(contents)) {\n\t\t\tfindings.push(`${match}: ${relative}`);\n\t\t}\n\t}\n\n\tif (!findings.length) {\n\t\treturn {\n\t\t\ttool: \"heuristic-scan\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n\treturn {\n\t\ttool: \"heuristic-scan\",\n\t\texitCode: 1,\n\t\tstdout: findings.join(\"\\n\"),\n\t\tstderr: \"\",\n\t\tdurationMs: Date.now() - started,\n\t};\n}\n\nfunction buildSummary(\n\tstatus: GuardianStatus,\n\tfiles: string[],\n\ttools: GuardianToolResult[],\n\ttarget: \"staged\" | \"all\",\n\tskipReason?: string,\n): string {\n\tif (status === \"skipped\") {\n\t\treturn `Guardian skipped (${skipReason ?? \"disabled\"})`;\n\t}\n\tconst fileLabel = target === \"staged\" ? \"staged file(s)\" : \"tracked file(s)\";\n\tconst prefix =\n\t\tstatus === \"passed\"\n\t\t\t? \"Guardian passed\"\n\t\t\t: status === \"failed\"\n\t\t\t\t? \"Guardian blocked commit\"\n\t\t\t\t: \"Guardian error\";\n\tconst ran = tools\n\t\t.filter((tool) => !tool.skipped)\n\t\t.map((tool) => tool.tool)\n\t\t.join(\" + \");\n\tconst skipped = tools\n\t\t.filter((tool) => tool.skipped)\n\t\t.map((tool) => tool.tool)\n\t\t.join(\", \");\n\tconst toolSummary =\n\t\tran && skipped\n\t\t\t? `${ran} (skipped: ${skipped})`\n\t\t\t: ran || (skipped ? `skipped: ${skipped}` : \"\");\n\treturn `${prefix} on ${files.length} ${fileLabel}${\n\t\ttoolSummary ? ` using ${toolSummary}` : \"\"\n\t}`;\n}\n\nexport function formatGuardianResult(result: GuardianRunResult): string {\n\tconst lines: string[] = [];\n\tlines.push(result.summary);\n\tlines.push(\n\t\t`Status: ${result.status} • Target: ${result.target} • Duration: ${\n\t\t\tresult.durationMs\n\t\t}ms`,\n\t);\n\tfor (const tool of result.toolResults) {\n\t\tconst status =\n\t\t\ttool.skipped && tool.reason\n\t\t\t\t? `skipped (${tool.reason})`\n\t\t\t\t: tool.exitCode === 0\n\t\t\t\t\t? \"clean\"\n\t\t\t\t\t: tool.exitCode === 1\n\t\t\t\t\t\t? \"findings\"\n\t\t\t\t\t\t: \"error\";\n\t\tlines.push(\n\t\t\t`- ${tool.tool}: ${status} (${tool.durationMs}ms${\n\t\t\t\ttool.exitCode !== 0 ? `, exit ${tool.exitCode}` : \"\"\n\t\t\t})`,\n\t\t);\n\t\tif (tool.stdout.trim()) {\n\t\t\tlines.push(` stdout: ${tool.stdout.trim()}`);\n\t\t}\n\t\tif (tool.stderr.trim()) {\n\t\t\tlines.push(` stderr: ${tool.stderr.trim()}`);\n\t\t}\n\t}\n\tif (result.files?.length) {\n\t\tconst preview = result.files.slice(0, 8).join(\", \");\n\t\tconst suffix =\n\t\t\tresult.files.length > 8 ? ` … +${result.files.length - 8} more` : \"\";\n\t\tlines.push(`Files: ${preview}${suffix}`);\n\t}\n\treturn lines.join(\"\\n\");\n}\n\nfunction pickOverallStatus(tools: GuardianToolResult[]): GuardianStatus {\n\tconst hadError = tools.some((tool) => !tool.skipped && tool.exitCode > 1);\n\tif (hadError) return \"error\";\n\tconst hadFindings = tools.some(\n\t\t(tool) => !tool.skipped && tool.exitCode === 1,\n\t);\n\tif (hadFindings) return \"failed\";\n\treturn \"passed\";\n}\n\nexport function shouldGuardCommand(command: string): {\n\tshouldGuard: boolean;\n\ttrigger: string | null;\n} {\n\tconst inlineDisable = /MAESTRO_GUARDIAN\\s*=\\s*(0|false|off|no)/i;\n\tif (inlineDisable.test(command)) {\n\t\treturn { shouldGuard: false, trigger: null };\n\t}\n\tconst gitMatch = command.match(/\\bgit\\s+(commit|push)\\b/i);\n\tif (gitMatch?.[1]) {\n\t\treturn { shouldGuard: true, trigger: `git ${gitMatch[1].toLowerCase()}` };\n\t}\n\n\tconst destructivePatterns: Array<{ regex: RegExp; label: string }> = [\n\t\t{ regex: /\\brm\\s+-rf\\b/i, label: \"rm -rf\" },\n\t\t{\n\t\t\tregex: /\\brm\\s+(?:-[a-z]*r[a-z]*\\b|--recursive\\b)/i,\n\t\t\tlabel: \"rm -r\",\n\t\t},\n\t\t{ regex: /\\bfind\\s+[^\\n]*-delete\\b/i, label: \"find -delete\" },\n\t\t{ regex: /\\bchmod\\s+0{3,4}\\b/i, label: \"chmod 000\" },\n\t\t{ regex: /\\bchown\\b[^\\n]*\\broot\\b/i, label: \"chown root\" },\n\t\t{ regex: /\\bdd\\s+if=.*\\s+of=\\/dev\\//i, label: \"dd to device\" },\n\t\t{ regex: /\\bmkfs\\./i, label: \"mkfs\" },\n\t\t{ regex: /\\btruncate\\s+-s\\s+0\\b/i, label: \"truncate -s 0\" },\n\t];\n\n\tfor (const pattern of destructivePatterns) {\n\t\tif (pattern.regex.test(command)) {\n\t\t\treturn { shouldGuard: true, trigger: pattern.label };\n\t\t}\n\t}\n\n\treturn { shouldGuard: false, trigger: null };\n}\n\nexport async function runGuardian(\n\toptions: GuardianRunOptions = {},\n): Promise<GuardianRunResult> {\n\tconst target = options.target ?? \"staged\";\n\tconst root = options.root ? resolve(options.root) : process.cwd();\n\tlet scanRoot = root;\n\tlet snapshotDir: string | null = null;\n\tconst enablement = resolveEnablement(options.respectEnv ?? true);\n\tconst startedAt = Date.now();\n\n\tif (!enablement.enabled) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"skipped\",\n\t\t\texitCode: 0,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: \"Guardian disabled by configuration\",\n\t\t\tskipReason: enablement.reason ?? \"disabled\",\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tconst filesResult =\n\t\ttarget === \"all\" ? listTrackedFiles(root) : listStagedFiles(root);\n\tif (!filesResult.ok) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"error\",\n\t\t\texitCode: filesResult.exitCode,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: filesResult.error,\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tconst files = filesResult.files;\n\tif (!files.length) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"skipped\",\n\t\t\texitCode: 0,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: \"No files to scan\",\n\t\t\tskipReason: \"no files\",\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tif (target === \"staged\") {\n\t\tsnapshotDir = materializeStagedFiles(root, files);\n\t\tif (snapshotDir) {\n\t\t\tscanRoot = snapshotDir;\n\t\t}\n\t}\n\n\tconst config = resolveGuardianConfig({\n\t\troot,\n\t\tconfig: options.config,\n\t});\n\n\tconst toolResults: GuardianToolResult[] = [];\n\n\tif (config.tools.evidenceIntegrity) {\n\t\ttoolResults.push(runEvidenceIntegrityScan(files, scanRoot));\n\t}\n\n\tif (config.tools.semgrep) {\n\t\ttoolResults.push(runSemgrep(files, scanRoot));\n\t}\n\n\tlet fallback: GuardianToolResult | null = null;\n\tif (config.tools.gitSecrets) {\n\t\tconst gitSecretsResult = runGitSecrets(files, scanRoot);\n\t\tif (!gitSecretsResult.skipped) {\n\t\t\tfallback = gitSecretsResult;\n\t\t}\n\t}\n\tif (!fallback && config.tools.trufflehog) {\n\t\tconst truffleResult = runTrufflehog(files, scanRoot);\n\t\tif (!truffleResult.skipped) {\n\t\t\tfallback = truffleResult;\n\t\t}\n\t}\n\tif (!fallback && config.tools.heuristicScan) {\n\t\tfallback = runHeuristicScan(files, scanRoot);\n\t}\n\tif (fallback) {\n\t\ttoolResults.push(fallback);\n\t}\n\n\tconst status = pickOverallStatus(toolResults);\n\tconst exitCode =\n\t\tstatus === \"passed\"\n\t\t\t? 0\n\t\t\t: (toolResults.find((tool) => !tool.skipped && tool.exitCode !== 0)\n\t\t\t\t\t?.exitCode ?? 1);\n\n\tconst result: GuardianRunResult = {\n\t\tstatus,\n\t\texitCode,\n\t\tstartedAt,\n\t\tdurationMs: Date.now() - startedAt,\n\t\ttarget,\n\t\ttrigger: options.trigger,\n\t\tfilesScanned: files.length,\n\t\tfiles: options.quiet ? undefined : files,\n\t\tsummary: buildSummary(status, files, toolResults, target),\n\t\ttoolResults,\n\t};\n\n\trecordGuardianRun(result);\n\n\tif (snapshotDir) {\n\t\ttry {\n\t\t\trmSync(snapshotDir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// best effort cleanup\n\t\t}\n\t}\n\treturn result;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/guardian/runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport {\n\tcopyFileSync,\n\texistsSync,\n\tmkdirSync,\n\tmkdtempSync,\n\treadFileSync,\n\trmSync,\n\tstatSync,\n\twriteFileSync,\n} from \"node:fs\";\nimport os from \"node:os\";\nimport { dirname, join, resolve } from \"node:path\";\nimport { resolveGuardianConfig } from \"./config.js\";\nimport { loadGuardianState, recordGuardianRun } from \"./state.js\";\nimport { DEFAULT_EXCLUDES } from \"./types.js\";\nimport type {\n\tGuardianEnablement,\n\tGuardianRunOptions,\n\tGuardianRunResult,\n\tGuardianStatus,\n\tGuardianToolResult,\n} from \"./types.js\";\n\nconst GUARDIAN_DISABLE_VALUES = [\"0\", \"false\", \"off\", \"no\"];\nconst GUARDIAN_ENABLE_VALUES = [\"1\", \"true\", \"on\"];\nconst DEFAULT_TIMEOUT_MS = 10_000;\nconst DEFAULT_SEMGREP_TIMEOUT_MS = 120_000;\n\ntype FileListResult =\n\t| { ok: true; files: string[] }\n\t| { ok: false; error: string; exitCode: number };\n\ntype CommandResult = {\n\texitCode: number;\n\tstdout: string;\n\tstderr: string;\n\terror?: string;\n\tdurationMs: number;\n};\n\nfunction spawnErrorCode(error: Error | undefined): string | null {\n\tconst code = (error as NodeJS.ErrnoException | undefined)?.code;\n\treturn typeof code === \"string\" ? code : null;\n}\n\nfunction isSpawnTimeout(error: Error | undefined): boolean {\n\treturn (\n\t\tspawnErrorCode(error) === \"ETIMEDOUT\" ||\n\t\terror?.message.includes(\"ETIMEDOUT\") === true\n\t);\n}\n\nfunction exitCodeForSpawnResult(\n\tstatus: number | null,\n\terror: Error | undefined,\n\tsignal: NodeJS.Signals | null,\n): number {\n\tif (typeof status === \"number\") {\n\t\treturn status;\n\t}\n\tif (isSpawnTimeout(error)) {\n\t\treturn 124;\n\t}\n\tif (error) {\n\t\treturn 2;\n\t}\n\tif (signal) {\n\t\tconst signalNumber = os.constants.signals[signal];\n\t\treturn typeof signalNumber === \"number\" ? 128 + signalNumber : 128;\n\t}\n\treturn 1;\n}\n\nfunction appendSpawnFailureDetails(\n\tstderr: string,\n\tcommand: string,\n\terror: Error | undefined,\n\tsignal: NodeJS.Signals | null,\n\ttimeoutMs: number,\n): string {\n\tconst details: string[] = [];\n\tif (isSpawnTimeout(error)) {\n\t\tdetails.push(`${command} timed out after ${timeoutMs}ms`);\n\t}\n\tif (error?.message) {\n\t\tdetails.push(error.message);\n\t}\n\tif (signal) {\n\t\tdetails.push(`${command} terminated by ${signal}`);\n\t}\n\tconst uniqueDetails = Array.from(new Set(details));\n\treturn [stderr, ...uniqueDetails].filter((part) => part.trim()).join(\"\\n\");\n}\n\nfunction commandExists(command: string, cwd: string): boolean {\n\tconst result = spawnSync(command, [\"--version\"], {\n\t\tcwd,\n\t\tstdio: \"pipe\",\n\t\tencoding: \"utf-8\",\n\t});\n\treturn (result.status ?? 1) === 0;\n}\n\nfunction runCommand(\n\tcommand: string,\n\targs: string[],\n\tcwd: string,\n\ttimeoutMs = DEFAULT_TIMEOUT_MS,\n\tenv?: NodeJS.ProcessEnv,\n): CommandResult {\n\tconst started = Date.now();\n\ttry {\n\t\tconst result = spawnSync(command, args, {\n\t\t\tcwd,\n\t\t\tencoding: \"utf-8\",\n\t\t\tenv: env ? { ...process.env, ...env } : process.env,\n\t\t\tmaxBuffer: 8 * 1024 * 1024,\n\t\t\ttimeout: timeoutMs,\n\t\t});\n\t\tconst errorMessage =\n\t\t\tresult.error instanceof Error ? result.error.message : undefined;\n\t\tconst stderr =\n\t\t\tresult.stderr && result.stderr.length > 0\n\t\t\t\t? result.stderr\n\t\t\t\t: (errorMessage ?? \"\");\n\t\treturn {\n\t\t\texitCode: exitCodeForSpawnResult(\n\t\t\t\tresult.status,\n\t\t\t\tresult.error,\n\t\t\t\tresult.signal ?? null,\n\t\t\t),\n\t\t\tstdout: result.stdout ?? \"\",\n\t\t\tstderr: appendSpawnFailureDetails(\n\t\t\t\tstderr,\n\t\t\t\tcommand,\n\t\t\t\tresult.error,\n\t\t\t\tresult.signal ?? null,\n\t\t\t\ttimeoutMs,\n\t\t\t),\n\t\t\terror: errorMessage,\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t} catch (error) {\n\t\tconst thrownError =\n\t\t\terror instanceof Error ? error : new Error(String(error));\n\t\treturn {\n\t\t\texitCode: exitCodeForSpawnResult(null, thrownError, null),\n\t\t\tstdout: \"\",\n\t\t\tstderr: thrownError.message,\n\t\t\terror: thrownError.message,\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n}\n\nfunction hasGitSecretsPlugin(root: string): boolean {\n\tconst result = runCommand(\"git\", [\"secrets\", \"--help\"], root, 4_000);\n\treturn (\n\t\tresult.exitCode === 0 ||\n\t\tresult.stderr.includes(\"git secrets\") ||\n\t\tresult.stdout.includes(\"git secrets\")\n\t);\n}\n\nfunction filterFiles(files: string[]): string[] {\n\treturn files.filter((file) => {\n\t\tconst normalized = file.replace(/\\\\/g, \"/\");\n\t\treturn !DEFAULT_EXCLUDES.some(\n\t\t\t(exclude) =>\n\t\t\t\tnormalized === exclude ||\n\t\t\t\tnormalized.startsWith(exclude) ||\n\t\t\t\tnormalized.includes(`/${exclude}`),\n\t\t);\n\t});\n}\n\nfunction listStagedFiles(root: string): FileListResult {\n\tconst result = runCommand(\n\t\t\"git\",\n\t\t[\"diff\", \"--name-only\", \"--cached\", \"--diff-filter=ACMRTUXB\"],\n\t\troot,\n\t);\n\tif (result.exitCode !== 0) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror:\n\t\t\t\tresult.stderr.trim() ||\n\t\t\t\tresult.stdout.trim() ||\n\t\t\t\t\"Unable to list staged files\",\n\t\t\texitCode: result.exitCode,\n\t\t};\n\t}\n\tconst files = filterFiles(\n\t\tresult.stdout\n\t\t\t.split(\"\\n\")\n\t\t\t.map((line) => line.trim())\n\t\t\t.filter(Boolean),\n\t);\n\treturn { ok: true, files };\n}\n\nfunction listTrackedFiles(root: string): FileListResult {\n\tconst result = runCommand(\"git\", [\"ls-files\"], root);\n\tif (result.exitCode !== 0) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror:\n\t\t\t\tresult.stderr.trim() ||\n\t\t\t\tresult.stdout.trim() ||\n\t\t\t\t\"Unable to list tracked files\",\n\t\t\texitCode: result.exitCode,\n\t\t};\n\t}\n\tconst files = filterFiles(\n\t\tresult.stdout\n\t\t\t.split(\"\\n\")\n\t\t\t.map((line) => line.trim())\n\t\t\t.filter(Boolean),\n\t);\n\treturn { ok: true, files };\n}\n\nfunction resolveEnablement(\n\trespectEnv: boolean | undefined,\n): GuardianEnablement {\n\tconst state = loadGuardianState();\n\tif (!respectEnv) {\n\t\treturn { enabled: state.enabled };\n\t}\n\tconst rawEnv = process.env.MAESTRO_GUARDIAN;\n\tif (typeof rawEnv === \"string\" && rawEnv.trim().length > 0) {\n\t\tconst normalized = rawEnv.trim().toLowerCase();\n\t\tif (GUARDIAN_DISABLE_VALUES.includes(normalized)) {\n\t\t\treturn {\n\t\t\t\tenabled: false,\n\t\t\t\treason: \"MAESTRO_GUARDIAN=0 (disabled)\",\n\t\t\t\tenvOverride: \"disabled\",\n\t\t\t};\n\t\t}\n\t\tif (GUARDIAN_ENABLE_VALUES.includes(normalized)) {\n\t\t\treturn {\n\t\t\t\tenabled: true,\n\t\t\t\treason: \"MAESTRO_GUARDIAN=1 (forced on)\",\n\t\t\t\tenvOverride: \"enabled\",\n\t\t\t};\n\t\t}\n\t}\n\treturn { enabled: state.enabled };\n}\n\nfunction locateSemgrep(\n\troot: string,\n): { command: string; args: string[] } | null {\n\tif (commandExists(\"semgrep\", root)) {\n\t\treturn { command: \"semgrep\", args: [] };\n\t}\n\tif (commandExists(\"npx\", root)) {\n\t\treturn { command: \"npx\", args: [\"--yes\", \"semgrep\"] };\n\t}\n\treturn null;\n}\n\nfunction runSemgrep(\n\tfiles: string[],\n\troot: string,\n\ttimeoutMs = DEFAULT_SEMGREP_TIMEOUT_MS,\n): GuardianToolResult {\n\tconst started = Date.now();\n\tconst cmd = locateSemgrep(root);\n\tif (!cmd) {\n\t\treturn {\n\t\t\ttool: \"semgrep\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"semgrep not found\",\n\t\t};\n\t}\n\tconst includeArgs = files.flatMap((file) => [\"--include\", file]);\n\tconst args = [\n\t\t...cmd.args,\n\t\t\"scan\",\n\t\t\"--config\",\n\t\t\"p/secrets\",\n\t\t\"--config\",\n\t\t\"p/ci\",\n\t\t\"--json\",\n\t\t\"--skip-unknown-extensions\",\n\t\t\"--error\",\n\t\t\"--timeout\",\n\t\t\"7\",\n\t\t\"--jobs\",\n\t\t\"1\",\n\t\t\"--metrics=off\",\n\t\t\"--disable-version-check\",\n\t\t...includeArgs,\n\t\t\".\",\n\t];\n\t// Semgrep can take longer on larger workspaces, so honor the configured tool budget.\n\tconst result = runCommand(cmd.command, args, root, timeoutMs, {\n\t\tSEMGREP_SEND_METRICS: \"off\",\n\t});\n\treturn {\n\t\ttool: \"semgrep\",\n\t\texitCode: result.exitCode,\n\t\tstdout: result.stdout,\n\t\tstderr: result.stderr,\n\t\tdurationMs: result.durationMs,\n\t};\n}\n\nfunction materializeStagedFiles(root: string, files: string[]): string | null {\n\tconst tempDir = mkdtempSync(join(os.tmpdir(), \"composer-guardian-staged-\"));\n\tfor (const relative of files) {\n\t\tconst target = join(tempDir, relative);\n\t\tconst dir = dirname(target);\n\t\tmkdirSync(dir, { recursive: true });\n\t\tconst show = runCommand(\"git\", [\"show\", `:${relative}`], root, 5_000);\n\t\tif (show.exitCode !== 0) {\n\t\t\t// skip files we fail to read from index\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\twriteFileSync(target, show.stdout, \"utf-8\");\n\t\t} catch {\n\t\t\t// ignore write errors for problematic files\n\t\t}\n\t}\n\treturn tempDir;\n}\n\nfunction copyFilesToTemp(root: string, files: string[]): string | null {\n\tif (!files.length) return null;\n\tconst tempDir = mkdtempSync(join(os.tmpdir(), \"composer-guardian-\"));\n\tfor (const relative of files) {\n\t\tconst source = resolve(root, relative);\n\t\tif (!existsSync(source)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst target = join(tempDir, relative);\n\t\tconst dir = dirname(target);\n\t\tmkdirSync(dir, { recursive: true });\n\t\ttry {\n\t\t\tcopyFileSync(source, target);\n\t\t} catch {\n\t\t\t// ignore copy errors; file may be removed\n\t\t}\n\t}\n\treturn tempDir;\n}\n\nfunction runGitSecrets(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tif (!files.length) {\n\t\treturn {\n\t\t\ttool: \"git-secrets\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"no files\",\n\t\t};\n\t}\n\n\tconst hasBinary = commandExists(\"git-secrets\", root);\n\tconst hasPlugin = !hasBinary && hasGitSecretsPlugin(root);\n\tif (!hasBinary && !hasPlugin) {\n\t\treturn {\n\t\t\ttool: \"git-secrets\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"git-secrets not installed\",\n\t\t};\n\t}\n\n\tconst args = hasBinary\n\t\t? [\"--scan\", \"--no-index\", \"--\", ...files]\n\t\t: [\"secrets\", \"--scan\", \"--no-index\", \"--\", ...files];\n\tconst result = runCommand(hasBinary ? \"git-secrets\" : \"git\", args, root);\n\treturn {\n\t\ttool: \"git-secrets\",\n\t\texitCode: result.exitCode,\n\t\tstdout: result.stdout,\n\t\tstderr: result.stderr,\n\t\tdurationMs: result.durationMs,\n\t};\n}\n\nfunction runTrufflehog(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tif (!commandExists(\"trufflehog\", root)) {\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"trufflehog not installed\",\n\t\t};\n\t}\n\tif (!files.length) {\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t\tskipped: true,\n\t\t\treason: \"no files\",\n\t\t};\n\t}\n\n\tlet tempDir: string | null = null;\n\ttry {\n\t\ttempDir = copyFilesToTemp(root, files);\n\t\tif (!tempDir) {\n\t\t\treturn {\n\t\t\t\ttool: \"trufflehog\",\n\t\t\t\texitCode: 0,\n\t\t\t\tstdout: \"\",\n\t\t\t\tstderr: \"\",\n\t\t\t\tdurationMs: Date.now() - started,\n\t\t\t\tskipped: true,\n\t\t\t\treason: \"no files\",\n\t\t\t};\n\t\t}\n\t\tconst result = runCommand(\n\t\t\t\"trufflehog\",\n\t\t\t[\"filesystem\", \"--no-update\", \"--fail\", \"--json\", \"--path\", tempDir],\n\t\t\ttempDir,\n\t\t);\n\t\treturn {\n\t\t\ttool: \"trufflehog\",\n\t\t\texitCode: result.exitCode,\n\t\t\tstdout: result.stdout,\n\t\t\tstderr: result.stderr,\n\t\t\tdurationMs: result.durationMs,\n\t\t};\n\t} finally {\n\t\tif (tempDir) {\n\t\t\ttry {\n\t\t\t\trmSync(tempDir, { recursive: true, force: true });\n\t\t\t} catch {\n\t\t\t\t// best effort cleanup\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport type HeuristicFindingName =\n\t| \"AWS access key\"\n\t| \"AWS secret key\"\n\t| \"Private key block\"\n\t| \"Generic API key\"\n\t| \"Slack token\"\n\t| \"GitHub token\"\n\t| \"GitLab token\"\n\t| \"Google API key\"\n\t| \"Stripe key\"\n\t| \"OpenAI API key\"\n\t| \"SendGrid API key\"\n\t| \"Twilio auth token\"\n\t| \"Discord webhook\"\n\t| \"Database URL with credentials\"\n\t| \"JWT token\";\n\nexport type EvidenceIntegrityFindingName =\n\t| \"Synthetic production commit SHA\"\n\t| \"Synthetic production PR reference\"\n\t| \"Synthetic local GitHub Actions run ID\"\n\t| \"Local proof identifier\"\n\t| \"Replay artifact claimed as production evidence\";\n\nconst HEURISTIC_PATTERNS: Array<{ name: HeuristicFindingName; regex: RegExp }> =\n\t[\n\t\t// AWS credentials\n\t\t{ name: \"AWS access key\", regex: /\\bAKIA[0-9A-Z]{16}\\b/ },\n\t\t{\n\t\t\tname: \"AWS secret key\",\n\t\t\t// AWS secret keys are 40 characters of base64-like characters\n\t\t\tregex:\n\t\t\t\t/(?:aws_secret_access_key|secret_access_key|aws_secret)\\s*[:=]\\s*['\"]?[A-Za-z0-9/+=]{40}['\"]?/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Private key block\",\n\t\t\tregex: /BEGIN [A-Z ]*PRIVATE KEY/,\n\t\t},\n\t\t{\n\t\t\tname: \"Generic API key\",\n\t\t\t// Avoid matching natural language inside string literals while still catching\n\t\t\t// typical config patterns like:\n\t\t\t// token: \"....\" / token = \"....\"\n\t\t\t// apiKey: \"....\" / api_key = \"....\"\n\t\t\t// And JSON-style:\n\t\t\t// \"token\": \"....\"\n\t\t\tregex:\n\t\t\t\t/(?:(?<!['\"])\\b(?:api[_-]?key|token)\\b\\s*[:=]\\s*['\"][A-Za-z0-9_-]{20,}['\"]|['\"](?:api[_-]?key|token)['\"]\\s*:\\s*['\"][A-Za-z0-9_-]{20,}['\"])/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Slack token\",\n\t\t\t// Slack tokens are typically segmented and include numeric IDs:\n\t\t\t// xoxb-<digits>-<digits>-<secret>\n\t\t\t// xapp-<digits>-<digits>-<secret>\n\t\t\t// Use a stricter shape to avoid false positives in tests/docs.\n\t\t\tregex: /\\b(?:xox[baprs]|xapp)-\\d{6,}(?:-\\d{6,}){1,2}-[A-Za-z0-9-]{10,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"GitHub token\",\n\t\t\t// GitHub tokens: ghp_ (personal), gho_ (OAuth), ghu_ (user-to-server),\n\t\t\t// ghs_ (server-to-server), ghr_ (refresh), github_pat_\n\t\t\tregex: /\\b(?:ghp_|gho_|ghu_|ghs_|ghr_|github_pat_)[A-Za-z0-9_]{36,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"GitLab token\",\n\t\t\t// GitLab personal access tokens: glpat-...\n\t\t\tregex: /\\bglpat-[A-Za-z0-9_-]{20,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Google API key\",\n\t\t\t// Google API keys start with AIza\n\t\t\tregex: /\\bAIza[A-Za-z0-9_-]{35}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Stripe key\",\n\t\t\t// Stripe keys: sk_live_, pk_live_, sk_test_, pk_test_, rk_live_, rk_test_\n\t\t\tregex: /\\b[spr]k_(?:live|test)_[A-Za-z0-9]{24,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"OpenAI API key\",\n\t\t\t// OpenAI keys: sk-... (typically 48+ chars total)\n\t\t\tregex: /\\bsk-[A-Za-z0-9]{32,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"SendGrid API key\",\n\t\t\t// SendGrid keys start with SG.\n\t\t\tregex: /\\bSG\\.[A-Za-z0-9_-]{22,}\\.[A-Za-z0-9_-]{22,}\\b/,\n\t\t},\n\t\t{\n\t\t\tname: \"Twilio auth token\",\n\t\t\t// Twilio auth tokens in config patterns\n\t\t\tregex:\n\t\t\t\t/twilio[_-]?(?:auth[_-]?token|account[_-]?sid)\\s*[:=]\\s*['\"]?[A-Za-z0-9]{32,}['\"]?/i,\n\t\t},\n\t\t{\n\t\t\tname: \"Discord webhook\",\n\t\t\t// Discord webhook URLs contain sensitive tokens\n\t\t\tregex:\n\t\t\t\t/https:\\/\\/(?:discord(?:app)?\\.com|canary\\.discord\\.com)\\/api\\/webhooks\\/\\d+\\/[A-Za-z0-9_-]+/,\n\t\t},\n\t\t{\n\t\t\tname: \"Database URL with credentials\",\n\t\t\t// Database connection strings with embedded credentials\n\t\t\t// postgres://user:password@host, mysql://user:pass@host, mongodb://user:pass@host\n\t\t\tregex:\n\t\t\t\t/\\b(?:postgres(?:ql)?|mysql|mongodb(?:\\+srv)?|redis):\\/\\/[^\\s:]+:[^\\s@]+@[^\\s'\"]+/i,\n\t\t},\n\t\t{\n\t\t\tname: \"JWT token\",\n\t\t\t// JWT tokens have a distinctive structure: eyJ...\n\t\t\t// Only flag if it looks like a real token (has all three parts with decent lengths)\n\t\t\tregex:\n\t\t\t\t/\\beyJ[A-Za-z0-9_-]{20,}\\.eyJ[A-Za-z0-9_-]{20,}\\.[A-Za-z0-9_-]{20,}\\b/,\n\t\t},\n\t];\n\nconst EVIDENCE_CONTEXT_REGEX =\n\t/(?<![A-Za-z0-9_-])(?:production[\\s_-]+evidence|productionEvidence|production[\\s_-]+proof|productionProof|live[\\s_-]+evidence|liveEvidence|live[\\s_-]+proof|liveProof|dereferenceable|evidence[\\s_-]+bundle|evidenceBundle|deploy-verifier|hard[_-]identifiers|hardIdentifiers)(?![A-Za-z0-9_-])/i;\n\nconst REPLAY_EVIDENCE_MARKER_PATTERN = String.raw`(?:\\bdeterministic_replay\\b|(?<![A-Za-z0-9_])[\"']?replay[\"']?\\s*:\\s*true)`;\nconst PRODUCTION_EVIDENCE_CLAIM_PATTERN = String.raw`(?<![A-Za-z0-9_-])[\"']?(?:production[_-]?evidence|live[_-]?proof)[\"']?\\s*:\\s*[\"']?(?:true|verified)[\"']?(?![A-Za-z0-9_-])`;\n\nconst EVIDENCE_PATTERNS: Array<{\n\tname: EvidenceIntegrityFindingName;\n\tregex?: RegExp;\n\tmatches?: (contents: string) => boolean;\n\trequiresEvidenceContext?: boolean;\n}> = [\n\t{\n\t\tname: \"Synthetic production commit SHA\",\n\t\t// A 40-hex \"SHA\" containing an embedded UTC timestamp plus cutesy marker\n\t\t// text is a fixture identifier, not dereferenceable git evidence.\n\t\tregex:\n\t\t\t/\\b[0-9a-f]{4,12}20\\d{12}[0-9a-f]{0,16}(?:c0de|cafe|5afe)[0-9a-f]{0,20}\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Synthetic production PR reference\",\n\t\tregex:\n\t\t\t/\\b[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+#(?!\\d+\\b)[A-Za-z][A-Za-z0-9_.:-]*(?:local|prod-pr-lane)[A-Za-z0-9_.:-]*\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Synthetic local GitHub Actions run ID\",\n\t\tregex: /\\bgha-run-[A-Za-z0-9_.:-]*-local\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Local proof identifier\",\n\t\tregex:\n\t\t\t/\\bproof(?:[_-]?id|Id)?\\b[\"']?\\s*[:=]\\s*[\"']?[A-Za-z0-9_.:-]+-local\\b/i,\n\t\trequiresEvidenceContext: true,\n\t},\n\t{\n\t\tname: \"Replay artifact claimed as production evidence\",\n\t\tmatches: (contents) =>\n\t\t\tnew RegExp(REPLAY_EVIDENCE_MARKER_PATTERN, \"i\").test(contents) &&\n\t\t\tnew RegExp(PRODUCTION_EVIDENCE_CLAIM_PATTERN, \"i\").test(contents),\n\t},\n];\n\nexport function detectHeuristicFindings(\n\tcontents: string,\n): HeuristicFindingName[] {\n\tconst matches: HeuristicFindingName[] = [];\n\tfor (const pattern of HEURISTIC_PATTERNS) {\n\t\tif (pattern.regex.test(contents)) {\n\t\t\tmatches.push(pattern.name);\n\t\t}\n\t}\n\treturn matches;\n}\n\nexport function detectEvidenceIntegrityFindings(\n\tcontents: string,\n): EvidenceIntegrityFindingName[] {\n\tconst matches: EvidenceIntegrityFindingName[] = [];\n\tconst hasEvidenceContext = EVIDENCE_CONTEXT_REGEX.test(contents);\n\tfor (const pattern of EVIDENCE_PATTERNS) {\n\t\tif (pattern.requiresEvidenceContext && !hasEvidenceContext) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (pattern.matches?.(contents) ?? pattern.regex?.test(contents)) {\n\t\t\tmatches.push(pattern.name);\n\t\t}\n\t}\n\treturn matches;\n}\n\nfunction runEvidenceIntegrityScan(\n\tfiles: string[],\n\troot: string,\n): GuardianToolResult {\n\tconst started = Date.now();\n\tconst findings: string[] = [];\n\tconst ignorePatterns = [\n\t\t/test\\/guardian\\/evidence-integrity\\.test\\.ts$/,\n\t\t/src\\/guardian\\/runner\\.ts$/,\n\t];\n\n\tfor (const relative of files) {\n\t\tif (ignorePatterns.some((pattern) => pattern.test(relative))) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst fullPath = resolve(root, relative);\n\t\tif (!existsSync(fullPath)) continue;\n\t\tlet contents: string;\n\t\ttry {\n\t\t\tconst stats = statSync(fullPath);\n\t\t\tif (stats.size > 2 * 1024 * 1024) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcontents = readFileSync(fullPath, \"utf-8\");\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t\tif (contents.includes(\"\\0\")) continue;\n\t\tfor (const match of detectEvidenceIntegrityFindings(contents)) {\n\t\t\tfindings.push(`${match}: ${relative}`);\n\t\t}\n\t}\n\n\tif (!findings.length) {\n\t\treturn {\n\t\t\ttool: \"evidence-integrity\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n\treturn {\n\t\ttool: \"evidence-integrity\",\n\t\texitCode: 1,\n\t\tstdout: findings.join(\"\\n\"),\n\t\tstderr:\n\t\t\t\"Live-production claims must use dereferenceable git, PR, Actions, deploy, and signature identifiers. Mark deterministic fixtures as replay evidence instead.\",\n\t\tdurationMs: Date.now() - started,\n\t};\n}\n\nfunction runHeuristicScan(files: string[], root: string): GuardianToolResult {\n\tconst started = Date.now();\n\tconst findings: string[] = [];\n\tconst ignorePatterns = [\n\t\t/test\\/enterprise\\/pii-detector\\.test\\.ts$/,\n\t\t/test\\/guardian\\/heuristic-scan\\.test\\.ts$/,\n\t\t// Tests that intentionally include credential-like fixtures.\n\t\t/test\\/integration\\/security-middleware\\.test\\.ts$/,\n\t\t/test\\/safety\\/context-firewall\\.test\\.ts$/,\n\t\t/test\\/safety\\/edge-cases\\.test\\.ts$/,\n\t\t/test\\/safety\\/safety-middleware\\.test\\.ts$/,\n\t\t/test\\/telemetry\\/beacon\\.test\\.ts$/,\n\t\t/test\\/telemetry\\/telemetry-metadata-split\\.test\\.ts$/,\n\t\t// The runner itself contains regex patterns that look like secrets\n\t\t/src\\/guardian\\/runner\\.ts$/,\n\t];\n\n\tfor (const relative of files) {\n\t\tif (ignorePatterns.some((pattern) => pattern.test(relative))) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst fullPath = resolve(root, relative);\n\t\tif (!existsSync(fullPath)) continue;\n\t\tlet contents: string;\n\t\ttry {\n\t\t\tconst stats = statSync(fullPath);\n\t\t\tif (stats.size > 2 * 1024 * 1024) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcontents = readFileSync(fullPath, \"utf-8\");\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\t\tif (contents.includes(\"\\0\")) continue; // likely binary\n\t\tfor (const match of detectHeuristicFindings(contents)) {\n\t\t\tfindings.push(`${match}: ${relative}`);\n\t\t}\n\t}\n\n\tif (!findings.length) {\n\t\treturn {\n\t\t\ttool: \"heuristic-scan\",\n\t\t\texitCode: 0,\n\t\t\tstdout: \"\",\n\t\t\tstderr: \"\",\n\t\t\tdurationMs: Date.now() - started,\n\t\t};\n\t}\n\treturn {\n\t\ttool: \"heuristic-scan\",\n\t\texitCode: 1,\n\t\tstdout: findings.join(\"\\n\"),\n\t\tstderr: \"\",\n\t\tdurationMs: Date.now() - started,\n\t};\n}\n\nfunction buildSummary(\n\tstatus: GuardianStatus,\n\tfiles: string[],\n\ttools: GuardianToolResult[],\n\ttarget: \"staged\" | \"all\",\n\tskipReason?: string,\n): string {\n\tif (status === \"skipped\") {\n\t\treturn `Guardian skipped (${skipReason ?? \"disabled\"})`;\n\t}\n\tconst fileLabel = target === \"staged\" ? \"staged file(s)\" : \"tracked file(s)\";\n\tconst prefix =\n\t\tstatus === \"passed\"\n\t\t\t? \"Guardian passed\"\n\t\t\t: status === \"failed\"\n\t\t\t\t? \"Guardian blocked commit\"\n\t\t\t\t: \"Guardian error\";\n\tconst ran = tools\n\t\t.filter((tool) => !tool.skipped)\n\t\t.map((tool) => tool.tool)\n\t\t.join(\" + \");\n\tconst skipped = tools\n\t\t.filter((tool) => tool.skipped)\n\t\t.map((tool) => tool.tool)\n\t\t.join(\", \");\n\tconst toolSummary =\n\t\tran && skipped\n\t\t\t? `${ran} (skipped: ${skipped})`\n\t\t\t: ran || (skipped ? `skipped: ${skipped}` : \"\");\n\treturn `${prefix} on ${files.length} ${fileLabel}${\n\t\ttoolSummary ? ` using ${toolSummary}` : \"\"\n\t}`;\n}\n\nexport function formatGuardianResult(result: GuardianRunResult): string {\n\tconst lines: string[] = [];\n\tlines.push(result.summary);\n\tlines.push(\n\t\t`Status: ${result.status} • Target: ${result.target} • Duration: ${\n\t\t\tresult.durationMs\n\t\t}ms`,\n\t);\n\tfor (const tool of result.toolResults) {\n\t\tconst status =\n\t\t\ttool.skipped && tool.reason\n\t\t\t\t? `skipped (${tool.reason})`\n\t\t\t\t: tool.exitCode === 0\n\t\t\t\t\t? \"clean\"\n\t\t\t\t\t: tool.exitCode === 1\n\t\t\t\t\t\t? \"findings\"\n\t\t\t\t\t\t: \"error\";\n\t\tlines.push(\n\t\t\t`- ${tool.tool}: ${status} (${tool.durationMs}ms${\n\t\t\t\ttool.exitCode !== 0 ? `, exit ${tool.exitCode}` : \"\"\n\t\t\t})`,\n\t\t);\n\t\tif (tool.stdout.trim()) {\n\t\t\tlines.push(` stdout: ${tool.stdout.trim()}`);\n\t\t}\n\t\tif (tool.stderr.trim()) {\n\t\t\tlines.push(` stderr: ${tool.stderr.trim()}`);\n\t\t}\n\t}\n\tif (result.files?.length) {\n\t\tconst preview = result.files.slice(0, 8).join(\", \");\n\t\tconst suffix =\n\t\t\tresult.files.length > 8 ? ` … +${result.files.length - 8} more` : \"\";\n\t\tlines.push(`Files: ${preview}${suffix}`);\n\t}\n\treturn lines.join(\"\\n\");\n}\n\nfunction pickOverallStatus(tools: GuardianToolResult[]): GuardianStatus {\n\tconst hadError = tools.some((tool) => !tool.skipped && tool.exitCode > 1);\n\tif (hadError) return \"error\";\n\tconst hadFindings = tools.some(\n\t\t(tool) => !tool.skipped && tool.exitCode === 1,\n\t);\n\tif (hadFindings) return \"failed\";\n\treturn \"passed\";\n}\n\nexport function shouldGuardCommand(command: string): {\n\tshouldGuard: boolean;\n\ttrigger: string | null;\n} {\n\tconst inlineDisable = /MAESTRO_GUARDIAN\\s*=\\s*(0|false|off|no)/i;\n\tif (inlineDisable.test(command)) {\n\t\treturn { shouldGuard: false, trigger: null };\n\t}\n\tconst gitMatch = command.match(/\\bgit\\s+(commit|push)\\b/i);\n\tif (gitMatch?.[1]) {\n\t\treturn { shouldGuard: true, trigger: `git ${gitMatch[1].toLowerCase()}` };\n\t}\n\n\tconst destructivePatterns: Array<{ regex: RegExp; label: string }> = [\n\t\t{ regex: /\\brm\\s+-rf\\b/i, label: \"rm -rf\" },\n\t\t{\n\t\t\tregex: /\\brm\\s+(?:-[a-z]*r[a-z]*\\b|--recursive\\b)/i,\n\t\t\tlabel: \"rm -r\",\n\t\t},\n\t\t{ regex: /\\bfind\\s+[^\\n]*-delete\\b/i, label: \"find -delete\" },\n\t\t{ regex: /\\bchmod\\s+0{3,4}\\b/i, label: \"chmod 000\" },\n\t\t{ regex: /\\bchown\\b[^\\n]*\\broot\\b/i, label: \"chown root\" },\n\t\t{ regex: /\\bdd\\s+if=.*\\s+of=\\/dev\\//i, label: \"dd to device\" },\n\t\t{ regex: /\\bmkfs\\./i, label: \"mkfs\" },\n\t\t{ regex: /\\btruncate\\s+-s\\s+0\\b/i, label: \"truncate -s 0\" },\n\t];\n\n\tfor (const pattern of destructivePatterns) {\n\t\tif (pattern.regex.test(command)) {\n\t\t\treturn { shouldGuard: true, trigger: pattern.label };\n\t\t}\n\t}\n\n\treturn { shouldGuard: false, trigger: null };\n}\n\nexport async function runGuardian(\n\toptions: GuardianRunOptions = {},\n): Promise<GuardianRunResult> {\n\tconst target = options.target ?? \"staged\";\n\tconst root = options.root ? resolve(options.root) : process.cwd();\n\tlet scanRoot = root;\n\tlet snapshotDir: string | null = null;\n\tconst enablement = resolveEnablement(options.respectEnv ?? true);\n\tconst startedAt = Date.now();\n\n\tif (!enablement.enabled) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"skipped\",\n\t\t\texitCode: 0,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: \"Guardian disabled by configuration\",\n\t\t\tskipReason: enablement.reason ?? \"disabled\",\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tconst filesResult =\n\t\ttarget === \"all\" ? listTrackedFiles(root) : listStagedFiles(root);\n\tif (!filesResult.ok) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"error\",\n\t\t\texitCode: filesResult.exitCode,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: filesResult.error,\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tconst files = filesResult.files;\n\tif (!files.length) {\n\t\tconst result: GuardianRunResult = {\n\t\t\tstatus: \"skipped\",\n\t\t\texitCode: 0,\n\t\t\tstartedAt,\n\t\t\tdurationMs: Date.now() - startedAt,\n\t\t\ttarget,\n\t\t\ttrigger: options.trigger,\n\t\t\tfilesScanned: 0,\n\t\t\tsummary: \"No files to scan\",\n\t\t\tskipReason: \"no files\",\n\t\t\ttoolResults: [],\n\t\t};\n\t\trecordGuardianRun(result);\n\t\treturn result;\n\t}\n\n\tif (target === \"staged\") {\n\t\tsnapshotDir = materializeStagedFiles(root, files);\n\t\tif (snapshotDir) {\n\t\t\tscanRoot = snapshotDir;\n\t\t}\n\t}\n\n\tconst config = resolveGuardianConfig({\n\t\troot,\n\t\tconfig: options.config,\n\t});\n\n\tconst toolResults: GuardianToolResult[] = [];\n\n\tif (config.tools.evidenceIntegrity) {\n\t\ttoolResults.push(runEvidenceIntegrityScan(files, scanRoot));\n\t}\n\n\tif (config.tools.semgrep) {\n\t\ttoolResults.push(runSemgrep(files, scanRoot, config.toolTimeoutMs));\n\t}\n\n\tlet fallback: GuardianToolResult | null = null;\n\tif (config.tools.gitSecrets) {\n\t\tconst gitSecretsResult = runGitSecrets(files, scanRoot);\n\t\tif (!gitSecretsResult.skipped) {\n\t\t\tfallback = gitSecretsResult;\n\t\t}\n\t}\n\tif (!fallback && config.tools.trufflehog) {\n\t\tconst truffleResult = runTrufflehog(files, scanRoot);\n\t\tif (!truffleResult.skipped) {\n\t\t\tfallback = truffleResult;\n\t\t}\n\t}\n\tif (!fallback && config.tools.heuristicScan) {\n\t\tfallback = runHeuristicScan(files, scanRoot);\n\t}\n\tif (fallback) {\n\t\ttoolResults.push(fallback);\n\t}\n\n\tconst status = pickOverallStatus(toolResults);\n\tconst exitCode =\n\t\tstatus === \"passed\"\n\t\t\t? 0\n\t\t\t: (toolResults.find((tool) => !tool.skipped && tool.exitCode !== 0)\n\t\t\t\t\t?.exitCode ?? 1);\n\n\tconst result: GuardianRunResult = {\n\t\tstatus,\n\t\texitCode,\n\t\tstartedAt,\n\t\tdurationMs: Date.now() - startedAt,\n\t\ttarget,\n\t\ttrigger: options.trigger,\n\t\tfilesScanned: files.length,\n\t\tfiles: options.quiet ? undefined : files,\n\t\tsummary: buildSummary(status, files, toolResults, target),\n\t\ttoolResults,\n\t};\n\n\trecordGuardianRun(result);\n\n\tif (snapshotDir) {\n\t\ttry {\n\t\t\trmSync(snapshotDir, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// best effort cleanup\n\t\t}\n\t}\n\treturn result;\n}\n"]}
|
package/dist/mcp/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/config.js
CHANGED
|
@@ -62,6 +62,7 @@ import { createLogger } from "../utils/logger.js";
|
|
|
62
62
|
import { getHomeDir, resolveEnvPath } from "../utils/path-expansion.js";
|
|
63
63
|
import { uniquePaths } from "../utils/path-utils.js";
|
|
64
64
|
import { defaultEnvValidators, evaluateEnvValidators } from "./env-limits.js";
|
|
65
|
+
import { getFathomCuaPluginServers } from "./fathom-cua.js";
|
|
65
66
|
import { getPlatformMcpPluginServers } from "./platform-plugin.js";
|
|
66
67
|
import { mcpAuthPresetSchema, mcpConfigSchema, mcpServerSchema, mcpWorkspaceTrustDefaultSchema, mcpWorkspaceTrustEntrySchema, } from "./schema.js";
|
|
67
68
|
const logger = createLogger("mcp:config");
|
|
@@ -117,6 +118,7 @@ export function loadMcpConfig(projectRoot, options = {}) {
|
|
|
117
118
|
const pluginCfg = {
|
|
118
119
|
servers: [
|
|
119
120
|
...getPlatformMcpPluginServers(),
|
|
121
|
+
...getFathomCuaPluginServers(),
|
|
120
122
|
...(options.pluginServers ?? []),
|
|
121
123
|
],
|
|
122
124
|
authPresets: [],
|
package/dist/mcp/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MCP Configuration - Model Context Protocol Server Management\n *\n * This module handles loading and merging MCP (Model Context Protocol)\n * server configurations from multiple sources. MCP servers extend the\n * agent's capabilities with additional tools and integrations.\n *\n * ## Configuration Sources (precedence order)\n *\n * 1. **Enterprise**: `~/.maestro/enterprise/mcp.json` (highest; legacy\n * Composer enterprise MCP config remains a fallback)\n * 2. **Plugin**: Programmatically provided servers\n * 3. **Project**: `.maestro/mcp.json` in project root\n * 4. **Local**: `.maestro/mcp.local.json` (git-ignored)\n * 5. **User**: `~/.maestro/mcp.json` (lowest; legacy Composer user MCP config\n * remains a fallback)\n *\n * ## Configuration Format\n *\n * ```json\n * {\n * \"servers\": [\n * {\n * \"name\": \"my-server\",\n * \"transport\": \"stdio\",\n * \"command\": \"node\",\n * \"args\": [\"path/to/server.js\"],\n * \"env\": { \"API_KEY\": \"${MY_API_KEY}\" }\n * }\n * ],\n * \"mcpServers\": {\n * \"another-server\": {\n * \"command\": \"python\",\n * \"args\": [\"-m\", \"my_mcp_server\"]\n * }\n * }\n * }\n * ```\n *\n * ## Transport Types\n *\n * | Transport | Description |\n * |-----------|------------------------------------------|\n * | stdio | Communicate via stdin/stdout (default) |\n * | http | HTTP-based transport |\n * | sse | Server-Sent Events transport |\n *\n * ## Environment Variable Expansion\n *\n * Supports `${VAR}` and `${VAR:-default}` syntax in:\n * - command, args, url, cwd, headersHelper\n * - env values\n * - headers\n *\n * @module mcp/config\n */\n\nimport { readFileSync, statSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport type { z } from \"zod\";\nimport { PATHS } from \"../config/constants.js\";\nimport { readJsonFile, writeJsonFile } from \"../utils/fs.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { getHomeDir, resolveEnvPath } from \"../utils/path-expansion.js\";\nimport { uniquePaths } from \"../utils/path-utils.js\";\nimport { defaultEnvValidators, evaluateEnvValidators } from \"./env-limits.js\";\nimport { getPlatformMcpPluginServers } from \"./platform-plugin.js\";\nimport {\n\ttype McpAuthPresetInput,\n\ttype McpServerInput,\n\tmcpAuthPresetSchema,\n\tmcpConfigSchema,\n\tmcpServerSchema,\n\tmcpWorkspaceTrustDefaultSchema,\n\tmcpWorkspaceTrustEntrySchema,\n} from \"./schema.js\";\nimport type {\n\tMcpAuthPresetConfig,\n\tMcpConfig,\n\tMcpScope,\n\tMcpServerConfig,\n\tMcpWorkspaceTrustDefault,\n\tMcpWorkspaceTrustEntry,\n} from \"./types.js\";\n\nconst logger = createLogger(\"mcp:config\");\n\nconst PROJECT_CONFIG_NAME = \".maestro/mcp.json\";\nconst LOCAL_CONFIG_NAME = \".maestro/mcp.local.json\";\n\nconst getEnterpriseConfigPathOverride = (): string | null =>\n\tresolveEnvPath(process.env.MAESTRO_ENTERPRISE_MCP_PATH);\n\nconst getDefaultEnterpriseConfigPath = (): string =>\n\tjoin(PATHS.MAESTRO_HOME, \"enterprise\", \"mcp.json\");\n\nconst getEnterpriseConfigPath = (): string =>\n\tgetEnterpriseConfigPathOverride() ?? getDefaultEnterpriseConfigPath();\n\nconst getUserConfigPathOverride = (): string | null =>\n\tresolveEnvPath(process.env.MAESTRO_USER_MCP_PATH);\n\nconst getDefaultUserConfigPath = (): string =>\n\tjoin(PATHS.MAESTRO_HOME, \"mcp.json\");\n\nconst getUserConfigPath = (): string =>\n\tgetUserConfigPathOverride() ?? getDefaultUserConfigPath();\n\nconst getLegacyEnterpriseConfigPath = (): string =>\n\tjoin(getHomeDir(), \".composer\", \"enterprise\", \"mcp.json\");\n\nconst getLegacyUserConfigPath = (): string =>\n\tjoin(getHomeDir(), \".composer\", \"mcp.json\");\n\nfunction isConfigFile(path: string): boolean {\n\ttry {\n\t\treturn statSync(path).isFile();\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction selectEffectiveConfigPath(paths: string[]): string {\n\treturn paths.find(isConfigFile) ?? paths[0]!;\n}\n\nconst getUserConfigPathCandidates = (): string[] => {\n\tconst overridePath = getUserConfigPathOverride();\n\tif (overridePath) {\n\t\treturn [overridePath];\n\t}\n\treturn uniquePaths([getDefaultUserConfigPath(), getLegacyUserConfigPath()]);\n};\n\nconst getEnterpriseConfigPathCandidates = (): string[] => {\n\tconst overridePath = getEnterpriseConfigPathOverride();\n\tif (overridePath) {\n\t\treturn [overridePath];\n\t}\n\treturn uniquePaths([\n\t\tgetDefaultEnterpriseConfigPath(),\n\t\tgetLegacyEnterpriseConfigPath(),\n\t]);\n};\n\nconst getEffectiveUserConfigPath = (): string =>\n\tselectEffectiveConfigPath(getUserConfigPathCandidates());\n\nconst getEffectiveEnterpriseConfigPath = (): string =>\n\tselectEffectiveConfigPath(getEnterpriseConfigPathCandidates());\n\ntype ParsedConfig = {\n\tservers: McpServerConfig[];\n\tauthPresets: McpAuthPresetConfig[];\n\ttrustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]>;\n\tworkspaceTrustDefault?: McpWorkspaceTrustDefault;\n};\ntype RawMcpConfigFile = z.infer<typeof mcpConfigSchema>;\ntype PersistedMcpAuthPresetConfig = Omit<McpAuthPresetInput, \"name\">;\ntype PersistedMcpServerConfig = Omit<McpServerInput, \"name\">;\nexport type WritableMcpScope = Exclude<McpScope, \"enterprise\" | \"plugin\">;\n\nexport interface LoadMcpOptions {\n\tpluginServers?: McpServerConfig[];\n\tincludeEnvLimits?: boolean;\n}\n\nexport interface AddMcpServerOptions {\n\tprojectRoot?: string;\n\tscope: WritableMcpScope;\n\tserver: McpServerInput & { name: string };\n}\n\nexport interface AddMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope: WritableMcpScope;\n\tpreset: McpAuthPresetInput & { name: string };\n}\n\nexport interface RemoveMcpServerOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n}\n\nexport interface RemoveMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n}\n\nexport interface UpdateMcpServerOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n\tserver: McpServerInput & { name: string };\n}\n\nexport interface UpdateMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n\tpreset: McpAuthPresetInput & { name: string };\n}\n\nexport function loadMcpConfig(\n\tprojectRoot?: string,\n\toptions: LoadMcpOptions = {},\n): McpConfig {\n\tconst userCfg = parseConfigFile(getEffectiveUserConfigPath(), \"user\");\n\tconst enterpriseCfg = parseConfigFile(\n\t\tgetEffectiveEnterpriseConfigPath(),\n\t\t\"enterprise\",\n\t);\n\tconst projectCfg = projectRoot\n\t\t? parseConfigFile(resolve(projectRoot, PROJECT_CONFIG_NAME), \"project\")\n\t\t: { servers: [], authPresets: [], trustedWorkspaces: {} };\n\tconst localCfg = projectRoot\n\t\t? parseConfigFile(resolve(projectRoot, LOCAL_CONFIG_NAME), \"local\")\n\t\t: { servers: [], authPresets: [], trustedWorkspaces: {} };\n\tconst pluginCfg: ParsedConfig = {\n\t\tservers: [\n\t\t\t...getPlatformMcpPluginServers(),\n\t\t\t...(options.pluginServers ?? []),\n\t\t],\n\t\tauthPresets: [],\n\t\ttrustedWorkspaces: {},\n\t};\n\n\tconst merged = new Map<string, McpServerConfig>();\n\tconst mergedAuthPresets = new Map<string, McpAuthPresetConfig>();\n\tconst mergedTrustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]> = {};\n\tlet workspaceTrustDefault: McpWorkspaceTrustDefault | undefined;\n\t// precedence: enterprise -> plugin -> project -> local -> user\n\t// lower precedence first, higher precedence last so later overrides earlier\n\tfor (const src of [userCfg, localCfg, projectCfg, pluginCfg, enterpriseCfg]) {\n\t\tfor (const authPreset of src.authPresets) {\n\t\t\tmergedAuthPresets.set(authPreset.name, authPreset);\n\t\t}\n\t\tfor (const server of src.servers) {\n\t\t\t// A higher-precedence config can explicitly disable a server defined earlier.\n\t\t\tif (server.enabled === false || server.disabled === true) {\n\t\t\t\tmerged.delete(server.name);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmerged.set(server.name, server);\n\t\t}\n\t\tfor (const [serverName, entries] of Object.entries(src.trustedWorkspaces)) {\n\t\t\tmergedTrustedWorkspaces[serverName] = [\n\t\t\t\t...(mergedTrustedWorkspaces[serverName] ?? []),\n\t\t\t\t...entries,\n\t\t\t];\n\t\t}\n\t\tif (src.workspaceTrustDefault) {\n\t\t\tworkspaceTrustDefault = src.workspaceTrustDefault;\n\t\t}\n\t}\n\n\tconst envLimits = options.includeEnvLimits\n\t\t? evaluateEnvValidators(defaultEnvValidators)\n\t\t: undefined;\n\n\treturn {\n\t\tservers: Array.from(merged.values()),\n\t\tauthPresets: Array.from(mergedAuthPresets.values()),\n\t\tprojectRoot: projectRoot ? resolve(projectRoot) : undefined,\n\t\ttrustedWorkspaces:\n\t\t\tObject.keys(mergedTrustedWorkspaces).length > 0\n\t\t\t\t? mergedTrustedWorkspaces\n\t\t\t\t: undefined,\n\t\tworkspaceTrustDefault,\n\t\tenvLimits,\n\t};\n}\n\nexport function getConfigPaths(projectRoot?: string): string[] {\n\tconst paths = [\n\t\tgetEffectiveUserConfigPath(),\n\t\tgetEffectiveEnterpriseConfigPath(),\n\t];\n\tif (projectRoot) {\n\t\tpaths.push(resolve(projectRoot, PROJECT_CONFIG_NAME));\n\t\tpaths.push(resolve(projectRoot, LOCAL_CONFIG_NAME));\n\t}\n\treturn paths;\n}\n\nexport function getWritableMcpConfigPath(\n\tscope: WritableMcpScope,\n\tprojectRoot = process.cwd(),\n): string {\n\tswitch (scope) {\n\t\tcase \"user\":\n\t\t\treturn getEffectiveUserConfigPath();\n\t\tcase \"project\":\n\t\t\treturn resolve(projectRoot, PROJECT_CONFIG_NAME);\n\t\tcase \"local\":\n\t\t\treturn resolve(projectRoot, LOCAL_CONFIG_NAME);\n\t}\n}\n\nexport function inferRemoteMcpTransport(url: string): \"http\" | \"sse\" {\n\treturn isSseUrl(url) ? \"sse\" : \"http\";\n}\n\nexport function addMcpServerToConfig(options: AddMcpServerOptions): {\n\tpath: string;\n} {\n\tconst path = getWritableMcpConfigPath(options.scope, options.projectRoot);\n\tconst validatedServer = mcpServerSchema.parse({\n\t\t...options.server,\n\t\ttransport:\n\t\t\toptions.server.transport ??\n\t\t\t(options.server.url\n\t\t\t\t? inferRemoteMcpTransport(options.server.url)\n\t\t\t\t: \"stdio\"),\n\t});\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\n\tconst nextConfig = structuredClone(parsed.data) as RawMcpConfigFile;\n\tconst hasObjectFormat =\n\t\tisRecord(nextConfig.mcpServers) || !Array.isArray(nextConfig.servers);\n\tif (hasObjectFormat) {\n\t\tconst existingServers = isRecord(nextConfig.mcpServers)\n\t\t\t? nextConfig.mcpServers\n\t\t\t: {};\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\texistingServers,\n\t\t\t\tvalidatedServer.name,\n\t\t\t)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`MCP server \"${validatedServer.name}\" already exists in ${path}`,\n\t\t\t);\n\t\t}\n\t\tnextConfig.mcpServers = {\n\t\t\t...existingServers,\n\t\t\t[validatedServer.name]: buildPersistedServerConfig(validatedServer),\n\t\t};\n\t} else {\n\t\tconst servers = nextConfig.servers ?? [];\n\t\tif (servers.some((server) => server.name === validatedServer.name)) {\n\t\t\tthrow new Error(\n\t\t\t\t`MCP server \"${validatedServer.name}\" already exists in ${path}`,\n\t\t\t);\n\t\t}\n\t\tnextConfig.servers = [\n\t\t\t...servers,\n\t\t\t{\n\t\t\t\t...buildPersistedServerConfig(validatedServer),\n\t\t\t\tname: validatedServer.name,\n\t\t\t},\n\t\t];\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path };\n}\n\nexport function addMcpAuthPresetToConfig(options: AddMcpAuthPresetOptions): {\n\tpath: string;\n} {\n\tconst path = getWritableMcpConfigPath(options.scope, options.projectRoot);\n\tconst validatedPreset = mcpAuthPresetSchema.parse(options.preset);\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\n\tconst nextConfig = structuredClone(parsed.data) as RawMcpConfigFile;\n\tconst existingPresets = isRecord(nextConfig.authPresets)\n\t\t? nextConfig.authPresets\n\t\t: {};\n\tif (\n\t\tObject.prototype.hasOwnProperty.call(existingPresets, validatedPreset.name)\n\t) {\n\t\tthrow new Error(\n\t\t\t`MCP auth preset \"${validatedPreset.name}\" already exists in ${path}`,\n\t\t);\n\t}\n\n\tnextConfig.authPresets = {\n\t\t...existingPresets,\n\t\t[validatedPreset.name]: buildPersistedAuthPresetConfig(validatedPreset),\n\t};\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path };\n}\n\nexport function removeMcpServerFromConfig(options: RemoveMcpServerOptions): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst removed = mutateWritableMcpConfig(nextConfig, options.name, \"remove\");\n\tif (!removed) {\n\t\tthrow new Error(`MCP server \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function removeMcpAuthPresetFromConfig(\n\toptions: RemoveMcpAuthPresetOptions,\n): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableAuthPresetMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst removed = mutateWritableMcpAuthPresetConfig(\n\t\tnextConfig,\n\t\toptions.name,\n\t\t\"remove\",\n\t);\n\tif (!removed) {\n\t\tthrow new Error(`MCP auth preset \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function updateMcpServerInConfig(options: UpdateMcpServerOptions): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tif (options.server.name !== options.name) {\n\t\tthrow new Error(\"Renaming MCP servers is not supported by /mcp edit.\");\n\t}\n\n\tconst validatedServer = mcpServerSchema.parse({\n\t\t...options.server,\n\t\ttransport:\n\t\t\toptions.server.transport ??\n\t\t\t(options.server.url\n\t\t\t\t? inferRemoteMcpTransport(options.server.url)\n\t\t\t\t: \"stdio\"),\n\t});\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst updated = mutateWritableMcpConfig(nextConfig, options.name, \"update\", {\n\t\tserver: validatedServer,\n\t});\n\tif (!updated) {\n\t\tthrow new Error(`MCP server \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function updateMcpAuthPresetInConfig(\n\toptions: UpdateMcpAuthPresetOptions,\n): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableAuthPresetMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tif (options.preset.name !== options.name) {\n\t\tthrow new Error(\"Renaming MCP auth presets is not supported.\");\n\t}\n\n\tconst validatedPreset = mcpAuthPresetSchema.parse(options.preset);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst updated = mutateWritableMcpAuthPresetConfig(\n\t\tnextConfig,\n\t\toptions.name,\n\t\t\"update\",\n\t\t{\n\t\t\tpreset: validatedPreset,\n\t\t},\n\t);\n\tif (!updated) {\n\t\tthrow new Error(`MCP auth preset \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nfunction parseConfigFile(path: string, scope: McpScope): ParsedConfig {\n\tif (!isConfigFile(path)) {\n\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t}\n\ttry {\n\t\tconst content = readFileSync(path, \"utf-8\");\n\t\tconst json = JSON.parse(content);\n\t\tconst parsed = mcpConfigSchema.safeParse(json);\n\t\tif (!parsed.success) {\n\t\t\tlogger.warn(\"Invalid MCP config\", {\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t\terror: parsed.error.issues.map((e) => e.message).join(\"; \"),\n\t\t\t});\n\t\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t\t}\n\n\t\tconst servers: McpServerConfig[] = [];\n\t\tconst authPresets: McpAuthPresetConfig[] = [];\n\t\tif (Array.isArray(parsed.data.servers)) {\n\t\t\tfor (const server of parsed.data.servers) {\n\t\t\t\tconst normalized = normalizeServer(server, server.name, scope);\n\t\t\t\tif (normalized) servers.push(normalized);\n\t\t\t}\n\t\t}\n\t\tif (parsed.data.mcpServers) {\n\t\t\tfor (const [name, raw] of Object.entries(parsed.data.mcpServers)) {\n\t\t\t\tconst merged: McpServerInput | { name: string } = isRecord(raw)\n\t\t\t\t\t? ({ ...raw, name } as McpServerInput)\n\t\t\t\t\t: { name };\n\t\t\t\tconst normalized = normalizeServer(merged, name, scope);\n\t\t\t\tif (normalized) servers.push(normalized);\n\t\t\t}\n\t\t}\n\t\tif (parsed.data.authPresets) {\n\t\t\tfor (const [name, raw] of Object.entries(parsed.data.authPresets)) {\n\t\t\t\tconst merged: McpAuthPresetInput | { name: string } = isRecord(raw)\n\t\t\t\t\t? ({ ...raw, name } as McpAuthPresetInput)\n\t\t\t\t\t: { name };\n\t\t\t\tconst normalized = normalizeAuthPreset(merged, name, scope);\n\t\t\t\tif (normalized) authPresets.push(normalized);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tservers,\n\t\t\tauthPresets,\n\t\t\ttrustedWorkspaces: normalizeTrustedWorkspaces(\n\t\t\t\tparsed.data.trustedWorkspaces,\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t),\n\t\t\tworkspaceTrustDefault: normalizeWorkspaceTrustDefault(\n\t\t\t\tparsed.data.workspaceTrustDefault,\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t),\n\t\t};\n\t} catch (error) {\n\t\tlogger.warn(\"Failed to parse MCP config file\", {\n\t\t\tpath,\n\t\t\tscope,\n\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t});\n\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t}\n}\n\nfunction normalizeWorkspaceTrustDefault(\n\traw: unknown,\n\tscope: McpScope,\n\tpath: string,\n): McpWorkspaceTrustDefault | undefined {\n\tif (raw === undefined) {\n\t\treturn undefined;\n\t}\n\tconst parsed = mcpWorkspaceTrustDefaultSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\tlogger.warn(\"Invalid MCP workspaceTrustDefault\", {\n\t\tscope,\n\t\tpath,\n\t\terror: parsed.error.issues.map((issue) => issue.message).join(\"; \"),\n\t});\n\treturn undefined;\n}\n\nfunction normalizeTrustedWorkspaces(\n\traw: unknown,\n\tscope: McpScope,\n\tpath: string,\n): Record<string, McpWorkspaceTrustEntry[]> {\n\tif (raw === undefined) {\n\t\treturn {};\n\t}\n\tif (!isRecord(raw)) {\n\t\tlogger.warn(\"Invalid MCP trustedWorkspaces\", {\n\t\t\tscope,\n\t\t\tpath,\n\t\t\terror: \"expected an object keyed by MCP server name\",\n\t\t});\n\t\treturn {};\n\t}\n\tconst trustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]> = {};\n\tfor (const [serverName, entries] of Object.entries(raw)) {\n\t\tif (!Array.isArray(entries)) {\n\t\t\tlogger.warn(\"Invalid MCP trustedWorkspaces entry\", {\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t\tserverName,\n\t\t\t\terror: \"expected an array of workspace trust entries\",\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst validEntries: McpWorkspaceTrustEntry[] = [];\n\t\tfor (const [index, entry] of entries.entries()) {\n\t\t\tconst parsed = mcpWorkspaceTrustEntrySchema.safeParse(entry);\n\t\t\tif (!parsed.success) {\n\t\t\t\tlogger.warn(\"Invalid MCP trusted workspace entry\", {\n\t\t\t\t\tscope,\n\t\t\t\t\tpath,\n\t\t\t\t\tserverName,\n\t\t\t\t\tindex,\n\t\t\t\t\terror: parsed.error.issues.map((issue) => issue.message).join(\"; \"),\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvalidEntries.push(parsed.data);\n\t\t}\n\t\tif (validEntries.length > 0) {\n\t\t\ttrustedWorkspaces[serverName] = validEntries;\n\t\t}\n\t}\n\treturn trustedWorkspaces;\n}\n\nfunction readWritableMcpConfig(\n\tscope: WritableMcpScope,\n\tprojectRoot: string,\n): {\n\tpath: string;\n\tconfig: RawMcpConfigFile;\n} {\n\tconst path = getWritableMcpConfigPath(scope, projectRoot);\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\treturn { path, config: parsed.data };\n}\n\nfunction resolveWritableMutationScope(\n\tname: string,\n\tscope: WritableMcpScope | undefined,\n\tprojectRoot: string,\n): WritableMcpScope {\n\tif (scope) {\n\t\treturn scope;\n\t}\n\n\tconst activeServer = loadMcpConfig(projectRoot).servers.find(\n\t\t(server) => server.name === name,\n\t);\n\tif (!activeServer) {\n\t\tthrow new Error(`MCP server \"${name}\" not found in merged config.`);\n\t}\n\tif (!isWritableScope(activeServer.scope)) {\n\t\tthrow new Error(\n\t\t\t`MCP server \"${name}\" is managed by ${activeServer.scope ?? \"an unknown\"} scope and cannot be edited here.`,\n\t\t);\n\t}\n\treturn activeServer.scope;\n}\n\nfunction resolveWritableAuthPresetMutationScope(\n\tname: string,\n\tscope: WritableMcpScope | undefined,\n\tprojectRoot: string,\n): WritableMcpScope {\n\tif (scope) {\n\t\treturn scope;\n\t}\n\n\tconst activePreset = loadMcpConfig(projectRoot).authPresets.find(\n\t\t(preset) => preset.name === name,\n\t);\n\tif (!activePreset) {\n\t\tthrow new Error(`MCP auth preset \"${name}\" not found in merged config.`);\n\t}\n\tif (!isWritableScope(activePreset.scope)) {\n\t\tthrow new Error(\n\t\t\t`MCP auth preset \"${name}\" is managed by ${activePreset.scope ?? \"an unknown\"} scope and cannot be edited here.`,\n\t\t);\n\t}\n\treturn activePreset.scope;\n}\n\nfunction mutateWritableMcpConfig(\n\tconfig: RawMcpConfigFile,\n\tname: string,\n\tmode: \"remove\" | \"update\",\n\toptions?: { server: McpServerInput & { name: string } },\n): boolean {\n\tif (\n\t\tisRecord(config.mcpServers) &&\n\t\tObject.prototype.hasOwnProperty.call(config.mcpServers, name)\n\t) {\n\t\tif (mode === \"remove\") {\n\t\t\tdelete config.mcpServers[name];\n\t\t} else {\n\t\t\tconfig.mcpServers[name] = buildPersistedServerConfig(options!.server);\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (Array.isArray(config.servers)) {\n\t\tconst index = config.servers.findIndex((server) => server.name === name);\n\t\tif (index >= 0) {\n\t\t\tif (mode === \"remove\") {\n\t\t\t\tconfig.servers.splice(index, 1);\n\t\t\t} else {\n\t\t\t\tconfig.servers[index] = {\n\t\t\t\t\t...buildPersistedServerConfig(options!.server),\n\t\t\t\t\tname: options!.server.name,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction mutateWritableMcpAuthPresetConfig(\n\tconfig: RawMcpConfigFile,\n\tname: string,\n\tmode: \"remove\" | \"update\",\n\toptions?: {\n\t\tpreset: McpAuthPresetInput & { name: string };\n\t},\n): boolean {\n\tif (\n\t\tisRecord(config.authPresets) &&\n\t\tObject.prototype.hasOwnProperty.call(config.authPresets, name)\n\t) {\n\t\tif (mode === \"remove\") {\n\t\t\tdelete config.authPresets[name];\n\t\t} else {\n\t\t\tconfig.authPresets[name] = buildPersistedAuthPresetConfig(\n\t\t\t\toptions!.preset,\n\t\t\t);\n\t\t}\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nfunction normalizeServer(\n\tserver: McpServerInput,\n\tname: string,\n\tscope: McpScope,\n): McpServerConfig | null {\n\tconst transport = resolveTransport(server);\n\tconst expanded = expandServerEnv({ ...server, name, transport });\n\n\tconst validated = mcpServerSchema.safeParse(expanded);\n\tif (!validated.success) {\n\t\tlogger.warn(\"Invalid MCP server entry\", {\n\t\t\tscope,\n\t\t\tname,\n\t\t\terror: validated.error.issues.map((e) => e.message).join(\"; \"),\n\t\t});\n\t\treturn null;\n\t}\n\n\tconst cleanEnv =\n\t\tvalidated.data.env && typeof validated.data.env === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.env).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\tconst cleanHeaders =\n\t\tvalidated.data.headers && typeof validated.data.headers === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.headers).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\n\treturn {\n\t\t...validated.data,\n\t\tenv: cleanEnv,\n\t\theaders: cleanHeaders,\n\t\ttransport,\n\t\tscope,\n\t\tenabled: validated.data.enabled ?? validated.data.disabled !== true,\n\t\tsupportsParallelToolCalls:\n\t\t\tvalidated.data.supportsParallelToolCalls === true,\n\t};\n}\n\nfunction normalizeAuthPreset(\n\tpreset: McpAuthPresetInput,\n\tname: string,\n\tscope: McpScope,\n): McpAuthPresetConfig | null {\n\tconst expanded = expandAuthPresetEnv({ ...preset, name });\n\tconst validated = mcpAuthPresetSchema.safeParse(expanded);\n\tif (!validated.success) {\n\t\tlogger.warn(\"Invalid MCP auth preset entry\", {\n\t\t\tscope,\n\t\t\tname,\n\t\t\terror: validated.error.issues.map((e) => e.message).join(\"; \"),\n\t\t});\n\t\treturn null;\n\t}\n\n\tconst cleanHeaders =\n\t\tvalidated.data.headers && typeof validated.data.headers === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.headers).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\n\treturn {\n\t\t...validated.data,\n\t\theaders: cleanHeaders,\n\t\tscope,\n\t};\n}\n\nfunction resolveTransport(\n\tserver: McpServerInput,\n): McpServerConfig[\"transport\"] {\n\tif (\n\t\tserver.transport &&\n\t\t(server.transport === \"stdio\" ||\n\t\t\tserver.transport === \"http\" ||\n\t\t\tserver.transport === \"sse\")\n\t) {\n\t\treturn server.transport;\n\t}\n\tif (server.url) {\n\t\treturn isSseUrl(server.url) ? \"sse\" : \"http\";\n\t}\n\treturn \"stdio\";\n}\n\nfunction isSseUrl(rawUrl: string): boolean {\n\ttry {\n\t\tconst parsed = new URL(rawUrl);\n\t\tif (parsed.hostname.startsWith(\"sse.\")) return true;\n\t\tconst path = parsed.pathname || \"\";\n\t\tif (path.endsWith(\"/sse\")) return true;\n\t\tif (path.includes(\"/sse/\")) return true;\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction buildPersistedServerConfig(\n\tserver: McpServerInput & { name: string },\n): PersistedMcpServerConfig {\n\treturn {\n\t\ttransport: server.transport,\n\t\tcommand: server.command,\n\t\targs: server.args,\n\t\tenv: server.env,\n\t\tcwd: server.cwd,\n\t\turl: server.url,\n\t\theaders: server.headers,\n\t\theadersHelper: server.headersHelper,\n\t\tauthPreset: server.authPreset,\n\t\ttimeout: server.timeout,\n\t\tenabled: server.enabled,\n\t\tdisabled: server.disabled,\n\t\tsupportsParallelToolCalls: server.supportsParallelToolCalls,\n\t};\n}\n\nfunction buildPersistedAuthPresetConfig(\n\tpreset: McpAuthPresetInput & { name: string },\n): PersistedMcpAuthPresetConfig {\n\treturn {\n\t\theaders: preset.headers,\n\t\theadersHelper: preset.headersHelper,\n\t};\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isWritableScope(\n\tvalue: McpScope | undefined,\n): value is WritableMcpScope {\n\treturn value === \"local\" || value === \"project\" || value === \"user\";\n}\n\nfunction expandValue(\n\tvalue: string | undefined,\n\tcontext: { kind: \"server\" | \"authPreset\"; name: string },\n): string | undefined {\n\tif (!value) return value;\n\treturn value.replace(/\\$\\{([^}]+)\\}/g, (_match, expr: unknown) => {\n\t\tconst [name, fallback] = String(expr).split(\":-\");\n\t\tconst val = name ? process.env[name] : undefined;\n\t\tif (val !== undefined) return val;\n\t\tif (fallback !== undefined) return fallback;\n\t\tlogger.debug(\"Missing environment variable during MCP expansion\", {\n\t\t\t[context.kind]: context.name,\n\t\t\tvariable: name,\n\t\t});\n\t\treturn _match;\n\t});\n}\n\nfunction expandServerEnv(\n\tserver: McpServerInput & {\n\t\ttransport: McpServerConfig[\"transport\"];\n\t\tname: string;\n\t},\n): McpServerInput {\n\tconst expand = (value?: string) =>\n\t\texpandValue(value, { kind: \"server\", name: server.name });\n\n\treturn {\n\t\t...server,\n\t\tcommand: expand(server.command),\n\t\targs: server.args\n\t\t\t? server.args.map((v) => expand(String(v)) ?? \"\")\n\t\t\t: undefined,\n\t\tenv: server.env\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(server.env).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\",\n\t\t\t\t\t]),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\turl: expand(server.url),\n\t\theaders: server.headers\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(server.headers).map(([k, v]) => {\n\t\t\t\t\t\tconst expanded =\n\t\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\";\n\t\t\t\t\t\treturn [k, expanded] as [string, string];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\theadersHelper: expand(server.headersHelper),\n\t\tauthPreset: expand(server.authPreset),\n\t\tcwd: expand(server.cwd),\n\t};\n}\n\nfunction expandAuthPresetEnv(\n\tpreset: McpAuthPresetInput & { name: string },\n): McpAuthPresetInput {\n\tconst expand = (value?: string) =>\n\t\texpandValue(value, { kind: \"authPreset\", name: preset.name });\n\n\treturn {\n\t\t...preset,\n\t\theaders: preset.headers\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(preset.headers).map(([k, v]) => {\n\t\t\t\t\t\tconst expanded =\n\t\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\";\n\t\t\t\t\t\treturn [k, expanded] as [string, string];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\theadersHelper: expand(preset.headersHelper),\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MCP Configuration - Model Context Protocol Server Management\n *\n * This module handles loading and merging MCP (Model Context Protocol)\n * server configurations from multiple sources. MCP servers extend the\n * agent's capabilities with additional tools and integrations.\n *\n * ## Configuration Sources (precedence order)\n *\n * 1. **Enterprise**: `~/.maestro/enterprise/mcp.json` (highest; legacy\n * Composer enterprise MCP config remains a fallback)\n * 2. **Plugin**: Programmatically provided servers\n * 3. **Project**: `.maestro/mcp.json` in project root\n * 4. **Local**: `.maestro/mcp.local.json` (git-ignored)\n * 5. **User**: `~/.maestro/mcp.json` (lowest; legacy Composer user MCP config\n * remains a fallback)\n *\n * ## Configuration Format\n *\n * ```json\n * {\n * \"servers\": [\n * {\n * \"name\": \"my-server\",\n * \"transport\": \"stdio\",\n * \"command\": \"node\",\n * \"args\": [\"path/to/server.js\"],\n * \"env\": { \"API_KEY\": \"${MY_API_KEY}\" }\n * }\n * ],\n * \"mcpServers\": {\n * \"another-server\": {\n * \"command\": \"python\",\n * \"args\": [\"-m\", \"my_mcp_server\"]\n * }\n * }\n * }\n * ```\n *\n * ## Transport Types\n *\n * | Transport | Description |\n * |-----------|------------------------------------------|\n * | stdio | Communicate via stdin/stdout (default) |\n * | http | HTTP-based transport |\n * | sse | Server-Sent Events transport |\n *\n * ## Environment Variable Expansion\n *\n * Supports `${VAR}` and `${VAR:-default}` syntax in:\n * - command, args, url, cwd, headersHelper\n * - env values\n * - headers\n *\n * @module mcp/config\n */\n\nimport { readFileSync, statSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport type { z } from \"zod\";\nimport { PATHS } from \"../config/constants.js\";\nimport { readJsonFile, writeJsonFile } from \"../utils/fs.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { getHomeDir, resolveEnvPath } from \"../utils/path-expansion.js\";\nimport { uniquePaths } from \"../utils/path-utils.js\";\nimport { defaultEnvValidators, evaluateEnvValidators } from \"./env-limits.js\";\nimport { getFathomCuaPluginServers } from \"./fathom-cua.js\";\nimport { getPlatformMcpPluginServers } from \"./platform-plugin.js\";\nimport {\n\ttype McpAuthPresetInput,\n\ttype McpServerInput,\n\tmcpAuthPresetSchema,\n\tmcpConfigSchema,\n\tmcpServerSchema,\n\tmcpWorkspaceTrustDefaultSchema,\n\tmcpWorkspaceTrustEntrySchema,\n} from \"./schema.js\";\nimport type {\n\tMcpAuthPresetConfig,\n\tMcpConfig,\n\tMcpScope,\n\tMcpServerConfig,\n\tMcpWorkspaceTrustDefault,\n\tMcpWorkspaceTrustEntry,\n} from \"./types.js\";\n\nconst logger = createLogger(\"mcp:config\");\n\nconst PROJECT_CONFIG_NAME = \".maestro/mcp.json\";\nconst LOCAL_CONFIG_NAME = \".maestro/mcp.local.json\";\n\nconst getEnterpriseConfigPathOverride = (): string | null =>\n\tresolveEnvPath(process.env.MAESTRO_ENTERPRISE_MCP_PATH);\n\nconst getDefaultEnterpriseConfigPath = (): string =>\n\tjoin(PATHS.MAESTRO_HOME, \"enterprise\", \"mcp.json\");\n\nconst getEnterpriseConfigPath = (): string =>\n\tgetEnterpriseConfigPathOverride() ?? getDefaultEnterpriseConfigPath();\n\nconst getUserConfigPathOverride = (): string | null =>\n\tresolveEnvPath(process.env.MAESTRO_USER_MCP_PATH);\n\nconst getDefaultUserConfigPath = (): string =>\n\tjoin(PATHS.MAESTRO_HOME, \"mcp.json\");\n\nconst getUserConfigPath = (): string =>\n\tgetUserConfigPathOverride() ?? getDefaultUserConfigPath();\n\nconst getLegacyEnterpriseConfigPath = (): string =>\n\tjoin(getHomeDir(), \".composer\", \"enterprise\", \"mcp.json\");\n\nconst getLegacyUserConfigPath = (): string =>\n\tjoin(getHomeDir(), \".composer\", \"mcp.json\");\n\nfunction isConfigFile(path: string): boolean {\n\ttry {\n\t\treturn statSync(path).isFile();\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction selectEffectiveConfigPath(paths: string[]): string {\n\treturn paths.find(isConfigFile) ?? paths[0]!;\n}\n\nconst getUserConfigPathCandidates = (): string[] => {\n\tconst overridePath = getUserConfigPathOverride();\n\tif (overridePath) {\n\t\treturn [overridePath];\n\t}\n\treturn uniquePaths([getDefaultUserConfigPath(), getLegacyUserConfigPath()]);\n};\n\nconst getEnterpriseConfigPathCandidates = (): string[] => {\n\tconst overridePath = getEnterpriseConfigPathOverride();\n\tif (overridePath) {\n\t\treturn [overridePath];\n\t}\n\treturn uniquePaths([\n\t\tgetDefaultEnterpriseConfigPath(),\n\t\tgetLegacyEnterpriseConfigPath(),\n\t]);\n};\n\nconst getEffectiveUserConfigPath = (): string =>\n\tselectEffectiveConfigPath(getUserConfigPathCandidates());\n\nconst getEffectiveEnterpriseConfigPath = (): string =>\n\tselectEffectiveConfigPath(getEnterpriseConfigPathCandidates());\n\ntype ParsedConfig = {\n\tservers: McpServerConfig[];\n\tauthPresets: McpAuthPresetConfig[];\n\ttrustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]>;\n\tworkspaceTrustDefault?: McpWorkspaceTrustDefault;\n};\ntype RawMcpConfigFile = z.infer<typeof mcpConfigSchema>;\ntype PersistedMcpAuthPresetConfig = Omit<McpAuthPresetInput, \"name\">;\ntype PersistedMcpServerConfig = Omit<McpServerInput, \"name\">;\nexport type WritableMcpScope = Exclude<McpScope, \"enterprise\" | \"plugin\">;\n\nexport interface LoadMcpOptions {\n\tpluginServers?: McpServerConfig[];\n\tincludeEnvLimits?: boolean;\n}\n\nexport interface AddMcpServerOptions {\n\tprojectRoot?: string;\n\tscope: WritableMcpScope;\n\tserver: McpServerInput & { name: string };\n}\n\nexport interface AddMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope: WritableMcpScope;\n\tpreset: McpAuthPresetInput & { name: string };\n}\n\nexport interface RemoveMcpServerOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n}\n\nexport interface RemoveMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n}\n\nexport interface UpdateMcpServerOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n\tserver: McpServerInput & { name: string };\n}\n\nexport interface UpdateMcpAuthPresetOptions {\n\tprojectRoot?: string;\n\tscope?: WritableMcpScope;\n\tname: string;\n\tpreset: McpAuthPresetInput & { name: string };\n}\n\nexport function loadMcpConfig(\n\tprojectRoot?: string,\n\toptions: LoadMcpOptions = {},\n): McpConfig {\n\tconst userCfg = parseConfigFile(getEffectiveUserConfigPath(), \"user\");\n\tconst enterpriseCfg = parseConfigFile(\n\t\tgetEffectiveEnterpriseConfigPath(),\n\t\t\"enterprise\",\n\t);\n\tconst projectCfg = projectRoot\n\t\t? parseConfigFile(resolve(projectRoot, PROJECT_CONFIG_NAME), \"project\")\n\t\t: { servers: [], authPresets: [], trustedWorkspaces: {} };\n\tconst localCfg = projectRoot\n\t\t? parseConfigFile(resolve(projectRoot, LOCAL_CONFIG_NAME), \"local\")\n\t\t: { servers: [], authPresets: [], trustedWorkspaces: {} };\n\tconst pluginCfg: ParsedConfig = {\n\t\tservers: [\n\t\t\t...getPlatformMcpPluginServers(),\n\t\t\t...getFathomCuaPluginServers(),\n\t\t\t...(options.pluginServers ?? []),\n\t\t],\n\t\tauthPresets: [],\n\t\ttrustedWorkspaces: {},\n\t};\n\n\tconst merged = new Map<string, McpServerConfig>();\n\tconst mergedAuthPresets = new Map<string, McpAuthPresetConfig>();\n\tconst mergedTrustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]> = {};\n\tlet workspaceTrustDefault: McpWorkspaceTrustDefault | undefined;\n\t// precedence: enterprise -> plugin -> project -> local -> user\n\t// lower precedence first, higher precedence last so later overrides earlier\n\tfor (const src of [userCfg, localCfg, projectCfg, pluginCfg, enterpriseCfg]) {\n\t\tfor (const authPreset of src.authPresets) {\n\t\t\tmergedAuthPresets.set(authPreset.name, authPreset);\n\t\t}\n\t\tfor (const server of src.servers) {\n\t\t\t// A higher-precedence config can explicitly disable a server defined earlier.\n\t\t\tif (server.enabled === false || server.disabled === true) {\n\t\t\t\tmerged.delete(server.name);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmerged.set(server.name, server);\n\t\t}\n\t\tfor (const [serverName, entries] of Object.entries(src.trustedWorkspaces)) {\n\t\t\tmergedTrustedWorkspaces[serverName] = [\n\t\t\t\t...(mergedTrustedWorkspaces[serverName] ?? []),\n\t\t\t\t...entries,\n\t\t\t];\n\t\t}\n\t\tif (src.workspaceTrustDefault) {\n\t\t\tworkspaceTrustDefault = src.workspaceTrustDefault;\n\t\t}\n\t}\n\n\tconst envLimits = options.includeEnvLimits\n\t\t? evaluateEnvValidators(defaultEnvValidators)\n\t\t: undefined;\n\n\treturn {\n\t\tservers: Array.from(merged.values()),\n\t\tauthPresets: Array.from(mergedAuthPresets.values()),\n\t\tprojectRoot: projectRoot ? resolve(projectRoot) : undefined,\n\t\ttrustedWorkspaces:\n\t\t\tObject.keys(mergedTrustedWorkspaces).length > 0\n\t\t\t\t? mergedTrustedWorkspaces\n\t\t\t\t: undefined,\n\t\tworkspaceTrustDefault,\n\t\tenvLimits,\n\t};\n}\n\nexport function getConfigPaths(projectRoot?: string): string[] {\n\tconst paths = [\n\t\tgetEffectiveUserConfigPath(),\n\t\tgetEffectiveEnterpriseConfigPath(),\n\t];\n\tif (projectRoot) {\n\t\tpaths.push(resolve(projectRoot, PROJECT_CONFIG_NAME));\n\t\tpaths.push(resolve(projectRoot, LOCAL_CONFIG_NAME));\n\t}\n\treturn paths;\n}\n\nexport function getWritableMcpConfigPath(\n\tscope: WritableMcpScope,\n\tprojectRoot = process.cwd(),\n): string {\n\tswitch (scope) {\n\t\tcase \"user\":\n\t\t\treturn getEffectiveUserConfigPath();\n\t\tcase \"project\":\n\t\t\treturn resolve(projectRoot, PROJECT_CONFIG_NAME);\n\t\tcase \"local\":\n\t\t\treturn resolve(projectRoot, LOCAL_CONFIG_NAME);\n\t}\n}\n\nexport function inferRemoteMcpTransport(url: string): \"http\" | \"sse\" {\n\treturn isSseUrl(url) ? \"sse\" : \"http\";\n}\n\nexport function addMcpServerToConfig(options: AddMcpServerOptions): {\n\tpath: string;\n} {\n\tconst path = getWritableMcpConfigPath(options.scope, options.projectRoot);\n\tconst validatedServer = mcpServerSchema.parse({\n\t\t...options.server,\n\t\ttransport:\n\t\t\toptions.server.transport ??\n\t\t\t(options.server.url\n\t\t\t\t? inferRemoteMcpTransport(options.server.url)\n\t\t\t\t: \"stdio\"),\n\t});\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\n\tconst nextConfig = structuredClone(parsed.data) as RawMcpConfigFile;\n\tconst hasObjectFormat =\n\t\tisRecord(nextConfig.mcpServers) || !Array.isArray(nextConfig.servers);\n\tif (hasObjectFormat) {\n\t\tconst existingServers = isRecord(nextConfig.mcpServers)\n\t\t\t? nextConfig.mcpServers\n\t\t\t: {};\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\texistingServers,\n\t\t\t\tvalidatedServer.name,\n\t\t\t)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t`MCP server \"${validatedServer.name}\" already exists in ${path}`,\n\t\t\t);\n\t\t}\n\t\tnextConfig.mcpServers = {\n\t\t\t...existingServers,\n\t\t\t[validatedServer.name]: buildPersistedServerConfig(validatedServer),\n\t\t};\n\t} else {\n\t\tconst servers = nextConfig.servers ?? [];\n\t\tif (servers.some((server) => server.name === validatedServer.name)) {\n\t\t\tthrow new Error(\n\t\t\t\t`MCP server \"${validatedServer.name}\" already exists in ${path}`,\n\t\t\t);\n\t\t}\n\t\tnextConfig.servers = [\n\t\t\t...servers,\n\t\t\t{\n\t\t\t\t...buildPersistedServerConfig(validatedServer),\n\t\t\t\tname: validatedServer.name,\n\t\t\t},\n\t\t];\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path };\n}\n\nexport function addMcpAuthPresetToConfig(options: AddMcpAuthPresetOptions): {\n\tpath: string;\n} {\n\tconst path = getWritableMcpConfigPath(options.scope, options.projectRoot);\n\tconst validatedPreset = mcpAuthPresetSchema.parse(options.preset);\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\n\tconst nextConfig = structuredClone(parsed.data) as RawMcpConfigFile;\n\tconst existingPresets = isRecord(nextConfig.authPresets)\n\t\t? nextConfig.authPresets\n\t\t: {};\n\tif (\n\t\tObject.prototype.hasOwnProperty.call(existingPresets, validatedPreset.name)\n\t) {\n\t\tthrow new Error(\n\t\t\t`MCP auth preset \"${validatedPreset.name}\" already exists in ${path}`,\n\t\t);\n\t}\n\n\tnextConfig.authPresets = {\n\t\t...existingPresets,\n\t\t[validatedPreset.name]: buildPersistedAuthPresetConfig(validatedPreset),\n\t};\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path };\n}\n\nexport function removeMcpServerFromConfig(options: RemoveMcpServerOptions): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst removed = mutateWritableMcpConfig(nextConfig, options.name, \"remove\");\n\tif (!removed) {\n\t\tthrow new Error(`MCP server \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function removeMcpAuthPresetFromConfig(\n\toptions: RemoveMcpAuthPresetOptions,\n): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableAuthPresetMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst removed = mutateWritableMcpAuthPresetConfig(\n\t\tnextConfig,\n\t\toptions.name,\n\t\t\"remove\",\n\t);\n\tif (!removed) {\n\t\tthrow new Error(`MCP auth preset \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function updateMcpServerInConfig(options: UpdateMcpServerOptions): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tif (options.server.name !== options.name) {\n\t\tthrow new Error(\"Renaming MCP servers is not supported by /mcp edit.\");\n\t}\n\n\tconst validatedServer = mcpServerSchema.parse({\n\t\t...options.server,\n\t\ttransport:\n\t\t\toptions.server.transport ??\n\t\t\t(options.server.url\n\t\t\t\t? inferRemoteMcpTransport(options.server.url)\n\t\t\t\t: \"stdio\"),\n\t});\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst updated = mutateWritableMcpConfig(nextConfig, options.name, \"update\", {\n\t\tserver: validatedServer,\n\t});\n\tif (!updated) {\n\t\tthrow new Error(`MCP server \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nexport function updateMcpAuthPresetInConfig(\n\toptions: UpdateMcpAuthPresetOptions,\n): {\n\tpath: string;\n\tscope: WritableMcpScope;\n} {\n\tconst projectRoot = options.projectRoot ?? process.cwd();\n\tconst scope = resolveWritableAuthPresetMutationScope(\n\t\toptions.name,\n\t\toptions.scope,\n\t\tprojectRoot,\n\t);\n\tif (options.preset.name !== options.name) {\n\t\tthrow new Error(\"Renaming MCP auth presets is not supported.\");\n\t}\n\n\tconst validatedPreset = mcpAuthPresetSchema.parse(options.preset);\n\tconst { path, config } = readWritableMcpConfig(scope, projectRoot);\n\tconst nextConfig = structuredClone(config) as RawMcpConfigFile;\n\tconst updated = mutateWritableMcpAuthPresetConfig(\n\t\tnextConfig,\n\t\toptions.name,\n\t\t\"update\",\n\t\t{\n\t\t\tpreset: validatedPreset,\n\t\t},\n\t);\n\tif (!updated) {\n\t\tthrow new Error(`MCP auth preset \"${options.name}\" not found in ${path}`);\n\t}\n\n\twriteJsonFile(path, nextConfig);\n\treturn { path, scope };\n}\n\nfunction parseConfigFile(path: string, scope: McpScope): ParsedConfig {\n\tif (!isConfigFile(path)) {\n\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t}\n\ttry {\n\t\tconst content = readFileSync(path, \"utf-8\");\n\t\tconst json = JSON.parse(content);\n\t\tconst parsed = mcpConfigSchema.safeParse(json);\n\t\tif (!parsed.success) {\n\t\t\tlogger.warn(\"Invalid MCP config\", {\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t\terror: parsed.error.issues.map((e) => e.message).join(\"; \"),\n\t\t\t});\n\t\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t\t}\n\n\t\tconst servers: McpServerConfig[] = [];\n\t\tconst authPresets: McpAuthPresetConfig[] = [];\n\t\tif (Array.isArray(parsed.data.servers)) {\n\t\t\tfor (const server of parsed.data.servers) {\n\t\t\t\tconst normalized = normalizeServer(server, server.name, scope);\n\t\t\t\tif (normalized) servers.push(normalized);\n\t\t\t}\n\t\t}\n\t\tif (parsed.data.mcpServers) {\n\t\t\tfor (const [name, raw] of Object.entries(parsed.data.mcpServers)) {\n\t\t\t\tconst merged: McpServerInput | { name: string } = isRecord(raw)\n\t\t\t\t\t? ({ ...raw, name } as McpServerInput)\n\t\t\t\t\t: { name };\n\t\t\t\tconst normalized = normalizeServer(merged, name, scope);\n\t\t\t\tif (normalized) servers.push(normalized);\n\t\t\t}\n\t\t}\n\t\tif (parsed.data.authPresets) {\n\t\t\tfor (const [name, raw] of Object.entries(parsed.data.authPresets)) {\n\t\t\t\tconst merged: McpAuthPresetInput | { name: string } = isRecord(raw)\n\t\t\t\t\t? ({ ...raw, name } as McpAuthPresetInput)\n\t\t\t\t\t: { name };\n\t\t\t\tconst normalized = normalizeAuthPreset(merged, name, scope);\n\t\t\t\tif (normalized) authPresets.push(normalized);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tservers,\n\t\t\tauthPresets,\n\t\t\ttrustedWorkspaces: normalizeTrustedWorkspaces(\n\t\t\t\tparsed.data.trustedWorkspaces,\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t),\n\t\t\tworkspaceTrustDefault: normalizeWorkspaceTrustDefault(\n\t\t\t\tparsed.data.workspaceTrustDefault,\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t),\n\t\t};\n\t} catch (error) {\n\t\tlogger.warn(\"Failed to parse MCP config file\", {\n\t\t\tpath,\n\t\t\tscope,\n\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\tstack: error instanceof Error ? error.stack : undefined,\n\t\t});\n\t\treturn { servers: [], authPresets: [], trustedWorkspaces: {} };\n\t}\n}\n\nfunction normalizeWorkspaceTrustDefault(\n\traw: unknown,\n\tscope: McpScope,\n\tpath: string,\n): McpWorkspaceTrustDefault | undefined {\n\tif (raw === undefined) {\n\t\treturn undefined;\n\t}\n\tconst parsed = mcpWorkspaceTrustDefaultSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\tlogger.warn(\"Invalid MCP workspaceTrustDefault\", {\n\t\tscope,\n\t\tpath,\n\t\terror: parsed.error.issues.map((issue) => issue.message).join(\"; \"),\n\t});\n\treturn undefined;\n}\n\nfunction normalizeTrustedWorkspaces(\n\traw: unknown,\n\tscope: McpScope,\n\tpath: string,\n): Record<string, McpWorkspaceTrustEntry[]> {\n\tif (raw === undefined) {\n\t\treturn {};\n\t}\n\tif (!isRecord(raw)) {\n\t\tlogger.warn(\"Invalid MCP trustedWorkspaces\", {\n\t\t\tscope,\n\t\t\tpath,\n\t\t\terror: \"expected an object keyed by MCP server name\",\n\t\t});\n\t\treturn {};\n\t}\n\tconst trustedWorkspaces: Record<string, McpWorkspaceTrustEntry[]> = {};\n\tfor (const [serverName, entries] of Object.entries(raw)) {\n\t\tif (!Array.isArray(entries)) {\n\t\t\tlogger.warn(\"Invalid MCP trustedWorkspaces entry\", {\n\t\t\t\tscope,\n\t\t\t\tpath,\n\t\t\t\tserverName,\n\t\t\t\terror: \"expected an array of workspace trust entries\",\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst validEntries: McpWorkspaceTrustEntry[] = [];\n\t\tfor (const [index, entry] of entries.entries()) {\n\t\t\tconst parsed = mcpWorkspaceTrustEntrySchema.safeParse(entry);\n\t\t\tif (!parsed.success) {\n\t\t\t\tlogger.warn(\"Invalid MCP trusted workspace entry\", {\n\t\t\t\t\tscope,\n\t\t\t\t\tpath,\n\t\t\t\t\tserverName,\n\t\t\t\t\tindex,\n\t\t\t\t\terror: parsed.error.issues.map((issue) => issue.message).join(\"; \"),\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvalidEntries.push(parsed.data);\n\t\t}\n\t\tif (validEntries.length > 0) {\n\t\t\ttrustedWorkspaces[serverName] = validEntries;\n\t\t}\n\t}\n\treturn trustedWorkspaces;\n}\n\nfunction readWritableMcpConfig(\n\tscope: WritableMcpScope,\n\tprojectRoot: string,\n): {\n\tpath: string;\n\tconfig: RawMcpConfigFile;\n} {\n\tconst path = getWritableMcpConfigPath(scope, projectRoot);\n\tconst existing = readJsonFile<unknown>(path, { fallback: {} });\n\tconst parsed = mcpConfigSchema.safeParse(existing);\n\tif (!parsed.success) {\n\t\tthrow new Error(\n\t\t\t`Invalid MCP config at ${path}: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n\t\t);\n\t}\n\treturn { path, config: parsed.data };\n}\n\nfunction resolveWritableMutationScope(\n\tname: string,\n\tscope: WritableMcpScope | undefined,\n\tprojectRoot: string,\n): WritableMcpScope {\n\tif (scope) {\n\t\treturn scope;\n\t}\n\n\tconst activeServer = loadMcpConfig(projectRoot).servers.find(\n\t\t(server) => server.name === name,\n\t);\n\tif (!activeServer) {\n\t\tthrow new Error(`MCP server \"${name}\" not found in merged config.`);\n\t}\n\tif (!isWritableScope(activeServer.scope)) {\n\t\tthrow new Error(\n\t\t\t`MCP server \"${name}\" is managed by ${activeServer.scope ?? \"an unknown\"} scope and cannot be edited here.`,\n\t\t);\n\t}\n\treturn activeServer.scope;\n}\n\nfunction resolveWritableAuthPresetMutationScope(\n\tname: string,\n\tscope: WritableMcpScope | undefined,\n\tprojectRoot: string,\n): WritableMcpScope {\n\tif (scope) {\n\t\treturn scope;\n\t}\n\n\tconst activePreset = loadMcpConfig(projectRoot).authPresets.find(\n\t\t(preset) => preset.name === name,\n\t);\n\tif (!activePreset) {\n\t\tthrow new Error(`MCP auth preset \"${name}\" not found in merged config.`);\n\t}\n\tif (!isWritableScope(activePreset.scope)) {\n\t\tthrow new Error(\n\t\t\t`MCP auth preset \"${name}\" is managed by ${activePreset.scope ?? \"an unknown\"} scope and cannot be edited here.`,\n\t\t);\n\t}\n\treturn activePreset.scope;\n}\n\nfunction mutateWritableMcpConfig(\n\tconfig: RawMcpConfigFile,\n\tname: string,\n\tmode: \"remove\" | \"update\",\n\toptions?: { server: McpServerInput & { name: string } },\n): boolean {\n\tif (\n\t\tisRecord(config.mcpServers) &&\n\t\tObject.prototype.hasOwnProperty.call(config.mcpServers, name)\n\t) {\n\t\tif (mode === \"remove\") {\n\t\t\tdelete config.mcpServers[name];\n\t\t} else {\n\t\t\tconfig.mcpServers[name] = buildPersistedServerConfig(options!.server);\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (Array.isArray(config.servers)) {\n\t\tconst index = config.servers.findIndex((server) => server.name === name);\n\t\tif (index >= 0) {\n\t\t\tif (mode === \"remove\") {\n\t\t\t\tconfig.servers.splice(index, 1);\n\t\t\t} else {\n\t\t\t\tconfig.servers[index] = {\n\t\t\t\t\t...buildPersistedServerConfig(options!.server),\n\t\t\t\t\tname: options!.server.name,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction mutateWritableMcpAuthPresetConfig(\n\tconfig: RawMcpConfigFile,\n\tname: string,\n\tmode: \"remove\" | \"update\",\n\toptions?: {\n\t\tpreset: McpAuthPresetInput & { name: string };\n\t},\n): boolean {\n\tif (\n\t\tisRecord(config.authPresets) &&\n\t\tObject.prototype.hasOwnProperty.call(config.authPresets, name)\n\t) {\n\t\tif (mode === \"remove\") {\n\t\t\tdelete config.authPresets[name];\n\t\t} else {\n\t\t\tconfig.authPresets[name] = buildPersistedAuthPresetConfig(\n\t\t\t\toptions!.preset,\n\t\t\t);\n\t\t}\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nfunction normalizeServer(\n\tserver: McpServerInput,\n\tname: string,\n\tscope: McpScope,\n): McpServerConfig | null {\n\tconst transport = resolveTransport(server);\n\tconst expanded = expandServerEnv({ ...server, name, transport });\n\n\tconst validated = mcpServerSchema.safeParse(expanded);\n\tif (!validated.success) {\n\t\tlogger.warn(\"Invalid MCP server entry\", {\n\t\t\tscope,\n\t\t\tname,\n\t\t\terror: validated.error.issues.map((e) => e.message).join(\"; \"),\n\t\t});\n\t\treturn null;\n\t}\n\n\tconst cleanEnv =\n\t\tvalidated.data.env && typeof validated.data.env === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.env).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\tconst cleanHeaders =\n\t\tvalidated.data.headers && typeof validated.data.headers === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.headers).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\n\treturn {\n\t\t...validated.data,\n\t\tenv: cleanEnv,\n\t\theaders: cleanHeaders,\n\t\ttransport,\n\t\tscope,\n\t\tenabled: validated.data.enabled ?? validated.data.disabled !== true,\n\t\tsupportsParallelToolCalls:\n\t\t\tvalidated.data.supportsParallelToolCalls === true,\n\t};\n}\n\nfunction normalizeAuthPreset(\n\tpreset: McpAuthPresetInput,\n\tname: string,\n\tscope: McpScope,\n): McpAuthPresetConfig | null {\n\tconst expanded = expandAuthPresetEnv({ ...preset, name });\n\tconst validated = mcpAuthPresetSchema.safeParse(expanded);\n\tif (!validated.success) {\n\t\tlogger.warn(\"Invalid MCP auth preset entry\", {\n\t\t\tscope,\n\t\t\tname,\n\t\t\terror: validated.error.issues.map((e) => e.message).join(\"; \"),\n\t\t});\n\t\treturn null;\n\t}\n\n\tconst cleanHeaders =\n\t\tvalidated.data.headers && typeof validated.data.headers === \"object\"\n\t\t\t? (Object.fromEntries(\n\t\t\t\t\tObject.entries(validated.data.headers).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tString(v ?? \"\"),\n\t\t\t\t\t]),\n\t\t\t\t) as Record<string, string>)\n\t\t\t: undefined;\n\n\treturn {\n\t\t...validated.data,\n\t\theaders: cleanHeaders,\n\t\tscope,\n\t};\n}\n\nfunction resolveTransport(\n\tserver: McpServerInput,\n): McpServerConfig[\"transport\"] {\n\tif (\n\t\tserver.transport &&\n\t\t(server.transport === \"stdio\" ||\n\t\t\tserver.transport === \"http\" ||\n\t\t\tserver.transport === \"sse\")\n\t) {\n\t\treturn server.transport;\n\t}\n\tif (server.url) {\n\t\treturn isSseUrl(server.url) ? \"sse\" : \"http\";\n\t}\n\treturn \"stdio\";\n}\n\nfunction isSseUrl(rawUrl: string): boolean {\n\ttry {\n\t\tconst parsed = new URL(rawUrl);\n\t\tif (parsed.hostname.startsWith(\"sse.\")) return true;\n\t\tconst path = parsed.pathname || \"\";\n\t\tif (path.endsWith(\"/sse\")) return true;\n\t\tif (path.includes(\"/sse/\")) return true;\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction buildPersistedServerConfig(\n\tserver: McpServerInput & { name: string },\n): PersistedMcpServerConfig {\n\treturn {\n\t\ttransport: server.transport,\n\t\tcommand: server.command,\n\t\targs: server.args,\n\t\tenv: server.env,\n\t\tcwd: server.cwd,\n\t\turl: server.url,\n\t\theaders: server.headers,\n\t\theadersHelper: server.headersHelper,\n\t\tauthPreset: server.authPreset,\n\t\ttimeout: server.timeout,\n\t\tenabled: server.enabled,\n\t\tdisabled: server.disabled,\n\t\tsupportsParallelToolCalls: server.supportsParallelToolCalls,\n\t};\n}\n\nfunction buildPersistedAuthPresetConfig(\n\tpreset: McpAuthPresetInput & { name: string },\n): PersistedMcpAuthPresetConfig {\n\treturn {\n\t\theaders: preset.headers,\n\t\theadersHelper: preset.headersHelper,\n\t};\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isWritableScope(\n\tvalue: McpScope | undefined,\n): value is WritableMcpScope {\n\treturn value === \"local\" || value === \"project\" || value === \"user\";\n}\n\nfunction expandValue(\n\tvalue: string | undefined,\n\tcontext: { kind: \"server\" | \"authPreset\"; name: string },\n): string | undefined {\n\tif (!value) return value;\n\treturn value.replace(/\\$\\{([^}]+)\\}/g, (_match, expr: unknown) => {\n\t\tconst [name, fallback] = String(expr).split(\":-\");\n\t\tconst val = name ? process.env[name] : undefined;\n\t\tif (val !== undefined) return val;\n\t\tif (fallback !== undefined) return fallback;\n\t\tlogger.debug(\"Missing environment variable during MCP expansion\", {\n\t\t\t[context.kind]: context.name,\n\t\t\tvariable: name,\n\t\t});\n\t\treturn _match;\n\t});\n}\n\nfunction expandServerEnv(\n\tserver: McpServerInput & {\n\t\ttransport: McpServerConfig[\"transport\"];\n\t\tname: string;\n\t},\n): McpServerInput {\n\tconst expand = (value?: string) =>\n\t\texpandValue(value, { kind: \"server\", name: server.name });\n\n\treturn {\n\t\t...server,\n\t\tcommand: expand(server.command),\n\t\targs: server.args\n\t\t\t? server.args.map((v) => expand(String(v)) ?? \"\")\n\t\t\t: undefined,\n\t\tenv: server.env\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(server.env).map(([k, v]) => [\n\t\t\t\t\t\tk,\n\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\",\n\t\t\t\t\t]),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\turl: expand(server.url),\n\t\theaders: server.headers\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(server.headers).map(([k, v]) => {\n\t\t\t\t\t\tconst expanded =\n\t\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\";\n\t\t\t\t\t\treturn [k, expanded] as [string, string];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\theadersHelper: expand(server.headersHelper),\n\t\tauthPreset: expand(server.authPreset),\n\t\tcwd: expand(server.cwd),\n\t};\n}\n\nfunction expandAuthPresetEnv(\n\tpreset: McpAuthPresetInput & { name: string },\n): McpAuthPresetInput {\n\tconst expand = (value?: string) =>\n\t\texpandValue(value, { kind: \"authPreset\", name: preset.name });\n\n\treturn {\n\t\t...preset,\n\t\theaders: preset.headers\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries(preset.headers).map(([k, v]) => {\n\t\t\t\t\t\tconst expanded =\n\t\t\t\t\t\t\texpand(typeof v === \"string\" ? v : undefined) ?? \"\";\n\t\t\t\t\t\treturn [k, expanded] as [string, string];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: undefined,\n\t\theadersHelper: expand(preset.headersHelper),\n\t};\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fathom-cua.d.ts","sourceRoot":"","sources":["../../src/mcp/fathom-cua.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwKlD,wBAAgB,yBAAyB,IAAI,eAAe,EAAE,CAK7D"}
|