ostacky 0.5.10 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -19
- package/assets/agents/ostacky.md +191 -79
- package/assets/commands/install-stack.md +137 -66
- package/assets/mcp/openspec/bun.lock +20 -0
- package/assets/mcp/openspec/index.js +300 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/LICENSE +216 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/README.md +40 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-BUWfrB3C.d.cts → openspec/node_modules/@modelcontextprotocol/core/dist/auth-B2Q9_Vxp.d.cts} +768 -465
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/auth-B2Q9_Vxp.d.cts.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-DFgbUATV.mjs → openspec/node_modules/@modelcontextprotocol/core/dist/auth-CUe6YdwF.mjs} +31 -6
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/auth-CUe6YdwF.mjs.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CNbu4K4a.d.mts → openspec/node_modules/@modelcontextprotocol/core/dist/auth-CVhIKulL.d.mts} +768 -465
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/auth-CVhIKulL.d.mts.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CEFpHq32.cjs → openspec/node_modules/@modelcontextprotocol/core/dist/auth-CfDMXiII.cjs} +42 -5
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/auth-CfDMXiII.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/index.cjs +175 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/index.d.cts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/index.d.mts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/index.mjs +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.cjs +201 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +99 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +99 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/dist/internal.mjs +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/core/package.json +85 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/LICENSE +216 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/README.md +30 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-B_4czhCS.d.cts +1054 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-B_4czhCS.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-BdSo9BII.d.mts +1054 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-BdSo9BII.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-Brn-Q2J_.cjs +7086 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-Brn-Q2J_.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CplOkyLC.mjs +7069 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CplOkyLC.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BYRW5af5.d.mts +59 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BYRW5af5.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-Bd-iTHAF.mjs +970 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-Bd-iTHAF.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-D9GAttn8.d.cts +59 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-D9GAttn8.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-ojcZaap3.cjs +976 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-ojcZaap3.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/chunk-Bnu9O96Y.cjs +60 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/chunk-Br0eD_fh.mjs +42 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D93NefGZ.d.mts → openspec/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CEckaSEs.d.mts} +41 -13
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CEckaSEs.d.mts.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BRM5MGf9.d.cts → openspec/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzBzpE4_.d.cts} +41 -13
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzBzpE4_.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.cjs +1999 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.d.cts +732 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.d.mts +732 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.mjs +1814 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-CzU40gwu.cjs → openspec/node_modules/@modelcontextprotocol/server/dist/mcp-DM1iHYFo.cjs} +55 -14
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/mcp-DM1iHYFo.cjs.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-Ctiu4nBa.mjs → openspec/node_modules/@modelcontextprotocol/server/dist/mcp-IJurDZVN.mjs} +50 -15
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/mcp-IJurDZVN.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs +23 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts +11 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts +11 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs +22 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsNode.cjs +12 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.mts +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs +4 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +30 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts +10 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts +10 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +29 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D9A7ArDn.cjs → openspec/node_modules/@modelcontextprotocol/server/dist/src-BX_fm-dB.cjs} +91 -22
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/src-BX_fm-dB.cjs.map +1 -0
- package/assets/mcp/{ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D5Nfqtoz.mjs → openspec/node_modules/@modelcontextprotocol/server/dist/src-D86MbS1I.mjs} +93 -24
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/src-D86MbS1I.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +564 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.cjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +107 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +107 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +562 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/stdio.mjs.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/types-DsbMXNFL.d.cts +1099 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/types-DsbMXNFL.d.cts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/types-mS0yxCL0.d.mts +1099 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/types-mS0yxCL0.d.mts.map +1 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/ajv.cjs +5 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.cts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.mts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/ajv.mjs +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.cjs +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.cts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.mts +2 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.mjs +3 -0
- package/assets/mcp/openspec/node_modules/@modelcontextprotocol/server/package.json +160 -0
- package/assets/mcp/openspec/node_modules/zod/LICENSE +21 -0
- package/assets/mcp/openspec/node_modules/zod/README.md +191 -0
- package/assets/mcp/openspec/node_modules/zod/index.cjs +33 -0
- package/assets/mcp/openspec/node_modules/zod/index.d.cts +4 -0
- package/assets/mcp/openspec/node_modules/zod/index.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/index.js +4 -0
- package/assets/mcp/openspec/node_modules/zod/locales/index.cjs +17 -0
- package/assets/mcp/openspec/node_modules/zod/locales/index.d.cts +1 -0
- package/assets/mcp/openspec/node_modules/zod/locales/index.d.ts +1 -0
- package/assets/mcp/openspec/node_modules/zod/locales/index.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/locales/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/mini/index.cjs +32 -0
- package/assets/mcp/openspec/node_modules/zod/mini/index.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/zod/mini/index.d.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/mini/index.js +3 -0
- package/assets/mcp/openspec/node_modules/zod/mini/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/package.json +135 -0
- package/assets/mcp/openspec/node_modules/zod/src/index.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/src/locales/index.ts +1 -0
- package/assets/mcp/openspec/node_modules/zod/src/mini/index.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/errors.ts +13 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/external.ts +6 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/index.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/assets/mcp/openspec/node_modules/zod/src/v3/types.ts +5138 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/config.ts +15 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/core.ts +153 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/index.ts +16 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/util.ts +983 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/index.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/assets/mcp/openspec/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v3/ZodError.cjs +138 -0
- package/assets/mcp/openspec/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/assets/mcp/openspec/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/assets/mcp/openspec/node_modules/zod/v3/ZodError.js +133 -0
- package/assets/mcp/openspec/node_modules/zod/v3/errors.cjs +17 -0
- package/assets/mcp/openspec/node_modules/zod/v3/errors.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v3/errors.d.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v3/errors.js +9 -0
- package/assets/mcp/openspec/node_modules/zod/v3/external.cjs +22 -0
- package/assets/mcp/openspec/node_modules/zod/v3/external.d.cts +6 -0
- package/assets/mcp/openspec/node_modules/zod/v3/external.d.ts +6 -0
- package/assets/mcp/openspec/node_modules/zod/v3/external.js +6 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/assets/mcp/openspec/node_modules/zod/v3/helpers/util.js +133 -0
- package/assets/mcp/openspec/node_modules/zod/v3/index.cjs +33 -0
- package/assets/mcp/openspec/node_modules/zod/v3/index.d.cts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v3/index.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v3/index.js +4 -0
- package/assets/mcp/openspec/node_modules/zod/v3/locales/en.cjs +112 -0
- package/assets/mcp/openspec/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v3/locales/en.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v3/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/assets/mcp/openspec/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/assets/mcp/openspec/node_modules/zod/v3/standard-schema.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v3/types.cjs +3777 -0
- package/assets/mcp/openspec/node_modules/zod/v3/types.d.cts +1034 -0
- package/assets/mcp/openspec/node_modules/zod/v3/types.d.ts +1034 -0
- package/assets/mcp/openspec/node_modules/zod/v3/types.js +3695 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/checks.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/coerce.js +17 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/compat.js +31 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/errors.js +48 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/external.cjs +73 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/external.d.cts +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/external.js +20 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/index.cjs +33 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/index.js +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/iso.js +30 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/parse.js +15 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/schemas.cjs +1511 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/assets/mcp/openspec/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/api.cjs +1227 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/api.d.cts +325 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/api.d.ts +325 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/api.js +1087 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/checks.cjs +601 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/checks.js +575 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/core.cjs +85 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/core.d.cts +70 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/core.d.ts +70 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/core.js +78 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/doc.cjs +39 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/doc.js +35 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/errors.cjs +216 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/errors.js +185 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/index.cjs +47 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/index.d.cts +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/index.d.ts +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/index.js +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/json-schema.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/parse.cjs +131 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/parse.js +93 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/regexes.cjs +172 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/regexes.js +139 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/registries.cjs +56 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/registries.js +51 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/schemas.cjs +2270 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/schemas.js +2239 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/util.cjs +734 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/util.d.cts +200 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/util.d.ts +200 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/util.js +674 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/versions.cjs +8 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/core/versions.js +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/index.cjs +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/index.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/index.d.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/index.js +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ar.js +106 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/az.cjs +132 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/az.js +105 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/be.cjs +183 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/be.js +156 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/bg.js +120 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ca.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/cs.js +111 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/da.cjs +142 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/da.js +115 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/de.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/de.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/el.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/el.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/en.cjs +140 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/en.js +113 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/eo.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/es.cjs +159 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/es.js +132 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fa.js +114 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fi.js +112 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr.cjs +152 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/fr.js +125 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/he.cjs +241 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/he.js +214 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hr.cjs +149 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hr.js +122 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hu.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/hy.js +147 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/id.cjs +133 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/id.js +106 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/index.cjs +111 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/index.js +52 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/is.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/is.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/it.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/it.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ja.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ka.js +112 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/kh.js +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/km.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/km.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ko.js +111 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/lt.js +203 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/mk.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ms.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/nl.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/no.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/no.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ota.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pl.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ps.js +114 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/pt.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ro.cjs +146 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ro.js +119 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ru.js +156 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sl.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/sv.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ta.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/th.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/th.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/tr.js +105 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ua.js +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uk.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/ur.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uz.cjs +137 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/uz.js +110 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/vi.js +108 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/yo.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/assets/mcp/openspec/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/checks.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/coerce.js +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/external.cjs +63 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/external.d.cts +13 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/external.d.ts +13 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/external.js +14 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/index.cjs +32 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/index.js +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/iso.js +34 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/parse.js +1 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/schemas.cjs +1083 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/assets/mcp/openspec/node_modules/zod/v4/mini/schemas.js +961 -0
- package/assets/mcp/openspec/node_modules/zod/v4/package.json +7 -0
- package/assets/mcp/openspec/node_modules/zod/v4-mini/index.cjs +32 -0
- package/assets/mcp/openspec/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4-mini/index.js +3 -0
- package/assets/mcp/openspec/node_modules/zod/v4-mini/package.json +7 -0
- package/assets/mcp/openspec/package.json +10 -0
- package/assets/mcp/ostacky-controller/index.js +245 -103
- package/assets/mcp/ostacky-controller/node_modules/.package-lock.json +8 -8
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-B2Q9_Vxp.d.cts +8501 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-B2Q9_Vxp.d.cts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CUe6YdwF.mjs +1678 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CUe6YdwF.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CVhIKulL.d.mts +8501 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CVhIKulL.d.mts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CfDMXiII.cjs +2899 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CfDMXiII.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.cjs +2 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.d.cts +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.d.mts +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/index.mjs +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.cjs +3 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +14 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.cts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +14 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.d.mts.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/internal.mjs +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/package.json +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CEckaSEs.d.mts +4041 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CEckaSEs.d.mts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzBzpE4_.d.cts +4043 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzBzpE4_.d.cts.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.cjs +12 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.cts +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.d.mts +2 -2
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.mjs +5 -4
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-DM1iHYFo.cjs +2004 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-DM1iHYFo.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-IJurDZVN.mjs +1919 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-IJurDZVN.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-BX_fm-dB.cjs +8069 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-BX_fm-dB.cjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D86MbS1I.mjs +7571 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D86MbS1I.mjs.map +1 -0
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +3 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.cjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +3 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/stdio.mjs.map +1 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/package.json +3 -3
- package/assets/mcp/ostacky-controller/package-lock.json +10 -10
- package/assets/mcp/ostacky-controller/package.json +2 -2
- package/assets/plugins/engram.ts +537 -0
- package/assets/skills/{thinking → brainstorming}/SKILL.md +8 -6
- package/assets/skills/dispatching-parallel-agents/SKILL.md +7 -7
- package/assets/skills/execution-mode-evaluation/SKILL.md +10 -8
- package/assets/skills/graceful-degradation/SKILL.md +235 -0
- package/assets/skills/openspec-apply-change/SKILL.md +4 -2
- package/assets/skills/openspec-archive-change/SKILL.md +4 -4
- package/assets/skills/openspec-explore/SKILL.md +288 -0
- package/assets/skills/openspec-propose/SKILL.md +7 -5
- package/assets/skills/subagent-driven-development/SKILL.md +18 -17
- package/assets/skills/tdd/SKILL.md +1 -1
- package/assets/skills/using-git-worktrees/SKILL.md +3 -11
- package/assets/skills/using-superpowers/SKILL.md +14 -20
- package/assets/skills/writing-plans/SKILL.md +5 -3
- package/assets/skills/writing-skills/SKILL.md +9 -9
- package/dist/cli.js +2347 -1723
- package/manifest.json +61 -40
- package/package.json +9 -3
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-BUWfrB3C.d.cts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CEFpHq32.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-CNbu4K4a.d.mts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/core/dist/auth-DFgbUATV.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BRM5MGf9.d.cts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D93NefGZ.d.mts.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-Ctiu4nBa.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/mcp-CzU40gwu.cjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D5Nfqtoz.mjs.map +0 -1
- package/assets/mcp/ostacky-controller/node_modules/@modelcontextprotocol/server/dist/src-D9A7ArDn.cjs.map +0 -1
- package/assets/skills/execution-mode-evaluation/README.md +0 -257
- package/assets/tests/agent-contract.test.js +0 -227
- package/assets/tests/controller.test.js +0 -187
- package/assets/tests/e2e-scenarios.md +0 -502
- package/assets/tests/validate-config.sh +0 -272
- package/dist/mcp/ask-user-server/index.js +0 -19657
- package/dist/mcp/ostacky-controller/index.js +0 -20187
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.z = void 0;
|
|
30
|
+
const z = __importStar(require("../v4/mini/external.cjs"));
|
|
31
|
+
exports.z = z;
|
|
32
|
+
__exportStar(require("../v4/mini/external.cjs"), exports);
|
|
@@ -7,8 +7,73 @@ import { readFileSync, writeFileSync, renameSync, mkdirSync, readdirSync, unlink
|
|
|
7
7
|
import { dirname, basename } from 'node:path';
|
|
8
8
|
|
|
9
9
|
const MAX_TASKS = 50;
|
|
10
|
-
const MAX_SNAPSHOT_JSON_LENGTH = 100 * 1024;
|
|
11
|
-
const MAX_STATE_FILE_SIZE = 1024 * 1024;
|
|
10
|
+
const MAX_SNAPSHOT_JSON_LENGTH = 100 * 1024;
|
|
11
|
+
const MAX_STATE_FILE_SIZE = 1024 * 1024;
|
|
12
|
+
const WATCHDOG_TIMEOUT_MS = 30_000;
|
|
13
|
+
const WATCHDOG_CHECK_INTERVAL_MS = 10_000;
|
|
14
|
+
let lastToolActivity = Date.now();
|
|
15
|
+
|
|
16
|
+
const TRANSITIONS = {
|
|
17
|
+
INTERPRETATION_PENDING: [
|
|
18
|
+
{ via: 'request_clarification', to: 'CLARIFICATION_PENDING' },
|
|
19
|
+
{ via: 'proceed_to_discovery', to: 'DISCOVERY' },
|
|
20
|
+
{ via: 'record_discovery', to: 'ROUTE_DECISION_PENDING' },
|
|
21
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
22
|
+
],
|
|
23
|
+
CLARIFICATION_PENDING: [
|
|
24
|
+
{ via: 'record_clarification', to: 'DISCOVERY' },
|
|
25
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
26
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
27
|
+
],
|
|
28
|
+
DISCOVERY: [
|
|
29
|
+
{ via: 'record_discovery', to: 'LEVEL_RESOLVED' },
|
|
30
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
31
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
32
|
+
],
|
|
33
|
+
LEVEL_RESOLVED: [
|
|
34
|
+
{ via: 'proceed_to_route', to: 'ROUTE_DECISION_PENDING' },
|
|
35
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
36
|
+
],
|
|
37
|
+
ROUTE_DECISION_PENDING: [
|
|
38
|
+
{ via: 'consume_route_decision', to: 'SPECIFICATION', choice: 'SPEC' },
|
|
39
|
+
{ via: 'consume_route_decision', to: 'EXECUTION_ANALYSIS', choice: 'DIRECT' },
|
|
40
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
41
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
42
|
+
],
|
|
43
|
+
SPECIFICATION: [
|
|
44
|
+
{ via: 'spec_complete', to: 'EXECUTION_ANALYSIS' },
|
|
45
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
46
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
47
|
+
],
|
|
48
|
+
EXECUTION_ANALYSIS: [
|
|
49
|
+
{ via: 'analysis_complete', to: 'EXECUTION_DECISION_PENDING' },
|
|
50
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
51
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
52
|
+
],
|
|
53
|
+
EXECUTION_DECISION_PENDING: [
|
|
54
|
+
{ via: 'consume_execution_decision', to: 'EXECUTING_INLINE', mode: 'INLINE' },
|
|
55
|
+
{ via: 'consume_execution_decision', to: 'EXECUTING_SUBAGENTS', mode: 'SUBAGENT_DRIVEN' },
|
|
56
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
57
|
+
{ via: 'abandon', to: 'BLOCKED' },
|
|
58
|
+
],
|
|
59
|
+
EXECUTING_INLINE: [
|
|
60
|
+
{ via: 'implementation_complete', to: 'SYNC' },
|
|
61
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
62
|
+
],
|
|
63
|
+
EXECUTING_SUBAGENTS: [
|
|
64
|
+
{ via: 'implementation_complete', to: 'SYNC' },
|
|
65
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
66
|
+
],
|
|
67
|
+
BLOCKED: [
|
|
68
|
+
{ via: 'replan', to: 'INTERPRETATION_PENDING' },
|
|
69
|
+
{ via: 'abandon', to: 'DONE' },
|
|
70
|
+
],
|
|
71
|
+
SYNC: [
|
|
72
|
+
{ via: 'sync_complete', to: 'DONE' },
|
|
73
|
+
{ via: 'block', to: 'BLOCKED' },
|
|
74
|
+
],
|
|
75
|
+
DONE: [],
|
|
76
|
+
};
|
|
12
77
|
|
|
13
78
|
/**
|
|
14
79
|
* Safe JSON.stringify that won't throw on circular references.
|
|
@@ -107,6 +172,19 @@ class OstackyController {
|
|
|
107
172
|
}
|
|
108
173
|
}
|
|
109
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Validates that a parsed state object has the required fields and valid values.
|
|
177
|
+
* Returns null if valid, or an error message if invalid.
|
|
178
|
+
*/
|
|
179
|
+
#validateState(parsed) {
|
|
180
|
+
if (typeof parsed !== 'object' || parsed === null) return 'State is not an object';
|
|
181
|
+
if (typeof parsed.state !== 'string') return 'Missing or invalid "state" field';
|
|
182
|
+
if (!STATES[parsed.state]) return `Unknown state: "${parsed.state}"`;
|
|
183
|
+
if (typeof parsed.revision !== 'number') return 'Missing or invalid "revision" field';
|
|
184
|
+
if (parsed.revision < 0) return `Invalid revision: ${parsed.revision}`;
|
|
185
|
+
return null; // valid
|
|
186
|
+
}
|
|
187
|
+
|
|
110
188
|
#load() {
|
|
111
189
|
if (this.#loaded) return;
|
|
112
190
|
if (!this.#statePath) {
|
|
@@ -118,7 +196,10 @@ class OstackyController {
|
|
|
118
196
|
try {
|
|
119
197
|
const raw = readFileSync(this.#statePath, 'utf8');
|
|
120
198
|
if (raw.length > MAX_STATE_FILE_SIZE) throw new Error(`State file too large: ${raw.length} bytes`);
|
|
121
|
-
|
|
199
|
+
const parsed = JSON.parse(raw);
|
|
200
|
+
const validationError = this.#validateState(parsed);
|
|
201
|
+
if (validationError) throw new Error(`State validation failed: ${validationError}`);
|
|
202
|
+
this.#state = { ...DEFAULT_STATE, ...parsed };
|
|
122
203
|
this.#loaded = true;
|
|
123
204
|
return;
|
|
124
205
|
} catch (err) {
|
|
@@ -129,17 +210,20 @@ class OstackyController {
|
|
|
129
210
|
try {
|
|
130
211
|
const raw = readFileSync(backupPath, 'utf8');
|
|
131
212
|
if (raw.length > MAX_STATE_FILE_SIZE) throw new Error(`Backup too large: ${raw.length} bytes`);
|
|
132
|
-
|
|
213
|
+
const parsed = JSON.parse(raw);
|
|
214
|
+
const validationError = this.#validateState(parsed);
|
|
215
|
+
if (validationError) throw new Error(`Backup validation failed: ${validationError}`);
|
|
216
|
+
this.#state = { ...DEFAULT_STATE, ...parsed, error: 'State restored from backup' };
|
|
133
217
|
log('warn:state_restored_from_backup');
|
|
134
218
|
this.#loaded = true;
|
|
135
219
|
return;
|
|
136
|
-
} catch {
|
|
220
|
+
} catch (backupErr) {
|
|
137
221
|
// No backup either — set error state instead of silent reset
|
|
138
222
|
this.#state = {
|
|
139
223
|
...DEFAULT_STATE,
|
|
140
|
-
error: `State file corrupt: ${
|
|
224
|
+
error: `State file corrupt: ${backupErr.message}. No backup available. State reset to default.`,
|
|
141
225
|
};
|
|
142
|
-
log('warn:state_reset', { error:
|
|
226
|
+
log('warn:state_reset', { error: backupErr.message });
|
|
143
227
|
}
|
|
144
228
|
this.#loaded = true;
|
|
145
229
|
}
|
|
@@ -148,28 +232,24 @@ class OstackyController {
|
|
|
148
232
|
if (!this.#statePath) return;
|
|
149
233
|
const dir = dirname(this.#statePath);
|
|
150
234
|
mkdirSync(dir, { recursive: true });
|
|
151
|
-
|
|
152
|
-
// Hard cap — if state exceeds 1MB, trim snapshots and retry
|
|
235
|
+
let serialized = safeJsonStringify(this.#state, true);
|
|
153
236
|
if (serialized.length > MAX_STATE_FILE_SIZE) {
|
|
154
237
|
log('warn:state_oversized', { size: serialized.length });
|
|
155
|
-
this.#state
|
|
156
|
-
|
|
157
|
-
if (
|
|
238
|
+
const trimmed = { ...this.#state, snapshots: { codegraph: null, execution: null } };
|
|
239
|
+
serialized = safeJsonStringify(trimmed, true);
|
|
240
|
+
if (serialized.length > MAX_STATE_FILE_SIZE) {
|
|
158
241
|
log('error:state_too_large_even_after_trim');
|
|
159
|
-
return;
|
|
242
|
+
return;
|
|
160
243
|
}
|
|
161
|
-
|
|
162
|
-
writeFileSync(tmp, trimmed, 'utf8');
|
|
163
|
-
renameSync(tmp, this.#statePath);
|
|
164
|
-
return;
|
|
244
|
+
this.#state.snapshots = { codegraph: null, execution: null };
|
|
165
245
|
}
|
|
166
246
|
const tmp = this.#statePath + '.tmp.' + process.pid;
|
|
167
247
|
writeFileSync(tmp, serialized, 'utf8');
|
|
168
248
|
renameSync(tmp, this.#statePath);
|
|
169
|
-
// Best-effort backup
|
|
170
249
|
try {
|
|
171
|
-
const
|
|
172
|
-
writeFileSync(
|
|
250
|
+
const backupTmp = this.#statePath + '.backup.tmp.' + process.pid;
|
|
251
|
+
writeFileSync(backupTmp, serialized, 'utf8');
|
|
252
|
+
renameSync(backupTmp, this.#statePath + '.backup');
|
|
173
253
|
} catch {
|
|
174
254
|
/* backup is best-effort */
|
|
175
255
|
}
|
|
@@ -198,71 +278,11 @@ class OstackyController {
|
|
|
198
278
|
this.#state.revision++;
|
|
199
279
|
this.#state.state = to;
|
|
200
280
|
Object.assign(this.#state, changes);
|
|
201
|
-
this.#trimTasks();
|
|
202
281
|
this.#persist();
|
|
203
282
|
}
|
|
204
283
|
|
|
205
284
|
#isAllowedTransition(from, via, choiceOrMode) {
|
|
206
|
-
const
|
|
207
|
-
INTERPRETATION_PENDING: [
|
|
208
|
-
{ to: 'CLARIFICATION_PENDING', via: 'request_clarification' },
|
|
209
|
-
{ to: 'DISCOVERY', via: 'proceed_to_discovery' },
|
|
210
|
-
{ to: 'ROUTE_DECISION_PENDING', via: 'record_discovery' },
|
|
211
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
212
|
-
],
|
|
213
|
-
CLARIFICATION_PENDING: [
|
|
214
|
-
{ to: 'DISCOVERY', via: 'record_clarification' },
|
|
215
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
216
|
-
{ to: 'BLOCKED', via: 'abandon' },
|
|
217
|
-
],
|
|
218
|
-
DISCOVERY: [
|
|
219
|
-
{ to: 'LEVEL_RESOLVED', via: 'record_discovery' },
|
|
220
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
221
|
-
{ to: 'BLOCKED', via: 'abandon' },
|
|
222
|
-
],
|
|
223
|
-
LEVEL_RESOLVED: [
|
|
224
|
-
{ to: 'ROUTE_DECISION_PENDING', via: 'route_decision_pending' },
|
|
225
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
226
|
-
],
|
|
227
|
-
ROUTE_DECISION_PENDING: [
|
|
228
|
-
{ to: 'SPECIFICATION', via: 'consume_route_decision', choice: 'SPEC' },
|
|
229
|
-
{ to: 'EXECUTION_ANALYSIS', via: 'consume_route_decision', choice: 'DIRECT' },
|
|
230
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
231
|
-
],
|
|
232
|
-
SPECIFICATION: [
|
|
233
|
-
{ to: 'EXECUTION_ANALYSIS', via: 'spec_complete' },
|
|
234
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
235
|
-
{ to: 'BLOCKED', via: 'abandon' },
|
|
236
|
-
],
|
|
237
|
-
EXECUTION_ANALYSIS: [
|
|
238
|
-
{ to: 'EXECUTION_DECISION_PENDING', via: 'analysis_complete' },
|
|
239
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
240
|
-
{ to: 'BLOCKED', via: 'abandon' },
|
|
241
|
-
],
|
|
242
|
-
EXECUTION_DECISION_PENDING: [
|
|
243
|
-
{ to: 'EXECUTING_INLINE', via: 'consume_execution_decision', mode: 'INLINE' },
|
|
244
|
-
{ to: 'EXECUTING_SUBAGENTS', via: 'consume_execution_decision', mode: 'SUBAGENT_DRIVEN' },
|
|
245
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
246
|
-
],
|
|
247
|
-
EXECUTING_INLINE: [
|
|
248
|
-
{ to: 'SYNC', via: 'implementation_complete' },
|
|
249
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
250
|
-
],
|
|
251
|
-
EXECUTING_SUBAGENTS: [
|
|
252
|
-
{ to: 'SYNC', via: 'implementation_complete' },
|
|
253
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
254
|
-
],
|
|
255
|
-
BLOCKED: [
|
|
256
|
-
{ to: 'INTERPRETATION_PENDING', via: 'replan' },
|
|
257
|
-
{ to: 'DONE', via: 'abandon' },
|
|
258
|
-
],
|
|
259
|
-
SYNC: [
|
|
260
|
-
{ to: 'DONE', via: 'sync_complete' },
|
|
261
|
-
{ to: 'BLOCKED', via: 'block' },
|
|
262
|
-
],
|
|
263
|
-
DONE: [],
|
|
264
|
-
};
|
|
265
|
-
const transitions = table[from] || [];
|
|
285
|
+
const transitions = TRANSITIONS[from] || [];
|
|
266
286
|
for (const t of transitions) {
|
|
267
287
|
if (t.via !== via) continue;
|
|
268
288
|
if (t.choice !== undefined && t.choice !== choiceOrMode) continue;
|
|
@@ -274,11 +294,7 @@ class OstackyController {
|
|
|
274
294
|
|
|
275
295
|
async startRequest({ requestId, changeId } = {}) {
|
|
276
296
|
this.#load();
|
|
277
|
-
if (
|
|
278
|
-
this.#state.state !== 'INTERPRETATION_PENDING' &&
|
|
279
|
-
this.#state.state !== 'BLOCKED' &&
|
|
280
|
-
this.#state.state !== 'DONE'
|
|
281
|
-
) {
|
|
297
|
+
if (this.#state.state === 'INTERPRETATION_PENDING' && !requestId) {
|
|
282
298
|
return { state: this.#state.state, revision: this.#state.revision, requestId: this.#state.requestId };
|
|
283
299
|
}
|
|
284
300
|
this.#transition('INTERPRETATION_PENDING', {
|
|
@@ -316,7 +332,9 @@ class OstackyController {
|
|
|
316
332
|
this.#load();
|
|
317
333
|
const to = this.#isAllowedTransition(this.#state.state, 'record_discovery');
|
|
318
334
|
if (!to) return { error: `Cannot record discovery from state ${this.#state.state}` };
|
|
319
|
-
if (
|
|
335
|
+
if (snapshot && safeJsonStringify(snapshot).length > MAX_SNAPSHOT_JSON_LENGTH) {
|
|
336
|
+
return { error: `Snapshot exceeds maximum size of ${MAX_SNAPSHOT_JSON_LENGTH} bytes` };
|
|
337
|
+
}
|
|
320
338
|
this.#transition(to, {
|
|
321
339
|
routeDecisionId: routeDecisionId || 'route-' + Date.now(),
|
|
322
340
|
routeChoice: null,
|
|
@@ -332,17 +350,28 @@ class OstackyController {
|
|
|
332
350
|
};
|
|
333
351
|
}
|
|
334
352
|
|
|
353
|
+
async proceedToRoute() {
|
|
354
|
+
this.#load();
|
|
355
|
+
const to = this.#isAllowedTransition(this.#state.state, 'proceed_to_route');
|
|
356
|
+
if (!to) return { error: `Cannot proceed to route from state ${this.#state.state}` };
|
|
357
|
+
this.#transition(to);
|
|
358
|
+
return { state: this.#state.state, revision: this.#state.revision };
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
async abandon({ reason } = {}) {
|
|
362
|
+
this.#load();
|
|
363
|
+
const to = this.#isAllowedTransition(this.#state.state, 'abandon');
|
|
364
|
+
if (!to) return { error: `Cannot abandon from state ${this.#state.state}` };
|
|
365
|
+
this.#transition(to, { error: reason || 'Abandoned' });
|
|
366
|
+
return { state: this.#state.state, revision: this.#state.revision };
|
|
367
|
+
}
|
|
368
|
+
|
|
335
369
|
async consumeRouteDecision({ decisionId, choice } = {}) {
|
|
336
370
|
this.#load();
|
|
337
371
|
if (this.#state.state !== 'ROUTE_DECISION_PENDING') {
|
|
338
|
-
if (this.#state.routeDecisionId === decisionId && this.#state.routeChoice) {
|
|
339
|
-
return { error: `Route decision ${decisionId} already consumed as ${this.#state.routeChoice}` };
|
|
340
|
-
}
|
|
341
372
|
return { error: `Cannot consume route decision from state ${this.#state.state}` };
|
|
342
373
|
}
|
|
343
374
|
if (this.#state.routeDecisionId !== decisionId) return { error: `Decision ID mismatch` };
|
|
344
|
-
if (choice !== 'SPEC' && choice !== 'DIRECT') return { error: `Invalid choice: ${choice}` };
|
|
345
|
-
if (this.#state.routeChoice) return { error: `Decision already consumed as ${this.#state.routeChoice}` };
|
|
346
375
|
const to = this.#isAllowedTransition(this.#state.state, 'consume_route_decision', choice);
|
|
347
376
|
if (!to) return { error: `Route ${choice} not allowed from ${this.#state.state}` };
|
|
348
377
|
this.#transition(to, { routeChoice: choice });
|
|
@@ -361,7 +390,10 @@ class OstackyController {
|
|
|
361
390
|
this.#load();
|
|
362
391
|
const to = this.#isAllowedTransition(this.#state.state, 'analysis_complete');
|
|
363
392
|
if (!to) return { error: `Cannot record execution analysis from state ${this.#state.state}` };
|
|
364
|
-
|
|
393
|
+
if (snapshot && safeJsonStringify(snapshot).length > MAX_SNAPSHOT_JSON_LENGTH) {
|
|
394
|
+
return { error: `Snapshot exceeds maximum size of ${MAX_SNAPSHOT_JSON_LENGTH} bytes` };
|
|
395
|
+
}
|
|
396
|
+
this.#transition(to, {
|
|
365
397
|
executionDecisionId: executionDecisionId || 'exec-' + Date.now(),
|
|
366
398
|
executionMode: null,
|
|
367
399
|
snapshots: { ...this.#state.snapshots, execution: snapshot || null },
|
|
@@ -376,14 +408,9 @@ class OstackyController {
|
|
|
376
408
|
async consumeExecutionDecision({ decisionId, mode } = {}) {
|
|
377
409
|
this.#load();
|
|
378
410
|
if (this.#state.state !== 'EXECUTION_DECISION_PENDING') {
|
|
379
|
-
if (this.#state.executionDecisionId === decisionId && this.#state.executionMode) {
|
|
380
|
-
return { error: `Execution decision ${decisionId} already consumed as ${this.#state.executionMode}` };
|
|
381
|
-
}
|
|
382
411
|
return { error: `Cannot consume execution decision from state ${this.#state.state}` };
|
|
383
412
|
}
|
|
384
413
|
if (this.#state.executionDecisionId !== decisionId) return { error: `Decision ID mismatch` };
|
|
385
|
-
if (mode !== 'INLINE' && mode !== 'SUBAGENT_DRIVEN') return { error: `Invalid mode: ${mode}` };
|
|
386
|
-
if (this.#state.executionMode) return { error: `Decision already consumed as ${this.#state.executionMode}` };
|
|
387
414
|
const to = this.#isAllowedTransition(this.#state.state, 'consume_execution_decision', mode);
|
|
388
415
|
if (!to) return { error: `Mode ${mode} not allowed from ${this.#state.state}` };
|
|
389
416
|
this.#transition(to, { executionMode: mode });
|
|
@@ -433,7 +460,7 @@ class OstackyController {
|
|
|
433
460
|
|
|
434
461
|
async getState() {
|
|
435
462
|
this.#load();
|
|
436
|
-
return
|
|
463
|
+
return structuredClone(this.#state);
|
|
437
464
|
}
|
|
438
465
|
|
|
439
466
|
async getTasks() {
|
|
@@ -441,6 +468,14 @@ class OstackyController {
|
|
|
441
468
|
return { ...this.#state.tasks };
|
|
442
469
|
}
|
|
443
470
|
|
|
471
|
+
async getAvailableTransitions() {
|
|
472
|
+
this.#load();
|
|
473
|
+
return {
|
|
474
|
+
currentState: this.#state.state,
|
|
475
|
+
transitions: TRANSITIONS[this.#state.state] || [],
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
|
|
444
479
|
/**
|
|
445
480
|
* Validates an edit against the current file content.
|
|
446
481
|
* Returns one of: EDITABLE, ALREADY_APPLIED, CONFLICT.
|
|
@@ -541,11 +576,16 @@ const controller = new OstackyController({ statePath });
|
|
|
541
576
|
*/
|
|
542
577
|
function safeHandler(fn) {
|
|
543
578
|
return async (params) => {
|
|
579
|
+
lastToolActivity = Date.now();
|
|
544
580
|
try {
|
|
545
581
|
const result = await fn(params);
|
|
546
582
|
return { content: [{ type: 'text', text: safeJsonStringify(result) }] };
|
|
547
583
|
} catch (error) {
|
|
548
|
-
log('tool:error', {
|
|
584
|
+
log('tool:error', {
|
|
585
|
+
name: fn.name || 'anonymous',
|
|
586
|
+
error: error.message,
|
|
587
|
+
stack: error.stack,
|
|
588
|
+
});
|
|
549
589
|
return {
|
|
550
590
|
content: [{ type: 'text', text: safeJsonStringify({ error: error.message }) }],
|
|
551
591
|
isError: true,
|
|
@@ -556,13 +596,13 @@ function safeHandler(fn) {
|
|
|
556
596
|
|
|
557
597
|
const server = new McpServer({
|
|
558
598
|
name: 'ostacky-controller',
|
|
559
|
-
version: '0.
|
|
599
|
+
version: '0.6.0',
|
|
560
600
|
});
|
|
561
601
|
|
|
562
602
|
server.registerTool(
|
|
563
603
|
'start_request',
|
|
564
604
|
{
|
|
565
|
-
description: 'Start or
|
|
605
|
+
description: 'Start or reset a new request. Can be called from ANY state — resets state machine. Call this first.',
|
|
566
606
|
inputSchema: z.object({
|
|
567
607
|
requestId: z.string().optional().describe('Unique request ID'),
|
|
568
608
|
changeId: z.string().optional().describe('Optional change ID for OpenSpec tracking'),
|
|
@@ -603,7 +643,7 @@ server.registerTool(
|
|
|
603
643
|
server.registerTool(
|
|
604
644
|
'record_discovery',
|
|
605
645
|
{
|
|
606
|
-
description: 'Record discovery complete with level classification.
|
|
646
|
+
description: 'Record discovery complete with level classification. From INTERPRETATION_PENDING goes to ROUTE_DECISION_PENDING. From DISCOVERY goes to LEVEL_RESOLVED.',
|
|
607
647
|
inputSchema: z.object({
|
|
608
648
|
level: z.enum(['0', '0+1', '1+']).describe('Impact level'),
|
|
609
649
|
routeDecisionId: z.string().optional().describe('Unique route decision ID'),
|
|
@@ -725,6 +765,50 @@ server.registerTool(
|
|
|
725
765
|
})
|
|
726
766
|
);
|
|
727
767
|
|
|
768
|
+
server.registerTool(
|
|
769
|
+
'proceed_to_route',
|
|
770
|
+
{
|
|
771
|
+
description: 'Proceed from LEVEL_RESOLVED to ROUTE_DECISION_PENDING after discovery is confirmed.',
|
|
772
|
+
inputSchema: z.object({}),
|
|
773
|
+
},
|
|
774
|
+
safeHandler(async () => {
|
|
775
|
+
log('tool:proceed_to_route');
|
|
776
|
+
return await controller.proceedToRoute();
|
|
777
|
+
})
|
|
778
|
+
);
|
|
779
|
+
|
|
780
|
+
server.registerTool(
|
|
781
|
+
'abandon',
|
|
782
|
+
{
|
|
783
|
+
description: 'Abandon the current request. Transitions to BLOCKED from most states, or to DONE from BLOCKED.',
|
|
784
|
+
inputSchema: z.object({
|
|
785
|
+
reason: z.string().optional().describe('Reason for abandoning'),
|
|
786
|
+
}),
|
|
787
|
+
},
|
|
788
|
+
safeHandler(async ({ reason }) => {
|
|
789
|
+
log('tool:abandon');
|
|
790
|
+
return await controller.abandon({ reason });
|
|
791
|
+
})
|
|
792
|
+
);
|
|
793
|
+
|
|
794
|
+
server.registerTool(
|
|
795
|
+
'ping',
|
|
796
|
+
{
|
|
797
|
+
description: 'Health check — returns pong if controller is alive. Use this to verify controller availability before making other calls.',
|
|
798
|
+
inputSchema: z.object({}),
|
|
799
|
+
},
|
|
800
|
+
safeHandler(async () => {
|
|
801
|
+
return {
|
|
802
|
+
pong: true,
|
|
803
|
+
state: await controller.getState().then(s => ({
|
|
804
|
+
state: s.state,
|
|
805
|
+
revision: s.revision,
|
|
806
|
+
requestId: s.requestId,
|
|
807
|
+
})),
|
|
808
|
+
};
|
|
809
|
+
})
|
|
810
|
+
);
|
|
811
|
+
|
|
728
812
|
server.registerTool(
|
|
729
813
|
'get_state',
|
|
730
814
|
{
|
|
@@ -747,6 +831,47 @@ server.registerTool(
|
|
|
747
831
|
})
|
|
748
832
|
);
|
|
749
833
|
|
|
834
|
+
server.registerTool(
|
|
835
|
+
'get_available_transitions',
|
|
836
|
+
{
|
|
837
|
+
description: 'Get valid transitions from current state. Useful for debugging state machine issues.',
|
|
838
|
+
inputSchema: z.object({}),
|
|
839
|
+
},
|
|
840
|
+
safeHandler(async () => {
|
|
841
|
+
return await controller.getAvailableTransitions();
|
|
842
|
+
})
|
|
843
|
+
);
|
|
844
|
+
|
|
845
|
+
server.registerTool(
|
|
846
|
+
'check_pending_state',
|
|
847
|
+
{
|
|
848
|
+
description:
|
|
849
|
+
'Check if agent is in a pending state waiting for user input. ' +
|
|
850
|
+
'MUST be called before ANY tool call when controller is available. ' +
|
|
851
|
+
'Returns ALLOW or BLOCKED with reason. ' +
|
|
852
|
+
'EXCEPTION: controller tools (consume_route_decision, consume_execution_decision, ' +
|
|
853
|
+
'record_clarification, abandon) are ALWAYS allowed — they unlock the state.',
|
|
854
|
+
inputSchema: z.object({}),
|
|
855
|
+
},
|
|
856
|
+
safeHandler(async () => {
|
|
857
|
+
const state = await controller.getState();
|
|
858
|
+
const pendingStates = [
|
|
859
|
+
'CLARIFICATION_PENDING',
|
|
860
|
+
'ROUTE_DECISION_PENDING',
|
|
861
|
+
'EXECUTION_DECISION_PENDING',
|
|
862
|
+
];
|
|
863
|
+
if (pendingStates.includes(state.state)) {
|
|
864
|
+
return {
|
|
865
|
+
status: 'BLOCKED',
|
|
866
|
+
state: state.state,
|
|
867
|
+
revision: state.revision,
|
|
868
|
+
reason: `Cannot execute tools while in ${state.state}. Wait for user response first.`,
|
|
869
|
+
};
|
|
870
|
+
}
|
|
871
|
+
return { status: 'ALLOW', state: state.state, revision: state.revision };
|
|
872
|
+
})
|
|
873
|
+
);
|
|
874
|
+
|
|
750
875
|
server.registerTool(
|
|
751
876
|
'validate_edit',
|
|
752
877
|
{
|
|
@@ -822,18 +947,35 @@ function setupGracefulShutdown(ctrl) {
|
|
|
822
947
|
};
|
|
823
948
|
process.on('SIGTERM', () => shutdown('SIGTERM'));
|
|
824
949
|
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
950
|
+
process.on('SIGHUP', () => shutdown('SIGHUP'));
|
|
951
|
+
process.on('SIGPIPE', () => shutdown('SIGPIPE'));
|
|
825
952
|
// Prevent unhandled rejections from silently killing the server
|
|
826
953
|
process.on('unhandledRejection', (reason) => {
|
|
827
954
|
log('unhandled_rejection', { reason: String(reason) });
|
|
828
955
|
});
|
|
829
956
|
}
|
|
830
957
|
|
|
958
|
+
/**
|
|
959
|
+
* Watchdog that forces process restart if controller stops responding.
|
|
960
|
+
* This prevents the agent from hanging when the MCP server is stuck.
|
|
961
|
+
*/
|
|
962
|
+
function setupWatchdog() {
|
|
963
|
+
setInterval(() => {
|
|
964
|
+
const idleMs = Date.now() - lastToolActivity;
|
|
965
|
+
if (idleMs > WATCHDOG_TIMEOUT_MS) {
|
|
966
|
+
log('watchdog:timeout', { idleMs, threshold: WATCHDOG_TIMEOUT_MS });
|
|
967
|
+
process.exit(1);
|
|
968
|
+
}
|
|
969
|
+
}, WATCHDOG_CHECK_INTERVAL_MS);
|
|
970
|
+
}
|
|
971
|
+
|
|
831
972
|
async function main() {
|
|
832
973
|
log('Starting ostacky-controller MCP...');
|
|
833
974
|
log('State path:', { path: statePath });
|
|
834
975
|
// Clean up stale tmp files from previous runs
|
|
835
976
|
cleanupTmpFiles(statePath);
|
|
836
977
|
setupGracefulShutdown(controller);
|
|
978
|
+
setupWatchdog();
|
|
837
979
|
const transport = new StdioServerTransport();
|
|
838
980
|
await server.connect(transport);
|
|
839
981
|
log('ostacky-controller connected and ready');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ostacky-controller",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"node_modules/@modelcontextprotocol/core": {
|
|
8
|
-
"version": "2.0.0-beta.
|
|
9
|
-
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.0.0-beta.
|
|
10
|
-
"integrity": "sha512-
|
|
8
|
+
"version": "2.0.0-beta.5",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/core/-/core-2.0.0-beta.5.tgz",
|
|
10
|
+
"integrity": "sha512-HKbY9XTbsDy1Y6r2I55TGE3JEapM0vg96e1MUmBIF9LGjos5gjhcIrTz1yvBPLg2aFKHjwhUAQfRdrCEnPxNew==",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"zod": "^4.2.0"
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"node_modules/@modelcontextprotocol/server": {
|
|
20
|
-
"version": "2.0.0-beta.
|
|
21
|
-
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.0.0-beta.
|
|
22
|
-
"integrity": "sha512-
|
|
20
|
+
"version": "2.0.0-beta.5",
|
|
21
|
+
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.0.0-beta.5.tgz",
|
|
22
|
+
"integrity": "sha512-i1E5l75rQKsgY/AKAIspgMBH1vEL7dqiK7tHr0L+raYcb0SWOziqNGJXGIG6NY4AlXDWIKGJQGB7Nqfs3oUi5g==",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@modelcontextprotocol/core": "2.0.0-beta.
|
|
25
|
+
"@modelcontextprotocol/core": "2.0.0-beta.5",
|
|
26
26
|
"zod": "^4.2.0"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|