@noodleseed/one 0.93.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +0 -0
- package/dist/deploy.js +1 -1
- package/dist/deploy.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/platform-support.js +2 -2
- package/dist/platform-support.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +9 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +3 -3
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +10 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js +8 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js +24 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js +30 -22
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js +15 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-platform-support.d.ts +13 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-platform-support.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-platform-support.js +13 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-platform-support.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-auth-ref.d.ts +2 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-auth-ref.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-auth-ref.js +191 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-auth-ref.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +4 -98
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/auth/dist/claims.d.ts +2 -0
- package/node_modules/@noodle-borg/auth/dist/claims.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/claims.js +15 -0
- package/node_modules/@noodle-borg/auth/dist/claims.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.d.ts +2 -2
- package/node_modules/@noodle-borg/auth/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.js +1 -1
- package/node_modules/@noodle-borg/auth/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts +10 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js +9 -2
- package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/connectors.d.ts +2 -2
- package/node_modules/@noodle-borg/authoring/dist/connectors.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/connectors.js +4 -1
- package/node_modules/@noodle-borg/authoring/dist/connectors.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts +13 -0
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.js +31 -2
- package/node_modules/@noodle-borg/authoring/dist/customer-auth.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/customer-endpoint.d.ts +10 -0
- package/node_modules/@noodle-borg/authoring/dist/customer-endpoint.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/customer-endpoint.js +18 -0
- package/node_modules/@noodle-borg/authoring/dist/customer-endpoint.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js +1 -0
- package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.js +1 -13
- package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.d.ts +27 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js +73 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.d.ts +50 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.js +121 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/operation-ref.d.ts +62 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/operation-ref.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/operation-ref.js +2 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/operation-ref.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +13 -96
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js +1 -48
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts +54 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.js +54 -0
- package/node_modules/@noodle-borg/compiler/dist/artifact/version.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.js +1 -1
- package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/catalog/types.d.ts +13 -0
- package/node_modules/@noodle-borg/compiler/dist/catalog/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/catalog/types.js +0 -9
- package/node_modules/@noodle-borg/compiler/dist/catalog/types.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.d.ts +1 -11
- package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.js +29 -163
- package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts +2 -1
- package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/context-compile.js +3 -1
- package/node_modules/@noodle-borg/compiler/dist/context-compile.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/customer-endpoint.d.ts +34 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-endpoint.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-endpoint.js +240 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-endpoint.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-routing.d.ts +25 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-routing.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-routing.js +160 -0
- package/node_modules/@noodle-borg/compiler/dist/customer-routing.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts +8 -3
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +13 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts +3 -2
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js +1 -0
- package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/auth-schema.d.ts +110 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/auth-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/auth-schema.js +191 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/auth-schema.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +12 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +1 -73
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/package.json +1 -0
- package/node_modules/@noodle-borg/compute/dist/code-connector.d.ts +1 -0
- package/node_modules/@noodle-borg/compute/dist/code-connector.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compute/dist/code-connector.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/call-graph.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/call-graph.js +6 -6
- package/node_modules/@noodle-borg/connector-defs/dist/call-graph.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile-auth.d.ts +2 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-auth.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile-auth.js +12 -9
- package/node_modules/@noodle-borg/connector-defs/dist/compile-auth.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile-http.d.ts +14 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-http.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-http.js +347 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-http.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +4 -2
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js +17 -333
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/customer-routing.d.ts +11 -0
- package/node_modules/@noodle-borg/connector-defs/dist/customer-routing.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/customer-routing.js +124 -0
- package/node_modules/@noodle-borg/connector-defs/dist/customer-routing.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/http-headers.d.ts +4 -0
- package/node_modules/@noodle-borg/connector-defs/dist/http-headers.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/http-headers.js +52 -0
- package/node_modules/@noodle-borg/connector-defs/dist/http-headers.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/identity-key.d.ts +5 -0
- package/node_modules/@noodle-borg/connector-defs/dist/identity-key.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/identity-key.js +9 -0
- package/node_modules/@noodle-borg/connector-defs/dist/identity-key.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +33 -3
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js +22 -3
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/customer-route.d.ts +17 -0
- package/node_modules/@noodle-borg/connector-http/dist/customer-route.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-http/dist/customer-route.js +77 -0
- package/node_modules/@noodle-borg/connector-http/dist/customer-route.js.map +1 -0
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +2 -2
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +64 -67
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-response.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-response.js +23 -21
- package/node_modules/@noodle-borg/connector-http/dist/http-response.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/ssrf.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/ssrf.js +17 -2
- package/node_modules/@noodle-borg/connector-http/dist/ssrf.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/url-resolution.d.ts +4 -0
- package/node_modules/@noodle-borg/connector-http/dist/url-resolution.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-http/dist/url-resolution.js +31 -0
- package/node_modules/@noodle-borg/connector-http/dist/url-resolution.js.map +1 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +14 -2
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.js +17 -0
- package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +4 -0
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +7 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts +24 -3
- package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/broker/types.js +21 -0
- package/node_modules/@noodle-borg/runtime/dist/broker/types.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation-analysis.d.ts +3 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation-analysis.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation-analysis.js +8 -3
- package/node_modules/@noodle-borg/runtime/dist/confirmation-analysis.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.d.ts +5 -2
- package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.js +32 -16
- package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation-customer-routes.d.ts +6 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation-customer-routes.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation-customer-routes.js +23 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation-customer-routes.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js +45 -5
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/failure-details.d.ts +8 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/failure-details.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/failure-details.js +53 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/failure-details.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +7 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/types.js +15 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/customer-routing.d.ts +50 -0
- package/node_modules/@noodle-borg/runtime/dist/customer-routing.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/customer-routing.js +164 -0
- package/node_modules/@noodle-borg/runtime/dist/customer-routing.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +11 -49
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/execute.js +16 -363
- package/node_modules/@noodle-borg/runtime/dist/execute.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts +4 -2
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/index.js +4 -2
- package/node_modules/@noodle-borg/runtime/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/interactive.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/interactive.js +7 -0
- package/node_modules/@noodle-borg/runtime/dist/interactive.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/operation-credential.d.ts +16 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-credential.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-credential.js +58 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-credential.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.d.ts +34 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.js +280 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-execution.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-validation.d.ts +21 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-validation.js +72 -0
- package/node_modules/@noodle-borg/runtime/dist/operation-validation.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/prepared-action-match.d.ts +3 -0
- package/node_modules/@noodle-borg/runtime/dist/prepared-action-match.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/prepared-action-match.js +50 -0
- package/node_modules/@noodle-borg/runtime/dist/prepared-action-match.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts +10 -5
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/result.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/routed-output-guard.d.ts +15 -0
- package/node_modules/@noodle-borg/runtime/dist/routed-output-guard.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/routed-output-guard.js +163 -0
- package/node_modules/@noodle-borg/runtime/dist/routed-output-guard.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-customer-issuer.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/assistant-customer-issuer.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-customer-issuer.js +13 -0
- package/node_modules/@noodle-borg/service/dist/assistant-customer-issuer.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js +2 -1
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.js +1 -1
- package/node_modules/@noodle-borg/service/dist/control-plane-auth-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-binding-index.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/credential-binding-index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-binding-index.js +5 -1
- package/node_modules/@noodle-borg/service/dist/credential-binding-index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-refresh.d.ts +47 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-refresh.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-refresh.js +165 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-refresh.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-token-exchange.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-token-exchange.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-token-exchange.js +112 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker-delegated-token-exchange.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-broker.d.ts +6 -24
- package/node_modules/@noodle-borg/service/dist/credential-broker.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-broker.js +23 -271
- package/node_modules/@noodle-borg/service/dist/credential-broker.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-probe-route.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/credential-probe-route.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-probe-route.js +28 -0
- package/node_modules/@noodle-borg/service/dist/credential-probe-route.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-probes.d.ts +3 -1
- package/node_modules/@noodle-borg/service/dist/credential-probes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-probes.js +54 -13
- package/node_modules/@noodle-borg/service/dist/credential-probes.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/credential-route-guard.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-guard.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-guard.js +34 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-guard.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-key.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-key.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-key.js +17 -0
- package/node_modules/@noodle-borg/service/dist/credential-route-key.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/customer-verifier.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js +72 -21
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/delegated-token-exchange.d.ts +3 -1
- package/node_modules/@noodle-borg/service/dist/delegated-token-exchange.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/delegated-token-exchange.js +24 -2
- package/node_modules/@noodle-borg/service/dist/delegated-token-exchange.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js +6 -5
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/external-credential-binding-broker.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/external-credential-binding-broker.js +4 -3
- package/node_modules/@noodle-borg/service/dist/external-credential-binding-broker.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/google-workload-identity-probe.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/google-workload-identity-probe.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/google-workload-identity-probe.js +23 -7
- package/node_modules/@noodle-borg/service/dist/google-workload-identity-probe.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/google-workload-identity.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/google-workload-identity.js +6 -5
- package/node_modules/@noodle-borg/service/dist/google-workload-identity.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/managed-config-broker-options.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/managed-config-broker-options.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/managed-config-broker-options.js +2 -0
- package/node_modules/@noodle-borg/service/dist/managed-config-broker-options.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js +6 -5
- package/node_modules/@noodle-borg/service/dist/oauth/platform-principal-guard.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js +10 -8
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js +5 -5
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js +8 -7
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.js +6 -3
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +3 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +18 -2
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts +2 -0
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.js +27 -9
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.js.map +1 -1
- package/node_modules/tldts/LICENSE +13 -0
- package/node_modules/tldts/README.md +368 -0
- package/node_modules/tldts/bin/cli.js +21 -0
- package/node_modules/tldts/dist/cjs/index.js +1170 -0
- package/node_modules/tldts/dist/cjs/index.js.map +1 -0
- package/node_modules/tldts/dist/cjs/src/data/trie.js +12 -0
- package/node_modules/tldts/dist/cjs/src/data/trie.js.map +1 -0
- package/node_modules/tldts/dist/cjs/src/suffix-trie.js +170 -0
- package/node_modules/tldts/dist/cjs/src/suffix-trie.js.map +1 -0
- package/node_modules/tldts/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/node_modules/tldts/dist/es6/index.js +41 -0
- package/node_modules/tldts/dist/es6/index.js.map +1 -0
- package/node_modules/tldts/dist/es6/src/data/trie.js +9 -0
- package/node_modules/tldts/dist/es6/src/data/trie.js.map +1 -0
- package/node_modules/tldts/dist/es6/src/suffix-trie.js +167 -0
- package/node_modules/tldts/dist/es6/src/suffix-trie.js.map +1 -0
- package/node_modules/tldts/dist/es6/tsconfig.bundle.tsbuildinfo +1 -0
- package/node_modules/tldts/dist/index.cjs.min.js +2 -0
- package/node_modules/tldts/dist/index.cjs.min.js.map +1 -0
- package/node_modules/tldts/dist/index.esm.min.js +2 -0
- package/node_modules/tldts/dist/index.esm.min.js.map +1 -0
- package/node_modules/tldts/dist/index.umd.min.js +2 -0
- package/node_modules/tldts/dist/index.umd.min.js.map +1 -0
- package/node_modules/tldts/dist/types/index.d.ts +8 -0
- package/node_modules/tldts/dist/types/src/data/trie.d.ts +7 -0
- package/node_modules/tldts/dist/types/src/suffix-trie.d.ts +5 -0
- package/node_modules/tldts/index.ts +74 -0
- package/node_modules/tldts/package.json +89 -0
- package/node_modules/tldts/src/data/trie.ts +8 -0
- package/node_modules/tldts/src/suffix-trie.ts +207 -0
- package/node_modules/tldts-core/LICENSE +13 -0
- package/node_modules/tldts-core/README.md +3 -0
- package/node_modules/tldts-core/dist/cjs/index.js +955 -0
- package/node_modules/tldts-core/dist/cjs/index.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/domain-without-suffix.js +15 -0
- package/node_modules/tldts-core/dist/cjs/src/domain-without-suffix.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/domain.js +83 -0
- package/node_modules/tldts-core/dist/cjs/src/domain.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/extract-hostname.js +439 -0
- package/node_modules/tldts-core/dist/cjs/src/extract-hostname.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/factory.js +128 -0
- package/node_modules/tldts-core/dist/cjs/src/factory.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/is-ip.js +72 -0
- package/node_modules/tldts-core/dist/cjs/src/is-ip.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/is-special-use.js +65 -0
- package/node_modules/tldts-core/dist/cjs/src/is-special-use.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/is-valid.js +80 -0
- package/node_modules/tldts-core/dist/cjs/src/is-valid.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/lookup/fast-path.js +69 -0
- package/node_modules/tldts-core/dist/cjs/src/lookup/fast-path.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/lookup/interface.js +3 -0
- package/node_modules/tldts-core/dist/cjs/src/lookup/interface.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/options.js +23 -0
- package/node_modules/tldts-core/dist/cjs/src/options.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/src/subdomain.js +14 -0
- package/node_modules/tldts-core/dist/cjs/src/subdomain.js.map +1 -0
- package/node_modules/tldts-core/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/node_modules/tldts-core/dist/es6/index.js +4 -0
- package/node_modules/tldts-core/dist/es6/index.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/domain-without-suffix.js +12 -0
- package/node_modules/tldts-core/dist/es6/src/domain-without-suffix.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/domain.js +80 -0
- package/node_modules/tldts-core/dist/es6/src/domain.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/extract-hostname.js +435 -0
- package/node_modules/tldts-core/dist/es6/src/extract-hostname.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/factory.js +123 -0
- package/node_modules/tldts-core/dist/es6/src/factory.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/is-ip.js +69 -0
- package/node_modules/tldts-core/dist/es6/src/is-ip.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/is-special-use.js +62 -0
- package/node_modules/tldts-core/dist/es6/src/is-special-use.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/is-valid.js +77 -0
- package/node_modules/tldts-core/dist/es6/src/is-valid.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js +66 -0
- package/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/lookup/interface.js +2 -0
- package/node_modules/tldts-core/dist/es6/src/lookup/interface.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/options.js +20 -0
- package/node_modules/tldts-core/dist/es6/src/options.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/src/subdomain.js +11 -0
- package/node_modules/tldts-core/dist/es6/src/subdomain.js.map +1 -0
- package/node_modules/tldts-core/dist/es6/tsconfig.bundle.tsbuildinfo +1 -0
- package/node_modules/tldts-core/dist/types/index.d.ts +4 -0
- package/node_modules/tldts-core/dist/types/src/domain-without-suffix.d.ts +6 -0
- package/node_modules/tldts-core/dist/types/src/domain.d.ts +5 -0
- package/node_modules/tldts-core/dist/types/src/extract-hostname.d.ts +17 -0
- package/node_modules/tldts-core/dist/types/src/factory.d.ts +29 -0
- package/node_modules/tldts-core/dist/types/src/is-ip.d.ts +6 -0
- package/node_modules/tldts-core/dist/types/src/is-special-use.d.ts +5 -0
- package/node_modules/tldts-core/dist/types/src/is-valid.d.ts +15 -0
- package/node_modules/tldts-core/dist/types/src/lookup/fast-path.d.ts +2 -0
- package/node_modules/tldts-core/dist/types/src/lookup/interface.d.ts +9 -0
- package/node_modules/tldts-core/dist/types/src/options.d.ts +11 -0
- package/node_modules/tldts-core/dist/types/src/subdomain.d.ts +4 -0
- package/node_modules/tldts-core/index.ts +10 -0
- package/node_modules/tldts-core/package.json +68 -0
- package/node_modules/tldts-core/src/domain-without-suffix.ts +14 -0
- package/node_modules/tldts-core/src/domain.ts +100 -0
- package/node_modules/tldts-core/src/extract-hostname.ts +480 -0
- package/node_modules/tldts-core/src/factory.ts +199 -0
- package/node_modules/tldts-core/src/is-ip.ts +87 -0
- package/node_modules/tldts-core/src/is-special-use.ts +65 -0
- package/node_modules/tldts-core/src/is-valid.ts +89 -0
- package/node_modules/tldts-core/src/lookup/fast-path.ts +80 -0
- package/node_modules/tldts-core/src/lookup/interface.ts +10 -0
- package/node_modules/tldts-core/src/options.ts +45 -0
- package/node_modules/tldts-core/src/subdomain.ts +11 -0
- package/package.json +3 -1
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Implement a factory allowing to plug different implementations of suffix
|
|
3
|
+
* lookup (e.g.: using a trie or the packed hashes datastructures). This is used
|
|
4
|
+
* and exposed in `tldts.ts` and `tldts-experimental.ts` bundle entrypoints.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import getDomain from './domain';
|
|
8
|
+
import getDomainWithoutSuffix from './domain-without-suffix';
|
|
9
|
+
import extractHostname, {
|
|
10
|
+
extractedHostnameValidated,
|
|
11
|
+
} from './extract-hostname';
|
|
12
|
+
import isIp from './is-ip';
|
|
13
|
+
import isSpecialUse from './is-special-use';
|
|
14
|
+
import isValidHostname from './is-valid';
|
|
15
|
+
import { IPublicSuffix, ISuffixLookupOptions } from './lookup/interface';
|
|
16
|
+
import { IOptions, setDefaults } from './options';
|
|
17
|
+
import getSubdomain from './subdomain';
|
|
18
|
+
|
|
19
|
+
export interface IResult {
|
|
20
|
+
// `hostname` is either a registered name (including but not limited to a
|
|
21
|
+
// hostname), or an IP address, directly extracted from the input URL. IPv4
|
|
22
|
+
// addresses are in dot-decimal notation. IPv6 is returned without its
|
|
23
|
+
// surrounding brackets; both bracketed (in URLs, e.g. `http://[::1]/`) and
|
|
24
|
+
// bare unbracketed (e.g. `2a01:e35::1`) IPv6 literals are accepted.
|
|
25
|
+
hostname: string | null;
|
|
26
|
+
|
|
27
|
+
// Is `hostname` an IP? (IPv4 or IPv6)
|
|
28
|
+
isIp: boolean | null;
|
|
29
|
+
|
|
30
|
+
// `hostname` split between subdomain, domain and its public suffix (if any)
|
|
31
|
+
subdomain: string | null;
|
|
32
|
+
domain: string | null;
|
|
33
|
+
publicSuffix: string | null;
|
|
34
|
+
domainWithoutSuffix: string | null;
|
|
35
|
+
|
|
36
|
+
// Specifies if `publicSuffix` comes from the ICANN or PRIVATE section of the list
|
|
37
|
+
isIcann: boolean | null;
|
|
38
|
+
isPrivate: boolean | null;
|
|
39
|
+
|
|
40
|
+
// Is `hostname` a special-use domain from the IANA registry (RFC 6761 et al.:
|
|
41
|
+
// e.g. `localhost`, `*.test`, `*.local`, `*.onion`, `home.arpa`)? `isIcann`/
|
|
42
|
+
// `isPrivate` do not identify these (most are not in the Public Suffix List;
|
|
43
|
+
// the few that are appear as ordinary ICANN suffixes). `null` unless the
|
|
44
|
+
// `detectSpecialUse` option is enabled (see is-special-use.ts).
|
|
45
|
+
isSpecialUse: boolean | null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function getEmptyResult(): IResult {
|
|
49
|
+
return {
|
|
50
|
+
domain: null,
|
|
51
|
+
domainWithoutSuffix: null,
|
|
52
|
+
hostname: null,
|
|
53
|
+
isIcann: null,
|
|
54
|
+
isIp: null,
|
|
55
|
+
isPrivate: null,
|
|
56
|
+
isSpecialUse: null,
|
|
57
|
+
publicSuffix: null,
|
|
58
|
+
subdomain: null,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function resetResult(result: IResult): void {
|
|
63
|
+
result.domain = null;
|
|
64
|
+
result.domainWithoutSuffix = null;
|
|
65
|
+
result.hostname = null;
|
|
66
|
+
result.isIcann = null;
|
|
67
|
+
result.isIp = null;
|
|
68
|
+
result.isPrivate = null;
|
|
69
|
+
result.isSpecialUse = null;
|
|
70
|
+
result.publicSuffix = null;
|
|
71
|
+
result.subdomain = null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Flags representing steps in the `parse` function. They are used to implement
|
|
75
|
+
// an early stop mechanism (simulating some form of laziness) to avoid doing
|
|
76
|
+
// more work than necessary to perform a given action (e.g.: we don't need to
|
|
77
|
+
// extract the domain and subdomain if we are only interested in public suffix).
|
|
78
|
+
export const enum FLAG {
|
|
79
|
+
HOSTNAME,
|
|
80
|
+
IS_VALID,
|
|
81
|
+
PUBLIC_SUFFIX,
|
|
82
|
+
DOMAIN,
|
|
83
|
+
SUB_DOMAIN,
|
|
84
|
+
ALL,
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function parseImpl(
|
|
88
|
+
url: string,
|
|
89
|
+
step: FLAG,
|
|
90
|
+
suffixLookup: (
|
|
91
|
+
_1: string,
|
|
92
|
+
_2: ISuffixLookupOptions,
|
|
93
|
+
_3: IPublicSuffix,
|
|
94
|
+
) => void,
|
|
95
|
+
partialOptions: Partial<IOptions> | undefined,
|
|
96
|
+
result: IResult,
|
|
97
|
+
): IResult {
|
|
98
|
+
const options: IOptions = /*@__INLINE__*/ setDefaults(partialOptions);
|
|
99
|
+
|
|
100
|
+
// Very fast approximate check to make sure `url` is a string. This is needed
|
|
101
|
+
// because the library will not necessarily be used in a typed setup and
|
|
102
|
+
// values of arbitrary types might be given as argument.
|
|
103
|
+
if (typeof url !== 'string') {
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Extract hostname from `url` only if needed. This can be made optional
|
|
108
|
+
// using `options.extractHostname`. This option will typically be used
|
|
109
|
+
// whenever we are sure the inputs to `parse` are already hostnames and not
|
|
110
|
+
// arbitrary URLs.
|
|
111
|
+
//
|
|
112
|
+
// `mixedInput` allows to specify if we expect a mix of URLs and hostnames
|
|
113
|
+
// as input. If only hostnames are expected then `extractHostname` can be
|
|
114
|
+
// set to `false` to speed-up parsing. If only URLs are expected then
|
|
115
|
+
// `mixedInputs` can be set to `false`. The `mixedInputs` is only a hint
|
|
116
|
+
// and will not change the behavior of the library.
|
|
117
|
+
// Whether `url` itself was already a valid hostname (only computed on the
|
|
118
|
+
// mixedInputs path). Lets us skip the post-extraction validation below when
|
|
119
|
+
// extractHostname returned `url` unchanged (same reference).
|
|
120
|
+
let urlIsValid = false;
|
|
121
|
+
if (!options.extractHostname) {
|
|
122
|
+
result.hostname = url;
|
|
123
|
+
} else if (options.mixedInputs) {
|
|
124
|
+
urlIsValid = isValidHostname(url);
|
|
125
|
+
result.hostname = extractHostname(
|
|
126
|
+
url,
|
|
127
|
+
urlIsValid,
|
|
128
|
+
options.validateHostname,
|
|
129
|
+
);
|
|
130
|
+
} else {
|
|
131
|
+
result.hostname = extractHostname(url, false, options.validateHostname);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Check if `hostname` is a valid ip address
|
|
135
|
+
if (options.detectIp && result.hostname !== null) {
|
|
136
|
+
result.isIp = isIp(result.hostname);
|
|
137
|
+
if (result.isIp) {
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Perform hostname validation if enabled. If hostname is not valid, no need to
|
|
143
|
+
// go further as there will be no valid domain or sub-domain. This validation
|
|
144
|
+
// is applied before any early returns to ensure consistent behavior across
|
|
145
|
+
// all API methods including getHostname().
|
|
146
|
+
if (
|
|
147
|
+
options.validateHostname &&
|
|
148
|
+
options.extractHostname &&
|
|
149
|
+
result.hostname !== null &&
|
|
150
|
+
// Skip the re-scan when `url` was already validated and extractHostname
|
|
151
|
+
// returned it unchanged (same reference => identical string, still valid).
|
|
152
|
+
!(urlIsValid && result.hostname === url) &&
|
|
153
|
+
// Skip the re-scan when extractHostname already validated the host inline
|
|
154
|
+
// (a confirmed-valid simple authority — see extract-hostname.ts).
|
|
155
|
+
!extractedHostnameValidated &&
|
|
156
|
+
!isValidHostname(result.hostname)
|
|
157
|
+
) {
|
|
158
|
+
result.hostname = null;
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (step === FLAG.HOSTNAME || result.hostname === null) {
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Flag special-use domains, only when opted in (`detectSpecialUse`) and only
|
|
167
|
+
// for the full `parse()` result (FLAG.ALL). Computed here, before the
|
|
168
|
+
// public-suffix/domain early-returns below, so single-label names like
|
|
169
|
+
// `localhost` (which have no registrable domain) are still flagged.
|
|
170
|
+
if (step === FLAG.ALL && options.detectSpecialUse) {
|
|
171
|
+
result.isSpecialUse = isSpecialUse(result.hostname);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Extract public suffix
|
|
175
|
+
suffixLookup(result.hostname, options, result);
|
|
176
|
+
if (step === FLAG.PUBLIC_SUFFIX || result.publicSuffix === null) {
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Extract domain
|
|
181
|
+
result.domain = getDomain(result.publicSuffix, result.hostname, options);
|
|
182
|
+
if (step === FLAG.DOMAIN || result.domain === null) {
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Extract subdomain
|
|
187
|
+
result.subdomain = getSubdomain(result.hostname, result.domain);
|
|
188
|
+
if (step === FLAG.SUB_DOMAIN) {
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// Extract domain without suffix
|
|
193
|
+
result.domainWithoutSuffix = getDomainWithoutSuffix(
|
|
194
|
+
result.domain,
|
|
195
|
+
result.publicSuffix,
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if a hostname is an IP. You should be aware that this only works
|
|
3
|
+
* because `hostname` is already garanteed to be a valid hostname!
|
|
4
|
+
*/
|
|
5
|
+
function isProbablyIpv4(hostname: string): boolean {
|
|
6
|
+
// Cannot be shorted than 1.1.1.1
|
|
7
|
+
if (hostname.length < 7) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Cannot be longer than: 255.255.255.255
|
|
12
|
+
if (hostname.length > 15) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let numberOfDots = 0;
|
|
17
|
+
|
|
18
|
+
for (let i = 0; i < hostname.length; i += 1) {
|
|
19
|
+
const code = hostname.charCodeAt(i);
|
|
20
|
+
|
|
21
|
+
if (code === 46 /* '.' */) {
|
|
22
|
+
numberOfDots += 1;
|
|
23
|
+
} else if (code < 48 /* '0' */ || code > 57 /* '9' */) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
numberOfDots === 3 &&
|
|
30
|
+
hostname.charCodeAt(0) !== 46 /* '.' */ &&
|
|
31
|
+
hostname.charCodeAt(hostname.length - 1) !== 46 /* '.' */
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Similar to isProbablyIpv4.
|
|
37
|
+
*/
|
|
38
|
+
function isProbablyIpv6(hostname: string): boolean {
|
|
39
|
+
if (hostname.length < 3) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
let start = hostname.startsWith('[') ? 1 : 0;
|
|
44
|
+
let end = hostname.length;
|
|
45
|
+
|
|
46
|
+
if (hostname[end - 1] === ']') {
|
|
47
|
+
end -= 1;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// We only consider the maximum size of a normal IPV6. Note that this will
|
|
51
|
+
// fail on so-called "IPv4 mapped IPv6 addresses" but this is a corner-case
|
|
52
|
+
// and a proper validation library should be used for these.
|
|
53
|
+
if (end - start > 39) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let hasColon = false;
|
|
58
|
+
|
|
59
|
+
for (; start < end; start += 1) {
|
|
60
|
+
const code = hostname.charCodeAt(start);
|
|
61
|
+
|
|
62
|
+
if (code === 58 /* ':' */) {
|
|
63
|
+
hasColon = true;
|
|
64
|
+
} else if (
|
|
65
|
+
!(
|
|
66
|
+
(
|
|
67
|
+
(code >= 48 && code <= 57) || // 0-9
|
|
68
|
+
(code >= 97 && code <= 102) || // a-f
|
|
69
|
+
(code >= 65 && code <= 70)
|
|
70
|
+
) // A-F (RFC 4291 §2.2: an IPv6 hextet is hex digits only)
|
|
71
|
+
)
|
|
72
|
+
) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return hasColon;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check if `hostname` is *probably* a valid ip addr (either ipv6 or ipv4).
|
|
82
|
+
* This *will not* work on any string. We need `hostname` to be a valid
|
|
83
|
+
* hostname.
|
|
84
|
+
*/
|
|
85
|
+
export default function isIp(hostname: string): boolean {
|
|
86
|
+
return isProbablyIpv6(hostname) || isProbablyIpv4(hostname);
|
|
87
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Special-use domain names from the IANA "Special-Use Domain Names" registry:
|
|
3
|
+
* the authoritative list, created by RFC 6761 and maintained as new RFCs add to
|
|
4
|
+
* it: https://www.iana.org/assignments/special-use-domain-names/
|
|
5
|
+
* Snapshot: 2026-05-24. (RFC 6761 is not obsoleted; draft-hoffman-rfc6761bis
|
|
6
|
+
* proposes to retire its prose but keep this registry, so the registry is the
|
|
7
|
+
* source of truth; re-sync this list against it.)
|
|
8
|
+
*
|
|
9
|
+
* These names never correspond to a public registration, yet neither
|
|
10
|
+
* `isIcann` nor `isPrivate` marks one as special-use: most are absent from the
|
|
11
|
+
* Public Suffix List (so `a.test` looks like a registrable domain), and the
|
|
12
|
+
* few that are listed (`onion`, `home.arpa`) appear there as ordinary ICANN
|
|
13
|
+
* suffixes. `isSpecialUse` is the single signal that covers them all.
|
|
14
|
+
*
|
|
15
|
+
* Per the registry and RFC 6761 ("and any names falling within these domains"),
|
|
16
|
+
* the designation covers each listed name AND all of its sub-domains. DNS labels
|
|
17
|
+
* are case-insensitive (RFC 4343); `hostname` is expected to be already
|
|
18
|
+
* lower-cased and trailing-dot-stripped, as produced by `extractHostname`, the
|
|
19
|
+
* same normalization the Public-Suffix-List lookup relies on.
|
|
20
|
+
*
|
|
21
|
+
* Two groups of registry entries are intentionally excluded: the numeric
|
|
22
|
+
* reverse-DNS delegation zones (`10.in-addr.arpa`, the `*.ip6.arpa` ranges, …),
|
|
23
|
+
* which are reverse-DNS PTR zones rather than hostnames and whose parents
|
|
24
|
+
* (`in-addr.arpa`/`ip6.arpa`) are already in the Public Suffix List; and the
|
|
25
|
+
* deprecated `eap-noob.arpa` entry.
|
|
26
|
+
*/
|
|
27
|
+
const SPECIAL_USE_DOMAINS: readonly string[] = [
|
|
28
|
+
'test', // RFC 6761
|
|
29
|
+
'localhost', // RFC 6761
|
|
30
|
+
'invalid', // RFC 6761
|
|
31
|
+
'example', // RFC 6761
|
|
32
|
+
'example.com', // RFC 6761
|
|
33
|
+
'example.net', // RFC 6761
|
|
34
|
+
'example.org', // RFC 6761
|
|
35
|
+
'local', // RFC 6762 (mDNS)
|
|
36
|
+
'onion', // RFC 7686 (Tor)
|
|
37
|
+
'alt', // RFC 9476
|
|
38
|
+
'home.arpa', // RFC 8375
|
|
39
|
+
'ipv4only.arpa', // RFC 8880
|
|
40
|
+
'resolver.arpa', // RFC 9462
|
|
41
|
+
'service.arpa', // RFC 9665
|
|
42
|
+
'6tisch.arpa', // RFC 9031
|
|
43
|
+
'eap.arpa', // RFC 9965
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Return `true` if `hostname` is, or is a sub-domain of, a special-use domain
|
|
48
|
+
* (see the registry note above). Expects an already-normalized `hostname`.
|
|
49
|
+
*/
|
|
50
|
+
export default function isSpecialUse(hostname: string): boolean {
|
|
51
|
+
for (const name of SPECIAL_USE_DOMAINS) {
|
|
52
|
+
// Match on a label boundary: `hostname` is either exactly `name` or ends
|
|
53
|
+
// with `.name` (so `latest` is not matched by `test`, nor `myexample.com`
|
|
54
|
+
// by `example.com`).
|
|
55
|
+
if (
|
|
56
|
+
hostname.endsWith(name) &&
|
|
57
|
+
(hostname.length === name.length ||
|
|
58
|
+
hostname.charCodeAt(hostname.length - name.length - 1) === 46) /* '.' */
|
|
59
|
+
) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Implements fast shallow verification of hostnames. This does not perform a
|
|
3
|
+
* struct check on the content of labels (classes of Unicode characters, etc.)
|
|
4
|
+
* but instead check that the structure is valid (number of labels, length of
|
|
5
|
+
* labels, etc.).
|
|
6
|
+
*
|
|
7
|
+
* If you need stricter validation, consider using an external library.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// KEEP IN SYNC with `extract-hostname.ts` `isValidHostnameChar` + its inline
|
|
11
|
+
// scan/verdict, which duplicate these structural rules to validate during
|
|
12
|
+
// extraction (a perf fusion). That copy additionally accepts A-Z (the host is
|
|
13
|
+
// not yet lowercased there) and folds in '-' / '_'. Any change to the accepted
|
|
14
|
+
// character set or the label/length rules here must be mirrored there.
|
|
15
|
+
function isValidAscii(code: number): boolean {
|
|
16
|
+
return (
|
|
17
|
+
(code >= 97 && code <= 122) || (code >= 48 && code <= 57) || code > 127
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Check if a hostname string is valid. It's usually a preliminary check before
|
|
23
|
+
* trying to use getDomain or anything else.
|
|
24
|
+
*
|
|
25
|
+
* Beware: it does not check if the TLD exists.
|
|
26
|
+
*/
|
|
27
|
+
export default function (hostname: string): boolean {
|
|
28
|
+
if (hostname.length > 255) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (hostname.length === 0) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (
|
|
37
|
+
/*@__INLINE__*/ !isValidAscii(hostname.charCodeAt(0)) &&
|
|
38
|
+
hostname.charCodeAt(0) !== 46 && // '.' (dot)
|
|
39
|
+
hostname.charCodeAt(0) !== 95 // '_' (underscore)
|
|
40
|
+
) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Validate hostname according to RFC
|
|
45
|
+
let lastDotIndex = -1;
|
|
46
|
+
let lastCharCode = -1;
|
|
47
|
+
const len = hostname.length;
|
|
48
|
+
|
|
49
|
+
for (let i = 0; i < len; i += 1) {
|
|
50
|
+
const code = hostname.charCodeAt(i);
|
|
51
|
+
if (code === 46 /* '.' */) {
|
|
52
|
+
if (
|
|
53
|
+
// Check that previous label is < 63 bytes long (64 = 63 + '.')
|
|
54
|
+
i - lastDotIndex > 64 ||
|
|
55
|
+
// Check that previous character was not already a '.'
|
|
56
|
+
lastCharCode === 46 ||
|
|
57
|
+
// Check that the previous label does not end with '-' (RFC 1035 §2.3.1 LDH).
|
|
58
|
+
// '_' is intentionally NOT restricted: DNS allows any octet (RFC 2181 §11) and
|
|
59
|
+
// WHATWG URL does not treat '_' as a forbidden host code point.
|
|
60
|
+
lastCharCode === 45
|
|
61
|
+
) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
lastDotIndex = i;
|
|
66
|
+
} else if (
|
|
67
|
+
// A forbidden character in the label...
|
|
68
|
+
!(/*@__INLINE__*/ (isValidAscii(code) || code === 45 || code === 95)) ||
|
|
69
|
+
// ...or a '-' starting a label (the byte right after a '.'). A label must
|
|
70
|
+
// not begin with a hyphen (RFC 1034 §3.5 / RFC 1035 §2.3.1 LDH, as amended
|
|
71
|
+
// by RFC 1123 §2.1; cf. UTS #46 CheckHyphens). The first label is covered by
|
|
72
|
+
// the leading-character guard above; mirrors the trailing-'-' rule below.
|
|
73
|
+
(code === 45 && lastCharCode === 46)
|
|
74
|
+
) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
lastCharCode = code;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return (
|
|
82
|
+
// Check that last label is shorter than 63 chars
|
|
83
|
+
len - lastDotIndex - 1 <= 63 &&
|
|
84
|
+
// Check that the last character is an allowed trailing label character.
|
|
85
|
+
// Since we already checked that the char is a valid hostname character,
|
|
86
|
+
// we only need to check that it's different from '-'.
|
|
87
|
+
lastCharCode !== 45
|
|
88
|
+
);
|
|
89
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { IPublicSuffix, ISuffixLookupOptions } from './interface';
|
|
2
|
+
|
|
3
|
+
export default function (
|
|
4
|
+
hostname: string,
|
|
5
|
+
options: ISuffixLookupOptions,
|
|
6
|
+
out: IPublicSuffix,
|
|
7
|
+
): boolean {
|
|
8
|
+
// Fast path for very popular suffixes; this allows to by-pass lookup
|
|
9
|
+
// completely as well as any extra allocation or string manipulation.
|
|
10
|
+
if (!options.allowPrivateDomains && hostname.length > 3) {
|
|
11
|
+
const last: number = hostname.length - 1;
|
|
12
|
+
const c3: number = hostname.charCodeAt(last);
|
|
13
|
+
const c2: number = hostname.charCodeAt(last - 1);
|
|
14
|
+
const c1: number = hostname.charCodeAt(last - 2);
|
|
15
|
+
const c0: number = hostname.charCodeAt(last - 3);
|
|
16
|
+
|
|
17
|
+
if (
|
|
18
|
+
c3 === 109 /* 'm' */ &&
|
|
19
|
+
c2 === 111 /* 'o' */ &&
|
|
20
|
+
c1 === 99 /* 'c' */ &&
|
|
21
|
+
c0 === 46 /* '.' */
|
|
22
|
+
) {
|
|
23
|
+
out.isIcann = true;
|
|
24
|
+
out.isPrivate = false;
|
|
25
|
+
out.publicSuffix = 'com';
|
|
26
|
+
return true;
|
|
27
|
+
} else if (
|
|
28
|
+
c3 === 103 /* 'g' */ &&
|
|
29
|
+
c2 === 114 /* 'r' */ &&
|
|
30
|
+
c1 === 111 /* 'o' */ &&
|
|
31
|
+
c0 === 46 /* '.' */
|
|
32
|
+
) {
|
|
33
|
+
out.isIcann = true;
|
|
34
|
+
out.isPrivate = false;
|
|
35
|
+
out.publicSuffix = 'org';
|
|
36
|
+
return true;
|
|
37
|
+
} else if (
|
|
38
|
+
c3 === 117 /* 'u' */ &&
|
|
39
|
+
c2 === 100 /* 'd' */ &&
|
|
40
|
+
c1 === 101 /* 'e' */ &&
|
|
41
|
+
c0 === 46 /* '.' */
|
|
42
|
+
) {
|
|
43
|
+
out.isIcann = true;
|
|
44
|
+
out.isPrivate = false;
|
|
45
|
+
out.publicSuffix = 'edu';
|
|
46
|
+
return true;
|
|
47
|
+
} else if (
|
|
48
|
+
c3 === 118 /* 'v' */ &&
|
|
49
|
+
c2 === 111 /* 'o' */ &&
|
|
50
|
+
c1 === 103 /* 'g' */ &&
|
|
51
|
+
c0 === 46 /* '.' */
|
|
52
|
+
) {
|
|
53
|
+
out.isIcann = true;
|
|
54
|
+
out.isPrivate = false;
|
|
55
|
+
out.publicSuffix = 'gov';
|
|
56
|
+
return true;
|
|
57
|
+
} else if (
|
|
58
|
+
c3 === 116 /* 't' */ &&
|
|
59
|
+
c2 === 101 /* 'e' */ &&
|
|
60
|
+
c1 === 110 /* 'n' */ &&
|
|
61
|
+
c0 === 46 /* '.' */
|
|
62
|
+
) {
|
|
63
|
+
out.isIcann = true;
|
|
64
|
+
out.isPrivate = false;
|
|
65
|
+
out.publicSuffix = 'net';
|
|
66
|
+
return true;
|
|
67
|
+
} else if (
|
|
68
|
+
c3 === 101 /* 'e' */ &&
|
|
69
|
+
c2 === 100 /* 'd' */ &&
|
|
70
|
+
c1 === 46 /* '.' */
|
|
71
|
+
) {
|
|
72
|
+
out.isIcann = true;
|
|
73
|
+
out.isPrivate = false;
|
|
74
|
+
out.publicSuffix = 'de';
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface IOptions {
|
|
2
|
+
allowIcannDomains: boolean;
|
|
3
|
+
allowPrivateDomains: boolean;
|
|
4
|
+
detectIp: boolean;
|
|
5
|
+
// Detect RFC 6761 / IANA special-use domains and expose the result as
|
|
6
|
+
// `isSpecialUse` on `parse()`. Off by default so the common path stays
|
|
7
|
+
// allocation-free with no extra work; enable it to populate the field.
|
|
8
|
+
detectSpecialUse: boolean;
|
|
9
|
+
extractHostname: boolean;
|
|
10
|
+
mixedInputs: boolean;
|
|
11
|
+
validHosts: string[] | null;
|
|
12
|
+
validateHostname: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function setDefaultsImpl({
|
|
16
|
+
allowIcannDomains = true,
|
|
17
|
+
allowPrivateDomains = false,
|
|
18
|
+
detectIp = true,
|
|
19
|
+
detectSpecialUse = false,
|
|
20
|
+
extractHostname = true,
|
|
21
|
+
mixedInputs = true,
|
|
22
|
+
validHosts = null,
|
|
23
|
+
validateHostname = true,
|
|
24
|
+
}: Partial<IOptions>): IOptions {
|
|
25
|
+
return {
|
|
26
|
+
allowIcannDomains,
|
|
27
|
+
allowPrivateDomains,
|
|
28
|
+
detectIp,
|
|
29
|
+
detectSpecialUse,
|
|
30
|
+
extractHostname,
|
|
31
|
+
mixedInputs,
|
|
32
|
+
validHosts,
|
|
33
|
+
validateHostname,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const DEFAULT_OPTIONS = /*@__INLINE__*/ setDefaultsImpl({});
|
|
38
|
+
|
|
39
|
+
export function setDefaults(options?: Partial<IOptions>): IOptions {
|
|
40
|
+
if (options === undefined) {
|
|
41
|
+
return DEFAULT_OPTIONS;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return /*@__INLINE__*/ setDefaultsImpl(options);
|
|
45
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the subdomain of a hostname string
|
|
3
|
+
*/
|
|
4
|
+
export default function getSubdomain(hostname: string, domain: string): string {
|
|
5
|
+
// If `hostname` and `domain` are the same, then there is no sub-domain
|
|
6
|
+
if (domain.length === hostname.length) {
|
|
7
|
+
return '';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return hostname.slice(0, -domain.length - 1);
|
|
11
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/one",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.95.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -174,6 +174,8 @@
|
|
|
174
174
|
"statuses",
|
|
175
175
|
"stripe",
|
|
176
176
|
"tailwindcss",
|
|
177
|
+
"tldts",
|
|
178
|
+
"tldts-core",
|
|
177
179
|
"toidentifier",
|
|
178
180
|
"tslib",
|
|
179
181
|
"typescript",
|