bantou 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +13 -0
- package/.output/public/_nuxt/BmGsA4i2.js +1 -0
- package/.output/public/_nuxt/D_G6gzEa.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/1a8fc623-6671-445b-bdd3-c3d073520a3a.json +1 -0
- package/.output/public/_nuxt/entry.CZSvzYhH.css +1 -0
- package/.output/public/_nuxt/error-404.C3wqHTJz.css +1 -0
- package/.output/public/_nuxt/error-500.D6rBzoDj.css +1 -0
- package/.output/public/_nuxt/pdFQkwM_.js +4 -0
- package/.output/server/chunks/_/error-500.mjs +20 -0
- package/.output/server/chunks/_/error-500.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +5870 -0
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
- package/.output/server/chunks/routes/mcp.mjs +22 -0
- package/.output/server/chunks/routes/mcp.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +462 -0
- package/.output/server/chunks/routes/renderer.mjs.map +1 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/.output/server/chunks/virtual/precomputed.mjs +4 -0
- package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
- package/.output/server/index.mjs +18 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14657 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +64 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +16 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +32 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +246 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/package.json +1 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +41 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +429 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +971 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js +58 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +961 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +228 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +51 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1137 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +92 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js +239 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +2065 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +87 -0
- package/.output/server/node_modules/@modelcontextprotocol/sdk/package.json +165 -0
- package/.output/server/node_modules/@parcel/watcher-wasm/index.mjs +349 -0
- package/.output/server/node_modules/@parcel/watcher-wasm/package.json +44 -0
- package/.output/server/node_modules/@parcel/watcher-wasm/watcher.wasm +0 -0
- package/.output/server/node_modules/@parcel/watcher-wasm/wrapper.js +88 -0
- package/.output/server/node_modules/@unagents/messenger-broker/dist/index.mjs +12 -0
- package/.output/server/node_modules/@unagents/messenger-broker/dist/shared/messenger-broker.B8W77sqB.mjs +1177 -0
- package/.output/server/node_modules/@unagents/messenger-broker/package.json +37 -0
- package/.output/server/node_modules/@unagents/messenger-client/dist/index.mjs +9 -0
- package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CfQVmH_Z.mjs +975 -0
- package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CoDKzubj.mjs +1000 -0
- package/.output/server/node_modules/@unagents/messenger-client/package.json +37 -0
- package/.output/server/node_modules/@unagents/messenger-protocol/dist/index.mjs +103 -0
- package/.output/server/node_modules/@unagents/messenger-protocol/package.json +29 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6802 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +729 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1933 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +7085 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1917 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +951 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +655 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
- package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
- package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
- package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
- package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
- package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/.output/server/node_modules/ajv/dist/core.js +618 -0
- package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/.output/server/node_modules/ajv/package.json +126 -0
- package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
- package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
- package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
- package/.output/server/node_modules/ajv-formats/package.json +74 -0
- package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/.output/server/node_modules/consola/dist/core.mjs +512 -0
- package/.output/server/node_modules/consola/dist/index.mjs +651 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/.output/server/node_modules/consola/dist/utils.mjs +54 -0
- package/.output/server/node_modules/consola/package.json +136 -0
- package/.output/server/node_modules/content-type/index.js +225 -0
- package/.output/server/node_modules/content-type/package.json +42 -0
- package/.output/server/node_modules/cookie-es/dist/index.mjs +268 -0
- package/.output/server/node_modules/cookie-es/package.json +46 -0
- package/.output/server/node_modules/crossws/dist/_chunks/_request.mjs +83 -0
- package/.output/server/node_modules/crossws/dist/_chunks/adapter.mjs +234 -0
- package/.output/server/node_modules/crossws/dist/_chunks/error.mjs +7 -0
- package/.output/server/node_modules/crossws/dist/_chunks/libs/ws.mjs +6 -0
- package/.output/server/node_modules/crossws/dist/_chunks/node.mjs +220 -0
- package/.output/server/node_modules/crossws/dist/_chunks/peer.mjs +208 -0
- package/.output/server/node_modules/crossws/dist/adapters/node.mjs +1 -0
- package/.output/server/node_modules/crossws/package.json +115 -0
- package/.output/server/node_modules/defu/dist/defu.mjs +69 -0
- package/.output/server/node_modules/defu/package.json +48 -0
- package/.output/server/node_modules/destr/dist/index.mjs +72 -0
- package/.output/server/node_modules/destr/package.json +47 -0
- package/.output/server/node_modules/devalue/index.js +17 -0
- package/.output/server/node_modules/devalue/package.json +39 -0
- package/.output/server/node_modules/devalue/src/base64.js +60 -0
- package/.output/server/node_modules/devalue/src/constants.js +12 -0
- package/.output/server/node_modules/devalue/src/operations.js +221 -0
- package/.output/server/node_modules/devalue/src/parse.js +279 -0
- package/.output/server/node_modules/devalue/src/stringify.js +433 -0
- package/.output/server/node_modules/devalue/src/uneval.js +698 -0
- package/.output/server/node_modules/devalue/src/utils.js +190 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +120 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
- package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
- package/.output/server/node_modules/fast-uri/index.js +711 -0
- package/.output/server/node_modules/fast-uri/lib/schemes.js +272 -0
- package/.output/server/node_modules/fast-uri/lib/utils.js +799 -0
- package/.output/server/node_modules/fast-uri/package.json +68 -0
- package/.output/server/node_modules/get-port-please/dist/index.mjs +430 -0
- package/.output/server/node_modules/get-port-please/package.json +39 -0
- package/.output/server/node_modules/h3/dist/index.mjs +2498 -0
- package/.output/server/node_modules/h3/package.json +75 -0
- package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
- package/.output/server/node_modules/hookable/package.json +54 -0
- package/.output/server/node_modules/http-shutdown/index.js +85 -0
- package/.output/server/node_modules/http-shutdown/package.json +32 -0
- package/.output/server/node_modules/iron-webcrypto/dist/index.js +298 -0
- package/.output/server/node_modules/iron-webcrypto/package.json +72 -0
- package/.output/server/node_modules/is-extglob/index.js +20 -0
- package/.output/server/node_modules/is-extglob/package.json +69 -0
- package/.output/server/node_modules/is-glob/index.js +150 -0
- package/.output/server/node_modules/is-glob/package.json +81 -0
- package/.output/server/node_modules/jiti/dist/jiti.cjs +1 -0
- package/.output/server/node_modules/jiti/lib/jiti.mjs +29 -0
- package/.output/server/node_modules/jiti/package.json +146 -0
- package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
- package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
- package/.output/server/node_modules/listhen/dist/chunks/xdg-open.mjs +1069 -0
- package/.output/server/node_modules/listhen/dist/index.mjs +19 -0
- package/.output/server/node_modules/listhen/dist/shared/listhen.tqe5I1Rl.mjs +1040 -0
- package/.output/server/node_modules/listhen/package.json +84 -0
- package/.output/server/node_modules/napi-wasm/index.mjs +1371 -0
- package/.output/server/node_modules/napi-wasm/package.json +33 -0
- package/.output/server/node_modules/node-forge/lib/aes.js +1091 -0
- package/.output/server/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
- package/.output/server/node_modules/node-forge/lib/asn1-validator.js +91 -0
- package/.output/server/node_modules/node-forge/lib/asn1.js +1522 -0
- package/.output/server/node_modules/node-forge/lib/baseN.js +186 -0
- package/.output/server/node_modules/node-forge/lib/cipher.js +230 -0
- package/.output/server/node_modules/node-forge/lib/cipherModes.js +1027 -0
- package/.output/server/node_modules/node-forge/lib/des.js +496 -0
- package/.output/server/node_modules/node-forge/lib/ed25519.js +1091 -0
- package/.output/server/node_modules/node-forge/lib/forge.js +13 -0
- package/.output/server/node_modules/node-forge/lib/hmac.js +146 -0
- package/.output/server/node_modules/node-forge/lib/index.js +33 -0
- package/.output/server/node_modules/node-forge/lib/jsbn.js +1294 -0
- package/.output/server/node_modules/node-forge/lib/kem.js +168 -0
- package/.output/server/node_modules/node-forge/lib/log.js +319 -0
- package/.output/server/node_modules/node-forge/lib/md.all.js +13 -0
- package/.output/server/node_modules/node-forge/lib/md.js +11 -0
- package/.output/server/node_modules/node-forge/lib/md5.js +289 -0
- package/.output/server/node_modules/node-forge/lib/mgf.js +12 -0
- package/.output/server/node_modules/node-forge/lib/mgf1.js +57 -0
- package/.output/server/node_modules/node-forge/lib/oids.js +180 -0
- package/.output/server/node_modules/node-forge/lib/pbe.js +1029 -0
- package/.output/server/node_modules/node-forge/lib/pbkdf2.js +211 -0
- package/.output/server/node_modules/node-forge/lib/pem.js +413 -0
- package/.output/server/node_modules/node-forge/lib/pkcs1.js +276 -0
- package/.output/server/node_modules/node-forge/lib/pkcs12.js +1081 -0
- package/.output/server/node_modules/node-forge/lib/pkcs7.js +1260 -0
- package/.output/server/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
- package/.output/server/node_modules/node-forge/lib/pki.js +102 -0
- package/.output/server/node_modules/node-forge/lib/prime.js +297 -0
- package/.output/server/node_modules/node-forge/lib/prng.js +419 -0
- package/.output/server/node_modules/node-forge/lib/pss.js +241 -0
- package/.output/server/node_modules/node-forge/lib/random.js +191 -0
- package/.output/server/node_modules/node-forge/lib/rc2.js +410 -0
- package/.output/server/node_modules/node-forge/lib/rsa.js +2014 -0
- package/.output/server/node_modules/node-forge/lib/sha1.js +319 -0
- package/.output/server/node_modules/node-forge/lib/sha256.js +327 -0
- package/.output/server/node_modules/node-forge/lib/sha512.js +561 -0
- package/.output/server/node_modules/node-forge/lib/ssh.js +236 -0
- package/.output/server/node_modules/node-forge/lib/tls.js +4334 -0
- package/.output/server/node_modules/node-forge/lib/util.js +2652 -0
- package/.output/server/node_modules/node-forge/lib/x509.js +3257 -0
- package/.output/server/node_modules/node-forge/package.json +123 -0
- package/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs +1 -0
- package/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs +1 -0
- package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -0
- package/.output/server/node_modules/node-mock-http/package.json +63 -0
- package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
- package/.output/server/node_modules/nostics/dist/index.mjs +194 -0
- package/.output/server/node_modules/nostics/package.json +126 -0
- package/.output/server/node_modules/pathe/dist/index.mjs +19 -0
- package/.output/server/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +249 -0
- package/.output/server/node_modules/pathe/package.json +61 -0
- package/.output/server/node_modules/picomatch/index.js +17 -0
- package/.output/server/node_modules/picomatch/lib/constants.js +184 -0
- package/.output/server/node_modules/picomatch/lib/parse.js +1425 -0
- package/.output/server/node_modules/picomatch/lib/picomatch.js +361 -0
- package/.output/server/node_modules/picomatch/lib/scan.js +403 -0
- package/.output/server/node_modules/picomatch/lib/utils.js +72 -0
- package/.output/server/node_modules/picomatch/package.json +83 -0
- package/.output/server/node_modules/radix3/dist/index.mjs +262 -0
- package/.output/server/node_modules/radix3/package.json +52 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +141 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +446 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +420 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/std-env/dist/index.mjs +1 -0
- package/.output/server/node_modules/std-env/package.json +43 -0
- package/.output/server/node_modules/tinyclip/dist/index.js +143 -0
- package/.output/server/node_modules/tinyclip/package.json +48 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
- package/.output/server/node_modules/ufo/package.json +48 -0
- package/.output/server/node_modules/uncrypto/dist/crypto.node.mjs +16 -0
- package/.output/server/node_modules/uncrypto/package.json +60 -0
- package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
- package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
- package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
- package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +782 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs +49 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs +11 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs +19 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs +240 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs +224 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs +400 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs +264 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs +48 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs +208 -0
- package/.output/server/node_modules/unhead/dist/stream/client.mjs +33 -0
- package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
- package/.output/server/node_modules/unhead/dist/stream/server.mjs +446 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
- package/.output/server/node_modules/unhead/package.json +179 -0
- package/.output/server/node_modules/untun/dist/_chunks/cloudflared.mjs +179 -0
- package/.output/server/node_modules/untun/dist/_chunks/log.mjs +27 -0
- package/.output/server/node_modules/untun/dist/index.mjs +47 -0
- package/.output/server/node_modules/untun/package.json +44 -0
- package/.output/server/node_modules/uqr/dist/index.mjs +739 -0
- package/.output/server/node_modules/uqr/package.json +69 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +687 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +66 -0
- package/.output/server/node_modules/zod/index.js +7 -0
- package/.output/server/node_modules/zod/package.json +147 -0
- package/.output/server/node_modules/zod/v3/ZodError.js +143 -0
- package/.output/server/node_modules/zod/v3/errors.js +9 -0
- package/.output/server/node_modules/zod/v3/external.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
- package/.output/server/node_modules/zod/v3/index.js +4 -0
- package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
- package/.output/server/node_modules/zod/v3/package.json +7 -0
- package/.output/server/node_modules/zod/v3/types.js +3697 -0
- package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
- package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
- package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
- package/.output/server/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/.output/server/node_modules/zod/v4/classic/errors.js +57 -0
- package/.output/server/node_modules/zod/v4/classic/external.js +17 -0
- package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +881 -0
- package/.output/server/node_modules/zod/v4/classic/in-out.js +36 -0
- package/.output/server/node_modules/zod/v4/classic/index.js +4 -0
- package/.output/server/node_modules/zod/v4/classic/iso.js +15 -0
- package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
- package/.output/server/node_modules/zod/v4/classic/parse.js +16 -0
- package/.output/server/node_modules/zod/v4/classic/schemas.js +1535 -0
- package/.output/server/node_modules/zod/v4/core/api.js +1107 -0
- package/.output/server/node_modules/zod/v4/core/checks.js +516 -0
- package/.output/server/node_modules/zod/v4/core/compile.js +1866 -0
- package/.output/server/node_modules/zod/v4/core/core.js +141 -0
- package/.output/server/node_modules/zod/v4/core/doc.js +38 -0
- package/.output/server/node_modules/zod/v4/core/errors.js +267 -0
- package/.output/server/node_modules/zod/v4/core/index.js +19 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +99 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +843 -0
- package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
- package/.output/server/node_modules/zod/v4/core/memoizer.js +311 -0
- package/.output/server/node_modules/zod/v4/core/package.json +7 -0
- package/.output/server/node_modules/zod/v4/core/parse.js +175 -0
- package/.output/server/node_modules/zod/v4/core/regexes.js +156 -0
- package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
- package/.output/server/node_modules/zod/v4/core/schemas.js +2636 -0
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +651 -0
- package/.output/server/node_modules/zod/v4/core/util.js +873 -0
- package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
- package/.output/server/node_modules/zod/v4/core/visit.js +169 -0
- package/.output/server/node_modules/zod/v4/index.js +4 -0
- package/.output/server/node_modules/zod/v4/locales/ar.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/az.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/be.js +168 -0
- package/.output/server/node_modules/zod/v4/locales/bg.js +125 -0
- package/.output/server/node_modules/zod/v4/locales/bn.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/ca.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/ckb.js +133 -0
- package/.output/server/node_modules/zod/v4/locales/cs.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/da.js +120 -0
- package/.output/server/node_modules/zod/v4/locales/de.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/el.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/en.js +125 -0
- package/.output/server/node_modules/zod/v4/locales/eo.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/es.js +136 -0
- package/.output/server/node_modules/zod/v4/locales/fa.js +119 -0
- package/.output/server/node_modules/zod/v4/locales/fi.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/fr.js +129 -0
- package/.output/server/node_modules/zod/v4/locales/gu.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/he.js +221 -0
- package/.output/server/node_modules/zod/v4/locales/hi.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/hr.js +126 -0
- package/.output/server/node_modules/zod/v4/locales/hu.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/hy.js +158 -0
- package/.output/server/node_modules/zod/v4/locales/id.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/index.js +63 -0
- package/.output/server/node_modules/zod/v4/locales/is.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/it.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/ja.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/ka.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/km.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/kn.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/ko.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/lt.js +207 -0
- package/.output/server/node_modules/zod/v4/locales/mk.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/ms.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/ne.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/nl.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/nn.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/no.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/ota.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
- package/.output/server/node_modules/zod/v4/locales/pl.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/ps.js +119 -0
- package/.output/server/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/.output/server/node_modules/zod/v4/locales/pt.js +142 -0
- package/.output/server/node_modules/zod/v4/locales/ro.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/ru.js +168 -0
- package/.output/server/node_modules/zod/v4/locales/sk.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/sl.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/sv.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/ta.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/tg.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/th.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/tk.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/tr.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/uk.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/ur.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/uz.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/vi.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/yo.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +112 -0
- package/.output/server/node_modules/zod/v4/mini/checks.js +1 -0
- package/.output/server/node_modules/zod/v4/mini/coerce.js +22 -0
- package/.output/server/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/.output/server/node_modules/zod/v4/mini/external.js +16 -0
- package/.output/server/node_modules/zod/v4/mini/in-out.js +36 -0
- package/.output/server/node_modules/zod/v4/mini/iso.js +34 -0
- package/.output/server/node_modules/zod/v4/mini/package.json +7 -0
- package/.output/server/node_modules/zod/v4/mini/parse.js +1 -0
- package/.output/server/node_modules/zod/v4/mini/schemas.js +1002 -0
- package/.output/server/node_modules/zod/v4/package.json +7 -0
- package/.output/server/node_modules/zod/v4-mini/index.js +3 -0
- package/.output/server/node_modules/zod/v4-mini/package.json +7 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/Options.js +46 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/Refs.js +22 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +14 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +8 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/index.js +40 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/package.json +1 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseDef.js +62 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +17 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +26 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +49 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +5 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +4 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +4 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +46 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +7 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +7 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +6 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +52 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +21 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +26 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +11 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +10 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +33 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +52 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +72 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +21 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +20 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +4 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +4 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +61 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +20 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +352 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +32 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +6 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +80 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +4 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/selectParser.js +105 -0
- package/.output/server/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +87 -0
- package/.output/server/node_modules/zod-to-json-schema/package.json +85 -0
- package/.output/server/package.json +64 -0
- package/README.md +227 -24
- package/bin/bantou.mjs +33 -0
- package/package.json +18 -8
- package/protocol/PROTOCOL.md +26 -0
- package/protocol/protocol.json +92 -0
- package/dist/cap.js +0 -7
- package/dist/cli.js +0 -27
- package/dist/config.js +0 -23
- package/dist/daemon.js +0 -23
- package/dist/session.js +0 -7
- package/dist/workspace.js +0 -8
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
// src/utils.ts
|
|
2
|
+
var alphabetByEncoding = {};
|
|
3
|
+
var alphabetByValue = Array.from({ length: 64 });
|
|
4
|
+
for (let i = 0, start = "A".charCodeAt(0), limit = "Z".charCodeAt(0); i + start <= limit; i++) {
|
|
5
|
+
const char = String.fromCharCode(i + start);
|
|
6
|
+
alphabetByEncoding[char] = i;
|
|
7
|
+
alphabetByValue[i] = char;
|
|
8
|
+
}
|
|
9
|
+
for (let i = 0, start = "a".charCodeAt(0), limit = "z".charCodeAt(0); i + start <= limit; i++) {
|
|
10
|
+
const char = String.fromCharCode(i + start);
|
|
11
|
+
const index = i + 26;
|
|
12
|
+
alphabetByEncoding[char] = index;
|
|
13
|
+
alphabetByValue[index] = char;
|
|
14
|
+
}
|
|
15
|
+
for (let i = 0; i < 10; i++) {
|
|
16
|
+
alphabetByEncoding[i.toString(10)] = i + 52;
|
|
17
|
+
const char = i.toString(10);
|
|
18
|
+
const index = i + 52;
|
|
19
|
+
alphabetByEncoding[char] = index;
|
|
20
|
+
alphabetByValue[index] = char;
|
|
21
|
+
}
|
|
22
|
+
alphabetByEncoding["-"] = 62;
|
|
23
|
+
alphabetByValue[62] = "-";
|
|
24
|
+
alphabetByEncoding["_"] = 63;
|
|
25
|
+
alphabetByValue[63] = "_";
|
|
26
|
+
var bitsPerLetter = 6;
|
|
27
|
+
var bitsPerByte = 8;
|
|
28
|
+
var maxLetterValue = 63;
|
|
29
|
+
var stringToBuffer = (value) => {
|
|
30
|
+
return new TextEncoder().encode(value);
|
|
31
|
+
};
|
|
32
|
+
var bufferToString = (value) => {
|
|
33
|
+
return new TextDecoder().decode(value);
|
|
34
|
+
};
|
|
35
|
+
var base64urlDecode = (_input) => {
|
|
36
|
+
const input = _input + "=".repeat((4 - _input.length % 4) % 4);
|
|
37
|
+
let totalByteLength = input.length / 4 * 3;
|
|
38
|
+
if (input.endsWith("==")) {
|
|
39
|
+
totalByteLength -= 2;
|
|
40
|
+
} else if (input.endsWith("=")) {
|
|
41
|
+
totalByteLength--;
|
|
42
|
+
}
|
|
43
|
+
const out = new ArrayBuffer(totalByteLength);
|
|
44
|
+
const dataView = new DataView(out);
|
|
45
|
+
for (let i = 0; i < input.length; i += 4) {
|
|
46
|
+
let bits = 0;
|
|
47
|
+
let bitLength = 0;
|
|
48
|
+
for (let j = i, limit = i + 3; j <= limit; j++) {
|
|
49
|
+
if (input[j] === "=") {
|
|
50
|
+
bits >>= bitsPerLetter;
|
|
51
|
+
} else {
|
|
52
|
+
if (!(input[j] in alphabetByEncoding)) {
|
|
53
|
+
throw new TypeError(`Invalid character ${input[j]} in base64 string.`);
|
|
54
|
+
}
|
|
55
|
+
bits |= alphabetByEncoding[input[j]] << (limit - j) * bitsPerLetter;
|
|
56
|
+
bitLength += bitsPerLetter;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const chunkOffset = i / 4 * 3;
|
|
60
|
+
bits >>= bitLength % bitsPerByte;
|
|
61
|
+
const byteLength = Math.floor(bitLength / bitsPerByte);
|
|
62
|
+
for (let k = 0; k < byteLength; k++) {
|
|
63
|
+
const offset = (byteLength - k - 1) * bitsPerByte;
|
|
64
|
+
dataView.setUint8(chunkOffset + k, (bits & 255 << offset) >> offset);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return new Uint8Array(out);
|
|
68
|
+
};
|
|
69
|
+
var base64urlEncode = (_input) => {
|
|
70
|
+
const input = typeof _input === "string" ? stringToBuffer(_input) : _input;
|
|
71
|
+
let str = "";
|
|
72
|
+
for (let i = 0; i < input.length; i += 3) {
|
|
73
|
+
let bits = 0;
|
|
74
|
+
let bitLength = 0;
|
|
75
|
+
for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {
|
|
76
|
+
bits |= input[j] << (limit - j - 1) * bitsPerByte;
|
|
77
|
+
bitLength += bitsPerByte;
|
|
78
|
+
}
|
|
79
|
+
const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);
|
|
80
|
+
bits <<= bitClusterCount * bitsPerLetter - bitLength;
|
|
81
|
+
for (let k = 1; k <= bitClusterCount; k++) {
|
|
82
|
+
const offset = (bitClusterCount - k) * bitsPerLetter;
|
|
83
|
+
str += alphabetByValue[(bits & maxLetterValue << offset) >> offset];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return str;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// src/index.ts
|
|
90
|
+
var defaults = {
|
|
91
|
+
encryption: { saltBits: 256, algorithm: "aes-256-cbc", iterations: 1, minPasswordlength: 32 },
|
|
92
|
+
integrity: { saltBits: 256, algorithm: "sha256", iterations: 1, minPasswordlength: 32 },
|
|
93
|
+
ttl: 0,
|
|
94
|
+
timestampSkewSec: 60,
|
|
95
|
+
localtimeOffsetMsec: 0
|
|
96
|
+
};
|
|
97
|
+
var clone = (options) => ({
|
|
98
|
+
...options,
|
|
99
|
+
encryption: { ...options.encryption },
|
|
100
|
+
integrity: { ...options.integrity }
|
|
101
|
+
});
|
|
102
|
+
var algorithms = {
|
|
103
|
+
"aes-128-ctr": { keyBits: 128, ivBits: 128, name: "AES-CTR" },
|
|
104
|
+
"aes-256-cbc": { keyBits: 256, ivBits: 128, name: "AES-CBC" },
|
|
105
|
+
sha256: { keyBits: 256, name: "SHA-256" }
|
|
106
|
+
};
|
|
107
|
+
var macFormatVersion = "2";
|
|
108
|
+
var macPrefix = "Fe26.2";
|
|
109
|
+
var randomBytes = (_crypto, size) => {
|
|
110
|
+
const bytes = new Uint8Array(size);
|
|
111
|
+
_crypto.getRandomValues(bytes);
|
|
112
|
+
return bytes;
|
|
113
|
+
};
|
|
114
|
+
var randomBits = (_crypto, bits) => {
|
|
115
|
+
if (bits < 1)
|
|
116
|
+
throw new Error("Invalid random bits count");
|
|
117
|
+
const bytes = Math.ceil(bits / 8);
|
|
118
|
+
return randomBytes(_crypto, bytes);
|
|
119
|
+
};
|
|
120
|
+
var pbkdf2 = async (_crypto, password, salt, iterations, keyLength, hash) => {
|
|
121
|
+
const passwordBuffer = stringToBuffer(password);
|
|
122
|
+
const importedKey = await _crypto.subtle.importKey(
|
|
123
|
+
"raw",
|
|
124
|
+
passwordBuffer,
|
|
125
|
+
{ name: "PBKDF2" },
|
|
126
|
+
false,
|
|
127
|
+
["deriveBits"]
|
|
128
|
+
);
|
|
129
|
+
const saltBuffer = stringToBuffer(salt);
|
|
130
|
+
const params = { name: "PBKDF2", hash, salt: saltBuffer, iterations };
|
|
131
|
+
const derivation = await _crypto.subtle.deriveBits(params, importedKey, keyLength * 8);
|
|
132
|
+
return derivation;
|
|
133
|
+
};
|
|
134
|
+
var generateKey = async (_crypto, password, options) => {
|
|
135
|
+
var _a;
|
|
136
|
+
if (!(password == null ? void 0 : password.length))
|
|
137
|
+
throw new Error("Empty password");
|
|
138
|
+
if (options == null || typeof options !== "object")
|
|
139
|
+
throw new Error("Bad options");
|
|
140
|
+
if (!(options.algorithm in algorithms))
|
|
141
|
+
throw new Error(`Unknown algorithm: ${options.algorithm}`);
|
|
142
|
+
const algorithm = algorithms[options.algorithm];
|
|
143
|
+
const result = {};
|
|
144
|
+
const hmac = (_a = options.hmac) != null ? _a : false;
|
|
145
|
+
const id = hmac ? { name: "HMAC", hash: algorithm.name } : { name: algorithm.name };
|
|
146
|
+
const usage = hmac ? ["sign", "verify"] : ["encrypt", "decrypt"];
|
|
147
|
+
if (typeof password === "string") {
|
|
148
|
+
if (password.length < options.minPasswordlength)
|
|
149
|
+
throw new Error(
|
|
150
|
+
`Password string too short (min ${options.minPasswordlength} characters required)`
|
|
151
|
+
);
|
|
152
|
+
let { salt = "" } = options;
|
|
153
|
+
if (!salt) {
|
|
154
|
+
const { saltBits = 0 } = options;
|
|
155
|
+
if (!saltBits)
|
|
156
|
+
throw new Error("Missing salt and saltBits options");
|
|
157
|
+
const randomSalt = randomBits(_crypto, saltBits);
|
|
158
|
+
salt = [...new Uint8Array(randomSalt)].map((x) => x.toString(16).padStart(2, "0")).join("");
|
|
159
|
+
}
|
|
160
|
+
const derivedKey = await pbkdf2(
|
|
161
|
+
_crypto,
|
|
162
|
+
password,
|
|
163
|
+
salt,
|
|
164
|
+
options.iterations,
|
|
165
|
+
algorithm.keyBits / 8,
|
|
166
|
+
"SHA-1"
|
|
167
|
+
);
|
|
168
|
+
const importedEncryptionKey = await _crypto.subtle.importKey(
|
|
169
|
+
"raw",
|
|
170
|
+
derivedKey,
|
|
171
|
+
id,
|
|
172
|
+
false,
|
|
173
|
+
usage
|
|
174
|
+
);
|
|
175
|
+
result.key = importedEncryptionKey;
|
|
176
|
+
result.salt = salt;
|
|
177
|
+
} else {
|
|
178
|
+
if (password.length < algorithm.keyBits / 8)
|
|
179
|
+
throw new Error("Key buffer (password) too small");
|
|
180
|
+
result.key = await _crypto.subtle.importKey("raw", password, id, false, usage);
|
|
181
|
+
result.salt = "";
|
|
182
|
+
}
|
|
183
|
+
if (options.iv)
|
|
184
|
+
result.iv = options.iv;
|
|
185
|
+
else if ("ivBits" in algorithm)
|
|
186
|
+
result.iv = randomBits(_crypto, algorithm.ivBits);
|
|
187
|
+
return result;
|
|
188
|
+
};
|
|
189
|
+
var getEncryptParams = (algorithm, key, data) => {
|
|
190
|
+
return [
|
|
191
|
+
algorithm === "aes-128-ctr" ? { name: "AES-CTR", counter: key.iv, length: 128 } : { name: "AES-CBC", iv: key.iv },
|
|
192
|
+
key.key,
|
|
193
|
+
typeof data === "string" ? stringToBuffer(data) : data
|
|
194
|
+
];
|
|
195
|
+
};
|
|
196
|
+
var encrypt = async (_crypto, password, options, data) => {
|
|
197
|
+
const key = await generateKey(_crypto, password, options);
|
|
198
|
+
const encrypted = await _crypto.subtle.encrypt(...getEncryptParams(options.algorithm, key, data));
|
|
199
|
+
return { encrypted: new Uint8Array(encrypted), key };
|
|
200
|
+
};
|
|
201
|
+
var decrypt = async (_crypto, password, options, data) => {
|
|
202
|
+
const key = await generateKey(_crypto, password, options);
|
|
203
|
+
const decrypted = await _crypto.subtle.decrypt(...getEncryptParams(options.algorithm, key, data));
|
|
204
|
+
return bufferToString(new Uint8Array(decrypted));
|
|
205
|
+
};
|
|
206
|
+
var hmacWithPassword = async (_crypto, password, options, data) => {
|
|
207
|
+
const key = await generateKey(_crypto, password, { ...options, hmac: true });
|
|
208
|
+
const textBuffer = stringToBuffer(data);
|
|
209
|
+
const signed = await _crypto.subtle.sign({ name: "HMAC" }, key.key, textBuffer);
|
|
210
|
+
const digest = base64urlEncode(new Uint8Array(signed));
|
|
211
|
+
return { digest, salt: key.salt };
|
|
212
|
+
};
|
|
213
|
+
var normalizePassword = (password) => {
|
|
214
|
+
if (typeof password === "string" || password instanceof Uint8Array)
|
|
215
|
+
return { encryption: password, integrity: password };
|
|
216
|
+
if ("secret" in password)
|
|
217
|
+
return { id: password.id, encryption: password.secret, integrity: password.secret };
|
|
218
|
+
return { id: password.id, encryption: password.encryption, integrity: password.integrity };
|
|
219
|
+
};
|
|
220
|
+
var seal = async (_crypto, object, password, options) => {
|
|
221
|
+
if (!password)
|
|
222
|
+
throw new Error("Empty password");
|
|
223
|
+
const opts = clone(options);
|
|
224
|
+
const now = Date.now() + (opts.localtimeOffsetMsec || 0);
|
|
225
|
+
const objectString = JSON.stringify(object);
|
|
226
|
+
const pass = normalizePassword(password);
|
|
227
|
+
const { id = "", encryption, integrity } = pass;
|
|
228
|
+
if (id && !/^\w+$/.test(id))
|
|
229
|
+
throw new Error("Invalid password id");
|
|
230
|
+
const { encrypted, key } = await encrypt(_crypto, encryption, opts.encryption, objectString);
|
|
231
|
+
const encryptedB64 = base64urlEncode(new Uint8Array(encrypted));
|
|
232
|
+
const iv = base64urlEncode(key.iv);
|
|
233
|
+
const expiration = opts.ttl ? now + opts.ttl : "";
|
|
234
|
+
const macBaseString = `${macPrefix}*${id}*${key.salt}*${iv}*${encryptedB64}*${expiration}`;
|
|
235
|
+
const mac = await hmacWithPassword(_crypto, integrity, opts.integrity, macBaseString);
|
|
236
|
+
const sealed = `${macBaseString}*${mac.salt}*${mac.digest}`;
|
|
237
|
+
return sealed;
|
|
238
|
+
};
|
|
239
|
+
var fixedTimeComparison = (a, b) => {
|
|
240
|
+
let mismatch = a.length === b.length ? 0 : 1;
|
|
241
|
+
if (mismatch)
|
|
242
|
+
b = a;
|
|
243
|
+
for (let i = 0; i < a.length; i += 1)
|
|
244
|
+
mismatch |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
245
|
+
return mismatch === 0;
|
|
246
|
+
};
|
|
247
|
+
var unseal = async (_crypto, sealed, password, options) => {
|
|
248
|
+
if (!password)
|
|
249
|
+
throw new Error("Empty password");
|
|
250
|
+
const opts = clone(options);
|
|
251
|
+
const now = Date.now() + (opts.localtimeOffsetMsec || 0);
|
|
252
|
+
const parts = sealed.split("*");
|
|
253
|
+
if (parts.length !== 8)
|
|
254
|
+
throw new Error("Incorrect number of sealed components");
|
|
255
|
+
const prefix = parts[0];
|
|
256
|
+
let passwordId = parts[1];
|
|
257
|
+
const encryptionSalt = parts[2];
|
|
258
|
+
const encryptionIv = parts[3];
|
|
259
|
+
const encryptedB64 = parts[4];
|
|
260
|
+
const expiration = parts[5];
|
|
261
|
+
const hmacSalt = parts[6];
|
|
262
|
+
const hmac = parts[7];
|
|
263
|
+
const macBaseString = `${prefix}*${passwordId}*${encryptionSalt}*${encryptionIv}*${encryptedB64}*${expiration}`;
|
|
264
|
+
if (macPrefix !== prefix)
|
|
265
|
+
throw new Error("Wrong mac prefix");
|
|
266
|
+
if (expiration) {
|
|
267
|
+
if (!/^\d+$/.test(expiration))
|
|
268
|
+
throw new Error("Invalid expiration");
|
|
269
|
+
const exp = Number.parseInt(expiration, 10);
|
|
270
|
+
if (exp <= now - opts.timestampSkewSec * 1e3)
|
|
271
|
+
throw new Error("Expired seal");
|
|
272
|
+
}
|
|
273
|
+
let pass = "";
|
|
274
|
+
passwordId = passwordId || "default";
|
|
275
|
+
if (typeof password === "string" || password instanceof Uint8Array)
|
|
276
|
+
pass = password;
|
|
277
|
+
else if (passwordId in password) {
|
|
278
|
+
pass = password[passwordId];
|
|
279
|
+
} else {
|
|
280
|
+
throw new Error(`Cannot find password: ${passwordId}`);
|
|
281
|
+
}
|
|
282
|
+
pass = normalizePassword(pass);
|
|
283
|
+
const macOptions = opts.integrity;
|
|
284
|
+
macOptions.salt = hmacSalt;
|
|
285
|
+
const mac = await hmacWithPassword(_crypto, pass.integrity, macOptions, macBaseString);
|
|
286
|
+
if (!fixedTimeComparison(mac.digest, hmac))
|
|
287
|
+
throw new Error("Bad hmac value");
|
|
288
|
+
const encrypted = base64urlDecode(encryptedB64);
|
|
289
|
+
const decryptOptions = opts.encryption;
|
|
290
|
+
decryptOptions.salt = encryptionSalt;
|
|
291
|
+
decryptOptions.iv = base64urlDecode(encryptionIv);
|
|
292
|
+
const decrypted = await decrypt(_crypto, pass.encryption, decryptOptions, encrypted);
|
|
293
|
+
if (decrypted)
|
|
294
|
+
return JSON.parse(decrypted);
|
|
295
|
+
return null;
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
export { algorithms, base64urlDecode, base64urlEncode, bufferToString, clone, decrypt, defaults, encrypt, generateKey, hmacWithPassword, macFormatVersion, macPrefix, randomBits, seal, stringToBuffer, unseal };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/package.json",
|
|
3
|
+
"name": "iron-webcrypto",
|
|
4
|
+
"version": "1.2.1",
|
|
5
|
+
"description": "a cryptographic utility for sealing-unsealing a JSON object using symmetric key encryption with message integrity verification",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"authentication",
|
|
8
|
+
"data integrity",
|
|
9
|
+
"encryption",
|
|
10
|
+
"webcrypto"
|
|
11
|
+
],
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/brc-dd/iron-webcrypto",
|
|
14
|
+
"email": "brc-dd@hotmail.com"
|
|
15
|
+
},
|
|
16
|
+
"repository": "github:brc-dd/iron-webcrypto",
|
|
17
|
+
"funding": "https://github.com/sponsors/brc-dd",
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "Divyansh Singh <brc-dd@hotmail.com> (https://github.com/brc-dd)",
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"type": "module",
|
|
22
|
+
"exports": {
|
|
23
|
+
"import": "./dist/index.js",
|
|
24
|
+
"require": "./dist/index.cjs"
|
|
25
|
+
},
|
|
26
|
+
"main": "dist/index.cjs",
|
|
27
|
+
"files": [
|
|
28
|
+
"dist/*"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "pnpm i && tsup && git add -f dist",
|
|
32
|
+
"lint": "pnpm build && pnpm lint:only",
|
|
33
|
+
"lint:only": "lefthook run pre-commit && publint && attw --pack",
|
|
34
|
+
"test": "pnpm test:node && pnpm test:deno && pnpm test:bun",
|
|
35
|
+
"test:bun": "bun --cwd=tests/bun test",
|
|
36
|
+
"test:deno": "deno test tests/deno/index.test.ts --parallel --no-check",
|
|
37
|
+
"test:node": "tsx --test tests/node/index.test.ts"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@arethetypeswrong/cli": "^0.15.3",
|
|
41
|
+
"@commitlint/cli": "^19.3.0",
|
|
42
|
+
"@commitlint/config-conventional": "^19.2.2",
|
|
43
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.3.0",
|
|
44
|
+
"@release-it/conventional-changelog": "^8.0.1",
|
|
45
|
+
"@types/bun": "^1.1.1",
|
|
46
|
+
"@types/node": "^20.12.11",
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "^7.8.0",
|
|
48
|
+
"@typescript-eslint/parser": "^7.8.0",
|
|
49
|
+
"eslint": "^8.57.0",
|
|
50
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
51
|
+
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
52
|
+
"eslint-config-prettier": "^9.1.0",
|
|
53
|
+
"eslint-import-resolver-node": "^0.3.9",
|
|
54
|
+
"eslint-import-resolver-typescript": "^3.6.1",
|
|
55
|
+
"eslint-plugin-import": "^2.29.1",
|
|
56
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
57
|
+
"eslint-plugin-security": "^3.0.0",
|
|
58
|
+
"eslint-plugin-unicorn": "^52.0.0",
|
|
59
|
+
"jsr": "^0.12.4",
|
|
60
|
+
"lefthook": "^1.6.10",
|
|
61
|
+
"prettier": "^3.2.5",
|
|
62
|
+
"prettier-plugin-packagejson": "^2.5.0",
|
|
63
|
+
"publint": "^0.2.7",
|
|
64
|
+
"release-it": "^17.2.1",
|
|
65
|
+
"replace": "^1.2.2",
|
|
66
|
+
"tsup": "^8.0.2",
|
|
67
|
+
"tsx": "^4.9.3",
|
|
68
|
+
"typescript": "^5.4.5"
|
|
69
|
+
},
|
|
70
|
+
"packageManager": "pnpm@9.1.0",
|
|
71
|
+
"runkitExampleFilename": "dist/example.js"
|
|
72
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* is-extglob <https://github.com/jonschlinkert/is-extglob>
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2014-2016, Jon Schlinkert.
|
|
5
|
+
* Licensed under the MIT License.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
module.exports = function isExtglob(str) {
|
|
9
|
+
if (typeof str !== 'string' || str === '') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var match;
|
|
14
|
+
while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) {
|
|
15
|
+
if (match[2]) return true;
|
|
16
|
+
str = str.slice(match.index + match[0].length);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return false;
|
|
20
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "is-extglob",
|
|
3
|
+
"description": "Returns true if a string has an extglob.",
|
|
4
|
+
"version": "2.1.1",
|
|
5
|
+
"homepage": "https://github.com/jonschlinkert/is-extglob",
|
|
6
|
+
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
|
7
|
+
"repository": "jonschlinkert/is-extglob",
|
|
8
|
+
"bugs": {
|
|
9
|
+
"url": "https://github.com/jonschlinkert/is-extglob/issues"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"files": [
|
|
13
|
+
"index.js"
|
|
14
|
+
],
|
|
15
|
+
"main": "index.js",
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=0.10.0"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"test": "mocha"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"gulp-format-md": "^0.1.10",
|
|
24
|
+
"mocha": "^3.0.2"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"bash",
|
|
28
|
+
"braces",
|
|
29
|
+
"check",
|
|
30
|
+
"exec",
|
|
31
|
+
"expression",
|
|
32
|
+
"extglob",
|
|
33
|
+
"glob",
|
|
34
|
+
"globbing",
|
|
35
|
+
"globstar",
|
|
36
|
+
"is",
|
|
37
|
+
"match",
|
|
38
|
+
"matches",
|
|
39
|
+
"pattern",
|
|
40
|
+
"regex",
|
|
41
|
+
"regular",
|
|
42
|
+
"string",
|
|
43
|
+
"test"
|
|
44
|
+
],
|
|
45
|
+
"verb": {
|
|
46
|
+
"toc": false,
|
|
47
|
+
"layout": "default",
|
|
48
|
+
"tasks": [
|
|
49
|
+
"readme"
|
|
50
|
+
],
|
|
51
|
+
"plugins": [
|
|
52
|
+
"gulp-format-md"
|
|
53
|
+
],
|
|
54
|
+
"related": {
|
|
55
|
+
"list": [
|
|
56
|
+
"has-glob",
|
|
57
|
+
"is-glob",
|
|
58
|
+
"micromatch"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"reflinks": [
|
|
62
|
+
"verb",
|
|
63
|
+
"verb-generate-readme"
|
|
64
|
+
],
|
|
65
|
+
"lint": {
|
|
66
|
+
"reflinks": true
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* is-glob <https://github.com/jonschlinkert/is-glob>
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
5
|
+
* Released under the MIT License.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
var isExtglob = require('is-extglob');
|
|
9
|
+
var chars = { '{': '}', '(': ')', '[': ']'};
|
|
10
|
+
var strictCheck = function(str) {
|
|
11
|
+
if (str[0] === '!') {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
var index = 0;
|
|
15
|
+
var pipeIndex = -2;
|
|
16
|
+
var closeSquareIndex = -2;
|
|
17
|
+
var closeCurlyIndex = -2;
|
|
18
|
+
var closeParenIndex = -2;
|
|
19
|
+
var backSlashIndex = -2;
|
|
20
|
+
while (index < str.length) {
|
|
21
|
+
if (str[index] === '*') {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (str[index + 1] === '?' && /[\].+)]/.test(str[index])) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') {
|
|
30
|
+
if (closeSquareIndex < index) {
|
|
31
|
+
closeSquareIndex = str.indexOf(']', index);
|
|
32
|
+
}
|
|
33
|
+
if (closeSquareIndex > index) {
|
|
34
|
+
if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
backSlashIndex = str.indexOf('\\', index);
|
|
38
|
+
if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') {
|
|
45
|
+
closeCurlyIndex = str.indexOf('}', index);
|
|
46
|
+
if (closeCurlyIndex > index) {
|
|
47
|
+
backSlashIndex = str.indexOf('\\', index);
|
|
48
|
+
if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') {
|
|
55
|
+
closeParenIndex = str.indexOf(')', index);
|
|
56
|
+
if (closeParenIndex > index) {
|
|
57
|
+
backSlashIndex = str.indexOf('\\', index);
|
|
58
|
+
if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') {
|
|
65
|
+
if (pipeIndex < index) {
|
|
66
|
+
pipeIndex = str.indexOf('|', index);
|
|
67
|
+
}
|
|
68
|
+
if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') {
|
|
69
|
+
closeParenIndex = str.indexOf(')', pipeIndex);
|
|
70
|
+
if (closeParenIndex > pipeIndex) {
|
|
71
|
+
backSlashIndex = str.indexOf('\\', pipeIndex);
|
|
72
|
+
if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (str[index] === '\\') {
|
|
80
|
+
var open = str[index + 1];
|
|
81
|
+
index += 2;
|
|
82
|
+
var close = chars[open];
|
|
83
|
+
|
|
84
|
+
if (close) {
|
|
85
|
+
var n = str.indexOf(close, index);
|
|
86
|
+
if (n !== -1) {
|
|
87
|
+
index = n + 1;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (str[index] === '!') {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
index++;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var relaxedCheck = function(str) {
|
|
102
|
+
if (str[0] === '!') {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
var index = 0;
|
|
106
|
+
while (index < str.length) {
|
|
107
|
+
if (/[*?{}()[\]]/.test(str[index])) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (str[index] === '\\') {
|
|
112
|
+
var open = str[index + 1];
|
|
113
|
+
index += 2;
|
|
114
|
+
var close = chars[open];
|
|
115
|
+
|
|
116
|
+
if (close) {
|
|
117
|
+
var n = str.indexOf(close, index);
|
|
118
|
+
if (n !== -1) {
|
|
119
|
+
index = n + 1;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (str[index] === '!') {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
index++;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
module.exports = function isGlob(str, options) {
|
|
134
|
+
if (typeof str !== 'string' || str === '') {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (isExtglob(str)) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var check = strictCheck;
|
|
143
|
+
|
|
144
|
+
// optionally relax check
|
|
145
|
+
if (options && options.strict === false) {
|
|
146
|
+
check = relaxedCheck;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return check(str);
|
|
150
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "is-glob",
|
|
3
|
+
"description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.",
|
|
4
|
+
"version": "4.0.3",
|
|
5
|
+
"homepage": "https://github.com/micromatch/is-glob",
|
|
6
|
+
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
|
7
|
+
"contributors": [
|
|
8
|
+
"Brian Woodward (https://twitter.com/doowb)",
|
|
9
|
+
"Daniel Perez (https://tuvistavie.com)",
|
|
10
|
+
"Jon Schlinkert (http://twitter.com/jonschlinkert)"
|
|
11
|
+
],
|
|
12
|
+
"repository": "micromatch/is-glob",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/micromatch/is-glob/issues"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"files": [
|
|
18
|
+
"index.js"
|
|
19
|
+
],
|
|
20
|
+
"main": "index.js",
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=0.10.0"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"test": "mocha && node benchmark.js"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"is-extglob": "^2.1.1"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"gulp-format-md": "^0.1.10",
|
|
32
|
+
"mocha": "^3.0.2"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"bash",
|
|
36
|
+
"braces",
|
|
37
|
+
"check",
|
|
38
|
+
"exec",
|
|
39
|
+
"expression",
|
|
40
|
+
"extglob",
|
|
41
|
+
"glob",
|
|
42
|
+
"globbing",
|
|
43
|
+
"globstar",
|
|
44
|
+
"is",
|
|
45
|
+
"match",
|
|
46
|
+
"matches",
|
|
47
|
+
"pattern",
|
|
48
|
+
"regex",
|
|
49
|
+
"regular",
|
|
50
|
+
"string",
|
|
51
|
+
"test"
|
|
52
|
+
],
|
|
53
|
+
"verb": {
|
|
54
|
+
"layout": "default",
|
|
55
|
+
"plugins": [
|
|
56
|
+
"gulp-format-md"
|
|
57
|
+
],
|
|
58
|
+
"related": {
|
|
59
|
+
"list": [
|
|
60
|
+
"assemble",
|
|
61
|
+
"base",
|
|
62
|
+
"update",
|
|
63
|
+
"verb"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"reflinks": [
|
|
67
|
+
"assemble",
|
|
68
|
+
"bach",
|
|
69
|
+
"base",
|
|
70
|
+
"composer",
|
|
71
|
+
"gulp",
|
|
72
|
+
"has-glob",
|
|
73
|
+
"is-valid-glob",
|
|
74
|
+
"micromatch",
|
|
75
|
+
"npm",
|
|
76
|
+
"scaffold",
|
|
77
|
+
"verb",
|
|
78
|
+
"vinyl"
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
}
|