@vellumai/credential-executor 0.4.55 → 0.4.56
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/Dockerfile +6 -2
- package/node_modules/@vellumai/ces-contracts/bun.lock +29 -0
- package/node_modules/@vellumai/ces-contracts/package.json +24 -0
- package/node_modules/@vellumai/ces-contracts/src/__tests__/contracts.test.ts +293 -0
- package/node_modules/@vellumai/ces-contracts/src/__tests__/grants.test.ts +686 -0
- package/node_modules/@vellumai/ces-contracts/src/error.ts +25 -0
- package/node_modules/@vellumai/ces-contracts/src/grants.ts +184 -0
- package/node_modules/@vellumai/ces-contracts/src/handles.ts +213 -0
- package/node_modules/@vellumai/ces-contracts/src/index.ts +147 -0
- package/node_modules/@vellumai/ces-contracts/src/rendering.ts +135 -0
- package/node_modules/@vellumai/ces-contracts/src/rpc.ts +511 -0
- package/node_modules/@vellumai/ces-contracts/tsconfig.json +20 -0
- package/node_modules/@vellumai/credential-storage/bun.lock +24 -0
- package/node_modules/@vellumai/credential-storage/package.json +17 -0
- package/node_modules/@vellumai/credential-storage/src/__tests__/package-boundary.test.ts +151 -0
- package/node_modules/@vellumai/credential-storage/src/index.ts +213 -0
- package/node_modules/@vellumai/credential-storage/src/oauth-runtime.ts +340 -0
- package/node_modules/@vellumai/credential-storage/src/static-credentials.ts +365 -0
- package/node_modules/@vellumai/credential-storage/tsconfig.json +20 -0
- package/node_modules/@vellumai/egress-proxy/bun.lock +24 -0
- package/node_modules/@vellumai/egress-proxy/package.json +17 -0
- package/node_modules/@vellumai/egress-proxy/src/__tests__/package-boundary.test.ts +131 -0
- package/node_modules/@vellumai/egress-proxy/src/index.ts +54 -0
- package/node_modules/@vellumai/egress-proxy/src/session-core.ts +466 -0
- package/node_modules/@vellumai/egress-proxy/src/types.ts +227 -0
- package/node_modules/@vellumai/egress-proxy/tsconfig.json +20 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +208 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +6 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +6 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +51 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1798 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +138 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +448 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +183 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
- package/node_modules/zod/src/v4/core/util.ts +966 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/en.ts +119 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +116 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +49 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +116 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +6 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +15 -0
- package/node_modules/zod/v4/classic/external.d.ts +15 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +6 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
- package/node_modules/zod/v4/classic/schemas.js +1157 -0
- package/node_modules/zod/v4/core/api.cjs +1222 -0
- package/node_modules/zod/v4/core/api.d.cts +304 -0
- package/node_modules/zod/v4/core/api.d.ts +304 -0
- package/node_modules/zod/v4/core/api.js +1082 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +83 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +76 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +213 -0
- package/node_modules/zod/v4/core/errors.d.cts +220 -0
- package/node_modules/zod/v4/core/errors.d.ts +220 -0
- package/node_modules/zod/v4/core/errors.js +182 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +6 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +166 -0
- package/node_modules/zod/v4/core/regexes.d.cts +79 -0
- package/node_modules/zod/v4/core/regexes.d.ts +79 -0
- package/node_modules/zod/v4/core/regexes.js +133 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2124 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
- package/node_modules/zod/v4/core/schemas.js +2093 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +437 -0
- package/node_modules/zod/v4/core/util.cjs +710 -0
- package/node_modules/zod/v4/core/util.d.cts +199 -0
- package/node_modules/zod/v4/core/util.d.ts +199 -0
- package/node_modules/zod/v4/core/util.js +651 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/en.cjs +136 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +109 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +135 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +108 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +104 -0
- package/node_modules/zod/v4/locales/index.d.cts +49 -0
- package/node_modules/zod/v4/locales/index.d.ts +49 -0
- package/node_modules/zod/v4/locales/index.js +49 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +6 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +136 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +109 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +12 -0
- package/node_modules/zod/v4/mini/external.d.ts +12 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +6 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
- package/node_modules/zod/v4/mini/schemas.js +925 -0
- package/node_modules/zod/v4/package.json +6 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +6 -0
- package/package.json +3 -2
- package/src/__tests__/command-executor.test.ts +575 -60
- package/src/__tests__/command-validator.test.ts +697 -0
- package/src/__tests__/command-workspace.test.ts +30 -0
- package/src/__tests__/grant-store.test.ts +151 -33
- package/src/__tests__/http-executor.test.ts +106 -16
- package/src/__tests__/http-policy.test.ts +121 -22
- package/src/__tests__/local-materializers.test.ts +34 -0
- package/src/__tests__/managed-integration.test.ts +633 -0
- package/src/__tests__/managed-lazy-getters.test.ts +245 -0
- package/src/__tests__/managed-materializers.test.ts +107 -38
- package/src/__tests__/managed-rejection.test.ts +43 -0
- package/src/__tests__/toolstore.test.ts +207 -18
- package/src/__tests__/transport.test.ts +26 -6
- package/src/commands/auth-adapters.ts +2 -2
- package/src/commands/egress-hooks.ts +203 -0
- package/src/commands/executor.ts +403 -87
- package/src/commands/profiles.ts +4 -0
- package/src/commands/validator.ts +267 -3
- package/src/commands/workspace.ts +59 -21
- package/src/grants/index.ts +1 -1
- package/src/grants/persistent-store.ts +79 -17
- package/src/grants/rpc-handlers.ts +67 -43
- package/src/grants/temporary-store.ts +26 -19
- package/src/http/executor.ts +170 -25
- package/src/http/path-template.ts +75 -9
- package/src/http/policy.ts +9 -27
- package/src/index.ts +3 -0
- package/src/main.ts +102 -43
- package/src/managed-errors.ts +9 -0
- package/src/managed-lazy-getters.ts +70 -0
- package/src/managed-main.ts +191 -65
- package/src/materializers/local-oauth-lookup.ts +97 -0
- package/src/materializers/local-secure-key-backend.ts +254 -0
- package/src/materializers/local-token-refresh.ts +263 -0
- package/src/materializers/local.ts +21 -5
- package/src/materializers/managed-platform.ts +50 -25
- package/src/paths.ts +28 -10
- package/src/server.ts +147 -11
- package/src/subjects/managed.ts +33 -12
- package/src/subjects/policy.ts +79 -0
- package/src/toolstore/publish.ts +236 -7
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical proposal rendering and deterministic hashing.
|
|
3
|
+
*
|
|
4
|
+
* Both the assistant and CES must produce identical human-readable text and
|
|
5
|
+
* proposal hashes for the same proposal object. This module provides the
|
|
6
|
+
* shared implementations so neither side has to duplicate the logic.
|
|
7
|
+
*
|
|
8
|
+
* Hashing algorithm:
|
|
9
|
+
* 1. Recursively sort object keys (depth-first).
|
|
10
|
+
* 2. Serialize to a canonical JSON string with no whitespace.
|
|
11
|
+
* 3. SHA-256 hash the UTF-8 bytes and return a lowercase hex digest.
|
|
12
|
+
*
|
|
13
|
+
* This matches the algorithm used by `tool-approval-digest.ts` in the
|
|
14
|
+
* assistant, ensuring consistency across the approval pipeline.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { createHash } from "node:crypto";
|
|
18
|
+
import type { GrantProposal } from "./grants.js";
|
|
19
|
+
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Canonical JSON serialization
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Recursively sort all object keys and return a deterministic JSON string.
|
|
26
|
+
*
|
|
27
|
+
* Handles nested objects, arrays (element order preserved), and primitive
|
|
28
|
+
* values. `undefined` values inside objects are omitted (matching
|
|
29
|
+
* JSON.stringify semantics). `null` is preserved.
|
|
30
|
+
*/
|
|
31
|
+
export function canonicalJsonSerialize(value: unknown): string {
|
|
32
|
+
return JSON.stringify(sortKeysDeep(value));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function sortKeysDeep(value: unknown): unknown {
|
|
36
|
+
if (value == null) return value;
|
|
37
|
+
|
|
38
|
+
if (Array.isArray(value)) {
|
|
39
|
+
return value.map(sortKeysDeep);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (typeof value === "object") {
|
|
43
|
+
const sorted: Record<string, unknown> = {};
|
|
44
|
+
const keys = Object.keys(value as Record<string, unknown>).sort();
|
|
45
|
+
for (const key of keys) {
|
|
46
|
+
sorted[key] = sortKeysDeep((value as Record<string, unknown>)[key]);
|
|
47
|
+
}
|
|
48
|
+
return sorted;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Primitive — number, string, boolean
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Proposal hashing
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Compute a deterministic SHA-256 hex digest for a grant proposal.
|
|
61
|
+
*
|
|
62
|
+
* Two proposals with the same canonical content (regardless of key ordering)
|
|
63
|
+
* will always produce the same hash. This hash is used to match grant
|
|
64
|
+
* decisions to proposals in the approval pipeline.
|
|
65
|
+
*/
|
|
66
|
+
export function hashProposal(proposal: GrantProposal): string {
|
|
67
|
+
const canonical = canonicalJsonSerialize(proposal);
|
|
68
|
+
return createHash("sha256").update(canonical, "utf8").digest("hex");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
// Human-readable proposal rendering
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Render a grant proposal as a human-readable text block suitable for
|
|
77
|
+
* display in approval UIs and guardian notifications.
|
|
78
|
+
*
|
|
79
|
+
* The rendering is deterministic for the same proposal, so both assistant
|
|
80
|
+
* and CES produce identical text.
|
|
81
|
+
*/
|
|
82
|
+
export function renderProposal(proposal: GrantProposal): string {
|
|
83
|
+
switch (proposal.type) {
|
|
84
|
+
case "http":
|
|
85
|
+
return renderHttpProposal(proposal);
|
|
86
|
+
case "command":
|
|
87
|
+
return renderCommandProposal(proposal);
|
|
88
|
+
default: {
|
|
89
|
+
const _exhaustive: never = proposal;
|
|
90
|
+
throw new Error(`Unknown proposal type: ${(_exhaustive as GrantProposal).type}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function renderHttpProposal(proposal: GrantProposal & { type: "http" }): string {
|
|
96
|
+
const lines: string[] = [
|
|
97
|
+
`Authenticated HTTP Request`,
|
|
98
|
+
` Method: ${proposal.method}`,
|
|
99
|
+
` URL: ${proposal.url}`,
|
|
100
|
+
` Credential: ${proposal.credentialHandle}`,
|
|
101
|
+
` Purpose: ${proposal.purpose}`,
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
if (proposal.allowedUrlPatterns && proposal.allowedUrlPatterns.length > 0) {
|
|
105
|
+
lines.push(` Allowed URL patterns:`);
|
|
106
|
+
for (const pattern of proposal.allowedUrlPatterns) {
|
|
107
|
+
lines.push(` - ${pattern}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return lines.join("\n");
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function renderCommandProposal(
|
|
115
|
+
proposal: GrantProposal & { type: "command" },
|
|
116
|
+
): string {
|
|
117
|
+
const lines: string[] = [
|
|
118
|
+
`Authenticated Command Execution`,
|
|
119
|
+
` Command: ${proposal.command}`,
|
|
120
|
+
` Credential: ${proposal.credentialHandle}`,
|
|
121
|
+
` Purpose: ${proposal.purpose}`,
|
|
122
|
+
];
|
|
123
|
+
|
|
124
|
+
if (
|
|
125
|
+
proposal.allowedCommandPatterns &&
|
|
126
|
+
proposal.allowedCommandPatterns.length > 0
|
|
127
|
+
) {
|
|
128
|
+
lines.push(` Allowed command patterns:`);
|
|
129
|
+
for (const pattern of proposal.allowedCommandPatterns) {
|
|
130
|
+
lines.push(` - ${pattern}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return lines.join("\n");
|
|
135
|
+
}
|
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CES RPC method contracts.
|
|
3
|
+
*
|
|
4
|
+
* Defines the request and response schemas for every RPC method in the
|
|
5
|
+
* assistant-to-CES wire protocol. Each method has a canonical string
|
|
6
|
+
* name, a request schema, and a response schema.
|
|
7
|
+
*
|
|
8
|
+
* Methods:
|
|
9
|
+
*
|
|
10
|
+
* **Tool execution**
|
|
11
|
+
* - `make_authenticated_request` — Execute an authenticated HTTP request
|
|
12
|
+
* - `run_authenticated_command` — Execute a command with credential env vars
|
|
13
|
+
* - `manage_secure_command_tool` — Register/unregister a secure command tool
|
|
14
|
+
*
|
|
15
|
+
* **Approval flow**
|
|
16
|
+
* - `approval_required` — CES notifies the assistant that approval is needed
|
|
17
|
+
* - `record_grant` — Record a grant decision after guardian approval
|
|
18
|
+
*
|
|
19
|
+
* **Grant management**
|
|
20
|
+
* - `list_grants` — List grants for a CES connection
|
|
21
|
+
* - `revoke_grant` — Revoke a specific grant
|
|
22
|
+
*
|
|
23
|
+
* **Audit**
|
|
24
|
+
* - `list_audit_records` — List audit records for inspection
|
|
25
|
+
*
|
|
26
|
+
* **Lifecycle**
|
|
27
|
+
* - `update_managed_credential` — Push an updated API key to CES after hatch
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
import { z } from "zod/v4";
|
|
31
|
+
import {
|
|
32
|
+
AuditRecordSummarySchema,
|
|
33
|
+
GrantProposalSchema,
|
|
34
|
+
PersistentGrantRecordSchema,
|
|
35
|
+
TemporaryGrantDecisionSchema,
|
|
36
|
+
} from "./grants.js";
|
|
37
|
+
import { RpcErrorSchema } from "./error.js";
|
|
38
|
+
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Method name constants
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
|
|
43
|
+
export const CesRpcMethod = {
|
|
44
|
+
MakeAuthenticatedRequest: "make_authenticated_request",
|
|
45
|
+
RunAuthenticatedCommand: "run_authenticated_command",
|
|
46
|
+
ManageSecureCommandTool: "manage_secure_command_tool",
|
|
47
|
+
ApprovalRequired: "approval_required",
|
|
48
|
+
RecordGrant: "record_grant",
|
|
49
|
+
ListGrants: "list_grants",
|
|
50
|
+
RevokeGrant: "revoke_grant",
|
|
51
|
+
ListAuditRecords: "list_audit_records",
|
|
52
|
+
/** Push an updated assistant credential to CES after post-hatch provisioning. */
|
|
53
|
+
UpdateManagedCredential: "update_managed_credential",
|
|
54
|
+
} as const;
|
|
55
|
+
|
|
56
|
+
export type CesRpcMethod =
|
|
57
|
+
(typeof CesRpcMethod)[keyof typeof CesRpcMethod];
|
|
58
|
+
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// make_authenticated_request
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
|
|
63
|
+
export const MakeAuthenticatedRequestSchema = z.object({
|
|
64
|
+
/** CES credential handle to use for authentication. */
|
|
65
|
+
credentialHandle: z.string(),
|
|
66
|
+
/** HTTP method. */
|
|
67
|
+
method: z.string(),
|
|
68
|
+
/** Target URL. */
|
|
69
|
+
url: z.string(),
|
|
70
|
+
/** Optional request headers (credential headers are injected by CES). */
|
|
71
|
+
headers: z.record(z.string(), z.string()).optional(),
|
|
72
|
+
/** Optional request body (string or JSON-serialisable). */
|
|
73
|
+
body: z.unknown().optional(),
|
|
74
|
+
/** Human-readable purpose for audit logging. */
|
|
75
|
+
purpose: z.string(),
|
|
76
|
+
/** Existing grant ID to consume, if the caller holds one. */
|
|
77
|
+
grantId: z.string().optional(),
|
|
78
|
+
/** Conversation ID for conversation-scoped temporary grants. */
|
|
79
|
+
conversationId: z.string().optional(),
|
|
80
|
+
});
|
|
81
|
+
export type MakeAuthenticatedRequest = z.infer<
|
|
82
|
+
typeof MakeAuthenticatedRequestSchema
|
|
83
|
+
>;
|
|
84
|
+
|
|
85
|
+
export const MakeAuthenticatedRequestResponseSchema = z.object({
|
|
86
|
+
/** Whether the request was executed (not whether the HTTP call succeeded). */
|
|
87
|
+
success: z.boolean(),
|
|
88
|
+
/** HTTP status code returned by the target. */
|
|
89
|
+
statusCode: z.number().optional(),
|
|
90
|
+
/** Response headers. */
|
|
91
|
+
responseHeaders: z.record(z.string(), z.string()).optional(),
|
|
92
|
+
/** Response body (string). */
|
|
93
|
+
responseBody: z.string().optional(),
|
|
94
|
+
/** Structured error if execution failed. */
|
|
95
|
+
error: RpcErrorSchema.optional(),
|
|
96
|
+
/** Audit record ID for this execution. */
|
|
97
|
+
auditId: z.string().optional(),
|
|
98
|
+
});
|
|
99
|
+
export type MakeAuthenticatedRequestResponse = z.infer<
|
|
100
|
+
typeof MakeAuthenticatedRequestResponseSchema
|
|
101
|
+
>;
|
|
102
|
+
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
// run_authenticated_command
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* A file to stage from the assistant workspace into the CES scratch directory.
|
|
109
|
+
*/
|
|
110
|
+
const WorkspaceInputSchema = z.object({
|
|
111
|
+
/** Relative path within the assistant workspace directory. */
|
|
112
|
+
workspacePath: z.string(),
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* A file the command produces in the scratch directory that should be
|
|
117
|
+
* copied back to the assistant workspace after execution.
|
|
118
|
+
*/
|
|
119
|
+
const WorkspaceOutputSchema = z.object({
|
|
120
|
+
/** Relative path within the scratch directory where the command writes output. */
|
|
121
|
+
scratchPath: z.string(),
|
|
122
|
+
/** Relative path within the assistant workspace where the output is copied. */
|
|
123
|
+
workspacePath: z.string(),
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export const RunAuthenticatedCommandSchema = z.object({
|
|
127
|
+
/** CES credential handle to use for environment injection. */
|
|
128
|
+
credentialHandle: z.string(),
|
|
129
|
+
/** Secure command reference in format '<bundleDigest>/<profileName> [argv...]'. Only manifest-driven secure commands are supported. */
|
|
130
|
+
command: z.string(),
|
|
131
|
+
/** Optional path used for resolving workspace input/output staging, not as the actual execution working directory (CES always runs commands in the scratch directory). */
|
|
132
|
+
cwd: z.string().optional(),
|
|
133
|
+
/** Workspace files to stage as read-only inputs in the CES scratch directory. */
|
|
134
|
+
inputs: z.array(WorkspaceInputSchema).optional(),
|
|
135
|
+
/** Workspace files to copy back from the CES scratch directory after execution. */
|
|
136
|
+
outputs: z.array(WorkspaceOutputSchema).optional(),
|
|
137
|
+
/** Human-readable purpose for audit logging. */
|
|
138
|
+
purpose: z.string(),
|
|
139
|
+
/** Existing grant ID to consume, if the caller holds one. */
|
|
140
|
+
grantId: z.string().optional(),
|
|
141
|
+
/** Conversation ID for conversation-scoped temporary grants. */
|
|
142
|
+
conversationId: z.string().optional(),
|
|
143
|
+
});
|
|
144
|
+
export type RunAuthenticatedCommand = z.infer<
|
|
145
|
+
typeof RunAuthenticatedCommandSchema
|
|
146
|
+
>;
|
|
147
|
+
|
|
148
|
+
export const RunAuthenticatedCommandResponseSchema = z.object({
|
|
149
|
+
/** Whether the command was executed. */
|
|
150
|
+
success: z.boolean(),
|
|
151
|
+
/** Process exit code. */
|
|
152
|
+
exitCode: z.number().optional(),
|
|
153
|
+
/** Combined stdout output. */
|
|
154
|
+
stdout: z.string().optional(),
|
|
155
|
+
/** Combined stderr output. */
|
|
156
|
+
stderr: z.string().optional(),
|
|
157
|
+
/** Structured error if execution failed. */
|
|
158
|
+
error: RpcErrorSchema.optional(),
|
|
159
|
+
/** Audit record ID for this execution. */
|
|
160
|
+
auditId: z.string().optional(),
|
|
161
|
+
});
|
|
162
|
+
export type RunAuthenticatedCommandResponse = z.infer<
|
|
163
|
+
typeof RunAuthenticatedCommandResponseSchema
|
|
164
|
+
>;
|
|
165
|
+
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
// manage_secure_command_tool
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
|
|
170
|
+
export const ManageSecureCommandToolAction = {
|
|
171
|
+
Register: "register",
|
|
172
|
+
Unregister: "unregister",
|
|
173
|
+
} as const;
|
|
174
|
+
|
|
175
|
+
export type ManageSecureCommandToolAction =
|
|
176
|
+
(typeof ManageSecureCommandToolAction)[keyof typeof ManageSecureCommandToolAction];
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Zod schema for allowed argv patterns within a command profile.
|
|
180
|
+
*/
|
|
181
|
+
const AllowedArgvPatternSchema = z.object({
|
|
182
|
+
name: z.string(),
|
|
183
|
+
tokens: z.array(z.string()),
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Zod schema for allowed network targets within a command profile.
|
|
188
|
+
*/
|
|
189
|
+
const AllowedNetworkTargetSchema = z.object({
|
|
190
|
+
hostPattern: z.string(),
|
|
191
|
+
ports: z.array(z.number()).optional(),
|
|
192
|
+
protocols: z.array(z.enum(["http", "https"])).optional(),
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Zod schema for a single command profile within a secure command manifest.
|
|
197
|
+
*/
|
|
198
|
+
const CommandProfileSchema = z.object({
|
|
199
|
+
description: z.string(),
|
|
200
|
+
allowedArgvPatterns: z.array(AllowedArgvPatternSchema),
|
|
201
|
+
deniedSubcommands: z.array(z.string()),
|
|
202
|
+
deniedFlags: z.array(z.string()).optional(),
|
|
203
|
+
allowedNetworkTargets: z.array(AllowedNetworkTargetSchema).optional(),
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Zod schema for auth adapter configuration (discriminated union on `type`).
|
|
208
|
+
*/
|
|
209
|
+
const AuthAdapterConfigSchema = z.discriminatedUnion("type", [
|
|
210
|
+
z.object({
|
|
211
|
+
type: z.literal("env_var"),
|
|
212
|
+
envVarName: z.string(),
|
|
213
|
+
valuePrefix: z.string().optional(),
|
|
214
|
+
}),
|
|
215
|
+
z.object({
|
|
216
|
+
type: z.literal("temp_file"),
|
|
217
|
+
envVarName: z.string(),
|
|
218
|
+
fileExtension: z.string().optional(),
|
|
219
|
+
fileMode: z.number().optional(),
|
|
220
|
+
}),
|
|
221
|
+
z.object({
|
|
222
|
+
type: z.literal("credential_process"),
|
|
223
|
+
envVarName: z.string(),
|
|
224
|
+
helperCommand: z.string(),
|
|
225
|
+
timeoutMs: z.number().optional(),
|
|
226
|
+
}),
|
|
227
|
+
]);
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Zod schema for the full secure command manifest passed during register.
|
|
231
|
+
* This mirrors the {@link SecureCommandManifest} interface in
|
|
232
|
+
* `credential-executor/src/commands/profiles.ts`.
|
|
233
|
+
*/
|
|
234
|
+
export const SecureCommandManifestSchema = z.object({
|
|
235
|
+
schemaVersion: z.string(),
|
|
236
|
+
bundleDigest: z.string(),
|
|
237
|
+
bundleId: z.string(),
|
|
238
|
+
version: z.string(),
|
|
239
|
+
entrypoint: z.string(),
|
|
240
|
+
commandProfiles: z.record(z.string(), CommandProfileSchema),
|
|
241
|
+
authAdapter: AuthAdapterConfigSchema,
|
|
242
|
+
egressMode: z.enum(["proxy_required", "no_network"]),
|
|
243
|
+
cleanConfigDirs: z.record(z.string(), z.string()).optional(),
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
export const ManageSecureCommandToolSchema = z.object({
|
|
247
|
+
/** Whether to register or unregister the tool. */
|
|
248
|
+
action: z.enum(["register", "unregister"]),
|
|
249
|
+
/** Tool name to register/unregister. */
|
|
250
|
+
toolName: z.string(),
|
|
251
|
+
/** CES credential handle the tool should use (required for register). */
|
|
252
|
+
credentialHandle: z.string().optional(),
|
|
253
|
+
/** Human-readable description of the tool (required for register). */
|
|
254
|
+
description: z.string().optional(),
|
|
255
|
+
/** Bundle identifier for the secure command package (required for register). */
|
|
256
|
+
bundleId: z.string().optional(),
|
|
257
|
+
/** Semantic version of the bundle to install (required for register). */
|
|
258
|
+
version: z.string().optional(),
|
|
259
|
+
/** HTTPS URL from which CES will download the bundle (required for register). */
|
|
260
|
+
sourceUrl: z.string().optional(),
|
|
261
|
+
/** SHA-256 hex digest of the bundle for integrity verification (required for register). */
|
|
262
|
+
sha256: z.string().optional(),
|
|
263
|
+
/**
|
|
264
|
+
* Full secure command manifest for the bundle (required for register).
|
|
265
|
+
* Contains entrypoint, command profiles, auth adapter, egress mode, etc.
|
|
266
|
+
* CES validates this manifest before publishing the bundle.
|
|
267
|
+
*/
|
|
268
|
+
secureCommandManifest: SecureCommandManifestSchema.optional(),
|
|
269
|
+
});
|
|
270
|
+
export type ManageSecureCommandTool = z.infer<
|
|
271
|
+
typeof ManageSecureCommandToolSchema
|
|
272
|
+
>;
|
|
273
|
+
|
|
274
|
+
export const ManageSecureCommandToolResponseSchema = z.object({
|
|
275
|
+
/** Whether the operation succeeded. */
|
|
276
|
+
success: z.boolean(),
|
|
277
|
+
/** Structured error if the operation failed. */
|
|
278
|
+
error: RpcErrorSchema.optional(),
|
|
279
|
+
});
|
|
280
|
+
export type ManageSecureCommandToolResponse = z.infer<
|
|
281
|
+
typeof ManageSecureCommandToolResponseSchema
|
|
282
|
+
>;
|
|
283
|
+
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
// approval_required (CES → assistant notification)
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
|
|
288
|
+
export const ApprovalRequiredSchema = z.object({
|
|
289
|
+
/** The proposal that requires approval. */
|
|
290
|
+
proposal: GrantProposalSchema,
|
|
291
|
+
/** Deterministic hash of the proposal. */
|
|
292
|
+
proposalHash: z.string(),
|
|
293
|
+
/** Human-readable rendering of the proposal. */
|
|
294
|
+
renderedProposal: z.string(),
|
|
295
|
+
/** The CES connection requesting approval. */
|
|
296
|
+
sessionId: z.string(),
|
|
297
|
+
/** The conversation ID for conversation-scoped grants. */
|
|
298
|
+
conversationId: z.string().optional(),
|
|
299
|
+
});
|
|
300
|
+
export type ApprovalRequired = z.infer<typeof ApprovalRequiredSchema>;
|
|
301
|
+
|
|
302
|
+
export const ApprovalRequiredResponseSchema = z.object({
|
|
303
|
+
/** Whether the assistant acknowledged the approval request. */
|
|
304
|
+
acknowledged: z.boolean(),
|
|
305
|
+
});
|
|
306
|
+
export type ApprovalRequiredResponse = z.infer<
|
|
307
|
+
typeof ApprovalRequiredResponseSchema
|
|
308
|
+
>;
|
|
309
|
+
|
|
310
|
+
// ---------------------------------------------------------------------------
|
|
311
|
+
// record_grant
|
|
312
|
+
// ---------------------------------------------------------------------------
|
|
313
|
+
|
|
314
|
+
export const RecordGrantSchema = z.object({
|
|
315
|
+
/** The grant decision from the guardian. */
|
|
316
|
+
decision: TemporaryGrantDecisionSchema,
|
|
317
|
+
/** The CES connection this grant applies to. */
|
|
318
|
+
sessionId: z.string(),
|
|
319
|
+
/** The conversation ID for conversation-scoped grants. */
|
|
320
|
+
conversationId: z.string().optional(),
|
|
321
|
+
});
|
|
322
|
+
export type RecordGrant = z.infer<typeof RecordGrantSchema>;
|
|
323
|
+
|
|
324
|
+
export const RecordGrantResponseSchema = z.object({
|
|
325
|
+
/** Whether the grant was successfully recorded. */
|
|
326
|
+
success: z.boolean(),
|
|
327
|
+
/** The persisted grant record (when approved and recorded). */
|
|
328
|
+
grant: PersistentGrantRecordSchema.optional(),
|
|
329
|
+
/** Structured error if recording failed. */
|
|
330
|
+
error: RpcErrorSchema.optional(),
|
|
331
|
+
});
|
|
332
|
+
export type RecordGrantResponse = z.infer<typeof RecordGrantResponseSchema>;
|
|
333
|
+
|
|
334
|
+
// ---------------------------------------------------------------------------
|
|
335
|
+
// list_grants
|
|
336
|
+
// ---------------------------------------------------------------------------
|
|
337
|
+
|
|
338
|
+
export const ListGrantsSchema = z.object({
|
|
339
|
+
/** Filter by CES connection ID. */
|
|
340
|
+
sessionId: z.string().optional(),
|
|
341
|
+
/** Filter by credential handle. */
|
|
342
|
+
credentialHandle: z.string().optional(),
|
|
343
|
+
/** Filter by grant status. */
|
|
344
|
+
status: z
|
|
345
|
+
.enum(["active", "expired", "revoked", "consumed"])
|
|
346
|
+
.optional(),
|
|
347
|
+
});
|
|
348
|
+
export type ListGrants = z.infer<typeof ListGrantsSchema>;
|
|
349
|
+
|
|
350
|
+
export const ListGrantsResponseSchema = z.object({
|
|
351
|
+
/** List of matching grant records. */
|
|
352
|
+
grants: z.array(PersistentGrantRecordSchema),
|
|
353
|
+
});
|
|
354
|
+
export type ListGrantsResponse = z.infer<typeof ListGrantsResponseSchema>;
|
|
355
|
+
|
|
356
|
+
// ---------------------------------------------------------------------------
|
|
357
|
+
// revoke_grant
|
|
358
|
+
// ---------------------------------------------------------------------------
|
|
359
|
+
|
|
360
|
+
export const RevokeGrantSchema = z.object({
|
|
361
|
+
/** The grant to revoke. */
|
|
362
|
+
grantId: z.string(),
|
|
363
|
+
/** Human-readable reason for revocation. */
|
|
364
|
+
reason: z.string().optional(),
|
|
365
|
+
});
|
|
366
|
+
export type RevokeGrant = z.infer<typeof RevokeGrantSchema>;
|
|
367
|
+
|
|
368
|
+
export const RevokeGrantResponseSchema = z.object({
|
|
369
|
+
/** Whether the grant was successfully revoked. */
|
|
370
|
+
success: z.boolean(),
|
|
371
|
+
/** Structured error if revocation failed. */
|
|
372
|
+
error: RpcErrorSchema.optional(),
|
|
373
|
+
});
|
|
374
|
+
export type RevokeGrantResponse = z.infer<typeof RevokeGrantResponseSchema>;
|
|
375
|
+
|
|
376
|
+
// ---------------------------------------------------------------------------
|
|
377
|
+
// list_audit_records
|
|
378
|
+
// ---------------------------------------------------------------------------
|
|
379
|
+
|
|
380
|
+
export const ListAuditRecordsSchema = z.object({
|
|
381
|
+
/** Filter by CES connection ID. */
|
|
382
|
+
sessionId: z.string().optional(),
|
|
383
|
+
/** Filter by credential handle. */
|
|
384
|
+
credentialHandle: z.string().optional(),
|
|
385
|
+
/** Filter by grant ID. */
|
|
386
|
+
grantId: z.string().optional(),
|
|
387
|
+
/** Maximum number of records to return. */
|
|
388
|
+
limit: z.number().optional(),
|
|
389
|
+
/** Cursor for pagination (opaque string from a previous response). */
|
|
390
|
+
cursor: z.string().optional(),
|
|
391
|
+
});
|
|
392
|
+
export type ListAuditRecords = z.infer<typeof ListAuditRecordsSchema>;
|
|
393
|
+
|
|
394
|
+
export const ListAuditRecordsResponseSchema = z.object({
|
|
395
|
+
/** List of matching audit record summaries. */
|
|
396
|
+
records: z.array(AuditRecordSummarySchema),
|
|
397
|
+
/** Cursor for the next page (null if no more results). */
|
|
398
|
+
nextCursor: z.string().nullable(),
|
|
399
|
+
});
|
|
400
|
+
export type ListAuditRecordsResponse = z.infer<
|
|
401
|
+
typeof ListAuditRecordsResponseSchema
|
|
402
|
+
>;
|
|
403
|
+
|
|
404
|
+
// ---------------------------------------------------------------------------
|
|
405
|
+
// update_managed_credential
|
|
406
|
+
// ---------------------------------------------------------------------------
|
|
407
|
+
|
|
408
|
+
export const UpdateManagedCredentialSchema = z.object({
|
|
409
|
+
/** The assistant API key to push to CES for platform credential materialization. */
|
|
410
|
+
assistantApiKey: z.string(), // nosemgrep: not-a-secret
|
|
411
|
+
});
|
|
412
|
+
export type UpdateManagedCredential = z.infer<
|
|
413
|
+
typeof UpdateManagedCredentialSchema
|
|
414
|
+
>;
|
|
415
|
+
|
|
416
|
+
export const UpdateManagedCredentialResponseSchema = z.object({
|
|
417
|
+
/** Whether the managed credential was successfully updated. */
|
|
418
|
+
updated: z.boolean(),
|
|
419
|
+
});
|
|
420
|
+
export type UpdateManagedCredentialResponse = z.infer<
|
|
421
|
+
typeof UpdateManagedCredentialResponseSchema
|
|
422
|
+
>;
|
|
423
|
+
|
|
424
|
+
// ---------------------------------------------------------------------------
|
|
425
|
+
// Full RPC contract type map
|
|
426
|
+
// ---------------------------------------------------------------------------
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Type-level mapping from RPC method names to their request and response
|
|
430
|
+
* schemas. Useful for building type-safe RPC dispatch layers.
|
|
431
|
+
*/
|
|
432
|
+
export interface CesRpcContract {
|
|
433
|
+
[CesRpcMethod.MakeAuthenticatedRequest]: {
|
|
434
|
+
request: MakeAuthenticatedRequest;
|
|
435
|
+
response: MakeAuthenticatedRequestResponse;
|
|
436
|
+
};
|
|
437
|
+
[CesRpcMethod.RunAuthenticatedCommand]: {
|
|
438
|
+
request: RunAuthenticatedCommand;
|
|
439
|
+
response: RunAuthenticatedCommandResponse;
|
|
440
|
+
};
|
|
441
|
+
[CesRpcMethod.ManageSecureCommandTool]: {
|
|
442
|
+
request: ManageSecureCommandTool;
|
|
443
|
+
response: ManageSecureCommandToolResponse;
|
|
444
|
+
};
|
|
445
|
+
[CesRpcMethod.ApprovalRequired]: {
|
|
446
|
+
request: ApprovalRequired;
|
|
447
|
+
response: ApprovalRequiredResponse;
|
|
448
|
+
};
|
|
449
|
+
[CesRpcMethod.RecordGrant]: {
|
|
450
|
+
request: RecordGrant;
|
|
451
|
+
response: RecordGrantResponse;
|
|
452
|
+
};
|
|
453
|
+
[CesRpcMethod.ListGrants]: {
|
|
454
|
+
request: ListGrants;
|
|
455
|
+
response: ListGrantsResponse;
|
|
456
|
+
};
|
|
457
|
+
[CesRpcMethod.RevokeGrant]: {
|
|
458
|
+
request: RevokeGrant;
|
|
459
|
+
response: RevokeGrantResponse;
|
|
460
|
+
};
|
|
461
|
+
[CesRpcMethod.ListAuditRecords]: {
|
|
462
|
+
request: ListAuditRecords;
|
|
463
|
+
response: ListAuditRecordsResponse;
|
|
464
|
+
};
|
|
465
|
+
[CesRpcMethod.UpdateManagedCredential]: {
|
|
466
|
+
request: UpdateManagedCredential;
|
|
467
|
+
response: UpdateManagedCredentialResponse;
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Schema lookup map for runtime validation of RPC payloads.
|
|
473
|
+
*/
|
|
474
|
+
export const CesRpcSchemas = {
|
|
475
|
+
[CesRpcMethod.MakeAuthenticatedRequest]: {
|
|
476
|
+
request: MakeAuthenticatedRequestSchema,
|
|
477
|
+
response: MakeAuthenticatedRequestResponseSchema,
|
|
478
|
+
},
|
|
479
|
+
[CesRpcMethod.RunAuthenticatedCommand]: {
|
|
480
|
+
request: RunAuthenticatedCommandSchema,
|
|
481
|
+
response: RunAuthenticatedCommandResponseSchema,
|
|
482
|
+
},
|
|
483
|
+
[CesRpcMethod.ManageSecureCommandTool]: {
|
|
484
|
+
request: ManageSecureCommandToolSchema,
|
|
485
|
+
response: ManageSecureCommandToolResponseSchema,
|
|
486
|
+
},
|
|
487
|
+
[CesRpcMethod.ApprovalRequired]: {
|
|
488
|
+
request: ApprovalRequiredSchema,
|
|
489
|
+
response: ApprovalRequiredResponseSchema,
|
|
490
|
+
},
|
|
491
|
+
[CesRpcMethod.RecordGrant]: {
|
|
492
|
+
request: RecordGrantSchema,
|
|
493
|
+
response: RecordGrantResponseSchema,
|
|
494
|
+
},
|
|
495
|
+
[CesRpcMethod.ListGrants]: {
|
|
496
|
+
request: ListGrantsSchema,
|
|
497
|
+
response: ListGrantsResponseSchema,
|
|
498
|
+
},
|
|
499
|
+
[CesRpcMethod.RevokeGrant]: {
|
|
500
|
+
request: RevokeGrantSchema,
|
|
501
|
+
response: RevokeGrantResponseSchema,
|
|
502
|
+
},
|
|
503
|
+
[CesRpcMethod.ListAuditRecords]: {
|
|
504
|
+
request: ListAuditRecordsSchema,
|
|
505
|
+
response: ListAuditRecordsResponseSchema,
|
|
506
|
+
},
|
|
507
|
+
[CesRpcMethod.UpdateManagedCredential]: {
|
|
508
|
+
request: UpdateManagedCredentialSchema,
|
|
509
|
+
response: UpdateManagedCredentialResponseSchema,
|
|
510
|
+
},
|
|
511
|
+
} as const;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"forceConsistentCasingInFileNames": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"declarationMap": true,
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"outDir": "./dist",
|
|
15
|
+
"rootDir": "./src",
|
|
16
|
+
"types": ["bun-types"]
|
|
17
|
+
},
|
|
18
|
+
"include": ["src/**/*"],
|
|
19
|
+
"exclude": ["node_modules", "dist"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"configVersion": 1,
|
|
4
|
+
"workspaces": {
|
|
5
|
+
"": {
|
|
6
|
+
"name": "@vellumai/credential-storage",
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"@types/bun": "^1.2.4",
|
|
9
|
+
"typescript": "^5.7.3",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
"packages": {
|
|
14
|
+
"@types/bun": ["@types/bun@1.3.10", "", { "dependencies": { "bun-types": "1.3.10" } }, "sha512-0+rlrUrOrTSskibryHbvQkDOWRJwJZqZlxrUs1u4oOoTln8+WIXBPmAuCF35SWB2z4Zl3E84Nl/D0P7803nigQ=="],
|
|
15
|
+
|
|
16
|
+
"@types/node": ["@types/node@25.5.0", "", { "dependencies": { "undici-types": "~7.18.0" } }, "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw=="],
|
|
17
|
+
|
|
18
|
+
"bun-types": ["bun-types@1.3.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-tcpfCCl6XWo6nCVnpcVrxQ+9AYN1iqMIzgrSKYMB/fjLtV2eyAVEg7AxQJuCq/26R6HpKWykQXuSOq/21RYcbg=="],
|
|
19
|
+
|
|
20
|
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
21
|
+
|
|
22
|
+
"undici-types": ["undici-types@7.18.2", "", {}, "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w=="],
|
|
23
|
+
}
|
|
24
|
+
}
|