@milpa/comal 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -2
- package/backend/contracts/artifact-check-v1.schema.json +213 -0
- package/backend/contracts/remote-commands-v1.json +125 -0
- package/backend/verifier/transport.mjs +27 -0
- package/bin/comal.mjs +32 -0
- package/bin/harness.mjs +3 -0
- package/docs/investigation.md +3 -0
- package/governance/chrome-task-v1.json +13 -0
- package/governance/chrome-task-v2.json +67 -0
- package/node_modules/@jitl/quickjs-ffi-types/LICENSE +21 -0
- package/node_modules/@jitl/quickjs-ffi-types/README.md +5 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.d.mts +549 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.d.ts +549 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.js +2 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.js.map +1 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.mjs +2 -0
- package/node_modules/@jitl/quickjs-ffi-types/dist/index.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-ffi-types/package.json +36 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/LICENSE +47 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/README.md +93 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.browser.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.browser.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.cjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.cloudflare.cjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.cloudflare.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.wasm +0 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.wasm.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.d.mts +94 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.d.ts +94 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.d.mts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.d.ts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/package.json +61 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/LICENSE +47 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/README.md +88 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.browser.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.browser.mjs +5430 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.cjs +5485 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.cloudflare.cjs +5424 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.cloudflare.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.mjs +5541 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.wasm +0 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.wasm.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.d.mts +85 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.d.ts +85 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.d.mts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.d.ts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-debug-sync/package.json +61 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/LICENSE +47 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/README.md +89 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.browser.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.browser.mjs +26 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.cjs +25 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.cloudflare.cjs +25 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.cloudflare.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.d.ts +15 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.mjs +30 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.wasm +0 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.d.mts +94 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.d.ts +94 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.d.mts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.d.ts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-asyncify/package.json +61 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/LICENSE +47 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/README.md +82 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.browser.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.browser.mjs +22 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.cjs +21 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.cloudflare.cjs +21 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.cloudflare.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.d.ts +11 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.mjs +25 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.wasm +0 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.d.mts +85 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.d.ts +85 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.d.mts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.d.ts +20 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.mjs +2 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.mjs.map +1 -0
- package/node_modules/@jitl/quickjs-wasmfile-release-sync/package.json +61 -0
- package/node_modules/ajv/.runkit_example.js +23 -0
- package/node_modules/ajv/LICENSE +22 -0
- package/node_modules/ajv/README.md +207 -0
- package/node_modules/ajv/dist/2019.d.ts +19 -0
- package/node_modules/ajv/dist/2019.js +61 -0
- package/node_modules/ajv/dist/2019.js.map +1 -0
- package/node_modules/ajv/dist/2020.d.ts +19 -0
- package/node_modules/ajv/dist/2020.js +55 -0
- package/node_modules/ajv/dist/2020.js.map +1 -0
- package/node_modules/ajv/dist/ajv.d.ts +18 -0
- package/node_modules/ajv/dist/ajv.js +50 -0
- package/node_modules/ajv/dist/ajv.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
- package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
- package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/node_modules/ajv/dist/compile/errors.js +123 -0
- package/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/node_modules/ajv/dist/compile/index.js +242 -0
- package/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js +236 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/node_modules/ajv/dist/compile/names.js +28 -0
- package/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
- package/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/node_modules/ajv/dist/compile/resolve.js +155 -0
- package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/node_modules/ajv/dist/compile/rules.js +26 -0
- package/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/node_modules/ajv/dist/compile/util.js +178 -0
- package/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/node_modules/ajv/dist/compile/validate/index.js +520 -0
- package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/node_modules/ajv/dist/core.d.ts +174 -0
- package/node_modules/ajv/dist/core.js +618 -0
- package/node_modules/ajv/dist/core.js.map +1 -0
- package/node_modules/ajv/dist/jtd.d.ts +47 -0
- package/node_modules/ajv/dist/jtd.js +72 -0
- package/node_modules/ajv/dist/jtd.js.map +1 -0
- package/node_modules/ajv/dist/refs/data.json +13 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
- package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/uri.js +6 -0
- package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/node_modules/ajv/dist/standalone/index.js +90 -0
- package/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/node_modules/ajv/dist/types/index.d.ts +183 -0
- package/node_modules/ajv/dist/types/index.js +3 -0
- package/node_modules/ajv/dist/types/index.js.map +1 -0
- package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
- package/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
- package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/node_modules/ajv/lib/2019.ts +81 -0
- package/node_modules/ajv/lib/2020.ts +75 -0
- package/node_modules/ajv/lib/ajv.ts +70 -0
- package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
- package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
- package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/node_modules/ajv/lib/compile/index.ts +324 -0
- package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/node_modules/ajv/lib/compile/jtd/serialize.ts +277 -0
- package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/node_modules/ajv/lib/compile/names.ts +27 -0
- package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
- package/node_modules/ajv/lib/compile/resolve.ts +149 -0
- package/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/node_modules/ajv/lib/compile/util.ts +213 -0
- package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
- package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
- package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/node_modules/ajv/lib/core.ts +892 -0
- package/node_modules/ajv/lib/jtd.ts +132 -0
- package/node_modules/ajv/lib/refs/data.json +13 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
- package/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/node_modules/ajv/lib/runtime/uri.ts +6 -0
- package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/node_modules/ajv/lib/standalone/index.ts +100 -0
- package/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/node_modules/ajv/lib/types/index.ts +244 -0
- package/node_modules/ajv/lib/types/json-schema.ts +187 -0
- package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
- package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
- package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
- package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
- package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +39 -0
- package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/node_modules/ajv/package.json +126 -0
- package/node_modules/ansi-regex/index.d.ts +33 -0
- package/node_modules/ansi-regex/index.js +15 -0
- package/node_modules/ansi-regex/license +9 -0
- package/node_modules/ansi-regex/package.json +61 -0
- package/node_modules/ansi-regex/readme.md +66 -0
- package/node_modules/boolbase/README.md +10 -0
- package/node_modules/boolbase/index.js +8 -0
- package/node_modules/boolbase/package.json +23 -0
- package/node_modules/cheerio/LICENSE +21 -0
- package/node_modules/cheerio/Readme.md +229 -0
- package/node_modules/cheerio/dist/browser/api/attributes.d.ts +385 -0
- package/node_modules/cheerio/dist/browser/api/attributes.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/attributes.js +636 -0
- package/node_modules/cheerio/dist/browser/api/attributes.js.map +1 -0
- package/node_modules/cheerio/dist/browser/api/css.d.ts +42 -0
- package/node_modules/cheerio/dist/browser/api/css.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/css.js +116 -0
- package/node_modules/cheerio/dist/browser/api/css.js.map +1 -0
- package/node_modules/cheerio/dist/browser/api/extract.d.ts +27 -0
- package/node_modules/cheerio/dist/browser/api/extract.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/extract.js +42 -0
- package/node_modules/cheerio/dist/browser/api/extract.js.map +1 -0
- package/node_modules/cheerio/dist/browser/api/forms.d.ts +36 -0
- package/node_modules/cheerio/dist/browser/api/forms.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/forms.js +81 -0
- package/node_modules/cheerio/dist/browser/api/forms.js.map +1 -0
- package/node_modules/cheerio/dist/browser/api/manipulation.d.ts +528 -0
- package/node_modules/cheerio/dist/browser/api/manipulation.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/manipulation.js +831 -0
- package/node_modules/cheerio/dist/browser/api/manipulation.js.map +1 -0
- package/node_modules/cheerio/dist/browser/api/traversing.d.ts +657 -0
- package/node_modules/cheerio/dist/browser/api/traversing.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/api/traversing.js +857 -0
- package/node_modules/cheerio/dist/browser/api/traversing.js.map +1 -0
- package/node_modules/cheerio/dist/browser/cheerio.d.ts +85 -0
- package/node_modules/cheerio/dist/browser/cheerio.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/cheerio.js +58 -0
- package/node_modules/cheerio/dist/browser/cheerio.js.map +1 -0
- package/node_modules/cheerio/dist/browser/index-browser.d.mts.map +1 -0
- package/node_modules/cheerio/dist/browser/index-browser.mjs.map +1 -0
- package/node_modules/cheerio/dist/browser/index.d.ts +5 -0
- package/node_modules/cheerio/dist/browser/index.js +3 -0
- package/node_modules/cheerio/dist/browser/load-parse.d.ts +20 -0
- package/node_modules/cheerio/dist/browser/load-parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/load-parse.js +28 -0
- package/node_modules/cheerio/dist/browser/load-parse.js.map +1 -0
- package/node_modules/cheerio/dist/browser/load.d.ts +91 -0
- package/node_modules/cheerio/dist/browser/load.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/load.js +129 -0
- package/node_modules/cheerio/dist/browser/load.js.map +1 -0
- package/node_modules/cheerio/dist/browser/options.d.ts +98 -0
- package/node_modules/cheerio/dist/browser/options.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/options.js +34 -0
- package/node_modules/cheerio/dist/browser/options.js.map +1 -0
- package/node_modules/cheerio/dist/browser/package.json +3 -0
- package/node_modules/cheerio/dist/browser/parse.d.ts +18 -0
- package/node_modules/cheerio/dist/browser/parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/parse.js +73 -0
- package/node_modules/cheerio/dist/browser/parse.js.map +1 -0
- package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts +20 -0
- package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js +50 -0
- package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js.map +1 -0
- package/node_modules/cheerio/dist/browser/slim.d.ts +25 -0
- package/node_modules/cheerio/dist/browser/slim.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/slim.js +22 -0
- package/node_modules/cheerio/dist/browser/slim.js.map +1 -0
- package/node_modules/cheerio/dist/browser/static.d.ts +112 -0
- package/node_modules/cheerio/dist/browser/static.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/static.js +204 -0
- package/node_modules/cheerio/dist/browser/static.js.map +1 -0
- package/node_modules/cheerio/dist/browser/types.d.ts +21 -0
- package/node_modules/cheerio/dist/browser/types.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/types.js +3 -0
- package/node_modules/cheerio/dist/browser/types.js.map +1 -0
- package/node_modules/cheerio/dist/browser/utils.d.ts +55 -0
- package/node_modules/cheerio/dist/browser/utils.d.ts.map +1 -0
- package/node_modules/cheerio/dist/browser/utils.js +84 -0
- package/node_modules/cheerio/dist/browser/utils.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts +385 -0
- package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/attributes.js +647 -0
- package/node_modules/cheerio/dist/commonjs/api/attributes.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/css.d.ts +42 -0
- package/node_modules/cheerio/dist/commonjs/api/css.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/css.js +119 -0
- package/node_modules/cheerio/dist/commonjs/api/css.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/extract.d.ts +27 -0
- package/node_modules/cheerio/dist/commonjs/api/extract.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/extract.js +45 -0
- package/node_modules/cheerio/dist/commonjs/api/extract.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/forms.d.ts +36 -0
- package/node_modules/cheerio/dist/commonjs/api/forms.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/forms.js +85 -0
- package/node_modules/cheerio/dist/commonjs/api/forms.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts +528 -0
- package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/manipulation.js +850 -0
- package/node_modules/cheerio/dist/commonjs/api/manipulation.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts +657 -0
- package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/api/traversing.js +914 -0
- package/node_modules/cheerio/dist/commonjs/api/traversing.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/cheerio.d.ts +85 -0
- package/node_modules/cheerio/dist/commonjs/cheerio.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/cheerio.js +95 -0
- package/node_modules/cheerio/dist/commonjs/cheerio.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/index.d.ts +104 -0
- package/node_modules/cheerio/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/index.js +250 -0
- package/node_modules/cheerio/dist/commonjs/index.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/load-parse.d.ts +20 -0
- package/node_modules/cheerio/dist/commonjs/load-parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/load-parse.js +34 -0
- package/node_modules/cheerio/dist/commonjs/load-parse.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/load.d.ts +91 -0
- package/node_modules/cheerio/dist/commonjs/load.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/load.js +165 -0
- package/node_modules/cheerio/dist/commonjs/load.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/options.d.ts +98 -0
- package/node_modules/cheerio/dist/commonjs/options.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/options.js +37 -0
- package/node_modules/cheerio/dist/commonjs/options.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/package.json +3 -0
- package/node_modules/cheerio/dist/commonjs/parse.d.ts +18 -0
- package/node_modules/cheerio/dist/commonjs/parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/parse.js +77 -0
- package/node_modules/cheerio/dist/commonjs/parse.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts +20 -0
- package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js +54 -0
- package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/slim.d.ts +25 -0
- package/node_modules/cheerio/dist/commonjs/slim.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/slim.js +30 -0
- package/node_modules/cheerio/dist/commonjs/slim.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/static.d.ts +112 -0
- package/node_modules/cheerio/dist/commonjs/static.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/static.js +214 -0
- package/node_modules/cheerio/dist/commonjs/static.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/types.d.ts +21 -0
- package/node_modules/cheerio/dist/commonjs/types.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/types.js +4 -0
- package/node_modules/cheerio/dist/commonjs/types.js.map +1 -0
- package/node_modules/cheerio/dist/commonjs/utils.d.ts +55 -0
- package/node_modules/cheerio/dist/commonjs/utils.d.ts.map +1 -0
- package/node_modules/cheerio/dist/commonjs/utils.js +91 -0
- package/node_modules/cheerio/dist/commonjs/utils.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/attributes.d.ts +385 -0
- package/node_modules/cheerio/dist/esm/api/attributes.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/attributes.js +636 -0
- package/node_modules/cheerio/dist/esm/api/attributes.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/css.d.ts +42 -0
- package/node_modules/cheerio/dist/esm/api/css.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/css.js +116 -0
- package/node_modules/cheerio/dist/esm/api/css.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/extract.d.ts +27 -0
- package/node_modules/cheerio/dist/esm/api/extract.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/extract.js +42 -0
- package/node_modules/cheerio/dist/esm/api/extract.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/forms.d.ts +36 -0
- package/node_modules/cheerio/dist/esm/api/forms.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/forms.js +81 -0
- package/node_modules/cheerio/dist/esm/api/forms.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/manipulation.d.ts +528 -0
- package/node_modules/cheerio/dist/esm/api/manipulation.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/manipulation.js +831 -0
- package/node_modules/cheerio/dist/esm/api/manipulation.js.map +1 -0
- package/node_modules/cheerio/dist/esm/api/traversing.d.ts +657 -0
- package/node_modules/cheerio/dist/esm/api/traversing.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/api/traversing.js +857 -0
- package/node_modules/cheerio/dist/esm/api/traversing.js.map +1 -0
- package/node_modules/cheerio/dist/esm/cheerio.d.ts +85 -0
- package/node_modules/cheerio/dist/esm/cheerio.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/cheerio.js +58 -0
- package/node_modules/cheerio/dist/esm/cheerio.js.map +1 -0
- package/node_modules/cheerio/dist/esm/index.d.ts +104 -0
- package/node_modules/cheerio/dist/esm/index.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/index.js +202 -0
- package/node_modules/cheerio/dist/esm/index.js.map +1 -0
- package/node_modules/cheerio/dist/esm/load-parse.d.ts +20 -0
- package/node_modules/cheerio/dist/esm/load-parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/load-parse.js +28 -0
- package/node_modules/cheerio/dist/esm/load-parse.js.map +1 -0
- package/node_modules/cheerio/dist/esm/load.d.ts +91 -0
- package/node_modules/cheerio/dist/esm/load.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/load.js +129 -0
- package/node_modules/cheerio/dist/esm/load.js.map +1 -0
- package/node_modules/cheerio/dist/esm/options.d.ts +98 -0
- package/node_modules/cheerio/dist/esm/options.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/options.js +34 -0
- package/node_modules/cheerio/dist/esm/options.js.map +1 -0
- package/node_modules/cheerio/dist/esm/package.json +3 -0
- package/node_modules/cheerio/dist/esm/parse.d.ts +18 -0
- package/node_modules/cheerio/dist/esm/parse.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/parse.js +73 -0
- package/node_modules/cheerio/dist/esm/parse.js.map +1 -0
- package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts +20 -0
- package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js +50 -0
- package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js.map +1 -0
- package/node_modules/cheerio/dist/esm/slim.d.ts +25 -0
- package/node_modules/cheerio/dist/esm/slim.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/slim.js +22 -0
- package/node_modules/cheerio/dist/esm/slim.js.map +1 -0
- package/node_modules/cheerio/dist/esm/static.d.ts +112 -0
- package/node_modules/cheerio/dist/esm/static.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/static.js +204 -0
- package/node_modules/cheerio/dist/esm/static.js.map +1 -0
- package/node_modules/cheerio/dist/esm/types.d.ts +21 -0
- package/node_modules/cheerio/dist/esm/types.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/types.js +3 -0
- package/node_modules/cheerio/dist/esm/types.js.map +1 -0
- package/node_modules/cheerio/dist/esm/utils.d.ts +55 -0
- package/node_modules/cheerio/dist/esm/utils.d.ts.map +1 -0
- package/node_modules/cheerio/dist/esm/utils.js +84 -0
- package/node_modules/cheerio/dist/esm/utils.js.map +1 -0
- package/node_modules/cheerio/package.json +182 -0
- package/node_modules/cheerio/src/api/attributes.ts +1145 -0
- package/node_modules/cheerio/src/api/css.ts +224 -0
- package/node_modules/cheerio/src/api/extract.ts +92 -0
- package/node_modules/cheerio/src/api/forms.ts +103 -0
- package/node_modules/cheerio/src/api/manipulation.ts +1115 -0
- package/node_modules/cheerio/src/api/traversing.ts +1175 -0
- package/node_modules/cheerio/src/cheerio.ts +143 -0
- package/node_modules/cheerio/src/index-browser.mts +10 -0
- package/node_modules/cheerio/src/index.ts +294 -0
- package/node_modules/cheerio/src/load-parse.ts +39 -0
- package/node_modules/cheerio/src/load.ts +282 -0
- package/node_modules/cheerio/src/options.ts +136 -0
- package/node_modules/cheerio/src/parse.ts +105 -0
- package/node_modules/cheerio/src/parsers/parse5-adapter.ts +66 -0
- package/node_modules/cheerio/src/slim.ts +33 -0
- package/node_modules/cheerio/src/static.ts +312 -0
- package/node_modules/cheerio/src/types.ts +58 -0
- package/node_modules/cheerio/src/utils.ts +99 -0
- package/node_modules/cheerio-select/LICENSE +11 -0
- package/node_modules/cheerio-select/README.md +18 -0
- package/node_modules/cheerio-select/lib/esm/helpers.d.ts +5 -0
- package/node_modules/cheerio-select/lib/esm/helpers.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/esm/helpers.js +20 -0
- package/node_modules/cheerio-select/lib/esm/helpers.js.map +1 -0
- package/node_modules/cheerio-select/lib/esm/index.d.ts +12 -0
- package/node_modules/cheerio-select/lib/esm/index.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/esm/index.js +241 -0
- package/node_modules/cheerio-select/lib/esm/index.js.map +1 -0
- package/node_modules/cheerio-select/lib/esm/package.json +1 -0
- package/node_modules/cheerio-select/lib/esm/positionals.d.ts +10 -0
- package/node_modules/cheerio-select/lib/esm/positionals.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/esm/positionals.js +47 -0
- package/node_modules/cheerio-select/lib/esm/positionals.js.map +1 -0
- package/node_modules/cheerio-select/lib/helpers.d.ts +5 -0
- package/node_modules/cheerio-select/lib/helpers.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/helpers.js +26 -0
- package/node_modules/cheerio-select/lib/helpers.js.map +1 -0
- package/node_modules/cheerio-select/lib/index.d.ts +12 -0
- package/node_modules/cheerio-select/lib/index.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/index.js +302 -0
- package/node_modules/cheerio-select/lib/index.js.map +1 -0
- package/node_modules/cheerio-select/lib/positionals.d.ts +10 -0
- package/node_modules/cheerio-select/lib/positionals.d.ts.map +1 -0
- package/node_modules/cheerio-select/lib/positionals.js +52 -0
- package/node_modules/cheerio-select/lib/positionals.js.map +1 -0
- package/node_modules/cheerio-select/package.json +76 -0
- package/node_modules/css-select/LICENSE +11 -0
- package/node_modules/css-select/README.md +264 -0
- package/node_modules/css-select/lib/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/attributes.js +236 -0
- package/node_modules/css-select/lib/attributes.js.map +1 -0
- package/node_modules/css-select/lib/compile.d.ts +13 -0
- package/node_modules/css-select/lib/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/compile.js +151 -0
- package/node_modules/css-select/lib/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.js +222 -0
- package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
- package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
- package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/compile.js +115 -0
- package/node_modules/css-select/lib/esm/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/general.d.ts +3 -0
- package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/general.js +144 -0
- package/node_modules/css-select/lib/esm/general.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/cache.d.ts +12 -0
- package/node_modules/css-select/lib/esm/helpers/cache.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/cache.js +41 -0
- package/node_modules/css-select/lib/esm/helpers/cache.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/querying.d.ts +24 -0
- package/node_modules/css-select/lib/esm/helpers/querying.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/querying.js +105 -0
- package/node_modules/css-select/lib/esm/helpers/querying.js.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.d.ts +20 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.js +103 -0
- package/node_modules/css-select/lib/esm/helpers/selectors.js.map +1 -0
- package/node_modules/css-select/lib/esm/index.d.ts +50 -0
- package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/index.js +115 -0
- package/node_modules/css-select/lib/esm/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/package.json +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
- package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/sort.js +79 -0
- package/node_modules/css-select/lib/esm/sort.js.map +1 -0
- package/node_modules/css-select/lib/esm/types.d.ts +167 -0
- package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/types.js +2 -0
- package/node_modules/css-select/lib/esm/types.js.map +1 -0
- package/node_modules/css-select/lib/general.d.ts +3 -0
- package/node_modules/css-select/lib/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/general.js +148 -0
- package/node_modules/css-select/lib/general.js.map +1 -0
- package/node_modules/css-select/lib/helpers/cache.d.ts +12 -0
- package/node_modules/css-select/lib/helpers/cache.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/cache.js +45 -0
- package/node_modules/css-select/lib/helpers/cache.js.map +1 -0
- package/node_modules/css-select/lib/helpers/querying.d.ts +24 -0
- package/node_modules/css-select/lib/helpers/querying.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/querying.js +111 -0
- package/node_modules/css-select/lib/helpers/querying.js.map +1 -0
- package/node_modules/css-select/lib/helpers/selectors.d.ts +20 -0
- package/node_modules/css-select/lib/helpers/selectors.d.ts.map +1 -0
- package/node_modules/css-select/lib/helpers/selectors.js +111 -0
- package/node_modules/css-select/lib/helpers/selectors.js.map +1 -0
- package/node_modules/css-select/lib/index.d.ts +50 -0
- package/node_modules/css-select/lib/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/index.js +154 -0
- package/node_modules/css-select/lib/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/sort.d.ts +12 -0
- package/node_modules/css-select/lib/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/sort.js +84 -0
- package/node_modules/css-select/lib/sort.js.map +1 -0
- package/node_modules/css-select/lib/types.d.ts +167 -0
- package/node_modules/css-select/lib/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/types.js +3 -0
- package/node_modules/css-select/lib/types.js.map +1 -0
- package/node_modules/css-select/package.json +81 -0
- package/node_modules/css-what/LICENSE +11 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/index.js +23 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/parse.js +425 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/types.js +42 -0
- package/node_modules/css-what/lib/es/index.d.ts +4 -0
- package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/index.js +3 -0
- package/node_modules/css-what/lib/es/parse.d.ts +20 -0
- package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/parse.js +420 -0
- package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/stringify.js +126 -0
- package/node_modules/css-what/lib/es/types.d.ts +70 -0
- package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/types.js +39 -0
- package/node_modules/css-what/package.json +59 -0
- package/node_modules/css-what/readme.md +69 -0
- package/node_modules/dom-serializer/LICENSE +11 -0
- package/node_modules/dom-serializer/README.md +109 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/index.js +190 -0
- package/node_modules/dom-serializer/lib/esm/package.json +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
- package/node_modules/dom-serializer/lib/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/index.js +229 -0
- package/node_modules/dom-serializer/package.json +69 -0
- package/node_modules/domelementtype/LICENSE +11 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/esm/index.js +51 -0
- package/node_modules/domelementtype/lib/esm/package.json +1 -0
- package/node_modules/domelementtype/lib/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/index.js +55 -0
- package/node_modules/domelementtype/package.json +54 -0
- package/node_modules/domelementtype/readme.md +1 -0
- package/node_modules/domhandler/LICENSE +11 -0
- package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
- package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/index.js +146 -0
- package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
- package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/node.js +338 -0
- package/node_modules/domhandler/lib/esm/package.json +1 -0
- package/node_modules/domhandler/lib/index.d.ts +76 -0
- package/node_modules/domhandler/lib/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/index.js +165 -0
- package/node_modules/domhandler/lib/node.d.ts +245 -0
- package/node_modules/domhandler/lib/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/node.js +474 -0
- package/node_modules/domhandler/package.json +73 -0
- package/node_modules/domhandler/readme.md +92 -0
- package/node_modules/domutils/LICENSE +11 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/feeds.js +183 -0
- package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.js +136 -0
- package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
- package/node_modules/domutils/lib/esm/index.d.ts +10 -0
- package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/index.js +10 -0
- package/node_modules/domutils/lib/esm/index.js.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.js +152 -0
- package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.js +134 -0
- package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/esm/package.json +1 -0
- package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
- package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/querying.js +142 -0
- package/node_modules/domutils/lib/esm/querying.js.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.js +81 -0
- package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.js +112 -0
- package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
- package/node_modules/domutils/lib/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/feeds.js +190 -0
- package/node_modules/domutils/lib/feeds.js.map +1 -0
- package/node_modules/domutils/lib/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/helpers.js +142 -0
- package/node_modules/domutils/lib/helpers.js.map +1 -0
- package/node_modules/domutils/lib/index.d.ts +10 -0
- package/node_modules/domutils/lib/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/index.js +33 -0
- package/node_modules/domutils/lib/index.js.map +1 -0
- package/node_modules/domutils/lib/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/legacy.js +168 -0
- package/node_modules/domutils/lib/legacy.js.map +1 -0
- package/node_modules/domutils/lib/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/manipulation.js +142 -0
- package/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/querying.d.ts +64 -0
- package/node_modules/domutils/lib/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/querying.js +155 -0
- package/node_modules/domutils/lib/querying.js.map +1 -0
- package/node_modules/domutils/lib/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/stringify.js +91 -0
- package/node_modules/domutils/lib/stringify.js.map +1 -0
- package/node_modules/domutils/lib/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/traversal.js +125 -0
- package/node_modules/domutils/lib/traversal.js.map +1 -0
- package/node_modules/domutils/package.json +79 -0
- package/node_modules/domutils/readme.md +31 -0
- package/node_modules/encoding-sniffer/LICENSE +18 -0
- package/node_modules/encoding-sniffer/README.md +68 -0
- package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts +31 -0
- package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/encoding-sniffer/dist/commonjs/index.js +72 -0
- package/node_modules/encoding-sniffer/dist/commonjs/index.js.map +1 -0
- package/node_modules/encoding-sniffer/dist/commonjs/package.json +3 -0
- package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts +148 -0
- package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts.map +1 -0
- package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js +990 -0
- package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js.map +1 -0
- package/node_modules/encoding-sniffer/dist/esm/index.d.ts +31 -0
- package/node_modules/encoding-sniffer/dist/esm/index.d.ts.map +1 -0
- package/node_modules/encoding-sniffer/dist/esm/index.js +63 -0
- package/node_modules/encoding-sniffer/dist/esm/index.js.map +1 -0
- package/node_modules/encoding-sniffer/dist/esm/package.json +3 -0
- package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts +148 -0
- package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts.map +1 -0
- package/node_modules/encoding-sniffer/dist/esm/sniffer.js +985 -0
- package/node_modules/encoding-sniffer/dist/esm/sniffer.js.map +1 -0
- package/node_modules/encoding-sniffer/package.json +94 -0
- package/node_modules/encoding-sniffer/sniffer.d.ts +2 -0
- package/node_modules/encoding-sniffer/sniffer.js +3 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/lib/decode.d.ts +211 -0
- package/node_modules/entities/lib/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/decode.js +536 -0
- package/node_modules/entities/lib/decode.js.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/encode.d.ts +22 -0
- package/node_modules/entities/lib/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/encode.js +77 -0
- package/node_modules/entities/lib/encode.js.map +1 -0
- package/node_modules/entities/lib/escape.d.ts +43 -0
- package/node_modules/entities/lib/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/escape.js +122 -0
- package/node_modules/entities/lib/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/decode.d.ts +211 -0
- package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode.js +496 -0
- package/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/esm/encode.d.ts +22 -0
- package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/encode.js +69 -0
- package/node_modules/entities/lib/esm/encode.js.map +1 -0
- package/node_modules/entities/lib/esm/escape.d.ts +43 -0
- package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/escape.js +116 -0
- package/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/esm/index.d.ts +96 -0
- package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/index.js +99 -0
- package/node_modules/entities/lib/esm/index.js.map +1 -0
- package/node_modules/entities/lib/esm/package.json +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.js +12 -0
- package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/index.d.ts +96 -0
- package/node_modules/entities/lib/index.d.ts.map +1 -0
- package/node_modules/entities/lib/index.js +126 -0
- package/node_modules/entities/lib/index.js.map +1 -0
- package/node_modules/entities/package.json +90 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +61 -0
- package/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/fast-uri/.gitattributes +2 -0
- package/node_modules/fast-uri/.github/dependabot.yml +13 -0
- package/node_modules/fast-uri/.github/workflows/ci.yml +106 -0
- package/node_modules/fast-uri/.github/workflows/lock-threads.yml +19 -0
- package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
- package/node_modules/fast-uri/LICENSE +30 -0
- package/node_modules/fast-uri/README.md +152 -0
- package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
- package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
- package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
- package/node_modules/fast-uri/benchmark/package.json +17 -0
- package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
- package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
- package/node_modules/fast-uri/eslint.config.js +6 -0
- package/node_modules/fast-uri/index.js +631 -0
- package/node_modules/fast-uri/lib/schemes.js +272 -0
- package/node_modules/fast-uri/lib/utils.js +747 -0
- package/node_modules/fast-uri/package.json +68 -0
- package/node_modules/fast-uri/test/ajv.test.js +43 -0
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
- package/node_modules/fast-uri/test/equal.test.js +145 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +503 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +327 -0
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/resolve.test.js +87 -0
- package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +178 -0
- package/node_modules/fast-uri/test/security.test.js +431 -0
- package/node_modules/fast-uri/test/serialize.test.js +151 -0
- package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
- package/node_modules/fast-uri/test/uri-js.test.js +912 -0
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/util.test.js +38 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/fast-uri/tsconfig.json +9 -0
- package/node_modules/fast-uri/types/index.d.ts +60 -0
- package/node_modules/fast-uri/types/index.test-d.ts +17 -0
- package/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/node_modules/get-east-asian-width/index.js +35 -0
- package/node_modules/get-east-asian-width/license +9 -0
- package/node_modules/get-east-asian-width/lookup-data.js +21 -0
- package/node_modules/get-east-asian-width/lookup.js +138 -0
- package/node_modules/get-east-asian-width/package.json +71 -0
- package/node_modules/get-east-asian-width/readme.md +65 -0
- package/node_modules/get-east-asian-width/utilities.js +24 -0
- package/node_modules/htmlparser2/LICENSE +18 -0
- package/node_modules/htmlparser2/README.md +171 -0
- package/node_modules/htmlparser2/WritableStream.js +3 -0
- package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts +198 -0
- package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/Parser.js +527 -0
- package/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts +126 -0
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +805 -0
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts +15 -0
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.js +36 -0
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.js.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/index.d.ts +54 -0
- package/node_modules/htmlparser2/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/index.js +123 -0
- package/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -0
- package/node_modules/htmlparser2/dist/commonjs/package.json +3 -0
- package/node_modules/htmlparser2/dist/esm/Parser.d.ts +198 -0
- package/node_modules/htmlparser2/dist/esm/Parser.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/esm/Parser.js +490 -0
- package/node_modules/htmlparser2/dist/esm/Parser.js.map +1 -0
- package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts +126 -0
- package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/esm/Tokenizer.js +801 -0
- package/node_modules/htmlparser2/dist/esm/Tokenizer.js.map +1 -0
- package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts +15 -0
- package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/esm/WritableStream.js +32 -0
- package/node_modules/htmlparser2/dist/esm/WritableStream.js.map +1 -0
- package/node_modules/htmlparser2/dist/esm/index.d.ts +54 -0
- package/node_modules/htmlparser2/dist/esm/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/esm/index.js +74 -0
- package/node_modules/htmlparser2/dist/esm/index.js.map +1 -0
- package/node_modules/htmlparser2/dist/esm/package.json +3 -0
- package/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
- package/node_modules/htmlparser2/node_modules/entities/decode.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/decode.js +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts +205 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js +92 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts +46 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js +138 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js +14 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts +96 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js +131 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts +17 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts +32 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js +94 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/package.json +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts +205 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js +554 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts +22 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js +88 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts +46 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js +134 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js +4 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js +4 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js +11 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts +96 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js +107 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts +17 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js +18 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts +2 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js +28 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts +32 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js +91 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/package.json +3 -0
- package/node_modules/htmlparser2/node_modules/entities/escape.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/escape.js +3 -0
- package/node_modules/htmlparser2/node_modules/entities/package.json +120 -0
- package/node_modules/htmlparser2/node_modules/entities/readme.md +143 -0
- package/node_modules/htmlparser2/node_modules/entities/src/decode-codepoint.ts +81 -0
- package/node_modules/htmlparser2/node_modules/entities/src/decode.ts +685 -0
- package/node_modules/htmlparser2/node_modules/entities/src/encode.ts +93 -0
- package/node_modules/htmlparser2/node_modules/entities/src/escape.ts +161 -0
- package/node_modules/htmlparser2/node_modules/entities/src/generated/.eslintrc.json +10 -0
- package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-html.ts +6 -0
- package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-xml.ts +6 -0
- package/node_modules/htmlparser2/node_modules/entities/src/generated/encode-html.ts +17 -0
- package/node_modules/htmlparser2/node_modules/entities/src/index.ts +187 -0
- package/node_modules/htmlparser2/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
- package/node_modules/htmlparser2/node_modules/entities/src/internal/decode-shared.ts +30 -0
- package/node_modules/htmlparser2/node_modules/entities/src/internal/encode-shared.ts +121 -0
- package/node_modules/htmlparser2/package.json +113 -0
- package/node_modules/htmlparser2/src/Parser.ts +663 -0
- package/node_modules/htmlparser2/src/Tokenizer.ts +877 -0
- package/node_modules/htmlparser2/src/WritableStream.ts +43 -0
- package/node_modules/htmlparser2/src/index.ts +115 -0
- package/node_modules/iconv-lite/.github/dependabot.yml +11 -0
- package/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
- package/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
- package/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/node_modules/iconv-lite/.idea/modules.xml +8 -0
- package/node_modules/iconv-lite/.idea/vcs.xml +6 -0
- package/node_modules/iconv-lite/Changelog.md +212 -0
- package/node_modules/iconv-lite/LICENSE +21 -0
- package/node_modules/iconv-lite/README.md +130 -0
- package/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
- package/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
- package/node_modules/iconv-lite/encodings/index.js +23 -0
- package/node_modules/iconv-lite/encodings/internal.js +198 -0
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
- package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/node_modules/iconv-lite/encodings/utf16.js +197 -0
- package/node_modules/iconv-lite/encodings/utf32.js +319 -0
- package/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/node_modules/iconv-lite/lib/index.d.ts +41 -0
- package/node_modules/iconv-lite/lib/index.js +180 -0
- package/node_modules/iconv-lite/lib/streams.js +109 -0
- package/node_modules/iconv-lite/package.json +44 -0
- package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
- package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
- package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
- package/node_modules/json-schema-traverse/LICENSE +21 -0
- package/node_modules/json-schema-traverse/README.md +95 -0
- package/node_modules/json-schema-traverse/index.d.ts +40 -0
- package/node_modules/json-schema-traverse/index.js +93 -0
- package/node_modules/json-schema-traverse/package.json +43 -0
- package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/node_modules/marked/LICENSE +44 -0
- package/node_modules/marked/README.md +117 -0
- package/node_modules/marked/bin/main.js +284 -0
- package/node_modules/marked/bin/marked.js +16 -0
- package/node_modules/marked/lib/marked.d.ts +841 -0
- package/node_modules/marked/lib/marked.esm.js +78 -0
- package/node_modules/marked/lib/marked.esm.js.map +7 -0
- package/node_modules/marked/lib/marked.umd.js +80 -0
- package/node_modules/marked/lib/marked.umd.js.map +7 -0
- package/node_modules/marked/man/marked.1 +113 -0
- package/node_modules/marked/man/marked.1.md +93 -0
- package/node_modules/marked/package.json +103 -0
- package/node_modules/nth-check/LICENSE +11 -0
- package/node_modules/nth-check/README.md +136 -0
- package/node_modules/nth-check/lib/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/compile.js +121 -0
- package/node_modules/nth-check/lib/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.js +113 -0
- package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
- package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/index.js +63 -0
- package/node_modules/nth-check/lib/esm/index.js.map +1 -0
- package/node_modules/nth-check/lib/esm/package.json +1 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/parse.js +73 -0
- package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
- package/node_modules/nth-check/lib/index.d.ts +59 -0
- package/node_modules/nth-check/lib/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/index.js +70 -0
- package/node_modules/nth-check/lib/index.js.map +1 -0
- package/node_modules/nth-check/lib/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/parse.js +77 -0
- package/node_modules/nth-check/lib/parse.js.map +1 -0
- package/node_modules/nth-check/package.json +78 -0
- package/node_modules/parse5/LICENSE +19 -0
- package/node_modules/parse5/README.md +38 -0
- package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
- package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/cjs/common/html.js +528 -0
- package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/common/token.js +24 -0
- package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
- package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
- package/node_modules/parse5/dist/cjs/index.js +54 -0
- package/node_modules/parse5/dist/cjs/package.json +1 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
- package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
- package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
- package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/common/doctype.js +114 -0
- package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/common/error-codes.js +63 -0
- package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/common/foreign-content.js +228 -0
- package/node_modules/parse5/dist/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/common/html.js +523 -0
- package/node_modules/parse5/dist/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/common/token.js +20 -0
- package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/common/unicode.js +62 -0
- package/node_modules/parse5/dist/index.d.ts +71 -0
- package/node_modules/parse5/dist/index.js +42 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
- package/node_modules/parse5/dist/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/parser/index.js +3245 -0
- package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
- package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/serializer/index.js +168 -0
- package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
- package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
- package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
- package/node_modules/parse5/node_modules/entities/LICENSE +11 -0
- package/node_modules/parse5/node_modules/entities/decode.d.ts +1 -0
- package/node_modules/parse5/node_modules/entities/decode.js +3 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js +511 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js +73 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js +121 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts +96 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js +131 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/commonjs/package.json +3 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts +209 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode.js +497 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/decode.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts +22 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/encode.js +69 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/encode.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts +43 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/escape.js +117 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/escape.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts +96 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/index.js +107 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/index.js.map +1 -0
- package/node_modules/parse5/node_modules/entities/dist/esm/package.json +3 -0
- package/node_modules/parse5/node_modules/entities/escape.d.ts +1 -0
- package/node_modules/parse5/node_modules/entities/escape.js +3 -0
- package/node_modules/parse5/node_modules/entities/package.json +118 -0
- package/node_modules/parse5/node_modules/entities/readme.md +122 -0
- package/node_modules/parse5/node_modules/entities/src/decode-codepoint.ts +81 -0
- package/node_modules/parse5/node_modules/entities/src/decode.spec.ts +320 -0
- package/node_modules/parse5/node_modules/entities/src/decode.ts +620 -0
- package/node_modules/parse5/node_modules/entities/src/encode.spec.ts +78 -0
- package/node_modules/parse5/node_modules/entities/src/encode.ts +77 -0
- package/node_modules/parse5/node_modules/entities/src/escape.spec.ts +14 -0
- package/node_modules/parse5/node_modules/entities/src/escape.ts +148 -0
- package/node_modules/parse5/node_modules/entities/src/generated/.eslintrc.json +10 -0
- package/node_modules/parse5/node_modules/entities/src/generated/decode-data-html.ts +8 -0
- package/node_modules/parse5/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
- package/node_modules/parse5/node_modules/entities/src/generated/encode-html.ts +17 -0
- package/node_modules/parse5/node_modules/entities/src/index.spec.ts +125 -0
- package/node_modules/parse5/node_modules/entities/src/index.ts +188 -0
- package/node_modules/parse5/package.json +50 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +19 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/README.md +34 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts +6 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js +214 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json +1 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts +6 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js +213 -0
- package/node_modules/parse5-htmlparser2-tree-adapter/package.json +40 -0
- package/node_modules/parse5-parser-stream/LICENSE +19 -0
- package/node_modules/parse5-parser-stream/README.md +34 -0
- package/node_modules/parse5-parser-stream/dist/cjs/index.d.ts +85 -0
- package/node_modules/parse5-parser-stream/dist/cjs/index.js +90 -0
- package/node_modules/parse5-parser-stream/dist/cjs/package.json +1 -0
- package/node_modules/parse5-parser-stream/dist/index.d.ts +85 -0
- package/node_modules/parse5-parser-stream/dist/index.js +86 -0
- package/node_modules/parse5-parser-stream/package.json +39 -0
- package/node_modules/quickjs-emscripten/LICENSE +21 -0
- package/node_modules/quickjs-emscripten/README.md +928 -0
- package/node_modules/quickjs-emscripten/dist/chunk-OHAYRCBA.mjs +2 -0
- package/node_modules/quickjs-emscripten/dist/chunk-OHAYRCBA.mjs.map +1 -0
- package/node_modules/quickjs-emscripten/dist/index.d.mts +57 -0
- package/node_modules/quickjs-emscripten/dist/index.d.ts +57 -0
- package/node_modules/quickjs-emscripten/dist/index.global.js +7309 -0
- package/node_modules/quickjs-emscripten/dist/index.js +2 -0
- package/node_modules/quickjs-emscripten/dist/index.js.map +1 -0
- package/node_modules/quickjs-emscripten/dist/index.mjs +2 -0
- package/node_modules/quickjs-emscripten/dist/index.mjs.map +1 -0
- package/node_modules/quickjs-emscripten/dist/variants.d.mts +39 -0
- package/node_modules/quickjs-emscripten/dist/variants.d.ts +39 -0
- package/node_modules/quickjs-emscripten/dist/variants.js +2 -0
- package/node_modules/quickjs-emscripten/dist/variants.js.map +1 -0
- package/node_modules/quickjs-emscripten/dist/variants.mjs +2 -0
- package/node_modules/quickjs-emscripten/dist/variants.mjs.map +1 -0
- package/node_modules/quickjs-emscripten/package.json +69 -0
- package/node_modules/quickjs-emscripten-core/LICENSE +21 -0
- package/node_modules/quickjs-emscripten-core/README.md +341 -0
- package/node_modules/quickjs-emscripten-core/README.template.md +70 -0
- package/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.mjs +2 -0
- package/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.mjs.map +1 -0
- package/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.mjs +7 -0
- package/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.mjs.map +1 -0
- package/node_modules/quickjs-emscripten-core/dist/index.d.mts +2033 -0
- package/node_modules/quickjs-emscripten-core/dist/index.d.ts +2033 -0
- package/node_modules/quickjs-emscripten-core/dist/index.js +7 -0
- package/node_modules/quickjs-emscripten-core/dist/index.js.map +1 -0
- package/node_modules/quickjs-emscripten-core/dist/index.mjs +2 -0
- package/node_modules/quickjs-emscripten-core/dist/index.mjs.map +1 -0
- package/node_modules/quickjs-emscripten-core/dist/module-ES6BEMUI.mjs +2 -0
- package/node_modules/quickjs-emscripten-core/dist/module-ES6BEMUI.mjs.map +1 -0
- package/node_modules/quickjs-emscripten-core/dist/module-asyncify-2EFITU5U.mjs +2 -0
- package/node_modules/quickjs-emscripten-core/dist/module-asyncify-2EFITU5U.mjs.map +1 -0
- package/node_modules/quickjs-emscripten-core/package.json +49 -0
- package/node_modules/require-from-string/index.js +34 -0
- package/node_modules/require-from-string/license +21 -0
- package/node_modules/require-from-string/package.json +28 -0
- package/node_modules/require-from-string/readme.md +56 -0
- package/node_modules/safer-buffer/LICENSE +21 -0
- package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/node_modules/safer-buffer/Readme.md +156 -0
- package/node_modules/safer-buffer/dangerous.js +58 -0
- package/node_modules/safer-buffer/package.json +34 -0
- package/node_modules/safer-buffer/safer.js +77 -0
- package/node_modules/safer-buffer/tests.js +406 -0
- package/node_modules/string-width/index.d.ts +39 -0
- package/node_modules/string-width/index.js +203 -0
- package/node_modules/string-width/license +9 -0
- package/node_modules/string-width/package.json +65 -0
- package/node_modules/string-width/readme.md +66 -0
- package/node_modules/strip-ansi/index.d.ts +15 -0
- package/node_modules/strip-ansi/index.js +19 -0
- package/node_modules/strip-ansi/license +9 -0
- package/node_modules/strip-ansi/package.json +59 -0
- package/node_modules/strip-ansi/readme.md +37 -0
- package/node_modules/undici/LICENSE +21 -0
- package/node_modules/undici/README.md +741 -0
- package/node_modules/undici/docs/docs/api/Agent.md +84 -0
- package/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
- package/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
- package/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
- package/node_modules/undici/docs/docs/api/Client.md +288 -0
- package/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
- package/node_modules/undici/docs/docs/api/Connector.md +115 -0
- package/node_modules/undici/docs/docs/api/ContentType.md +57 -0
- package/node_modules/undici/docs/docs/api/Cookies.md +128 -0
- package/node_modules/undici/docs/docs/api/Debug.md +62 -0
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +317 -0
- package/node_modules/undici/docs/docs/api/Dispatcher.md +1393 -0
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
- package/node_modules/undici/docs/docs/api/Errors.md +49 -0
- package/node_modules/undici/docs/docs/api/EventSource.md +45 -0
- package/node_modules/undici/docs/docs/api/Fetch.md +60 -0
- package/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
- package/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
- package/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
- package/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
- package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
- package/node_modules/undici/docs/docs/api/MockClient.md +81 -0
- package/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
- package/node_modules/undici/docs/docs/api/MockPool.md +555 -0
- package/node_modules/undici/docs/docs/api/Pool.md +84 -0
- package/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
- package/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
- package/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
- package/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
- package/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
- package/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
- package/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +275 -0
- package/node_modules/undici/docs/docs/api/Util.md +25 -0
- package/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
- package/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
- package/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
- package/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
- package/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
- package/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
- package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
- package/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
- package/node_modules/undici/index-fetch.js +65 -0
- package/node_modules/undici/index.d.ts +3 -0
- package/node_modules/undici/index.js +234 -0
- package/node_modules/undici/lib/api/abort-signal.js +59 -0
- package/node_modules/undici/lib/api/api-connect.js +110 -0
- package/node_modules/undici/lib/api/api-pipeline.js +252 -0
- package/node_modules/undici/lib/api/api-request.js +214 -0
- package/node_modules/undici/lib/api/api-stream.js +209 -0
- package/node_modules/undici/lib/api/api-upgrade.js +111 -0
- package/node_modules/undici/lib/api/index.js +7 -0
- package/node_modules/undici/lib/api/readable.js +580 -0
- package/node_modules/undici/lib/cache/memory-cache-store.js +279 -0
- package/node_modules/undici/lib/cache/sqlite-cache-store.js +467 -0
- package/node_modules/undici/lib/core/connect.js +153 -0
- package/node_modules/undici/lib/core/constants.js +143 -0
- package/node_modules/undici/lib/core/diagnostics.js +227 -0
- package/node_modules/undici/lib/core/errors.js +477 -0
- package/node_modules/undici/lib/core/request.js +485 -0
- package/node_modules/undici/lib/core/socks5-client.js +422 -0
- package/node_modules/undici/lib/core/socks5-utils.js +212 -0
- package/node_modules/undici/lib/core/symbols.js +75 -0
- package/node_modules/undici/lib/core/tree.js +160 -0
- package/node_modules/undici/lib/core/util.js +992 -0
- package/node_modules/undici/lib/dispatcher/agent.js +158 -0
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +221 -0
- package/node_modules/undici/lib/dispatcher/client-h1.js +1746 -0
- package/node_modules/undici/lib/dispatcher/client-h2.js +1060 -0
- package/node_modules/undici/lib/dispatcher/client.js +668 -0
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +184 -0
- package/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
- package/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
- package/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
- package/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
- package/node_modules/undici/lib/dispatcher/pool.js +118 -0
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +319 -0
- package/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
- package/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
- package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +260 -0
- package/node_modules/undici/lib/encoding/index.js +33 -0
- package/node_modules/undici/lib/global.js +59 -0
- package/node_modules/undici/lib/handler/cache-handler.js +776 -0
- package/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
- package/node_modules/undici/lib/handler/decorator-handler.js +67 -0
- package/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
- package/node_modules/undici/lib/handler/redirect-handler.js +238 -0
- package/node_modules/undici/lib/handler/retry-handler.js +504 -0
- package/node_modules/undici/lib/handler/unwrap-handler.js +106 -0
- package/node_modules/undici/lib/handler/wrap-handler.js +105 -0
- package/node_modules/undici/lib/interceptor/cache.js +621 -0
- package/node_modules/undici/lib/interceptor/decompress.js +551 -0
- package/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
- package/node_modules/undici/lib/interceptor/dns.js +571 -0
- package/node_modules/undici/lib/interceptor/dump.js +99 -0
- package/node_modules/undici/lib/interceptor/redirect.js +21 -0
- package/node_modules/undici/lib/interceptor/response-error.js +95 -0
- package/node_modules/undici/lib/interceptor/retry.js +19 -0
- package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
- package/node_modules/undici/lib/llhttp/constants.js +531 -0
- package/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
- package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
- package/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
- package/node_modules/undici/lib/llhttp/utils.js +12 -0
- package/node_modules/undici/lib/mock/mock-agent.js +232 -0
- package/node_modules/undici/lib/mock/mock-call-history.js +248 -0
- package/node_modules/undici/lib/mock/mock-client.js +68 -0
- package/node_modules/undici/lib/mock/mock-errors.js +29 -0
- package/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
- package/node_modules/undici/lib/mock/mock-pool.js +68 -0
- package/node_modules/undici/lib/mock/mock-symbols.js +32 -0
- package/node_modules/undici/lib/mock/mock-utils.js +486 -0
- package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
- package/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
- package/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
- package/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
- package/node_modules/undici/lib/util/cache.js +676 -0
- package/node_modules/undici/lib/util/date.js +670 -0
- package/node_modules/undici/lib/util/promise.js +28 -0
- package/node_modules/undici/lib/util/runtime-features.js +124 -0
- package/node_modules/undici/lib/util/stats.js +32 -0
- package/node_modules/undici/lib/util/timers.js +425 -0
- package/node_modules/undici/lib/web/cache/cache.js +864 -0
- package/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
- package/node_modules/undici/lib/web/cache/util.js +45 -0
- package/node_modules/undici/lib/web/cookies/constants.js +12 -0
- package/node_modules/undici/lib/web/cookies/index.js +199 -0
- package/node_modules/undici/lib/web/cookies/parse.js +314 -0
- package/node_modules/undici/lib/web/cookies/util.js +352 -0
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +494 -0
- package/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
- package/node_modules/undici/lib/web/eventsource/util.js +29 -0
- package/node_modules/undici/lib/web/fetch/LICENSE +21 -0
- package/node_modules/undici/lib/web/fetch/body.js +509 -0
- package/node_modules/undici/lib/web/fetch/constants.js +131 -0
- package/node_modules/undici/lib/web/fetch/data-url.js +596 -0
- package/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
- package/node_modules/undici/lib/web/fetch/formdata.js +259 -0
- package/node_modules/undici/lib/web/fetch/global.js +40 -0
- package/node_modules/undici/lib/web/fetch/headers.js +719 -0
- package/node_modules/undici/lib/web/fetch/index.js +2413 -0
- package/node_modules/undici/lib/web/fetch/request.js +1115 -0
- package/node_modules/undici/lib/web/fetch/response.js +641 -0
- package/node_modules/undici/lib/web/fetch/util.js +1522 -0
- package/node_modules/undici/lib/web/infra/index.js +229 -0
- package/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
- package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
- package/node_modules/undici/lib/web/webidl/index.js +1006 -0
- package/node_modules/undici/lib/web/websocket/connection.js +339 -0
- package/node_modules/undici/lib/web/websocket/constants.js +126 -0
- package/node_modules/undici/lib/web/websocket/events.js +331 -0
- package/node_modules/undici/lib/web/websocket/frame.js +133 -0
- package/node_modules/undici/lib/web/websocket/permessage-deflate.js +105 -0
- package/node_modules/undici/lib/web/websocket/receiver.js +507 -0
- package/node_modules/undici/lib/web/websocket/sender.js +109 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +496 -0
- package/node_modules/undici/lib/web/websocket/util.js +347 -0
- package/node_modules/undici/lib/web/websocket/websocket.js +758 -0
- package/node_modules/undici/package.json +152 -0
- package/node_modules/undici/scripts/strip-comments.js +10 -0
- package/node_modules/undici/types/README.md +6 -0
- package/node_modules/undici/types/agent.d.ts +32 -0
- package/node_modules/undici/types/api.d.ts +43 -0
- package/node_modules/undici/types/balanced-pool.d.ts +30 -0
- package/node_modules/undici/types/cache-interceptor.d.ts +179 -0
- package/node_modules/undici/types/cache.d.ts +36 -0
- package/node_modules/undici/types/client-stats.d.ts +15 -0
- package/node_modules/undici/types/client.d.ts +139 -0
- package/node_modules/undici/types/connector.d.ts +36 -0
- package/node_modules/undici/types/content-type.d.ts +21 -0
- package/node_modules/undici/types/cookies.d.ts +30 -0
- package/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
- package/node_modules/undici/types/dispatcher.d.ts +275 -0
- package/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici/types/errors.d.ts +177 -0
- package/node_modules/undici/types/eventsource.d.ts +66 -0
- package/node_modules/undici/types/fetch.d.ts +231 -0
- package/node_modules/undici/types/formdata.d.ts +114 -0
- package/node_modules/undici/types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici/types/global-origin.d.ts +7 -0
- package/node_modules/undici/types/h2c-client.d.ts +73 -0
- package/node_modules/undici/types/handlers.d.ts +14 -0
- package/node_modules/undici/types/header.d.ts +160 -0
- package/node_modules/undici/types/index.d.ts +91 -0
- package/node_modules/undici/types/interceptors.d.ts +82 -0
- package/node_modules/undici/types/mock-agent.d.ts +68 -0
- package/node_modules/undici/types/mock-call-history.d.ts +111 -0
- package/node_modules/undici/types/mock-client.d.ts +27 -0
- package/node_modules/undici/types/mock-errors.d.ts +12 -0
- package/node_modules/undici/types/mock-interceptor.d.ts +94 -0
- package/node_modules/undici/types/mock-pool.d.ts +27 -0
- package/node_modules/undici/types/patch.d.ts +29 -0
- package/node_modules/undici/types/pool-stats.d.ts +19 -0
- package/node_modules/undici/types/pool.d.ts +41 -0
- package/node_modules/undici/types/proxy-agent.d.ts +29 -0
- package/node_modules/undici/types/readable.d.ts +68 -0
- package/node_modules/undici/types/retry-agent.d.ts +8 -0
- package/node_modules/undici/types/retry-handler.d.ts +125 -0
- package/node_modules/undici/types/round-robin-pool.d.ts +41 -0
- package/node_modules/undici/types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/undici/types/util.d.ts +18 -0
- package/node_modules/undici/types/utility.d.ts +7 -0
- package/node_modules/undici/types/webidl.d.ts +347 -0
- package/node_modules/undici/types/websocket.d.ts +188 -0
- package/node_modules/whatwg-encoding/LICENSE.txt +7 -0
- package/node_modules/whatwg-encoding/README.md +50 -0
- package/node_modules/whatwg-encoding/lib/labels-to-names.json +217 -0
- package/node_modules/whatwg-encoding/lib/supported-names.json +38 -0
- package/node_modules/whatwg-encoding/lib/whatwg-encoding.js +60 -0
- package/node_modules/whatwg-encoding/package.json +32 -0
- package/node_modules/whatwg-mimetype/LICENSE.txt +7 -0
- package/node_modules/whatwg-mimetype/README.md +101 -0
- package/node_modules/whatwg-mimetype/lib/mime-type-parameters.js +70 -0
- package/node_modules/whatwg-mimetype/lib/mime-type.js +127 -0
- package/node_modules/whatwg-mimetype/lib/parser.js +105 -0
- package/node_modules/whatwg-mimetype/lib/serializer.js +25 -0
- package/node_modules/whatwg-mimetype/lib/utils.js +60 -0
- package/node_modules/whatwg-mimetype/package.json +45 -0
- package/package.json +42 -4
- package/src/agent-recovery-proof.mjs +63 -0
- package/src/agent.mjs +374 -0
- package/src/artifact-tools.mjs +23 -0
- package/src/audit.mjs +73 -0
- package/src/auto-guard.mjs +85 -0
- package/src/browser-currency.mjs +20 -0
- package/src/chrome-recovery-proof.mjs +43 -0
- package/src/cli.mjs +860 -0
- package/src/cloud-client.mjs +66 -0
- package/src/code-run-worker.mjs +70 -0
- package/src/code-run.mjs +97 -0
- package/src/codex-provider.mjs +219 -0
- package/src/compaction.mjs +233 -0
- package/src/compat.mjs +13 -0
- package/src/context-pressure.mjs +66 -0
- package/src/context.mjs +47 -0
- package/src/durable-agent-runs.mjs +40 -0
- package/src/execution-metrics.mjs +17 -0
- package/src/file-recovery-proof.mjs +45 -0
- package/src/file-recovery.mjs +95 -0
- package/src/gemini-provider.mjs +150 -0
- package/src/goals.mjs +169 -0
- package/src/governance.mjs +81 -0
- package/src/house.mjs +184 -0
- package/src/i18n/cli-es.mjs +97 -0
- package/src/i18n/es.mjs +227 -0
- package/src/i18n/index.mjs +48 -0
- package/src/image-attachments.mjs +263 -0
- package/src/judges.mjs +72 -0
- package/src/mcp-http.mjs +190 -0
- package/src/mcp-rpc.mjs +84 -0
- package/src/mcp-runtime.mjs +219 -0
- package/src/mcp-sse.mjs +27 -0
- package/src/mcp.mjs +79 -0
- package/src/model-controls.mjs +173 -0
- package/src/model-deadline.mjs +35 -0
- package/src/model-output.mjs +23 -0
- package/src/onboarding.mjs +91 -0
- package/src/openai-provider.mjs +249 -0
- package/src/operations.mjs +74 -0
- package/src/peer-message-context.mjs +17 -0
- package/src/peer-tools.mjs +164 -0
- package/src/permissions.mjs +99 -0
- package/src/plugin-config.mjs +95 -0
- package/src/plugins/chrome-lab/bridge.mjs +206 -0
- package/src/plugins/chrome-lab/client.mjs +123 -0
- package/src/plugins/chrome-lab/index.mjs +141 -0
- package/src/plugins/chrome-lab/project.mjs +45 -0
- package/src/plugins.mjs +272 -0
- package/src/process-lock.mjs +70 -0
- package/src/provider-auth.mjs +207 -0
- package/src/provider-profiles.mjs +113 -0
- package/src/provider-scheduler.mjs +18 -0
- package/src/provider.mjs +174 -0
- package/src/read-only-check.mjs +38 -0
- package/src/remote-commands.mjs +11 -0
- package/src/remote-control.mjs +172 -0
- package/src/session-bus.mjs +367 -0
- package/src/session-provider-settings.mjs +39 -0
- package/src/session-read-cache.mjs +20 -0
- package/src/session.mjs +71 -0
- package/src/sessions.mjs +140 -0
- package/src/skill-runtime.mjs +130 -0
- package/src/subagents.mjs +484 -0
- package/src/tool-call-stream.mjs +39 -0
- package/src/tool-catalog.mjs +19 -0
- package/src/tool-input.mjs +20 -0
- package/src/tool-packs.mjs +166 -0
- package/src/tool-scheduler.mjs +21 -0
- package/src/tool-schema.mjs +51 -0
- package/src/tools.mjs +310 -0
- package/src/trusted-context.mjs +23 -0
- package/src/tui/brand.mjs +51 -0
- package/src/tui/clipboard.mjs +29 -0
- package/src/tui/composer.mjs +143 -0
- package/src/tui/controller.mjs +230 -0
- package/src/tui/discovery.mjs +222 -0
- package/src/tui/input.mjs +60 -0
- package/src/tui/markdown.mjs +127 -0
- package/src/tui/message-queue.mjs +74 -0
- package/src/tui/screen.mjs +677 -0
- package/src/tui/text.mjs +113 -0
- package/src/usage-accounting.mjs +43 -0
- package/src/vision.mjs +164 -0
- package/src/web-tools.mjs +120 -0
- package/src/work-assertions.mjs +29 -0
- package/src/work-check-contracts.mjs +95 -0
- package/src/work-intent.mjs +6 -0
- package/src/work-plan.mjs +509 -0
- package/src/work-recovery-proof.mjs +81 -0
- package/src/work-state.mjs +201 -0
- package/src/workflows/chrome-task.mjs +292 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { workProjection, workDigest } from './work-plan.mjs';
|
|
2
|
+
import { digest } from './operations.mjs';
|
|
3
|
+
import { checkOperationCandidates } from './work-check-contracts.mjs';
|
|
4
|
+
import { searchToolCatalog } from './tool-catalog.mjs';
|
|
5
|
+
|
|
6
|
+
const BROWSER = ['new_page','list_pages','navigate_page','list_console_messages','list_network_requests','take_snapshot'];
|
|
7
|
+
const CAPTURE = ['take_screenshot'];
|
|
8
|
+
const ADMIN = ['WorkSnapshot','AuditStatus','HouseSnapshot','OperationCatalog'];
|
|
9
|
+
const SCOPED = {'sessions.peers':['ListAgents','SendMessage'],'provider.features':['ProviderCapabilities','ProviderSearch','AnalyzeMedia'],'workspace.inspect':['ListDirectory','FileInfo']};
|
|
10
|
+
const TEMPORARY=new Set([...ADMIN,...Object.values(SCOPED).flat()]);
|
|
11
|
+
// Native artifact binding needs the tiny metadata/hash contract on the initial
|
|
12
|
+
// surface. Search/acquire may still describe it; a lease never grants permission.
|
|
13
|
+
const BASE_READS = new Set(['FileInfo']);
|
|
14
|
+
const packEffects = { workspace: 'unknown', external: 'unknown', process: 'unknown', authority: 'none' };
|
|
15
|
+
export class ToolPacks {
|
|
16
|
+
constructor({ store, house, ensureBrowser, pinned = () => [], serverStates = () => [], refreshCatalogue }) { Object.assign(this, { store, house, ensureBrowser, pinned, serverStates, refreshCatalogue }); this.views = new Map(); }
|
|
17
|
+
key(sessionId, actor) { return JSON.stringify([sessionId,actor.kind,actor.id]); }
|
|
18
|
+
scoped(name){return !BASE_READS.has(name) && (name.startsWith('mcp__') || TEMPORARY.has(name) || this.house.registry.get(name)?.contract.origin?.tool_loading === 'deferred');}
|
|
19
|
+
catalogue(actor) { return this.house.registry.catalogue({ actor, surface: 'agent' }).filter(op => this.scoped(op.name) || BASE_READS.has(op.name)); }
|
|
20
|
+
inPack(op, pack) { return Boolean(op) && (SCOPED[pack] ? SCOPED[pack].includes(op.name) : pack === 'house.audit' ? ADMIN.includes(op.name) : ['browser.verify','browser.capture'].includes(pack) ? (pack === 'browser.verify' ? BROWSER : CAPTURE).some(name => op.name === 'mcp__chrome-devtools__'+name) : pack.startsWith('plugin:') ? op.origin?.plugin === pack.slice(7) && op.origin?.tool_loading === 'deferred' : pack.startsWith('mcp:') && (op.origin?.kind === 'mcp' ? op.origin.server === pack.slice(4) : op.name.startsWith('mcp__'+pack.slice(4)+'__'))); }
|
|
21
|
+
offers(actor) {
|
|
22
|
+
const all = this.catalogue(actor), servers = new Map(), plugins = new Map();
|
|
23
|
+
for (const op of all) { const server = op.origin?.kind === 'mcp' ? op.origin.server : /^mcp__(.+?)__/.exec(op.name)?.[1]; if (server) { if (!servers.has(server)) servers.set(server, []); servers.get(server).push(op); } }
|
|
24
|
+
for (const op of all) if (op.origin?.plugin && op.origin.tool_loading === 'deferred') { if (!plugins.has(op.origin.plugin)) plugins.set(op.origin.plugin, []); plugins.get(op.origin.plugin).push(op); }
|
|
25
|
+
const browser = BROWSER.map(name => all.find(op => op.name === 'mcp__chrome-devtools__' + name)).filter(Boolean);
|
|
26
|
+
return [{ id: 'browser.verify', available: browser.length === BROWSER.length, count: browser.length, purpose: 'DOM, console, network and navigation; execution still judged.' },
|
|
27
|
+
{ id: 'browser.capture', available: all.some(op => op.name === 'mcp__chrome-devtools__take_screenshot'), count: all.filter(op => this.inPack(op,'browser.capture')).length, purpose: 'Screenshot pixels in accepted receipts. Vision adapter sends only to a capable model; capture is not a visual verdict. Omit filePath to request inline image content.' },
|
|
28
|
+
{ id: 'house.audit', available: all.some(op=>ADMIN.includes(op.name)), count: all.filter(op=>ADMIN.includes(op.name)).length, purpose: 'Full forensic views; projected state and EvidenceRead already suffice for normal work.' },
|
|
29
|
+
...Object.entries(SCOPED).map(([id,names])=>({id,available:all.some(op=>names.includes(op.name)),count:all.filter(op=>names.includes(op.name)).length,purpose:id==='sessions.peers'?'Discover/message live sessions by provider capability; no authority transfer.':id==='workspace.inspect'?'List directory and inspect file size/media signature without shell.':'Current provider native search/image/video tools where supported.'})),
|
|
30
|
+
...[...servers].map(([server, tools]) => ({ id: 'mcp:' + server, available: true, count: tools.length, purpose: 'Search or select up to 12 exact names with ToolPack; omit tools only when count <=12.' })),
|
|
31
|
+
...[...plugins].map(([id, tools]) => ({ id: 'plugin:' + id, available: true, count: tools.length, purpose: tools[0].origin.discovery?.description || 'Search or select deferred plugin operations; acquisition grants no permission.' }))];
|
|
32
|
+
}
|
|
33
|
+
async prepare(sessionId, actor) {
|
|
34
|
+
const session = await this.store.load(sessionId), work = workProjection(session), all = this.catalogue(actor), byName = new Map(all.map(op => [op.name,op]));
|
|
35
|
+
let leases = new Map(), turn;
|
|
36
|
+
for (const row of session.rows) {
|
|
37
|
+
if (row.type === 'reset') { leases.clear(); turn = undefined; }
|
|
38
|
+
if (row.type === 'tool_turn' && row.source === 'capability_host' && row.actor?.id === actor.id && row.actor?.kind === actor.kind) turn = row.open ? row.id : undefined;
|
|
39
|
+
if (row.type !== 'tool_pack_lease' || row.source !== 'capability_host' || row.actor?.id !== actor.id || row.actor?.kind !== actor.kind) continue;
|
|
40
|
+
if (row.action === 'release') leases.delete(row.pack); else leases.set(row.pack, row);
|
|
41
|
+
}
|
|
42
|
+
const pinned = new Set(this.pinned().filter(name=>byName.has(name))), visible = new Set(pinned), tokens = new Map([...pinned].map(name=>[name,'pinned'])), active = [], expired = [], expiredDetails = [];
|
|
43
|
+
for (const lease of leases.values()) {
|
|
44
|
+
const originPlan = lease.task_id ? session.rows.findLast(row => ['work_plan_set','work_checks_repaired'].includes(row.type) && row.source === 'work_host' && row.version === lease.plan_version) : null;
|
|
45
|
+
const generation = lease.work_digest || workDigest(originPlan?.tasks.find(task => task.id === lease.task_id));
|
|
46
|
+
const scopeValid = lease.task_id ? generation && workDigest(work?.current) === generation && work.current?.id === lease.task_id && ['pending','in_progress','needs_verification'].includes(work.current.status) : turn && turn === lease.turn_id;
|
|
47
|
+
const contractValid = lease.tools.every(tool => byName.get(tool.name)?.contract_digest === tool.digest);
|
|
48
|
+
if (!scopeValid || !contractValid) { expired.push(lease.pack); expiredDetails.push({pack:lease.pack,task_id:lease.task_id || null,reason:!scopeValid?'scope_changed':'contracts_changed'}); continue; }
|
|
49
|
+
lease.tools.forEach(tool => { visible.add(tool.name); if(!pinned.has(tool.name)) tokens.set(tool.name,(tokens.get(tool.name)||'')+':'+lease.audit.sha256); }); active.push({ id: lease.pack, tools: lease.tools.map(tool => tool.name), task_id: lease.task_id || null });
|
|
50
|
+
}
|
|
51
|
+
const view = { visible, tokens, turn, work, state: { offers: this.offers(actor), required: work?.current?.capabilities || [], active, pinned: this.pinned().filter(name => byName.has(name)), expired, expired_details:expiredDetails, acquisition_grants_permission: false } };
|
|
52
|
+
this.views.set(this.key(sessionId,actor), view); return view.state;
|
|
53
|
+
}
|
|
54
|
+
recoveryCall(operation, actor) {
|
|
55
|
+
const op = this.catalogue(actor).find(item=>item.name===operation); if (!op) return;
|
|
56
|
+
const pack = this.offers(actor).find(offer=>offer.available && ['browser.verify','browser.capture','house.audit',...Object.keys(SCOPED)].includes(offer.id) && this.inPack(op,offer.id));
|
|
57
|
+
return {name:'ToolPack',input:{action:'acquire',pack:pack?.id || (op.origin?.tool_loading === 'deferred' ? 'plugin:'+op.origin.plugin : 'mcp:'+(op.origin?.server || /^mcp__(.+?)__/.exec(operation)?.[1])),...(!pack?{tools:[operation]}:{})}};
|
|
58
|
+
}
|
|
59
|
+
unavailable(operation, context) {
|
|
60
|
+
if (this.visible(operation,context.sessionId,context.actor)) return;
|
|
61
|
+
const recovery = this.recoveryCall(operation,context.actor); if (!recovery) return;
|
|
62
|
+
return {code:'TOOL_PACK_REQUIRED',message:`Herramienta no disponible: pack no adquirido o expirado para esta etapa/actor. No se ejecutó; no es una denegación del permiso de la operación. Ejecuta recovery_call y espera el siguiente catálogo: ${JSON.stringify(recovery)}. Los permisos se juzgan por separado.`};
|
|
63
|
+
}
|
|
64
|
+
async notifyChanges(sessionId, actor) {
|
|
65
|
+
const state = await this.prepare(sessionId,actor), session = await this.store.load(sessionId), view = this.views.get(this.key(sessionId,actor));
|
|
66
|
+
const reset = session.rows.findLastIndex(row=>row.type==='reset');
|
|
67
|
+
const previous = session.rows.slice(reset+1).findLast(row=>row.type==='message' && row.source==='capability_host' && row.capability_delta?.actor_id===actor.id && row.capability_delta?.actor_kind===actor.kind)?.capability_delta;
|
|
68
|
+
const stateDigest = digest({task:view.work?.current?.id,required:state.required,active:state.active,expired:state.expired_details,pinned:state.pinned,offers:state.offers,contracts:this.catalogue(actor).filter(op=>view.visible.has(op.name)).map(op=>[op.name,op.contract_digest])});
|
|
69
|
+
if (previous?.state_digest===stateDigest || !previous && !state.required.length && !state.active.length && !state.expired.length) return state;
|
|
70
|
+
const recover = new Map(), add = call=>{
|
|
71
|
+
if(!call)return;
|
|
72
|
+
const key=call.name+':'+call.input.action+':'+call.input.pack, old=recover.get(key);
|
|
73
|
+
if(old && !old.input.tools)return;
|
|
74
|
+
if(old?.input.tools && call.input.tools){const tools=[...new Set([...old.input.tools,...call.input.tools])];if(tools.length<=12)recover.set(key,{...call,input:{...call.input,tools}});return;}
|
|
75
|
+
recover.set(key,call);
|
|
76
|
+
};
|
|
77
|
+
for (const expiry of state.expired_details.filter(item=>item.reason==='contracts_changed')) {
|
|
78
|
+
const offer=state.offers.find(item=>item.id===expiry.pack && item.available);
|
|
79
|
+
const lease=session.rows.slice(reset+1).findLast(row=>row.type==='tool_pack_lease'&&row.pack===expiry.pack&&row.actor?.id===actor.id&&row.actor?.kind===actor.kind);
|
|
80
|
+
const selected=lease?.tools.filter(tool=>this.catalogue(actor).some(op=>op.name===tool.name&&this.inPack(op,expiry.pack))).map(tool=>tool.name) || [];
|
|
81
|
+
if(selected.length && selected.every(name=>state.pinned.includes(name)))continue;
|
|
82
|
+
if(offer && offer.count<=12)add({name:'ToolPack',input:{action:'acquire',pack:expiry.pack}});
|
|
83
|
+
else if(offer && selected.length && selected.length<=12)add({name:'ToolPack',input:{action:'acquire',pack:expiry.pack,tools:selected}});
|
|
84
|
+
else add({name:'ToolPack',input:{action:'list',pack:expiry.pack}});
|
|
85
|
+
}
|
|
86
|
+
for(const required of state.required) {
|
|
87
|
+
if(state.active.some(pack=>pack.id===required) || required.startsWith('mcp:') && (state.active.some(pack=>pack.tools.some(name=>name.startsWith('mcp__'+required.slice(4)+'__')))||state.pinned.some(name=>name.startsWith('mcp__'+required.slice(4)+'__'))))continue;
|
|
88
|
+
const requiredTools=this.catalogue(actor).filter(op=>this.inPack(op,required));if(requiredTools.length&&requiredTools.every(op=>state.pinned.includes(op.name)))continue;
|
|
89
|
+
const checks=view.work?.current?.checks || [], operations=checks.flatMap(check=>checkOperationCandidates(check.operation,this.catalogue(actor)));
|
|
90
|
+
const candidates=operations.filter(name=>required.startsWith('mcp:')?name.startsWith('mcp__'+required.slice(4)+'__'):this.inPack(this.catalogue(actor).find(op=>op.name===name),required));
|
|
91
|
+
for(const operation of candidates.slice(0,12))add(this.recoveryCall(operation,actor));
|
|
92
|
+
if(!candidates.length){const offer=state.offers.find(item=>item.id===required && item.available);add({name:'ToolPack',input:{action:offer && offer.count<=12?'acquire':'list',pack:required}});}
|
|
93
|
+
}
|
|
94
|
+
const ready=state.active.length>0 || state.pinned.length>0;
|
|
95
|
+
const delta={state_digest:stateDigest,actor_id:actor.id,actor_kind:actor.kind,task_id:view.work?.current?.id || null,availability:recover.size?'recovery_required':ready?'ready':'none',active:state.active.map(pack=>pack.id),pinned:state.pinned,expired:state.expired_details,...(recover.size?{recovery_calls:[...recover.values()]}:{}),grants_permission:false};
|
|
96
|
+
const instruction=recover.size?'Run recovery_calls alone and await the next catalogue before dependent calls.':ready?'Active pack schemas are AVAILABLE NOW in this request. No recovery or waiting is needed. Continue work with the offered tools.':'No recovery is pending. Continue with the tools offered in this request; do not wait for a catalogue update.';
|
|
97
|
+
await this.store.append(sessionId,{type:'message',source:'capability_host',capability_delta:delta,message:{role:'user',content:[{type:'text',text:'Comal runtime capability change. This supersedes historical pack availability only; keep conversation and completed work. '+instruction+' Do not rebuild the plan. No permission grant.\n'+JSON.stringify(delta)}]}});
|
|
98
|
+
return state;
|
|
99
|
+
}
|
|
100
|
+
visible(name, sessionId, actor) { return actor.kind === 'subagent' && SCOPED['workspace.inspect'].includes(name) || !this.scoped(name) || Boolean(this.views.get(this.key(sessionId,actor))?.visible.has(name)); }
|
|
101
|
+
capture(sessionId,actor) { return Object.fromEntries(this.views.get(this.key(sessionId,actor))?.tokens || []); }
|
|
102
|
+
sameFrame(name,sessionId,actor,stamp) { return this.visible(name,sessionId,actor) && stamp?.[name] === this.views.get(this.key(sessionId,actor))?.tokens.get(name); }
|
|
103
|
+
async guard({ operation, actor, session_id }) {
|
|
104
|
+
// Subagents already receive a fixed, small read-only catalogue. This is
|
|
105
|
+
// schema availability only: both permission policies still judge the call.
|
|
106
|
+
if (actor.kind === 'human' || actor.kind === 'subagent' && SCOPED['workspace.inspect'].includes(operation) || !this.scoped(operation)) return;
|
|
107
|
+
await this.prepare(session_id, actor);
|
|
108
|
+
if (!this.visible(operation,session_id,actor)) return { allowed: false, reason: 'Pack no adquirido o expirado para esta etapa/actor. Usa ToolPack; no se ejecutó.' };
|
|
109
|
+
}
|
|
110
|
+
async search(input, options) {
|
|
111
|
+
searchToolCatalog([], { ...input, inPack: () => false, acquireCall: () => undefined });
|
|
112
|
+
const states = () => this.serverStates().filter(item => item && typeof item.name === 'string').map(({ name, status }) => ({ name, status }));
|
|
113
|
+
const selected = input.pack?.startsWith('mcp:') ? input.pack.slice(4) : undefined;
|
|
114
|
+
let refresh;
|
|
115
|
+
if (selected && this.refreshCatalogue && states().some(item => item.name === selected && item.status === 'pending')) {
|
|
116
|
+
const controller = new AbortController(), signal = options.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal;
|
|
117
|
+
let timer;
|
|
118
|
+
try {
|
|
119
|
+
await Promise.race([Promise.resolve().then(() => this.refreshCatalogue({ server: selected, signal, timeoutMs: 5000 })), new Promise((_, reject) => { timer = setTimeout(() => { controller.abort(); reject(Object.assign(new Error('Catalogue refresh deadline'), { code: 'TOOL_SEARCH_REFRESH_TIMEOUT' })); }, 5000); })]);
|
|
120
|
+
refresh = { server: selected, status: 'refreshed' };
|
|
121
|
+
} catch (error) { if (options.signal?.aborted) throw error; refresh = { server: selected, status: error.code === 'TOOL_SEARCH_REFRESH_TIMEOUT' ? 'timeout' : 'failed' }; }
|
|
122
|
+
finally { clearTimeout(timer); controller.abort(); }
|
|
123
|
+
}
|
|
124
|
+
options.signal?.throwIfAborted(); await this.prepare(options.sessionId, options.actor);
|
|
125
|
+
return { ...searchToolCatalog(this.catalogue(options.actor), { ...input, inPack: (op, pack) => this.inPack(op, pack), acquireCall: name => this.recoveryCall(name, options.actor) }), servers: states().filter(item => !selected || item.name === selected).slice(0, 12), ...(refresh ? { refresh } : {}) };
|
|
126
|
+
}
|
|
127
|
+
definition() {
|
|
128
|
+
return { name: 'ToolPack', description: 'Discover/acquire/release temporary schemas (browser.verify, browser.capture, mcp:SERVER, plugin:ID, house.audit, sessions.peers, provider.features, workspace.inspect). search with query returns <=5 ranked canonical tools and exact acquire_call; search does not acquire. list with pack returns its tool names; list without pack returns offers only. browser.capture supplies inline screenshots; browser.verify supplies navigation/DOM snapshot/console/network ONLY. For interaction acquire mcp:chrome-devtools with tools:["mcp__chrome-devtools__click"] or ["mcp__chrome-devtools__evaluate_script"] before use. Acquired schemas appear NEXT request. Select <=12 canonical names or unique short tool names scoped to that pack; the host returns canonical names. Missing server uses separate MCP config/connection judgment. No permission grant.',
|
|
129
|
+
effects: packEffects,
|
|
130
|
+
input_schema: { type: 'object', properties: { action: { type: 'string', enum: ['list','search','acquire','release'] }, query: { type: 'string', minLength: 1, maxLength: 500 }, max_results: { type: 'integer', minimum: 1, maximum: 5 }, pack: { type: 'string', maxLength: 100 }, tools: { type: 'array', minItems: 1, maxItems: 12, uniqueItems: true, items: { type: 'string', maxLength: 128 } } }, required: ['action'], additionalProperties: false },
|
|
131
|
+
run: async (input, options) => {
|
|
132
|
+
const { sessionId, actor } = options;
|
|
133
|
+
await this.prepare(sessionId,actor);
|
|
134
|
+
if (input.action === 'search') return JSON.stringify(await this.search(input, options));
|
|
135
|
+
if (input.action === 'list') return JSON.stringify({ ...this.views.get(this.key(sessionId,actor)).state, ...(input.pack ? { tools: this.catalogue(actor).filter(op => this.inPack(op,input.pack)).map(op => op.name) } : {}) });
|
|
136
|
+
if (!input.pack) throw new Error('ToolPack requiere pack.');
|
|
137
|
+
if (input.action === 'release') {
|
|
138
|
+
await options.recordWork({ type: 'tool_pack_lease', source: 'capability_host', action: 'release', pack: input.pack });
|
|
139
|
+
await this.prepare(sessionId,actor); return '{"released":true,"connection_closed":false}';
|
|
140
|
+
}
|
|
141
|
+
if (['browser.verify','browser.capture'].includes(input.pack) && !this.offers(actor).find(offer => offer.id === input.pack)?.available) {
|
|
142
|
+
if (!this.ensureBrowser) throw new Error(`${input.pack} requiere un proveedor Chrome MCP configurado.`);
|
|
143
|
+
await this.ensureBrowser(options);
|
|
144
|
+
}
|
|
145
|
+
await this.prepare(sessionId,actor);
|
|
146
|
+
const view = this.views.get(this.key(sessionId,actor)), all = this.catalogue(actor);
|
|
147
|
+
const available = all.filter(op => this.inPack(op,input.pack));
|
|
148
|
+
if (!available.length || input.pack === 'browser.verify' && available.length !== BROWSER.length) throw new Error('Pack no disponible: revisa configuración/conexión MCP.');
|
|
149
|
+
const selected = input.tools ? input.tools.map(name => {
|
|
150
|
+
const exact=available.find(op=>op.name===name);if(exact)return exact;
|
|
151
|
+
const matches=available.filter(op=>op.origin?.kind==='mcp' && op.origin.tool===name || op.name.endsWith('__'+name));
|
|
152
|
+
return matches.length===1?matches[0]:undefined;
|
|
153
|
+
}) : available;
|
|
154
|
+
if (selected.some(op => !op) || selected.length > 12) throw Object.assign(new Error('Selecciona hasta 12 nombres exactos o cortos únicos del pack. '+JSON.stringify({pack:input.pack,invalid_names:input.tools?.filter((_,i)=>!selected[i]),available_names:available.slice(0,40).map(op=>op.name),list_call:{name:'ToolPack',input:{action:'list',pack:input.pack}}})),{code:'TOOL_PACK_SELECTION_INVALID'});
|
|
155
|
+
const unique=[...new Map(selected.map(op=>[op.name,op])).values()];
|
|
156
|
+
if (!view.work?.current && !view.turn) throw new Error('Adquiere el pack dentro de un turno activo.');
|
|
157
|
+
if (view.work?.current?.status === 'blocked') throw new Error('La tarea está bloqueada.');
|
|
158
|
+
const held = new Set(view.state.active.filter(item => item.id !== input.pack).flatMap(item => item.tools));
|
|
159
|
+
unique.forEach(op => held.add(op.name)); if (held.size > 24) throw new Error('Máximo 24 herramientas temporales activas; libera otro pack.');
|
|
160
|
+
await options.recordWork({ type: 'tool_pack_lease', source: 'capability_host', action: 'acquire', pack: input.pack, task_id: view.work?.current?.id || null, plan_version: view.work?.plan.version || null, work_digest: workDigest(view.work?.current) || null, turn_id: view.turn || null, tools: unique.map(op => ({ name: op.name, digest: op.contract_digest })) });
|
|
161
|
+
await this.prepare(sessionId,actor);
|
|
162
|
+
return JSON.stringify({ acquired: input.pack, tools: unique.map(op => op.name), available_next_request: true, grants_permission: false });
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import {performance} from 'node:perf_hooks';
|
|
3
|
+
import {realpath} from 'node:fs/promises';
|
|
4
|
+
|
|
5
|
+
// Host-owned native operations only. Third-party hints never enter this rule.
|
|
6
|
+
async function readResource(call,catalogue,cwd) {
|
|
7
|
+
const op=catalogue.find(item=>item.name===call.name),effects=op?.effects;
|
|
8
|
+
if(!['Read','FileInfo'].includes(call.name)||op?.origin!==null||op.permission!==call.name||effects?.workspace!=='read'||effects.external!=='none'||effects.process!=='none'||effects.authority!=='none'||typeof call.input?.file_path!=='string')return null;
|
|
9
|
+
try{return await realpath(path.resolve(cwd,call.input.file_path));}catch{return null;}
|
|
10
|
+
}
|
|
11
|
+
export async function scheduleToolCalls(calls,execute,{catalogue=[],cwd=process.cwd(),signal,concurrency=2,onGroup=async()=>{}}={}) {
|
|
12
|
+
if(!Number.isSafeInteger(concurrency)||concurrency<1||concurrency>4)throw new Error('Invalid native read concurrency');
|
|
13
|
+
const results=[];
|
|
14
|
+
for(let index=0;index<calls.length;){
|
|
15
|
+
signal?.throwIfAborted();const group=[calls[index++]],resources=new Set(),first=await readResource(group[0],catalogue,cwd);if(first)resources.add(first);
|
|
16
|
+
while(first&&group.length<concurrency&&index<calls.length){const resource=await readResource(calls[index],catalogue,cwd);if(!resource||resources.has(resource))break;resources.add(resource);group.push(calls[index++]);}
|
|
17
|
+
const start=performance.now();results.push(...await Promise.all(group.map(execute)));
|
|
18
|
+
await onGroup({type:'tool_schedule',version:1,classification:group.length>1?'host_native_disjoint_reads':'serial',tool_call_ids:group.map(call=>call.id),concurrency:group.length,elapsed_ms:performance.now()-start});
|
|
19
|
+
}
|
|
20
|
+
return results;
|
|
21
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { digest } from './operations.mjs';
|
|
2
|
+
|
|
3
|
+
const ANNOTATIONS = new Set(['$schema']);
|
|
4
|
+
export function normalizeToolSchemaCapabilities(value) {
|
|
5
|
+
if (value === undefined) return {};
|
|
6
|
+
const allowed = ['supported_keywords', 'unsupported_keywords', 'dialects', 'omit_dialect_annotation', 'transport_dialect'];
|
|
7
|
+
const bad = () => { throw Object.assign(new Error('Capacidades de schema inválidas; requiere listas de keywords/dialects y configuración de dialecto explícita.'), { code: 'TOOL_SCHEMA_CAPABILITIES_INVALID' }); };
|
|
8
|
+
if (!value || typeof value !== 'object' || Array.isArray(value) || Object.keys(value).some(key => !allowed.includes(key))) bad();
|
|
9
|
+
for (const key of ['supported_keywords', 'unsupported_keywords', 'dialects']) if (value[key] !== undefined && (!Array.isArray(value[key]) || value[key].length > 128 || value[key].some(item => typeof item !== 'string' || !item || item.length > 200) || new Set(value[key]).size !== value[key].length)) bad();
|
|
10
|
+
if (value.omit_dialect_annotation !== undefined && typeof value.omit_dialect_annotation !== 'boolean' || value.transport_dialect !== undefined && (typeof value.transport_dialect !== 'string' || !value.transport_dialect || value.transport_dialect.length > 200)) bad();
|
|
11
|
+
return structuredClone(value);
|
|
12
|
+
}
|
|
13
|
+
const schemas = (node, path = '') => {
|
|
14
|
+
if (!node || typeof node !== 'object' || Array.isArray(node)) return [];
|
|
15
|
+
const result = Object.entries(node).map(([keyword, value]) => ({ keyword, value, path: path + '/' + keyword }));
|
|
16
|
+
for (const [keyword, value] of Object.entries(node)) {
|
|
17
|
+
if (['properties', 'patternProperties', '$defs', 'definitions', 'dependentSchemas'].includes(keyword) && value && typeof value === 'object') for (const [key, child] of Object.entries(value)) result.push(...schemas(child, path + '/' + keyword + '/' + key));
|
|
18
|
+
else if (['items', 'additionalItems', 'additionalProperties', 'unevaluatedProperties', 'unevaluatedItems', 'contains', 'propertyNames', 'not', 'if', 'then', 'else'].includes(keyword)) {
|
|
19
|
+
if (Array.isArray(value)) value.forEach((child, i) => result.push(...schemas(child, path + '/' + keyword + '/' + i))); else result.push(...schemas(value, path + '/' + keyword));
|
|
20
|
+
} else if (['allOf', 'anyOf', 'oneOf', 'prefixItems'].includes(keyword) && Array.isArray(value)) value.forEach((child, i) => result.push(...schemas(child, path + '/' + keyword + '/' + i)));
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// A transport may remove dialect metadata only under an explicit identical dialect, never assertions.
|
|
26
|
+
// Missing capability information is explicitly unverified passthrough, not an invented guarantee.
|
|
27
|
+
export function compileToolSchemas(tools, { provider = 'unknown', capabilities = {}, catalogue = [] } = {}) {
|
|
28
|
+
const policy = normalizeToolSchemaCapabilities(capabilities.tool_schema), diagnostics = [], manifest = [];
|
|
29
|
+
const compiled = tools.map(tool => {
|
|
30
|
+
if (!tool?.input_schema || typeof tool.input_schema !== 'object' || Array.isArray(tool.input_schema)) throw Object.assign(new Error('Definición de herramienta sin schema de entrada válido; no se envió al proveedor.'), { code: 'TOOL_SCHEMA_UNSUPPORTED', details: { provider, diagnostics: [{ name: tool?.name || null, status: 'unsupported', rejected: [{ path: '/', reason: 'missing_or_invalid_input_schema' }] }], executed: false } });
|
|
31
|
+
const upstream = tool.input_schema, canonical = structuredClone(upstream), transport = structuredClone(canonical);
|
|
32
|
+
const entries = schemas(transport), rejected = [];
|
|
33
|
+
if (policy.dialects && canonical.$schema && !policy.dialects.includes(canonical.$schema)) rejected.push({ keyword: '$schema', path: '/$schema', reason: 'dialect_not_supported', value: canonical.$schema });
|
|
34
|
+
for (const entry of entries) {
|
|
35
|
+
if (ANNOTATIONS.has(entry.keyword) && policy.omit_dialect_annotation && policy.transport_dialect === canonical.$schema) continue;
|
|
36
|
+
if (policy.unsupported_keywords?.includes(entry.keyword) || policy.supported_keywords && !policy.supported_keywords.includes(entry.keyword)) rejected.push({ keyword: entry.keyword, path: entry.path, reason: 'keyword_not_supported' });
|
|
37
|
+
}
|
|
38
|
+
const transforms = [];
|
|
39
|
+
if (Object.hasOwn(transport, '$schema') && policy.omit_dialect_annotation) {
|
|
40
|
+
if (policy.transport_dialect !== transport.$schema) rejected.push({ keyword: '$schema', path: '/$schema', reason: 'cannot_remove_dialect_without_identical_transport_dialect' });
|
|
41
|
+
else { delete transport.$schema; transforms.push({ path: '/$schema', action: 'omit_identical_dialect_annotation', changes_validation: false }); }
|
|
42
|
+
}
|
|
43
|
+
const status = rejected.length ? 'unsupported' : policy.supported_keywords || policy.unsupported_keywords || policy.dialects ? 'compatible_with_declared_capabilities' : 'unverified_passthrough';
|
|
44
|
+
diagnostics.push({ name: tool.name, provider, status, transforms, rejected, authority: 'transport_compatibility_only' });
|
|
45
|
+
const contract = catalogue.find(item => item.name === tool.name);
|
|
46
|
+
manifest.push({ name: tool.name, provider, upstream_schema_digest: contract?.origin?.schema_provenance?.upstream_digest || null, canonical_schema_digest: contract?.input_schema ? digest(contract.input_schema) : null, offered_schema_digest: digest(canonical), transport_schema_digest: digest(transport), status });
|
|
47
|
+
return { ...tool, input_schema: transport };
|
|
48
|
+
});
|
|
49
|
+
if (diagnostics.some(item => item.status === 'unsupported')) throw Object.assign(new Error('El proveedor no admite el schema de herramientas; no se enviaron ni debilitaron restricciones. ' + diagnostics.filter(item => item.status === 'unsupported').map(item => item.name).join(', ')), { code: 'TOOL_SCHEMA_UNSUPPORTED', details: { provider, diagnostics, manifest, executed: false } });
|
|
50
|
+
return { tools: compiled, diagnostics, manifest };
|
|
51
|
+
}
|
package/src/tools.mjs
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { readFile, writeFile, rename, unlink, mkdir, realpath, stat, readdir, opendir, open } from 'node:fs/promises';
|
|
2
|
+
import { constants } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { spawn } from 'node:child_process';
|
|
5
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
6
|
+
import { House } from './house.mjs';
|
|
7
|
+
import { readOnlyBashCheck } from './read-only-check.mjs';
|
|
8
|
+
import { auditExecution } from './audit.mjs';
|
|
9
|
+
import { digest } from './operations.mjs';
|
|
10
|
+
import { recoverFileEffects } from './file-recovery.mjs';
|
|
11
|
+
|
|
12
|
+
const LIMIT = 64 * 1024, FILE_LIMIT = 1024 * 1024;
|
|
13
|
+
const HASH_LIMIT = 256 * 1024 * 1024, HASH_CHUNK = 128 * 1024, HASH_TIMEOUT = 10000;
|
|
14
|
+
const hash = text => createHash('sha256').update(text).digest('hex');
|
|
15
|
+
const schema = (name, description, properties, required) => ({ name, description, input_schema: { type: 'object', properties, required, additionalProperties: false } });
|
|
16
|
+
const str = description => ({ type: 'string', description });
|
|
17
|
+
export const toolDefinitions = [
|
|
18
|
+
schema('Read', 'Read missing/outdated UTF-8 file ranges with line numbers. Verified file_working_set pages already provide inspection: do not reread covered code just to satisfy an edit prerequisite.', { file_path: str('Workspace-relative or absolute path'), offset: { type: 'integer', minimum: 1 }, limit: { type: 'integer', minimum: 1, maximum: 2000 } }, ['file_path']),
|
|
19
|
+
schema('Write', 'Create/replace a UTF-8 file. Inspect existing bytes via Read or verified file_working_set. The host checks own read/write evidence against live bytes before replacing.', { file_path: str('File path'), content: str('Complete new content') }, ['file_path', 'content']),
|
|
20
|
+
schema('Edit', 'Replace an exact string in inspected code (Read or verified file_working_set). Own receipt and live hash are checked by the host. Must be unique unless replace_all is true.', { file_path: str('File path'), old_string: str('Exact nonempty text'), new_string: str('Replacement'), replace_all: { type: 'boolean' } }, ['file_path', 'old_string', 'new_string']),
|
|
21
|
+
schema('Glob', 'List workspace files matching *, ** or ?; omits .git, .comal, .harness, .analysis and node_modules.', { pattern: str('Example: src/**/*.mjs') }, ['pattern']),
|
|
22
|
+
schema('Grep', 'Search workspace text with ripgrep regular expressions.', { pattern: str('Regular expression'), path: str('Workspace path; defaults to .'), glob: str('Optional file glob') }, ['pattern']),
|
|
23
|
+
schema('ListDirectory', 'List one workspace directory without shell. Returns bounded names/types, not file contents; omits internal state. Use Glob for recursive matches.', { path: str('Workspace directory; defaults to .'), limit: { type: 'integer', minimum: 1, maximum: 1000 } }, []),
|
|
24
|
+
schema('FileInfo', 'Inspect workspace file size/type and media signature without shell. By default reads at most 32 signature bytes. Set hash:true for bounded binary-safe full-file SHA-256 evidence (up to 256 MiB, 10 seconds); emits a file_read observation but grants no text inspection for editing. Does not decode media: send images/video directly to AnalyzeMedia.', { file_path: str('Workspace-relative or absolute path'), hash: { type: 'boolean', description: 'Stream the complete regular file to compute SHA-256 without returning contents.' } }, ['file_path']),
|
|
25
|
+
schema('Bash', 'Run a shell command from the workspace after permission. This is NOT an OS sandbox.', { command: str('Shell command'), timeout: { type: 'integer', minimum: 1, maximum: 120000 } }, ['command']),
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
function validate(name, input) {
|
|
29
|
+
const definition = toolDefinitions.find(t => t.name === name);
|
|
30
|
+
if (!definition) throw new Error(`Unknown tool: ${name}`);
|
|
31
|
+
if (!input || typeof input !== 'object' || Array.isArray(input)) throw new Error('Input must be an object.');
|
|
32
|
+
for (const key of definition.input_schema.required) if (!(key in input)) throw new Error(`Missing ${key}.`);
|
|
33
|
+
for (const [key, value] of Object.entries(input)) {
|
|
34
|
+
const spec = definition.input_schema.properties[key];
|
|
35
|
+
if (!spec) throw new Error(`Unknown field: ${key}`);
|
|
36
|
+
if (spec.type === 'integer' ? !Number.isInteger(value) : typeof value !== spec.type) throw new Error(`Invalid type for ${key}.`);
|
|
37
|
+
if (spec.type === 'integer' && (value < spec.minimum || value > (spec.maximum ?? Number.MAX_SAFE_INTEGER))) throw new Error(`${key} is out of range.`);
|
|
38
|
+
if (typeof value === 'string' && Buffer.byteLength(value) > FILE_LIMIT) throw new Error(`${key} exceeds 1 MiB.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class WorkspaceTools {
|
|
43
|
+
constructor({ cwd, policy, store, onPermission = () => {}, house = new House({ cwd }), actor = { id: 'local-agent', kind: 'agent' }, sessionId, record, select, frontier, capture, unavailable }) {
|
|
44
|
+
this.cwd = cwd; this.policy = policy; this.onPermission = onPermission; this.reads = new Map(); this.house = house;
|
|
45
|
+
this.store = store;
|
|
46
|
+
for (const definition of toolDefinitions) if (!house.registry.get(definition.name)) house.registry.add({ ...definition, run: (input, options) => (options.workspace || this).#run(definition.name, input, options) });
|
|
47
|
+
this.executor = house.bind({ actor, sessionId, policy, onPermission, record, resources: { workspace: this }, select, frontier, capture, unavailable });
|
|
48
|
+
this.executor.recoverInterrupted = options => this.recoverInterrupted(options);
|
|
49
|
+
this.recoverySessionId = sessionId; this.recoveryActor = actor;
|
|
50
|
+
}
|
|
51
|
+
setContext(context) { this.executor.setContext(context); }
|
|
52
|
+
getMode() { return this.executor.getMode(); }
|
|
53
|
+
snapshot() { return this.executor.snapshot(); }
|
|
54
|
+
execute(name, input, options) { return this.executor.execute(name, input, options); }
|
|
55
|
+
recoverInterrupted({signal,session}={}) { return this.store && this.house.hasRecorder ? recoverFileEffects({store:this.store,house:this.house,executor:this.executor,sessionId:typeof this.recoverySessionId==='function'?this.recoverySessionId():this.recoverySessionId,actor:this.recoveryActor,signal,session}) : undefined; }
|
|
56
|
+
inside(file) { const relative = path.relative(this.cwd, file); return relative === '' || (!relative.startsWith(`..${path.sep}`) && relative !== '..' && !path.isAbsolute(relative)); }
|
|
57
|
+
async resolve(file, { create = false } = {}) {
|
|
58
|
+
if (!file || file.includes('\0')) throw new Error('Invalid path.');
|
|
59
|
+
const candidate = path.resolve(this.cwd, file);
|
|
60
|
+
if (!this.inside(candidate)) throw new Error('Path outside the workspace.');
|
|
61
|
+
let canonical;
|
|
62
|
+
try { canonical = await realpath(candidate); }
|
|
63
|
+
catch (e) {
|
|
64
|
+
if (!create || e.code !== 'ENOENT') throw e;
|
|
65
|
+
let ancestor = path.dirname(candidate), suffix = [path.basename(candidate)];
|
|
66
|
+
while (true) {
|
|
67
|
+
try { canonical = path.join(await realpath(ancestor), ...suffix); break; }
|
|
68
|
+
catch (err) { if (err.code !== 'ENOENT') throw err; suffix.unshift(path.basename(ancestor)); ancestor = path.dirname(ancestor); }
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (!this.inside(canonical)) throw new Error('The symbolic link leaves the workspace.');
|
|
72
|
+
const first = path.relative(this.cwd, canonical).split(path.sep)[0];
|
|
73
|
+
if (['.comal', '.harness'].includes(first)) throw new Error('Comal internal state is protected.');
|
|
74
|
+
return canonical;
|
|
75
|
+
}
|
|
76
|
+
async text(file) {
|
|
77
|
+
const info = await stat(file);
|
|
78
|
+
if (!info.isFile() || info.size > FILE_LIMIT) throw new Error('A text file of at most 1 MiB is required.');
|
|
79
|
+
const buffer = await readFile(file);
|
|
80
|
+
if (buffer.includes(0)) throw Object.assign(new Error('Text Read does not support binary files. This does not deny permission to analyze media.'),{code:'READ_BINARY'});
|
|
81
|
+
try{return new TextDecoder('utf-8', { fatal: true }).decode(buffer);}
|
|
82
|
+
catch(error){throw Object.assign(new Error('The file is not UTF-8 text; Read does not decode images or video. This does not deny AnalyzeMedia permission.'),{code:'READ_BINARY',cause:error});}
|
|
83
|
+
}
|
|
84
|
+
async atomicWrite(file, content) {
|
|
85
|
+
await mkdir(path.dirname(file), { recursive: true });
|
|
86
|
+
// Recheck the canonical parent after creating directories.
|
|
87
|
+
const target = await this.resolve(file, { create: true });
|
|
88
|
+
if (target !== file) throw new Error('The path changed during the operation.');
|
|
89
|
+
let mode = 0o644; try { mode = (await stat(file)).mode & 0o777; } catch (e) { if (e.code !== 'ENOENT') throw e; }
|
|
90
|
+
const temp = path.join(path.dirname(file), `.comal-write-${randomUUID()}`);
|
|
91
|
+
try { await writeFile(temp, content, { flag: 'wx', mode }); await rename(temp, file); }
|
|
92
|
+
finally { await unlink(temp).catch(() => {}); }
|
|
93
|
+
this.reads.set(file, hash(content));
|
|
94
|
+
}
|
|
95
|
+
async #run(name, input, { signal, actor, sessionId, observe = () => {}, recordWork = async () => {} } = {}) {
|
|
96
|
+
validate(name, input); signal?.throwIfAborted();
|
|
97
|
+
if (name === 'ListDirectory') {
|
|
98
|
+
const dir = await this.resolve(input.path || '.'), entries = []; let truncated = false, bytes = 0;
|
|
99
|
+
for await (const entry of await opendir(dir)) {
|
|
100
|
+
signal?.throwIfAborted();
|
|
101
|
+
if (['.git', '.comal', '.harness', '.analysis'].includes(entry.name)) continue;
|
|
102
|
+
const item = { name: entry.name, type: entry.isSymbolicLink() ? 'symlink' : entry.isDirectory() ? 'directory' : entry.isFile() ? 'file' : 'other' };
|
|
103
|
+
bytes += Buffer.byteLength(JSON.stringify(item)) + 1;
|
|
104
|
+
if (entries.length >= (input.limit ?? 200) || bytes > LIMIT - 8192) { truncated = true; break; }
|
|
105
|
+
entries.push(item);
|
|
106
|
+
}
|
|
107
|
+
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
108
|
+
const relative = path.relative(this.cwd, dir) || '.';
|
|
109
|
+
observe({ kind: 'directory_listing', file_path: relative, count: entries.length, truncated });
|
|
110
|
+
return JSON.stringify({ path: relative, entries, truncated });
|
|
111
|
+
}
|
|
112
|
+
if (name === 'FileInfo') {
|
|
113
|
+
const file = await this.resolve(input.file_path), info = await stat(file, input.hash ? { bigint: true } : undefined);
|
|
114
|
+
if (input.hash) {
|
|
115
|
+
const hashed = await hashWorkspaceFile(file, { signal, expected: info, verifyPath: async () => {
|
|
116
|
+
if (await this.resolve(input.file_path) !== file) throw fileHashError('The file path changed while hashing. Retry FileInfo.', 'FILE_HASH_CHANGED');
|
|
117
|
+
} });
|
|
118
|
+
const result = { file_path: path.relative(this.cwd, file), type: 'file', bytes: hashed.bytes,
|
|
119
|
+
modified_at: new Date(Number(hashed.info.mtimeMs)).toISOString(), mime_type: hashed.mimeType,
|
|
120
|
+
mime_source: hashed.mimeType ? 'signature' : null, sha256: hashed.sha256 };
|
|
121
|
+
observe({ kind: 'file_metadata', ...result });
|
|
122
|
+
observe({ kind: 'file_read', file_path: result.file_path, sha256: result.sha256, bytes: result.bytes });
|
|
123
|
+
return JSON.stringify(result);
|
|
124
|
+
}
|
|
125
|
+
let mimeType = null;
|
|
126
|
+
if (info.isFile()) {
|
|
127
|
+
const handle = await open(file, 'r');
|
|
128
|
+
try {
|
|
129
|
+
signal?.throwIfAborted();
|
|
130
|
+
const buffer = Buffer.alloc(32), { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
|
|
131
|
+
mimeType = mediaSignature(buffer.subarray(0, bytesRead));
|
|
132
|
+
} finally { await handle.close(); }
|
|
133
|
+
}
|
|
134
|
+
const result = { file_path: path.relative(this.cwd, file), type: info.isFile() ? 'file' : info.isDirectory() ? 'directory' : 'other', bytes: info.size, modified_at: info.mtime.toISOString(), mime_type: mimeType, mime_source: mimeType ? 'signature' : null };
|
|
135
|
+
observe({ kind: 'file_metadata', ...result });
|
|
136
|
+
return JSON.stringify(result);
|
|
137
|
+
}
|
|
138
|
+
if (name === 'Read') {
|
|
139
|
+
const file = await this.resolve(input.file_path), text = await this.text(file);
|
|
140
|
+
this.reads.set(file, hash(text));
|
|
141
|
+
observe({ kind: 'file_read', file_path: path.relative(this.cwd, file), sha256: hash(text) });
|
|
142
|
+
const offset = input.offset ?? 1, count = input.limit ?? 400;
|
|
143
|
+
return text.split('\n').slice(offset - 1, offset - 1 + count).map((line, i) => `${offset + i}\t${line}`).join('\n').slice(0, LIMIT);
|
|
144
|
+
}
|
|
145
|
+
if (name === 'Write' || name === 'Edit') {
|
|
146
|
+
const file = await this.resolve(input.file_path, { create: name === 'Write' });
|
|
147
|
+
let before = null;
|
|
148
|
+
try { before = await this.text(file); } catch (e) { if (e.code !== 'ENOENT' || name === 'Edit') throw e; }
|
|
149
|
+
if (before !== null && this.reads.get(file) !== hash(before) && this.store && sessionId) {
|
|
150
|
+
const audit = auditExecution(await this.store.load(sessionId), this.house.stateContext()), relative = path.relative(this.cwd, file), currentHash = hash(before);
|
|
151
|
+
// Recover only this actor's own read/write proof, still matched against
|
|
152
|
+
// the live bytes. A cached projection alone never authorizes an edit.
|
|
153
|
+
const proof = audit.journal.consistent && audit.state.find(item => item.path === relative)?.sha256 === currentHash && audit.receipts.findLast(receipt => receipt.status === 'returned' && ['Read', 'Write', 'Edit'].includes(receipt.operation) && receipt.actor?.id === actor?.id && receipt.actor?.kind === actor?.kind && !audit.violations.some(item => item.invocation_id === receipt.invocation_id) && !audit.unverified.some(item => item.invocation_id === receipt.invocation_id) && receipt.observations?.some(item => item.file_path === relative && (item.sha256 || item.after_sha256) === currentHash));
|
|
154
|
+
if (proof) this.reads.set(file, currentHash);
|
|
155
|
+
}
|
|
156
|
+
if (before !== null && this.reads.get(file) !== hash(before)) throw new Error('Read the file before modifying it; it may have changed since the last read.');
|
|
157
|
+
let after = input.content;
|
|
158
|
+
if (name === 'Edit') {
|
|
159
|
+
if (!input.old_string) throw new Error('old_string cannot be empty.');
|
|
160
|
+
const count = before.split(input.old_string).length - 1;
|
|
161
|
+
if (!count || (count > 1 && !input.replace_all)) throw new Error(`old_string appears ${count} times; use unique text or replace_all.`);
|
|
162
|
+
after = input.replace_all ? before.split(input.old_string).join(input.new_string) : before.replace(input.old_string, () => input.new_string);
|
|
163
|
+
}
|
|
164
|
+
if (Buffer.byteLength(after) > FILE_LIMIT) throw new Error('The result exceeds 1 MiB.');
|
|
165
|
+
const output=JSON.stringify({ file_path: path.relative(this.cwd, file), status: before === null ? 'created' : 'updated', bytes: Buffer.byteLength(after), before_sha256: before === null ? null : hash(before), after_sha256: hash(after), ...(name === 'Edit' ? { removed: input.old_string.slice(0, 1000), added: input.new_string.slice(0, 1000) } : {}) });
|
|
166
|
+
// Durable preparation is a prerequisite of the replacement, not a receipt
|
|
167
|
+
// claiming that the handler returned. Recovery can only observe its target.
|
|
168
|
+
const preparation={mechanism:'workspace-file-v1',operation:name,arguments_digest:digest(input),file_path:path.relative(this.cwd,file),before_sha256:before===null?null:hash(before),after_sha256:hash(after),output};
|
|
169
|
+
await recordWork({type:'file_effect_prepared',source:'workspace_host',preparation,preparation_digest:digest(preparation)});
|
|
170
|
+
await this.atomicWrite(file, after);
|
|
171
|
+
// Read back independently; a handler return value is not a verified write.
|
|
172
|
+
const observed = await this.text(file);
|
|
173
|
+
observe({ kind: 'file_write', file_path: path.relative(this.cwd, file), before_sha256: before === null ? null : hash(before), after_sha256: hash(observed), matches_requested: observed === after });
|
|
174
|
+
await recordWork({type:'file_effect_observed',source:'workspace_host',preparation_digest:digest(preparation),sha256:hash(observed),matches_requested:observed===after});
|
|
175
|
+
return output;
|
|
176
|
+
}
|
|
177
|
+
if (name === 'Bash') {
|
|
178
|
+
const check = readOnlyBashCheck(input.command);
|
|
179
|
+
if (!check) return runProcess('/bin/sh', ['-c', input.command], { cwd: this.cwd, timeout: input.timeout ?? 30000, signal });
|
|
180
|
+
const files = new Map();
|
|
181
|
+
for (const name of check.files) { const file = await this.resolve(name); files.set(name, { file, before: hash(await this.text(file)) }); }
|
|
182
|
+
let output = '';
|
|
183
|
+
for (const step of check.steps) {
|
|
184
|
+
if (step.kind === 'echo') output += step.text + '\n';
|
|
185
|
+
else {
|
|
186
|
+
let text;
|
|
187
|
+
try { text = await runProcess('/usr/bin/grep', [...step.flags, '--', step.pattern, files.get(step.file).file], { cwd: this.cwd, timeout: input.timeout ?? 30000, signal }); }
|
|
188
|
+
catch (error) { if (error.message.startsWith('Command exited with code 1:')) throw Object.assign(new Error(`${error.message} Pattern ${JSON.stringify(step.pattern)} did not match in ${JSON.stringify(step.file)}. Implement the criterion behavior; a text match is only a basic check.`), { code: 'CHECK_FAILED' }); throw error; }
|
|
189
|
+
if (text !== '(no output)') output += text;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
for (const { file, before } of files.values()) { const after = hash(await this.text(file)); if (after !== before) throw new Error('The file changed during the check; verify again.'); observe({ kind: 'file_read', file_path: path.relative(this.cwd, file), sha256: after }); }
|
|
193
|
+
return output || '(no output)';
|
|
194
|
+
}
|
|
195
|
+
if (name === 'Grep') {
|
|
196
|
+
const target = await this.resolve(input.path || '.');
|
|
197
|
+
return runProcess('rg', ['--line-number', '--no-heading', '--color', 'never', '--max-count', '100', '--glob', '!.comal/**', '--glob', '!.harness/**', '--glob', '!.analysis/**', ...(input.glob ? ['--glob', input.glob] : []), '--', input.pattern, target], { cwd: this.cwd, timeout: 10000, signal, allowNoMatch: true });
|
|
198
|
+
}
|
|
199
|
+
if (name === 'Glob') {
|
|
200
|
+
if (path.isAbsolute(input.pattern) || input.pattern.split('/').includes('..')) throw new Error('Glob must be relative to the workspace.');
|
|
201
|
+
const pattern = input.pattern.replace(/^\.\//, ''), matcher = globRegex(pattern), files = []; let visited = 0;
|
|
202
|
+
const walk = async (dir, depth = 0) => {
|
|
203
|
+
if (depth > 30) return;
|
|
204
|
+
for (const entry of await readdir(dir, { withFileTypes: true })) {
|
|
205
|
+
signal?.throwIfAborted();
|
|
206
|
+
if (++visited > 20000) throw new Error('Glob exceeded 20000 entries; use Grep or a smaller workspace.');
|
|
207
|
+
if (['.git', '.comal', '.harness', '.analysis', 'node_modules'].includes(entry.name)) continue;
|
|
208
|
+
const file = path.join(dir, entry.name), relative = path.relative(this.cwd, file).split(path.sep).join('/');
|
|
209
|
+
if (entry.isDirectory()) await walk(file, depth + 1);
|
|
210
|
+
else if (entry.isFile() && matcher.test(relative)) files.push(relative);
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
await walk(this.cwd);
|
|
214
|
+
return files.sort().slice(0, 1000).join('\n') || '(no matches)';
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
const fileHashError = (message, code) => Object.assign(new Error(message), { code });
|
|
220
|
+
const sameFileVersion = (left, right) => ['dev', 'ino', 'size', 'mtimeNs', 'ctimeNs'].every(key => left[key] === right[key]);
|
|
221
|
+
async function hashWorkspaceFile(file, { signal, expected, verifyPath }) {
|
|
222
|
+
const deadline = AbortSignal.timeout(HASH_TIMEOUT), combined = signal ? AbortSignal.any([signal, deadline]) : deadline;
|
|
223
|
+
const check = () => {
|
|
224
|
+
signal?.throwIfAborted();
|
|
225
|
+
if (deadline.aborted) throw fileHashError('File hashing exceeded 10 seconds. Try a smaller artifact.', 'FILE_HASH_TIMEOUT');
|
|
226
|
+
};
|
|
227
|
+
let handle, stream;
|
|
228
|
+
try {
|
|
229
|
+
check();
|
|
230
|
+
handle = await open(file, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
|
|
231
|
+
const before = await handle.stat({ bigint: true });
|
|
232
|
+
if (!before.isFile()) throw fileHashError('Hashing requires a regular file.', 'FILE_HASH_TYPE');
|
|
233
|
+
if (before.size > BigInt(HASH_LIMIT)) throw fileHashError('File hashing supports at most 256 MiB.', 'FILE_HASH_LIMIT');
|
|
234
|
+
if (before.dev !== BigInt(expected.dev) || before.ino !== BigInt(expected.ino)) throw fileHashError('The file changed before hashing. Retry FileInfo.', 'FILE_HASH_CHANGED');
|
|
235
|
+
await verifyPath();
|
|
236
|
+
if (!sameFileVersion(before, await stat(file, { bigint: true }))) throw fileHashError('The file changed before hashing. Retry FileInfo.', 'FILE_HASH_CHANGED');
|
|
237
|
+
const digest = createHash('sha256'); let bytes = 0, signature = Buffer.alloc(0);
|
|
238
|
+
stream = handle.createReadStream({ highWaterMark: HASH_CHUNK, autoClose: false, signal: combined });
|
|
239
|
+
for await (const chunk of stream) {
|
|
240
|
+
check(); bytes += chunk.length;
|
|
241
|
+
if (bytes > HASH_LIMIT) throw fileHashError('File hashing supports at most 256 MiB.', 'FILE_HASH_LIMIT');
|
|
242
|
+
if (signature.length < 32) signature = Buffer.concat([signature, chunk.subarray(0, 32 - signature.length)]);
|
|
243
|
+
digest.update(chunk);
|
|
244
|
+
}
|
|
245
|
+
check();
|
|
246
|
+
const after = await handle.stat({ bigint: true }); await verifyPath();
|
|
247
|
+
if (!sameFileVersion(before, after) || !sameFileVersion(before, await stat(file, { bigint: true })) || BigInt(bytes) !== before.size) throw fileHashError('The file changed while hashing. Retry FileInfo.', 'FILE_HASH_CHANGED');
|
|
248
|
+
check(); return { bytes, sha256: digest.digest('hex'), mimeType: mediaSignature(signature), info: after };
|
|
249
|
+
} catch (error) {
|
|
250
|
+
check();
|
|
251
|
+
if (error.code === 'ELOOP') throw fileHashError('The file changed to a symbolic link before hashing.', 'FILE_HASH_CHANGED');
|
|
252
|
+
throw error;
|
|
253
|
+
} finally { stream?.destroy(); await handle?.close(); }
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function mediaSignature(bytes) {
|
|
257
|
+
if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff) return 'image/jpeg';
|
|
258
|
+
if (bytes.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) return 'image/png';
|
|
259
|
+
if (bytes.toString('ascii', 0, 4) === 'RIFF' && bytes.toString('ascii', 8, 12) === 'WEBP') return 'image/webp';
|
|
260
|
+
if (['GIF87a', 'GIF89a'].includes(bytes.toString('ascii', 0, 6))) return 'image/gif';
|
|
261
|
+
if (bytes.length >= 12 && bytes.toString('ascii', 4, 8) === 'ftyp') {
|
|
262
|
+
const brand = bytes.toString('ascii', 8, 12);
|
|
263
|
+
if (brand === 'qt ') return 'video/quicktime';
|
|
264
|
+
if (/^(?:isom|iso[2-9]|mp4[12]|avc1|M4V |dash)$/.test(brand)) return 'video/mp4';
|
|
265
|
+
}
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
function globRegex(pattern) {
|
|
270
|
+
let source = '^';
|
|
271
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
272
|
+
const c = pattern[i];
|
|
273
|
+
if (c === '*' && pattern[i + 1] === '*') { i++; if (pattern[i + 1] === '/') { i++; source += '(?:.*/)?'; } else source += '.*'; }
|
|
274
|
+
else if (c === '*') source += '[^/]*';
|
|
275
|
+
else if (c === '?') source += '[^/]';
|
|
276
|
+
else source += c.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
277
|
+
}
|
|
278
|
+
return new RegExp(source + '$');
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export function runProcess(command, args, { cwd, timeout = 30000, signal, allowNoMatch = false }) {
|
|
282
|
+
return new Promise((resolve, reject) => {
|
|
283
|
+
signal?.throwIfAborted();
|
|
284
|
+
const child = spawn(command, args, { cwd, detached: true, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
285
|
+
let output = '', truncated = false, failure, killTimer;
|
|
286
|
+
const terminate = reason => {
|
|
287
|
+
if (failure) return; failure = reason;
|
|
288
|
+
try { process.kill(-child.pid, 'SIGTERM'); } catch {}
|
|
289
|
+
killTimer = setTimeout(() => { try { process.kill(-child.pid, 'SIGKILL'); } catch {} }, 200);
|
|
290
|
+
};
|
|
291
|
+
const receive = chunk => {
|
|
292
|
+
const available = LIMIT - output.length;
|
|
293
|
+
if (available > 0) output += chunk.toString().slice(0, available);
|
|
294
|
+
if (chunk.length > available) truncated = true;
|
|
295
|
+
};
|
|
296
|
+
child.stdout.on('data', receive); child.stderr.on('data', receive);
|
|
297
|
+
const timer = setTimeout(() => terminate(new Error(`Command exceeded ${timeout} ms.`)), timeout);
|
|
298
|
+
const abort = () => terminate(new Error('Comando cancelado.'));
|
|
299
|
+
signal?.addEventListener('abort', abort, { once: true });
|
|
300
|
+
const cleanup = () => { clearTimeout(timer); signal?.removeEventListener('abort', abort); };
|
|
301
|
+
child.once('error', err => { cleanup(); clearTimeout(killTimer); reject(err); });
|
|
302
|
+
child.once('close', code => {
|
|
303
|
+
cleanup();
|
|
304
|
+
// Leave the short kill timer alive after timeout to stop remaining descendants.
|
|
305
|
+
if (failure) reject(failure);
|
|
306
|
+
else if (code !== 0 && !(allowNoMatch && code === 1)) reject(new Error(`Command exited with code ${code}: ${output}`));
|
|
307
|
+
else resolve(output + (truncated ? '\n[Output limited to 64 KiB]' : '') || '(no output)');
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
|
|
3
|
+
const historicalInput = (name, input) => {
|
|
4
|
+
const raw = JSON.stringify(input) ?? 'null', bytes = Buffer.byteLength(raw);
|
|
5
|
+
const fields = ['content', 'old_string', 'new_string'];
|
|
6
|
+
if (bytes <= 2048 && !['Write', 'Edit', 'WorkDraft'].includes(name)) return input;
|
|
7
|
+
const metadata = { historical_arguments_sha256: createHash('sha256').update(raw).digest('hex'), historical_arguments_bytes: bytes, omitted_payload: true };
|
|
8
|
+
if (bytes > 2048) return { ...metadata, ...Object.fromEntries(['file_path','project','directory','action','task_id','step_id','operation'].filter(key => typeof input?.[key] === 'string' && input[key].length <= 300).map(key => [key, input[key]])) };
|
|
9
|
+
return { ...Object.fromEntries(Object.entries(input || {}).filter(([key]) => !fields.includes(key))), ...metadata };
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export function trustedContext(rows) {
|
|
13
|
+
const intentions = [], actions = [];
|
|
14
|
+
for (const row of rows) {
|
|
15
|
+
if (row.type === 'intent') intentions.push(row.text);
|
|
16
|
+
// Legacy sessions predating intent records used only direct user prompts.
|
|
17
|
+
if (row.type === 'message' && !row.source && row.message.role === 'user' && typeof row.message.content === 'string') intentions.push(row.message.content);
|
|
18
|
+
if (row.type === 'message' && row.message.role === 'assistant') for (const block of Array.isArray(row.message.content) ? row.message.content : []) {
|
|
19
|
+
if (block.type === 'tool_use') actions.push({ name: block.name, input: historicalInput(block.name, block.input) });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return { intentions: intentions.slice(-8), actions: actions.slice(-20) };
|
|
23
|
+
}
|