@spotlightjs/spotlight 4.7.2 → 4.8.0
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/_virtual/_commonjsHelpers.js +1 -3
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/_sentry-release-injection-file.js +2 -2
- package/dist/_virtual/additionalItems.js +13 -0
- package/dist/_virtual/additionalItems.js.map +1 -0
- package/dist/_virtual/additionalProperties.js +13 -0
- package/dist/_virtual/additionalProperties.js.map +1 -0
- package/dist/_virtual/{cache.js → ajv.js} +4 -4
- package/dist/_virtual/ajv.js.map +1 -0
- package/dist/_virtual/{uri.all.js → allOf.js} +4 -4
- package/dist/_virtual/allOf.js.map +1 -0
- package/dist/_virtual/anyOf.js +13 -0
- package/dist/_virtual/anyOf.js.map +1 -0
- package/dist/_virtual/applicability.js +13 -0
- package/dist/_virtual/applicability.js.map +1 -0
- package/dist/_virtual/boolSchema.js +13 -0
- package/dist/_virtual/boolSchema.js.map +1 -0
- package/dist/_virtual/code.js +13 -0
- package/dist/_virtual/code.js.map +1 -0
- package/dist/_virtual/code2.js +13 -0
- package/dist/_virtual/code2.js.map +1 -0
- package/dist/_virtual/const.js +13 -0
- package/dist/_virtual/const.js.map +1 -0
- package/dist/_virtual/contains.js +13 -0
- package/dist/_virtual/contains.js.map +1 -0
- package/dist/_virtual/core.js +13 -0
- package/dist/_virtual/core.js.map +1 -0
- package/dist/_virtual/dataType.js +13 -0
- package/dist/_virtual/dataType.js.map +1 -0
- package/dist/_virtual/defaults.js +13 -0
- package/dist/_virtual/defaults.js.map +1 -0
- package/dist/_virtual/dependencies.js +13 -0
- package/dist/_virtual/dependencies.js.map +1 -0
- package/dist/_virtual/draft7.js +13 -0
- package/dist/_virtual/draft7.js.map +1 -0
- package/dist/_virtual/enum.js +13 -0
- package/dist/_virtual/enum.js.map +1 -0
- package/dist/_virtual/equal.js +13 -0
- package/dist/_virtual/equal.js.map +1 -0
- package/dist/_virtual/errors.js +13 -0
- package/dist/_virtual/errors.js.map +1 -0
- package/dist/_virtual/format.js +13 -0
- package/dist/_virtual/format.js.map +1 -0
- package/dist/_virtual/formats.js +13 -0
- package/dist/_virtual/formats.js.map +1 -0
- package/dist/_virtual/id.js +13 -0
- package/dist/_virtual/id.js.map +1 -0
- package/dist/_virtual/if.js +13 -0
- package/dist/_virtual/if.js.map +1 -0
- package/dist/_virtual/index.js +3 -3
- package/dist/_virtual/index10.js +13 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +13 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index2.js +13 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +13 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.js +13 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/index5.js +13 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +13 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +13 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +13 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +13 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/items.js +13 -0
- package/dist/_virtual/items.js.map +1 -0
- package/dist/_virtual/items2020.js +13 -0
- package/dist/_virtual/items2020.js.map +1 -0
- package/dist/_virtual/keyword.js +13 -0
- package/dist/_virtual/keyword.js.map +1 -0
- package/dist/_virtual/limit.js +13 -0
- package/dist/_virtual/limit.js.map +1 -0
- package/dist/_virtual/limitItems.js +13 -0
- package/dist/_virtual/limitItems.js.map +1 -0
- package/dist/_virtual/limitLength.js +13 -0
- package/dist/_virtual/limitLength.js.map +1 -0
- package/dist/_virtual/limitNumber.js +13 -0
- package/dist/_virtual/limitNumber.js.map +1 -0
- package/dist/_virtual/limitProperties.js +13 -0
- package/dist/_virtual/limitProperties.js.map +1 -0
- package/dist/_virtual/metadata.js +13 -0
- package/dist/_virtual/metadata.js.map +1 -0
- package/dist/_virtual/multipleOf.js +13 -0
- package/dist/_virtual/multipleOf.js.map +1 -0
- package/dist/_virtual/names.js +13 -0
- package/dist/_virtual/names.js.map +1 -0
- package/dist/_virtual/not.js +13 -0
- package/dist/_virtual/not.js.map +1 -0
- package/dist/_virtual/oneOf.js +13 -0
- package/dist/_virtual/oneOf.js.map +1 -0
- package/dist/_virtual/pattern.js +13 -0
- package/dist/_virtual/pattern.js.map +1 -0
- package/dist/_virtual/patternProperties.js +13 -0
- package/dist/_virtual/patternProperties.js.map +1 -0
- package/dist/_virtual/prefixItems.js +13 -0
- package/dist/_virtual/prefixItems.js.map +1 -0
- package/dist/_virtual/properties.js +13 -0
- package/dist/_virtual/properties.js.map +1 -0
- package/dist/_virtual/propertyNames.js +13 -0
- package/dist/_virtual/propertyNames.js.map +1 -0
- package/dist/_virtual/ref.js +13 -0
- package/dist/_virtual/ref.js.map +1 -0
- package/dist/_virtual/ref_error.js +13 -0
- package/dist/_virtual/ref_error.js.map +1 -0
- package/dist/_virtual/required.js +13 -0
- package/dist/_virtual/required.js.map +1 -0
- package/dist/_virtual/resolve.js +13 -0
- package/dist/_virtual/resolve.js.map +1 -0
- package/dist/_virtual/rules.js +13 -0
- package/dist/_virtual/rules.js.map +1 -0
- package/dist/_virtual/scope.js +13 -0
- package/dist/_virtual/scope.js.map +1 -0
- package/dist/_virtual/subschema.js +13 -0
- package/dist/_virtual/subschema.js.map +1 -0
- package/dist/_virtual/thenElse.js +13 -0
- package/dist/_virtual/thenElse.js.map +1 -0
- package/dist/_virtual/types.js +13 -0
- package/dist/_virtual/types.js.map +1 -0
- package/dist/_virtual/ucs2length.js +13 -0
- package/dist/_virtual/ucs2length.js.map +1 -0
- package/dist/_virtual/uniqueItems.js +13 -0
- package/dist/_virtual/uniqueItems.js.map +1 -0
- package/dist/_virtual/uri.js +13 -0
- package/dist/_virtual/uri.js.map +1 -0
- package/dist/_virtual/util.js +13 -0
- package/dist/_virtual/util.js.map +1 -0
- package/dist/_virtual/validation_error.js +13 -0
- package/dist/_virtual/validation_error.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +454 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js +166 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +44 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +15 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +25 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +82 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +27 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +400 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.16.0 → @modelcontextprotocol_sdk@1.24.3_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +284 -97
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
- package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.16.0 → @modelcontextprotocol_sdk@1.24.3_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +176 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +59 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +968 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/.pnpm/{@modelcontextprotocol_sdk@1.16.0 → @modelcontextprotocol_sdk@1.24.3_zod@4.1.13}/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +1 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +70 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1623 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +79 -0
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +209 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +59 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +81 -0
- package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +95 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +160 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +730 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +153 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +134 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +243 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +45 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +23 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +167 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +38 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +178 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +30 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +64 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +201 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +48 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +536 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +133 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +94 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +638 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js.map +1 -0
- package/dist/node_modules/.pnpm/{ajv@6.12.6/node_modules/ajv/lib → ajv@8.17.1/node_modules/ajv/dist}/refs/data.json.js +4 -7
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json.js.map +1 -0
- package/dist/node_modules/.pnpm/{ajv@6.12.6/node_modules/ajv/lib → ajv@8.17.1/node_modules/ajv/dist}/refs/json-schema-draft-07.json.js +3 -3
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/dist/node_modules/.pnpm/{ajv@6.12.6/node_modules/ajv/lib/compile → ajv@8.17.1/node_modules/ajv/dist/runtime}/ucs2length.js +13 -8
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +20 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +61 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +118 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +33 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +23 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +102 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +106 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +77 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +84 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +67 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +47 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +37 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +66 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +84 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +23 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +70 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +51 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +24 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +146 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +29 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +138 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +119 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +21 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +36 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +96 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +17 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +30 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +39 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +59 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +62 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +35 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +42 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +38 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +35 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +34 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +36 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +92 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +79 -0
- package/dist/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/index.js +267 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/index.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/schemes.js +152 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/schemes.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/scopedChars.js +40 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/scopedChars.js.map +1 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/utils.js +236 -0
- package/dist/node_modules/.pnpm/fast-uri@3.0.2/node_modules/fast-uri/lib/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/{json-schema-traverse@0.4.1 → json-schema-traverse@1.0.0}/node_modules/json-schema-traverse/index.js +7 -3
- package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
- package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +2 -2
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
- package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +2 -2
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
- package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/selectParser.js +2 -2
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.25.0_zod@4.1.13/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/ZodError.js +126 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/ZodError.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/errors.js +18 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/errorUtil.js +17 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/parseUtil.js +130 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/util.js +147 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/helpers/util.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/locales/en.js +114 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/locales/en.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/types.js +3169 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v3/types.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/errors.js +53 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/iso.js +52 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/parse.js +38 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/schemas.js +686 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/api.js +542 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/checks.js +414 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/core.js +82 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/doc.js +46 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/errors.js +81 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/parse.js +108 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/regexes.js +94 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/registries.js +63 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/schemas.js +1391 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/to-json-schema.js +782 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/util.js +419 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/versions.js +17 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/mini/schemas.js +61 -0
- package/dist/node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/mini/schemas.js.map +1 -0
- package/dist/run.js +3 -3
- package/dist/run.js.map +1 -1
- package/dist/sentry-config.js +2 -2
- package/dist/server/cli/help.js +3 -1
- package/dist/server/cli/help.js.map +1 -1
- package/dist/server/cli/mcp.js +3 -3
- package/dist/server/cli/run.d.ts +1 -1
- package/dist/server/cli/run.js +25 -16
- package/dist/server/cli/run.js.map +1 -1
- package/dist/server/cli/server.d.ts +1 -1
- package/dist/server/cli/server.js +9 -3
- package/dist/server/cli/server.js.map +1 -1
- package/dist/server/cli.d.ts +1 -0
- package/dist/server/cli.js +10 -4
- package/dist/server/cli.js.map +1 -1
- package/dist/server/formatters/md/errors.d.ts +1 -1
- package/dist/server/formatters/md/errors.js.map +1 -1
- package/dist/server/formatters/md/event.d.ts +1 -1
- package/dist/server/formatters/md/event.js.map +1 -1
- package/dist/server/formatters/schema.d.ts +39 -39
- package/dist/server/mcp/mcp.d.ts +1 -1
- package/dist/server/mcp/mcp.js +14 -13
- package/dist/server/mcp/mcp.js.map +1 -1
- package/dist/server/routes/clear.js +2 -1
- package/dist/server/routes/clear.js.map +1 -1
- package/dist/server/routes/stream/index.js +3 -2
- package/dist/server/routes/stream/index.js.map +1 -1
- package/dist/server/types/cli.d.ts +1 -0
- package/dist/server/utils/docker-compose.d.ts +24 -0
- package/dist/server/utils/docker-compose.js +142 -37
- package/dist/server/utils/docker-compose.js.map +1 -1
- package/dist/server/utils/extras.d.ts +2 -0
- package/dist/server/utils/extras.js +29 -2
- package/dist/server/utils/extras.js.map +1 -1
- package/dist/ui/assets/index.js +38 -38
- package/dist/ui/assets/index.js.map +1 -1
- package/dist/ui/assets/instrumentation.js +2 -2
- package/dist/ui/assets/main.js +1 -1
- package/dist/ui/assets/serverTimingMeta.js +11 -11
- package/dist/ui/assets/serverTimingMeta.js.map +1 -1
- package/package.json +7 -8
- package/dist/_virtual/cache.js.map +0 -1
- package/dist/_virtual/uri.all.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +0 -241
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +0 -64
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +0 -196
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +0 -391
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +0 -1
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +0 -1045
- package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js +0 -365
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js +0 -30
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js +0 -74
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js +0 -37
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js +0 -119
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js +0 -288
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js +0 -228
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js +0 -101
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js +0 -19
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js +0 -192
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js +0 -57
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js +0 -48
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js +0 -160
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js +0 -90
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js +0 -95
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -90
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js +0 -52
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js +0 -83
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js +0 -26
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js +0 -63
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js +0 -88
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js +0 -230
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js +0 -171
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js +0 -72
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js +0 -157
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js +0 -110
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js +0 -67
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js +0 -147
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js +0 -90
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js +0 -95
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js +0 -81
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js +0 -85
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js +0 -322
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js +0 -84
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js +0 -134
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js +0 -263
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -95
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js +0 -464
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js +0 -108
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js.map +0 -1
- package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/data.json.js.map +0 -1
- package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js +0 -62
- package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js.map +0 -1
- package/dist/node_modules/.pnpm/json-schema-traverse@0.4.1/node_modules/json-schema-traverse/index.js.map +0 -1
- package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js +0 -1035
- package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +0 -1
- package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +0 -1
- /package/dist/node_modules/.pnpm/{ajv@6.12.6/node_modules/ajv/lib → ajv@8.17.1/node_modules/ajv/dist}/refs/json-schema-draft-07.json.js.map +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parseDef.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +0 -0
- /package/dist/node_modules/.pnpm/{zod-to-json-schema@3.24.6_zod@3.25.76 → zod-to-json-schema@3.25.0_zod@4.1.13}/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
;
|
|
2
|
+
!function() {
|
|
3
|
+
try {
|
|
4
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "2d946abd-f197-42c9-98c6-b0224ed16edb", e._sentryDebugIdIdentifier = "sentry-dbid-2d946abd-f197-42c9-98c6-b0224ed16edb");
|
|
6
|
+
} catch (e2) {
|
|
7
|
+
}
|
|
8
|
+
}();
|
|
9
|
+
import { $constructor } from "../core/core.js";
|
|
10
|
+
import { parse, safeParse, parseAsync, safeParseAsync } from "../core/parse.js";
|
|
11
|
+
import { normalizeParams, defineLazy, clone } from "../core/util.js";
|
|
12
|
+
import { $ZodObject, $ZodType } from "../core/schemas.js";
|
|
13
|
+
import "../core/registries.js";
|
|
14
|
+
const ZodMiniType = /* @__PURE__ */ $constructor("ZodMiniType", (inst, def) => {
|
|
15
|
+
if (!inst._zod)
|
|
16
|
+
throw new Error("Uninitialized schema in ZodMiniType.");
|
|
17
|
+
$ZodType.init(inst, def);
|
|
18
|
+
inst.def = def;
|
|
19
|
+
inst.type = def.type;
|
|
20
|
+
inst.parse = (data, params) => parse(inst, data, params, { callee: inst.parse });
|
|
21
|
+
inst.safeParse = (data, params) => safeParse(inst, data, params);
|
|
22
|
+
inst.parseAsync = async (data, params) => parseAsync(inst, data, params, { callee: inst.parseAsync });
|
|
23
|
+
inst.safeParseAsync = async (data, params) => safeParseAsync(inst, data, params);
|
|
24
|
+
inst.check = (...checks) => {
|
|
25
|
+
return inst.clone(
|
|
26
|
+
{
|
|
27
|
+
...def,
|
|
28
|
+
checks: [
|
|
29
|
+
...def.checks ?? [],
|
|
30
|
+
...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
// { parent: true }
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
inst.clone = (_def, params) => clone(inst, _def, params);
|
|
37
|
+
inst.brand = () => inst;
|
|
38
|
+
inst.register = (reg, meta) => {
|
|
39
|
+
reg.add(inst, meta);
|
|
40
|
+
return inst;
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
const ZodMiniObject = /* @__PURE__ */ $constructor("ZodMiniObject", (inst, def) => {
|
|
44
|
+
$ZodObject.init(inst, def);
|
|
45
|
+
ZodMiniType.init(inst, def);
|
|
46
|
+
defineLazy(inst, "shape", () => def.shape);
|
|
47
|
+
});
|
|
48
|
+
function object(shape, params) {
|
|
49
|
+
const def = {
|
|
50
|
+
type: "object",
|
|
51
|
+
shape: shape ?? {},
|
|
52
|
+
...normalizeParams(params)
|
|
53
|
+
};
|
|
54
|
+
return new ZodMiniObject(def);
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
ZodMiniObject,
|
|
58
|
+
ZodMiniType,
|
|
59
|
+
object
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sources":["../../../../../../../../../../node_modules/.pnpm/zod@4.1.13/node_modules/zod/v4/mini/schemas.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodMiniType = /*@__PURE__*/ core.$constructor(\"ZodMiniType\", (inst, def) => {\n if (!inst._zod)\n throw new Error(\"Uninitialized schema in ZodMiniType.\");\n core.$ZodType.init(inst, def);\n inst.def = def;\n inst.type = def.type;\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.check = (...checks) => {\n return inst.clone({\n ...def,\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }\n // { parent: true }\n );\n };\n inst.clone = (_def, params) => core.clone(inst, _def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n});\nexport const ZodMiniString = /*@__PURE__*/ core.$constructor(\"ZodMiniString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function string(params) {\n return core._string(ZodMiniString, params);\n}\nexport const ZodMiniStringFormat = /*@__PURE__*/ core.$constructor(\"ZodMiniStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n ZodMiniString.init(inst, def);\n});\nexport const ZodMiniEmail = /*@__PURE__*/ core.$constructor(\"ZodMiniEmail\", (inst, def) => {\n core.$ZodEmail.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodMiniEmail, params);\n}\nexport const ZodMiniGUID = /*@__PURE__*/ core.$constructor(\"ZodMiniGUID\", (inst, def) => {\n core.$ZodGUID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodMiniGUID, params);\n}\nexport const ZodMiniUUID = /*@__PURE__*/ core.$constructor(\"ZodMiniUUID\", (inst, def) => {\n core.$ZodUUID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodMiniUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodMiniUUID, params);\n}\n// ZodMiniUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodMiniUUID, params);\n}\n// ZodMiniUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodMiniUUID, params);\n}\nexport const ZodMiniURL = /*@__PURE__*/ core.$constructor(\"ZodMiniURL\", (inst, def) => {\n core.$ZodURL.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodMiniURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodMiniURL, {\n protocol: /^https?$/,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniEmoji = /*@__PURE__*/ core.$constructor(\"ZodMiniEmoji\", (inst, def) => {\n core.$ZodEmoji.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodMiniEmoji, params);\n}\nexport const ZodMiniNanoID = /*@__PURE__*/ core.$constructor(\"ZodMiniNanoID\", (inst, def) => {\n core.$ZodNanoID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodMiniNanoID, params);\n}\nexport const ZodMiniCUID = /*@__PURE__*/ core.$constructor(\"ZodMiniCUID\", (inst, def) => {\n core.$ZodCUID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodMiniCUID, params);\n}\nexport const ZodMiniCUID2 = /*@__PURE__*/ core.$constructor(\"ZodMiniCUID2\", (inst, def) => {\n core.$ZodCUID2.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodMiniCUID2, params);\n}\nexport const ZodMiniULID = /*@__PURE__*/ core.$constructor(\"ZodMiniULID\", (inst, def) => {\n core.$ZodULID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodMiniULID, params);\n}\nexport const ZodMiniXID = /*@__PURE__*/ core.$constructor(\"ZodMiniXID\", (inst, def) => {\n core.$ZodXID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodMiniXID, params);\n}\nexport const ZodMiniKSUID = /*@__PURE__*/ core.$constructor(\"ZodMiniKSUID\", (inst, def) => {\n core.$ZodKSUID.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodMiniKSUID, params);\n}\nexport const ZodMiniIPv4 = /*@__PURE__*/ core.$constructor(\"ZodMiniIPv4\", (inst, def) => {\n core.$ZodIPv4.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodMiniIPv4, params);\n}\nexport const ZodMiniIPv6 = /*@__PURE__*/ core.$constructor(\"ZodMiniIPv6\", (inst, def) => {\n core.$ZodIPv6.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodMiniIPv6, params);\n}\nexport const ZodMiniCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodMiniCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodMiniCIDRv4, params);\n}\nexport const ZodMiniCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodMiniCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodMiniCIDRv6, params);\n}\nexport const ZodMiniMAC = /*@__PURE__*/ core.$constructor(\"ZodMiniMAC\", (inst, def) => {\n core.$ZodMAC.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMiniMAC, params);\n}\nexport const ZodMiniBase64 = /*@__PURE__*/ core.$constructor(\"ZodMiniBase64\", (inst, def) => {\n core.$ZodBase64.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodMiniBase64, params);\n}\nexport const ZodMiniBase64URL = /*@__PURE__*/ core.$constructor(\"ZodMiniBase64URL\", (inst, def) => {\n core.$ZodBase64URL.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodMiniBase64URL, params);\n}\nexport const ZodMiniE164 = /*@__PURE__*/ core.$constructor(\"ZodMiniE164\", (inst, def) => {\n core.$ZodE164.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodMiniE164, params);\n}\nexport const ZodMiniJWT = /*@__PURE__*/ core.$constructor(\"ZodMiniJWT\", (inst, def) => {\n core.$ZodJWT.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodMiniJWT, params);\n}\nexport const ZodMiniCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodMiniCustomStringFormat\", (inst, def) => {\n core.$ZodCustomStringFormat.init(inst, def);\n ZodMiniStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodMiniCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodMiniCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodMiniCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n // check for unrecognized format\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodMiniCustomStringFormat, format, regex, params);\n}\nexport const ZodMiniNumber = /*@__PURE__*/ core.$constructor(\"ZodMiniNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function number(params) {\n return core._number(ZodMiniNumber, params);\n}\nexport const ZodMiniNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodMiniNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodMiniNumber.init(inst, def);\n});\n// int\nexport function int(params) {\n return core._int(ZodMiniNumberFormat, params);\n}\n// float32\nexport function float32(params) {\n return core._float32(ZodMiniNumberFormat, params);\n}\n// float64\nexport function float64(params) {\n return core._float64(ZodMiniNumberFormat, params);\n}\n// int32\nexport function int32(params) {\n return core._int32(ZodMiniNumberFormat, params);\n}\n// uint32\nexport function uint32(params) {\n return core._uint32(ZodMiniNumberFormat, params);\n}\nexport const ZodMiniBoolean = /*@__PURE__*/ core.$constructor(\"ZodMiniBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodMiniBoolean, params);\n}\nexport const ZodMiniBigInt = /*@__PURE__*/ core.$constructor(\"ZodMiniBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function bigint(params) {\n return core._bigint(ZodMiniBigInt, params);\n}\nexport const ZodMiniBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodMiniBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodMiniBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodMiniBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodMiniBigIntFormat, params);\n}\nexport const ZodMiniSymbol = /*@__PURE__*/ core.$constructor(\"ZodMiniSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodMiniSymbol, params);\n}\nexport const ZodMiniUndefined = /*@__PURE__*/ core.$constructor(\"ZodMiniUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodMiniUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodMiniNull = /*@__PURE__*/ core.$constructor(\"ZodMiniNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodMiniNull, params);\n}\nexport { _null as null };\nexport const ZodMiniAny = /*@__PURE__*/ core.$constructor(\"ZodMiniAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodMiniAny);\n}\nexport const ZodMiniUnknown = /*@__PURE__*/ core.$constructor(\"ZodMiniUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodMiniUnknown);\n}\nexport const ZodMiniNever = /*@__PURE__*/ core.$constructor(\"ZodMiniNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodMiniNever, params);\n}\nexport const ZodMiniVoid = /*@__PURE__*/ core.$constructor(\"ZodMiniVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodMiniVoid, params);\n}\nexport { _void as void };\nexport const ZodMiniDate = /*@__PURE__*/ core.$constructor(\"ZodMiniDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function date(params) {\n return core._date(ZodMiniDate, params);\n}\nexport const ZodMiniArray = /*@__PURE__*/ core.$constructor(\"ZodMiniArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function array(element, params) {\n return new ZodMiniArray({\n type: \"array\",\n element: element,\n ...util.normalizeParams(params),\n });\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodMiniObject = /*@__PURE__*/ core.$constructor(\"ZodMiniObject\", (inst, def) => {\n core.$ZodObject.init(inst, def);\n ZodMiniType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => def.shape);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodMiniObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodMiniObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodMiniObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\n// object methods\nexport function extend(schema, shape) {\n return util.extend(schema, shape);\n}\nexport function safeExtend(schema, shape) {\n return util.safeExtend(schema, shape);\n}\nexport function merge(schema, shape) {\n return util.extend(schema, shape);\n}\nexport function pick(schema, mask) {\n return util.pick(schema, mask);\n}\n// .omit\nexport function omit(schema, mask) {\n return util.omit(schema, mask);\n}\nexport function partial(schema, mask) {\n return util.partial(ZodMiniOptional, schema, mask);\n}\nexport function required(schema, mask) {\n return util.required(ZodMiniNonOptional, schema, mask);\n}\nexport function catchall(inst, catchall) {\n return inst.clone({ ...inst._zod.def, catchall: catchall });\n}\nexport const ZodMiniUnion = /*@__PURE__*/ core.$constructor(\"ZodMiniUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function union(options, params) {\n return new ZodMiniUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodMiniDiscriminatedUnion\", (inst, def) => {\n core.$ZodDiscriminatedUnion.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n return new ZodMiniDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniIntersection = /*@__PURE__*/ core.$constructor(\"ZodMiniIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodMiniIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodMiniTuple = /*@__PURE__*/ core.$constructor(\"ZodMiniTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodMiniTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniRecord = /*@__PURE__*/ core.$constructor(\"ZodMiniRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function record(keyType, valueType, params) {\n return new ZodMiniRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodMiniRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniMap = /*@__PURE__*/ core.$constructor(\"ZodMiniMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function map(keyType, valueType, params) {\n return new ZodMiniMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniSet = /*@__PURE__*/ core.$constructor(\"ZodMiniSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function set(valueType, params) {\n return new ZodMiniSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniEnum = /*@__PURE__*/ core.$constructor(\"ZodMiniEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodMiniType.init(inst, def);\n inst.options = Object.values(def.entries);\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodMiniEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodMiniEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniLiteral = /*@__PURE__*/ core.$constructor(\"ZodMiniLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function literal(value, params) {\n return new ZodMiniLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniFile = /*@__PURE__*/ core.$constructor(\"ZodMiniFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function file(params) {\n return core._file(ZodMiniFile, params);\n}\nexport const ZodMiniTransform = /*@__PURE__*/ core.$constructor(\"ZodMiniTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function transform(fn) {\n return new ZodMiniTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodMiniOptional = /*@__PURE__*/ core.$constructor(\"ZodMiniOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function optional(innerType) {\n return new ZodMiniOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodMiniNullable = /*@__PURE__*/ core.$constructor(\"ZodMiniNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function nullable(innerType) {\n return new ZodMiniNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodMiniDefault = /*@__PURE__*/ core.$constructor(\"ZodMiniDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function _default(innerType, defaultValue) {\n return new ZodMiniDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodMiniPrefault = /*@__PURE__*/ core.$constructor(\"ZodMiniPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodMiniPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodMiniNonOptional = /*@__PURE__*/ core.$constructor(\"ZodMiniNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function nonoptional(innerType, params) {\n return new ZodMiniNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniSuccess = /*@__PURE__*/ core.$constructor(\"ZodMiniSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function success(innerType) {\n return new ZodMiniSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodMiniCatch = /*@__PURE__*/ core.$constructor(\"ZodMiniCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nfunction _catch(innerType, catchValue) {\n return new ZodMiniCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodMiniNaN = /*@__PURE__*/ core.$constructor(\"ZodMiniNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodMiniNaN, params);\n}\nexport const ZodMiniPipe = /*@__PURE__*/ core.$constructor(\"ZodMiniPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function pipe(in_, out) {\n return new ZodMiniPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n });\n}\nexport const ZodMiniCodec = /*@__PURE__*/ core.$constructor(\"ZodMiniCodec\", (inst, def) => {\n ZodMiniPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodMiniCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport const ZodMiniReadonly = /*@__PURE__*/ core.$constructor(\"ZodMiniReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function readonly(innerType) {\n return new ZodMiniReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodMiniTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodMiniTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodMiniTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMiniLazy = /*@__PURE__*/ core.$constructor(\"ZodMiniLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodMiniType.init(inst, def);\n});\n// export function lazy<T extends object>(getter: () => T): T {\n// return util.createTransparentProxy<T>(getter);\n// }\nfunction _lazy(getter) {\n return new ZodMiniLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport { _lazy as lazy };\nexport const ZodMiniPromise = /*@__PURE__*/ core.$constructor(\"ZodMiniPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function promise(innerType) {\n return new ZodMiniPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodMiniCustom = /*@__PURE__*/ core.$constructor(\"ZodMiniCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodMiniType.init(inst, def);\n});\n// custom checks\nexport function check(fn, params) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// ZodCustom\n// custom schema\nexport function custom(fn, _params) {\n return core._custom(ZodMiniCustom, fn ?? (() => true), _params);\n}\n// refine\nexport function refine(fn, _params = {}) {\n return core._refine(ZodMiniCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\n// instanceof\nclass Class {\n constructor(..._args) { }\n}\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = custom((data) => data instanceof cls, params);\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodMiniCodec,\n Boolean: ZodMiniBoolean,\n String: ZodMiniString,\n}, ...args);\nexport function json() {\n const jsonSchema = _lazy(() => {\n return union([string(), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\nexport const ZodMiniFunction = /*@__PURE__*/ core.$constructor(\"ZodMiniFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodMiniType.init(inst, def);\n});\nexport function _function(params) {\n return new ZodMiniFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\n"],"names":["core.$constructor","core.$ZodType","parse.parse","parse.safeParse","parse.parseAsync","parse.safeParseAsync","core.clone","core.$ZodObject","util.defineLazy","util.normalizeParams"],"mappings":";;;;;;;;;;;;;AAGY,MAAC,cAA4BA,6BAAkB,eAAe,CAAC,MAAM,QAAQ;AACrF,MAAI,CAAC,KAAK;AACN,UAAM,IAAI,MAAM,sCAAsC;AAC1DC,WAAc,KAAK,MAAM,GAAG;AAC5B,OAAK,MAAM;AACX,OAAK,OAAO,IAAI;AAChB,OAAK,QAAQ,CAAC,MAAM,WAAWC,MAAY,MAAM,MAAM,QAAQ,EAAE,QAAQ,KAAK,MAAK,CAAE;AACrF,OAAK,YAAY,CAAC,MAAM,WAAWC,UAAgB,MAAM,MAAM,MAAM;AACrE,OAAK,aAAa,OAAO,MAAM,WAAWC,WAAiB,MAAM,MAAM,QAAQ,EAAE,QAAQ,KAAK,WAAU,CAAE;AAC1G,OAAK,iBAAiB,OAAO,MAAM,WAAWC,eAAqB,MAAM,MAAM,MAAM;AACrF,OAAK,QAAQ,IAAI,WAAW;AACxB,WAAO,KAAK;AAAA,MAAM;AAAA,QACd,GAAG;AAAA,QACH,QAAQ;AAAA,UACJ,GAAI,IAAI,UAAU;UAClB,GAAG,OAAO,IAAI,CAAC,OAAO,OAAO,OAAO,aAAa,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,SAAQ,GAAI,UAAU,CAAA,EAAE,EAAE,IAAK,EAAE;AAAA,QACrI;AAAA,MACA;AAAA;AAAA,IAEA;AAAA,EACI;AACA,OAAK,QAAQ,CAAC,MAAM,WAAWC,MAAW,MAAM,MAAM,MAAM;AAC5D,OAAK,QAAQ,MAAM;AACnB,OAAK,WAAY,CAAC,KAAK,SAAS;AAC5B,QAAI,IAAI,MAAM,IAAI;AAClB,WAAO;AAAA,EACX;AACJ,CAAC;AAoUW,MAAC,gBAA8BN,6BAAkB,iBAAiB,CAAC,MAAM,QAAQ;AACzFO,aAAgB,KAAK,MAAM,GAAG;AAC9B,cAAY,KAAK,MAAM,GAAG;AAC1BC,aAAgB,MAAM,SAAS,MAAM,IAAI,KAAK;AAClD,CAAC;AACM,SAAS,OAAO,OAAO,QAAQ;AAClC,QAAM,MAAM;AAAA,IACR,MAAM;AAAA,IACN,OAAO,SAAS,CAAA;AAAA,IAChB,GAAGC,gBAAqB,MAAM;AAAA,EACtC;AACI,SAAO,IAAI,cAAc,GAAG;AAChC;","x_google_ignoreList":[0]}
|
package/dist/run.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
!function() {
|
|
4
4
|
try {
|
|
5
5
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
6
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
6
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "50225044-9d98-4571-95c7-5a773fe8b6f3", e._sentryDebugIdIdentifier = "sentry-dbid-50225044-9d98-4571-95c7-5a773fe8b6f3");
|
|
7
7
|
} catch (e2) {
|
|
8
8
|
}
|
|
9
9
|
}();
|
|
@@ -15,10 +15,10 @@ import { setContext, startSpan } from "@sentry/node";
|
|
|
15
15
|
import { main } from "./server/cli.js";
|
|
16
16
|
import "./instrument.js";
|
|
17
17
|
import "./_virtual/_sentry-release-injection-file.js";
|
|
18
|
-
const
|
|
18
|
+
const require2 = Module.createRequire(import.meta.url);
|
|
19
19
|
let sea = null;
|
|
20
20
|
try {
|
|
21
|
-
sea =
|
|
21
|
+
sea = require2("node:sea");
|
|
22
22
|
} catch {
|
|
23
23
|
sea = { isSea: () => false };
|
|
24
24
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sources":["../src/run.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport Module from \"node:module\";\nimport { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { setContext, startSpan } from \"@sentry/node\";\nimport { main } from \"./server/cli.ts\";\nimport \"./instrument.ts\";\n\nconst require = Module.createRequire(import.meta.url);\nlet sea: any = null;\ntry {\n // This is to maintain compatibility with Node 20.11- as\n // the `node:sea` module is added in Node 20.12+\n sea = require(\"node:sea\");\n} catch {\n sea = { isSea: () => false };\n}\n\nconst homeDir = process.env.HOME || process.env.USERPROFILE;\nsetContext(\"CLI\", {\n sea: sea.isSea(),\n // TODO: Be less naive with path obscuring\n argv: homeDir ? process.argv.map(arg => arg.replace(homeDir, \"~\")) : process.argv,\n});\n\nconst withTracing = <T extends (...args: any[]) => any>(\n fn: T,\n spanArgs = {},\n): ((...args: Parameters<T>) => ReturnType<T>) => {\n return (...args: Parameters<T>): ReturnType<T> =>\n startSpan({ name: fn.name, attributes: { args }, ...spanArgs }, () => fn(...args));\n};\n\nconst readAsset = withTracing(\n sea.isSea()\n ? (name: string) => Buffer.from(sea.getRawAsset(name))\n : (() => {\n const ASSET_DIR = join(fileURLToPath(import.meta.url), \"../../dist/ui/\");\n\n return (name: string) => readFileSync(join(ASSET_DIR, name));\n })(),\n { name: \"readAsset\", op: \"cli.asset.read\" },\n);\n\nstartSpan({ name: \"Spotlight CLI\", op: \"cli\" }, async () => {\n await startSpan({ name: \"Setup Spotlight\", op: \"cli.setup\" }, async () => {\n const MANIFEST_NAME = \"manifest.json\";\n const ENTRY_POINT_NAME = \"index.html\";\n const filesToServe = Object.create(null);\n\n if (process.env.NODE_ENV === \"production\") {\n startSpan({ name: \"Setup Server Assets\", op: \"cli.setup.assets\" }, () => {\n // Following the guide here: https://vite.dev/guide/backend-integration.html\n const manifest = JSON.parse(readAsset(MANIFEST_NAME).toString());\n filesToServe[ENTRY_POINT_NAME] = readAsset(ENTRY_POINT_NAME);\n const entries = Object.values(manifest);\n for (const entry of entries) {\n if (entry && typeof entry === \"object\" && \"file\" in entry && typeof entry.file === \"string\") {\n filesToServe[entry.file] = readAsset(entry.file);\n }\n }\n });\n }\n\n await main({\n basePath: process.cwd(),\n filesToServe,\n });\n });\n});\n"],"names":["require"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAMA,
|
|
1
|
+
{"version":3,"file":"run.js","sources":["../src/run.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport Module from \"node:module\";\nimport { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { setContext, startSpan } from \"@sentry/node\";\nimport { main } from \"./server/cli.ts\";\nimport \"./instrument.ts\";\n\nconst require = Module.createRequire(import.meta.url);\nlet sea: any = null;\ntry {\n // This is to maintain compatibility with Node 20.11- as\n // the `node:sea` module is added in Node 20.12+\n sea = require(\"node:sea\");\n} catch {\n sea = { isSea: () => false };\n}\n\nconst homeDir = process.env.HOME || process.env.USERPROFILE;\nsetContext(\"CLI\", {\n sea: sea.isSea(),\n // TODO: Be less naive with path obscuring\n argv: homeDir ? process.argv.map(arg => arg.replace(homeDir, \"~\")) : process.argv,\n});\n\nconst withTracing = <T extends (...args: any[]) => any>(\n fn: T,\n spanArgs = {},\n): ((...args: Parameters<T>) => ReturnType<T>) => {\n return (...args: Parameters<T>): ReturnType<T> =>\n startSpan({ name: fn.name, attributes: { args }, ...spanArgs }, () => fn(...args));\n};\n\nconst readAsset = withTracing(\n sea.isSea()\n ? (name: string) => Buffer.from(sea.getRawAsset(name))\n : (() => {\n const ASSET_DIR = join(fileURLToPath(import.meta.url), \"../../dist/ui/\");\n\n return (name: string) => readFileSync(join(ASSET_DIR, name));\n })(),\n { name: \"readAsset\", op: \"cli.asset.read\" },\n);\n\nstartSpan({ name: \"Spotlight CLI\", op: \"cli\" }, async () => {\n await startSpan({ name: \"Setup Spotlight\", op: \"cli.setup\" }, async () => {\n const MANIFEST_NAME = \"manifest.json\";\n const ENTRY_POINT_NAME = \"index.html\";\n const filesToServe = Object.create(null);\n\n if (process.env.NODE_ENV === \"production\") {\n startSpan({ name: \"Setup Server Assets\", op: \"cli.setup.assets\" }, () => {\n // Following the guide here: https://vite.dev/guide/backend-integration.html\n const manifest = JSON.parse(readAsset(MANIFEST_NAME).toString());\n filesToServe[ENTRY_POINT_NAME] = readAsset(ENTRY_POINT_NAME);\n const entries = Object.values(manifest);\n for (const entry of entries) {\n if (entry && typeof entry === \"object\" && \"file\" in entry && typeof entry.file === \"string\") {\n filesToServe[entry.file] = readAsset(entry.file);\n }\n }\n });\n }\n\n await main({\n basePath: process.cwd(),\n filesToServe,\n });\n });\n});\n"],"names":["require"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAMA,WAAU,OAAO,cAAc,YAAY,GAAG;AACpD,IAAI,MAAW;AACf,IAAI;AAGF,QAAMA,SAAQ,UAAU;AAC1B,QAAQ;AACN,QAAM,EAAE,OAAO,MAAM,MAAA;AACvB;AAEA,MAAM,UAAU,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAChD,WAAW,OAAO;AAAA,EAChB,KAAK,IAAI,MAAA;AAAA;AAAA,EAET,MAAM,UAAU,QAAQ,KAAK,IAAI,CAAA,QAAO,IAAI,QAAQ,SAAS,GAAG,CAAC,IAAI,QAAQ;AAC/E,CAAC;AAED,MAAM,cAAc,CAClB,IACA,WAAW,OACqC;AAChD,SAAO,IAAI,SACT,UAAU,EAAE,MAAM,GAAG,MAAM,YAAY,EAAE,KAAA,GAAQ,GAAG,SAAA,GAAY,MAAM,GAAG,GAAG,IAAI,CAAC;AACrF;AAEA,MAAM,YAAY;AAAA,EAChB,IAAI,MAAA,IACA,CAAC,SAAiB,OAAO,KAAK,IAAI,YAAY,IAAI,CAAC,KAClD,MAAM;AACL,UAAM,YAAY,KAAK,cAAc,YAAY,GAAG,GAAG,gBAAgB;AAEvE,WAAO,CAAC,SAAiB,aAAa,KAAK,WAAW,IAAI,CAAC;AAAA,EAC7D,GAAA;AAAA,EACJ,EAAE,MAAM,aAAa,IAAI,iBAAA;AAC3B;AAEA,UAAU,EAAE,MAAM,iBAAiB,IAAI,MAAA,GAAS,YAAY;AAC1D,QAAM,UAAU,EAAE,MAAM,mBAAmB,IAAI,YAAA,GAAe,YAAY;AACxE,UAAM,gBAAgB;AACtB,UAAM,mBAAmB;AACzB,UAAM,eAAe,uBAAO,OAAO,IAAI;AAEI;AACzC,gBAAU,EAAE,MAAM,uBAAuB,IAAI,mBAAA,GAAsB,MAAM;AAEvE,cAAM,WAAW,KAAK,MAAM,UAAU,aAAa,EAAE,UAAU;AAC/D,qBAAa,gBAAgB,IAAI,UAAU,gBAAgB;AAC3D,cAAM,UAAU,OAAO,OAAO,QAAQ;AACtC,mBAAW,SAAS,SAAS;AAC3B,cAAI,SAAS,OAAO,UAAU,YAAY,UAAU,SAAS,OAAO,MAAM,SAAS,UAAU;AAC3F,yBAAa,MAAM,IAAI,IAAI,UAAU,MAAM,IAAI;AAAA,UACjD;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,KAAK;AAAA,MACT,UAAU,QAAQ,IAAA;AAAA,MAClB;AAAA,IAAA,CACD;AAAA,EACH,CAAC;AACH,CAAC;"}
|
package/dist/sentry-config.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "43a64e2f-af2a-47b2-9c2f-487e3524643e", e._sentryDebugIdIdentifier = "sentry-dbid-43a64e2f-af2a-47b2-9c2f-487e3524643e");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
@@ -11,7 +11,7 @@ const isCI = process.env.CI === "true" || process.env.GITHUB_ACTIONS === "true";
|
|
|
11
11
|
const sentryBaseConfig = {
|
|
12
12
|
enabled: Boolean("production") && true,
|
|
13
13
|
environment: isCI ? "github-ci" : "production",
|
|
14
|
-
release: `spotlight@${"4.
|
|
14
|
+
release: `spotlight@${"4.8.0"}`,
|
|
15
15
|
tracesSampleRate: 1,
|
|
16
16
|
enableLogs: true
|
|
17
17
|
};
|
package/dist/server/cli/help.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ef70cc6d-55c0-47d2-b634-1eb03deda3e3", e._sentryDebugIdIdentifier = "sentry-dbid-ef70cc6d-55c0-47d2-b634-1eb03deda3e3");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
@@ -24,6 +24,7 @@ Commands:
|
|
|
24
24
|
|
|
25
25
|
Options:
|
|
26
26
|
-p, --port <port> Port to listen on (default: 8969, or 0 for random)
|
|
27
|
+
-o, --open Open the Spotlight dashboard in your default browser
|
|
27
28
|
-d, --debug Enable debug logging
|
|
28
29
|
-f, --format <format> Output format for tail command (default: human)
|
|
29
30
|
Available formats: ${[...AVAILABLE_FORMATTERS].join(", ")}
|
|
@@ -37,6 +38,7 @@ Options:
|
|
|
37
38
|
|
|
38
39
|
Examples:
|
|
39
40
|
spotlight # Start on default port 8969
|
|
41
|
+
spotlight --open # Start and open dashboard in browser
|
|
40
42
|
spotlight tail # Tail all event types (human format)
|
|
41
43
|
spotlight tail errors # Tail only errors
|
|
42
44
|
spotlight tail errors logs # Tail errors and logs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sources":["../../../src/server/cli/help.ts"],"sourcesContent":["import { EVERYTHING_MAGIC_WORDS, NAME_TO_TYPE_MAPPING } from \"../cli/tail.ts\";\nimport { AVAILABLE_FORMATTERS } from \"../formatters/types.ts\";\n\nexport default function showHelp() {\n console.log(`\nSpotlight Sidecar - Development proxy server for Spotlight\n\nUsage: spotlight [command] [options]\n\nCommands:\n tail [types...] Tail Sentry events (default: everything)\n Available types: ${[...Object.keys(NAME_TO_TYPE_MAPPING)].join(\", \")}\n Magic words: ${[...EVERYTHING_MAGIC_WORDS].join(\", \")}\n mcp Start in MCP (Model Context Protocol) mode\n help Show this help message\n\nOptions:\n -p, --port <port> Port to listen on (default: 8969, or 0 for random)\n -d, --debug Enable debug logging\n -f, --format <format> Output format for tail command (default: human)\n Available formats: ${[...AVAILABLE_FORMATTERS].join(\", \")}\n -A, --allowed-origin <origin>\n Additional origins to allow for CORS requests.\n Can be specified multiple times or comma-separated.\n Accepts full origins (https://example.com:443) for\n strict matching or plain domains (myapp.local) to\n allow any protocol/port.\n -h, --help Show this help message\n\nExamples:\n spotlight # Start on default port 8969\n spotlight tail # Tail all event types (human format)\n spotlight tail errors # Tail only errors\n spotlight tail errors logs # Tail errors and logs\n spotlight tail --format json # Explicitly use json format\n spotlight mcp # Start in MCP mode\n spotlight --port 3000 # Start on port 3000\n spotlight -p 3000 -d # Start on port 3000 with debug logging\n spotlight -A myapp.local # Allow requests from myapp.local\n spotlight -A https://tunnel.ngrok.io -A dev.local # Multiple origins\n`);\n process.exit(0);\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAGA,SAAwB,WAAW;AACjC,UAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAO4B,CAAC,GAAG,OAAO,KAAK,oBAAoB,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,sCACrD,CAAC,GAAG,sBAAsB,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"help.js","sources":["../../../src/server/cli/help.ts"],"sourcesContent":["import { EVERYTHING_MAGIC_WORDS, NAME_TO_TYPE_MAPPING } from \"../cli/tail.ts\";\nimport { AVAILABLE_FORMATTERS } from \"../formatters/types.ts\";\n\nexport default function showHelp() {\n console.log(`\nSpotlight Sidecar - Development proxy server for Spotlight\n\nUsage: spotlight [command] [options]\n\nCommands:\n tail [types...] Tail Sentry events (default: everything)\n Available types: ${[...Object.keys(NAME_TO_TYPE_MAPPING)].join(\", \")}\n Magic words: ${[...EVERYTHING_MAGIC_WORDS].join(\", \")}\n mcp Start in MCP (Model Context Protocol) mode\n help Show this help message\n\nOptions:\n -p, --port <port> Port to listen on (default: 8969, or 0 for random)\n -o, --open Open the Spotlight dashboard in your default browser\n -d, --debug Enable debug logging\n -f, --format <format> Output format for tail command (default: human)\n Available formats: ${[...AVAILABLE_FORMATTERS].join(\", \")}\n -A, --allowed-origin <origin>\n Additional origins to allow for CORS requests.\n Can be specified multiple times or comma-separated.\n Accepts full origins (https://example.com:443) for\n strict matching or plain domains (myapp.local) to\n allow any protocol/port.\n -h, --help Show this help message\n\nExamples:\n spotlight # Start on default port 8969\n spotlight --open # Start and open dashboard in browser\n spotlight tail # Tail all event types (human format)\n spotlight tail errors # Tail only errors\n spotlight tail errors logs # Tail errors and logs\n spotlight tail --format json # Explicitly use json format\n spotlight mcp # Start in MCP mode\n spotlight --port 3000 # Start on port 3000\n spotlight -p 3000 -d # Start on port 3000 with debug logging\n spotlight -A myapp.local # Allow requests from myapp.local\n spotlight -A https://tunnel.ngrok.io -A dev.local # Multiple origins\n`);\n process.exit(0);\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAGA,SAAwB,WAAW;AACjC,UAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAO4B,CAAC,GAAG,OAAO,KAAK,oBAAoB,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,sCACrD,CAAC,GAAG,sBAAsB,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CAS9B,CAAC,GAAG,oBAAoB,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAqBjF;AACC,UAAQ,KAAK,CAAC;AAChB;"}
|
package/dist/server/cli/mcp.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "bf4b1244-eca3-4038-9d5c-069d5d9fbdc2", e._sentryDebugIdIdentifier = "sentry-dbid-bf4b1244-eca3-4038-9d5c-069d5d9fbdc2");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
9
|
-
import { Client } from "../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.
|
|
10
|
-
import { StdioServerTransport } from "../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.
|
|
9
|
+
import { Client } from "../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js";
|
|
10
|
+
import { StdioServerTransport } from "../../node_modules/.pnpm/@modelcontextprotocol_sdk@1.24.3_zod@4.1.13/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js";
|
|
11
11
|
import { captureException } from "@sentry/node";
|
|
12
12
|
import { startStdioServer, ServerType } from "mcp-proxy";
|
|
13
13
|
import { logger } from "../logger.js";
|
package/dist/server/cli/run.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CLIHandlerOptions } from '../types/cli.ts';
|
|
2
|
-
export default function run({ port, cmdArgs, basePath, filesToServe, format, allowedOrigins, }: CLIHandlerOptions): Promise<void>;
|
|
2
|
+
export default function run({ port, cmdArgs, basePath, filesToServe, format, allowedOrigins, open, }: CLIHandlerOptions): Promise<void>;
|
package/dist/server/cli/run.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "cf2fc95b-4830-431c-b121-542d3b72686e", e._sentryDebugIdIdentifier = "sentry-dbid-cf2fc95b-4830-431c-b121-542d3b72686e");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
@@ -16,17 +16,16 @@ import { uuidv7 } from "uuidv7";
|
|
|
16
16
|
import { SENTRY_CONTENT_TYPE } from "../../shared/constants.js";
|
|
17
17
|
import "../../_virtual/_sentry-release-injection-file.js";
|
|
18
18
|
import { logger } from "../logger.js";
|
|
19
|
-
import { detectDockerCompose,
|
|
20
|
-
import { getSpotlightURL } from "../utils/extras.js";
|
|
19
|
+
import { detectDockerCompose, prepareDockerComposeRun, parseExplicitDockerCompose } from "../utils/docker-compose.js";
|
|
20
|
+
import { openInBrowser, getSpotlightURL } from "../utils/extras.js";
|
|
21
21
|
import { getBuffer } from "../utils/getBuffer.js";
|
|
22
22
|
import { EventContainer } from "../utils/eventContainer.js";
|
|
23
23
|
import "node:dns/promises";
|
|
24
24
|
import "node:net";
|
|
25
25
|
import "node:os";
|
|
26
26
|
import tail from "./tail.js";
|
|
27
|
-
const SPOTLIGHT_VERSION = "4.
|
|
27
|
+
const SPOTLIGHT_VERSION = "4.8.0";
|
|
28
28
|
const LOCALHOST_HOST = "localhost";
|
|
29
|
-
const DOCKER_HOST = "host.docker.internal";
|
|
30
29
|
function detectPackageJson() {
|
|
31
30
|
try {
|
|
32
31
|
const scripts = JSON.parse(readFileSync("./package.json", "utf-8")).scripts;
|
|
@@ -104,7 +103,8 @@ async function run({
|
|
|
104
103
|
basePath,
|
|
105
104
|
filesToServe,
|
|
106
105
|
format,
|
|
107
|
-
allowedOrigins
|
|
106
|
+
allowedOrigins,
|
|
107
|
+
open
|
|
108
108
|
}) {
|
|
109
109
|
let relayStdioAsLogs = true;
|
|
110
110
|
const fuzzySearcher = new Searcher([], {
|
|
@@ -143,6 +143,9 @@ async function run({
|
|
|
143
143
|
}
|
|
144
144
|
const actualServerPort = serverInstance.address().port;
|
|
145
145
|
const spotlightUrl = getSpotlightURL(actualServerPort, LOCALHOST_HOST);
|
|
146
|
+
if (open) {
|
|
147
|
+
openInBrowser(actualServerPort);
|
|
148
|
+
}
|
|
146
149
|
let shell = false;
|
|
147
150
|
let stdin = void 0;
|
|
148
151
|
const env = {
|
|
@@ -171,11 +174,7 @@ async function run({
|
|
|
171
174
|
`Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(", ")}`
|
|
172
175
|
);
|
|
173
176
|
metrics.count("cli.run.autodetect", 1, { attributes: { type: "docker-compose" } });
|
|
174
|
-
|
|
175
|
-
const command = buildDockerComposeCommand(dockerCompose);
|
|
176
|
-
cmdArgs = command.cmdArgs;
|
|
177
|
-
stdin = command.stdin;
|
|
178
|
-
delete env.COMPOSE_FILE;
|
|
177
|
+
({ cmdArgs, stdin } = prepareDockerComposeRun(dockerCompose, actualServerPort, env));
|
|
179
178
|
} else {
|
|
180
179
|
logger.info(`Using package.json script: ${packageJson.scriptName}`);
|
|
181
180
|
metrics.count("cli.run.autodetect", 1, { attributes: { type: "package-json" } });
|
|
@@ -188,11 +187,7 @@ async function run({
|
|
|
188
187
|
`Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(", ")}`
|
|
189
188
|
);
|
|
190
189
|
metrics.count("cli.run.autodetect", 1, { attributes: { type: "docker-compose" } });
|
|
191
|
-
|
|
192
|
-
const command = buildDockerComposeCommand(dockerCompose);
|
|
193
|
-
cmdArgs = command.cmdArgs;
|
|
194
|
-
stdin = command.stdin;
|
|
195
|
-
delete env.COMPOSE_FILE;
|
|
190
|
+
({ cmdArgs, stdin } = prepareDockerComposeRun(dockerCompose, actualServerPort, env));
|
|
196
191
|
} else if (packageJson) {
|
|
197
192
|
logger.info(`Using package.json script: ${packageJson.scriptName}`);
|
|
198
193
|
metrics.count("cli.run.autodetect", 1, { attributes: { type: "package-json" } });
|
|
@@ -200,6 +195,20 @@ async function run({
|
|
|
200
195
|
shell = true;
|
|
201
196
|
env.PATH = path.resolve("./node_modules/.bin") + path.delimiter + env.PATH;
|
|
202
197
|
}
|
|
198
|
+
} else {
|
|
199
|
+
const explicitDockerConfig = parseExplicitDockerCompose(cmdArgs);
|
|
200
|
+
if (explicitDockerConfig) {
|
|
201
|
+
logger.info(
|
|
202
|
+
`Detected explicit Docker Compose command with ${explicitDockerConfig.serviceNames.length} service(s): ${explicitDockerConfig.serviceNames.join(", ")}`
|
|
203
|
+
);
|
|
204
|
+
metrics.count("cli.run.docker_compose.explicit", 1, {
|
|
205
|
+
attributes: {
|
|
206
|
+
services: explicitDockerConfig.serviceNames.length,
|
|
207
|
+
subcommand: explicitDockerConfig.subcommandArgs.join(" ")
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
({ cmdArgs, stdin } = prepareDockerComposeRun(explicitDockerConfig, actualServerPort, env));
|
|
211
|
+
}
|
|
203
212
|
}
|
|
204
213
|
if (cmdArgs.length === 0) {
|
|
205
214
|
logger.error("Error: No command specified to run and could not infer the command automatically.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sources":["../../../src/server/cli/run.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { readFileSync } from \"node:fs\";\nimport type { AddressInfo } from \"node:net\";\nimport * as path from \"node:path\";\nimport * as readline from \"node:readline\";\nimport type { SerializedLog } from \"@sentry/core\";\nimport { metrics } from \"@sentry/node\";\nimport { Searcher } from \"fast-fuzzy\";\nimport { uuidv7 } from \"uuidv7\";\nimport { SENTRY_CONTENT_TYPE } from \"../constants.ts\";\nimport { logger } from \"../logger.ts\";\nimport type { SentryLogEvent } from \"../parser/types.ts\";\nimport type { CLIHandlerOptions } from \"../types/cli.ts\";\nimport { buildDockerComposeCommand, detectDockerCompose } from \"../utils/docker-compose.ts\";\nimport { getSpotlightURL } from \"../utils/extras.ts\";\nimport { EventContainer, getBuffer } from \"../utils/index.ts\";\nimport tail, { type OnItemCallback } from \"./tail.ts\";\n\nconst SPOTLIGHT_VERSION = process.env.npm_package_version || \"unknown\";\n\n// Environment variable host configurations\nconst LOCALHOST_HOST = \"localhost\";\nconst DOCKER_HOST = \"host.docker.internal\";\n\n/**\n * Detect if there's a package.json with runnable scripts\n */\nfunction detectPackageJson(): { scriptName: string; scriptCommand: string } | null {\n try {\n const scripts = JSON.parse(readFileSync(\"./package.json\", \"utf-8\")).scripts;\n const scriptName = [\"dev\", \"develop\", \"serve\", \"start\"].find(name => scripts[name]);\n if (!scriptName || !scripts[scriptName]) {\n return null;\n }\n return { scriptName, scriptCommand: scripts[scriptName] };\n } catch {\n // pass\n }\n return null;\n}\n\n/**\n * Prompt the user to choose between Docker Compose and package.json\n */\nasync function promptUserChoice(): Promise<\"docker\" | \"package\"> {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n });\n\n return new Promise(resolve => {\n console.log(\"\\n⚠️ Both Docker Compose and package.json detected!\");\n console.log(\"\\nWhich would you like to use?\");\n console.log(\" 1) docker compose\");\n console.log(\" 2) package.json\");\n\n rl.question(\"Enter your choice (1 or 2): \", answer => {\n rl.close();\n const choice = answer.trim();\n const selected = choice === \"2\" ? \"package\" : \"docker\";\n logger.info(`Selected: ${selected === \"docker\" ? \"Docker compose\" : \"package.json\"}`);\n resolve(selected);\n });\n });\n}\n\nfunction createLogEnvelope(level: \"info\" | \"error\", body: string, timestamp: number): Buffer {\n const envelopeHeader = {\n sdk: {\n name: \"sentry.spotlight.stdio\",\n version: SPOTLIGHT_VERSION,\n },\n };\n\n const logItem: SerializedLog = {\n timestamp,\n level,\n body,\n attributes: {},\n };\n\n const logPayload: SentryLogEvent = {\n type: \"log\",\n event_id: uuidv7(),\n timestamp,\n items: [\n {\n ...logItem,\n id: uuidv7(),\n severity_number: level === \"error\" ? 17 : 9, // ERROR=17, INFO=9 per OpenTelemetry spec\n sdk: undefined,\n },\n ],\n };\n\n const payloadJson = JSON.stringify(logPayload);\n const payloadBuffer = Buffer.from(payloadJson, \"utf-8\");\n\n const itemHeader = {\n type: \"log\",\n length: payloadBuffer.length, // Use byte length, not string length\n item_count: 1,\n content_type: \"application/json\",\n };\n\n const parts = [JSON.stringify(envelopeHeader), JSON.stringify(itemHeader), payloadJson];\n\n return Buffer.from(`${parts.join(\"\\n\")}\\n`, \"utf-8\");\n}\n\nexport default async function run({\n port,\n cmdArgs,\n basePath,\n filesToServe,\n format,\n allowedOrigins,\n}: CLIHandlerOptions) {\n let relayStdioAsLogs = true;\n\n const fuzzySearcher = new Searcher([] as string[], {\n threshold: 0.8,\n ignoreCase: false,\n });\n\n const logChecker: OnItemCallback = (type, item, envelopeHeader) => {\n if (type !== \"log\") return true;\n\n const [, payload] = item;\n const logEvent = payload as SentryLogEvent;\n\n if (logEvent.items && logEvent.items.length > 0) {\n for (const logItem of logEvent.items) {\n // Check if this is a stdio log from Spotlight itself\n if (envelopeHeader.sdk?.name === \"sentry.spotlight.stdio\") {\n continue;\n }\n\n if (!relayStdioAsLogs) continue;\n\n const logBody = typeof logItem.body === \"string\" ? logItem.body : String(logItem.body);\n const trimmedBody = logBody.trim();\n\n if (trimmedBody) {\n const matches = fuzzySearcher.search(trimmedBody);\n if (matches.length > 0) {\n logger.debug(\"Detected Sentry logging in the process, disabling stdio relay\");\n relayStdioAsLogs = false;\n return false;\n }\n }\n }\n }\n\n return true;\n };\n\n const serverInstance = await tail({ port, cmdArgs: [], basePath, filesToServe, format, allowedOrigins }, logChecker);\n if (!serverInstance) {\n logger.error(\"Failed to start Spotlight sidecar server.\");\n logger.error(`The port ${port} might already be in use — most likely by another Spotlight instance.`);\n process.exit(1);\n }\n\n // We *MUST* have an instance address and a port here\n // as not having that indicates either the server did not start\n // or started in a weird manner (like over a unix socket)\n const actualServerPort = (serverInstance.address() as AddressInfo).port;\n const spotlightUrl = getSpotlightURL(actualServerPort, LOCALHOST_HOST);\n let shell = false;\n let stdin: string | undefined = undefined;\n const env = {\n ...process.env,\n SENTRY_SPOTLIGHT: spotlightUrl,\n // We need the one below for Next.js projects -- they only allow NEXT_PUBLIC_ prefixed env vars\n // on frontend code\n NEXT_PUBLIC_SENTRY_SPOTLIGHT: spotlightUrl,\n // This is not supported in all SDKs but worth adding\n // for the ones that support it\n SENTRY_TRACES_SAMPLE_RATE: \"1\",\n } as {\n PATH: string;\n SENTRY_SPOTLIGHT: string;\n NEXT_PUBLIC_SENTRY_SPOTLIGHT: string;\n SENTRY_TRACES_SAMPLE_RATE: string;\n [key: string]: string;\n };\n if (cmdArgs.length === 0) {\n const dockerCompose = detectDockerCompose();\n const packageJson = detectPackageJson();\n\n // If both Docker Compose and package.json are detected, ask the user which one to use\n if (dockerCompose && packageJson) {\n if (!process.stdin.isTTY) {\n logger.error(\"Both Docker Compose and package.json detected, but cannot prompt in non-interactive mode.\");\n logger.error(\"Please specify a command explicitly or run in an interactive terminal.\");\n process.exit(1);\n }\n const choice = await promptUserChoice();\n metrics.count(\"cli.run.prompt_choice\", 1, { attributes: { choice } });\n\n if (choice === \"docker\") {\n logger.info(\n `Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(\", \")}`,\n );\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"docker-compose\" } });\n // Use host.docker.internal for backend services to access the host machine\n env.SENTRY_SPOTLIGHT = getSpotlightURL(actualServerPort, DOCKER_HOST);\n const command = buildDockerComposeCommand(dockerCompose);\n cmdArgs = command.cmdArgs;\n stdin = command.stdin;\n // Always unset COMPOSE_FILE to avoid conflicts with explicit -f flags\n // biome-ignore lint/performance/noDelete: need to remove env var entirely\n delete env.COMPOSE_FILE;\n } else {\n logger.info(`Using package.json script: ${packageJson.scriptName}`);\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"package-json\" } });\n cmdArgs = [packageJson.scriptCommand];\n shell = true;\n env.PATH = path.resolve(\"./node_modules/.bin\") + path.delimiter + env.PATH;\n }\n } else if (dockerCompose) {\n logger.info(\n `Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(\", \")}`,\n );\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"docker-compose\" } });\n // Use host.docker.internal for backend services to access the host machine\n env.SENTRY_SPOTLIGHT = getSpotlightURL(actualServerPort, DOCKER_HOST);\n\n const command = buildDockerComposeCommand(dockerCompose);\n cmdArgs = command.cmdArgs;\n stdin = command.stdin;\n // Always unset COMPOSE_FILE to avoid conflicts with explicit -f flags\n // biome-ignore lint/performance/noDelete: need to remove env var entirely\n delete env.COMPOSE_FILE;\n } else if (packageJson) {\n logger.info(`Using package.json script: ${packageJson.scriptName}`);\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"package-json\" } });\n cmdArgs = [packageJson.scriptCommand];\n shell = true;\n env.PATH = path.resolve(\"./node_modules/.bin\") + path.delimiter + env.PATH;\n }\n }\n if (cmdArgs.length === 0) {\n logger.error(\"Error: No command specified to run and could not infer the command automatically.\");\n process.exit(1);\n }\n const cmdStr = cmdArgs.join(\" \");\n logger.info(`Starting command: ${cmdStr}`);\n // When we have Docker Compose override YAML (for -f -), we need to pipe stdin\n // Otherwise, inherit stdin to relay user input to the downstream process\n const stdinMode: \"pipe\" | \"inherit\" = stdin ? \"pipe\" : \"inherit\";\n const runCmd = spawn(cmdArgs[0], cmdArgs.slice(1), {\n cwd: process.cwd(),\n env,\n shell,\n windowsVerbatimArguments: true,\n windowsHide: true,\n stdio: [stdinMode, \"pipe\", \"pipe\"],\n });\n\n const { stdout, stderr } = runCmd;\n if (!stdout || !stderr) {\n logger.error(\"Failed to create process streams\");\n process.exit(1);\n }\n\n // If our command has a stdin input _and_ we can send to stdin, write and close\n if (stdin) {\n if (!runCmd.stdin) {\n logger.error(\"Failed to pipe Docker Compose override: stdin is not available\");\n process.exit(1);\n }\n runCmd.stdin.write(stdin);\n runCmd.stdin.end();\n }\n\n const processLogLine = (line: string, level: \"info\" | \"error\") => {\n if (!relayStdioAsLogs) return;\n const trimmedLine = line.trim();\n if (!trimmedLine) return;\n\n fuzzySearcher.add(trimmedLine);\n\n const timestamp = Date.now() / 1000;\n const envelopeBuffer = createLogEnvelope(level, trimmedLine, timestamp);\n\n const container = new EventContainer(SENTRY_CONTENT_TYPE, envelopeBuffer);\n // Add to buffer - this will automatically trigger all subscribers\n // including the onEnvelope callback registered in tail()\n getBuffer().put(container);\n };\n\n let stdoutBuffer = \"\";\n let stderrBuffer = \"\";\n\n // Stream stdout as info-level logs\n stdout.on(\"data\", (data: Buffer) => {\n stdoutBuffer += data.toString();\n const lines = stdoutBuffer.split(\"\\n\");\n // Keep the last partial line in the buffer\n stdoutBuffer = lines.pop() || \"\";\n\n for (const line of lines) {\n processLogLine(line, \"info\");\n }\n });\n\n // Stream stderr as error-level logs\n stderr.on(\"data\", (data: Buffer) => {\n stderrBuffer += data.toString();\n const lines = stderrBuffer.split(\"\\n\");\n // Keep the last partial line in the buffer\n stderrBuffer = lines.pop() || \"\";\n\n for (const line of lines) {\n processLogLine(line, \"error\");\n }\n });\n\n runCmd.on(\"error\", err => {\n logger.error(`Failed to run ${cmdStr}:`);\n logger.error(err);\n process.exit(1);\n });\n\n runCmd.on(\"close\", code => {\n // Handle any remaining buffered lines\n if (stdoutBuffer.trim()) {\n processLogLine(stdoutBuffer, \"info\");\n }\n if (stderrBuffer.trim()) {\n processLogLine(stderrBuffer, \"error\");\n }\n\n if (!code) {\n logger.error(`${cmdStr} exited, terminating.`);\n } else {\n logger.error(`${cmdStr} exited with code ${code}.`);\n }\n process.exit(code);\n });\n const killRunCmd = () => {\n if (runCmd.killed) return;\n stdout.destroy();\n stderr.destroy();\n runCmd.kill();\n };\n runCmd.on(\"spawn\", () => {\n runCmd.removeAllListeners(\"spawn\");\n runCmd.removeAllListeners(\"error\");\n process.on(\"SIGINT\", killRunCmd);\n process.on(\"SIGTERM\", killRunCmd);\n process.on(\"beforeExit\", killRunCmd);\n });\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sources":["../../../src/server/cli/run.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { readFileSync } from \"node:fs\";\nimport type { AddressInfo } from \"node:net\";\nimport * as path from \"node:path\";\nimport * as readline from \"node:readline\";\nimport type { SerializedLog } from \"@sentry/core\";\nimport { metrics } from \"@sentry/node\";\nimport { Searcher } from \"fast-fuzzy\";\nimport { uuidv7 } from \"uuidv7\";\nimport { SENTRY_CONTENT_TYPE } from \"../constants.ts\";\nimport { logger } from \"../logger.ts\";\nimport type { SentryLogEvent } from \"../parser/types.ts\";\nimport type { CLIHandlerOptions } from \"../types/cli.ts\";\nimport { detectDockerCompose, parseExplicitDockerCompose, prepareDockerComposeRun } from \"../utils/docker-compose.ts\";\nimport { getSpotlightURL, openInBrowser } from \"../utils/extras.ts\";\nimport { EventContainer, getBuffer } from \"../utils/index.ts\";\nimport tail, { type OnItemCallback } from \"./tail.ts\";\n\nconst SPOTLIGHT_VERSION = process.env.npm_package_version || \"unknown\";\n\n// Environment variable host configurations\nconst LOCALHOST_HOST = \"localhost\";\n\n/**\n * Detect if there's a package.json with runnable scripts\n */\nfunction detectPackageJson(): { scriptName: string; scriptCommand: string } | null {\n try {\n const scripts = JSON.parse(readFileSync(\"./package.json\", \"utf-8\")).scripts;\n const scriptName = [\"dev\", \"develop\", \"serve\", \"start\"].find(name => scripts[name]);\n if (!scriptName || !scripts[scriptName]) {\n return null;\n }\n return { scriptName, scriptCommand: scripts[scriptName] };\n } catch {\n // pass\n }\n return null;\n}\n\n/**\n * Prompt the user to choose between Docker Compose and package.json\n */\nasync function promptUserChoice(): Promise<\"docker\" | \"package\"> {\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n });\n\n return new Promise(resolve => {\n console.log(\"\\n⚠️ Both Docker Compose and package.json detected!\");\n console.log(\"\\nWhich would you like to use?\");\n console.log(\" 1) docker compose\");\n console.log(\" 2) package.json\");\n\n rl.question(\"Enter your choice (1 or 2): \", answer => {\n rl.close();\n const choice = answer.trim();\n const selected = choice === \"2\" ? \"package\" : \"docker\";\n logger.info(`Selected: ${selected === \"docker\" ? \"Docker compose\" : \"package.json\"}`);\n resolve(selected);\n });\n });\n}\n\nfunction createLogEnvelope(level: \"info\" | \"error\", body: string, timestamp: number): Buffer {\n const envelopeHeader = {\n sdk: {\n name: \"sentry.spotlight.stdio\",\n version: SPOTLIGHT_VERSION,\n },\n };\n\n const logItem: SerializedLog = {\n timestamp,\n level,\n body,\n attributes: {},\n };\n\n const logPayload: SentryLogEvent = {\n type: \"log\",\n event_id: uuidv7(),\n timestamp,\n items: [\n {\n ...logItem,\n id: uuidv7(),\n severity_number: level === \"error\" ? 17 : 9, // ERROR=17, INFO=9 per OpenTelemetry spec\n sdk: undefined,\n },\n ],\n };\n\n const payloadJson = JSON.stringify(logPayload);\n const payloadBuffer = Buffer.from(payloadJson, \"utf-8\");\n\n const itemHeader = {\n type: \"log\",\n length: payloadBuffer.length, // Use byte length, not string length\n item_count: 1,\n content_type: \"application/json\",\n };\n\n const parts = [JSON.stringify(envelopeHeader), JSON.stringify(itemHeader), payloadJson];\n\n return Buffer.from(`${parts.join(\"\\n\")}\\n`, \"utf-8\");\n}\n\nexport default async function run({\n port,\n cmdArgs,\n basePath,\n filesToServe,\n format,\n allowedOrigins,\n open,\n}: CLIHandlerOptions) {\n let relayStdioAsLogs = true;\n\n const fuzzySearcher = new Searcher([] as string[], {\n threshold: 0.8,\n ignoreCase: false,\n });\n\n const logChecker: OnItemCallback = (type, item, envelopeHeader) => {\n if (type !== \"log\") return true;\n\n const [, payload] = item;\n const logEvent = payload as SentryLogEvent;\n\n if (logEvent.items && logEvent.items.length > 0) {\n for (const logItem of logEvent.items) {\n // Check if this is a stdio log from Spotlight itself\n if (envelopeHeader.sdk?.name === \"sentry.spotlight.stdio\") {\n continue;\n }\n\n if (!relayStdioAsLogs) continue;\n\n const logBody = typeof logItem.body === \"string\" ? logItem.body : String(logItem.body);\n const trimmedBody = logBody.trim();\n\n if (trimmedBody) {\n const matches = fuzzySearcher.search(trimmedBody);\n if (matches.length > 0) {\n logger.debug(\"Detected Sentry logging in the process, disabling stdio relay\");\n relayStdioAsLogs = false;\n return false;\n }\n }\n }\n }\n\n return true;\n };\n\n const serverInstance = await tail({ port, cmdArgs: [], basePath, filesToServe, format, allowedOrigins }, logChecker);\n if (!serverInstance) {\n logger.error(\"Failed to start Spotlight sidecar server.\");\n logger.error(`The port ${port} might already be in use — most likely by another Spotlight instance.`);\n process.exit(1);\n }\n\n // We *MUST* have an instance address and a port here\n // as not having that indicates either the server did not start\n // or started in a weird manner (like over a unix socket)\n const actualServerPort = (serverInstance.address() as AddressInfo).port;\n const spotlightUrl = getSpotlightURL(actualServerPort, LOCALHOST_HOST);\n\n if (open) {\n openInBrowser(actualServerPort);\n }\n let shell = false;\n let stdin: string | undefined = undefined;\n const env = {\n ...process.env,\n SENTRY_SPOTLIGHT: spotlightUrl,\n // We need the one below for Next.js projects -- they only allow NEXT_PUBLIC_ prefixed env vars\n // on frontend code\n NEXT_PUBLIC_SENTRY_SPOTLIGHT: spotlightUrl,\n // This is not supported in all SDKs but worth adding\n // for the ones that support it\n SENTRY_TRACES_SAMPLE_RATE: \"1\",\n } as {\n PATH: string;\n SENTRY_SPOTLIGHT: string;\n NEXT_PUBLIC_SENTRY_SPOTLIGHT: string;\n SENTRY_TRACES_SAMPLE_RATE: string;\n [key: string]: string;\n };\n if (cmdArgs.length === 0) {\n const dockerCompose = detectDockerCompose();\n const packageJson = detectPackageJson();\n\n // If both Docker Compose and package.json are detected, ask the user which one to use\n if (dockerCompose && packageJson) {\n if (!process.stdin.isTTY) {\n logger.error(\"Both Docker Compose and package.json detected, but cannot prompt in non-interactive mode.\");\n logger.error(\"Please specify a command explicitly or run in an interactive terminal.\");\n process.exit(1);\n }\n const choice = await promptUserChoice();\n metrics.count(\"cli.run.prompt_choice\", 1, { attributes: { choice } });\n\n if (choice === \"docker\") {\n logger.info(\n `Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(\", \")}`,\n );\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"docker-compose\" } });\n ({ cmdArgs, stdin } = prepareDockerComposeRun(dockerCompose, actualServerPort, env));\n } else {\n logger.info(`Using package.json script: ${packageJson.scriptName}`);\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"package-json\" } });\n cmdArgs = [packageJson.scriptCommand];\n shell = true;\n env.PATH = path.resolve(\"./node_modules/.bin\") + path.delimiter + env.PATH;\n }\n } else if (dockerCompose) {\n logger.info(\n `Detected Docker Compose project with ${dockerCompose.serviceNames.length} service(s): ${dockerCompose.serviceNames.join(\", \")}`,\n );\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"docker-compose\" } });\n ({ cmdArgs, stdin } = prepareDockerComposeRun(dockerCompose, actualServerPort, env));\n } else if (packageJson) {\n logger.info(`Using package.json script: ${packageJson.scriptName}`);\n metrics.count(\"cli.run.autodetect\", 1, { attributes: { type: \"package-json\" } });\n cmdArgs = [packageJson.scriptCommand];\n shell = true;\n env.PATH = path.resolve(\"./node_modules/.bin\") + path.delimiter + env.PATH;\n }\n } else {\n // Handle explicit docker compose commands (e.g., \"spotlight run docker compose up\")\n const explicitDockerConfig = parseExplicitDockerCompose(cmdArgs);\n if (explicitDockerConfig) {\n logger.info(\n `Detected explicit Docker Compose command with ${explicitDockerConfig.serviceNames.length} service(s): ${explicitDockerConfig.serviceNames.join(\", \")}`,\n );\n metrics.count(\"cli.run.docker_compose.explicit\", 1, {\n attributes: {\n services: explicitDockerConfig.serviceNames.length,\n subcommand: explicitDockerConfig.subcommandArgs.join(\" \"),\n },\n });\n ({ cmdArgs, stdin } = prepareDockerComposeRun(explicitDockerConfig, actualServerPort, env));\n }\n }\n if (cmdArgs.length === 0) {\n logger.error(\"Error: No command specified to run and could not infer the command automatically.\");\n process.exit(1);\n }\n const cmdStr = cmdArgs.join(\" \");\n logger.info(`Starting command: ${cmdStr}`);\n // When we have Docker Compose override YAML (for -f -), we need to pipe stdin\n // Otherwise, inherit stdin to relay user input to the downstream process\n const stdinMode: \"pipe\" | \"inherit\" = stdin ? \"pipe\" : \"inherit\";\n const runCmd = spawn(cmdArgs[0], cmdArgs.slice(1), {\n cwd: process.cwd(),\n env,\n shell,\n windowsVerbatimArguments: true,\n windowsHide: true,\n stdio: [stdinMode, \"pipe\", \"pipe\"],\n });\n\n const { stdout, stderr } = runCmd;\n if (!stdout || !stderr) {\n logger.error(\"Failed to create process streams\");\n process.exit(1);\n }\n\n // If our command has a stdin input _and_ we can send to stdin, write and close\n if (stdin) {\n if (!runCmd.stdin) {\n logger.error(\"Failed to pipe Docker Compose override: stdin is not available\");\n process.exit(1);\n }\n runCmd.stdin.write(stdin);\n runCmd.stdin.end();\n }\n\n const processLogLine = (line: string, level: \"info\" | \"error\") => {\n if (!relayStdioAsLogs) return;\n const trimmedLine = line.trim();\n if (!trimmedLine) return;\n\n fuzzySearcher.add(trimmedLine);\n\n const timestamp = Date.now() / 1000;\n const envelopeBuffer = createLogEnvelope(level, trimmedLine, timestamp);\n\n const container = new EventContainer(SENTRY_CONTENT_TYPE, envelopeBuffer);\n // Add to buffer - this will automatically trigger all subscribers\n // including the onEnvelope callback registered in tail()\n getBuffer().put(container);\n };\n\n let stdoutBuffer = \"\";\n let stderrBuffer = \"\";\n\n // Stream stdout as info-level logs\n stdout.on(\"data\", (data: Buffer) => {\n stdoutBuffer += data.toString();\n const lines = stdoutBuffer.split(\"\\n\");\n // Keep the last partial line in the buffer\n stdoutBuffer = lines.pop() || \"\";\n\n for (const line of lines) {\n processLogLine(line, \"info\");\n }\n });\n\n // Stream stderr as error-level logs\n stderr.on(\"data\", (data: Buffer) => {\n stderrBuffer += data.toString();\n const lines = stderrBuffer.split(\"\\n\");\n // Keep the last partial line in the buffer\n stderrBuffer = lines.pop() || \"\";\n\n for (const line of lines) {\n processLogLine(line, \"error\");\n }\n });\n\n runCmd.on(\"error\", err => {\n logger.error(`Failed to run ${cmdStr}:`);\n logger.error(err);\n process.exit(1);\n });\n\n runCmd.on(\"close\", code => {\n // Handle any remaining buffered lines\n if (stdoutBuffer.trim()) {\n processLogLine(stdoutBuffer, \"info\");\n }\n if (stderrBuffer.trim()) {\n processLogLine(stderrBuffer, \"error\");\n }\n\n if (!code) {\n logger.error(`${cmdStr} exited, terminating.`);\n } else {\n logger.error(`${cmdStr} exited with code ${code}.`);\n }\n process.exit(code);\n });\n const killRunCmd = () => {\n if (runCmd.killed) return;\n stdout.destroy();\n stderr.destroy();\n runCmd.kill();\n };\n runCmd.on(\"spawn\", () => {\n runCmd.removeAllListeners(\"spawn\");\n runCmd.removeAllListeners(\"error\");\n process.on(\"SIGINT\", killRunCmd);\n process.on(\"SIGTERM\", killRunCmd);\n process.on(\"beforeExit\", killRunCmd);\n });\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CLIHandlerOptions } from '../types/cli.ts';
|
|
2
|
-
export default function server({ port, basePath, filesToServe, allowedOrigins }: CLIHandlerOptions): Promise<import('http').Server<typeof import('http').IncomingMessage, typeof import('http').ServerResponse> | undefined>;
|
|
2
|
+
export default function server({ port, basePath, filesToServe, allowedOrigins, open }: CLIHandlerOptions): Promise<import('http').Server<typeof import('http').IncomingMessage, typeof import('http').ServerResponse> | undefined>;
|
|
@@ -2,20 +2,26 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "1a9ea3ae-07f6-4bc5-bad0-6e4e8f4aaa3f", e._sentryDebugIdIdentifier = "sentry-dbid-1a9ea3ae-07f6-4bc5-bad0-6e4e8f4aaa3f");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
9
9
|
import { setupSpotlight } from "../main.js";
|
|
10
|
+
import { openInBrowser } from "../utils/extras.js";
|
|
10
11
|
import "../../_virtual/_sentry-release-injection-file.js";
|
|
11
|
-
async function server({ port, basePath, filesToServe, allowedOrigins }) {
|
|
12
|
-
|
|
12
|
+
async function server({ port, basePath, filesToServe, allowedOrigins, open }) {
|
|
13
|
+
const serverInstance = await setupSpotlight({
|
|
13
14
|
port,
|
|
14
15
|
basePath,
|
|
15
16
|
filesToServe,
|
|
16
17
|
isStandalone: true,
|
|
17
18
|
allowedOrigins
|
|
18
19
|
});
|
|
20
|
+
if (open) {
|
|
21
|
+
const actualPort = serverInstance ? serverInstance.address().port : port;
|
|
22
|
+
openInBrowser(actualPort);
|
|
23
|
+
}
|
|
24
|
+
return serverInstance;
|
|
19
25
|
}
|
|
20
26
|
export {
|
|
21
27
|
server as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sources":["../../../src/server/cli/server.ts"],"sourcesContent":["import { setupSpotlight } from \"../main.ts\";\nimport type { CLIHandlerOptions } from \"../types/cli.ts\";\n\nexport default async function server({ port, basePath, filesToServe, allowedOrigins }: CLIHandlerOptions) {\n
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../../src/server/cli/server.ts"],"sourcesContent":["import type { AddressInfo } from \"node:net\";\nimport { setupSpotlight } from \"../main.ts\";\nimport type { CLIHandlerOptions } from \"../types/cli.ts\";\nimport { openInBrowser } from \"../utils/extras.ts\";\n\nexport default async function server({ port, basePath, filesToServe, allowedOrigins, open }: CLIHandlerOptions) {\n const serverInstance = await setupSpotlight({\n port,\n basePath,\n filesToServe,\n isStandalone: true,\n allowedOrigins,\n });\n\n if (open) {\n // Use actual port from server instance, or fall back to requested port\n // (when serverInstance is undefined, a server is already running on the requested port)\n const actualPort = serverInstance ? (serverInstance.address() as AddressInfo).port : port;\n openInBrowser(actualPort);\n }\n\n return serverInstance;\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAKA,eAA8B,OAAO,EAAE,MAAM,UAAU,cAAc,gBAAgB,QAA2B;AAC9G,QAAM,iBAAiB,MAAM,eAAe;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,EAAA,CACD;AAED,MAAI,MAAM;AAGR,UAAM,aAAa,iBAAkB,eAAe,QAAA,EAA0B,OAAO;AACrF,kBAAc,UAAU;AAAA,EAC1B;AAEA,SAAO;AACT;"}
|
package/dist/server/cli.d.ts
CHANGED
package/dist/server/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
!function() {
|
|
3
3
|
try {
|
|
4
4
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "951e4117-be1a-4a9d-9788-42de887add04", e._sentryDebugIdIdentifier = "sentry-dbid-951e4117-be1a-4a9d-9788-42de887add04");
|
|
6
6
|
} catch (e2) {
|
|
7
7
|
}
|
|
8
8
|
}();
|
|
@@ -46,6 +46,11 @@ const PARSE_ARGS_CONFIG = {
|
|
|
46
46
|
type: "boolean",
|
|
47
47
|
default: false
|
|
48
48
|
},
|
|
49
|
+
open: {
|
|
50
|
+
type: "boolean",
|
|
51
|
+
short: "o",
|
|
52
|
+
default: false
|
|
53
|
+
},
|
|
49
54
|
help: {
|
|
50
55
|
type: "boolean",
|
|
51
56
|
short: "h",
|
|
@@ -98,6 +103,7 @@ function parseCLIArgs() {
|
|
|
98
103
|
const result = {
|
|
99
104
|
debug: values.debug,
|
|
100
105
|
help: values.help,
|
|
106
|
+
open: values.open,
|
|
101
107
|
format,
|
|
102
108
|
port,
|
|
103
109
|
cmd: positionals[0],
|
|
@@ -118,11 +124,11 @@ async function main({
|
|
|
118
124
|
basePath,
|
|
119
125
|
filesToServe
|
|
120
126
|
} = {}) {
|
|
121
|
-
let { cmd, cmdArgs, help, port, debug, format, allowedOrigins } = parseCLIArgs();
|
|
127
|
+
let { cmd, cmdArgs, help, port, debug, format, allowedOrigins, open } = parseCLIArgs();
|
|
122
128
|
if (debug || process.env.SPOTLIGHT_DEBUG) {
|
|
123
129
|
enableDebugLogging(true);
|
|
124
130
|
}
|
|
125
|
-
const spotlightVersion = "4.
|
|
131
|
+
const spotlightVersion = "4.8.0";
|
|
126
132
|
logger.info(`Spotlight by Sentry - v${spotlightVersion}`);
|
|
127
133
|
metrics.count("cli.invocation", 1, {
|
|
128
134
|
attributes: {
|
|
@@ -136,7 +142,7 @@ async function main({
|
|
|
136
142
|
cmdArgs = [];
|
|
137
143
|
}
|
|
138
144
|
const handler = CLI_CMD_MAP.get(cmd) || showHelp;
|
|
139
|
-
return await handler({ cmd, cmdArgs, port, help, debug, format, basePath, filesToServe, allowedOrigins });
|
|
145
|
+
return await handler({ cmd, cmdArgs, port, help, debug, format, basePath, filesToServe, allowedOrigins, open });
|
|
140
146
|
}
|
|
141
147
|
export {
|
|
142
148
|
CLI_CMD_MAP,
|
package/dist/server/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../../src/server/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { parseArgs } from \"node:util\";\nimport { metrics } from \"@sentry/node\";\nimport showHelp from \"./cli/help.ts\";\nimport mcp from \"./cli/mcp.ts\";\nimport run from \"./cli/run.ts\";\nimport server from \"./cli/server.ts\";\nimport tail from \"./cli/tail.ts\";\nimport { DEFAULT_PORT } from \"./constants.ts\";\nimport { AVAILABLE_FORMATTERS } from \"./formatters/types.ts\";\nimport type { FormatterType } from \"./formatters/types.ts\";\nimport { enableDebugLogging, logger } from \"./logger.ts\";\nimport type { CLIHandler, CLIHandlerOptions } from \"./types/cli.ts\";\n\n// When port is set to `0` for a server to listen on,\n// it tells the OS to find a random available port.\n// This can then be retrieved after the server starts.\nconst MAGIC_PORT_FOR_DYNAMIC_ASSIGNMENT = 0;\nconst PARSE_ARGS_CONFIG = {\n options: {\n port: {\n type: \"string\",\n short: \"p\",\n default: undefined,\n },\n debug: {\n type: \"boolean\",\n short: \"d\",\n default: false,\n },\n format: {\n type: \"string\",\n short: \"f\",\n default: \"human\",\n },\n \"allowed-origin\": {\n type: \"string\",\n short: \"A\",\n multiple: true,\n default: [] as string[],\n },\n // Deprecated -- use the positional `mcp` argument instead\n \"stdio-mcp\": {\n type: \"boolean\",\n default: false,\n },\n help: {\n type: \"boolean\",\n short: \"h\",\n default: false,\n },\n },\n allowPositionals: true,\n strict: true,\n} as const;\n\nexport type CLIArgs = {\n port: number;\n debug: boolean;\n help: boolean;\n format: FormatterType;\n cmd: string | undefined;\n cmdArgs: string[];\n allowedOrigins: string[];\n};\n\nexport function parseCLIArgs(): CLIArgs {\n const args = Array.from(process.argv).slice(2);\n const preParse = parseArgs({\n ...PARSE_ARGS_CONFIG,\n strict: false,\n tokens: true,\n });\n let cmdArgs: string[] | undefined = undefined;\n const runToken = preParse.tokens.find(token => token.kind === \"positional\" && token.value === \"run\");\n if (runToken) {\n const cutOff = preParse.tokens.find(token => token.index > runToken.index && token.kind === \"positional\");\n cmdArgs = cutOff ? args.splice(cutOff.index) : [];\n }\n const { values, positionals } = parseArgs({\n args,\n ...PARSE_ARGS_CONFIG,\n });\n\n // Handle legacy positional argument for port (backwards compatibility)\n const portInput = positionals.length === 1 && /^\\d{1,5}$/.test(positionals[0]) ? positionals.shift() : values.port;\n\n const port = portInput != null ? Number(portInput) : runToken ? MAGIC_PORT_FOR_DYNAMIC_ASSIGNMENT : DEFAULT_PORT;\n if (Number.isNaN(port)) {\n // Validate port number\n console.error(`Error: Invalid port number '${portInput}'`);\n console.error(\"Port must be a valid number between 1 and 65535\");\n process.exit(1);\n }\n\n if (port < 0 || port > 65535) {\n console.error(`Error: Port ${port} is out of valid range (1-65535 or 0 for automatic assignment)`);\n process.exit(1);\n }\n\n if (values[\"stdio-mcp\"]) {\n positionals.unshift(\"mcp\");\n console.warn(\"Warning: --stdio-mcp is deprecated. Please use the positional argument 'mcp' instead.\");\n }\n\n const format = values.format as string;\n if (!AVAILABLE_FORMATTERS.includes(format as FormatterType)) {\n console.error(`Error: Invalid format '${format}'`);\n console.error(`Valid formats are: ${AVAILABLE_FORMATTERS.join(\", \")}`);\n process.exit(1);\n }\n\n // Parse allowed origins - supports both repeatable flags and comma-separated values\n const allowedOriginInput = values[\"allowed-origin\"] as string[];\n const allowedOrigins = allowedOriginInput.flatMap(origin => origin.split(\",\").map(o => o.trim())).filter(Boolean);\n\n const result: CLIArgs = {\n debug: values.debug as boolean,\n help: values.help as boolean,\n format: format as FormatterType,\n port,\n cmd: positionals[0],\n cmdArgs: cmdArgs ?? positionals.slice(1),\n allowedOrigins,\n };\n\n return result;\n}\nexport const CLI_CMD_MAP = new Map<string | undefined, CLIHandler>([\n [\"help\", showHelp],\n [\"mcp\", mcp],\n [\"tail\", tail],\n [\"run\", run],\n [\"server\", server],\n [undefined, server],\n]);\n\nexport async function main({\n basePath,\n filesToServe,\n}: { basePath?: CLIHandlerOptions[\"basePath\"]; filesToServe?: CLIHandlerOptions[\"filesToServe\"] } = {}) {\n let { cmd, cmdArgs, help, port, debug, format, allowedOrigins } = parseCLIArgs();\n if (debug || process.env.SPOTLIGHT_DEBUG) {\n enableDebugLogging(true);\n }\n const spotlightVersion = process.env.npm_package_version || \"{unknown}\";\n logger.info(`Spotlight by Sentry - v${spotlightVersion}`);\n\n metrics.count(\"cli.invocation\", 1, {\n attributes: {\n command: cmd || \"server\",\n format,\n debug: String(debug),\n },\n });\n\n if (help) {\n cmd = \"help\";\n cmdArgs = [];\n }\n\n const handler = CLI_CMD_MAP.get(cmd) || showHelp;\n\n return await handler({ cmd, cmdArgs, port, help, debug, format, basePath, filesToServe, allowedOrigins });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,MAAM,oCAAoC;AAC1C,MAAM,oBAAoB;AAAA,EACxB,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS,CAAA;AAAA,IAAC;AAAA;AAAA,IAGZ,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,kBAAkB;AAAA,EAClB,QAAQ;AACV;
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../../src/server/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { parseArgs } from \"node:util\";\nimport { metrics } from \"@sentry/node\";\nimport showHelp from \"./cli/help.ts\";\nimport mcp from \"./cli/mcp.ts\";\nimport run from \"./cli/run.ts\";\nimport server from \"./cli/server.ts\";\nimport tail from \"./cli/tail.ts\";\nimport { DEFAULT_PORT } from \"./constants.ts\";\nimport { AVAILABLE_FORMATTERS } from \"./formatters/types.ts\";\nimport type { FormatterType } from \"./formatters/types.ts\";\nimport { enableDebugLogging, logger } from \"./logger.ts\";\nimport type { CLIHandler, CLIHandlerOptions } from \"./types/cli.ts\";\n\n// When port is set to `0` for a server to listen on,\n// it tells the OS to find a random available port.\n// This can then be retrieved after the server starts.\nconst MAGIC_PORT_FOR_DYNAMIC_ASSIGNMENT = 0;\nconst PARSE_ARGS_CONFIG = {\n options: {\n port: {\n type: \"string\",\n short: \"p\",\n default: undefined,\n },\n debug: {\n type: \"boolean\",\n short: \"d\",\n default: false,\n },\n format: {\n type: \"string\",\n short: \"f\",\n default: \"human\",\n },\n \"allowed-origin\": {\n type: \"string\",\n short: \"A\",\n multiple: true,\n default: [] as string[],\n },\n // Deprecated -- use the positional `mcp` argument instead\n \"stdio-mcp\": {\n type: \"boolean\",\n default: false,\n },\n open: {\n type: \"boolean\",\n short: \"o\",\n default: false,\n },\n help: {\n type: \"boolean\",\n short: \"h\",\n default: false,\n },\n },\n allowPositionals: true,\n strict: true,\n} as const;\n\nexport type CLIArgs = {\n port: number;\n debug: boolean;\n help: boolean;\n open: boolean;\n format: FormatterType;\n cmd: string | undefined;\n cmdArgs: string[];\n allowedOrigins: string[];\n};\n\nexport function parseCLIArgs(): CLIArgs {\n const args = Array.from(process.argv).slice(2);\n const preParse = parseArgs({\n ...PARSE_ARGS_CONFIG,\n strict: false,\n tokens: true,\n });\n let cmdArgs: string[] | undefined = undefined;\n const runToken = preParse.tokens.find(token => token.kind === \"positional\" && token.value === \"run\");\n if (runToken) {\n const cutOff = preParse.tokens.find(token => token.index > runToken.index && token.kind === \"positional\");\n cmdArgs = cutOff ? args.splice(cutOff.index) : [];\n }\n const { values, positionals } = parseArgs({\n args,\n ...PARSE_ARGS_CONFIG,\n });\n\n // Handle legacy positional argument for port (backwards compatibility)\n const portInput = positionals.length === 1 && /^\\d{1,5}$/.test(positionals[0]) ? positionals.shift() : values.port;\n\n const port = portInput != null ? Number(portInput) : runToken ? MAGIC_PORT_FOR_DYNAMIC_ASSIGNMENT : DEFAULT_PORT;\n if (Number.isNaN(port)) {\n // Validate port number\n console.error(`Error: Invalid port number '${portInput}'`);\n console.error(\"Port must be a valid number between 1 and 65535\");\n process.exit(1);\n }\n\n if (port < 0 || port > 65535) {\n console.error(`Error: Port ${port} is out of valid range (1-65535 or 0 for automatic assignment)`);\n process.exit(1);\n }\n\n if (values[\"stdio-mcp\"]) {\n positionals.unshift(\"mcp\");\n console.warn(\"Warning: --stdio-mcp is deprecated. Please use the positional argument 'mcp' instead.\");\n }\n\n const format = values.format as string;\n if (!AVAILABLE_FORMATTERS.includes(format as FormatterType)) {\n console.error(`Error: Invalid format '${format}'`);\n console.error(`Valid formats are: ${AVAILABLE_FORMATTERS.join(\", \")}`);\n process.exit(1);\n }\n\n // Parse allowed origins - supports both repeatable flags and comma-separated values\n const allowedOriginInput = values[\"allowed-origin\"] as string[];\n const allowedOrigins = allowedOriginInput.flatMap(origin => origin.split(\",\").map(o => o.trim())).filter(Boolean);\n\n const result: CLIArgs = {\n debug: values.debug as boolean,\n help: values.help as boolean,\n open: values.open as boolean,\n format: format as FormatterType,\n port,\n cmd: positionals[0],\n cmdArgs: cmdArgs ?? positionals.slice(1),\n allowedOrigins,\n };\n\n return result;\n}\nexport const CLI_CMD_MAP = new Map<string | undefined, CLIHandler>([\n [\"help\", showHelp],\n [\"mcp\", mcp],\n [\"tail\", tail],\n [\"run\", run],\n [\"server\", server],\n [undefined, server],\n]);\n\nexport async function main({\n basePath,\n filesToServe,\n}: { basePath?: CLIHandlerOptions[\"basePath\"]; filesToServe?: CLIHandlerOptions[\"filesToServe\"] } = {}) {\n let { cmd, cmdArgs, help, port, debug, format, allowedOrigins, open } = parseCLIArgs();\n if (debug || process.env.SPOTLIGHT_DEBUG) {\n enableDebugLogging(true);\n }\n const spotlightVersion = process.env.npm_package_version || \"{unknown}\";\n logger.info(`Spotlight by Sentry - v${spotlightVersion}`);\n\n metrics.count(\"cli.invocation\", 1, {\n attributes: {\n command: cmd || \"server\",\n format,\n debug: String(debug),\n },\n });\n\n if (help) {\n cmd = \"help\";\n cmdArgs = [];\n }\n\n const handler = CLI_CMD_MAP.get(cmd) || showHelp;\n\n return await handler({ cmd, cmdArgs, port, help, debug, format, basePath, filesToServe, allowedOrigins, open });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,MAAM,oCAAoC;AAC1C,MAAM,oBAAoB;AAAA,EACxB,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS,CAAA;AAAA,IAAC;AAAA;AAAA,IAGZ,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,kBAAkB;AAAA,EAClB,QAAQ;AACV;AAaO,SAAS,eAAwB;AACtC,QAAM,OAAO,MAAM,KAAK,QAAQ,IAAI,EAAE,MAAM,CAAC;AAC7C,QAAM,WAAW,UAAU;AAAA,IACzB,GAAG;AAAA,IACH,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA,CACT;AACD,MAAI,UAAgC;AACpC,QAAM,WAAW,SAAS,OAAO,KAAK,CAAA,UAAS,MAAM,SAAS,gBAAgB,MAAM,UAAU,KAAK;AACnG,MAAI,UAAU;AACZ,UAAM,SAAS,SAAS,OAAO,KAAK,CAAA,UAAS,MAAM,QAAQ,SAAS,SAAS,MAAM,SAAS,YAAY;AACxG,cAAU,SAAS,KAAK,OAAO,OAAO,KAAK,IAAI,CAAA;AAAA,EACjD;AACA,QAAM,EAAE,QAAQ,YAAA,IAAgB,UAAU;AAAA,IACxC;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAGD,QAAM,YAAY,YAAY,WAAW,KAAK,YAAY,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,MAAA,IAAU,OAAO;AAE9G,QAAM,OAAO,aAAa,OAAO,OAAO,SAAS,IAAI,WAAW,oCAAoC;AACpG,MAAI,OAAO,MAAM,IAAI,GAAG;AAEtB,YAAQ,MAAM,+BAA+B,SAAS,GAAG;AACzD,YAAQ,MAAM,iDAAiD;AAC/D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,OAAO,KAAK,OAAO,OAAO;AAC5B,YAAQ,MAAM,eAAe,IAAI,gEAAgE;AACjG,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,GAAG;AACvB,gBAAY,QAAQ,KAAK;AACzB,YAAQ,KAAK,uFAAuF;AAAA,EACtG;AAEA,QAAM,SAAS,OAAO;AACtB,MAAI,CAAC,qBAAqB,SAAS,MAAuB,GAAG;AAC3D,YAAQ,MAAM,0BAA0B,MAAM,GAAG;AACjD,YAAQ,MAAM,sBAAsB,qBAAqB,KAAK,IAAI,CAAC,EAAE;AACrE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,qBAAqB,OAAO,gBAAgB;AAClD,QAAM,iBAAiB,mBAAmB,QAAQ,CAAA,WAAU,OAAO,MAAM,GAAG,EAAE,IAAI,CAAA,MAAK,EAAE,KAAA,CAAM,CAAC,EAAE,OAAO,OAAO;AAEhH,QAAM,SAAkB;AAAA,IACtB,OAAO,OAAO;AAAA,IACd,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,IACb;AAAA,IACA;AAAA,IACA,KAAK,YAAY,CAAC;AAAA,IAClB,SAAS,WAAW,YAAY,MAAM,CAAC;AAAA,IACvC;AAAA,EAAA;AAGF,SAAO;AACT;AACO,MAAM,kCAAkB,IAAoC;AAAA,EACjE,CAAC,QAAQ,QAAQ;AAAA,EACjB,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,QAAQ,IAAI;AAAA,EACb,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,UAAU,MAAM;AAAA,EACjB,CAAC,QAAW,MAAM;AACpB,CAAC;AAED,eAAsB,KAAK;AAAA,EACzB;AAAA,EACA;AACF,IAAoG,IAAI;AACtG,MAAI,EAAE,KAAK,SAAS,MAAM,MAAM,OAAO,QAAQ,gBAAgB,KAAA,IAAS,aAAA;AACxE,MAAI,SAAS,QAAQ,IAAI,iBAAiB;AACxC,uBAAmB,IAAI;AAAA,EACzB;AACA,QAAM,mBAAmB;AACzB,SAAO,KAAK,0BAA0B,gBAAgB,EAAE;AAExD,UAAQ,MAAM,kBAAkB,GAAG;AAAA,IACjC,YAAY;AAAA,MACV,SAAS,OAAO;AAAA,MAChB;AAAA,MACA,OAAO,OAAO,KAAK;AAAA,IAAA;AAAA,EACrB,CACD;AAED,MAAI,MAAM;AACR,UAAM;AACN,cAAU,CAAA;AAAA,EACZ;AAEA,QAAM,UAAU,YAAY,IAAI,GAAG,KAAK;AAExC,SAAO,MAAM,QAAQ,EAAE,KAAK,SAAS,MAAM,MAAM,OAAO,QAAQ,UAAU,cAAc,gBAAgB,MAAM;AAChH;"}
|