@codeworksh/cli 0.0.1-dev.20260918042316 → 0.0.1-dev.20260922183613

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.
Files changed (76) hide show
  1. package/README.md +94 -0
  2. package/add--i7mPR73.mjs +81 -0
  3. package/add--i7mPR73.mjs.map +1 -0
  4. package/{catalog-Cv1zoZ5S.mjs → catalog-DJxy_lne.mjs} +2 -2
  5. package/{catalog-Cv1zoZ5S.mjs.map → catalog-DJxy_lne.mjs.map} +1 -1
  6. package/check-Dq2WOgap.mjs +47 -0
  7. package/check-Dq2WOgap.mjs.map +1 -0
  8. package/commonjs-BDiLMfFF.mjs +160 -0
  9. package/commonjs-BDiLMfFF.mjs.map +1 -0
  10. package/definitions-Dfwyyv_K.mjs +3348 -0
  11. package/definitions-Dfwyyv_K.mjs.map +1 -0
  12. package/entries-Gfsq7U4P.mjs +48 -0
  13. package/entries-Gfsq7U4P.mjs.map +1 -0
  14. package/{error-zJGKAF4a.mjs → error-BrbT9_4g.mjs} +2470 -1853
  15. package/error-BrbT9_4g.mjs.map +1 -0
  16. package/{generate-DdscbX3w.mjs → generate-DrGYpD3l.mjs} +3 -3
  17. package/{generate-DdscbX3w.mjs.map → generate-DrGYpD3l.mjs.map} +1 -1
  18. package/{harness-BBTdWdhx.mjs → harness-Bgvrr0ZB.mjs} +2 -2
  19. package/{harness-BBTdWdhx.mjs.map → harness-Bgvrr0ZB.mjs.map} +1 -1
  20. package/index.d.mts +6 -1
  21. package/index.mjs +22 -6
  22. package/index.mjs.map +1 -1
  23. package/install-DoO4D3fk.mjs +53 -0
  24. package/install-DoO4D3fk.mjs.map +1 -0
  25. package/lib-BkWR53Bz.mjs +37659 -0
  26. package/lib-BkWR53Bz.mjs.map +1 -0
  27. package/lib-CyynPpjH.mjs +846 -0
  28. package/lib-CyynPpjH.mjs.map +1 -0
  29. package/lib-Dw7R2suc.mjs +16078 -0
  30. package/lib-Dw7R2suc.mjs.map +1 -0
  31. package/lib-JQygPqgO.mjs +10868 -0
  32. package/lib-JQygPqgO.mjs.map +1 -0
  33. package/link-B1zfETsS.mjs +40 -0
  34. package/link-B1zfETsS.mjs.map +1 -0
  35. package/list-3OR68HpY.mjs +76 -0
  36. package/list-3OR68HpY.mjs.map +1 -0
  37. package/{list-C6BrwuV-.mjs → list-CfPfmfe0.mjs} +4 -4
  38. package/{list-C6BrwuV-.mjs.map → list-CfPfmfe0.mjs.map} +1 -1
  39. package/login-GFV3Z9f2.mjs +45 -0
  40. package/login-GFV3Z9f2.mjs.map +1 -0
  41. package/logout-D17TQUfo.mjs +29 -0
  42. package/logout-D17TQUfo.mjs.map +1 -0
  43. package/p-map-C2WSUhyP.mjs +116 -0
  44. package/p-map-C2WSUhyP.mjs.map +1 -0
  45. package/package.json +12 -9
  46. package/{providers-fO-GJuXn.mjs → providers-DLXs9aWZ.mjs} +4 -4
  47. package/{providers-fO-GJuXn.mjs.map → providers-DLXs9aWZ.mjs.map} +1 -1
  48. package/refresh-BTNuP1zL.mjs +35 -0
  49. package/refresh-BTNuP1zL.mjs.map +1 -0
  50. package/reload-BzwsCBQq.mjs +26 -0
  51. package/reload-BzwsCBQq.mjs.map +1 -0
  52. package/remove-DgB3l5JL.mjs +36 -0
  53. package/remove-DgB3l5JL.mjs.map +1 -0
  54. package/{run-CgPOJ-wJ.mjs → run-BVo4XsL6.mjs} +11 -8
  55. package/run-BVo4XsL6.mjs.map +1 -0
  56. package/runtime-Dl621FOp.mjs +345 -0
  57. package/runtime-Dl621FOp.mjs.map +1 -0
  58. package/{serve-Du6luqoi.mjs → serve-Dpep18-A.mjs} +93 -17
  59. package/serve-Dpep18-A.mjs.map +1 -0
  60. package/settings-C52IrA72.mjs +215 -0
  61. package/settings-C52IrA72.mjs.map +1 -0
  62. package/shared-Uwjcofff.mjs +115 -0
  63. package/shared-Uwjcofff.mjs.map +1 -0
  64. package/status-DPYq2Sx4.mjs +31 -0
  65. package/status-DPYq2Sx4.mjs.map +1 -0
  66. package/type-defs-BZxrtlVD.mjs +538 -0
  67. package/type-defs-BZxrtlVD.mjs.map +1 -0
  68. package/update-CJrBbHwq.mjs +44 -0
  69. package/update-CJrBbHwq.mjs.map +1 -0
  70. package/valid-BWgW_TUl.mjs +354 -0
  71. package/valid-BWgW_TUl.mjs.map +1 -0
  72. package/error-zJGKAF4a.mjs.map +0 -1
  73. package/run-CgPOJ-wJ.mjs.map +0 -1
  74. package/runtime-DuL-GGrx.mjs +0 -163
  75. package/runtime-DuL-GGrx.mjs.map +0 -1
  76. package/serve-Du6luqoi.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-Uwjcofff.mjs","names":["Global.resolve","Client.layer"],"sources":["../../src/cli/cmd/handlers/auth/shared.ts"],"sourcesContent":["/* @effect-diagnostics nodeBuiltinImport:off -- OAuth login opens the system browser. */\n/* @effect-diagnostics globalDate:off -- Stored expiry timestamps are rendered for the user. */\n/* oxlint-disable effecttsgo/async-function -- Aikit OAuth callbacks require Promise-returning functions. */\nimport {\n\tGitHubCopilotOAuthClient,\n\tJsonGitHubCopilotAuthStorage,\n\ttype GitHubCopilotAuthStorage,\n} from \"@codeworksh/aikit/oauth/github/copilot\";\nimport {\n\tJsonOpenAICodexAuthStorage,\n\tOpenAICodexOAuthClient,\n\ttype OpenAICodexAuthStorage,\n} from \"@codeworksh/aikit/oauth/openai/codex\";\nimport { openBrowser, promptLine } from \"@codeworksh/aikit/oauth/interactive\";\nimport {\n\tcheckOAuthProvider,\n\toauthProviderLabel,\n\tsummarizeGitHubCopilot,\n\tsummarizeOpenAICodex,\n\ttype OAuthSummary,\n} from \"@codeworksh/aikit/oauth/summary\";\nimport { Global } from \"@codeworksh/harness/effect\";\nimport { Effect, Option, Path } from \"effect\";\nimport { Client } from \"../../../../server/client.ts\";\nimport type { Contract } from \"../../../../server/contract.ts\";\nimport { InvalidInputError, OAuthError } from \"../../../error.ts\";\nimport { Cmd } from \"../../cmd.ts\";\n\nexport type Provider = Contract.OAuthProvider;\n\n// The wire shape and aikit's summary are the same record.\nexport type Summary = Contract.OAuthInfo & OAuthSummary;\n\nconst announce = (\n\tinfo: { url: string; userCode?: string | undefined; instructions?: string | undefined },\n\tbrowser: boolean,\n): void => {\n\tprocess.stderr.write(\n\t\t`${info.instructions ?? \"Complete authentication in your browser.\"}\\n${\n\t\t\tinfo.userCode === undefined ? \"\" : `Enter code: ${info.userCode}\\n`\n\t\t}${info.url}\\n`,\n\t);\n\tif (browser) {\n\t\tvoid openBrowser(info.url, (error) => void process.stderr.write(`Failed to open browser: ${error.message}\\n`));\n\t}\n};\n\nexport interface LoginOptions {\n\treadonly browser: boolean;\n\treadonly device: boolean;\n\treadonly enterprise: Option.Option<string>;\n\treadonly enableModels: boolean;\n}\n\nexport interface Ops {\n\treadonly path: string;\n\treadonly login: (options: LoginOptions) => Promise<{ wire: Contract.OAuthCredentials; summary: Summary }>;\n\treadonly stored: () => Promise<Summary | undefined>;\n\treadonly refreshed: () => Promise<Summary | undefined>;\n\treadonly logout: () => Promise<void>;\n}\n\n/** Holds nothing: a server's credentials live on the server, not on this disk. */\nconst transient: OpenAICodexAuthStorage & GitHubCopilotAuthStorage = {\n\tget: async () => undefined,\n\tset: async () => {},\n\tclear: async () => {},\n};\n\nconst codexOps = (storage: OpenAICodexAuthStorage, path: string): Ops => {\n\tconst client = new OpenAICodexOAuthClient({ storage });\n\treturn {\n\t\tpath,\n\t\tlogin: async (options) => {\n\t\t\tconst credentials = await client.login({\n\t\t\t\tdevice: options.device,\n\t\t\t\tonAuth: (info) => announce(info, options.browser),\n\t\t\t\tonProgress: (message) => void process.stderr.write(`${message}\\n`),\n\t\t\t\tonPrompt: (prompt) => promptLine(prompt.message),\n\t\t\t});\n\t\t\treturn { wire: { provider: \"openai-codex\", ...credentials }, summary: summarizeOpenAICodex(credentials) };\n\t\t},\n\t\tstored: async () => {\n\t\t\tconst credentials = await storage.get();\n\t\t\treturn credentials && summarizeOpenAICodex(credentials);\n\t\t},\n\t\trefreshed: async () => {\n\t\t\tconst credentials = await client.getCredentials();\n\t\t\treturn credentials && summarizeOpenAICodex(credentials);\n\t\t},\n\t\tlogout: () => client.logout(),\n\t};\n};\n\nconst copilotOps = (storage: GitHubCopilotAuthStorage, path: string): Ops => {\n\tconst client = new GitHubCopilotOAuthClient({ storage });\n\tconst read = async () => {\n\t\tconst credentials = await storage.get();\n\t\treturn credentials && summarizeGitHubCopilot(credentials);\n\t};\n\treturn {\n\t\tpath,\n\t\tlogin: async (options) => {\n\t\t\tconst credentials = await client.login({\n\t\t\t\t...(Option.isSome(options.enterprise) && { enterpriseUrl: options.enterprise.value }),\n\t\t\t\tenableModels: options.enableModels,\n\t\t\t\tonAuth: (info) => announce(info, options.browser),\n\t\t\t\tonProgress: (message) => void process.stderr.write(`${message}\\n`),\n\t\t\t});\n\t\t\treturn { wire: { provider: \"github-copilot\", ...credentials }, summary: summarizeGitHubCopilot(credentials) };\n\t\t},\n\t\tstored: read,\n\t\t// GitHub OAuth tokens never expire, so there is nothing to refresh.\n\t\trefreshed: read,\n\t\tlogout: () => client.logout(),\n\t};\n};\n\nexport const makeOps = (provider: Provider, options: { path?: string | undefined; persist?: boolean } = {}): Ops => {\n\tconst file = options.path === undefined ? {} : { path: options.path };\n\tif (provider === \"openai-codex\") {\n\t\tconst storage = options.persist === false ? undefined : new JsonOpenAICodexAuthStorage(file);\n\t\treturn codexOps(storage ?? transient, storage?.path ?? \"\");\n\t}\n\tconst storage = options.persist === false ? undefined : new JsonGitHubCopilotAuthStorage(file);\n\treturn copilotOps(storage ?? transient, storage?.path ?? \"\");\n};\n\nexport const attempt = <A>(message: string, run: () => Promise<A>) =>\n\tEffect.tryPromise({ try: run, catch: (cause) => new OAuthError({ message, cause }) });\n\n/** The provider named by the two mutually exclusive flags. */\nexport const selectProvider = (flags: {\n\treadonly openaiCodex: boolean;\n\treadonly githubCopilot: boolean;\n}): Effect.Effect<Provider, InvalidInputError> => {\n\tconst checked = checkOAuthProvider(flags);\n\treturn checked.ok\n\t\t? Effect.succeed(checked.provider)\n\t\t: Effect.fail(new InvalidInputError({ message: checked.message }));\n};\n\n/** Reject the local-credential flags when the credentials live on a server. */\nexport const assertServerScope = (authFile: Option.Option<string>) =>\n\tEffect.gen(function* () {\n\t\tconst shared = yield* Cmd.spec;\n\t\tif (Option.isSome(authFile) || Option.isSome(shared.home)) {\n\t\t\treturn yield* new InvalidInputError({\n\t\t\t\tmessage: \"--auth-file and --home belong on codework serve when using --server\",\n\t\t\t});\n\t\t}\n\t});\n\n/** Credential operations against this machine's auth.json. */\nexport const localOps = (provider: Provider, authFile: Option.Option<string>) =>\n\tEffect.gen(function* () {\n\t\tconst shared = yield* Cmd.spec;\n\t\tconst path = yield* Path.Path;\n\t\tconst file = Option.isSome(authFile)\n\t\t\t? authFile.value\n\t\t\t: Option.isSome(shared.home)\n\t\t\t\t? path.join((yield* Global.resolve({ home: shared.home.value })).home, \"aikit\", \"auth.json\")\n\t\t\t\t: undefined;\n\t\treturn makeOps(provider, file === undefined ? {} : { path: file });\n\t});\n\n/** Run an effect against the RPC server at `url`, discharging the client. */\nexport const withServer = <A, E, R>(url: string, program: Effect.Effect<A, E, R>) =>\n\tprogram.pipe(Effect.provide(Client.layer(url)), Effect.scoped);\n\nexport { Client, oauthProviderLabel };\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { a as reportFailure, f as writeOut, m as make, r as OAuthError } from "./error-BrbT9_4g.mjs";
2
+ import { i as Cmd, t as handler } from "./runtime-Dl621FOp.mjs";
3
+ import { a as oauthProviderLabel, n as attempt, o as selectProvider, r as localOps, s as withServer, t as assertServerScope } from "./shared-Uwjcofff.mjs";
4
+ import { Effect, Option } from "effect";
5
+ import { formatOAuthSummary, oauthNotice } from "@codeworksh/aikit/oauth/summary";
6
+ //#region src/cli/cmd/handlers/auth/status.ts
7
+ var status_default = handler(Cmd.commands.auth.commands.status, Effect.fn("CLI.auth.status")(function* ({ server, openaiCodex, githubCopilot, authFile, json }) {
8
+ return yield* Effect.gen(function* () {
9
+ const provider = yield* selectProvider({
10
+ openaiCodex,
11
+ githubCopilot
12
+ });
13
+ const name = oauthProviderLabel(provider);
14
+ if (Option.isSome(server)) {
15
+ yield* assertServerScope(authFile);
16
+ return yield* withServer(server.value, Effect.gen(function* () {
17
+ const info = yield* (yield* make)["auth.status"]({ provider });
18
+ if (info === null) return yield* new OAuthError({ message: oauthNotice("missing", provider, "the server") });
19
+ yield* writeOut(formatOAuthSummary(info, { json }));
20
+ }));
21
+ }
22
+ const ops = yield* localOps(provider, authFile);
23
+ const summary = yield* attempt(`failed to read ${name} credentials`, () => ops.stored());
24
+ if (summary === void 0) return yield* new OAuthError({ message: oauthNotice("missing", provider, ops.path) });
25
+ yield* writeOut(formatOAuthSummary(summary, { json }));
26
+ }).pipe(Effect.catch(reportFailure));
27
+ }));
28
+ //#endregion
29
+ export { status_default as default };
30
+
31
+ //# sourceMappingURL=status-DPYq2Sx4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-DPYq2Sx4.mjs","names":["Runtime.handler","Client.make"],"sources":["../../src/cli/cmd/handlers/auth/status.ts"],"sourcesContent":["import { formatOAuthSummary, oauthNotice } from \"@codeworksh/aikit/oauth/summary\";\nimport { Effect, Option } from \"effect\";\nimport { Runtime } from \"../../../../framework/runtime.ts\";\nimport { OAuthError, reportFailure } from \"../../../error.ts\";\nimport { writeOut } from \"../../../output.ts\";\nimport { Cmd } from \"../../cmd.ts\";\nimport {\n\tassertServerScope,\n\tattempt,\n\tClient,\n\tlocalOps,\n\toauthProviderLabel,\n\tselectProvider,\n\twithServer,\n} from \"./shared.ts\";\n\nexport default Runtime.handler(\n\tCmd.commands.auth.commands.status,\n\tEffect.fn(\"CLI.auth.status\")(function* ({ server, openaiCodex, githubCopilot, authFile, json }) {\n\t\tconst program = Effect.gen(function* () {\n\t\t\tconst provider = yield* selectProvider({ openaiCodex, githubCopilot });\n\t\t\tconst name = oauthProviderLabel(provider);\n\n\t\t\tif (Option.isSome(server)) {\n\t\t\t\tyield* assertServerScope(authFile);\n\t\t\t\treturn yield* withServer(\n\t\t\t\t\tserver.value,\n\t\t\t\t\tEffect.gen(function* () {\n\t\t\t\t\t\tconst rpc = yield* Client.make;\n\t\t\t\t\t\tconst info = yield* rpc[\"auth.status\"]({ provider });\n\t\t\t\t\t\tif (info === null) {\n\t\t\t\t\t\t\treturn yield* new OAuthError({ message: oauthNotice(\"missing\", provider, \"the server\") });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tyield* writeOut(formatOAuthSummary(info, { json }));\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst ops = yield* localOps(provider, authFile);\n\t\t\tconst summary = yield* attempt(`failed to read ${name} credentials`, () => ops.stored());\n\t\t\tif (summary === undefined) {\n\t\t\t\treturn yield* new OAuthError({ message: oauthNotice(\"missing\", provider, ops.path) });\n\t\t\t}\n\t\t\tyield* writeOut(formatOAuthSummary(summary, { json }));\n\t\t});\n\n\t\treturn yield* program.pipe(Effect.catch(reportFailure));\n\t}),\n);\n"],"mappings":";;;;;;AAgBA,IAAA,iBAAeA,QACd,IAAI,SAAS,KAAK,SAAS,QAC3B,OAAO,GAAG,iBAAiB,CAAC,CAAC,WAAW,EAAE,QAAQ,aAAa,eAAe,UAAU,QAAQ;CA4B/F,OAAO,OA3BS,OAAO,IAAI,aAAa;EACvC,MAAM,WAAW,OAAO,eAAe;GAAE;GAAa;EAAc,CAAC;EACrE,MAAM,OAAO,mBAAmB,QAAQ;EAExC,IAAI,OAAO,OAAO,MAAM,GAAG;GAC1B,OAAO,kBAAkB,QAAQ;GACjC,OAAO,OAAO,WACb,OAAO,OACP,OAAO,IAAI,aAAa;IAEvB,MAAM,OAAO,QAAO,OADDC,KAAAA,CACK,cAAc,CAAC,EAAE,SAAS,CAAC;IACnD,IAAI,SAAS,MACZ,OAAO,OAAO,IAAI,WAAW,EAAE,SAAS,YAAY,WAAW,UAAU,YAAY,EAAE,CAAC;IAEzF,OAAO,SAAS,mBAAmB,MAAM,EAAE,KAAK,CAAC,CAAC;GACnD,CAAC,CACF;EACD;EAEA,MAAM,MAAM,OAAO,SAAS,UAAU,QAAQ;EAC9C,MAAM,UAAU,OAAO,QAAQ,kBAAkB,KAAK,qBAAqB,IAAI,OAAO,CAAC;EACvF,IAAI,YAAY,KAAA,GACf,OAAO,OAAO,IAAI,WAAW,EAAE,SAAS,YAAY,WAAW,UAAU,IAAI,IAAI,EAAE,CAAC;EAErF,OAAO,SAAS,mBAAmB,SAAS,EAAE,KAAK,CAAC,CAAC;CACtD,CAEoB,CAAC,CAAC,KAAK,OAAO,MAAM,aAAa,CAAC;AACvD,CAAC,CACF"}
@@ -0,0 +1,538 @@
1
+ import { Ct as __commonJSMin, Et as __require } from "./error-BrbT9_4g.mjs";
2
+ import { t as require_valid } from "./valid-BWgW_TUl.mjs";
3
+ //#region ../../node_modules/.pnpm/abbrev@5.0.0/node_modules/abbrev/lib/index.js
4
+ var require_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
5
+ module.exports = abbrev;
6
+ function abbrev(...args) {
7
+ let list = args;
8
+ if (args.length === 1 && (Array.isArray(args[0]) || typeof args[0] === "string")) list = [].concat(args[0]);
9
+ for (let i = 0, l = list.length; i < l; i++) list[i] = typeof list[i] === "string" ? list[i] : String(list[i]);
10
+ list = list.sort(lexSort);
11
+ const abbrevs = {};
12
+ let prev = "";
13
+ for (let ii = 0, ll = list.length; ii < ll; ii++) {
14
+ const current = list[ii];
15
+ const next = list[ii + 1] || "";
16
+ let nextMatches = true;
17
+ let prevMatches = true;
18
+ if (current === next) continue;
19
+ let j = 0;
20
+ const cl = current.length;
21
+ for (; j < cl; j++) {
22
+ const curChar = current.charAt(j);
23
+ nextMatches = nextMatches && curChar === next.charAt(j);
24
+ prevMatches = prevMatches && curChar === prev.charAt(j);
25
+ if (!nextMatches && !prevMatches) {
26
+ j++;
27
+ break;
28
+ }
29
+ }
30
+ prev = current;
31
+ if (j === cl) {
32
+ abbrevs[current] = current;
33
+ continue;
34
+ }
35
+ for (let a = current.slice(0, j); j <= cl; j++) {
36
+ abbrevs[a] = current;
37
+ a += current.charAt(j);
38
+ }
39
+ }
40
+ return abbrevs;
41
+ }
42
+ function lexSort(a, b) {
43
+ return a === b ? 0 : a > b ? 1 : -1;
44
+ }
45
+ }));
46
+ //#endregion
47
+ //#region ../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/type-defs.js
48
+ var require_type_defs$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
49
+ const os = __require("node:os");
50
+ const path = __require("node:path");
51
+ const { Stream } = __require("node:stream");
52
+ const { URL } = __require("node:url");
53
+ function validateString(data, k, val) {
54
+ data[k] = String(val);
55
+ }
56
+ function validatePath(data, k, val) {
57
+ if (val === true) return false;
58
+ if (val === null) return true;
59
+ val = String(val);
60
+ const homePattern = process.platform === "win32" ? /^~(\/|\\)/ : /^~\//;
61
+ const home = os.homedir();
62
+ if (home && val.match(homePattern)) data[k] = path.resolve(home, val.slice(2));
63
+ else data[k] = path.resolve(val);
64
+ return true;
65
+ }
66
+ function validateNumber(data, k, val) {
67
+ if (isNaN(val)) return false;
68
+ data[k] = +val;
69
+ }
70
+ function validateDate(data, k, val) {
71
+ if (isNaN(Date.parse(val))) return false;
72
+ data[k] = new Date(val);
73
+ }
74
+ function validateBoolean(data, k, val) {
75
+ if (typeof val === "string") {
76
+ if (!isNaN(val)) val = !!+val;
77
+ else if (val === "null" || val === "false") val = false;
78
+ else val = true;
79
+ } else val = !!val;
80
+ data[k] = val;
81
+ }
82
+ function validateUrl(data, k, val) {
83
+ const parsed = URL.parse(String(val));
84
+ if (!parsed) return false;
85
+ data[k] = parsed.href;
86
+ }
87
+ function validateStream(data, k, val) {
88
+ if (!(val instanceof Stream)) return false;
89
+ data[k] = val;
90
+ }
91
+ module.exports = {
92
+ String: {
93
+ type: String,
94
+ validate: validateString
95
+ },
96
+ Boolean: {
97
+ type: Boolean,
98
+ validate: validateBoolean
99
+ },
100
+ url: {
101
+ type: URL,
102
+ validate: validateUrl
103
+ },
104
+ Number: {
105
+ type: Number,
106
+ validate: validateNumber
107
+ },
108
+ path: {
109
+ type: path,
110
+ validate: validatePath
111
+ },
112
+ Stream: {
113
+ type: Stream,
114
+ validate: validateStream
115
+ },
116
+ Date: {
117
+ type: Date,
118
+ validate: validateDate
119
+ },
120
+ Array: { type: Array }
121
+ };
122
+ }));
123
+ //#endregion
124
+ //#region ../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/nopt-lib.js
125
+ var require_nopt_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
126
+ const abbrev = require_lib();
127
+ const defaultTypeDefs = require_type_defs$1();
128
+ const hasOwn = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
129
+ const getType = (k, { types, dynamicTypes }) => {
130
+ let hasType = hasOwn(types, k);
131
+ let type = types[k];
132
+ if (!hasType && typeof dynamicTypes === "function") {
133
+ const matchedType = dynamicTypes(k);
134
+ if (matchedType !== void 0) {
135
+ type = matchedType;
136
+ hasType = true;
137
+ }
138
+ }
139
+ return [hasType, type];
140
+ };
141
+ const isTypeDef = (type, def) => def && type === def;
142
+ const hasTypeDef = (type, def) => def && type.indexOf(def) !== -1;
143
+ const doesNotHaveTypeDef = (type, def) => def && !hasTypeDef(type, def);
144
+ function nopt(args, { types, shorthands, typeDefs, invalidHandler, unknownHandler, abbrevHandler, typeDefault, dynamicTypes } = {}) {
145
+ const data = {};
146
+ const argv = {
147
+ remain: [],
148
+ cooked: args,
149
+ original: args.slice(0)
150
+ };
151
+ parse(args, data, argv.remain, {
152
+ typeDefs,
153
+ types,
154
+ dynamicTypes,
155
+ shorthands,
156
+ unknownHandler,
157
+ abbrevHandler
158
+ });
159
+ clean(data, {
160
+ types,
161
+ dynamicTypes,
162
+ typeDefs,
163
+ invalidHandler,
164
+ typeDefault
165
+ });
166
+ data.argv = argv;
167
+ Object.defineProperty(data.argv, "toString", {
168
+ value: function() {
169
+ return this.original.map(JSON.stringify).join(" ");
170
+ },
171
+ enumerable: false
172
+ });
173
+ return data;
174
+ }
175
+ function clean(data, { types = {}, typeDefs = {}, dynamicTypes, invalidHandler, typeDefault } = {}) {
176
+ const StringType = typeDefs.String?.type;
177
+ const NumberType = typeDefs.Number?.type;
178
+ const ArrayType = typeDefs.Array?.type;
179
+ const BooleanType = typeDefs.Boolean?.type;
180
+ const DateType = typeDefs.Date?.type;
181
+ const hasTypeDefault = typeof typeDefault !== "undefined";
182
+ if (!hasTypeDefault) {
183
+ typeDefault = [
184
+ false,
185
+ true,
186
+ null
187
+ ];
188
+ if (StringType) typeDefault.push(StringType);
189
+ if (ArrayType) typeDefault.push(ArrayType);
190
+ }
191
+ const remove = {};
192
+ Object.keys(data).forEach((k) => {
193
+ if (k === "argv") return;
194
+ let val = data[k];
195
+ const isArray = Array.isArray(val);
196
+ let [hasType, rawType] = getType(k, {
197
+ types,
198
+ dynamicTypes
199
+ });
200
+ let type = rawType;
201
+ if (!isArray) val = [val];
202
+ if (!type) type = typeDefault;
203
+ if (isTypeDef(type, ArrayType)) type = typeDefault.concat(ArrayType);
204
+ if (!Array.isArray(type)) type = [type];
205
+ val = val.map((v) => {
206
+ if (typeof v === "string") {
207
+ v = v.trim();
208
+ if (v === "null" && ~type.indexOf(null) || v === "true" && (~type.indexOf(true) || hasTypeDef(type, BooleanType)) || v === "false" && (~type.indexOf(false) || hasTypeDef(type, BooleanType))) v = JSON.parse(v);
209
+ else if (hasTypeDef(type, NumberType) && !isNaN(v)) v = +v;
210
+ else if (hasTypeDef(type, DateType) && !isNaN(Date.parse(v))) v = new Date(v);
211
+ }
212
+ if (!hasType) {
213
+ if (!hasTypeDefault) return v;
214
+ rawType = typeDefault;
215
+ }
216
+ if (v === false && ~type.indexOf(null) && !(~type.indexOf(false) || hasTypeDef(type, BooleanType))) v = null;
217
+ const d = {};
218
+ d[k] = v;
219
+ if (!validate(d, k, v, rawType, { typeDefs })) {
220
+ if (invalidHandler) invalidHandler(k, v, rawType, data);
221
+ return remove;
222
+ }
223
+ return d[k];
224
+ }).filter((v) => v !== remove);
225
+ if (!val.length && doesNotHaveTypeDef(type, ArrayType)) delete data[k];
226
+ else if (isArray) data[k] = val;
227
+ else data[k] = val[0];
228
+ });
229
+ }
230
+ function validate(data, k, val, type, { typeDefs } = {}) {
231
+ const ArrayType = typeDefs?.Array?.type;
232
+ if (Array.isArray(type)) {
233
+ for (let i = 0, l = type.length; i < l; i++) {
234
+ if (isTypeDef(type[i], ArrayType)) continue;
235
+ if (validate(data, k, val, type[i], { typeDefs })) return true;
236
+ }
237
+ delete data[k];
238
+ return false;
239
+ }
240
+ if (isTypeDef(type, ArrayType)) return true;
241
+ if (type !== type) {
242
+ delete data[k];
243
+ return false;
244
+ }
245
+ if (val === type) {
246
+ data[k] = val;
247
+ return true;
248
+ }
249
+ let ok = false;
250
+ const types = Object.keys(typeDefs);
251
+ for (let i = 0, l = types.length; i < l; i++) {
252
+ const t = typeDefs[types[i]];
253
+ if (t && (type && type.name && t.type && t.type.name ? type.name === t.type.name : type === t.type)) {
254
+ const d = {};
255
+ ok = t.validate(d, k, val) !== false;
256
+ val = d[k];
257
+ if (ok) {
258
+ data[k] = val;
259
+ break;
260
+ }
261
+ }
262
+ }
263
+ if (!ok) delete data[k];
264
+ return ok;
265
+ }
266
+ function parse(args, data, remain, { types = {}, typeDefs = {}, shorthands = {}, dynamicTypes, unknownHandler, abbrevHandler } = {}) {
267
+ const StringType = typeDefs.String?.type;
268
+ const NumberType = typeDefs.Number?.type;
269
+ const ArrayType = typeDefs.Array?.type;
270
+ const BooleanType = typeDefs.Boolean?.type;
271
+ const abbrevs = abbrev(Object.keys(types));
272
+ const shortAbbr = abbrev(Object.keys(shorthands));
273
+ for (let i = 0; i < args.length; i++) {
274
+ let arg = args[i];
275
+ if (arg.match(/^-{2,}$/)) {
276
+ remain.push.apply(remain, args.slice(i + 1));
277
+ args[i] = "--";
278
+ break;
279
+ }
280
+ let hadEq = false;
281
+ if (arg.charAt(0) === "-" && arg.length > 1) {
282
+ const at = arg.indexOf("=");
283
+ if (at > -1) {
284
+ hadEq = true;
285
+ const v = arg.slice(at + 1);
286
+ arg = arg.slice(0, at);
287
+ args.splice(i, 1, arg, v);
288
+ }
289
+ const shRes = resolveShort(arg, shortAbbr, abbrevs, {
290
+ shorthands,
291
+ abbrevHandler
292
+ });
293
+ if (shRes) {
294
+ args.splice.apply(args, [i, 1].concat(shRes));
295
+ if (arg !== shRes[0]) {
296
+ i--;
297
+ continue;
298
+ }
299
+ }
300
+ arg = arg.replace(/^-+/, "");
301
+ let no = null;
302
+ while (arg.toLowerCase().indexOf("no-") === 0) {
303
+ no = !no;
304
+ arg = arg.slice(3);
305
+ }
306
+ if (abbrevs[arg] && abbrevs[arg] !== arg) {
307
+ if (abbrevHandler) abbrevHandler(arg, abbrevs[arg]);
308
+ arg = abbrevs[arg];
309
+ }
310
+ let [hasType, argType] = getType(arg, {
311
+ types,
312
+ dynamicTypes
313
+ });
314
+ let isTypeArray = Array.isArray(argType);
315
+ if (isTypeArray && argType.length === 1) {
316
+ isTypeArray = false;
317
+ argType = argType[0];
318
+ }
319
+ let isArray = isTypeDef(argType, ArrayType) || isTypeArray && hasTypeDef(argType, ArrayType);
320
+ if (!hasType && hasOwn(data, arg)) {
321
+ if (!Array.isArray(data[arg])) data[arg] = [data[arg]];
322
+ isArray = true;
323
+ }
324
+ let val;
325
+ let la = args[i + 1];
326
+ const isBool = typeof no === "boolean" || isTypeDef(argType, BooleanType) || isTypeArray && hasTypeDef(argType, BooleanType) || typeof argType === "undefined" && !hadEq || la === "false" && (argType === null || isTypeArray && ~argType.indexOf(null));
327
+ if (typeof argType === "undefined") {
328
+ const hangingLa = !hadEq && la && !la?.startsWith("-") && !["true", "false"].includes(la);
329
+ if (unknownHandler) {
330
+ if (hangingLa) unknownHandler(arg, la);
331
+ else unknownHandler(arg);
332
+ }
333
+ }
334
+ if (isBool) {
335
+ val = !no;
336
+ if (la === "true" || la === "false") {
337
+ val = JSON.parse(la);
338
+ la = null;
339
+ if (no) val = !val;
340
+ i++;
341
+ }
342
+ if (isTypeArray && la) {
343
+ if (~argType.indexOf(la)) {
344
+ val = la;
345
+ i++;
346
+ } else if (la === "null" && ~argType.indexOf(null)) {
347
+ val = null;
348
+ i++;
349
+ } else if (!la.match(/^-{2,}[^-]/) && !isNaN(la) && hasTypeDef(argType, NumberType)) {
350
+ val = +la;
351
+ i++;
352
+ } else if (!la.match(/^-[^-]/) && hasTypeDef(argType, StringType)) {
353
+ val = la;
354
+ i++;
355
+ }
356
+ }
357
+ if (isArray) (data[arg] = data[arg] || []).push(val);
358
+ else data[arg] = val;
359
+ continue;
360
+ }
361
+ if (isTypeDef(argType, StringType)) {
362
+ if (la === void 0) la = "";
363
+ else if (la.match(/^-{1,2}[^-]+/)) {
364
+ la = "";
365
+ i--;
366
+ }
367
+ }
368
+ if (la && la.match(/^-{2,}$/)) {
369
+ la = void 0;
370
+ i--;
371
+ }
372
+ val = la === void 0 ? true : la;
373
+ if (isArray) (data[arg] = data[arg] || []).push(val);
374
+ else data[arg] = val;
375
+ i++;
376
+ continue;
377
+ }
378
+ remain.push(arg);
379
+ }
380
+ }
381
+ const SINGLES = Symbol("singles");
382
+ const singleCharacters = (arg, shorthands) => {
383
+ let singles = shorthands[SINGLES];
384
+ if (!singles) {
385
+ singles = Object.keys(shorthands).filter((s) => s.length === 1).reduce((l, r) => {
386
+ l[r] = true;
387
+ return l;
388
+ }, {});
389
+ shorthands[SINGLES] = singles;
390
+ }
391
+ const chrs = arg.split("").filter((c) => singles[c]);
392
+ return chrs.join("") === arg ? chrs : null;
393
+ };
394
+ function resolveShort(arg, ...rest) {
395
+ const { abbrevHandler, types = {}, shorthands = {} } = rest.length ? rest.pop() : {};
396
+ const shortAbbr = rest[0] ?? abbrev(Object.keys(shorthands));
397
+ const abbrevs = rest[1] ?? abbrev(Object.keys(types));
398
+ arg = arg.replace(/^-+/, "");
399
+ if (abbrevs[arg] === arg) return null;
400
+ if (shorthands[arg]) {
401
+ if (shorthands[arg] && !Array.isArray(shorthands[arg])) shorthands[arg] = shorthands[arg].split(/\s+/);
402
+ return shorthands[arg];
403
+ }
404
+ const chrs = singleCharacters(arg, shorthands);
405
+ if (chrs) return chrs.map((c) => shorthands[c]).reduce((l, r) => l.concat(r), []);
406
+ if (abbrevs[arg] && !shorthands[arg]) return null;
407
+ if (shortAbbr[arg]) {
408
+ if (abbrevHandler) abbrevHandler(arg, shortAbbr[arg]);
409
+ arg = shortAbbr[arg];
410
+ }
411
+ if (shorthands[arg] && !Array.isArray(shorthands[arg])) shorthands[arg] = shorthands[arg].split(/\s+/);
412
+ return shorthands[arg];
413
+ }
414
+ module.exports = {
415
+ nopt,
416
+ clean,
417
+ parse,
418
+ validate,
419
+ resolveShort,
420
+ typeDefs: defaultTypeDefs
421
+ };
422
+ }));
423
+ //#endregion
424
+ //#region ../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/nopt.js
425
+ var require_nopt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
426
+ const lib = require_nopt_lib();
427
+ const defaultTypeDefs = require_type_defs$1();
428
+ module.exports = exports = nopt;
429
+ exports.clean = clean;
430
+ exports.typeDefs = defaultTypeDefs;
431
+ exports.lib = lib;
432
+ function nopt(types, shorthands, args = process.argv, slice = 2) {
433
+ return lib.nopt(args.slice(slice), {
434
+ types: types || {},
435
+ shorthands: shorthands || {},
436
+ typeDefs: exports.typeDefs,
437
+ invalidHandler: exports.invalidHandler,
438
+ unknownHandler: exports.unknownHandler,
439
+ abbrevHandler: exports.abbrevHandler
440
+ });
441
+ }
442
+ function clean(data, types, typeDefs = exports.typeDefs) {
443
+ return lib.clean(data, {
444
+ types: types || {},
445
+ typeDefs,
446
+ invalidHandler: exports.invalidHandler,
447
+ unknownHandler: exports.unknownHandler,
448
+ abbrevHandler: exports.abbrevHandler
449
+ });
450
+ }
451
+ }));
452
+ //#endregion
453
+ //#region ../../node_modules/.pnpm/@npmcli+config@11.0.1/node_modules/@npmcli/config/lib/umask.js
454
+ var require_umask = /* @__PURE__ */ __commonJSMin(((exports, module) => {
455
+ const parse = (val) => {
456
+ // istanbul ignore else
457
+ if (typeof val === "string") {
458
+ if (/^0o?[0-7]+$/.test(val)) return parseInt(val.replace(/^0o?/, ""), 8);
459
+ else if (/^[1-9][0-9]*$/.test(val)) return parseInt(val, 10);
460
+ else throw new Error(`invalid umask value: ${val}`);
461
+ } else {
462
+ if (typeof val !== "number") throw new Error(`invalid umask value: ${val}`);
463
+ val = Math.floor(val);
464
+ if (val < 0 || val > 511) throw new Error(`invalid umask value: ${val}`);
465
+ return val;
466
+ }
467
+ };
468
+ const validate = (data, k, val) => {
469
+ try {
470
+ data[k] = parse(val);
471
+ return true;
472
+ } catch (er) {
473
+ return false;
474
+ }
475
+ };
476
+ module.exports = {
477
+ parse,
478
+ validate
479
+ };
480
+ }));
481
+ //#endregion
482
+ //#region ../../node_modules/.pnpm/@npmcli+config@11.0.1/node_modules/@npmcli/config/lib/type-defs.js
483
+ var require_type_defs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
484
+ const nopt = require_nopt();
485
+ const { validate: validateUmask } = require_umask();
486
+ var Umask = class {};
487
+ var Semver = class {};
488
+ const semverValid = require_valid();
489
+ const validateSemver = (data, k, val) => {
490
+ const valid = semverValid(val);
491
+ if (!valid) return false;
492
+ data[k] = valid;
493
+ };
494
+ const noptValidatePath = nopt.typeDefs.path.validate;
495
+ const validatePath = (data, k, val) => {
496
+ if (typeof val !== "string") return false;
497
+ return noptValidatePath(data, k, val);
498
+ };
499
+ module.exports = {
500
+ ...nopt.typeDefs,
501
+ semver: {
502
+ type: Semver,
503
+ validate: validateSemver,
504
+ description: "full valid SemVer string"
505
+ },
506
+ Umask: {
507
+ type: Umask,
508
+ validate: validateUmask,
509
+ description: "octal number in range 0o000..0o777 (0..511)"
510
+ },
511
+ url: {
512
+ ...nopt.typeDefs.url,
513
+ description: "full url with \"http://\""
514
+ },
515
+ path: {
516
+ ...nopt.typeDefs.path,
517
+ validate: validatePath,
518
+ description: "valid filesystem path"
519
+ },
520
+ Number: {
521
+ ...nopt.typeDefs.Number,
522
+ description: "numeric value"
523
+ },
524
+ Boolean: {
525
+ ...nopt.typeDefs.Boolean,
526
+ description: "boolean value (true or false)"
527
+ },
528
+ Date: {
529
+ ...nopt.typeDefs.Date,
530
+ description: "valid Date string"
531
+ }
532
+ };
533
+ nopt.typeDefs = module.exports;
534
+ }));
535
+ //#endregion
536
+ export { require_umask as n, require_nopt as r, require_type_defs as t };
537
+
538
+ //# sourceMappingURL=type-defs-BZxrtlVD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-defs-BZxrtlVD.mjs","names":[],"sources":["../../../../node_modules/.pnpm/abbrev@5.0.0/node_modules/abbrev/lib/index.js","../../../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/type-defs.js","../../../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/nopt-lib.js","../../../../node_modules/.pnpm/nopt@10.0.1/node_modules/nopt/lib/nopt.js","../../../../node_modules/.pnpm/@npmcli+config@11.0.1/node_modules/@npmcli/config/lib/umask.js","../../../../node_modules/.pnpm/@npmcli+config@11.0.1/node_modules/@npmcli/config/lib/type-defs.js"],"sourcesContent":["module.exports = abbrev\n\nfunction abbrev (...args) {\n let list = args\n if (args.length === 1 && (Array.isArray(args[0]) || typeof args[0] === 'string')) {\n list = [].concat(args[0])\n }\n\n for (let i = 0, l = list.length; i < l; i++) {\n list[i] = typeof list[i] === 'string' ? list[i] : String(list[i])\n }\n\n // sort them lexicographically, so that they're next to their nearest kin\n list = list.sort(lexSort)\n\n // walk through each, seeing how much it has in common with the next and previous\n const abbrevs = {}\n let prev = ''\n for (let ii = 0, ll = list.length; ii < ll; ii++) {\n const current = list[ii]\n const next = list[ii + 1] || ''\n let nextMatches = true\n let prevMatches = true\n if (current === next) {\n continue\n }\n let j = 0\n const cl = current.length\n for (; j < cl; j++) {\n const curChar = current.charAt(j)\n nextMatches = nextMatches && curChar === next.charAt(j)\n prevMatches = prevMatches && curChar === prev.charAt(j)\n if (!nextMatches && !prevMatches) {\n j++\n break\n }\n }\n prev = current\n if (j === cl) {\n abbrevs[current] = current\n continue\n }\n for (let a = current.slice(0, j); j <= cl; j++) {\n abbrevs[a] = current\n a += current.charAt(j)\n }\n }\n return abbrevs\n}\n\nfunction lexSort (a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n","const os = require('node:os')\nconst path = require('node:path')\nconst { Stream } = require('node:stream')\nconst { URL } = require('node:url')\n\nfunction validateString (data, k, val) {\n data[k] = String(val)\n}\n\nfunction validatePath (data, k, val) {\n if (val === true) {\n return false\n }\n if (val === null) {\n return true\n }\n\n val = String(val)\n\n const isWin = process.platform === 'win32'\n const homePattern = isWin ? /^~(\\/|\\\\)/ : /^~\\//\n const home = os.homedir()\n\n if (home && val.match(homePattern)) {\n data[k] = path.resolve(home, val.slice(2))\n } else {\n data[k] = path.resolve(val)\n }\n return true\n}\n\nfunction validateNumber (data, k, val) {\n if (isNaN(val)) {\n return false\n }\n data[k] = +val\n}\n\nfunction validateDate (data, k, val) {\n const s = Date.parse(val)\n if (isNaN(s)) {\n return false\n }\n data[k] = new Date(val)\n}\n\nfunction validateBoolean (data, k, val) {\n if (typeof val === 'string') {\n if (!isNaN(val)) {\n val = !!(+val)\n } else if (val === 'null' || val === 'false') {\n val = false\n } else {\n val = true\n }\n } else {\n val = !!val\n }\n data[k] = val\n}\n\nfunction validateUrl (data, k, val) {\n const parsed = URL.parse(String(val))\n if (!parsed) {\n return false\n }\n data[k] = parsed.href\n}\n\nfunction validateStream (data, k, val) {\n if (!(val instanceof Stream)) {\n return false\n }\n data[k] = val\n}\n\nmodule.exports = {\n String: { type: String, validate: validateString },\n Boolean: { type: Boolean, validate: validateBoolean },\n url: { type: URL, validate: validateUrl },\n Number: { type: Number, validate: validateNumber },\n path: { type: path, validate: validatePath },\n Stream: { type: Stream, validate: validateStream },\n Date: { type: Date, validate: validateDate },\n Array: { type: Array },\n}\n","const abbrev = require('abbrev')\nconst defaultTypeDefs = require('./type-defs')\n\nconst hasOwn = (o, k) => Object.prototype.hasOwnProperty.call(o, k)\n\nconst getType = (k, { types, dynamicTypes }) => {\n let hasType = hasOwn(types, k)\n let type = types[k]\n if (!hasType && typeof dynamicTypes === 'function') {\n const matchedType = dynamicTypes(k)\n if (matchedType !== undefined) {\n type = matchedType\n hasType = true\n }\n }\n return [hasType, type]\n}\n\nconst isTypeDef = (type, def) => def && type === def\nconst hasTypeDef = (type, def) => def && type.indexOf(def) !== -1\nconst doesNotHaveTypeDef = (type, def) => def && !hasTypeDef(type, def)\n\nfunction nopt (args, {\n types,\n shorthands,\n typeDefs,\n invalidHandler, // opt is configured but its value does not validate against given type\n unknownHandler, // opt is not configured\n abbrevHandler, // opt is being expanded via abbrev\n typeDefault,\n dynamicTypes,\n} = {}) {\n const data = {}\n const argv = {\n remain: [],\n cooked: args,\n original: args.slice(0),\n }\n\n parse(args, data, argv.remain, {\n typeDefs, types, dynamicTypes, shorthands, unknownHandler, abbrevHandler,\n })\n\n // now data is full\n clean(data, { types, dynamicTypes, typeDefs, invalidHandler, typeDefault })\n data.argv = argv\n\n Object.defineProperty(data.argv, 'toString', {\n value: function () {\n return this.original.map(JSON.stringify).join(' ')\n },\n enumerable: false,\n })\n\n return data\n}\n\nfunction clean (data, {\n types = {},\n typeDefs = {},\n dynamicTypes,\n invalidHandler,\n typeDefault,\n} = {}) {\n const StringType = typeDefs.String?.type\n const NumberType = typeDefs.Number?.type\n const ArrayType = typeDefs.Array?.type\n const BooleanType = typeDefs.Boolean?.type\n const DateType = typeDefs.Date?.type\n\n const hasTypeDefault = typeof typeDefault !== 'undefined'\n if (!hasTypeDefault) {\n typeDefault = [false, true, null]\n if (StringType) {\n typeDefault.push(StringType)\n }\n if (ArrayType) {\n typeDefault.push(ArrayType)\n }\n }\n\n const remove = {}\n\n Object.keys(data).forEach((k) => {\n if (k === 'argv') {\n return\n }\n let val = data[k]\n const isArray = Array.isArray(val)\n let [hasType, rawType] = getType(k, { types, dynamicTypes })\n let type = rawType\n if (!isArray) {\n val = [val]\n }\n if (!type) {\n type = typeDefault\n }\n if (isTypeDef(type, ArrayType)) {\n type = typeDefault.concat(ArrayType)\n }\n if (!Array.isArray(type)) {\n type = [type]\n }\n\n val = val.map((v) => {\n // if it's an unknown value, then parse false/true/null/numbers/dates\n if (typeof v === 'string') {\n v = v.trim()\n if ((v === 'null' && ~type.indexOf(null))\n || (v === 'true' &&\n (~type.indexOf(true) || hasTypeDef(type, BooleanType)))\n || (v === 'false' &&\n (~type.indexOf(false) || hasTypeDef(type, BooleanType)))) {\n v = JSON.parse(v)\n } else if (hasTypeDef(type, NumberType) && !isNaN(v)) {\n v = +v\n } else if (hasTypeDef(type, DateType) && !isNaN(Date.parse(v))) {\n v = new Date(v)\n }\n }\n\n if (!hasType) {\n if (!hasTypeDefault) {\n return v\n }\n // if the default type has been passed in then we want to validate the\n // unknown data key instead of bailing out earlier. we also set the raw\n // type which is passed to the invalid handler so that it can be\n // determined if during validation if it is unknown vs invalid\n rawType = typeDefault\n }\n\n // allow `--no-blah` to set 'blah' to null if null is allowed\n if (v === false && ~type.indexOf(null) &&\n !(~type.indexOf(false) || hasTypeDef(type, BooleanType))) {\n v = null\n }\n\n const d = {}\n d[k] = v\n if (!validate(d, k, v, rawType, { typeDefs })) {\n if (invalidHandler) {\n invalidHandler(k, v, rawType, data)\n }\n return remove\n }\n return d[k]\n }).filter((v) => v !== remove)\n\n // if we allow Array specifically, then an empty array is how we\n // express 'no value here', not null. Allow it.\n if (!val.length && doesNotHaveTypeDef(type, ArrayType)) {\n delete data[k]\n } else if (isArray) {\n data[k] = val\n } else {\n data[k] = val[0]\n }\n })\n}\n\nfunction validate (data, k, val, type, { typeDefs } = {}) {\n const ArrayType = typeDefs?.Array?.type\n // arrays are lists of types.\n if (Array.isArray(type)) {\n for (let i = 0, l = type.length; i < l; i++) {\n if (isTypeDef(type[i], ArrayType)) {\n continue\n }\n if (validate(data, k, val, type[i], { typeDefs })) {\n return true\n }\n }\n delete data[k]\n return false\n }\n\n // an array of anything?\n if (isTypeDef(type, ArrayType)) {\n return true\n }\n\n // Original comment:\n // NaN is poisonous, it means that something is not allowed.\n\n // New comment:\n // Changing this to an isNaN check breaks a lot of tests.\n // Something is being assumed here that is not actually what happens in practice.\n // Fixing it is outside the scope of getting linting to pass in this repo.\n // Leaving as-is for now.\n /* eslint-disable-next-line no-self-compare */\n if (type !== type) {\n delete data[k]\n return false\n }\n\n // explicit list of values\n if (val === type) {\n data[k] = val\n return true\n }\n\n // now go through the list of typeDefs, validate against each one.\n let ok = false\n const types = Object.keys(typeDefs)\n for (let i = 0, l = types.length; i < l; i++) {\n const t = typeDefs[types[i]]\n if (t && (\n (type && type.name && t.type && t.type.name) ?\n (type.name === t.type.name) :\n (type === t.type)\n )) {\n const d = {}\n ok = t.validate(d, k, val) !== false\n val = d[k]\n if (ok) {\n data[k] = val\n break\n }\n }\n }\n\n if (!ok) {\n delete data[k]\n }\n return ok\n}\n\nfunction parse (args, data, remain, {\n types = {},\n typeDefs = {},\n shorthands = {},\n dynamicTypes,\n unknownHandler,\n abbrevHandler,\n} = {}) {\n const StringType = typeDefs.String?.type\n const NumberType = typeDefs.Number?.type\n const ArrayType = typeDefs.Array?.type\n const BooleanType = typeDefs.Boolean?.type\n const abbrevs = abbrev(Object.keys(types))\n const shortAbbr = abbrev(Object.keys(shorthands))\n\n for (let i = 0; i < args.length; i++) {\n let arg = args[i]\n\n if (arg.match(/^-{2,}$/)) {\n // done with keys.\n // the rest are args.\n remain.push.apply(remain, args.slice(i + 1))\n args[i] = '--'\n break\n }\n let hadEq = false\n if (arg.charAt(0) === '-' && arg.length > 1) {\n const at = arg.indexOf('=')\n if (at > -1) {\n hadEq = true\n const v = arg.slice(at + 1)\n arg = arg.slice(0, at)\n args.splice(i, 1, arg, v)\n }\n\n // see if it's a shorthand\n // if so, splice and back up to re-parse it.\n const shRes = resolveShort(arg, shortAbbr, abbrevs, { shorthands, abbrevHandler })\n if (shRes) {\n args.splice.apply(args, [i, 1].concat(shRes))\n if (arg !== shRes[0]) {\n i--\n continue\n }\n }\n arg = arg.replace(/^-+/, '')\n let no = null\n while (arg.toLowerCase().indexOf('no-') === 0) {\n no = !no\n arg = arg.slice(3)\n }\n\n // abbrev includes the original full string in its abbrev list\n if (abbrevs[arg] && abbrevs[arg] !== arg) {\n if (abbrevHandler) {\n abbrevHandler(arg, abbrevs[arg])\n }\n arg = abbrevs[arg]\n }\n\n let [hasType, argType] = getType(arg, { types, dynamicTypes })\n let isTypeArray = Array.isArray(argType)\n if (isTypeArray && argType.length === 1) {\n isTypeArray = false\n argType = argType[0]\n }\n\n let isArray = isTypeDef(argType, ArrayType) ||\n isTypeArray && hasTypeDef(argType, ArrayType)\n\n // allow unknown things to be arrays if specified multiple times.\n if (!hasType && hasOwn(data, arg)) {\n if (!Array.isArray(data[arg])) {\n data[arg] = [data[arg]]\n }\n isArray = true\n }\n\n let val\n let la = args[i + 1]\n\n const isBool = typeof no === 'boolean' ||\n isTypeDef(argType, BooleanType) ||\n isTypeArray && hasTypeDef(argType, BooleanType) ||\n (typeof argType === 'undefined' && !hadEq) ||\n (la === 'false' &&\n (argType === null ||\n isTypeArray && ~argType.indexOf(null)))\n\n if (typeof argType === 'undefined') {\n // la is going to unexpectedly be parsed outside the context of this arg\n const hangingLa = !hadEq && la && !la?.startsWith('-') && !['true', 'false'].includes(la)\n if (unknownHandler) {\n if (hangingLa) {\n unknownHandler(arg, la)\n } else {\n unknownHandler(arg)\n }\n }\n }\n\n if (isBool) {\n // just set and move along\n val = !no\n // however, also support --bool true or --bool false\n if (la === 'true' || la === 'false') {\n val = JSON.parse(la)\n la = null\n if (no) {\n val = !val\n }\n i++\n }\n\n // also support \"foo\":[Boolean, \"bar\"] and \"--foo bar\"\n if (isTypeArray && la) {\n if (~argType.indexOf(la)) {\n // an explicit type\n val = la\n i++\n } else if (la === 'null' && ~argType.indexOf(null)) {\n // null allowed\n val = null\n i++\n } else if (!la.match(/^-{2,}[^-]/) &&\n !isNaN(la) &&\n hasTypeDef(argType, NumberType)) {\n // number\n val = +la\n i++\n } else if (!la.match(/^-[^-]/) && hasTypeDef(argType, StringType)) {\n // string\n val = la\n i++\n }\n }\n\n if (isArray) {\n (data[arg] = data[arg] || []).push(val)\n } else {\n data[arg] = val\n }\n\n continue\n }\n\n if (isTypeDef(argType, StringType)) {\n if (la === undefined) {\n la = ''\n } else if (la.match(/^-{1,2}[^-]+/)) {\n la = ''\n i--\n }\n }\n\n if (la && la.match(/^-{2,}$/)) {\n la = undefined\n i--\n }\n\n val = la === undefined ? true : la\n if (isArray) {\n (data[arg] = data[arg] || []).push(val)\n } else {\n data[arg] = val\n }\n\n i++\n continue\n }\n remain.push(arg)\n }\n}\n\nconst SINGLES = Symbol('singles')\nconst singleCharacters = (arg, shorthands) => {\n let singles = shorthands[SINGLES]\n if (!singles) {\n singles = Object.keys(shorthands).filter((s) => s.length === 1).reduce((l, r) => {\n l[r] = true\n return l\n }, {})\n shorthands[SINGLES] = singles\n }\n const chrs = arg.split('').filter((c) => singles[c])\n return chrs.join('') === arg ? chrs : null\n}\n\nfunction resolveShort (arg, ...rest) {\n const { abbrevHandler, types = {}, shorthands = {} } = rest.length ? rest.pop() : {}\n const shortAbbr = rest[0] ?? abbrev(Object.keys(shorthands))\n const abbrevs = rest[1] ?? abbrev(Object.keys(types))\n\n // handle single-char shorthands glommed together, like\n // npm ls -glp, but only if there is one dash, and only if\n // all of the chars are single-char shorthands, and it's\n // not a match to some other abbrev.\n arg = arg.replace(/^-+/, '')\n\n // if it's an exact known option, then don't go any further\n if (abbrevs[arg] === arg) {\n return null\n }\n\n // if it's an exact known shortopt, same deal\n if (shorthands[arg]) {\n // make it an array, if it's a list of words\n if (shorthands[arg] && !Array.isArray(shorthands[arg])) {\n shorthands[arg] = shorthands[arg].split(/\\s+/)\n }\n\n return shorthands[arg]\n }\n\n // first check to see if this arg is a set of single-char shorthands\n const chrs = singleCharacters(arg, shorthands)\n if (chrs) {\n return chrs.map((c) => shorthands[c]).reduce((l, r) => l.concat(r), [])\n }\n\n // if it's an arg abbrev, and not a literal shorthand, then prefer the arg\n if (abbrevs[arg] && !shorthands[arg]) {\n return null\n }\n\n // if it's an abbr for a shorthand, then use that\n // exact match has already happened so we don't need to account for that here\n if (shortAbbr[arg]) {\n if (abbrevHandler) {\n abbrevHandler(arg, shortAbbr[arg])\n }\n arg = shortAbbr[arg]\n }\n\n // make it an array, if it's a list of words\n if (shorthands[arg] && !Array.isArray(shorthands[arg])) {\n shorthands[arg] = shorthands[arg].split(/\\s+/)\n }\n\n return shorthands[arg]\n}\n\nmodule.exports = {\n nopt,\n clean,\n parse,\n validate,\n resolveShort,\n typeDefs: defaultTypeDefs,\n}\n","const lib = require('./nopt-lib')\nconst defaultTypeDefs = require('./type-defs')\n\n// This is the version of nopt's API that requires setting typeDefs and invalidHandler on the required `nopt` object since it is a singleton.\n// To not do a breaking change an API that requires all options be passed in is located in `nopt-lib.js` and exported here as lib.\n// TODO(breaking): make API only work in non-singleton mode\n\nmodule.exports = exports = nopt\nexports.clean = clean\nexports.typeDefs = defaultTypeDefs\nexports.lib = lib\n\nfunction nopt (types, shorthands, args = process.argv, slice = 2) {\n return lib.nopt(args.slice(slice), {\n types: types || {},\n shorthands: shorthands || {},\n typeDefs: exports.typeDefs,\n invalidHandler: exports.invalidHandler,\n unknownHandler: exports.unknownHandler,\n abbrevHandler: exports.abbrevHandler,\n })\n}\n\nfunction clean (data, types, typeDefs = exports.typeDefs) {\n return lib.clean(data, {\n types: types || {},\n typeDefs,\n invalidHandler: exports.invalidHandler,\n unknownHandler: exports.unknownHandler,\n abbrevHandler: exports.abbrevHandler,\n })\n}\n","const parse = val => {\n // this is run via nopt and parse field where everything is\n // converted to a string first, ignoring coverage for now\n // instead of figuring out what is happening under the hood in nopt\n // istanbul ignore else\n if (typeof val === 'string') {\n if (/^0o?[0-7]+$/.test(val)) {\n return parseInt(val.replace(/^0o?/, ''), 8)\n } else if (/^[1-9][0-9]*$/.test(val)) {\n return parseInt(val, 10)\n } else {\n throw new Error(`invalid umask value: ${val}`)\n }\n } else {\n if (typeof val !== 'number') {\n throw new Error(`invalid umask value: ${val}`)\n }\n val = Math.floor(val)\n if (val < 0 || val > 511) {\n throw new Error(`invalid umask value: ${val}`)\n }\n return val\n }\n}\n\nconst validate = (data, k, val) => {\n try {\n data[k] = parse(val)\n return true\n } catch (er) {\n return false\n }\n}\n\nmodule.exports = { parse, validate }\n","const nopt = require('nopt')\n\nconst { validate: validateUmask } = require('./umask.js')\n\nclass Umask {}\nclass Semver {}\nconst semverValid = require('semver/functions/valid')\nconst validateSemver = (data, k, val) => {\n const valid = semverValid(val)\n if (!valid) {\n return false\n }\n data[k] = valid\n}\n\nconst noptValidatePath = nopt.typeDefs.path.validate\nconst validatePath = (data, k, val) => {\n if (typeof val !== 'string') {\n return false\n }\n return noptValidatePath(data, k, val)\n}\n\n// add descriptions so we can validate more usefully\nmodule.exports = {\n ...nopt.typeDefs,\n semver: {\n type: Semver,\n validate: validateSemver,\n description: 'full valid SemVer string',\n },\n Umask: {\n type: Umask,\n validate: validateUmask,\n description: 'octal number in range 0o000..0o777 (0..511)',\n },\n url: {\n ...nopt.typeDefs.url,\n description: 'full url with \"http://\"',\n },\n path: {\n ...nopt.typeDefs.path,\n validate: validatePath,\n description: 'valid filesystem path',\n },\n Number: {\n ...nopt.typeDefs.Number,\n description: 'numeric value',\n },\n Boolean: {\n ...nopt.typeDefs.Boolean,\n description: 'boolean value (true or false)',\n },\n Date: {\n ...nopt.typeDefs.Date,\n description: 'valid Date string',\n },\n}\n\n// TODO: make nopt less of a global beast so this kludge isn't necessary\nnopt.typeDefs = module.exports\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}