outask 0.0.0-stage → 1.7.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/LICENSE +661 -0
- package/README.md +38 -2
- package/bin/outask +7 -0
- package/bin/tasks +7 -0
- package/cli.mjs +151 -0
- package/mcp/package-lock.json +175 -0
- package/mcp/package.json +15 -0
- package/mcp/server.mjs +132 -0
- package/node_modules/@modelcontextprotocol/core/LICENSE +216 -0
- package/node_modules/@modelcontextprotocol/core/README.md +40 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-Anm-lwWi.d.mts +8507 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-Anm-lwWi.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs +1681 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-D1CeV_Jr.cjs +2902 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-D1CeV_Jr.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-V9XJSCfa.d.cts +8507 -0
- package/node_modules/@modelcontextprotocol/core/dist/auth-V9XJSCfa.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/index.cjs +175 -0
- package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +2 -0
- package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +2 -0
- package/node_modules/@modelcontextprotocol/core/dist/index.mjs +3 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +201 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +99 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +99 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +3 -0
- package/node_modules/@modelcontextprotocol/core/package.json +85 -0
- package/node_modules/@modelcontextprotocol/server/LICENSE +216 -0
- package/node_modules/@modelcontextprotocol/server/README.md +30 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CEoC__sr.mjs +7514 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CEoC__sr.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CgI-5L6O.d.mts +1071 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-CgI-5L6O.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-FOQRM7up.d.cts +1071 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-FOQRM7up.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-ZaoO9afR.cjs +7531 -0
- package/node_modules/@modelcontextprotocol/server/dist/ajvProvider-ZaoO9afR.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BwbPzsdI.cjs +986 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-BwbPzsdI.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-C03CSigr.d.mts +74 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-C03CSigr.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-doTkZbTr.d.cts +74 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-doTkZbTr.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-p3WaZPqB.mjs +981 -0
- package/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-p3WaZPqB.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/chunk-Bnu9O96Y.cjs +60 -0
- package/node_modules/@modelcontextprotocol/server/dist/chunk-Br0eD_fh.mjs +42 -0
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts +4168 -0
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts +4170 -0
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs +46 -0
- package/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/dialects-DoSzNhcb.mjs +34 -0
- package/node_modules/@modelcontextprotocol/server/dist/dialects-DoSzNhcb.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs +1978 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +810 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +810 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs +1790 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs +2477 -0
- package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs +2326 -0
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs +23 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts +11 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts +11 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs +22 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsNode.cjs +12 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.cts +3 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.mts +3 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs +4 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +30 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts +10 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts +10 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +29 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs +8200 -0
- package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs +7702 -0
- package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +591 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +115 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +115 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +589 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/types-DUs7mGBv.d.mts +1099 -0
- package/node_modules/@modelcontextprotocol/server/dist/types-DUs7mGBv.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/types-DsbMXNFL.d.cts +1099 -0
- package/node_modules/@modelcontextprotocol/server/dist/types-DsbMXNFL.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/ajv.cjs +5 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.cts +2 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.mts +2 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/ajv.mjs +3 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.cjs +3 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.cts +2 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.mts +2 -0
- package/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.mjs +3 -0
- package/node_modules/@modelcontextprotocol/server/package.json +160 -0
- package/node_modules/jsonc-parser/CHANGELOG.md +76 -0
- package/node_modules/jsonc-parser/LICENSE.md +21 -0
- package/node_modules/jsonc-parser/README.md +364 -0
- package/node_modules/jsonc-parser/SECURITY.md +41 -0
- package/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
- package/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
- package/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
- package/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
- package/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
- package/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
- package/node_modules/jsonc-parser/lib/esm/main.js +178 -0
- package/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
- package/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
- package/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
- package/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
- package/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
- package/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
- package/node_modules/jsonc-parser/lib/umd/main.js +194 -0
- package/node_modules/jsonc-parser/package.json +37 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +218 -0
- package/node_modules/zod/compile.cjs +96 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +52 -0
- package/node_modules/zod/index.d.cts +3 -0
- package/node_modules/zod/index.d.ts +3 -0
- package/node_modules/zod/index.js +7 -0
- package/node_modules/zod/locales/index.cjs +36 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +51 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +147 -0
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +7 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +340 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +33 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +78 -0
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +97 -0
- package/node_modules/zod/src/v4/classic/external.ts +57 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +944 -0
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +20 -0
- package/node_modules/zod/src/v4/classic/parse.ts +88 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2937 -0
- package/node_modules/zod/src/v4/core/api.ts +1875 -0
- package/node_modules/zod/src/v4/core/checks.ts +1266 -0
- package/node_modules/zod/src/v4/core/compile.ts +2322 -0
- package/node_modules/zod/src/v4/core/core.ts +230 -0
- package/node_modules/zod/src/v4/core/doc.ts +52 -0
- package/node_modules/zod/src/v4/core/errors.ts +543 -0
- package/node_modules/zod/src/v4/core/index.ts +19 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +131 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +934 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +148 -0
- package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
- package/node_modules/zod/src/v4/core/parse.ts +309 -0
- package/node_modules/zod/src/v4/core/regexes.ts +217 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +5226 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +857 -0
- package/node_modules/zod/src/v4/core/util.ts +1293 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +120 -0
- package/node_modules/zod/src/v4/locales/az.ts +116 -0
- package/node_modules/zod/src/v4/locales/be.ts +188 -0
- package/node_modules/zod/src/v4/locales/bg.ts +133 -0
- package/node_modules/zod/src/v4/locales/bn.ts +123 -0
- package/node_modules/zod/src/v4/locales/ca.ts +121 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
- package/node_modules/zod/src/v4/locales/cs.ts +123 -0
- package/node_modules/zod/src/v4/locales/da.ts +128 -0
- package/node_modules/zod/src/v4/locales/de.ts +121 -0
- package/node_modules/zod/src/v4/locales/el.ts +124 -0
- package/node_modules/zod/src/v4/locales/en.ts +136 -0
- package/node_modules/zod/src/v4/locales/eo.ts +123 -0
- package/node_modules/zod/src/v4/locales/es.ts +145 -0
- package/node_modules/zod/src/v4/locales/fa.ts +131 -0
- package/node_modules/zod/src/v4/locales/fi.ts +126 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr.ts +139 -0
- package/node_modules/zod/src/v4/locales/gu.ts +123 -0
- package/node_modules/zod/src/v4/locales/he.ts +253 -0
- package/node_modules/zod/src/v4/locales/hi.ts +126 -0
- package/node_modules/zod/src/v4/locales/hr.ts +135 -0
- package/node_modules/zod/src/v4/locales/hu.ts +122 -0
- package/node_modules/zod/src/v4/locales/hy.ts +175 -0
- package/node_modules/zod/src/v4/locales/id.ts +120 -0
- package/node_modules/zod/src/v4/locales/index.ts +63 -0
- package/node_modules/zod/src/v4/locales/is.ts +124 -0
- package/node_modules/zod/src/v4/locales/it.ts +121 -0
- package/node_modules/zod/src/v4/locales/ja.ts +119 -0
- package/node_modules/zod/src/v4/locales/ka.ts +128 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +124 -0
- package/node_modules/zod/src/v4/locales/kn.ts +126 -0
- package/node_modules/zod/src/v4/locales/ko.ts +126 -0
- package/node_modules/zod/src/v4/locales/lt.ts +243 -0
- package/node_modules/zod/src/v4/locales/mk.ts +123 -0
- package/node_modules/zod/src/v4/locales/ms.ts +120 -0
- package/node_modules/zod/src/v4/locales/ne.ts +128 -0
- package/node_modules/zod/src/v4/locales/nl.ts +126 -0
- package/node_modules/zod/src/v4/locales/nn.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +121 -0
- package/node_modules/zod/src/v4/locales/ota.ts +122 -0
- package/node_modules/zod/src/v4/locales/pl.ts +123 -0
- package/node_modules/zod/src/v4/locales/ps.ts +131 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
- package/node_modules/zod/src/v4/locales/pt.ts +159 -0
- package/node_modules/zod/src/v4/locales/ro.ts +132 -0
- package/node_modules/zod/src/v4/locales/ru.ts +188 -0
- package/node_modules/zod/src/v4/locales/sk.ts +123 -0
- package/node_modules/zod/src/v4/locales/sl.ts +123 -0
- package/node_modules/zod/src/v4/locales/sv.ts +124 -0
- package/node_modules/zod/src/v4/locales/ta.ts +123 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +124 -0
- package/node_modules/zod/src/v4/locales/tk.ts +113 -0
- package/node_modules/zod/src/v4/locales/tr.ts +116 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +122 -0
- package/node_modules/zod/src/v4/locales/ur.ts +124 -0
- package/node_modules/zod/src/v4/locales/uz.ts +120 -0
- package/node_modules/zod/src/v4/locales/vi.ts +122 -0
- package/node_modules/zod/src/v4/locales/yo.ts +129 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +121 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +120 -0
- package/node_modules/zod/src/v4/mini/checks.ts +33 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +52 -0
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +16 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +2051 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +167 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +143 -0
- package/node_modules/zod/v3/errors.cjs +36 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +41 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +21 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +28 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +143 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +21 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +21 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +156 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +52 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +21 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3798 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3697 -0
- package/node_modules/zod/v4/classic/checks.cjs +53 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +66 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +80 -0
- package/node_modules/zod/v4/classic/compat.d.cts +48 -0
- package/node_modules/zod/v4/classic/compat.d.ts +48 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +102 -0
- package/node_modules/zod/v4/classic/errors.d.cts +29 -0
- package/node_modules/zod/v4/classic/errors.d.ts +29 -0
- package/node_modules/zod/v4/classic/errors.js +57 -0
- package/node_modules/zod/v4/classic/external.cjs +97 -0
- package/node_modules/zod/v4/classic/external.d.cts +19 -0
- package/node_modules/zod/v4/classic/external.d.ts +19 -0
- package/node_modules/zod/v4/classic/external.js +17 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +926 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +881 -0
- package/node_modules/zod/v4/classic/in-out.cjs +82 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +52 -0
- package/node_modules/zod/v4/classic/index.d.cts +3 -0
- package/node_modules/zod/v4/classic/index.d.ts +3 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +68 -0
- package/node_modules/zod/v4/classic/iso.d.cts +7 -0
- package/node_modules/zod/v4/classic/iso.d.ts +7 -0
- package/node_modules/zod/v4/classic/iso.js +15 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +63 -0
- package/node_modules/zod/v4/classic/parse.d.cts +44 -0
- package/node_modules/zod/v4/classic/parse.d.ts +44 -0
- package/node_modules/zod/v4/classic/parse.js +16 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1676 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +816 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +816 -0
- package/node_modules/zod/v4/classic/schemas.js +1535 -0
- package/node_modules/zod/v4/core/api.cjs +1269 -0
- package/node_modules/zod/v4/core/api.d.cts +335 -0
- package/node_modules/zod/v4/core/api.d.ts +335 -0
- package/node_modules/zod/v4/core/api.js +1107 -0
- package/node_modules/zod/v4/core/checks.cjs +561 -0
- package/node_modules/zod/v4/core/checks.d.cts +294 -0
- package/node_modules/zod/v4/core/checks.d.ts +294 -0
- package/node_modules/zod/v4/core/checks.js +516 -0
- package/node_modules/zod/v4/core/compile.cjs +1916 -0
- package/node_modules/zod/v4/core/compile.d.cts +65 -0
- package/node_modules/zod/v4/core/compile.d.ts +65 -0
- package/node_modules/zod/v4/core/compile.js +1866 -0
- package/node_modules/zod/v4/core/core.cjs +167 -0
- package/node_modules/zod/v4/core/core.d.cts +82 -0
- package/node_modules/zod/v4/core/core.d.ts +82 -0
- package/node_modules/zod/v4/core/core.js +141 -0
- package/node_modules/zod/v4/core/doc.cjs +61 -0
- package/node_modules/zod/v4/core/doc.d.cts +16 -0
- package/node_modules/zod/v4/core/doc.d.ts +16 -0
- package/node_modules/zod/v4/core/doc.js +38 -0
- package/node_modules/zod/v4/core/errors.cjs +317 -0
- package/node_modules/zod/v4/core/errors.d.cts +225 -0
- package/node_modules/zod/v4/core/errors.d.ts +225 -0
- package/node_modules/zod/v4/core/errors.js +267 -0
- package/node_modules/zod/v4/core/index.cjs +70 -0
- package/node_modules/zod/v4/core/index.d.cts +19 -0
- package/node_modules/zod/v4/core/index.d.ts +19 -0
- package/node_modules/zod/v4/core/index.js +19 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +122 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +99 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +929 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +843 -0
- package/node_modules/zod/v4/core/json-schema.cjs +21 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +89 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +89 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/memoizer.cjs +360 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +311 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +233 -0
- package/node_modules/zod/v4/core/parse.d.cts +52 -0
- package/node_modules/zod/v4/core/parse.d.ts +52 -0
- package/node_modules/zod/v4/core/parse.js +175 -0
- package/node_modules/zod/v4/core/regexes.cjs +209 -0
- package/node_modules/zod/v4/core/regexes.d.cts +90 -0
- package/node_modules/zod/v4/core/regexes.d.ts +90 -0
- package/node_modules/zod/v4/core/regexes.js +156 -0
- package/node_modules/zod/v4/core/registries.cjs +75 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2699 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1275 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1275 -0
- package/node_modules/zod/v4/core/schemas.js +2636 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +21 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +681 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +154 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +154 -0
- package/node_modules/zod/v4/core/to-json-schema.js +651 -0
- package/node_modules/zod/v4/core/util.cjs +964 -0
- package/node_modules/zod/v4/core/util.d.cts +280 -0
- package/node_modules/zod/v4/core/util.d.ts +280 -0
- package/node_modules/zod/v4/core/util.js +873 -0
- package/node_modules/zod/v4/core/versions.cjs +27 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/core/visit.cjs +214 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +51 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +4 -0
- package/node_modules/zod/v4/locales/ar.cjs +138 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +111 -0
- package/node_modules/zod/v4/locales/az.cjs +137 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +110 -0
- package/node_modules/zod/v4/locales/be.cjs +195 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +168 -0
- package/node_modules/zod/v4/locales/bg.cjs +152 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +125 -0
- package/node_modules/zod/v4/locales/bn.cjs +140 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +113 -0
- package/node_modules/zod/v4/locales/ca.cjs +139 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +112 -0
- package/node_modules/zod/v4/locales/ckb.cjs +160 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +133 -0
- package/node_modules/zod/v4/locales/cs.cjs +143 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +116 -0
- package/node_modules/zod/v4/locales/da.cjs +147 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +120 -0
- package/node_modules/zod/v4/locales/de.cjs +140 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +113 -0
- package/node_modules/zod/v4/locales/el.cjs +139 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +112 -0
- package/node_modules/zod/v4/locales/en.cjs +152 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +125 -0
- package/node_modules/zod/v4/locales/eo.cjs +141 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +114 -0
- package/node_modules/zod/v4/locales/es.cjs +163 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +136 -0
- package/node_modules/zod/v4/locales/fa.cjs +146 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +119 -0
- package/node_modules/zod/v4/locales/fi.cjs +144 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +117 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +139 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +112 -0
- package/node_modules/zod/v4/locales/fr.cjs +156 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +129 -0
- package/node_modules/zod/v4/locales/gu.cjs +140 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +113 -0
- package/node_modules/zod/v4/locales/he.cjs +248 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +221 -0
- package/node_modules/zod/v4/locales/hi.cjs +138 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +111 -0
- package/node_modules/zod/v4/locales/hr.cjs +153 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +126 -0
- package/node_modules/zod/v4/locales/hu.cjs +140 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +113 -0
- package/node_modules/zod/v4/locales/hy.cjs +185 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +158 -0
- package/node_modules/zod/v4/locales/id.cjs +138 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +111 -0
- package/node_modules/zod/v4/locales/index.cjs +152 -0
- package/node_modules/zod/v4/locales/index.d.cts +63 -0
- package/node_modules/zod/v4/locales/index.d.ts +63 -0
- package/node_modules/zod/v4/locales/index.js +63 -0
- package/node_modules/zod/v4/locales/is.cjs +141 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +114 -0
- package/node_modules/zod/v4/locales/it.cjs +140 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +113 -0
- package/node_modules/zod/v4/locales/ja.cjs +139 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +112 -0
- package/node_modules/zod/v4/locales/ka.cjs +144 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +117 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +142 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +115 -0
- package/node_modules/zod/v4/locales/kn.cjs +143 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +116 -0
- package/node_modules/zod/v4/locales/ko.cjs +143 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +116 -0
- package/node_modules/zod/v4/locales/lt.cjs +234 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +207 -0
- package/node_modules/zod/v4/locales/mk.cjs +141 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +114 -0
- package/node_modules/zod/v4/locales/ms.cjs +139 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +112 -0
- package/node_modules/zod/v4/locales/ne.cjs +138 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +111 -0
- package/node_modules/zod/v4/locales/nl.cjs +142 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +115 -0
- package/node_modules/zod/v4/locales/nn.cjs +140 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +113 -0
- package/node_modules/zod/v4/locales/no.cjs +140 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +113 -0
- package/node_modules/zod/v4/locales/ota.cjs +141 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +114 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +141 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +114 -0
- package/node_modules/zod/v4/locales/ps.cjs +146 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +119 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/node_modules/zod/v4/locales/pt.cjs +169 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +142 -0
- package/node_modules/zod/v4/locales/ro.cjs +149 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +122 -0
- package/node_modules/zod/v4/locales/ru.cjs +195 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +168 -0
- package/node_modules/zod/v4/locales/sk.cjs +143 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +116 -0
- package/node_modules/zod/v4/locales/sl.cjs +141 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +114 -0
- package/node_modules/zod/v4/locales/sv.cjs +142 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +115 -0
- package/node_modules/zod/v4/locales/ta.cjs +142 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +115 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +142 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +115 -0
- package/node_modules/zod/v4/locales/tk.cjs +134 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +107 -0
- package/node_modules/zod/v4/locales/tr.cjs +137 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +110 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +140 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +113 -0
- package/node_modules/zod/v4/locales/ur.cjs +142 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +115 -0
- package/node_modules/zod/v4/locales/uz.cjs +140 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +113 -0
- package/node_modules/zod/v4/locales/vi.cjs +140 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +113 -0
- package/node_modules/zod/v4/locales/yo.cjs +139 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +112 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +141 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +114 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +139 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +112 -0
- package/node_modules/zod/v4/mini/checks.cjs +54 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +71 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +95 -0
- package/node_modules/zod/v4/mini/external.d.cts +16 -0
- package/node_modules/zod/v4/mini/external.d.ts +16 -0
- package/node_modules/zod/v4/mini/external.js +16 -0
- package/node_modules/zod/v4/mini/in-out.cjs +82 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/index.cjs +51 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +83 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +37 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1147 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +480 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +480 -0
- package/node_modules/zod/v4/mini/schemas.js +1002 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +51 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/package.json +32 -4
- package/runtime.cjs +14 -0
- package/scripts/arguments.mjs +77 -0
- package/scripts/continuation.mjs +31 -0
- package/scripts/create-task.mjs +27 -0
- package/scripts/delete-task.mjs +3 -0
- package/scripts/entry.mjs +6 -0
- package/scripts/get-task.mjs +40 -0
- package/scripts/get-tasks.mjs +84 -0
- package/scripts/hook.mjs +89 -0
- package/scripts/inspect-blockers.mjs +76 -0
- package/scripts/install-launcher.mjs +28 -0
- package/scripts/install-migration.mjs +82 -0
- package/scripts/install-path.mjs +105 -0
- package/scripts/install-release.mjs +252 -0
- package/scripts/lifecycle.mjs +35 -0
- package/scripts/list-tasks.mjs +117 -0
- package/scripts/output.mjs +67 -0
- package/scripts/schema.mjs +41 -0
- package/scripts/search-tasks.mjs +96 -0
- package/scripts/task-write-input.mjs +80 -0
- package/scripts/transition-task.mjs +3 -0
- package/scripts/update-release.mjs +82 -0
- package/scripts/update-task.mjs +29 -0
- package/scripts/validate-task-stores.mjs +34 -0
- package/src/blockers.mjs +134 -0
- package/src/cache.mjs +50 -0
- package/src/config.mjs +30 -0
- package/src/create.mjs +145 -0
- package/src/cursor.mjs +30 -0
- package/src/destinations.mjs +74 -0
- package/src/errors.mjs +16 -0
- package/src/field-rules.mjs +105 -0
- package/src/fields.mjs +32 -0
- package/src/input.mjs +146 -0
- package/src/limits.mjs +5 -0
- package/src/locations.mjs +19 -0
- package/src/pagination.mjs +30 -0
- package/src/project-lock.mjs +74 -0
- package/src/projects.mjs +33 -0
- package/src/response.mjs +75 -0
- package/src/schema.mjs +76 -0
- package/src/search-index-worker.mjs +10 -0
- package/src/search-index.mjs +639 -0
- package/src/search.mjs +228 -0
- package/src/service.mjs +260 -0
- package/src/source.mjs +48 -0
- package/src/sqlite.mjs +17 -0
- package/src/storage-format.mjs +15 -0
- package/src/stores.mjs +337 -0
- package/src/tasks.mjs +290 -0
- package/src/timestamps.mjs +22 -0
- package/src/transition.mjs +181 -0
- package/src/update.mjs +56 -0
- package/src/validation.mjs +144 -0
- package/src/version.mjs +5 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.z = void 0;
|
|
30
|
+
const z = __importStar(require("../v4/mini/external.cjs"));
|
|
31
|
+
exports.z = z;
|
|
32
|
+
__exportStar(require("../v4/mini/external.cjs"), exports);
|
|
33
|
+
|
|
34
|
+
// seal-cjs-exports
|
|
35
|
+
(function () {
|
|
36
|
+
var keys = Object.getOwnPropertyNames(exports);
|
|
37
|
+
for (var i = 0; i < keys.length; i++) {
|
|
38
|
+
var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
|
|
39
|
+
if (!desc || !desc.get || !desc.configurable) continue;
|
|
40
|
+
var value;
|
|
41
|
+
try {
|
|
42
|
+
value = desc.get();
|
|
43
|
+
} catch (e) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// a circular require may not have settled this one yet, so leave it live
|
|
47
|
+
if (value === undefined) continue;
|
|
48
|
+
Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
|
|
49
|
+
}
|
|
50
|
+
Object.freeze(exports);
|
|
51
|
+
})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "outask",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"description": "Outask CLI for repository-local JSON task tracking",
|
|
5
|
+
"author": "Henry <me@henrydev.me>",
|
|
6
|
+
"license": "AGPL-3.0-only",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=22.23.3"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"jsonc-parser": "3.3.1",
|
|
13
|
+
"@modelcontextprotocol/server": "2.3.0",
|
|
14
|
+
"zod": "^4.6.6"
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"outask": "bin/outask",
|
|
18
|
+
"tasks": "bin/tasks"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/henryh/outask.git",
|
|
23
|
+
"directory": "app"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public",
|
|
27
|
+
"registry": "https://registry.npmjs.org/"
|
|
28
|
+
},
|
|
29
|
+
"bundleDependencies": [
|
|
30
|
+
"jsonc-parser",
|
|
31
|
+
"@modelcontextprotocol/server",
|
|
32
|
+
"zod"
|
|
33
|
+
]
|
|
34
|
+
}
|
package/runtime.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Keep the preflight parseable on old Node versions and derive bounds from the manifest.
|
|
2
|
+
const range = require('./package.json').engines.node;
|
|
3
|
+
const current = process.versions.node.split('.').map(Number);
|
|
4
|
+
const supported = range.split(' || ').some(function (branch) {
|
|
5
|
+
return branch.split(' ').every(function (bound) {
|
|
6
|
+
const match = /^(>=|<)(\d+)(?:\.(\d+))?(?:\.(\d+))?$/.exec(bound);
|
|
7
|
+
if (!match) return false;
|
|
8
|
+
const version = [Number(match[2]), Number(match[3] || 0), Number(match[4] || 0)];
|
|
9
|
+
let order = 0;
|
|
10
|
+
for (let index = 0; index < 3 && !order; index += 1) order = current[index] - version[index];
|
|
11
|
+
return match[1] === '>=' ? order >= 0 : order < 0;
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
if (!supported) throw new Error('INCOMPATIBLE_RUNTIME: Outask requires Node.js ' + range + '; found ' + process.versions.node);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { fail } from '../src/errors.mjs';
|
|
2
|
+
|
|
3
|
+
export const commonOptions = {
|
|
4
|
+
store: { type: 'string', multiple: true }, group: { type: 'string' },
|
|
5
|
+
fields: { type: 'string' }, format: { type: 'string', default: 'text' },
|
|
6
|
+
'max-width': { type: 'string', default: '60' }, 'schema-path': { type: 'string' },
|
|
7
|
+
'no-cache': { type: 'boolean' },
|
|
8
|
+
help: { type: 'boolean', short: 'h' },
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const commonHelp = ` --store <name> Explicit store (repeatable); all includes history
|
|
12
|
+
--group <group> Active (default), Done or Archive; exclusive with --store
|
|
13
|
+
--format <format> text (default), table, json or ids
|
|
14
|
+
--max-width <n> Table cell width, at least 10 (default: 60)
|
|
15
|
+
--schema-path <file> Project-relative schema file; overrides automatic selection
|
|
16
|
+
--no-cache Read authoritative JSON without opening or refreshing the SQLite cache
|
|
17
|
+
--help, -h Show this help
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
export function parseSchema(values, tokens = []) {
|
|
21
|
+
if (tokens.filter((token) => token.kind === 'option' && token.name === 'schema-path').length > 1) {
|
|
22
|
+
fail('INVALID_INPUT', '--schema-path may be supplied only once');
|
|
23
|
+
}
|
|
24
|
+
if (values['schema-path'] === '') fail('INVALID_INPUT', '--schema-path must not be empty');
|
|
25
|
+
return values['schema-path'];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const projectHelp = `Omit project-path to use the current working directory, or supply one directory explicitly.
|
|
29
|
+
Project operations prepare missing service metadata; reads require task stores.
|
|
30
|
+
Mutations create standard stores when needed; no other directories are searched.
|
|
31
|
+
Use --schema-path for a project-relative schema; automatic selection uses tasks/task-schema.json, then legacy docs/task-schema.json.
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
export function parseProject(positionals, usage, withId = false) {
|
|
35
|
+
const required = withId ? 1 : 0;
|
|
36
|
+
if (positionals.length < required || positionals.length > required + 1) fail('INVALID_INPUT', usage);
|
|
37
|
+
return {
|
|
38
|
+
project: positionals.length === required ? process.cwd() : positionals[0],
|
|
39
|
+
id: withId ? positionals.at(-1) : undefined,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function parseInteger(value, name, minimum = 0, maximum = Number.MAX_SAFE_INTEGER) {
|
|
44
|
+
if (!/^\d+$/.test(value) || !Number.isSafeInteger(Number(value)) || Number(value) < minimum || Number(value) > maximum) {
|
|
45
|
+
fail('INVALID_INPUT', `${name} expects a safe integer from ${minimum} to ${maximum}`);
|
|
46
|
+
}
|
|
47
|
+
return Number(value);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function splitNames(value) {
|
|
51
|
+
const names = value.split(',').map((name) => name.trim());
|
|
52
|
+
if (names.some((name) => !name)) fail('INVALID_INPUT', 'field and store names cannot be empty');
|
|
53
|
+
return names;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function parseSelection(values) {
|
|
57
|
+
const stores = (values.store ?? []).flatMap(splitNames);
|
|
58
|
+
const fields = values.fields === undefined ? undefined : splitNames(values.fields);
|
|
59
|
+
// An IDs format is itself an explicit projection, regardless of --fields.
|
|
60
|
+
return { stores, group: values.group, fields: values.format === 'ids' ? ['id'] : fields };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function parseOutput(values) {
|
|
64
|
+
if (!['text', 'table', 'json', 'ids'].includes(values.format)) {
|
|
65
|
+
fail('INVALID_INPUT', 'format must be text, table, json or ids');
|
|
66
|
+
}
|
|
67
|
+
return { format: values.format, maxWidth: parseInteger(values['max-width'], '--max-width', 10) };
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function cacheOptions(values) {
|
|
71
|
+
return {
|
|
72
|
+
noCache: values['no-cache'] ?? false,
|
|
73
|
+
onAdvisory(advisory) {
|
|
74
|
+
process.stderr.write(`Advisory ${advisory.code}: ${advisory.message}\n`);
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { relative } from 'node:path';
|
|
2
|
+
import { textBuffer } from '../src/response.mjs';
|
|
3
|
+
|
|
4
|
+
function quoteArgument(buffer, value) {
|
|
5
|
+
if (/^[a-zA-Z0-9_@%+=:,./-]+$/.test(value)) return buffer.add(value);
|
|
6
|
+
if (!buffer.add("'")) return false;
|
|
7
|
+
const parts = value.split("'");
|
|
8
|
+
for (let index = 0; index < parts.length; index++) {
|
|
9
|
+
if (index && !buffer.add("'\\''")) return false;
|
|
10
|
+
if (!buffer.add(parts[index])) return false;
|
|
11
|
+
}
|
|
12
|
+
return buffer.add("'");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function nextCommand(args, tokens, option, value, invocation) {
|
|
16
|
+
const omitted = new Set();
|
|
17
|
+
for (const token of tokens) {
|
|
18
|
+
if (token.kind !== 'option' || token.name !== option) continue;
|
|
19
|
+
omitted.add(token.index);
|
|
20
|
+
if (!token.inlineValue) omitted.add(token.index + 1);
|
|
21
|
+
}
|
|
22
|
+
const script = relative(process.cwd(), process.argv[1]);
|
|
23
|
+
const words = [...(invocation ?? ['node', script.startsWith('-') ? `./${script}` : script]),
|
|
24
|
+
`--${option}`, String(value), ...args.filter((_, index) => !omitted.has(index))];
|
|
25
|
+
const buffer = textBuffer();
|
|
26
|
+
for (let index = 0; index < words.length; index++) {
|
|
27
|
+
if (index && !buffer.add(' ')) return undefined;
|
|
28
|
+
if (!quoteArgument(buffer, words[index])) return undefined;
|
|
29
|
+
}
|
|
30
|
+
return buffer.finish();
|
|
31
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from 'node:util';
|
|
3
|
+
import { createTask } from '../src/create.mjs';
|
|
4
|
+
import { fail } from '../src/errors.mjs';
|
|
5
|
+
import { parseProject, parseSchema, projectHelp } from './arguments.mjs';
|
|
6
|
+
import { isMain } from './entry.mjs';
|
|
7
|
+
import { checkOptions, taskWriteHelp, readTaskWriteInput, taskWriteOptions } from './task-write-input.mjs';
|
|
8
|
+
import { reportError } from './output.mjs';
|
|
9
|
+
|
|
10
|
+
export const options = taskWriteOptions;
|
|
11
|
+
export const usage = 'Usage: node app/scripts/create-task.mjs [project-path] [field options | --json <object> | --input <file|->] [options]';
|
|
12
|
+
export const help = `${usage}\n${projectHelp}Create one task. JSON is the full task structure; omitted id is allocated. Project format/default_status settings apply (normally pending, medium priority and empty blockers). Creation sets updated_at; caller-supplied updated_at is rejected.\n${taskWriteHelp}\n`;
|
|
13
|
+
|
|
14
|
+
export async function main(args) {
|
|
15
|
+
const { values, positionals, tokens } = parseArgs({ args, allowPositionals: true, tokens: true, options });
|
|
16
|
+
if (values.help) { process.stdout.write(help); return; }
|
|
17
|
+
checkOptions(tokens);
|
|
18
|
+
const { project } = parseProject(positionals, usage);
|
|
19
|
+
if (values.format !== 'json') fail('INVALID_INPUT', 'format must be json');
|
|
20
|
+
const input = await readTaskWriteInput(values, false);
|
|
21
|
+
const task = createTask(project, input, { store: values.store, schemaPath: parseSchema(values, tokens) });
|
|
22
|
+
process.stdout.write(`${JSON.stringify(task, null, 2)}\n`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (isMain(import.meta.url)) {
|
|
26
|
+
try { await main(process.argv.slice(2)); } catch (error) { reportError(error); }
|
|
27
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from 'node:util';
|
|
3
|
+
import { getTask } from '../src/tasks.mjs';
|
|
4
|
+
import { cacheOptions, commonHelp, commonOptions, parseInteger, parseOutput, parseProject, parseSchema, parseSelection, projectHelp } from './arguments.mjs';
|
|
5
|
+
import { isMain } from './entry.mjs';
|
|
6
|
+
import { printOutput, reportError } from './output.mjs';
|
|
7
|
+
|
|
8
|
+
export const options = commonOptions;
|
|
9
|
+
export const usage = 'Usage: node app/scripts/get-task.mjs [project-path] <id> [options]';
|
|
10
|
+
export const help = `${usage}
|
|
11
|
+
|
|
12
|
+
${projectHelp}One positional argument is the ID; two are project-path then ID. Reads never change task files.
|
|
13
|
+
--fields <names> Comma-separated fields; all (default)
|
|
14
|
+
${commonHelp}`;
|
|
15
|
+
|
|
16
|
+
export function main(args) {
|
|
17
|
+
const { values, positionals, tokens } = parseArgs({ args, options: commonOptions, allowPositionals: true, tokens: true });
|
|
18
|
+
if (values.help) {
|
|
19
|
+
process.stdout.write(help);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const selected = parseProject(positionals, usage, true);
|
|
23
|
+
const output = parseOutput(values);
|
|
24
|
+
const selection = parseSelection(values);
|
|
25
|
+
selection.schemaPath = parseSchema(values, tokens);
|
|
26
|
+
selection.refreshMode = 'detached';
|
|
27
|
+
Object.assign(selection, cacheOptions(values));
|
|
28
|
+
const id = parseInteger(selected.id, 'id', 1);
|
|
29
|
+
const task = getTask(selected.project, id, selection);
|
|
30
|
+
const fields = selection.fields && !selection.fields.includes('all') ? selection.fields : Object.keys(task);
|
|
31
|
+
printOutput(task, fields, output);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (isMain(import.meta.url)) {
|
|
35
|
+
try {
|
|
36
|
+
main(process.argv.slice(2));
|
|
37
|
+
} catch (error) {
|
|
38
|
+
reportError(error);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from 'node:util';
|
|
3
|
+
import { fail } from '../src/errors.mjs';
|
|
4
|
+
import { defaultLimit, maxLimit, responseBytes } from '../src/limits.mjs';
|
|
5
|
+
import { textBuffer } from '../src/response.mjs';
|
|
6
|
+
import { getTasks } from '../src/tasks.mjs';
|
|
7
|
+
import {
|
|
8
|
+
cacheOptions, commonHelp, commonOptions, parseInteger, parseOutput, parseProject, parseSchema, parseSelection, projectHelp,
|
|
9
|
+
} from './arguments.mjs';
|
|
10
|
+
import { nextCommand } from './continuation.mjs';
|
|
11
|
+
import { isMain } from './entry.mjs';
|
|
12
|
+
import { formatOutput, reportError } from './output.mjs';
|
|
13
|
+
|
|
14
|
+
export const options = {
|
|
15
|
+
...commonOptions,
|
|
16
|
+
format: { type: 'string' },
|
|
17
|
+
id: { type: 'string', multiple: true }, cursor: { type: 'string' },
|
|
18
|
+
limit: { type: 'string', default: String(defaultLimit) },
|
|
19
|
+
};
|
|
20
|
+
export const usage = 'Usage: node app/scripts/get-tasks.mjs [project-path] --id <id> [--id <id> ...] [options]';
|
|
21
|
+
export const help = `${usage}
|
|
22
|
+
|
|
23
|
+
${projectHelp}Reads never change task files.
|
|
24
|
+
--id <id> Requested task ID; repeat in the required result order
|
|
25
|
+
--fields <names> Comma-separated result fields (default: id,title,status)
|
|
26
|
+
${commonHelp.replace(' --fields <names> Comma-separated field names\n', '')} --limit <n> Requested IDs per page from 1 to 50 (default: 10)
|
|
27
|
+
--cursor <cursor> Continue the same ID request from an opaque cursor
|
|
28
|
+
`;
|
|
29
|
+
|
|
30
|
+
function pageInfo(page, args, tokens, invocation) {
|
|
31
|
+
const buffer = textBuffer();
|
|
32
|
+
buffer.add(`Retrieved ${page.tasks.length} task${page.tasks.length === 1 ? '' : 's'}.\n`);
|
|
33
|
+
if (page.not_found.length) buffer.add(`Missing IDs: ${page.not_found.join(', ')}\n`);
|
|
34
|
+
if (page.hasMore) {
|
|
35
|
+
const command = nextCommand(args, tokens, 'cursor', page.next_cursor, invocation);
|
|
36
|
+
if (command === undefined) return undefined;
|
|
37
|
+
buffer.add(`Next page: ${command}\n`);
|
|
38
|
+
}
|
|
39
|
+
return buffer.finish();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function showPage(page, output, args, tokens, invocation) {
|
|
43
|
+
if (output.format === 'json') {
|
|
44
|
+
const text = formatOutput(page, page.fields, output);
|
|
45
|
+
if (text === undefined) fail('OUTPUT_TOO_LARGE', 'rendered batch response exceeds 32 KiB; select fewer --fields');
|
|
46
|
+
process.stdout.write(text);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const info = pageInfo(page, args, tokens, invocation);
|
|
50
|
+
if (info === undefined) fail('OUTPUT_TOO_LARGE', 'batch guidance exceeds 32 KiB; request fewer IDs');
|
|
51
|
+
const text = formatOutput(page.tasks, page.fields, output, responseBytes - Buffer.byteLength(info, 'utf8'));
|
|
52
|
+
if (text === undefined) fail('OUTPUT_TOO_LARGE', 'rendered batch response exceeds 32 KiB; select fewer --fields');
|
|
53
|
+
process.stdout.write(text);
|
|
54
|
+
process.stderr.write(info);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function main(args, guidance) {
|
|
58
|
+
const { values, positionals, tokens } = parseArgs({ args, options, allowPositionals: true, tokens: true });
|
|
59
|
+
if (values.help) {
|
|
60
|
+
process.stdout.write(help);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const { project } = parseProject(positionals, usage);
|
|
64
|
+
if (!values.id?.length) fail('INVALID_INPUT', '--id must be supplied at least once');
|
|
65
|
+
values.format ??= 'table';
|
|
66
|
+
const output = parseOutput(values);
|
|
67
|
+
const selection = parseSelection(values);
|
|
68
|
+
const ids = values.id.map((value) => parseInteger(value, '--id', 1));
|
|
69
|
+
const page = getTasks(project, ids, {
|
|
70
|
+
...selection,
|
|
71
|
+
limit: parseInteger(values.limit, '--limit', 1, maxLimit), cursor: values.cursor,
|
|
72
|
+
schemaPath: parseSchema(values, tokens), refreshMode: 'detached',
|
|
73
|
+
...cacheOptions(values),
|
|
74
|
+
});
|
|
75
|
+
showPage(page, output, guidance?.args ?? args, guidance?.tokens ?? tokens, guidance?.invocation);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (isMain(import.meta.url)) {
|
|
79
|
+
try {
|
|
80
|
+
main(process.argv.slice(2));
|
|
81
|
+
} catch (error) {
|
|
82
|
+
reportError(error);
|
|
83
|
+
}
|
|
84
|
+
}
|
package/scripts/hook.mjs
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { chmodSync, lstatSync, mkdirSync, readFileSync, realpathSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import { dirname, isAbsolute, relative, resolve } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { parseArgs } from 'node:util';
|
|
7
|
+
import { fail } from '../src/errors.mjs';
|
|
8
|
+
import { parseProject, parseSchema, projectHelp } from './arguments.mjs';
|
|
9
|
+
import { isMain } from './entry.mjs';
|
|
10
|
+
import { reportError } from './output.mjs';
|
|
11
|
+
|
|
12
|
+
export const options = {
|
|
13
|
+
install: { type: 'boolean' }, remove: { type: 'boolean' }, 'schema-path': { type: 'string' }, help: { type: 'boolean', short: 'h' },
|
|
14
|
+
};
|
|
15
|
+
export const usage = 'Usage: node app/scripts/hook.mjs [project-path] --install|--remove';
|
|
16
|
+
export const help = `${usage}\n${projectHelp}Explicitly install/remove a POSIX pre-commit hook at the selected Git root.\nChecks working-tree files, NOT the index; refreshes service metadata without staging it.\nExisting hooks and shared locations require manual integration; see the diagnostic.\nHook management leaves task stores/service metadata untouched. --schema-path is persisted in the generated validator command.
|
|
17
|
+
Repeat installation/removal is safe. Keep this checkout and Node on PATH available.\n`;
|
|
18
|
+
const validator = fileURLToPath(new URL('./validate-task-stores.mjs', import.meta.url));
|
|
19
|
+
const quote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
20
|
+
function inspect(path) {
|
|
21
|
+
try { return lstatSync(path); } catch (error) {
|
|
22
|
+
if (error.code === 'ENOENT') return undefined;
|
|
23
|
+
throw error;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function git(project, args) {
|
|
27
|
+
const result = spawnSync('git', ['-C', project, ...args], { encoding: 'utf8' });
|
|
28
|
+
if (result.error || result.status !== 0) fail('HOOK_UNAVAILABLE', `Git could not resolve hooks: ${result.error?.message ?? result.stderr.trim()}`);
|
|
29
|
+
return result.stdout.trimEnd();
|
|
30
|
+
}
|
|
31
|
+
function inside(root, path) {
|
|
32
|
+
const tail = relative(root, path);
|
|
33
|
+
return tail !== '..' && !tail.startsWith('../') && !isAbsolute(tail);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function main(args) {
|
|
37
|
+
const { values, positionals, tokens } = parseArgs({ args, allowPositionals: true, options, tokens: true });
|
|
38
|
+
if (values.help) { process.stdout.write(help); return; }
|
|
39
|
+
if (Boolean(values.install) === Boolean(values.remove)) fail('INVALID_INPUT', usage);
|
|
40
|
+
const { project: selected } = parseProject(positionals, usage);
|
|
41
|
+
const project = realpathSync(selected);
|
|
42
|
+
const schemaPath = parseSchema(values, tokens);
|
|
43
|
+
const schemaOption = schemaPath === undefined ? '' : ` --schema-path ${quote(schemaPath)}`;
|
|
44
|
+
const command = `node ${quote(validator)} ${quote(project)}${schemaOption}`;
|
|
45
|
+
const manual = (reason, shared = false) => {
|
|
46
|
+
const invocation = shared ? `node ${quote(validator)} "$(git rev-parse --show-toplevel)"${schemaOption}` : command;
|
|
47
|
+
fail('HOOK_CONFLICT', `${reason}. No hook changed. In your existing hook/manager, run:\n${invocation} || exit $?\nKeep existing checks and propagate failures; remove that line manually to undo integration.`);
|
|
48
|
+
};
|
|
49
|
+
const root = realpathSync(git(project, ['rev-parse', '--show-toplevel']));
|
|
50
|
+
if (root !== project) manual('Select the Git root for automatic installation; nested projects require manual integration');
|
|
51
|
+
const hook = resolve(project, git(project, ['rev-parse', '--path-format=absolute', '--git-path', 'hooks']), 'pre-commit');
|
|
52
|
+
// A configured directory may be shared by other repositories, including through a symlink.
|
|
53
|
+
let ancestor = dirname(hook);
|
|
54
|
+
while (!inspect(ancestor)) ancestor = dirname(ancestor);
|
|
55
|
+
if (!inside(root, hook) || !inside(root, realpathSync(ancestor))) manual(`Shared/external hook location ${hook}`, true);
|
|
56
|
+
if (values.install && git(project, ['worktree', 'list', '--porcelain', '-z'])
|
|
57
|
+
.split('\0').filter((field) => field.startsWith('worktree ')).length > 1) {
|
|
58
|
+
manual('Repository has linked worktrees; automatic hook installation is unavailable', true);
|
|
59
|
+
}
|
|
60
|
+
// Git may share this hook with a worktree created after installation.
|
|
61
|
+
const content = `#!/bin/sh\n# outask: working-tree validation; index is not validated or staged.
|
|
62
|
+
root=$(git rev-parse --show-toplevel) || exit $?
|
|
63
|
+
if [ "$root" != ${quote(project)} ]; then
|
|
64
|
+
printf '%s\\n' 'HOOK_CONFLICT: This hook belongs to another working tree. Integrate validation for the invoking worktree manually.' >&2
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
exec ${command}\n`;
|
|
68
|
+
const present = inspect(hook);
|
|
69
|
+
const previous = present?.isFile() ? readFileSync(hook, 'utf8') : undefined;
|
|
70
|
+
const managed = previous === content || previous === content.replace('# outask:', '# task-tracker:');
|
|
71
|
+
if (present && !managed) manual(`Existing or modified hook at ${hook}`);
|
|
72
|
+
if (values.remove) {
|
|
73
|
+
if (present) unlinkSync(hook);
|
|
74
|
+
process.stdout.write(`${present ? 'Removed' : 'Already absent'}: ${hook}.\n`);
|
|
75
|
+
} else {
|
|
76
|
+
if (!present) {
|
|
77
|
+
mkdirSync(dirname(hook), { recursive: true });
|
|
78
|
+
writeFileSync(hook, content, { flag: 'wx', mode: 0o755 });
|
|
79
|
+
} else {
|
|
80
|
+
if (readFileSync(hook, 'utf8') !== content) writeFileSync(hook, content);
|
|
81
|
+
chmodSync(hook, 0o755);
|
|
82
|
+
}
|
|
83
|
+
process.stdout.write(`${present ? 'Already installed' : 'Installed'}: ${hook}. Checks working-tree files, not staged data; stage refreshed service metadata yourself.\n`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (isMain(import.meta.url)) {
|
|
88
|
+
try { main(process.argv.slice(2)); } catch (error) { reportError(error); }
|
|
89
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { parseArgs } from 'node:util';
|
|
3
|
+
import { defaultDepth, inspectBlockers, maxDepth } from '../src/blockers.mjs';
|
|
4
|
+
import { fail } from '../src/errors.mjs';
|
|
5
|
+
import { defaultLimit, maxLimit } from '../src/limits.mjs';
|
|
6
|
+
import { textBuffer } from '../src/response.mjs';
|
|
7
|
+
import { cacheOptions, parseInteger, parseProject, parseSchema, projectHelp } from './arguments.mjs';
|
|
8
|
+
import { isMain } from './entry.mjs';
|
|
9
|
+
import { formatOutput, reportError } from './output.mjs';
|
|
10
|
+
|
|
11
|
+
export const options = {
|
|
12
|
+
depth: { type: 'string', default: String(defaultDepth) },
|
|
13
|
+
limit: { type: 'string', default: String(defaultLimit) },
|
|
14
|
+
format: { type: 'string', default: 'text' }, help: { type: 'boolean', short: 'h' },
|
|
15
|
+
'schema-path': { type: 'string' },
|
|
16
|
+
'no-cache': { type: 'boolean' },
|
|
17
|
+
};
|
|
18
|
+
export const usage = 'Usage: node app/scripts/inspect-blockers.mjs [project-path] <id> [options]';
|
|
19
|
+
export const help = `${usage}
|
|
20
|
+
|
|
21
|
+
${projectHelp}One positional argument is the ID; two are project-path then ID.
|
|
22
|
+
Inspect one Active task. Reads only Active stores and never changes task files.
|
|
23
|
+
Direct active blocker IDs and eligibility remain exact when the graph is truncated.
|
|
24
|
+
--depth <n> Maximum graph hops, 1 to ${maxDepth} (default: ${defaultDepth})
|
|
25
|
+
--limit <n> Maximum graph edges, 1 to ${maxLimit} (default: ${defaultLimit})
|
|
26
|
+
--format <format> text (default) or json
|
|
27
|
+
--schema-path <file> Project-relative schema file; overrides automatic selection
|
|
28
|
+
--no-cache Read authoritative JSON without opening or refreshing the SQLite cache
|
|
29
|
+
--help, -h Show this help
|
|
30
|
+
|
|
31
|
+
Cycles are result diagnostics. An incomplete check reports cycleStatus: unknown.
|
|
32
|
+
Use list-tasks.mjs and get-task.mjs to choose work and read task details.
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
function humanText(result) {
|
|
36
|
+
const { id, eligible, activeBlockers, graph } = result;
|
|
37
|
+
const buffer = textBuffer();
|
|
38
|
+
buffer.add(`task: ${id}\neligible: ${eligible ? 'yes' : 'no'}\n`);
|
|
39
|
+
buffer.add(`active blockers: ${activeBlockers.length ? activeBlockers.join(', ') : 'none'}\n`);
|
|
40
|
+
const cycle = graph.cycleStatus === 'found' ? graph.cycle.join(' -> ')
|
|
41
|
+
: graph.cycleStatus === 'unknown' ? 'unknown (graph is truncated)' : 'none';
|
|
42
|
+
buffer.add(`cycle: ${cycle}\ngraph: ${graph.edges.length} edges (depth ${graph.depth}, limit ${graph.limit})\n`);
|
|
43
|
+
for (const { from, to } of graph.edges) buffer.add(` ${from} -> ${to}\n`);
|
|
44
|
+
const reasons = Object.keys(graph.truncated).filter((key) => graph.truncated[key]);
|
|
45
|
+
buffer.add(`truncated: ${reasons.length ? reasons.join(', ') : 'no'}\n`);
|
|
46
|
+
return buffer.finish();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function main(args) {
|
|
50
|
+
const { values, positionals, tokens } = parseArgs({ args, allowPositionals: true, options, tokens: true });
|
|
51
|
+
if (values.help) {
|
|
52
|
+
process.stdout.write(help);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const selected = parseProject(positionals, usage, true);
|
|
56
|
+
if (!['text', 'json'].includes(values.format)) fail('INVALID_INPUT', 'format must be text or json');
|
|
57
|
+
const id = parseInteger(selected.id, 'id', 1);
|
|
58
|
+
const result = inspectBlockers(selected.project, id, {
|
|
59
|
+
depth: parseInteger(values.depth, '--depth', 1, maxDepth),
|
|
60
|
+
limit: parseInteger(values.limit, '--limit', 1, maxLimit),
|
|
61
|
+
schemaPath: parseSchema(values, tokens),
|
|
62
|
+
refreshMode: 'detached',
|
|
63
|
+
...cacheOptions(values),
|
|
64
|
+
});
|
|
65
|
+
const output = values.format === 'json' ? formatOutput(result, [], { format: 'json' }) : humanText(result);
|
|
66
|
+
if (output === undefined) fail('OUTPUT_TOO_LARGE', 'rendered blocker result exceeds 32 KiB; use --format json');
|
|
67
|
+
process.stdout.write(output);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (isMain(import.meta.url)) {
|
|
71
|
+
try {
|
|
72
|
+
main(process.argv.slice(2));
|
|
73
|
+
} catch (error) {
|
|
74
|
+
reportError(error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { applicationRoot } from '../src/locations.mjs';
|
|
4
|
+
|
|
5
|
+
export const commandNames = ['outask', 'tasks'];
|
|
6
|
+
export const packageNames = ['outask', 'task-tracker-local'];
|
|
7
|
+
|
|
8
|
+
export function installLocations() {
|
|
9
|
+
const destination = applicationRoot();
|
|
10
|
+
return {
|
|
11
|
+
bin: process.platform === 'win32' ? join(destination, 'commands') : join(process.env.HOME || homedir(), '.local/bin'),
|
|
12
|
+
releases: dirname(destination), destination,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function windowsLauncher(entry) {
|
|
17
|
+
// ASCII batch text survives legacy console code pages; Node decodes the path.
|
|
18
|
+
const encoded = Buffer.from(entry, 'utf8').toString('base64');
|
|
19
|
+
const bootstrap = `const p=Buffer.from('${encoded}','base64').toString('utf8');process.argv.splice(1,0,p);import(require('node:url').pathToFileURL(p).href).catch(e=>{console.error(e);process.exitCode=1});`;
|
|
20
|
+
return `@echo off\r\nrem Outask managed launcher\r\nsetlocal DisableDelayedExpansion\r\nwhere.exe node >nul 2>nul\r\nif errorlevel 1 (\r\n echo DEPENDENCY_MISSING: install Node.js 22.23.3 or later and put node on PATH 1>&2\r\n exit /b 1\r\n)\r\nnode -e "${bootstrap}" -- %*\r\nexit /b %errorlevel%\r\n`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function launcherEntry(contents) {
|
|
24
|
+
const match = contents.match(/Buffer\.from\('([A-Za-z0-9+/]+={0,2})','base64'\)/);
|
|
25
|
+
if (!match) return undefined;
|
|
26
|
+
const entry = Buffer.from(match[1], 'base64').toString('utf8');
|
|
27
|
+
return contents === windowsLauncher(entry) ? entry : undefined;
|
|
28
|
+
}
|