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
|
@@ -5,11 +5,11 @@ agent: build
|
|
|
5
5
|
|
|
6
6
|
Instala el stack tecnológico de desarrollo para OpenCode. **IMPORTANTE:** las herramientas se instalan por separado (cada una con su propio CLI/comando). `npx ostacky install` solo instala el agente y commands de Ostacky en `.opencode/`. Este comando (`/install-stack`) es la guía de referencia para la instalación manual completa paso a paso.
|
|
7
7
|
|
|
8
|
-
**Nota:** A partir de v0.
|
|
8
|
+
**Nota:** A partir de v0.6.0, `npx ostacky install` ya instala automáticamente el stack completo (CodeGraph, OpenSpec, Engram, Context7, MCPs bundleados) además del agente y skills. Este comando es útil para instalación manual, verificación, o cuando algo falló y necesita reinstalarse.
|
|
9
9
|
|
|
10
10
|
**RESTRICCIÓN ABSOLUTA:** instalar ÚNICAMENTE para OpenCode. Está terminantemente prohibido crear o modificar archivos en `.claude/`, `.kiro/`, `.cursor/`, `.gemini/`, `.codex/`, `.antigravity/`, `.windsurf/` o cualquier otro directorio de plataformas externas.
|
|
11
11
|
|
|
12
|
-
**Origen del set curado:** el set de skills
|
|
12
|
+
**Origen del set curado:** el set de 15 skills referenciado en `assets/agents/ostacky.md` está bundleado en `assets/skills/` dentro del paquete npm. Context7 agrega su propio skill vía `npx ctx7 setup --opencode`. La definición del set y su trazabilidad viven en `manifest.json` y `.opencode/ostacky-lock.json`.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -70,11 +70,6 @@ El controller MCP se configura como server local en `opencode.json`. Si el contr
|
|
|
70
70
|
```json
|
|
71
71
|
{
|
|
72
72
|
"mcp": {
|
|
73
|
-
"ask-user-server": {
|
|
74
|
-
"type": "local",
|
|
75
|
-
"command": ["node", ".opencode/mcp/ask-user-server/index.js"],
|
|
76
|
-
"enabled": true
|
|
77
|
-
},
|
|
78
73
|
"ostacky-controller": {
|
|
79
74
|
"type": "local",
|
|
80
75
|
"command": ["node", ".opencode/mcp/ostacky-controller/index.js"],
|
|
@@ -87,9 +82,9 @@ El controller MCP se configura como server local en `opencode.json`. Si el contr
|
|
|
87
82
|
**Notas:**
|
|
88
83
|
|
|
89
84
|
- El controller no es obligatorio para operar Ostacky — es un refuerzo de disciplina.
|
|
90
|
-
- Sin controller, Ostacky usa las mismas reglas en lenguaje natural pero sin validación de transiciones ni persistencia de estado.
|
|
85
|
+
- Sin controller, Ostacky usa las mismas reglas en lenguaje natural pero sin validación de transiciones ni persistencia de estado. El agente detecta automáticamente si el controller está disponible y opera en modo degraded si no.
|
|
91
86
|
- El controller nunca autoriza subagentes sin confirmación explícita del usuario.
|
|
92
|
-
- Los MCP servers se copian como archivos autocontenidos (bundleados en `dist/mcp/` durante el build). No requieren `npm install` ni `bun install` — cada `index.js` es un único archivo
|
|
87
|
+
- Los MCP servers se copian como archivos autocontenidos (bundleados en `dist/mcp/` durante el build). No requieren `npm install` ni `bun install` — cada `index.js` es un único archivo autocontenido sin dependencias externas.
|
|
93
88
|
- El installer maneja `opencode.jsonc` (con comentarios) correctamente — strippea comentarios antes de parsear y escribe JSON válido de vuelta.
|
|
94
89
|
- Si CodeGraph crea un `AGENTS.md` en la raíz del proyecto, el installer lo mueve a `.opencode/tools/codegraph/AGENTS.md` automáticamente.
|
|
95
90
|
|
|
@@ -97,23 +92,19 @@ El controller MCP se configura como server local en `opencode.json`. Si el contr
|
|
|
97
92
|
|
|
98
93
|
## Paso 2 — Skills curadas (bundleadas)
|
|
99
94
|
|
|
100
|
-
Las **
|
|
95
|
+
Las **15 skills curadas** están bundleadas dentro del paquete Ostacky en `assets/skills/`. No se descargan ni clonan; ya vienen en el paquete npm. Context7 agrega su propia skill aparte (Paso 6).
|
|
101
96
|
|
|
102
97
|
Copiá cada skill bundleada a `.opencode/skills/<nombre>/` preservando la estructura interna (incluyendo `SKILL.md` y cualquier subdirectorio como `scripts/` o `references/`):
|
|
103
98
|
|
|
104
99
|
```bash
|
|
105
|
-
# Ejemplo para una skill; aplicar a las
|
|
106
|
-
mkdir -p .opencode/skills/
|
|
107
|
-
cp -r assets/skills/
|
|
100
|
+
# Ejemplo para una skill; aplicar a las 15
|
|
101
|
+
mkdir -p .opencode/skills/brainstorming
|
|
102
|
+
cp -r assets/skills/brainstorming/* .opencode/skills/brainstorming/
|
|
108
103
|
```
|
|
109
104
|
|
|
110
|
-
**Set curado (referenciado en `assets/agents/ostacky.md`):**
|
|
111
|
-
|
|
112
|
-
**Superpowers (6):** `thinking`, `writing-plans`, `tdd`, `subagent-driven-development`, `dispatching-parallel-agents`, `review`
|
|
105
|
+
**Set curado (15 skills, referenciado en `assets/agents/ostacky.md`):**
|
|
113
106
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
**Ostacky (1):** `execution-mode-evaluation` — análisis de modo de ejecución (INLINE vs SUBAGENT_DRIVEN)
|
|
107
|
+
`brainstorming`, `writing-plans`, `tdd`, `review`, `execution-mode-evaluation`, `subagent-driven-development`, `dispatching-parallel-agents`, `openspec-propose`, `openspec-apply-change`, `openspec-archive-change`, `receiving-code-review`, `using-git-worktrees`, `using-superpowers`, `writing-skills`, `graceful-degradation`
|
|
117
108
|
|
|
118
109
|
**NO se requiere** el plugin `superpowers@git+...` en `opencode.json`. Las skills viven en `.opencode/skills/` y OpenCode las descubre automáticamente desde ahí.
|
|
119
110
|
|
|
@@ -148,11 +139,6 @@ Leé `opencode.json` (o `opencode.jsonc`) en la raíz del proyecto.
|
|
|
148
139
|
"url": "https://mcp.context7.com/mcp",
|
|
149
140
|
"enabled": true
|
|
150
141
|
},
|
|
151
|
-
"ask-user-server": {
|
|
152
|
-
"type": "local",
|
|
153
|
-
"command": ["node", ".opencode/mcp/ask-user-server/index.js"],
|
|
154
|
-
"enabled": true
|
|
155
|
-
},
|
|
156
142
|
"ostacky-controller": {
|
|
157
143
|
"type": "local",
|
|
158
144
|
"command": ["node", ".opencode/mcp/ostacky-controller/index.js"],
|
|
@@ -166,38 +152,48 @@ Leé `opencode.json` (o `opencode.jsonc`) en la raíz del proyecto.
|
|
|
166
152
|
|
|
167
153
|
---
|
|
168
154
|
|
|
169
|
-
## Paso 4 — OpenSpec
|
|
155
|
+
## Paso 4 — OpenSpec (MCP Server local)
|
|
156
|
+
|
|
157
|
+
OpenSpec se instala como MCP server local en `.opencode/mcp/openspec/`. El server provee tools para proposal, apply, archive y sync de cambios.
|
|
170
158
|
|
|
171
|
-
|
|
159
|
+
### Verificar instalación
|
|
172
160
|
|
|
173
161
|
```bash
|
|
174
|
-
|
|
162
|
+
.opencode/mcp/openspec/index.js --version 2>/dev/null || echo "no-instalado"
|
|
175
163
|
```
|
|
176
164
|
|
|
177
|
-
|
|
165
|
+
### Configurar en opencode.json
|
|
178
166
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"mcp": {
|
|
170
|
+
"openspec": {
|
|
171
|
+
"type": "local",
|
|
172
|
+
"command": ["node", ".opencode/mcp/openspec/index.js"],
|
|
173
|
+
"enabled": true
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
183
177
|
```
|
|
184
178
|
|
|
185
|
-
**
|
|
179
|
+
**Notas:**
|
|
186
180
|
|
|
187
|
-
|
|
181
|
+
- OpenSpec MCP server es autocontenido — no requiere `npm install` ni `bun install`.
|
|
182
|
+
- El server provee las tools: `openspec_propose`, `openspec_list`, `openspec_archive`, `openspec_get_change`.
|
|
183
|
+
- Los changes se almacenan en `openspec/changes/` y se archivan en `openspec/archive/`.
|
|
188
184
|
|
|
189
|
-
|
|
185
|
+
### Desinstalar OpenSpec
|
|
190
186
|
|
|
191
187
|
```bash
|
|
192
|
-
#
|
|
193
|
-
rm -rf .opencode/
|
|
194
|
-
|
|
195
|
-
#
|
|
188
|
+
# Remover el MCP server
|
|
189
|
+
rm -rf .opencode/mcp/openspec/
|
|
190
|
+
|
|
191
|
+
# Remover la entrada MCP de opencode.json (editar el archivo)
|
|
192
|
+
|
|
193
|
+
# Remover cambios archivados (opcional)
|
|
196
194
|
rm -rf openspec/
|
|
197
195
|
```
|
|
198
196
|
|
|
199
|
-
Esto no desinstala el CLI de OpenSpec (que se ejecuta via `npx`), solo limpia los artefactos del proyecto.
|
|
200
|
-
|
|
201
197
|
---
|
|
202
198
|
|
|
203
199
|
## Paso 5 — Engram
|
|
@@ -245,19 +241,15 @@ chmod +x .opencode/tools/engram/bin/engram # Unix only
|
|
|
245
241
|
|
|
246
242
|
### Configurar para OpenCode
|
|
247
243
|
|
|
248
|
-
Una vez que Engram está descargado localmente,
|
|
249
|
-
|
|
250
|
-
```bash
|
|
251
|
-
.opencode/tools/engram/bin/engram setup opencode
|
|
252
|
-
```
|
|
244
|
+
Una vez que Engram está descargado localmente, el plugin se copia automáticamente de `assets/plugins/` a `.opencode/plugins/` durante la instalación. No necesitás correr ningún comando adicional.
|
|
253
245
|
|
|
254
246
|
Este comando:
|
|
255
247
|
|
|
256
|
-
-
|
|
248
|
+
- Copia el plugin de Engram para OpenCode a `.opencode/plugins/`
|
|
257
249
|
- **NO** agrega la entrada MCP al `opencode.json` del proyecto — eso lo hace `npx ostacky install` automáticamente
|
|
258
250
|
- **NO** toca `.claude/`, `.cursor/`, `.gemini/` ni ninguna otra plataforma
|
|
259
251
|
|
|
260
|
-
Verificá que `opencode.json` contenga la entrada MCP de Engram apuntando al binario local (agregada por el installer de Ostacky
|
|
252
|
+
Verificá que `opencode.json` contenga la entrada MCP de Engram apuntando al binario local (agregada por el installer de Ostacky):
|
|
261
253
|
|
|
262
254
|
```json
|
|
263
255
|
{
|
|
@@ -281,7 +273,7 @@ El plugin de Engram para OpenCode usa `engram serve` para session tracking y rec
|
|
|
281
273
|
engram serve
|
|
282
274
|
```
|
|
283
275
|
|
|
284
|
-
Corre en el puerto 7437 por defecto. Los datos se almacenan en `~/.engram/engram.db` (SQLite local).
|
|
276
|
+
Corre en el puerto 7437 por defecto. Los datos se almacenan en `~/.engram/engram.db` (SQLite local). **Nota:** esta ruta está hardcoded en el binario de Engram y no es configurable por Ostacky.
|
|
285
277
|
|
|
286
278
|
### Desinstalar Engram del proyecto
|
|
287
279
|
|
|
@@ -290,14 +282,15 @@ Para remover la configuración de Engram del proyecto (sin borrar los datos):
|
|
|
290
282
|
```bash
|
|
291
283
|
# Remover la entrada mcp.engram de opencode.json (editar el archivo)
|
|
292
284
|
# Remover el plugin de Engram de OpenCode:
|
|
293
|
-
rm -f
|
|
285
|
+
rm -f .opencode/plugins/engram.ts
|
|
294
286
|
# Remover el binario local
|
|
295
287
|
rm -rf .opencode/tools/engram/
|
|
296
288
|
```
|
|
297
289
|
|
|
298
|
-
Para borrar todos los datos de Engram (
|
|
290
|
+
Para borrar todos los datos de Engram (**OPCIONAL** — esto borra la memoria persistente de TODOS los proyectos que usen Engram):
|
|
299
291
|
|
|
300
292
|
```bash
|
|
293
|
+
# ⚠️ Solo si querés borrar toda la memoria de Engram
|
|
301
294
|
rm -rf ~/.engram/
|
|
302
295
|
```
|
|
303
296
|
|
|
@@ -411,26 +404,31 @@ Cada herramienta se instala en su propia carpeta dentro de `.opencode/` para man
|
|
|
411
404
|
│ ├── opsx-archive.md # Generado por OpenSpec
|
|
412
405
|
│ ├── opsx-explore.md # Generado por OpenSpec
|
|
413
406
|
│ └── opsx-propose.md # Generado por OpenSpec
|
|
414
|
-
├── mcp/ # MCP servers bundleados (
|
|
415
|
-
│ ├──
|
|
407
|
+
├── mcp/ # MCP servers bundleados (autocontenidos, sin dependencias externas)
|
|
408
|
+
│ ├── ostacky-controller/
|
|
416
409
|
│ │ ├── index.js
|
|
417
410
|
│ │ ├── package.json
|
|
418
411
|
│ │ └── node_modules/
|
|
419
|
-
│ └──
|
|
412
|
+
│ └── openspec/ # NUEVO: MCP server local
|
|
420
413
|
│ ├── index.js
|
|
421
414
|
│ ├── package.json
|
|
422
415
|
│ └── node_modules/
|
|
423
|
-
├── skills/ # Skills bundleadas
|
|
424
|
-
│ ├──
|
|
416
|
+
├── skills/ # Skills bundleadas (15)
|
|
417
|
+
│ ├── brainstorming/
|
|
425
418
|
│ ├── writing-plans/
|
|
426
419
|
│ ├── tdd/
|
|
420
|
+
│ ├── review/
|
|
421
|
+
│ ├── execution-mode-evaluation/
|
|
427
422
|
│ ├── subagent-driven-development/
|
|
428
423
|
│ ├── dispatching-parallel-agents/
|
|
429
|
-
│ ├── review/
|
|
430
424
|
│ ├── openspec-propose/
|
|
431
425
|
│ ├── openspec-apply-change/
|
|
432
426
|
│ ├── openspec-archive-change/
|
|
433
|
-
│
|
|
427
|
+
│ ├── receiving-code-review/
|
|
428
|
+
│ ├── using-git-worktrees/
|
|
429
|
+
│ ├── using-superpowers/
|
|
430
|
+
│ ├── writing-skills/
|
|
431
|
+
│ └── graceful-degradation/
|
|
434
432
|
├── tools/ # Config y archivos de herramientas externas
|
|
435
433
|
│ ├── codegraph/ # Config de CodeGraph (AGENTS.md si codegraph lo crea)
|
|
436
434
|
│ ├── engram/ # Config project-local de Engram
|
|
@@ -444,22 +442,95 @@ Cada herramienta se instala en su propia carpeta dentro de `.opencode/` para man
|
|
|
444
442
|
- El binario de CodeGraph es **local al proyecto** en `.opencode/tools/codegraph/bin/codegraph` (con su runtime Node vendored en `.opencode/tools/codegraph/node`). No se instala globalmente.
|
|
445
443
|
- El binario de Engram es **local al proyecto** en `.opencode/tools/engram/bin/engram`. No se instala globalmente.
|
|
446
444
|
- Context7 se registra como MCP remoto en `opencode.jsonc`. Su skill opcional se instala via `npx ctx7 setup --opencode` en `.opencode/skills/context7/`.
|
|
447
|
-
- Los MCP servers bundleados
|
|
445
|
+
- Los MCP servers bundleados son autocontenidos (un solo `index.js` sin dependencias externas).
|
|
448
446
|
|
|
449
447
|
## Verificación final
|
|
450
448
|
|
|
451
449
|
Confirmá que:
|
|
452
450
|
|
|
453
|
-
1. `.opencode/skills/` contiene las skills curadas
|
|
454
|
-
2. `.opencode/commands/` contiene los commands bundleados por Ostacky (`install-stack`, `opsx-sync`) y los 4 commands generados por OpenSpec (`opsx-apply`, `opsx-archive`, `opsx-explore`, `opsx-propose`) si OpenSpec fue inicializado
|
|
455
|
-
3. `opencode.json` (o `.jsonc`) tiene los bloques `
|
|
451
|
+
1. `.opencode/skills/` contiene las 15 skills curadas y opcionalmente `context7/` si se instaló con `npx ctx7 setup --opencode`
|
|
452
|
+
2. `.opencode/commands/` contiene los commands bundleados por Ostacky (`install-stack`, `opsx-sync`) y los 4 commands generados por OpenSpec (`opsx-apply`, `opsx-archive`, `opsx-explore`, `opsx-propose`) si OpenSpec fue inicializado
|
|
453
|
+
3. `opencode.json` (o `.jsonc`) tiene los bloques MCP: `codegraph`, `engram`, `context7`, `ostacky-controller`, `openspec` — sin campo `plugin`
|
|
456
454
|
4. `.codegraph/` existe en la raíz del proyecto (índice local de CodeGraph)
|
|
457
455
|
5. `.opencode/tools/codegraph/bin/codegraph --version` funciona (binario local)
|
|
458
456
|
6. `.opencode/tools/engram/bin/engram --version` funciona (binario local)
|
|
459
457
|
7. Context7 configurado: `mcp.context7` presente en `opencode.jsonc` y/o `.opencode/skills/context7/SKILL.md` existe
|
|
460
|
-
8.
|
|
461
|
-
9.
|
|
462
|
-
10.
|
|
463
|
-
11. **NO
|
|
458
|
+
8. `.opencode/mcp/openspec/index.js` existe (MCP server local)
|
|
459
|
+
9. Los MCP bundleados tienen sus dependencias instaladas en `.opencode/mcp/*/node_modules/`
|
|
460
|
+
10. `.opencode/tools/` contiene subdirectorios para `codegraph/`, `engram/` y `context7/`
|
|
461
|
+
11. **NO existen** archivos generados en `.claude/`, `.kiro/`, `.cursor/`, `.gemini/`, `.codex/` ni ningún directorio de otra plataforma
|
|
462
|
+
12. **NO existe** `AGENTS.md` en la raíz del proyecto (si CodeGraph lo creó, el installer lo mueve a `.opencode/tools/codegraph/`)
|
|
464
463
|
|
|
465
464
|
Reportá el estado de cada componente con ✓ o ✗.
|
|
465
|
+
|
|
466
|
+
## Troubleshooting
|
|
467
|
+
|
|
468
|
+
### MCP Server no responde
|
|
469
|
+
|
|
470
|
+
Si el controller o openspec MCP server no responde después de la instalación:
|
|
471
|
+
|
|
472
|
+
1. **Verificar que el archivo existe:**
|
|
473
|
+
|
|
474
|
+
```bash
|
|
475
|
+
ls -la .opencode/mcp/ostacky-controller/index.js
|
|
476
|
+
ls -la .opencode/mcp/openspec/index.js
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
2. **Verificar que Node.js está disponible:**
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
node --version
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
3. **Testear el MCP server directamente:**
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"ping","params":{}}' | node .opencode/mcp/ostacky-controller/index.js
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
4. **Si falla, reinstalar:**
|
|
492
|
+
```bash
|
|
493
|
+
npx ostacky install-stack
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
### CodeGraph no indexa
|
|
497
|
+
|
|
498
|
+
1. **Verificar que el binario funciona:**
|
|
499
|
+
|
|
500
|
+
```bash
|
|
501
|
+
.opencode/tools/codegraph/bin/codegraph --version
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
2. **Re-inicializar el índice:**
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
.opencode/tools/codegraph/bin/codegraph init -i
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
3. **Si el binario no existe, reinstalar:**
|
|
511
|
+
```bash
|
|
512
|
+
npx ostacky install-stack
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### Engram no inicia
|
|
516
|
+
|
|
517
|
+
1. **Verificar que el binario funciona:**
|
|
518
|
+
|
|
519
|
+
```bash
|
|
520
|
+
.opencode/tools/engram/bin/engram --version
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
2. **Verificar que el plugin está instalado:**
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
ls -la .opencode/plugins/engram.ts
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
3. **Re-instalar el plugin:**
|
|
530
|
+
```bash
|
|
531
|
+
cp assets/plugins/engram.ts .opencode/plugins/engram.ts
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### Degradación graceful
|
|
535
|
+
|
|
536
|
+
Si múltiples tools fallan, Ostacky opera en modo degraded. Ver `assets/skills/graceful-degradation/SKILL.md` para los flujos alternativos disponibles.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"configVersion": 1,
|
|
4
|
+
"workspaces": {
|
|
5
|
+
"": {
|
|
6
|
+
"name": "openspec-mcp",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@modelcontextprotocol/server": "^2.0.0-beta.5",
|
|
9
|
+
"zod": "^4.0.0",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
"packages": {
|
|
14
|
+
"@modelcontextprotocol/core": ["@modelcontextprotocol/core@2.0.0-beta.5", "", { "dependencies": { "zod": "^4.2.0" } }, "sha512-HKbY9XTbsDy1Y6r2I55TGE3JEapM0vg96e1MUmBIF9LGjos5gjhcIrTz1yvBPLg2aFKHjwhUAQfRdrCEnPxNew=="],
|
|
15
|
+
|
|
16
|
+
"@modelcontextprotocol/server": ["@modelcontextprotocol/server@2.0.0-beta.5", "", { "dependencies": { "@modelcontextprotocol/core": "2.0.0-beta.5", "zod": "^4.2.0" } }, "sha512-i1E5l75rQKsgY/AKAIspgMBH1vEL7dqiK7tHr0L+raYcb0SWOziqNGJXGIG6NY4AlXDWIKGJQGB7Nqfs3oUi5g=="],
|
|
17
|
+
|
|
18
|
+
"zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="],
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { McpServer } from '@modelcontextprotocol/server';
|
|
4
|
+
import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
|
|
5
|
+
import * as z from 'zod/v4';
|
|
6
|
+
import {
|
|
7
|
+
readFileSync,
|
|
8
|
+
writeFileSync,
|
|
9
|
+
existsSync,
|
|
10
|
+
mkdirSync,
|
|
11
|
+
readdirSync,
|
|
12
|
+
renameSync,
|
|
13
|
+
unlinkSync,
|
|
14
|
+
} from 'node:fs';
|
|
15
|
+
import { join, dirname, basename } from 'node:path';
|
|
16
|
+
|
|
17
|
+
const PROJECT_ROOT = process.cwd();
|
|
18
|
+
const OPENSPEC_DIR = join(PROJECT_ROOT, 'openspec');
|
|
19
|
+
|
|
20
|
+
function safeJsonStringify(obj, indent = 2) {
|
|
21
|
+
const seen = new WeakSet();
|
|
22
|
+
return JSON.stringify(obj, (key, value) => {
|
|
23
|
+
if (typeof value === 'object' && value !== null) {
|
|
24
|
+
if (seen.has(value)) return '[Circular]';
|
|
25
|
+
seen.add(value);
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === 'bigint') return value.toString();
|
|
28
|
+
if (value instanceof Error) return { message: value.message, stack: value.stack, name: value.name };
|
|
29
|
+
return value;
|
|
30
|
+
}, indent);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function log(event, data) {
|
|
34
|
+
const ts = new Date().toISOString();
|
|
35
|
+
const payload = data ? ` ${safeJsonStringify(data)}` : '';
|
|
36
|
+
console.error(`[${ts}] ${event}${payload}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Cleans up stale .tmp.* files from a previous crash.
|
|
41
|
+
*/
|
|
42
|
+
function cleanupTmpFiles(dir) {
|
|
43
|
+
if (!dir || !existsSync(dir)) return;
|
|
44
|
+
try {
|
|
45
|
+
for (const entry of readdirSync(dir)) {
|
|
46
|
+
if (entry.includes('.tmp.')) {
|
|
47
|
+
try {
|
|
48
|
+
unlinkSync(join(dir, entry));
|
|
49
|
+
} catch {
|
|
50
|
+
/* best-effort */
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
} catch {
|
|
55
|
+
/* best-effort */
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Atomic write: write to tmp file, then rename.
|
|
61
|
+
* Prevents corruption on crash.
|
|
62
|
+
*/
|
|
63
|
+
function atomicWriteSync(filePath, content) {
|
|
64
|
+
const dir = dirname(filePath);
|
|
65
|
+
mkdirSync(dir, { recursive: true });
|
|
66
|
+
const tmp = filePath + '.tmp.' + process.pid;
|
|
67
|
+
writeFileSync(tmp, content, 'utf-8');
|
|
68
|
+
renameSync(tmp, filePath);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function safeHandler(fn) {
|
|
72
|
+
return async (params) => {
|
|
73
|
+
try {
|
|
74
|
+
const result = await fn(params);
|
|
75
|
+
return { content: [{ type: 'text', text: safeJsonStringify(result) }] };
|
|
76
|
+
} catch (error) {
|
|
77
|
+
log('tool:error', {
|
|
78
|
+
name: fn.name || 'anonymous',
|
|
79
|
+
error: error.message,
|
|
80
|
+
stack: error.stack,
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
content: [{ type: 'text', text: safeJsonStringify({ error: error.message }) }],
|
|
84
|
+
isError: true,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// ── Input Validation ─────────────────────────────────────────────────────────
|
|
91
|
+
|
|
92
|
+
function validateChangeId(changeId) {
|
|
93
|
+
if (!changeId || typeof changeId !== 'string') {
|
|
94
|
+
return 'changeId is required and must be a non-empty string';
|
|
95
|
+
}
|
|
96
|
+
if (/[\/\\]/.test(changeId) || changeId === '.' || changeId === '..') {
|
|
97
|
+
return 'changeId contains invalid characters';
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function validateProposalInput({ title, description, scope }) {
|
|
103
|
+
if (!title || typeof title !== 'string' || title.trim().length === 0) {
|
|
104
|
+
return 'title is required and must be a non-empty string';
|
|
105
|
+
}
|
|
106
|
+
if (!description || typeof description !== 'string' || description.trim().length === 0) {
|
|
107
|
+
return 'description is required and must be a non-empty string';
|
|
108
|
+
}
|
|
109
|
+
if (!scope || typeof scope !== 'string' || scope.trim().length === 0) {
|
|
110
|
+
return 'scope is required and must be a non-empty string';
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// ── OpenSpec State Manager ──────────────────────────────────────────────────
|
|
116
|
+
|
|
117
|
+
class OpenSpecManager {
|
|
118
|
+
#changesDir;
|
|
119
|
+
|
|
120
|
+
constructor() {
|
|
121
|
+
this.#changesDir = join(OPENSPEC_DIR, 'changes');
|
|
122
|
+
if (!existsSync(this.#changesDir)) {
|
|
123
|
+
mkdirSync(this.#changesDir, { recursive: true });
|
|
124
|
+
}
|
|
125
|
+
// Clean up stale tmp files from previous crashes
|
|
126
|
+
cleanupTmpFiles(this.#changesDir);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
listChanges() {
|
|
130
|
+
if (!existsSync(this.#changesDir)) return [];
|
|
131
|
+
return readdirSync(this.#changesDir).filter(f =>
|
|
132
|
+
existsSync(join(this.#changesDir, f, 'proposal.md'))
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
getChange(changeId) {
|
|
137
|
+
const changeDir = join(this.#changesDir, changeId);
|
|
138
|
+
if (!existsSync(changeDir)) return null;
|
|
139
|
+
|
|
140
|
+
const proposal = existsSync(join(changeDir, 'proposal.md'))
|
|
141
|
+
? readFileSync(join(changeDir, 'proposal.md'), 'utf-8')
|
|
142
|
+
: null;
|
|
143
|
+
const design = existsSync(join(changeDir, 'design.md'))
|
|
144
|
+
? readFileSync(join(changeDir, 'design.md'), 'utf-8')
|
|
145
|
+
: null;
|
|
146
|
+
const tasks = existsSync(join(changeDir, 'tasks.md'))
|
|
147
|
+
? readFileSync(join(changeDir, 'tasks.md'), 'utf-8')
|
|
148
|
+
: null;
|
|
149
|
+
|
|
150
|
+
return { changeId, proposal, design, tasks };
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
createProposal({ title, description, scope }) {
|
|
154
|
+
const changeId = `change-${Date.now()}`;
|
|
155
|
+
const changeDir = join(this.#changesDir, changeId);
|
|
156
|
+
mkdirSync(changeDir, { recursive: true });
|
|
157
|
+
|
|
158
|
+
const proposal = `# ${title}
|
|
159
|
+
|
|
160
|
+
## Description
|
|
161
|
+
${description}
|
|
162
|
+
|
|
163
|
+
## Scope
|
|
164
|
+
${scope}
|
|
165
|
+
|
|
166
|
+
## Status
|
|
167
|
+
- Created: ${new Date().toISOString()}
|
|
168
|
+
- Phase: proposal
|
|
169
|
+
`;
|
|
170
|
+
|
|
171
|
+
atomicWriteSync(join(changeDir, 'proposal.md'), proposal);
|
|
172
|
+
log('proposal:created', { changeId, title });
|
|
173
|
+
return { changeId, status: 'created' };
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
archiveChange({ changeId }) {
|
|
177
|
+
const changeDir = join(this.#changesDir, changeId);
|
|
178
|
+
if (!existsSync(changeDir)) {
|
|
179
|
+
return { error: `Change ${changeId} not found` };
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Move to archive
|
|
183
|
+
const archiveDir = join(OPENSPEC_DIR, 'archive');
|
|
184
|
+
if (!existsSync(archiveDir)) {
|
|
185
|
+
mkdirSync(archiveDir, { recursive: true });
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
renameSync(changeDir, join(archiveDir, changeId));
|
|
189
|
+
log('change:archived', { changeId });
|
|
190
|
+
return { changeId, status: 'archived' };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const manager = new OpenSpecManager();
|
|
195
|
+
|
|
196
|
+
// ── MCP Server ──────────────────────────────────────────────────────────────
|
|
197
|
+
|
|
198
|
+
const server = new McpServer({
|
|
199
|
+
name: 'openspec',
|
|
200
|
+
version: '0.6.0',
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
server.registerTool(
|
|
204
|
+
'openspec_list',
|
|
205
|
+
{
|
|
206
|
+
description: 'List all active changes',
|
|
207
|
+
inputSchema: z.object({}),
|
|
208
|
+
},
|
|
209
|
+
safeHandler(async () => {
|
|
210
|
+
log('tool:openspec_list');
|
|
211
|
+
const changes = manager.listChanges();
|
|
212
|
+
return { changes };
|
|
213
|
+
})
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
server.registerTool(
|
|
217
|
+
'openspec_propose',
|
|
218
|
+
{
|
|
219
|
+
description: 'Create a new change proposal',
|
|
220
|
+
inputSchema: z.object({
|
|
221
|
+
title: z.string().min(1).describe('Change title'),
|
|
222
|
+
description: z.string().min(1).describe('Change description'),
|
|
223
|
+
scope: z.string().min(1).describe('Change scope'),
|
|
224
|
+
}),
|
|
225
|
+
},
|
|
226
|
+
safeHandler(async ({ title, description, scope }) => {
|
|
227
|
+
log('tool:openspec_propose', { title });
|
|
228
|
+
return manager.createProposal({ title, description, scope });
|
|
229
|
+
})
|
|
230
|
+
);
|
|
231
|
+
|
|
232
|
+
server.registerTool(
|
|
233
|
+
'openspec_archive',
|
|
234
|
+
{
|
|
235
|
+
description: 'Archive a completed change',
|
|
236
|
+
inputSchema: z.object({
|
|
237
|
+
changeId: z.string().min(1).describe('Change ID to archive'),
|
|
238
|
+
}),
|
|
239
|
+
},
|
|
240
|
+
safeHandler(async ({ changeId }) => {
|
|
241
|
+
const validationError = validateChangeId(changeId);
|
|
242
|
+
if (validationError) return { error: validationError };
|
|
243
|
+
log('tool:openspec_archive', { changeId });
|
|
244
|
+
return manager.archiveChange({ changeId });
|
|
245
|
+
})
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
server.registerTool(
|
|
249
|
+
'openspec_get_change',
|
|
250
|
+
{
|
|
251
|
+
description: 'Get change details (proposal, design, tasks)',
|
|
252
|
+
inputSchema: z.object({
|
|
253
|
+
changeId: z.string().min(1).describe('Change ID'),
|
|
254
|
+
}),
|
|
255
|
+
},
|
|
256
|
+
safeHandler(async ({ changeId }) => {
|
|
257
|
+
const validationError = validateChangeId(changeId);
|
|
258
|
+
if (validationError) return { error: validationError };
|
|
259
|
+
log('tool:openspec_get_change', { changeId });
|
|
260
|
+
return manager.getChange(changeId);
|
|
261
|
+
})
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
// ── Main ────────────────────────────────────────────────────────────────────
|
|
265
|
+
|
|
266
|
+
async function main() {
|
|
267
|
+
log('Starting openspec MCP...');
|
|
268
|
+
const transport = new StdioServerTransport();
|
|
269
|
+
await server.connect(transport);
|
|
270
|
+
log('openspec MCP connected and ready');
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
async function shutdown(signal) {
|
|
274
|
+
log('mcp:shutdown', { signal });
|
|
275
|
+
try {
|
|
276
|
+
await server.close();
|
|
277
|
+
} catch (err) {
|
|
278
|
+
log('mcp:shutdown:error', { error: err.message });
|
|
279
|
+
}
|
|
280
|
+
process.exit(0);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
284
|
+
process.on('SIGTERM', () => shutdown('SIGTERM'));
|
|
285
|
+
process.on('uncaughtException', (error) => {
|
|
286
|
+
log('mcp:uncaughtException', { error: error.message, stack: error.stack });
|
|
287
|
+
shutdown('uncaughtException');
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
const isDirectRun =
|
|
291
|
+
process.argv[1] && (process.argv[1].endsWith('/index.js') || process.argv[1].endsWith('\\index.js'));
|
|
292
|
+
|
|
293
|
+
if (isDirectRun) {
|
|
294
|
+
main().catch((error) => {
|
|
295
|
+
console.error('Fatal error:', error);
|
|
296
|
+
process.exit(1);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export { OpenSpecManager };
|