@openclaw/mxc-sandbox 0.0.0 → 2026.7.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +351 -0
- package/dist/index.js +1323 -0
- package/dist/mxc-spawn-launcher.mjs +148 -0
- package/node_modules/@microsoft/mxc-sdk/LICENSE.md +21 -0
- package/node_modules/@microsoft/mxc-sdk/README.md +395 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/ESRPClientLogs0613045248271.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/ESRPClientLogs0613045452045.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/ESRPClientLogs0613050048636.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/bsi.cose +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/bsi.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/manifest.cat +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/manifest.spdx.cose +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/manifest.spdx.json +25812 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/_manifest/spdx_2.2/manifest.spdx.json.sha256 +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/linux-test-proxy +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/lxc-exec +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/mxc-diagnostic-console.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/mxc-exec-mac +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/winhttp-proxy-shim.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/wxc-exec.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/wxc-host-prep.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/wxc-test-proxy.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/wxc-windows-sandbox-daemon.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/arm64/wxc-windows-sandbox-guest.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/ESRPClientLogs0613045534391.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/ESRPClientLogs0613050929378.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/bsi.cose +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/bsi.json +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/manifest.cat +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/manifest.spdx.cose +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/manifest.spdx.json +25812 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/_manifest/spdx_2.2/manifest.spdx.json.sha256 +1 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/linux-test-proxy +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/lxc-exec +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/mxc-diagnostic-console.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/winhttp-proxy-shim.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/wxc-exec.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/wxc-host-prep.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/wxc-test-proxy.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/wxc-windows-sandbox-daemon.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/bin/x64/wxc-windows-sandbox-guest.exe +0 -0
- package/node_modules/@microsoft/mxc-sdk/dist/diagnostic.d.ts +17 -0
- package/node_modules/@microsoft/mxc-sdk/dist/diagnostic.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/diagnostic.js +150 -0
- package/node_modules/@microsoft/mxc-sdk/dist/diagnostic.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/errors.d.ts +27 -0
- package/node_modules/@microsoft/mxc-sdk/dist/errors.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/errors.js +31 -0
- package/node_modules/@microsoft/mxc-sdk/dist/errors.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/helper.d.ts +101 -0
- package/node_modules/@microsoft/mxc-sdk/dist/helper.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/helper.js +256 -0
- package/node_modules/@microsoft/mxc-sdk/dist/helper.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/index.d.ts +31 -0
- package/node_modules/@microsoft/mxc-sdk/dist/index.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/index.js +40 -0
- package/node_modules/@microsoft/mxc-sdk/dist/index.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/logger.d.ts +11 -0
- package/node_modules/@microsoft/mxc-sdk/dist/logger.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/logger.js +45 -0
- package/node_modules/@microsoft/mxc-sdk/dist/logger.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/platform.d.ts +55 -0
- package/node_modules/@microsoft/mxc-sdk/dist/platform.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/platform.js +477 -0
- package/node_modules/@microsoft/mxc-sdk/dist/platform.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/policy.d.ts +80 -0
- package/node_modules/@microsoft/mxc-sdk/dist/policy.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/policy.js +319 -0
- package/node_modules/@microsoft/mxc-sdk/dist/policy.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/sandbox.d.ts +189 -0
- package/node_modules/@microsoft/mxc-sdk/dist/sandbox.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/sandbox.js +515 -0
- package/node_modules/@microsoft/mxc-sdk/dist/sandbox.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-helper.d.ts +70 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-helper.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-helper.js +184 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-helper.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-types.d.ts +130 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-types.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-types.js +21 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware-types.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware.d.ts +39 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware.js +128 -0
- package/node_modules/@microsoft/mxc-sdk/dist/state-aware.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/types.d.ts +439 -0
- package/node_modules/@microsoft/mxc-sdk/dist/types.d.ts.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/dist/types.js +38 -0
- package/node_modules/@microsoft/mxc-sdk/dist/types.js.map +1 -0
- package/node_modules/@microsoft/mxc-sdk/package.json +54 -0
- package/node_modules/node-addon-api/LICENSE.md +9 -0
- package/node_modules/node-addon-api/README.md +319 -0
- package/node_modules/node-addon-api/common.gypi +20 -0
- package/node_modules/node-addon-api/except.gypi +25 -0
- package/node_modules/node-addon-api/index.js +12 -0
- package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
- package/node_modules/node-addon-api/napi-inl.h +6607 -0
- package/node_modules/node-addon-api/napi.h +3201 -0
- package/node_modules/node-addon-api/node_addon_api.gyp +32 -0
- package/node_modules/node-addon-api/node_api.gyp +9 -0
- package/node_modules/node-addon-api/noexcept.gypi +26 -0
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +21 -0
- package/node_modules/node-addon-api/package.json +480 -0
- package/node_modules/node-addon-api/tools/README.md +73 -0
- package/node_modules/node-addon-api/tools/check-napi.js +99 -0
- package/node_modules/node-addon-api/tools/clang-format.js +71 -0
- package/node_modules/node-addon-api/tools/conversion.js +301 -0
- package/node_modules/node-addon-api/tools/eslint-format.js +79 -0
- package/node_modules/node-pty/LICENSE +69 -0
- package/node_modules/node-pty/README.md +164 -0
- package/node_modules/node-pty/binding.gyp +150 -0
- package/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
- package/node_modules/node-pty/lib/eventEmitter2.js +47 -0
- package/node_modules/node-pty/lib/index.js +52 -0
- package/node_modules/node-pty/lib/interfaces.js +7 -0
- package/node_modules/node-pty/lib/shared/conout.js +10 -0
- package/node_modules/node-pty/lib/terminal.js +190 -0
- package/node_modules/node-pty/lib/types.js +7 -0
- package/node_modules/node-pty/lib/unixTerminal.js +351 -0
- package/node_modules/node-pty/lib/utils.js +38 -0
- package/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
- package/node_modules/node-pty/lib/windowsPtyAgent.js +312 -0
- package/node_modules/node-pty/lib/windowsTerminal.js +209 -0
- package/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
- package/node_modules/node-pty/package.json +66 -0
- package/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
- package/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/node_modules/node-pty/scripts/post-install.js +76 -0
- package/node_modules/node-pty/scripts/prebuild.js +34 -0
- package/node_modules/node-pty/src/unix/pty.cc +876 -0
- package/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
- package/node_modules/node-pty/src/win/conpty.cc +616 -0
- package/node_modules/node-pty/src/win/conpty.h +41 -0
- package/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
- package/node_modules/node-pty/src/win/path_util.cc +95 -0
- package/node_modules/node-pty/src/win/path_util.h +26 -0
- package/node_modules/node-pty/third_party/conpty/1.25.260303002/win10-arm64/OpenConsole.exe +0 -0
- package/node_modules/node-pty/third_party/conpty/1.25.260303002/win10-arm64/conpty.dll +0 -0
- package/node_modules/node-pty/third_party/conpty/1.25.260303002/win10-x64/OpenConsole.exe +0 -0
- package/node_modules/node-pty/third_party/conpty/1.25.260303002/win10-x64/conpty.dll +0 -0
- package/node_modules/node-pty/typings/node-pty.d.ts +215 -0
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +680 -0
- package/node_modules/semver/bin/semver.js +195 -0
- package/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/semver/classes/index.js +7 -0
- package/node_modules/semver/classes/range.js +577 -0
- package/node_modules/semver/classes/semver.js +350 -0
- package/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/semver/functions/major.js +5 -0
- package/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/semver/functions/truncate.js +48 -0
- package/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/semver/index.js +93 -0
- package/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/semver/internal/re.js +223 -0
- package/node_modules/semver/package.json +78 -0
- package/node_modules/semver/preload.js +4 -0
- package/node_modules/semver/range.bnf +17 -0
- package/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +191 -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 +7 -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 +7 -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 +52 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -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 +2672 -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 +216 -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 +326 -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 +703 -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 +409 -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/detached-methods.test.ts +197 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -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 +807 -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 +895 -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/global-config.test.ts +39 -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/jitless-allows-eval.test.ts +46 -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/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -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 +325 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -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-types.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -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 +717 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -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 +1224 -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 +3125 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -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 +1823 -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 +153 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +455 -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 +666 -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 +190 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4730 -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/el.test.ts +215 -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/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -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 +105 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -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 +622 -0
- package/node_modules/zod/src/v4/core/util.ts +983 -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/el.ts +121 -0
- package/node_modules/zod/src/v4/locales/en.ts +123 -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 +132 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hr.ts +131 -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 +52 -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/ro.ts +129 -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 +117 -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 +41 -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 +1947 -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 +548 -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 +993 -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 +325 -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 +352 -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 +7 -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 +16 -0
- package/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -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 +599 -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 +7 -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 +1511 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/node_modules/zod/v4/core/api.cjs +1227 -0
- package/node_modules/zod/v4/core/api.d.cts +325 -0
- package/node_modules/zod/v4/core/api.d.ts +325 -0
- package/node_modules/zod/v4/core/api.js +1087 -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 +85 -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 +78 -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 +216 -0
- package/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/node_modules/zod/v4/core/errors.js +185 -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 +644 -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 +601 -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 +7 -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 +172 -0
- package/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/node_modules/zod/v4/core/regexes.js +139 -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 +2270 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/node_modules/zod/v4/core/schemas.js +2239 -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 +457 -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 +448 -0
- package/node_modules/zod/v4/core/util.cjs +734 -0
- package/node_modules/zod/v4/core/util.d.cts +200 -0
- package/node_modules/zod/v4/core/util.d.ts +200 -0
- package/node_modules/zod/v4/core/util.js +674 -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/el.cjs +136 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +109 -0
- package/node_modules/zod/v4/locales/en.cjs +140 -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 +113 -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 +152 -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 +125 -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/hr.cjs +149 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +122 -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 +111 -0
- package/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/node_modules/zod/v4/locales/index.js +52 -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 +7 -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/ro.cjs +146 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +119 -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 +137 -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 +110 -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 +13 -0
- package/node_modules/zod/v4/mini/external.d.ts +13 -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 +7 -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 +1083 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/node_modules/zod/v4/mini/schemas.js +961 -0
- package/node_modules/zod/v4/package.json +7 -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 +7 -0
- package/npm-shrinkwrap.json +66 -0
- package/openclaw.plugin.json +42 -0
- package/package.json +59 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
072c25336487841e4b7b9a03f2532bac8835d04f74ad4a0bc9404a07f189e35c
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Send a diagnostic log message to the MXC diagnostic console.
|
|
3
|
+
*
|
|
4
|
+
* Messages are best-effort and non-blocking. If the console is not
|
|
5
|
+
* running, the message is silently dropped.
|
|
6
|
+
*
|
|
7
|
+
* Each message is sent as a newline-delimited JSON envelope so the
|
|
8
|
+
* console can split coalesced stream writes back into individual messages.
|
|
9
|
+
*
|
|
10
|
+
* @param message - The log message to send
|
|
11
|
+
*/
|
|
12
|
+
export declare function diagLog(message: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Close the diagnostic pipe connection. Called during cleanup.
|
|
15
|
+
*/
|
|
16
|
+
export declare function diagClose(): void;
|
|
17
|
+
//# sourceMappingURL=diagnostic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAsHA;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAgB7C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAUhC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Diagnostic logging for the MXC SDK.
|
|
5
|
+
*
|
|
6
|
+
* When the MXC diagnostic console (`mxc-diagnostic-console.exe`) is running,
|
|
7
|
+
* this module sends log messages to it over the shared named pipe.
|
|
8
|
+
* Messages are best-effort: if the console is not running or the pipe
|
|
9
|
+
* write fails, the error is silently ignored.
|
|
10
|
+
*
|
|
11
|
+
* Enabled by environment variable `MXC_DIAG_CONSOLE=1`.
|
|
12
|
+
*/
|
|
13
|
+
import { execSync } from 'child_process';
|
|
14
|
+
import * as net from 'net';
|
|
15
|
+
import * as os from 'os';
|
|
16
|
+
/**
|
|
17
|
+
* Compute the per-user pipe name (includes current user's SID).
|
|
18
|
+
* Falls back to the base name if the SID cannot be determined.
|
|
19
|
+
*
|
|
20
|
+
* Windows-only — the diagnostic console only runs on Windows. On other
|
|
21
|
+
* platforms this returns the base name (which is never used because
|
|
22
|
+
* `ensurePipe` short-circuits below) without spawning `whoami`. The
|
|
23
|
+
* `whoami /user /fo csv /nh` invocation uses Windows-only flags that
|
|
24
|
+
* cause GNU/BSD `whoami` to print "usage: whoami" on stderr — visible
|
|
25
|
+
* to any caller that inherits our stdio (e.g. mxc-exec-mac under a pty).
|
|
26
|
+
*/
|
|
27
|
+
function getDiagnosticPipeName() {
|
|
28
|
+
const baseName = '\\\\.\\pipe\\mxc-diagnostics';
|
|
29
|
+
if (os.platform() !== 'win32') {
|
|
30
|
+
return baseName;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const output = execSync('whoami /user /fo csv /nh', {
|
|
34
|
+
encoding: 'utf8',
|
|
35
|
+
timeout: 3000,
|
|
36
|
+
windowsHide: true,
|
|
37
|
+
}).trim();
|
|
38
|
+
// Output is like: "DOMAIN\\user","S-1-5-21-..."
|
|
39
|
+
const match = output.match(/"(S-[\d-]+)"/);
|
|
40
|
+
if (match) {
|
|
41
|
+
return `${baseName}-${match[1]}`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Best-effort: fall back to base name without SID.
|
|
46
|
+
}
|
|
47
|
+
return baseName;
|
|
48
|
+
}
|
|
49
|
+
const PIPE_NAME = getDiagnosticPipeName();
|
|
50
|
+
/** Cached pipe connection (lazy, best-effort). */
|
|
51
|
+
let pipeSocket = null;
|
|
52
|
+
let pipeConnected = false;
|
|
53
|
+
let pipeAttempted = false;
|
|
54
|
+
let diagnosticEnabled = null;
|
|
55
|
+
/**
|
|
56
|
+
* Check whether diagnostic console logging is enabled via env var.
|
|
57
|
+
*/
|
|
58
|
+
function isDiagnosticEnabled() {
|
|
59
|
+
if (diagnosticEnabled !== null) {
|
|
60
|
+
return diagnosticEnabled;
|
|
61
|
+
}
|
|
62
|
+
const envVal = process.env['MXC_DIAG_CONSOLE'];
|
|
63
|
+
diagnosticEnabled =
|
|
64
|
+
envVal === '1' || envVal?.toLowerCase() === 'true';
|
|
65
|
+
return diagnosticEnabled;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Ensure the pipe is connected (lazy, best-effort).
|
|
69
|
+
*/
|
|
70
|
+
function ensurePipe() {
|
|
71
|
+
if (pipeConnected && pipeSocket) {
|
|
72
|
+
return pipeSocket;
|
|
73
|
+
}
|
|
74
|
+
if (pipeAttempted) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
// Only supported on Windows.
|
|
78
|
+
if (os.platform() !== 'win32') {
|
|
79
|
+
pipeAttempted = true;
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
pipeAttempted = true;
|
|
83
|
+
try {
|
|
84
|
+
const socket = net.createConnection(PIPE_NAME);
|
|
85
|
+
// Track connection state.
|
|
86
|
+
socket.on('connect', () => {
|
|
87
|
+
pipeConnected = true;
|
|
88
|
+
});
|
|
89
|
+
socket.on('error', () => {
|
|
90
|
+
pipeConnected = false;
|
|
91
|
+
pipeSocket = null;
|
|
92
|
+
});
|
|
93
|
+
socket.on('close', () => {
|
|
94
|
+
pipeConnected = false;
|
|
95
|
+
pipeSocket = null;
|
|
96
|
+
});
|
|
97
|
+
// Don't let the pipe keep the process alive.
|
|
98
|
+
socket.unref();
|
|
99
|
+
pipeSocket = socket;
|
|
100
|
+
// Connection is in-flight; the 'connect' handler sets pipeConnected.
|
|
101
|
+
// First message may be dropped, which is acceptable for best-effort diagnostics.
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Send a diagnostic log message to the MXC diagnostic console.
|
|
110
|
+
*
|
|
111
|
+
* Messages are best-effort and non-blocking. If the console is not
|
|
112
|
+
* running, the message is silently dropped.
|
|
113
|
+
*
|
|
114
|
+
* Each message is sent as a newline-delimited JSON envelope so the
|
|
115
|
+
* console can split coalesced stream writes back into individual messages.
|
|
116
|
+
*
|
|
117
|
+
* @param message - The log message to send
|
|
118
|
+
*/
|
|
119
|
+
export function diagLog(message) {
|
|
120
|
+
if (!isDiagnosticEnabled()) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const socket = ensurePipe();
|
|
124
|
+
if (!socket) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
const envelope = JSON.stringify({ msg: `[SDK] ${message}` }) + '\n';
|
|
129
|
+
socket.write(envelope);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
// Best-effort: ignore write errors.
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Close the diagnostic pipe connection. Called during cleanup.
|
|
137
|
+
*/
|
|
138
|
+
export function diagClose() {
|
|
139
|
+
if (pipeSocket) {
|
|
140
|
+
try {
|
|
141
|
+
pipeSocket.destroy();
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// Ignore.
|
|
145
|
+
}
|
|
146
|
+
pipeSocket = null;
|
|
147
|
+
pipeConnected = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=diagnostic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Closed set of MXC wire-format error codes. Mirrors `MxcErrorCode` on the
|
|
3
|
+
* Rust side one-for-one and serialises as the same snake_case strings on
|
|
4
|
+
* the wire. Backend-specific failures that don't fit one of these codes
|
|
5
|
+
* surface as `backend_error`, with structured information carried in
|
|
6
|
+
* `details`.
|
|
7
|
+
*/
|
|
8
|
+
export type ErrorCode = 'malformed_request' | 'unsupported_containment' | 'unsupported_phase' | 'backend_unavailable' | 'malformed_id' | 'stale_id' | 'not_provisioned' | 'not_started' | 'already_started' | 'already_stopped' | 'policy_validation' | 'backend_error';
|
|
9
|
+
/**
|
|
10
|
+
* Typed error thrown by the MXC SDK in response to a wire-format error
|
|
11
|
+
* envelope. Discriminate by comparing `.code` to a wire-format error code
|
|
12
|
+
* string; the TypeScript string-literal union gives the same IDE
|
|
13
|
+
* completion as a class hierarchy without the multiplicative class count.
|
|
14
|
+
*/
|
|
15
|
+
export declare class MxcError extends Error {
|
|
16
|
+
readonly code: ErrorCode;
|
|
17
|
+
readonly details?: Record<string, unknown>;
|
|
18
|
+
constructor(code: ErrorCode, message: string, details?: Record<string, unknown>);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Constructs an `MxcError` from a wire-format error code. Accepts a plain
|
|
22
|
+
* `string` so callers parsing a wire envelope don't need to narrow first;
|
|
23
|
+
* unknown codes still produce an `MxcError` with `.code` set to whatever
|
|
24
|
+
* was on the wire.
|
|
25
|
+
*/
|
|
26
|
+
export declare function mxcErrorFromCode(code: string, message: string, details?: Record<string, unknown>): MxcError;
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,yBAAyB,GACzB,mBAAmB,GACnB,qBAAqB,GACrB,cAAc,GACd,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,CAAC;AAEpB;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAShF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ,CAEV"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Typed error thrown by the MXC SDK in response to a wire-format error
|
|
5
|
+
* envelope. Discriminate by comparing `.code` to a wire-format error code
|
|
6
|
+
* string; the TypeScript string-literal union gives the same IDE
|
|
7
|
+
* completion as a class hierarchy without the multiplicative class count.
|
|
8
|
+
*/
|
|
9
|
+
export class MxcError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
details;
|
|
12
|
+
constructor(code, message, details) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.details = details;
|
|
16
|
+
// Restore the prototype chain so `instanceof MxcError` keeps working
|
|
17
|
+
// after the TypeScript ES2020 → ES5-compatible class downlevelling.
|
|
18
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
19
|
+
this.name = 'MxcError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Constructs an `MxcError` from a wire-format error code. Accepts a plain
|
|
24
|
+
* `string` so callers parsing a wire envelope don't need to narrow first;
|
|
25
|
+
* unknown codes still produce an `MxcError` with `.code` set to whatever
|
|
26
|
+
* was on the wire.
|
|
27
|
+
*/
|
|
28
|
+
export function mxcErrorFromCode(code, message, details) {
|
|
29
|
+
return new MxcError(code, message, details);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAuBlC;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAY;IAChB,OAAO,CAA2B;IAE3C,YAAY,IAAe,EAAE,OAAe,EAAE,OAAiC;QAC7E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAe,EACf,OAAiC;IAEjC,OAAO,IAAI,QAAQ,CAAC,IAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { FileLogger } from './logger.js';
|
|
2
|
+
import { ContainerConfig } from './types.js';
|
|
3
|
+
import { SandboxSpawnOptions } from './sandbox.js';
|
|
4
|
+
/** SDK version read from package.json at module load time. */
|
|
5
|
+
export declare const SDK_VERSION: string;
|
|
6
|
+
/** Log the SDK version to the diagnostic console (once per process). */
|
|
7
|
+
export declare function diagLogVersion(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Emit a one-shot deprecation hint via the diagnostic console when a caller
|
|
10
|
+
* uses a legacy containment wire value. Dedup'd per legacy value per process
|
|
11
|
+
* so the message doesn't flood the diag stream on repeated spawns.
|
|
12
|
+
*
|
|
13
|
+
* Exposed for tests so the latch can be reset between describes.
|
|
14
|
+
*/
|
|
15
|
+
export declare function warnLegacyContainmentOnce(legacy: string, canonical: string): void;
|
|
16
|
+
/** @internal Reset the legacy-containment dedup latch. Intended for unit tests. */
|
|
17
|
+
export declare function _resetLegacyContainmentWarnedForTesting(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Result of preparing a sandbox spawn — includes the resolved binary,
|
|
20
|
+
* CLI arguments, and optional diagnostic logger.
|
|
21
|
+
*/
|
|
22
|
+
export interface PrepareSpawnResult {
|
|
23
|
+
/** Absolute path to the wxc-exec or lxc-exec binary. */
|
|
24
|
+
executablePath: string;
|
|
25
|
+
/** CLI arguments to pass to the binary. */
|
|
26
|
+
args: string[];
|
|
27
|
+
/** Diagnostic logger, created when logDir is set or debug is enabled. */
|
|
28
|
+
logger?: FileLogger;
|
|
29
|
+
/** Path to the diagnostic log file (if logger is active). */
|
|
30
|
+
logFile?: string;
|
|
31
|
+
/** Timestamp when spawn preparation started (for duration tracking). */
|
|
32
|
+
startTime: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Generate a timestamped log file path in the given directory.
|
|
36
|
+
*/
|
|
37
|
+
export declare function makeLogFilePath(dir: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Apply Linux network-policy defaults to a `ContainerConfig`.
|
|
40
|
+
*
|
|
41
|
+
* Linux enforces per-host filtering in one of two ways:
|
|
42
|
+
* 1. **iptables firewall** (`enforcementMode: 'firewall'`) — LXC's
|
|
43
|
+
* privileged enforcement path. Requires root / CAP_NET_ADMIN.
|
|
44
|
+
* 2. **Cooperative HTTP proxy** (`network.proxy` set) — Bubblewrap's
|
|
45
|
+
* unprivileged enforcement path. The proxy applies the host policy
|
|
46
|
+
* for cooperating HTTP clients; raw-socket clients bypass it.
|
|
47
|
+
*
|
|
48
|
+
* This helper auto-promotes `enforcementMode` to `'firewall'` when host
|
|
49
|
+
* lists are present without a proxy — without it, the parser would leave
|
|
50
|
+
* the mode unset and the runtime would silently ignore `allowedHosts` /
|
|
51
|
+
* `blockedHosts`.
|
|
52
|
+
*
|
|
53
|
+
* If the caller explicitly passes `enforcementMode: 'capabilities'` we
|
|
54
|
+
* warn: `'capabilities'` is a Windows/AppContainer concept (a token
|
|
55
|
+
* capability mask) and has no Linux equivalent — the Linux runner will
|
|
56
|
+
* not enforce anything and the field is silently dropped.
|
|
57
|
+
*
|
|
58
|
+
* Shared between the explicit `'bubblewrap'` / `'lxc'` builders and the
|
|
59
|
+
* abstract `'process'` branch on Linux (which resolves to Bubblewrap
|
|
60
|
+
* server-side).
|
|
61
|
+
*
|
|
62
|
+
* NOTE: when `network.proxy` is configured on Bubblewrap, host filtering
|
|
63
|
+
* is enforced at the proxy layer (unprivileged, no CAP_NET_ADMIN). The
|
|
64
|
+
* Rust config parser explicitly rejects `bubblewrap + proxy + firewall`
|
|
65
|
+
* since the iptables path requires privilege the bwrap backend
|
|
66
|
+
* deliberately avoids. Callers in that mode must leave enforcementMode
|
|
67
|
+
* at its default.
|
|
68
|
+
*/
|
|
69
|
+
export declare function applyLinuxNetworkPolicy(config: ContainerConfig): void;
|
|
70
|
+
/**
|
|
71
|
+
* Resolves the executor binary and builds the common CLI arguments for any
|
|
72
|
+
* MXC request envelope (one-shot or state-aware). Performs platform support
|
|
73
|
+
* and binary-presence checks; does not validate envelope contents — callers
|
|
74
|
+
* apply request-specific validation before delegating to this helper.
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveBinaryAndCommonArgs(envelopeJson: string, options: SandboxSpawnOptions): {
|
|
77
|
+
executablePath: string;
|
|
78
|
+
args: string[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Resolves the executable path and builds CLI arguments for a one-shot
|
|
82
|
+
* sandbox invocation. Validates one-shot-specific invariants (commandLine
|
|
83
|
+
* required, experimental gating, containment-vs-platform compatibility)
|
|
84
|
+
* before delegating to the shared `resolveBinaryAndCommonArgs`.
|
|
85
|
+
*/
|
|
86
|
+
export declare function resolveExecutableAndArgs(config: ContainerConfig, options?: SandboxSpawnOptions): {
|
|
87
|
+
executablePath: string;
|
|
88
|
+
args: string[];
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Sets up logging and resolves the executable path + args.
|
|
92
|
+
* Shared by both PTY and non-PTY spawn paths.
|
|
93
|
+
*
|
|
94
|
+
* If resolveExecutableAndArgs throws, any open logger is closed
|
|
95
|
+
* before the error propagates.
|
|
96
|
+
*
|
|
97
|
+
* @param config - The container configuration
|
|
98
|
+
* @param options - Spawn options (debug, logDir, etc.)
|
|
99
|
+
*/
|
|
100
|
+
export declare function prepareSpawn(config: ContainerConfig, options: SandboxSpawnOptions): PrepareSpawnResult;
|
|
101
|
+
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAwF,MAAM,YAAY,CAAC;AAEnI,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,MAWtB,CAAC;AAIL,wEAAwE;AACxE,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAID;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,mFAAmF;AACnF,wBAAgB,uCAAuC,IAAI,IAAI,CAE9D;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAmBrE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAiD5C;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,mBAAwB,GAChC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CA6D5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CA6BpB"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import * as os from 'os';
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { randomBytes } from 'crypto';
|
|
7
|
+
import { FileLogger } from './logger.js';
|
|
8
|
+
import { ContainmentTypes, ExperimentalBackends, LegacyContainmentAliases } from './types.js';
|
|
9
|
+
import { findWxcExecutable, findLxcExecutable, findSeatbeltExecutable, getPlatformSupport } from './platform.js';
|
|
10
|
+
import { diagLog } from './diagnostic.js';
|
|
11
|
+
/** SDK version read from package.json at module load time. */
|
|
12
|
+
export const SDK_VERSION = (() => {
|
|
13
|
+
try {
|
|
14
|
+
const pkgPath = require.resolve('@microsoft/mxc-sdk/package.json');
|
|
15
|
+
return require(pkgPath).version;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
try {
|
|
19
|
+
return require(path.resolve(__dirname, '..', 'package.json')).version;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return 'unknown';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
})();
|
|
26
|
+
let sdkVersionLogged = false;
|
|
27
|
+
/** Log the SDK version to the diagnostic console (once per process). */
|
|
28
|
+
export function diagLogVersion() {
|
|
29
|
+
if (!sdkVersionLogged) {
|
|
30
|
+
sdkVersionLogged = true;
|
|
31
|
+
diagLog(`mxc-sdk v${SDK_VERSION} (PID ${process.pid})`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const legacyContainmentWarned = new Set();
|
|
35
|
+
/**
|
|
36
|
+
* Emit a one-shot deprecation hint via the diagnostic console when a caller
|
|
37
|
+
* uses a legacy containment wire value. Dedup'd per legacy value per process
|
|
38
|
+
* so the message doesn't flood the diag stream on repeated spawns.
|
|
39
|
+
*
|
|
40
|
+
* Exposed for tests so the latch can be reset between describes.
|
|
41
|
+
*/
|
|
42
|
+
export function warnLegacyContainmentOnce(legacy, canonical) {
|
|
43
|
+
if (!legacyContainmentWarned.has(legacy)) {
|
|
44
|
+
legacyContainmentWarned.add(legacy);
|
|
45
|
+
diagLog(`Containment value '${legacy}' is deprecated; use '${canonical}' instead. ` +
|
|
46
|
+
`The legacy spelling is accepted via a backward-compatibility alias and may be ` +
|
|
47
|
+
`removed in a future SDK release.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** @internal Reset the legacy-containment dedup latch. Intended for unit tests. */
|
|
51
|
+
export function _resetLegacyContainmentWarnedForTesting() {
|
|
52
|
+
legacyContainmentWarned.clear();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Generate a timestamped log file path in the given directory.
|
|
56
|
+
*/
|
|
57
|
+
export function makeLogFilePath(dir) {
|
|
58
|
+
const ts = new Date().toISOString().replace(/[:.]/g, '-').replace(/Z$/, '');
|
|
59
|
+
const suffix = randomBytes(3).toString('hex');
|
|
60
|
+
return path.join(dir, `mxc-diag-${ts}-${suffix}.log`);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Apply Linux network-policy defaults to a `ContainerConfig`.
|
|
64
|
+
*
|
|
65
|
+
* Linux enforces per-host filtering in one of two ways:
|
|
66
|
+
* 1. **iptables firewall** (`enforcementMode: 'firewall'`) — LXC's
|
|
67
|
+
* privileged enforcement path. Requires root / CAP_NET_ADMIN.
|
|
68
|
+
* 2. **Cooperative HTTP proxy** (`network.proxy` set) — Bubblewrap's
|
|
69
|
+
* unprivileged enforcement path. The proxy applies the host policy
|
|
70
|
+
* for cooperating HTTP clients; raw-socket clients bypass it.
|
|
71
|
+
*
|
|
72
|
+
* This helper auto-promotes `enforcementMode` to `'firewall'` when host
|
|
73
|
+
* lists are present without a proxy — without it, the parser would leave
|
|
74
|
+
* the mode unset and the runtime would silently ignore `allowedHosts` /
|
|
75
|
+
* `blockedHosts`.
|
|
76
|
+
*
|
|
77
|
+
* If the caller explicitly passes `enforcementMode: 'capabilities'` we
|
|
78
|
+
* warn: `'capabilities'` is a Windows/AppContainer concept (a token
|
|
79
|
+
* capability mask) and has no Linux equivalent — the Linux runner will
|
|
80
|
+
* not enforce anything and the field is silently dropped.
|
|
81
|
+
*
|
|
82
|
+
* Shared between the explicit `'bubblewrap'` / `'lxc'` builders and the
|
|
83
|
+
* abstract `'process'` branch on Linux (which resolves to Bubblewrap
|
|
84
|
+
* server-side).
|
|
85
|
+
*
|
|
86
|
+
* NOTE: when `network.proxy` is configured on Bubblewrap, host filtering
|
|
87
|
+
* is enforced at the proxy layer (unprivileged, no CAP_NET_ADMIN). The
|
|
88
|
+
* Rust config parser explicitly rejects `bubblewrap + proxy + firewall`
|
|
89
|
+
* since the iptables path requires privilege the bwrap backend
|
|
90
|
+
* deliberately avoids. Callers in that mode must leave enforcementMode
|
|
91
|
+
* at its default.
|
|
92
|
+
*/
|
|
93
|
+
export function applyLinuxNetworkPolicy(config) {
|
|
94
|
+
if (!config.network) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (config.network.enforcementMode === 'capabilities') {
|
|
98
|
+
console.warn("mxc-sdk: network.enforcementMode='capabilities' has no effect on Linux " +
|
|
99
|
+
"(it is a Windows AppContainer / ProcessContainer concept). The Linux " +
|
|
100
|
+
"runner will not enforce host filtering via capabilities. Use the " +
|
|
101
|
+
"default mode (auto-promotes to 'firewall' for LXC, or use network.proxy " +
|
|
102
|
+
"for unprivileged Bubblewrap enforcement).");
|
|
103
|
+
}
|
|
104
|
+
const hasProxy = !!config.network.proxy;
|
|
105
|
+
const hasHostRules = !!(config.network.allowedHosts?.length || config.network.blockedHosts?.length);
|
|
106
|
+
if (hasHostRules && !hasProxy) {
|
|
107
|
+
config.network.enforcementMode = 'firewall';
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Resolves the executor binary and builds the common CLI arguments for any
|
|
112
|
+
* MXC request envelope (one-shot or state-aware). Performs platform support
|
|
113
|
+
* and binary-presence checks; does not validate envelope contents — callers
|
|
114
|
+
* apply request-specific validation before delegating to this helper.
|
|
115
|
+
*/
|
|
116
|
+
export function resolveBinaryAndCommonArgs(envelopeJson, options) {
|
|
117
|
+
const platformSupport = getPlatformSupport();
|
|
118
|
+
if (!platformSupport.isSupported && !options.skipPlatformCheck) {
|
|
119
|
+
throw new Error(`MXC is not supported on this platform: ${platformSupport.reason}`);
|
|
120
|
+
}
|
|
121
|
+
const platform = os.platform();
|
|
122
|
+
let executablePath;
|
|
123
|
+
if (options.executablePath) {
|
|
124
|
+
if (!fs.existsSync(options.executablePath)) {
|
|
125
|
+
throw new Error(`File not found: ${options.executablePath}`);
|
|
126
|
+
}
|
|
127
|
+
executablePath = options.executablePath;
|
|
128
|
+
}
|
|
129
|
+
else if (platform === 'linux') {
|
|
130
|
+
const p = findLxcExecutable();
|
|
131
|
+
if (!p) {
|
|
132
|
+
throw new Error('lxc-exec not found. Ensure it is built and available in a standard location.');
|
|
133
|
+
}
|
|
134
|
+
executablePath = p;
|
|
135
|
+
}
|
|
136
|
+
else if (platform === 'darwin') {
|
|
137
|
+
const p = findSeatbeltExecutable();
|
|
138
|
+
if (!p) {
|
|
139
|
+
throw new Error('mxc-exec-mac not found. Ensure it is built and available in a standard location.');
|
|
140
|
+
}
|
|
141
|
+
executablePath = p;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const p = findWxcExecutable();
|
|
145
|
+
if (!p) {
|
|
146
|
+
throw new Error('wxc-exec.exe not found. Set options.executablePath or ensure it exists in a standard location.');
|
|
147
|
+
}
|
|
148
|
+
executablePath = p;
|
|
149
|
+
}
|
|
150
|
+
const args = [];
|
|
151
|
+
const envelopeBase64 = Buffer.from(envelopeJson, 'utf-8').toString('base64');
|
|
152
|
+
args.push('--config-base64', envelopeBase64);
|
|
153
|
+
if (options.dryRun)
|
|
154
|
+
args.push('--dry-run');
|
|
155
|
+
if (options.debug)
|
|
156
|
+
args.push('--debug');
|
|
157
|
+
if (options.experimental)
|
|
158
|
+
args.push('--experimental');
|
|
159
|
+
return { executablePath, args };
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Resolves the executable path and builds CLI arguments for a one-shot
|
|
163
|
+
* sandbox invocation. Validates one-shot-specific invariants (commandLine
|
|
164
|
+
* required, experimental gating, containment-vs-platform compatibility)
|
|
165
|
+
* before delegating to the shared `resolveBinaryAndCommonArgs`.
|
|
166
|
+
*/
|
|
167
|
+
export function resolveExecutableAndArgs(config, options = {}) {
|
|
168
|
+
if (!config.process?.commandLine) {
|
|
169
|
+
throw new Error('script is required. Set process.commandLine on the config or pass a script to spawnSandbox().');
|
|
170
|
+
}
|
|
171
|
+
// Resolve deprecated wire values (e.g. "appcontainer" → "processcontainer",
|
|
172
|
+
// "macos_sandbox" → "seatbelt") once, and drive every containment check
|
|
173
|
+
// from the resolved value. The native binary accepts both spellings via
|
|
174
|
+
// serde aliases, so the wire payload is forwarded unchanged below — this
|
|
175
|
+
// resolution is purely for SDK-side validation. Without it, legacy values
|
|
176
|
+
// bypass the experimental-mode gate (because they are not in
|
|
177
|
+
// ExperimentalBackends under their alias) and produce a confusing
|
|
178
|
+
// "not available on this platform" error instead.
|
|
179
|
+
const rawContainment = config.containment;
|
|
180
|
+
const effectiveContainment = rawContainment
|
|
181
|
+
? (LegacyContainmentAliases[rawContainment] ?? rawContainment)
|
|
182
|
+
: undefined;
|
|
183
|
+
if (rawContainment && effectiveContainment !== rawContainment) {
|
|
184
|
+
warnLegacyContainmentOnce(rawContainment, effectiveContainment);
|
|
185
|
+
}
|
|
186
|
+
// Check experimental mode before anything else so the caller gets a clear
|
|
187
|
+
// message about the missing flag rather than a platform/binary error.
|
|
188
|
+
if (effectiveContainment && ExperimentalBackends.includes(effectiveContainment) && !options.experimental) {
|
|
189
|
+
throw new Error(`'${rawContainment}' containment requires experimental mode. Set 'experimental: true' in SandboxSpawnOptions.`);
|
|
190
|
+
}
|
|
191
|
+
const platformSupport = getPlatformSupport();
|
|
192
|
+
const isExperimental = !!effectiveContainment &&
|
|
193
|
+
ExperimentalBackends.includes(effectiveContainment);
|
|
194
|
+
if (!platformSupport.isSupported && !isExperimental && !options.skipPlatformCheck) {
|
|
195
|
+
throw new Error(`MXC is not supported on this platform: ${platformSupport.reason}`);
|
|
196
|
+
}
|
|
197
|
+
// Hard platform requirement: microvm needs WHP/Hyper-V on Windows. This guard
|
|
198
|
+
// runs even when `skipPlatformCheck` is set because it's not a build-version
|
|
199
|
+
// check — the backend literally cannot run on non-Windows hosts.
|
|
200
|
+
if (effectiveContainment === 'microvm' && os.platform() !== 'win32') {
|
|
201
|
+
throw new Error('The microvm backend is only supported on Windows (requires WHP/Hyper-V).');
|
|
202
|
+
}
|
|
203
|
+
// Validate containment against platform
|
|
204
|
+
if (effectiveContainment && !options.skipPlatformCheck) {
|
|
205
|
+
// Abstract intents (process, microvm) are resolved by the native binary
|
|
206
|
+
// at run time, so the SDK accepts them without checking against the
|
|
207
|
+
// host's concrete backend list.
|
|
208
|
+
const isIntent = ContainmentTypes.includes(effectiveContainment);
|
|
209
|
+
const isAvailable = platformSupport.availableMethods.includes(effectiveContainment);
|
|
210
|
+
if (!isIntent && !isExperimental && !isAvailable) {
|
|
211
|
+
throw new Error(`Containment backend '${rawContainment}' is not available on this platform. ` +
|
|
212
|
+
`Available methods: ${platformSupport.availableMethods.join(', ')}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return resolveBinaryAndCommonArgs(JSON.stringify(config), options);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Sets up logging and resolves the executable path + args.
|
|
219
|
+
* Shared by both PTY and non-PTY spawn paths.
|
|
220
|
+
*
|
|
221
|
+
* If resolveExecutableAndArgs throws, any open logger is closed
|
|
222
|
+
* before the error propagates.
|
|
223
|
+
*
|
|
224
|
+
* @param config - The container configuration
|
|
225
|
+
* @param options - Spawn options (debug, logDir, etc.)
|
|
226
|
+
*/
|
|
227
|
+
export function prepareSpawn(config, options) {
|
|
228
|
+
let logger;
|
|
229
|
+
let logFile;
|
|
230
|
+
const logDir = options.logDir ?? (options.debug ? path.join(os.tmpdir(), 'mxc-logs') : undefined);
|
|
231
|
+
if (logDir) {
|
|
232
|
+
logFile = makeLogFilePath(logDir);
|
|
233
|
+
logger = new FileLogger(logFile);
|
|
234
|
+
logger.log('info', 'mxc.log.created', { logFile });
|
|
235
|
+
}
|
|
236
|
+
const startTime = Date.now();
|
|
237
|
+
logger?.log('info', 'mxc.spawn.start', {
|
|
238
|
+
platform: os.platform(),
|
|
239
|
+
arch: os.arch(),
|
|
240
|
+
containment: config.containment,
|
|
241
|
+
});
|
|
242
|
+
try {
|
|
243
|
+
const { executablePath, args } = resolveExecutableAndArgs(config, options);
|
|
244
|
+
// Pass the SDK log file to wxc-exec so Rust-side diagnostics go to the same file.
|
|
245
|
+
if (logFile) {
|
|
246
|
+
args.push('--log-file', logFile);
|
|
247
|
+
}
|
|
248
|
+
logger?.log('info', 'mxc.binary.resolved', { resolved: !!executablePath });
|
|
249
|
+
return { executablePath, args, logger, logFile, startTime };
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
logger?.close();
|
|
253
|
+
throw err;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
|