@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,509 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { digest } from './operations.mjs';
|
|
3
|
+
import { auditExecution } from './audit.mjs';
|
|
4
|
+
import { readOnlyWorkCheck, runtimeBoundReadCheck, RUNTIME_CHECK_IDS } from './read-only-check.mjs';
|
|
5
|
+
import { checkContractIssues, proposeCheckRepairs } from './work-check-contracts.mjs';
|
|
6
|
+
import { assertionSchema, assertOutput, validateAssertions } from './work-assertions.mjs';
|
|
7
|
+
import { nativeWorkParent, recoveryInput } from './work-recovery-proof.mjs';
|
|
8
|
+
|
|
9
|
+
// Host-only compatibility for already accepted workflows. Never a tool argument.
|
|
10
|
+
const artifactObservers = new WeakMap();
|
|
11
|
+
const artifactCall = (house, sessionId, file_path) => artifactObservers.get(house)?.get(sessionId) === 'Read'
|
|
12
|
+
? ['Read', { file_path }] : ['FileInfo', { file_path, hash: true }];
|
|
13
|
+
|
|
14
|
+
export const WORK_NAMES = ['WorkPlanSet', 'WorkCheckRepair', 'WorkTaskUpdate', 'WorkStepRun', 'WorkDraft', 'WorkBoard'];
|
|
15
|
+
const id = { type: 'string', pattern: '^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$' }, version = { type: 'integer', minimum: 0 };
|
|
16
|
+
const args = { type: 'object' }, str = maxLength => ({ type: 'string', minLength: 1, maxLength });
|
|
17
|
+
const schema = (properties, required) => ({ type: 'object', properties, required, additionalProperties: false });
|
|
18
|
+
const keyOf = (task, step) => JSON.stringify([task, step]);
|
|
19
|
+
const failure = (message, code = 'WORK_CONFLICT') => Object.assign(new Error(message), { code });
|
|
20
|
+
export const planControl = work => ({ plan_exists: Boolean(work?.plan), expected_version: work?.plan?.version || 0,
|
|
21
|
+
operation: 'WorkPlanSet', suggestion: 'Start with one small task; id/title/criterion/checks. Checks use exact operation names and arguments. Plan grants no permission.' });
|
|
22
|
+
|
|
23
|
+
// A generation owns produced work; its current check definition has a separate hash.
|
|
24
|
+
export const workDigest = task => task?.work_digest || task?.definition_digest;
|
|
25
|
+
const definitionOf = task => Object.fromEntries(['id','title','criterion','phase','capabilities','artifacts','depends_on','checks'].filter(key => task[key] !== undefined).map(key => [key,task[key]]));
|
|
26
|
+
const isMcpCheck = check => /^mcp(?:__|:)/.test(check.operation);
|
|
27
|
+
const mcpServer = check => /^mcp:([^\s]+)/.exec(check.operation)?.[1] || /^mcp__(.+?)__/.exec(check.operation)?.[1];
|
|
28
|
+
|
|
29
|
+
// A reservation is not evidence of target dispatch. Derive this narrow outcome
|
|
30
|
+
// from the closed native coordinator and its exact artifact-read children, never
|
|
31
|
+
// from a model claim, an absent receipt alone, or a mutable status flag. Older
|
|
32
|
+
// books have no phase facts; the same sealed parent/child proof applies to them.
|
|
33
|
+
function preflightFailure(session, step, task, audit, active) {
|
|
34
|
+
const rows = session.rows || [];
|
|
35
|
+
if (!audit.journal.verified || audit.violations.length || audit.unverified.length || active.has(step.invocation_id) || digest(step.arguments) !== step.arguments_digest) return null;
|
|
36
|
+
const own = row => row.house === session.cwd && row.session_id === session.id && row.surface === step.surface && digest(row.actor ?? null) === digest(step.actor ?? null);
|
|
37
|
+
if (!own(step) || step.source !== 'work_host' || !task.artifacts?.length) return null;
|
|
38
|
+
const parents = rows.filter(row => row.type === 'house_proposal' && row.invocation_id === step.invocation_id);
|
|
39
|
+
const endings = rows.filter(row => row.type === 'house_receipt' && row.invocation_id === step.invocation_id);
|
|
40
|
+
const parent = parents[0], ending = endings[0], closeRef = rows.indexOf(ending);
|
|
41
|
+
const parentContract = rows.findLast(row => row.type === 'house_contract' && row.contract_digest === parent?.contract_digest)?.contract;
|
|
42
|
+
const managed = parent?.operation === 'WorkTaskUpdate' && parentContract?.name === 'WorkTaskUpdate' && parentContract.origin === null && parentContract.permission === 'WorkTaskUpdate';
|
|
43
|
+
if (parents.length !== 1 || endings.length !== 1 || !own(parent) || !own(ending) || !(managed || parent.operation === 'WorkStepRun' && nativeWorkParent(rows, parent)) || ending.status !== 'failed' || closeRef <= step.ref) return null;
|
|
44
|
+
const same = (a, b) => ['operation','arguments_digest','contract_digest','parent_invocation_id','work','origin','execution_process'].every(key => digest(a[key] ?? null) === digest(b[key] ?? null));
|
|
45
|
+
const start = rows.find(row => row.type === 'house_started' && row.invocation_id === parent.invocation_id);
|
|
46
|
+
if (!start || !own(start) || !same(parent, start) || !same(parent, ending)) return null;
|
|
47
|
+
const input = recoveryInput(rows, parent, step.ref + 1);
|
|
48
|
+
const check = task.checks.find(check => check.step_id === step.step_id);
|
|
49
|
+
if (!check || check.operation !== step.operation || digest(check.arguments) !== step.arguments_digest || !input || input.plan_version !== step.plan_version) return null;
|
|
50
|
+
if (managed ? input.status !== 'done' || input.verify !== true || input.task_id !== step.task_id && task.status !== 'done' || !readOnlyWorkCheck(check.operation, check.arguments)
|
|
51
|
+
: input.task_id !== step.task_id || input.step_id !== step.step_id || input.operation !== undefined && input.operation !== step.operation || input.arguments !== undefined && digest(input.arguments) !== step.arguments_digest) return null;
|
|
52
|
+
const parentPhases = rows.filter(row => row.invocation_id === parent.invocation_id && ['work_step_preflight','work_step_dispatching','work_step_not_dispatched'].includes(row.type));
|
|
53
|
+
const phases = parentPhases.filter(row => row.attempt_id === step.attempt_id);
|
|
54
|
+
if ((managed || parentPhases.length) && !phases.length) return null;
|
|
55
|
+
if (phases.some(row => !own(row) || row.source !== 'work_host' || row.attempt_id !== step.attempt_id || row.task_id !== step.task_id || row.step_id !== step.step_id || row.task_digest !== step.task_digest || row.plan_version !== step.plan_version || rows.indexOf(row) <= step.ref || rows.indexOf(row) >= closeRef)) return null;
|
|
56
|
+
if (phases.some(row => row.type === 'work_step_dispatching')) return null;
|
|
57
|
+
if (managed && rows.slice(step.ref + 1, closeRef).some(row => row.type === 'work_step_started' && row.invocation_id === parent.invocation_id)) return null;
|
|
58
|
+
const children = rows.filter((row, ref) => row.type === 'house_proposal' && row.parent_invocation_id === parent.invocation_id && (!managed || ref > step.ref));
|
|
59
|
+
if (!children.length) return null;
|
|
60
|
+
const childRefs = [];
|
|
61
|
+
for (const child of children) {
|
|
62
|
+
const ref = rows.indexOf(child), contract = rows.findLast(row => row.type === 'house_contract' && row.contract_digest === child.contract_digest)?.contract;
|
|
63
|
+
// A work-tagged or arbitrary child might already have performed the target.
|
|
64
|
+
if (ref <= step.ref || ref >= closeRef || !own(child) || digest(child.execution_process ?? null) !== digest(parent.execution_process ?? null) || child.work || !['Read','FileInfo'].includes(child.operation) || !contract || contract.origin !== null || contract.permission !== child.operation || contract.name !== child.operation || contract.steps || contract.effects?.workspace !== 'read' || ['external','process','authority'].some(key => contract.effects?.[key] !== 'none')) return null;
|
|
65
|
+
const expected = task.artifacts.map(file => digest(child.operation === 'Read' ? { file_path: file, offset: 1, limit: 1 } : { file_path: file, hash: true }));
|
|
66
|
+
if (!expected.includes(child.arguments_digest)) return null;
|
|
67
|
+
const receipts = rows.filter(row => row.type === 'house_receipt' && row.invocation_id === child.invocation_id), receipt = receipts[0], receiptRef = rows.indexOf(receipt);
|
|
68
|
+
if (receipts.length !== 1 || !own(receipt) || !same(child, receipt) || receiptRef <= ref || receiptRef >= closeRef || !['returned','failed','refused'].includes(receipt.status)) return null;
|
|
69
|
+
const began = rows.find(row => row.type === 'house_started' && row.invocation_id === child.invocation_id);
|
|
70
|
+
if (receipt.status !== 'refused' && (!began || !own(began) || !same(child, began))) return null;
|
|
71
|
+
childRefs.push(receiptRef);
|
|
72
|
+
}
|
|
73
|
+
const failed = rows[childRefs.at(-1)];
|
|
74
|
+
const failedPhase = phases.find(row => row.type === 'work_step_not_dispatched' && row.error === failed.error);
|
|
75
|
+
if (!['failed','refused'].includes(failed.status) || failed.code !== ending.code || failed.error !== ending.error && !(managed && failedPhase)) return null;
|
|
76
|
+
if (phases.length && (!phases.some(row => row.type === 'work_step_preflight') || !phases.some(row => row.type === 'work_step_not_dispatched' && row.code === (ending.code || 'WORK_PREFLIGHT_FAILED')))) return null;
|
|
77
|
+
return { parent_receipt_id: parent.invocation_id, parent_receipt_ref: closeRef, preflight_receipt_refs: childRefs, code: ending.code || 'WORK_PREFLIGHT_FAILED', error: ending.error, target_dispatched: false, derivation: phases.length ? 'recorded_preflight_failure' : 'legacy_closed_preflight_failure',
|
|
78
|
+
...(managed ? { retry_call: { name: 'WorkTaskUpdate', input: { task_id: input.task_id, plan_version: input.plan_version, status: 'done', verify: true } } } : {}) };
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// A board is a fold of host facts. Model prose, nested receipts and thinking are not facts.
|
|
82
|
+
export function foldWorkBook(session, { active = new Set() } = {}) {
|
|
83
|
+
let plan = null, checkpoint = null; const tasks = new Map(), steps = new Map(), drafts = new Map(), waiting = new Map(), attestations = new Map(), draftCalls = new Map(), draftInputs = new Map();
|
|
84
|
+
for (let i = 0; i < (session.rows || []).length; i++) {
|
|
85
|
+
const row = session.rows[i];
|
|
86
|
+
if (row.type === 'reset') { plan = null; checkpoint = null; tasks.clear(); steps.clear(); drafts.clear(); waiting.clear(); attestations.clear(); }
|
|
87
|
+
if (row.type === 'message' && row.message.role === 'assistant' && Array.isArray(row.message.content)) for (const call of row.message.content) if (call.type === 'tool_use' && call.name === 'WorkDraft') draftCalls.set(JSON.stringify([call.id,digest(call.input)]),call.input);
|
|
88
|
+
if (row.type === 'house_proposal' && row.operation === 'WorkDraft') draftInputs.set(row.invocation_id,draftCalls.get(JSON.stringify([row.call_id,row.arguments_digest])));
|
|
89
|
+
if (row.type === 'house_waiting') waiting.set(row.question_id, row);
|
|
90
|
+
if (row.type === 'house_answered') waiting.delete(row.question_id);
|
|
91
|
+
if (['work_plan_set','work_checks_repaired'].includes(row.type) && row.source === 'work_host') {
|
|
92
|
+
plan = { version: row.version, digest: row.plan_digest, objective: row.objective, ref: i, supersedes: row.supersedes };
|
|
93
|
+
const previous = new Map(tasks); tasks.clear();
|
|
94
|
+
for (const definition of row.tasks) {
|
|
95
|
+
const old = previous.get(definition.id);
|
|
96
|
+
tasks.set(definition.id, old && workDigest(old) === workDigest(definition) ? { ...old, ...definition, plan_version: plan.version } : { ...definition, plan_version: plan.version, status: 'pending', receipt_ids: [], last_step: null });
|
|
97
|
+
}
|
|
98
|
+
// Only an explicit check-repair fact keeps the work generation across a new definition.
|
|
99
|
+
for (const [key, step] of steps) if (workDigest(tasks.get(step.task_id)) !== step.task_digest) steps.delete(key);
|
|
100
|
+
for (const [key, draft] of drafts) if (workDigest(tasks.get(draft.task_id)) !== draft.task_digest) drafts.delete(key);
|
|
101
|
+
for (const repair of row.repairs || []) { steps.delete(keyOf(repair.task_id,repair.step_id)); attestations.delete(keyOf(repair.task_id,repair.step_id)); }
|
|
102
|
+
}
|
|
103
|
+
if (row.source === 'work_host' && workDigest(tasks.get(row.task_id)) === row.task_digest) {
|
|
104
|
+
const task = tasks.get(row.task_id);
|
|
105
|
+
if (row.type === 'work_task_changed') Object.assign(task, { status: row.status, reason: row.reason, receipt_ids: row.receipt_ids || [], dependency_proofs: row.dependency_proofs || {}, ref: i });
|
|
106
|
+
if (row.type === 'work_check_verified') attestations.set(keyOf(row.task_id, row.step_id), { ...row, ref: i });
|
|
107
|
+
if (row.type === 'work_step_started') { steps.set(keyOf(row.task_id, row.step_id), { ...row, ref: i, status: active.has(row.invocation_id) ? 'running' : 'interrupted', receipt_id: null }); task.last_step = row.step_id; }
|
|
108
|
+
if (row.type === 'work_draft_chunk') {
|
|
109
|
+
const key = keyOf(row.task_id, row.draft_id), draft = drafts.get(key) || { id: row.draft_id, task_id: row.task_id, task_digest: row.task_digest, file_path: row.file_path, parts: [], refs: [], part_ids: [] };
|
|
110
|
+
draft.parts[row.index] = row.content; draft.refs[row.index] = i; (draft.part_ids ||= [])[row.index] = row.part_id || null; draft.complete = row.final;
|
|
111
|
+
const input = draftInputs.get(row.invocation_id);
|
|
112
|
+
draft.next_action = row.next_action || (input?.content === row.content && input.task_id === row.task_id && input.draft_id === row.draft_id && input.file_path === row.file_path ? input.next_action : undefined);
|
|
113
|
+
drafts.set(key, draft);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (row.type === 'house_receipt' && row.work) {
|
|
117
|
+
const step = steps.get(keyOf(row.work.task_id, row.work.step_id));
|
|
118
|
+
if (step && step.attempt_id === row.work.attempt_id && step.operation === row.operation && step.arguments_digest === row.arguments_digest && step.task_digest === row.work.task_digest && row.parent_invocation_id === step.invocation_id) Object.assign(step, { status: row.status, receipt_id: row.invocation_id, receipt_ref: i, output_digest: row.output_digest });
|
|
119
|
+
}
|
|
120
|
+
if (row.type === 'work_checkpoint' && row.source === 'work_host') checkpoint = { ...row, ref: i };
|
|
121
|
+
}
|
|
122
|
+
const audit = auditExecution(session), receipts = new Map(audit.receipts.map(row => [row.invocation_id, row]));
|
|
123
|
+
for (const step of steps.values()) if (step.status === 'interrupted') {
|
|
124
|
+
// auditExecution admits a recovery receipt only after checking its native
|
|
125
|
+
// derivation; a resealed recovery label alone cannot erase an unknown effect.
|
|
126
|
+
const recovered = receipts.get(step.invocation_id);
|
|
127
|
+
if (audit.journal.verified && !audit.violations.length && !audit.unverified.length && recovered?.recovery?.kind === 'work_not_dispatched' && recovered.code === 'HOUSE_RECOVERY_NOT_DISPATCHED' && recovered.status === 'refused') {
|
|
128
|
+
Object.assign(step, { status: 'refused', recovery_ref: recovered.evidence_row }); continue;
|
|
129
|
+
}
|
|
130
|
+
const task = tasks.get(step.task_id), proof = task && preflightFailure(session, step, task, audit, active);
|
|
131
|
+
if (proof) Object.assign(step, { status: 'refused', preflight_failure: proof, recovery_ref: proof.parent_receipt_ref,
|
|
132
|
+
next_action: 'The target was not dispatched: an artifact preflight failed. Prepare the missing or invalid output with new work, then retry this original step under current permissions. No failed check was credited.' });
|
|
133
|
+
}
|
|
134
|
+
const receiptValid = receipt => {
|
|
135
|
+
if (!receipt || receipt.status !== 'returned' || receipt.output_truncated || !audit.journal.consistent) return false;
|
|
136
|
+
if (audit.violations.some(v => v.invocation_id === receipt.invocation_id) || audit.unverified.some(v => v.invocation_id === receipt.invocation_id)) return false;
|
|
137
|
+
return (receipt.observations || []).every(observation => !['file_write', 'file_read'].includes(observation.kind) || audit.state.find(state => state.path === observation.file_path)?.sha256 === (observation.after_sha256 || observation.sha256));
|
|
138
|
+
};
|
|
139
|
+
const checkValid = (task, check, step) => {
|
|
140
|
+
const receipt = receipts.get(step?.receipt_id);
|
|
141
|
+
if (!receiptValid(receipt)) return false;
|
|
142
|
+
if (!check.assertions?.length && !task.artifacts?.length) return true;
|
|
143
|
+
const proof = attestations.get(keyOf(task.id, check.step_id));
|
|
144
|
+
if (!proof?.passed || proof.task_digest !== workDigest(task) || proof.attempt_id !== step.attempt_id || proof.receipt_id !== receipt.invocation_id || proof.assertions_digest !== digest(check.assertions || [])) return false;
|
|
145
|
+
try { assertOutput(receipt.output, check.assertions); } catch { return false; }
|
|
146
|
+
return (proof.artifact_receipts || []).every(id => receiptValid(receipts.get(id))) && (task.artifacts?.length || 0) === (proof.artifact_count || 0);
|
|
147
|
+
};
|
|
148
|
+
for (const task of tasks.values()) {
|
|
149
|
+
task.declared_status = task.status;
|
|
150
|
+
// Latest accepted state is derived; a done claim loses currency after a recorded touch.
|
|
151
|
+
if (task.status === 'done' && (!task.receipt_ids.length || !task.receipt_ids.every(receiptId => receiptValid(receipts.get(receiptId))) || !task.checks.every(check => checkValid(task, check, steps.get(keyOf(task.id, check.step_id)))))) { task.status = 'needs_verification'; task.reason = 'Una comprobación perdió vigencia en el libro.'; }
|
|
152
|
+
}
|
|
153
|
+
for (let pass = 0; pass < tasks.size; pass++) for (const task of tasks.values()) {
|
|
154
|
+
task.held_by = task.depends_on.filter(parent => tasks.get(parent)?.status !== 'done');
|
|
155
|
+
if (task.held_by.length && ['pending', 'in_progress'].includes(task.status)) task.status = 'blocked';
|
|
156
|
+
if (task.status === 'done' && task.depends_on.some(parent => digest(tasks.get(parent)?.receipt_ids || []) !== task.dependency_proofs?.[parent])) { task.status = 'needs_verification'; task.reason = 'La evidencia de una dependencia cambió; vuelve a comprobar esta tarea.'; }
|
|
157
|
+
if (task.held_by.length && task.status === 'done') { task.status = 'needs_verification'; task.reason = 'Una dependencia perdió su cierre vigente.'; }
|
|
158
|
+
}
|
|
159
|
+
for (const task of tasks.values()) {
|
|
160
|
+
const awaitsHuman = [...waiting.values()].some(question => [...steps.values()].some(step => step.task_id === task.id && (question.parent_invocation_id === step.invocation_id || question.invocation_id === step.invocation_id)));
|
|
161
|
+
if (task.status === 'in_progress' && awaitsHuman) { task.status = 'blocked'; task.reason = 'Espera una respuesta humana.'; task.held_by = ['human_permission']; }
|
|
162
|
+
}
|
|
163
|
+
for (const draft of drafts.values()) { const content = draft.parts.join(''); draft.digest = digest(content); draft.bytes = Buffer.byteLength(content); }
|
|
164
|
+
return { plan, tasks: [...tasks.values()], steps: [...steps.values()], drafts: [...drafts.values()], checkpoint, receipts, receiptValid, checkValid, attestations };
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export function workProjection(session, context = {}) {
|
|
168
|
+
const book = foldWorkBook(session, context); if (!book.plan) return null;
|
|
169
|
+
const active = book.tasks.find(task => task.declared_status === 'in_progress');
|
|
170
|
+
const recoverable = book.tasks.find(task => task.status === 'blocked' && !task.held_by.length && book.steps.some(step => step.task_id === task.id && step.preflight_failure));
|
|
171
|
+
const next = active || recoverable || book.tasks.find(task => ['pending', 'needs_verification'].includes(task.status) && !task.held_by.length);
|
|
172
|
+
const summarize = task => ({ id: task.id, title: task.title, status: task.status, held_by: task.held_by, last_step: task.last_step, ...(task.phase ? { phase: task.phase } : {}), ...(task.reason ? { reason: task.reason } : {}) });
|
|
173
|
+
const checks = next?.checks.map(check => {
|
|
174
|
+
const step = book.steps.find(step => step.task_id === next.id && step.step_id === check.step_id), receipt = book.receipts.get(step?.receipt_id);
|
|
175
|
+
const proof = book.attestations.get(keyOf(next.id, check.step_id));
|
|
176
|
+
return { step_id: check.step_id, status: book.checkValid(next, check, step) ? 'returned' : step?.preflight_failure ? 'not_dispatched' : proof?.attempt_id === step?.attempt_id && proof?.passed === false ? 'assertion_failed' : step?.status || 'missing', retryable_read: readOnlyWorkCheck(check.operation, check.arguments), ref: step?.receipt_ref ?? step?.recovery_ref, ...(step?.preflight_failure ? { target_dispatched: false, failure_stage: 'artifact_preflight' } : {}), ...(proof?.passed === false ? { error: proof.error } : receipt?.status === 'failed' && receipt.error ? { error: receipt.error.slice(0,700) } : {}) };
|
|
177
|
+
}) || [];
|
|
178
|
+
const recoverRead = checks.some(check => ['failed', 'assertion_failed'].includes(check.status) && check.retryable_read);
|
|
179
|
+
const currentDraft = book.drafts.findLast(draft => draft.task_id === next?.id && (next.phase!=='verification' || (next.artifacts || []).includes(draft.file_path)));
|
|
180
|
+
const refreshable = id => { const task = book.tasks.find(task => task.id === id); return task?.declared_status === 'done' && task.checks.length && task.checks.every(check => readOnlyWorkCheck(check.operation,check.arguments)) && task.depends_on.every(parent => book.tasks.find(task => task.id === parent)?.status === 'done' || refreshable(parent)); };
|
|
181
|
+
const staleDependencies = next?.declared_status === 'in_progress' && next.status === 'blocked' && next.held_by.length && next.held_by.every(refreshable);
|
|
182
|
+
const finishCall = (next?.status === 'in_progress' || staleDependencies) && checks.length && checks.every(check => check.retryable_read) ? { name: 'WorkTaskUpdate', input: { task_id: next.id, plan_version: book.plan.version, status: 'done', verify: true } } : null;
|
|
183
|
+
const preflightFailures = book.steps.filter(step => step.preflight_failure).map(step => {
|
|
184
|
+
const task = book.tasks.find(task => task.id === step.task_id);
|
|
185
|
+
return { task_id: step.task_id, step_id: step.step_id, status: 'not_dispatched', ...step.preflight_failure,
|
|
186
|
+
retry_call: step.preflight_failure.retry_call || { name: 'WorkStepRun', input: { task_id: step.task_id, plan_version: book.plan.version, step_id: step.step_id } },
|
|
187
|
+
...(task?.declared_status === 'blocked' && !task.held_by.length ? { resume_call: { name: 'WorkTaskUpdate', input: { task_id: task.id, plan_version: book.plan.version, status: 'in_progress' } } } : {}),
|
|
188
|
+
next_action: 'Prepare the missing or invalid artifact with a new step or publish the preserved draft; then retry_call under current permissions. If the task is blocked, resume_call only changes its recorded status. The failed check remains uncredited.' };
|
|
189
|
+
});
|
|
190
|
+
return { plan: book.plan, scope: 'recorded_work_execution', asked: 'unjudged', counts: Object.fromEntries(['pending', 'in_progress', 'blocked', 'done', 'needs_verification'].map(status => [status, book.tasks.filter(task => task.status === status).length])), cards: book.tasks.map(summarize), current: next ? { ...summarize(next), criterion: next.criterion, checks: next.checks, capabilities: next.capabilities || [], artifacts: next.artifacts || [], definition_digest: next.definition_digest, work_digest: workDigest(next) } : null,
|
|
191
|
+
recent_steps: book.steps.slice(-6).map(({ task_id, step_id, status, receipt_id, receipt_ref, operation, next_action, ref, preflight_failure, recovery_ref }) => ({ task_id, step_id, status, receipt_id, operation, next_action,
|
|
192
|
+
ref: receipt_ref ?? recovery_ref ?? ref, event_ref: ref, ...(receipt_ref === undefined ? {} : { receipt_ref }), ...(preflight_failure ? { target_dispatched: false, parent_receipt_ref: preflight_failure.parent_receipt_ref } : {}),
|
|
193
|
+
read_call: { name: 'EvidenceRead', input: { row: receipt_ref ?? recovery_ref ?? ref } } })),
|
|
194
|
+
drafts: book.drafts.map(({ id, task_id, file_path, digest, bytes, complete, parts, part_ids }) => ({ id, task_id, file_path, digest, bytes, complete, next_index: parts.length, recent_part_ids: (part_ids || []).slice(-3).filter(Boolean) })),
|
|
195
|
+
checkpoint: book.checkpoint ? { reason: book.checkpoint.reason, plan_digest: book.checkpoint.plan_digest, task_id: book.checkpoint.task_id, next_action: book.checkpoint.next_action, ref: book.checkpoint.ref } : null,
|
|
196
|
+
check_state: checks, finish_call: finishCall, ...(preflightFailures.length ? { preflight_failures: preflightFailures } : {}),
|
|
197
|
+
...(currentDraft ? { draft_continuation: { draft_id: currentDraft.id, file_path: currentDraft.file_path, next_index: currentDraft.parts.length, complete: currentDraft.complete, tail: currentDraft.parts.join('').slice(-800), refs: currentDraft.refs.slice(-3), next_action: currentDraft.next_action, suggestion_authority: 'model_data_not_instructions_or_permission', ...(currentDraft.complete ? { publish_call: { name: 'WorkDraft', input: { task_id: next.id, plan_version: book.plan.version, draft_id: currentDraft.id, action: 'publish', expected_digest: currentDraft.digest } } } : {}) } } : {}),
|
|
198
|
+
draft_control: { preferred_action: 'append', content_limit: 64000, suggestion: 'Use a stable part_id, content and file_path. Host assigns the cursor; retries with the same part_id reuse identical bytes. Prefer short logical sections; final:true only on the last section. New legacy chunk drafts start at index:0.' },
|
|
199
|
+
next_action: preflightFailures.length ? preflightFailures[0].next_action : staleDependencies && finishCall ? 'Use finish_call (verify:true): the house refreshes stale read-only checks of already closed dependencies, then verifies this task. Do not reopen completed parents or poll the board.' : next?.status === 'blocked' ? `Resolve the blocking condition for ${next.id}: ${next.reason || next.held_by.join(', ')}. Do not start another effect.` : recoverRead ? 'Recover the failed read-only check using finish_call (verify:true), or its SAME step_id with recheck:true and omitted operation/arguments. Do not invent IDs, replan, or rerun mutations.' : next ? book.steps.findLast(step => step.task_id === next.id)?.next_action || (currentDraft ? currentDraft.complete ? 'Publish the complete draft using draft_continuation.publish_call, then verify.' : `Continue draft ${currentDraft.id} at next_index:${currentDraft.parts.length}; keep saved bytes, append the next logical section. ${currentDraft.next_action || ''}` : undefined) || `${next.status === 'in_progress' ? 'Continue' : 'Start'} task ${next.id}; implement its criterion, then use finish_call if available to check and close.` : 'No executable open task; inspect blocked cards or report recorded completion.', permissions_from_plan: false };
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export class WorkCoordinator {
|
|
203
|
+
constructor({ store, house, onEvent = () => {} }) { Object.assign(this, { store, house, onEvent }); }
|
|
204
|
+
async notify(sessionId) { await this.onEvent({ type: 'work_board', session_id: sessionId, board: workProjection(await this.store.load(sessionId), this.house.stateContext()) }); }
|
|
205
|
+
async mutate(sessionId, action) { return this.store.workTransaction(sessionId, async () => { const session = await this.store.load(sessionId); if (!session.journalAudit.consistent) throw failure('El libro no tiene una cadena consistente.', 'AUDIT_INVALID'); return action(session, foldWorkBook(session, this.house.stateContext())); }); }
|
|
206
|
+
task(book, input) {
|
|
207
|
+
if (!book.plan || input.plan_version !== book.plan.version) throw failure(`Versión de plan obsoleta: requiere plan_version:${book.plan?.version || 0}. Continúa el borrador/tarea con esa precondición; la versión vigente está en este resultado, no necesitas WorkBoard.`);
|
|
208
|
+
const task = book.tasks.find(task => task.id === input.task_id); if (!task) throw failure('Tarea inexistente.'); return task;
|
|
209
|
+
}
|
|
210
|
+
async fact(options, row) { await options.recordWork({ ...row, source: 'work_host' }); }
|
|
211
|
+
async setPlan(input, options) {
|
|
212
|
+
const result = await this.mutate(options.sessionId, async (session, book) => {
|
|
213
|
+
const expected = book.plan?.version || 0;
|
|
214
|
+
if (expected !== input.expected_version) throw failure(book.plan
|
|
215
|
+
? `Plan cambiado: versión vigente ${expected}; WorkPlanSet requiere expected_version:${expected}. Conserva las tareas abiertas o declara retiros explícitos. El estado ya está en la proyección.`
|
|
216
|
+
: 'No existe plan aceptado. Para crear el primer plan usa WorkPlanSet con expected_version:0 y una tarea pequeña. La versión 1 será el resultado, no la precondición. No necesitas consultar WorkBoard.');
|
|
217
|
+
if (Buffer.byteLength(JSON.stringify(input)) > 64000) throw failure('Plan demasiado grande: usa tareas más pequeñas.');
|
|
218
|
+
const proposed = input.append ? [...book.tasks.map(definitionOf), ...input.tasks] : input.tasks;
|
|
219
|
+
if (proposed.length > 24) throw failure('Máximo 24 tareas por plan, incluidas las conservadas.', 'WORK_PLAN_INPUT');
|
|
220
|
+
const ids = new Set(proposed.map(task => task.id)); if (ids.size !== proposed.length) throw failure('IDs de tareas duplicados; append sólo admite IDs nuevos y conserva las tareas anteriores.', 'WORK_PLAN_INPUT');
|
|
221
|
+
const definitions = proposed.map(task => ({ ...task, depends_on: task.depends_on || [], checks: task.checks || [] }));
|
|
222
|
+
const contractIssues = checkContractIssues(definitions, name => this.house.registry.get(name), { rejectMissing: true });
|
|
223
|
+
if (contractIssues.length) throw failure('Checks inválidos; el plan no se guardó. ' + (book.plan ? 'Para observaciones adicionales de DOM/consola/red NO hace falta reemplazar el plan: usa WorkStepRun con task_id vigente, plan_version:'+book.plan.version+', step_id NUEVO, operation y arguments. ' : '') + JSON.stringify({issues:contractIssues,available_operation_names:(options.catalogue || []).map(item=>item.name).filter(name=>!WORK_NAMES.includes(name)).slice(0,60),next_action:'Use an exact offered operation and its arguments; Read uses file_path. Preserve the requested artifacts and task criterion. No checks executed and no plan saved.'}), 'WORK_CHECK_CONTRACT');
|
|
224
|
+
for (const task of definitions) {
|
|
225
|
+
for (const check of task.checks) validateAssertions(check.assertions);
|
|
226
|
+
if (task.phase === 'verification' && (!task.checks.length || task.checks.some(check => !check.assertions?.length))) throw failure('Una tarea verification requiere aserciones explícitas en cada check.', 'WORK_ASSERTION');
|
|
227
|
+
}
|
|
228
|
+
for (const task of definitions) { if (new Set(task.checks.map(check => check.step_id)).size !== task.checks.length) throw failure('IDs de comprobación duplicados.', 'WORK_PLAN_INPUT'); if (task.checks.some(check => Buffer.byteLength(JSON.stringify(check.arguments)) > 4000)) throw failure('Comprobación demasiado grande; declara una llamada pequeña.', 'WORK_PLAN_INPUT'); if (task.depends_on.some(parent => !ids.has(parent) || parent === task.id)) throw failure(`Dependencia inexistente o circular en ${task.id}: ${JSON.stringify(task.depends_on)}. Una tarea no depende de sí misma; IDs disponibles: ${[...ids].join(', ')}.`, 'WORK_PLAN_INPUT'); }
|
|
229
|
+
const visiting = new Set(), visited = new Set();
|
|
230
|
+
const visit = id => { if (visiting.has(id)) throw failure('Dependencias circulares.', 'WORK_PLAN_INPUT'); if (visited.has(id)) return; visiting.add(id); definitions.find(task => task.id === id).depends_on.forEach(visit); visiting.delete(id); visited.add(id); }; ids.forEach(visit);
|
|
231
|
+
definitions.forEach(task => { task.definition_digest = digest(task); const old = book.tasks.find(old => old.id === task.id); if (old?.definition_digest === task.definition_digest && old.work_digest) task.work_digest = old.work_digest; });
|
|
232
|
+
for (const old of book.tasks.filter(task => task.status !== 'done' && task.phase === 'verification' && task.checks.some(isMcpCheck))) if (!definitions.some(task => task.phase === 'verification' && task.checks.some(check => isMcpCheck(check) && old.checks.some(before => mcpServer(before) === mcpServer(check))))) throw failure('La verificación MCP declarada debe conservar checks MCP; Read/wc no sustituyen la etapa de navegador.', 'WORK_VERIFICATION_REQUIRED');
|
|
233
|
+
for (const old of book.tasks.filter(task => task.status !== 'done')) if (!definitions.some(task => task.id === old.id && task.definition_digest === old.definition_digest) && !(input.retire_ids || []).includes(old.id)) throw failure(`La tarea abierta ${old.id} no puede desaparecer: para corregir sólo checks usa WorkCheckRepair y conserva el borrador; para cambiar el encargo preserva su definición o declara retire_ids y reason.`);
|
|
234
|
+
if (input.retire_ids?.length && !input.reason?.trim()) throw failure('Retirar tareas requiere reason.');
|
|
235
|
+
const planDigest = digest({ objective: input.objective, tasks: definitions });
|
|
236
|
+
if (book.plan?.digest === planDigest) return { version: book.plan.version, plan_digest: planDigest, unchanged: true };
|
|
237
|
+
const next = (book.plan?.version || 0) + 1;
|
|
238
|
+
await this.fact(options, { type: 'work_plan_set', version: next, supersedes: book.plan?.version || null, objective: input.objective, tasks: definitions, plan_digest: planDigest, retired: input.retire_ids || [], reason: input.reason });
|
|
239
|
+
return { version: next, plan_digest: planDigest };
|
|
240
|
+
}); await this.notify(options.sessionId); return JSON.stringify(result);
|
|
241
|
+
}
|
|
242
|
+
async repairChecks(input, options) {
|
|
243
|
+
const result = await this.mutate(options.sessionId, async (_, book) => {
|
|
244
|
+
if (!book.plan || book.plan.version !== input.plan_version) throw failure(`WorkCheckRepair requiere plan_version:${book.plan?.version || 0}; no se cambió nada.`);
|
|
245
|
+
const lookup = name => this.house.registry.get(name), catalogue = [...this.house.registry.snapshot({ surface: 'agent', actor: options.actor })].map(([,op]) => op);
|
|
246
|
+
if (input.literal_types_only && input.repairs) throw failure('literal_types_only no admite reparaciones manuales.');
|
|
247
|
+
const proposed = proposeCheckRepairs(book.tasks, lookup, catalogue).filter(patch => {
|
|
248
|
+
if (!input.literal_types_only) return true;
|
|
249
|
+
const before = book.tasks.find(task => task.id === patch.task_id)?.checks.find(check => check.step_id === patch.step_id);
|
|
250
|
+
return patch.assertions && patch.operation === before?.operation && digest(patch.arguments) === digest(before.arguments);
|
|
251
|
+
});
|
|
252
|
+
const requested = input.repairs || proposed;
|
|
253
|
+
const failedRead = (task, check) => {
|
|
254
|
+
const step = book.steps.find(step => step.task_id === task.id && step.step_id === check.step_id);
|
|
255
|
+
return readOnlyWorkCheck(check.operation, check.arguments) && (step?.status === 'failed' || book.attestations.get(keyOf(task.id, check.step_id))?.passed === false);
|
|
256
|
+
};
|
|
257
|
+
if (!requested.length) {
|
|
258
|
+
const failedReads = book.tasks.filter(task => task.checks.some(check => failedRead(task,check)) || task.declared_status === 'in_progress' && task.checks.some(check => runtimeBoundReadCheck(check.operation,check.arguments))).flatMap(task => task.checks.filter(check => readOnlyWorkCheck(check.operation,check.arguments)).map(check => ({ task_id: task.id, step_id: check.step_id, expected_digest: digest(check), operation: check.operation, arguments: check.arguments, failed: failedRead(task,check) })));
|
|
259
|
+
return { version: book.plan.version, unchanged: true, remaining_issues: checkContractIssues(book.tasks,lookup,{rejectMissing:true}), ...(failedReads.length ? { runtime_checks: failedReads, next_action: 'Read-only runtime failure: retry the SAME check with recheck:true. If the target changed, observe its new ID first, then repair only runtime IDs using expected_digest. Preserve selectors, comparisons and other arguments. All read checks in the affected task are listed so shared target bindings can be repaired together. Assertions, artifacts and task identity remain unchanged; no effects executed.' } : { next_action: 'If an MCP check is unavailable, acquire browser.verify; then retry WorkCheckRepair. Do not rebuild the plan.' }) };
|
|
260
|
+
}
|
|
261
|
+
const tasks = book.tasks.map(task => structuredClone(definitionOf(task))), repairs = [];
|
|
262
|
+
for (const patch of requested) {
|
|
263
|
+
const old = book.tasks.find(task => task.id === patch.task_id), task = tasks.find(task => task.id === patch.task_id), index = task?.checks.findIndex(check => check.step_id === patch.step_id);
|
|
264
|
+
if (!old || index === undefined || index < 0) throw failure('La reparación debe nombrar un check existente.');
|
|
265
|
+
const before = task.checks[index];
|
|
266
|
+
if (digest(before) !== patch.expected_digest) throw failure(`Check cambiado: ${patch.task_id}/${patch.step_id}; expected_digest:${digest(before)}. No se cambió nada.`);
|
|
267
|
+
// Only host-generated proposals can include an assertion type repair;
|
|
268
|
+
// the public manual-repair schema rejects an assertions field.
|
|
269
|
+
const after = { ...before, ...(patch.operation !== undefined ? {operation:patch.operation} : {}), ...(patch.arguments !== undefined ? {arguments:patch.arguments} : {}), ...(patch.assertions !== undefined ? {assertions:patch.assertions} : {}) };
|
|
270
|
+
if (isMcpCheck(before) && (!isMcpCheck(after) || mcpServer(before) !== mcpServer(after)) || !isMcpCheck(before) && lookup(before.operation) && before.operation !== after.operation) throw failure('Reparar un contrato conserva la modalidad de su check; no sustituye MCP por archivos ni cambia una operación válida por otra.', 'WORK_VERIFICATION_REQUIRED');
|
|
271
|
+
const issues = checkContractIssues([{...task,checks:[after]}],lookup,{rejectMissing:true});
|
|
272
|
+
if (issues.length) throw failure('Reparación inválida; no se cambió nada. expected_digest sigue identificando el check vigente; proposed_digest sólo identifica la propuesta rechazada: '+JSON.stringify(issues.map(issue=>({...issue,proposed_digest:issue.expected_digest,expected_digest:digest(before)}))),'WORK_CHECK_CONTRACT');
|
|
273
|
+
validateAssertions(after.assertions);
|
|
274
|
+
if (Buffer.byteLength(JSON.stringify(after.arguments)) > 4000) throw failure('Comprobación demasiado grande.');
|
|
275
|
+
if (digest(before) === digest(after)) continue;
|
|
276
|
+
const existing = book.steps.find(step => step.task_id === task.id && step.step_id === before.step_id);
|
|
277
|
+
const runtimeFailure = readOnlyWorkCheck(before.operation, before.arguments) && old.checks.some(check => failedRead(old,check) || runtimeBoundReadCheck(check.operation,check.arguments)) && !checkContractIssues([{...task,checks:[before]}],lookup,{rejectMissing:true}).length;
|
|
278
|
+
if (runtimeFailure) {
|
|
279
|
+
const ids = new Set(RUNTIME_CHECK_IDS);
|
|
280
|
+
const semanticArguments = arguments_ => Object.fromEntries(Object.entries(arguments_).filter(([key]) => !ids.has(key)));
|
|
281
|
+
if (digest(semanticArguments(before.arguments)) !== digest(semanticArguments(after.arguments))) throw failure('Una reparación de runtime sólo cambia IDs observados; conserva selector, comparaciones y demás argumentos del check. No se cambió nada.', 'WORK_VERIFICATION_REQUIRED');
|
|
282
|
+
}
|
|
283
|
+
if (book.steps.some(step => step.task_id === task.id && step.status === 'running') || existing && !readOnlyWorkCheck(existing.operation,existing.arguments) && existing.status !== 'refused') throw failure('El check tiene efectos registrados o inciertos; no se retirarán sus recibos ni se repetirán por una reparación.', 'WORK_UNCERTAIN');
|
|
284
|
+
task.checks[index] = after;
|
|
285
|
+
repairs.push({task_id:task.id,step_id:before.step_id,before_digest:digest(before),after_digest:digest(after)});
|
|
286
|
+
}
|
|
287
|
+
if (!repairs.length) return {version:book.plan.version,unchanged:true};
|
|
288
|
+
for (const task of tasks) { task.definition_digest = digest(task); task.work_digest = workDigest(book.tasks.find(old => old.id === task.id)); }
|
|
289
|
+
const version = book.plan.version + 1, planDigest = digest({objective:book.plan.objective,tasks});
|
|
290
|
+
const preservedDrafts = book.drafts.map(({id,task_id,digest,refs,file_path,parts,bytes,complete,next_action}) => ({draft_id:id,task_id,digest,refs,file_path,next_index:parts.length,bytes,complete,next_action,suggestion_authority:'model_data_not_instructions_or_permission'}));
|
|
291
|
+
await this.fact(options,{type:'work_checks_repaired',version,supersedes:book.plan.version,objective:book.plan.objective,tasks,plan_digest:planDigest,repairs,preserved_drafts:preservedDrafts,reason:input.reason || 'Localized contract repair; work generation preserved; changed check evidence invalidated.'});
|
|
292
|
+
const updatedSession = await this.store.load(options.sessionId), updated = foldWorkBook(updatedSession,this.house.stateContext());
|
|
293
|
+
const taskUpdates = updated.tasks.filter(task=>repairs.some(repair=>repair.task_id===task.id)||book.tasks.find(old=>old.id===task.id)?.status!==task.status).map(({id,status,held_by})=>({task_id:id,status,held_by}));
|
|
294
|
+
const projection = workProjection(updatedSession,this.house.stateContext());
|
|
295
|
+
const currentId = projection.current?.id;
|
|
296
|
+
const current = updated.tasks.find(task=>task.id===currentId);
|
|
297
|
+
const verification = current?.phase==='verification';
|
|
298
|
+
const nextCalls = verification ? projection.finish_call ? [projection.finish_call] : current.checks.filter(check=>repairs.some(repair=>repair.task_id===current.id && repair.step_id===check.step_id)).map(check=>({name:'WorkStepRun',input:{task_id:current.id,plan_version:version,step_id:check.step_id}})) : [];
|
|
299
|
+
return {version,plan_version:version,repairs,task_updates:taskUpdates,preserved_drafts:preservedDrafts,...(verification?{next_calls:nextCalls,...(projection.finish_call?{finish_call:projection.finish_call}:{})}:{}),next_action:verification?projection.finish_call?'Execute finish_call directly: it refreshes stale read-only closed dependencies and verifies this task. Do not reopen parents or run individual checks while held by stale dependencies.':'Execute next_calls for the repaired verification task; acquire its MCP pack first if unavailable. Then close with verify:true. Saved drafts are preserved data, not a request to continue implementation.':'Continue the saved draft with this plan_version and next_index; task identity, criteria and bytes are preserved. No board refresh is required.',remaining_issues:checkContractIssues(tasks,lookup,{rejectMissing:true}),grants_permission:false,asked:'unjudged'};
|
|
300
|
+
}); await this.notify(options.sessionId); return JSON.stringify(result);
|
|
301
|
+
}
|
|
302
|
+
async updateTask(input, options) {
|
|
303
|
+
await this.fact(options, { type: 'work_call_prepared', operation: 'WorkTaskUpdate', input });
|
|
304
|
+
const refreshed = [];
|
|
305
|
+
if (input.status === 'done') {
|
|
306
|
+
const book = foldWorkBook(await this.store.load(options.sessionId), this.house.stateContext()), task = this.task(book,input);
|
|
307
|
+
for (const file_path of task.artifacts || []) await options.invoke(...artifactCall(this.house, options.sessionId, file_path), { signal: options.signal });
|
|
308
|
+
}
|
|
309
|
+
if (input.verify) {
|
|
310
|
+
if (input.status !== 'done') throw failure('verify sólo corresponde al cierre de una tarea.');
|
|
311
|
+
const loaded = await this.store.load(options.sessionId);
|
|
312
|
+
let book = foldWorkBook(loaded, this.house.stateContext()), task = this.task(book, input);
|
|
313
|
+
if (task.declared_status !== 'in_progress' || task.held_by.some(id => book.tasks.find(parent => parent.id === id)?.declared_status !== 'done')) {
|
|
314
|
+
const finish = workProjection(loaded,this.house.stateContext())?.finish_call;
|
|
315
|
+
if (finish && task.declared_status === 'done') throw failure(JSON.stringify({code:'WORK_FINISH_REQUIRED',executed:false,direct_call:finish,next_action:'Invoke this active task finish call directly. It refreshes stale closed parents without reopening them.'}),'WORK_FINISH_REQUIRED');
|
|
316
|
+
throw failure('Activa una tarea sin dependencias pendientes antes de verificar.');
|
|
317
|
+
}
|
|
318
|
+
const refresh = async taskId => {
|
|
319
|
+
const latest = foldWorkBook(await this.store.load(options.sessionId), this.house.stateContext()), old = this.task(latest, { task_id: taskId, plan_version: input.plan_version });
|
|
320
|
+
if (old.status !== 'needs_verification' || old.declared_status !== 'done' || !old.checks.length || !old.checks.every(check => readOnlyWorkCheck(check.operation, check.arguments))) return;
|
|
321
|
+
for (const parent of old.depends_on) await refresh(parent);
|
|
322
|
+
try {
|
|
323
|
+
for (const check of old.checks) await this.runStep({ task_id: old.id, plan_version: input.plan_version, step_id: check.step_id, recheck: true }, { ...options, refreshCompleted: true });
|
|
324
|
+
await this.updateTask({ task_id: old.id, plan_version: input.plan_version, status: 'done', reason: 'Checks de lectura renovados por la casa tras cambiar la superficie; sin reabrir trabajo.' }, options);
|
|
325
|
+
refreshed.push(old.id);
|
|
326
|
+
} catch (error) { throw failure(`El check de la tarea cerrada ${old.id} perdió vigencia: ${error.message}. Repara la superficie antes de cerrar ${input.task_id}.`, error.code || 'WORK_UNVERIFIED'); }
|
|
327
|
+
};
|
|
328
|
+
for (const old of book.tasks.filter(old => old.id !== task.id && old.declared_status === 'done')) await refresh(old.id);
|
|
329
|
+
book = foldWorkBook(await this.store.load(options.sessionId), this.house.stateContext()); task = this.task(book, input);
|
|
330
|
+
if (task.status !== 'in_progress' || task.held_by.length) throw failure('Activa una tarea sin dependencias pendientes antes de verificar.');
|
|
331
|
+
for (const check of task.checks) {
|
|
332
|
+
const step = book.steps.find(step => step.task_id === task.id && step.step_id === check.step_id);
|
|
333
|
+
const receipt = book.receipts.get(step?.receipt_id);
|
|
334
|
+
const staleDependency = receipt && task.depends_on.some(parent => receipt.evidence_row <= book.tasks.find(row => row.id === parent).ref);
|
|
335
|
+
if (book.checkValid(task, check, step) && !staleDependency) continue;
|
|
336
|
+
if (!readOnlyWorkCheck(check.operation, check.arguments)) throw failure(`Check ${check.step_id} requiere WorkStepRun explícito; verify no repite efectos opacos.`, 'WORK_UNCERTAIN');
|
|
337
|
+
await this.runStep({ task_id: task.id, plan_version: input.plan_version, step_id: check.step_id, recheck: true }, options);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
const result = await this.mutate(options.sessionId, async (_, book) => {
|
|
341
|
+
const task = this.task(book, input); let receiptIds = []; const dependencyProofs = {};
|
|
342
|
+
if (input.status === 'in_progress') {
|
|
343
|
+
if (task.status === 'done') throw failure('Una tarea cerrada no se reabre por accidente; declara un nuevo plan para trabajo nuevo.');
|
|
344
|
+
if (task.held_by.length) throw failure('Dependencias sin cerrar.');
|
|
345
|
+
if (book.tasks.some(other => other.id !== task.id && other.declared_status === 'in_progress')) throw failure('Ya hay una tarea activa; termínala o bloquéala antes.');
|
|
346
|
+
}
|
|
347
|
+
if (input.status === 'blocked' && !input.reason?.trim()) throw failure('Un bloqueo requiere reason.');
|
|
348
|
+
if (input.status === 'done') {
|
|
349
|
+
if (task.held_by.length || !task.checks.length) throw failure('Cierre requiere dependencias cerradas y comprobaciones declaradas.', 'WORK_UNVERIFIED');
|
|
350
|
+
for (const check of task.checks) {
|
|
351
|
+
const step = book.steps.find(step => step.task_id === task.id && step.task_digest === workDigest(task) && step.step_id === check.step_id && step.operation === check.operation && step.arguments_digest === digest(check.arguments));
|
|
352
|
+
const receipt = book.receipts.get(step?.receipt_id);
|
|
353
|
+
if (receipt && task.depends_on.some(parent => receipt.evidence_row <= book.tasks.find(row => row.id === parent).ref)) throw failure('La comprobación precede al cierre de una dependencia; usa recheck:true.', 'WORK_UNVERIFIED');
|
|
354
|
+
if (!book.checkValid(task, check, step)) throw failure(`Comprobación ${check.step_id} sin recibo vigente o aserción satisfecha de la casa.`, 'WORK_UNVERIFIED');
|
|
355
|
+
receiptIds.push(receipt.invocation_id);
|
|
356
|
+
}
|
|
357
|
+
const artifacts = new Map();
|
|
358
|
+
const candidates = book.steps.filter(step => step.task_id === task.id && step.status === 'returned').map(step => book.receipts.get(step.receipt_id));
|
|
359
|
+
// A declared check rereads its artifacts before/after execution. Those
|
|
360
|
+
// host-bound current observations supersede older writes/draft publishes;
|
|
361
|
+
// requiring the historical bytes again would reject legitimate corrections.
|
|
362
|
+
for (const check of task.checks) {
|
|
363
|
+
const proof = book.attestations.get(keyOf(task.id, check.step_id));
|
|
364
|
+
for (const receiptId of proof?.artifact_receipts || []) candidates.push(book.receipts.get(receiptId));
|
|
365
|
+
}
|
|
366
|
+
for (const receipt of candidates.filter(Boolean).sort((a, b) => a.evidence_row - b.evidence_row)) for (const observation of receipt.observations || []) if (['file_write', 'file_read'].includes(observation.kind)) artifacts.set(observation.file_path, receipt);
|
|
367
|
+
for (const [file, receipt] of artifacts) { if (!book.receiptValid(receipt)) throw failure(`Un artefacto de la tarea cambió después de su observación: ${file}. Verifica los bytes actuales mediante un check declarado con artifacts o WorkStepRun Read nuevo; no restaures versiones antiguas.`, 'WORK_UNVERIFIED'); receiptIds.push(receipt.invocation_id); }
|
|
368
|
+
receiptIds = [...new Set(receiptIds)];
|
|
369
|
+
for (const parent of task.depends_on) dependencyProofs[parent] = digest(book.tasks.find(row => row.id === parent).receipt_ids);
|
|
370
|
+
if (book.steps.some(step => step.task_id === task.id && ['running', 'interrupted', 'failed'].includes(step.status))) throw failure('Hay un paso con efectos inciertos: inspecciona antes de cerrar.', 'WORK_UNVERIFIED');
|
|
371
|
+
}
|
|
372
|
+
await this.fact(options, { type: 'work_task_changed', task_id: task.id, task_digest: workDigest(task), plan_version: book.plan.version, status: input.status, reason: input.reason, receipt_ids: receiptIds, dependency_proofs: dependencyProofs });
|
|
373
|
+
return { task_id: task.id, status: input.status, receipt_ids: receiptIds, scope: input.status === 'done' && task.checks.every(check=>check.assertions?.length) ? 'declared_assertions_verified' : 'declared_checks_returned', asked: 'unjudged' };
|
|
374
|
+
}); await this.notify(options.sessionId); return JSON.stringify({ ...result, ...(refreshed.length ? { refreshed_tasks: refreshed } : {}) });
|
|
375
|
+
}
|
|
376
|
+
async runStep(input, options) {
|
|
377
|
+
if(!options.draftPublication)await this.fact(options,{type:'work_call_prepared',operation:'WorkStepRun',input});
|
|
378
|
+
if (input.operation === undefined || input.arguments === undefined) {
|
|
379
|
+
const book = foldWorkBook(await this.store.load(options.sessionId), this.house.stateContext()), task = this.task(book, input), check = task.checks.find(check => check.step_id === input.step_id);
|
|
380
|
+
if (!check) throw failure('Un paso nuevo requiere operation y arguments; para checks basta su step_id.');
|
|
381
|
+
input = { ...input, operation: input.operation ?? check.operation, arguments: input.arguments ?? check.arguments };
|
|
382
|
+
}
|
|
383
|
+
if (!options.draftPublication && Buffer.byteLength(JSON.stringify(input.arguments)) > 16000) throw failure('Paso demasiado grande: guarda el script con WorkDraft y ejecuta un paso pequeño.');
|
|
384
|
+
if (WORK_NAMES.includes(input.operation) || ['WorkSnapshot', 'AuditStatus', 'EvidenceRead', 'ToolPack', 'HouseSnapshot', 'OperationCatalog'].includes(input.operation)) {
|
|
385
|
+
const version = foldWorkBook(await this.store.load(options.sessionId)).plan?.version || 0;
|
|
386
|
+
throw failure(JSON.stringify({code:'WORK_CONTROL_DIRECT',executed:false,direct_call:{name:input.operation,input:input.operation==='WorkCheckRepair'?{plan_version:version}:input.arguments},next_action:'Invoke direct_call as a TOP-LEVEL tool call, never inside WorkStepRun. No step was reserved and no effect executed.'}), 'WORK_CONTROL_DIRECT');
|
|
387
|
+
}
|
|
388
|
+
const staged = await this.mutate(options.sessionId, async (session, book) => {
|
|
389
|
+
const task = this.task(book, input);
|
|
390
|
+
const check = task.checks.find(check => check.step_id === input.step_id);
|
|
391
|
+
const refresh = options.refreshCompleted && task.declared_status === 'done' && check && readOnlyWorkCheck(check.operation, check.arguments);
|
|
392
|
+
if ((!refresh && task.status !== 'in_progress') || task.held_by.length) {
|
|
393
|
+
const finish = workProjection(session,this.house.stateContext())?.finish_call;
|
|
394
|
+
if (finish?.input.task_id === task.id) throw failure(JSON.stringify({code:'WORK_FINISH_REQUIRED',executed:false,direct_call:finish,next_action:'Use this TOP-LEVEL finish call; the house refreshes already closed read dependencies before checking this task. No step was reserved.'}),'WORK_FINISH_REQUIRED');
|
|
395
|
+
throw failure('Activa una tarea sin dependencias pendientes antes de ejecutar.');
|
|
396
|
+
}
|
|
397
|
+
if (input.recheck && !check) throw failure('recheck sólo corresponde a una comprobación declarada.');
|
|
398
|
+
if (check && (check.operation !== input.operation || digest(check.arguments) !== digest(input.arguments))) throw failure('La comprobación propuesta no coincide con el plan. No se cambió nada. '+JSON.stringify({expected_check:check,check_call:{name:'WorkStepRun',input:{task_id:task.id,plan_version:book.plan.version,step_id:check.step_id}},observation_hint:'Para una observación distinta usa otro step_id NUEVO con operation y arguments explícitos; adquiere su pack antes. No reemplaces el plan ni reutilices el ID de este check.'}),'WORK_CHECK_MISMATCH');
|
|
399
|
+
const existing = book.steps.find(step => step.task_id === task.id && step.step_id === input.step_id);
|
|
400
|
+
if (existing) {
|
|
401
|
+
if (existing.operation !== input.operation || existing.arguments_digest !== digest(input.arguments)) throw failure('El ID del paso ya nombra otros argumentos. '+JSON.stringify({code:'WORK_STEP_ID_CONFLICT',executed:false,step_id:existing.step_id,operation:existing.operation,arguments_digest:existing.arguments_digest,status:existing.status,receipt_id:existing.receipt_id,read_call:{name:'EvidenceRead',input:{row:existing.receipt_ref ?? existing.ref}},next_action:'Read the original record with read_call; do not repeat a completed effect. Only genuinely new work uses a new step_id.'}), 'WORK_STEP_ID_CONFLICT');
|
|
402
|
+
if (existing.status === 'returned' && !input.recheck) { const receipt = book.receipts.get(existing.receipt_id); if (check ? !book.checkValid(task, check, existing) : !book.receiptValid(receipt)) throw failure('El efecto registrado perdió vigencia o su aserción falló; usa recheck para un check, sin repetir mutaciones.', 'WORK_UNVERIFIED'); return { reuse: receipt }; }
|
|
403
|
+
const retryFailedRead = input.recheck && check && existing.status === 'failed' && book.receipts.has(existing.receipt_id) && readOnlyWorkCheck(check.operation, check.arguments);
|
|
404
|
+
if (existing.status !== 'refused' && !(input.recheck && check && existing.status === 'returned') && !retryFailedRead) throw failure('El paso quedó interrumpido o falló con posibles efectos; inspecciona y registra otro paso antes de repetir. Un check de lectura con recibo failed se recupera con el mismo step_id y recheck:true.', 'WORK_UNCERTAIN');
|
|
405
|
+
}
|
|
406
|
+
if (book.steps.some(step => step.task_id === task.id && (['running', 'interrupted'].includes(step.status) || step.status === 'failed' && !readOnlyWorkCheck(step.operation, step.arguments)))) throw failure('La tarea tiene un paso sin cierre o con efectos inciertos; no se iniciará otro efecto.', 'WORK_UNCERTAIN');
|
|
407
|
+
const offered=options.catalogue?.find(op=>op.name===input.operation), operation=this.house.registry.get(input.operation);
|
|
408
|
+
if(offered && operation?.digest===offered.contract_digest) {
|
|
409
|
+
try{operation.validate(input.arguments);}catch(cause){throw failure(cause.message+' Entrada rechazada ANTES de reservar un nuevo intento o iniciar efectos. Corrige los tipos/argumentos y reintenta el MISMO step_id; no hace falta otro plan.','WORK_STEP_INPUT_SCHEMA');}
|
|
410
|
+
}
|
|
411
|
+
const attemptId = randomUUID(), stamp = { task_id: task.id, task_digest: workDigest(task), plan_version: book.plan.version, step_id: input.step_id, attempt_id: attemptId };
|
|
412
|
+
await this.fact(options, { type: 'work_step_started', ...stamp, operation: input.operation, arguments: input.arguments, arguments_digest: digest(input.arguments), next_action: input.next_action || `Check task ${task.id} and continue its remaining checks.` });
|
|
413
|
+
return { stamp, check, artifacts: task.artifacts || [] };
|
|
414
|
+
});
|
|
415
|
+
if (staged.reuse) return JSON.stringify({ reused: true, receipt_id: staged.reuse.invocation_id, output: staged.reuse.output, no_reexecution: true });
|
|
416
|
+
const artifactReceipts = [], initialHashes = new Map();
|
|
417
|
+
const inspectArtifacts = async (after = false) => {
|
|
418
|
+
for (const file of staged.artifacts) {
|
|
419
|
+
const callId = randomUUID();
|
|
420
|
+
await options.invoke(...artifactCall(this.house, options.sessionId, file), { signal: options.signal, callId });
|
|
421
|
+
const loaded = await this.store.load(options.sessionId), receipt = loaded.rows.findLast(row => row.type === 'house_receipt' && row.call_id === callId && row.status === 'returned');
|
|
422
|
+
const fact = receipt?.observations.find(fact => fact.kind === 'file_read');
|
|
423
|
+
if (!fact) throw failure('El artefacto no tiene observación nativa de lectura.', 'WORK_UNVERIFIED');
|
|
424
|
+
artifactReceipts.push(receipt.invocation_id);
|
|
425
|
+
if (!after) initialHashes.set(file, fact.sha256);
|
|
426
|
+
else if (initialHashes.get(file) !== fact.sha256) throw failure('El artefacto cambió durante la verificación.', 'WORK_STALE');
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
let receiptId, dispatching = false;
|
|
430
|
+
try {
|
|
431
|
+
if (staged.check) {
|
|
432
|
+
await this.fact(options, { type: 'work_step_preflight', ...staged.stamp });
|
|
433
|
+
await inspectArtifacts();
|
|
434
|
+
}
|
|
435
|
+
const beforeEffect = () => this.mutate(options.sessionId, async (_, book) => {
|
|
436
|
+
const task = book.tasks.find(task => task.id === input.task_id);
|
|
437
|
+
const ready = options.refreshCompleted ? task?.declared_status === 'done' : task?.status === 'in_progress';
|
|
438
|
+
if (book.plan?.version !== staged.stamp.plan_version || workDigest(task) !== staged.stamp.task_digest || !ready || task.held_by.length) throw failure('El plan o la tarea cambió durante el juicio; no se ejecutará el paso.', 'WORK_STALE');
|
|
439
|
+
});
|
|
440
|
+
await this.fact(options, { type: 'work_step_dispatching', ...staged.stamp, operation: input.operation, arguments_digest: digest(input.arguments) });
|
|
441
|
+
dispatching = true;
|
|
442
|
+
const output = await options.invoke(input.operation, input.arguments, { signal: options.signal, work: staged.stamp, beforeEffect });
|
|
443
|
+
const book = foldWorkBook(await this.store.load(options.sessionId)), step = book.steps.find(step => step.attempt_id === staged.stamp.attempt_id);
|
|
444
|
+
receiptId = step?.receipt_id;
|
|
445
|
+
if (staged.check && (staged.check.assertions?.length || staged.artifacts.length)) {
|
|
446
|
+
await inspectArtifacts(true); assertOutput(output, staged.check.assertions);
|
|
447
|
+
await this.fact(options, { type: 'work_check_verified', ...staged.stamp, receipt_id: receiptId, assertions_digest: digest(staged.check.assertions || []), passed: true, artifact_receipts: artifactReceipts, artifact_count: staged.artifacts.length });
|
|
448
|
+
}
|
|
449
|
+
return JSON.stringify({ output, receipt_id: step?.receipt_id, task_id: input.task_id, step_id: input.step_id, next_action: input.next_action });
|
|
450
|
+
} catch (error) {
|
|
451
|
+
if (!dispatching && staged.check) await this.fact(options, { type: 'work_step_not_dispatched', ...staged.stamp, code: error.code || 'WORK_PREFLIGHT_FAILED', error: error.message });
|
|
452
|
+
if (staged.check && (staged.check.assertions?.length || staged.artifacts.length)) await this.fact(options, { type: 'work_check_verified', ...staged.stamp, receipt_id: receiptId, assertions_digest: digest(staged.check.assertions || []), passed: false, error: error.message.slice(0,700), artifact_receipts: artifactReceipts, artifact_count: staged.artifacts.length });
|
|
453
|
+
throw error;
|
|
454
|
+
} finally { await this.notify(options.sessionId); }
|
|
455
|
+
}
|
|
456
|
+
async draft(input, options) {
|
|
457
|
+
await this.fact(options,{type:'work_call_prepared',operation:'WorkDraft',input});
|
|
458
|
+
if (input.action === 'read' || input.action === 'publish') {
|
|
459
|
+
const book = foldWorkBook(await this.store.load(options.sessionId)), task = this.task(book, input), draft = book.drafts.find(draft => draft.task_id === task.id && draft.id === input.draft_id);
|
|
460
|
+
if (!draft) throw failure('Borrador inexistente.');
|
|
461
|
+
if (input.action === 'read') { const content = draft.parts.join(''), offset = input.offset || 0, limit = input.limit || 4000; return JSON.stringify({ draft_id: draft.id, digest: draft.digest, complete: draft.complete, content: content.slice(offset, offset + limit), ...(offset + limit < content.length ? { next_offset: offset + limit } : {}), bytes: draft.bytes }); }
|
|
462
|
+
if (!draft.complete || input.expected_digest !== undefined && input.expected_digest !== draft.digest) throw failure('No se publica un borrador incompleto o con digest obsoleto.');
|
|
463
|
+
return this.runStep({ ...input, step_id: `publish:${draft.id}:${draft.digest.slice(0, 12)}`, operation: 'Write', arguments: { file_path: draft.file_path, content: draft.parts.join('') }, next_action: input.next_action || 'Run the declared checks on the published artifact.' }, { ...options, draftPublication: true });
|
|
464
|
+
}
|
|
465
|
+
const result = await this.mutate(options.sessionId, async (_, book) => {
|
|
466
|
+
const task = this.task(book, input); if (task.status === 'done') throw failure('La tarea ya está cerrada.');
|
|
467
|
+
if (input.content === undefined || !input.file_path || input.action === 'chunk' && input.index === undefined || input.action === 'append' && !input.part_id) throw failure('append requiere part_id, content y file_path; chunk requiere index, content y file_path.');
|
|
468
|
+
if (book.drafts.filter(draft => draft.task_id === task.id).length >= 32 && !book.drafts.some(draft => draft.task_id === task.id && draft.id === input.draft_id)) throw failure('Máximo 32 borradores por tarea; divide el trabajo.');
|
|
469
|
+
const draft = book.drafts.find(draft => draft.task_id === task.id && draft.id === input.draft_id), parts = draft?.parts || [];
|
|
470
|
+
if (draft && draft.file_path !== input.file_path) throw failure('El borrador ya tiene otra ruta.');
|
|
471
|
+
const savedIndex = input.action === 'append' ? draft?.part_ids?.indexOf(input.part_id) ?? -1 : -1;
|
|
472
|
+
const index = input.action === 'append' ? savedIndex >= 0 ? savedIndex : parts.length : input.index;
|
|
473
|
+
if (index < parts.length) { if (parts[index] !== input.content || Boolean(input.final) !== Boolean(draft.complete && index === parts.length - 1)) throw failure('Parte ya guardada con otros bytes o frontera final.'); return { draft_id: input.draft_id, digest: draft.digest, next_index: parts.length, complete: draft.complete, ...(input.action === 'append' ? { part_id: input.part_id } : {}), reused: true }; }
|
|
474
|
+
if (index !== parts.length || draft?.complete) throw failure(`Índice de parte fuera de orden o borrador completo. WorkDraft ${input.draft_id}: next_index:${parts.length}, complete:${Boolean(draft?.complete)}. Un borrador nuevo empieza en index:0; usa append con part_id estable para que la casa asigne el índice. No regeneres los bytes por un error de índice.`);
|
|
475
|
+
const content = [...parts, input.content].join(''); if (Buffer.byteLength(content) > 1024 * 1024) throw failure('Borrador mayor a 1 MiB.');
|
|
476
|
+
await this.fact(options, { type: 'work_draft_chunk', task_id: task.id, task_digest: workDigest(task), plan_version: book.plan.version, draft_id: input.draft_id, file_path: input.file_path, index, ...(input.action === 'append' ? { part_id: input.part_id } : {}), content: input.content, final: Boolean(input.final), next_action: input.next_action, next_action_source: 'model_suggestion_not_authority' });
|
|
477
|
+
return { draft_id: input.draft_id, digest: digest(content), next_index: parts.length + 1, bytes: Buffer.byteLength(content), complete: Boolean(input.final), ...(input.action === 'append' ? { part_id: input.part_id } : {}), next_action: input.next_action, next_action_source: 'model_suggestion_not_authority' };
|
|
478
|
+
}); await this.notify(options.sessionId); return JSON.stringify(result);
|
|
479
|
+
}
|
|
480
|
+
operations() {
|
|
481
|
+
const task = { task_id: id, plan_version: version };
|
|
482
|
+
return [
|
|
483
|
+
{ name: 'WorkPlanSet', description: 'Plan small tasks before effects; each needs id/title/criterion/checks. Up to 32 artifact files. Checks use exact tools, e.g. Read:{file_path:"file"}. Verification needs assertions. append:true adds tasks without resending old ones; no permission grant.', input_schema: schema({ objective: str(2200), expected_version: version, append: { type: 'boolean' }, tasks: { type: 'array', minItems: 1, maxItems: 24, items: schema({ id, title: str(300), criterion: str(1000), phase: { type: 'string', enum: ['discovery','implementation','verification'] }, capabilities: { type: 'array', maxItems: 4, uniqueItems: true, items: str(100) }, artifacts: { type: 'array', maxItems: 32, uniqueItems: true, items: str(1024) }, depends_on: { type: 'array', maxItems: 24, items: id }, checks: { type: 'array', maxItems: 4, items: schema({ step_id: id, operation: { ...str(128), description: 'Exact callable tool name from the catalogue, never an instruction or test description.' }, arguments: args, assertions: { type: 'array', minItems: 1, maxItems: 4, items: assertionSchema } }, ['step_id', 'operation', 'arguments']) } }, ['id', 'title', 'criterion', 'checks']) }, retire_ids: { type: 'array', maxItems: 24, items: id }, reason: str(1000) }, ['objective', 'expected_version', 'tasks']), run: (input, options) => this.setPlan(input, options) },
|
|
484
|
+
{ name: 'WorkCheckRepair', description: 'Repair check contracts locally without replacing tasks, retiring drafts or replaying effects. Supply current plan_version only for deterministic suggestions (Read/Grep keys, integer types, unique canonical MCP names). Optional repairs use exact check digests. Assertions/criteria/artifacts stay unchanged. Missing MCP: acquire browser.verify then retry. No permission grant.', input_schema: schema({ plan_version: version, literal_types_only: { type: 'boolean' }, repairs: { type: 'array', minItems: 1, maxItems: 8, items: schema({task_id:id,step_id:id,expected_digest:{type:'string',pattern:'^[a-f0-9]{64}$'},operation:str(128),arguments:args},['task_id','step_id','expected_digest']) }, reason:str(1000) }, ['plan_version']), run: (input,options) => this.repairChecks(input,options) },
|
|
485
|
+
{ name: 'WorkTaskUpdate', description: 'Start/block/close a task. done with verify:true runs missing/stale read-only checks from the plan through the judge, then closes. No model roundtrip per check. Opaque/mutating checks require explicit WorkStepRun. Records declared checks, not semantic objective proof.', input_schema: schema({ ...task, status: { type: 'string', enum: ['in_progress', 'blocked', 'done'] }, verify: { type: 'boolean' }, reason: str(1000) }, ['task_id', 'plan_version', 'status']), run: (input, options) => this.updateTask(input, options) },
|
|
486
|
+
{ name: 'WorkStepRun', description: 'Call WorkCheckRepair, ToolPack and WorkTaskUpdate DIRECTLY, never nested here. Run a declared check OR additional work/observations through the judge. Declared check: existing step_id, omit operation/arguments. Additional observation (DOM, console, network, discovery) or implementation: NEW unique step_id plus exact operation and arguments; NO plan edit or check repair is needed. Extra steps do not change assertions. Do not rename existing checks. Retry failed read-only checks with SAME step_id and recheck:true; never repeat uncertain mutations. Completed steps reuse receipts.', input_schema: schema({ ...task, step_id: id, operation: str(128), arguments: args, next_action: str(1000), recheck: { type: 'boolean' } }, ['task_id', 'plan_version', 'step_id']), run: (input, options) => this.runStep(input, options) },
|
|
487
|
+
{ name: 'WorkDraft', description: 'Durable scripts in ANY language. Prefer append with a stable part_id: host assigns cursor and deduplicates identical retries. Send short logical sections; up to 64000 chars per complete call. final:true marks last section; publish independently judges Write on the immutable final draft. Legacy chunk uses zero-based index (first:0). Archived chunks are never executed.', input_schema: schema({ ...task, draft_id: id, action: { type: 'string', enum: ['append', 'chunk', 'read', 'publish'] }, file_path: str(1024), part_id: id, index: { type: 'integer', minimum: 0, description: 'Legacy chunk cursor: first index is 0, then use returned next_index.' }, content: { type: 'string', maxLength: 64000 }, final: { type: 'boolean' }, expected_digest: { type: 'string', pattern: '^[a-f0-9]{64}$' }, offset: { type: 'integer', minimum: 0 }, limit: { type: 'integer', minimum: 1, maximum: 8000 }, next_action: str(1000) }, ['task_id', 'plan_version', 'draft_id', 'action']), run: (input, options) => this.draft(input, options) },
|
|
488
|
+
{ name: 'WorkBoard', description: 'Read a missing board/check definition and exact repair_call. Conversation carries normal progress; query only when information is missing, without polling. task_id retrieves exact definitions/checks and small step references for ONE task.', input_schema: schema({ task_id: id }, []), run: async (input, { sessionId }) => { const session = await this.store.load(sessionId), book = foldWorkBook(session, this.house.stateContext()); const projected = workProjection(session, this.house.stateContext()), issues = checkContractIssues(book.tasks,name=>this.house.registry.get(name),{rejectMissing:true}); return JSON.stringify({ ...(issues.length ? {check_contract_issues:{issues,repair_call:{name:'WorkCheckRepair',input:{plan_version:book.plan.version}}}} : {}), plan_control: planControl(projected), ...(projected || { plan: null, cards: [], counts: { done: 0, pending: 0, in_progress: 0, blocked: 0, needs_verification: 0 }, current: null, drafts: [], next_action: 'Declare a plan with WorkPlanSet before multi-step work.' }), ...(input.task_id ? { tasks: book.tasks.filter(task => task.id === input.task_id), steps: book.steps.filter(step => step.task_id === input.task_id).map(({ step_id, operation, status, receipt_id, receipt_ref, next_action }) => ({ step_id, operation, status, receipt_id, receipt_ref, next_action })) } : {}) }); } },
|
|
489
|
+
].map(definition => ({ ...definition, input_schema: definition.name === 'WorkDraft' ? { ...definition.input_schema, allOf: [{ if: { properties: { action: { const: 'chunk' } } }, then: { required: ['file_path', 'index', 'content'] } }, { if: { properties: { action: { const: 'append' } } }, then: { required: ['file_path', 'part_id', 'content'], not: { required: ['index'] } } }] } : definition.input_schema, native: true, effects: ['WorkStepRun', 'WorkDraft', 'WorkTaskUpdate'].includes(definition.name) ? { workspace: 'unknown', external: 'unknown', process: 'unknown', authority: 'none' } : { workspace: 'none', external: 'none', process: 'none', authority: 'none' } }));
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
export function registerWorkOperations({ store, house, onEvent, artifactObservation }) {
|
|
494
|
+
if (artifactObservation) {
|
|
495
|
+
const { sessionId, operation } = artifactObservation;
|
|
496
|
+
if (typeof sessionId !== 'string' || !['Read', 'FileInfo'].includes(operation)) throw failure('Invalid host artifact observer.');
|
|
497
|
+
if (!artifactObservers.has(house)) artifactObservers.set(house, new Map());
|
|
498
|
+
artifactObservers.get(house).set(sessionId, operation);
|
|
499
|
+
}
|
|
500
|
+
const coordinator = new WorkCoordinator({ store, house, onEvent });
|
|
501
|
+
for (const definition of coordinator.operations()) if (!house.registry.get(definition.name)) house.registry.add(definition);
|
|
502
|
+
return coordinator;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
export async function checkpointWork(store, sessionId, reason) {
|
|
506
|
+
const session = await store.load(sessionId), state = workProjection(session); if (!state) return null;
|
|
507
|
+
const event = { type: 'work_checkpoint', source: 'work_host', house: session.cwd, session_id: sessionId, actor: { id: 'house-runtime', kind: 'agent' }, reason, plan_digest: state.plan.digest, plan_version: state.plan.version, task_id: state.current?.id || null, next_action: state.next_action, unfinished: state.cards.filter(task => task.status !== 'done').map(task => task.id), draft_refs: state.drafts };
|
|
508
|
+
await store.append(sessionId, event); return event;
|
|
509
|
+
}
|