@kodycodes/cli 1.26.1 → 1.26.3

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 (271) hide show
  1. package/dist/auth-4FW6GCLG.js +26 -0
  2. package/dist/auth-4FW6GCLG.js.map +6 -0
  3. package/dist/bin.js +27 -3
  4. package/dist/bin.js.map +6 -1
  5. package/dist/chunk-46IJPEID.js +30 -0
  6. package/dist/chunk-46IJPEID.js.map +6 -0
  7. package/dist/chunk-4D6ORNXY.js +24404 -0
  8. package/dist/chunk-4D6ORNXY.js.map +6 -0
  9. package/dist/chunk-64IM6G4Z.js +341 -0
  10. package/dist/chunk-64IM6G4Z.js.map +6 -0
  11. package/dist/{package-local-runtime-source.js → chunk-64XN367G.js} +373 -52
  12. package/dist/chunk-64XN367G.js.map +6 -0
  13. package/dist/chunk-6XQP5SWX.js +26 -0
  14. package/dist/chunk-6XQP5SWX.js.map +6 -0
  15. package/dist/chunk-75RZUXQL.js +62 -0
  16. package/dist/chunk-75RZUXQL.js.map +6 -0
  17. package/dist/chunk-BISUL7CE.js +106 -0
  18. package/dist/chunk-BISUL7CE.js.map +6 -0
  19. package/dist/chunk-BPGY4IE7.js +57 -0
  20. package/dist/chunk-BPGY4IE7.js.map +6 -0
  21. package/dist/chunk-CASGRYOF.js +21 -0
  22. package/dist/chunk-CASGRYOF.js.map +6 -0
  23. package/dist/chunk-CWWHR4FH.js +19 -0
  24. package/dist/chunk-CWWHR4FH.js.map +6 -0
  25. package/dist/chunk-D55XPY3T.js +1382 -0
  26. package/dist/chunk-D55XPY3T.js.map +6 -0
  27. package/dist/chunk-EOCV74B2.js +948 -0
  28. package/dist/chunk-EOCV74B2.js.map +6 -0
  29. package/dist/chunk-FBVNFWR6.js +437 -0
  30. package/dist/chunk-FBVNFWR6.js.map +6 -0
  31. package/dist/chunk-G4YN6XP5.js +14 -0
  32. package/dist/chunk-G4YN6XP5.js.map +6 -0
  33. package/dist/chunk-G6LJWROP.js +18 -0
  34. package/dist/chunk-G6LJWROP.js.map +6 -0
  35. package/dist/chunk-IHP6PV6X.js +49 -0
  36. package/dist/chunk-IHP6PV6X.js.map +6 -0
  37. package/dist/chunk-JWEFKKAD.js +24 -0
  38. package/dist/chunk-JWEFKKAD.js.map +6 -0
  39. package/dist/chunk-LWNB26KO.js +147 -0
  40. package/dist/chunk-LWNB26KO.js.map +6 -0
  41. package/dist/chunk-OVGXPRSY.js +20 -0
  42. package/dist/chunk-OVGXPRSY.js.map +6 -0
  43. package/dist/chunk-PDWCKWQF.js +453 -0
  44. package/dist/chunk-PDWCKWQF.js.map +6 -0
  45. package/dist/chunk-QHBCP4OB.js +44 -0
  46. package/dist/chunk-QHBCP4OB.js.map +6 -0
  47. package/dist/chunk-R4IUV5P5.js +664 -0
  48. package/dist/chunk-R4IUV5P5.js.map +6 -0
  49. package/dist/chunk-RM34N3KI.js +525 -0
  50. package/dist/chunk-RM34N3KI.js.map +6 -0
  51. package/dist/chunk-RTWUNV76.js +309 -0
  52. package/dist/chunk-RTWUNV76.js.map +6 -0
  53. package/dist/chunk-SMURF26I.js +23 -0
  54. package/dist/chunk-SMURF26I.js.map +6 -0
  55. package/dist/chunk-SXHULGL4.js +426 -0
  56. package/dist/chunk-SXHULGL4.js.map +6 -0
  57. package/dist/chunk-TIL35OWA.js +1959 -0
  58. package/dist/chunk-TIL35OWA.js.map +6 -0
  59. package/dist/chunk-VQS5YSCI.js +54 -0
  60. package/dist/chunk-VQS5YSCI.js.map +6 -0
  61. package/dist/chunk-XDCOWU5R.js +696 -0
  62. package/dist/chunk-XDCOWU5R.js.map +6 -0
  63. package/dist/chunk-XOPPGRUP.js +605 -0
  64. package/dist/chunk-XOPPGRUP.js.map +6 -0
  65. package/dist/cli.js +74 -1500
  66. package/dist/cli.js.map +6 -1
  67. package/dist/dev/dev-watcher.d.ts +5 -1
  68. package/dist/dev-command-3LX234N6.js +4900 -0
  69. package/dist/dev-command-3LX234N6.js.map +6 -0
  70. package/dist/git-credential-FUE3JE3T.js +163 -0
  71. package/dist/git-credential-FUE3JE3T.js.map +6 -0
  72. package/dist/install-ZML2TCDG.js +10694 -0
  73. package/dist/install-ZML2TCDG.js.map +6 -0
  74. package/dist/local-execute-SZV6XN4T.js +368 -0
  75. package/dist/local-execute-SZV6XN4T.js.map +6 -0
  76. package/dist/local-package-run-2TMCAZZ2.js +23 -0
  77. package/dist/local-package-run-2TMCAZZ2.js.map +6 -0
  78. package/dist/mcp-G2AWTIXR.js +21 -0
  79. package/dist/mcp-G2AWTIXR.js.map +6 -0
  80. package/dist/mock-dep-resolve-TVABDNR7.js +52 -0
  81. package/dist/mock-dep-resolve-TVABDNR7.js.map +6 -0
  82. package/dist/mock-fetch-gateway-B5TFGGQS.js +34 -0
  83. package/dist/mock-fetch-gateway-B5TFGGQS.js.map +6 -0
  84. package/dist/mock-local-deps-5SZT3PWT.js +197 -0
  85. package/dist/mock-local-deps-5SZT3PWT.js.map +6 -0
  86. package/dist/mock-server-SV2IKC4I.js +21 -0
  87. package/dist/mock-server-SV2IKC4I.js.map +6 -0
  88. package/dist/open-api-client-DVVMLY7P.js +42 -0
  89. package/dist/open-api-client-DVVMLY7P.js.map +6 -0
  90. package/dist/org-X7B5BI4R.js +132 -0
  91. package/dist/org-X7B5BI4R.js.map +6 -0
  92. package/dist/package-manifest-QH2RU64C.js +14 -0
  93. package/dist/package-manifest-QH2RU64C.js.map +6 -0
  94. package/dist/remote-execute-QMQDVHOY.js +110 -0
  95. package/dist/remote-execute-QMQDVHOY.js.map +6 -0
  96. package/dist/setup-git-5KCUBYPB.js +88 -0
  97. package/dist/setup-git-5KCUBYPB.js.map +6 -0
  98. package/dist/skill-ENPATRIW.js +43 -0
  99. package/dist/skill-ENPATRIW.js.map +6 -0
  100. package/dist/store-WTMRH527.js +48 -0
  101. package/dist/store-WTMRH527.js.map +6 -0
  102. package/dist/structured-error-C65GQ53Z.js +13 -0
  103. package/dist/structured-error-C65GQ53Z.js.map +6 -0
  104. package/dist/target-3QHY7JT4.js +45 -0
  105. package/dist/target-3QHY7JT4.js.map +6 -0
  106. package/dist/webapi-NTVP4BO3.js +2482 -0
  107. package/dist/webapi-NTVP4BO3.js.map +6 -0
  108. package/package.json +8 -8
  109. package/dist/add-mcp-install.js +0 -59
  110. package/dist/add-mcp-install.js.map +0 -1
  111. package/dist/api-token-store.js +0 -120
  112. package/dist/api-token-store.js.map +0 -1
  113. package/dist/api-token.js +0 -238
  114. package/dist/api-token.js.map +0 -1
  115. package/dist/auth-bootstrap.js +0 -373
  116. package/dist/auth-bootstrap.js.map +0 -1
  117. package/dist/auth.js +0 -386
  118. package/dist/auth.js.map +0 -1
  119. package/dist/capability-proxy.js +0 -527
  120. package/dist/capability-proxy.js.map +0 -1
  121. package/dist/credential-call-map.js +0 -155
  122. package/dist/credential-call-map.js.map +0 -1
  123. package/dist/credential-client-runtime-source.js +0 -9
  124. package/dist/credential-client-runtime-source.js.map +0 -1
  125. package/dist/credentialed-fetch-scan.js +0 -98
  126. package/dist/credentialed-fetch-scan.js.map +0 -1
  127. package/dist/defaults.js +0 -34
  128. package/dist/defaults.js.map +0 -1
  129. package/dist/detect-running-hosts.js +0 -13
  130. package/dist/detect-running-hosts.js.map +0 -1
  131. package/dist/dev/dev-assets.js +0 -202
  132. package/dist/dev/dev-assets.js.map +0 -1
  133. package/dist/dev/dev-bundler.js +0 -65
  134. package/dist/dev/dev-bundler.js.map +0 -1
  135. package/dist/dev/dev-events.js +0 -94
  136. package/dist/dev/dev-events.js.map +0 -1
  137. package/dist/dev/dev-port.js +0 -80
  138. package/dist/dev/dev-port.js.map +0 -1
  139. package/dist/dev/dev-protocol.js +0 -14
  140. package/dist/dev/dev-protocol.js.map +0 -1
  141. package/dist/dev/dev-registry.js +0 -95
  142. package/dist/dev/dev-registry.js.map +0 -1
  143. package/dist/dev/dev-watcher.js +0 -156
  144. package/dist/dev/dev-watcher.js.map +0 -1
  145. package/dist/dev/error-page.js +0 -64
  146. package/dist/dev/error-page.js.map +0 -1
  147. package/dist/dev/live-reload.js +0 -148
  148. package/dist/dev/live-reload.js.map +0 -1
  149. package/dist/dev/prebuild.js +0 -102
  150. package/dist/dev/prebuild.js.map +0 -1
  151. package/dist/dev/process-reaper.js +0 -151
  152. package/dist/dev/process-reaper.js.map +0 -1
  153. package/dist/dev/stack-trace.js +0 -56
  154. package/dist/dev/stack-trace.js.map +0 -1
  155. package/dist/dev/workerd-process.js +0 -118
  156. package/dist/dev/workerd-process.js.map +0 -1
  157. package/dist/dev-command.js +0 -672
  158. package/dist/dev-command.js.map +0 -1
  159. package/dist/discover-login-identity.js +0 -77
  160. package/dist/discover-login-identity.js.map +0 -1
  161. package/dist/discover-org.js +0 -62
  162. package/dist/discover-org.js.map +0 -1
  163. package/dist/git-credential.js +0 -147
  164. package/dist/git-credential.js.map +0 -1
  165. package/dist/help.js +0 -333
  166. package/dist/help.js.map +0 -1
  167. package/dist/host-catalog.js +0 -427
  168. package/dist/host-catalog.js.map +0 -1
  169. package/dist/host-config.js +0 -80
  170. package/dist/host-config.js.map +0 -1
  171. package/dist/http-error-body.js +0 -35
  172. package/dist/http-error-body.js.map +0 -1
  173. package/dist/install-hosts.js +0 -328
  174. package/dist/install-hosts.js.map +0 -1
  175. package/dist/install.js +0 -120
  176. package/dist/install.js.map +0 -1
  177. package/dist/invoke-passthrough.js +0 -60
  178. package/dist/invoke-passthrough.js.map +0 -1
  179. package/dist/local-bundle.js +0 -200
  180. package/dist/local-bundle.js.map +0 -1
  181. package/dist/local-execute-auth.js +0 -53
  182. package/dist/local-execute-auth.js.map +0 -1
  183. package/dist/local-execute.js +0 -338
  184. package/dist/local-execute.js.map +0 -1
  185. package/dist/local-gateway-fetch-forward.js +0 -135
  186. package/dist/local-gateway-fetch-forward.js.map +0 -1
  187. package/dist/local-host-runtime-surface.js +0 -75
  188. package/dist/local-host-runtime-surface.js.map +0 -1
  189. package/dist/local-package-graph.js +0 -405
  190. package/dist/local-package-graph.js.map +0 -1
  191. package/dist/local-package-run.js +0 -307
  192. package/dist/local-package-run.js.map +0 -1
  193. package/dist/local-runtime-bridge.js +0 -132
  194. package/dist/local-runtime-bridge.js.map +0 -1
  195. package/dist/local-runtime-source.js +0 -541
  196. package/dist/local-runtime-source.js.map +0 -1
  197. package/dist/login-callback-assets.js +0 -10
  198. package/dist/login-callback-assets.js.map +0 -1
  199. package/dist/login-callback-page.js +0 -362
  200. package/dist/login-callback-page.js.map +0 -1
  201. package/dist/mcp.js +0 -134
  202. package/dist/mcp.js.map +0 -1
  203. package/dist/mock/ensure-msw.js +0 -215
  204. package/dist/mock/ensure-msw.js.map +0 -1
  205. package/dist/mock/install-mock-fetch-shim.js +0 -36
  206. package/dist/mock/install-mock-fetch-shim.js.map +0 -1
  207. package/dist/mock/load-package-mocks.js +0 -136
  208. package/dist/mock/load-package-mocks.js.map +0 -1
  209. package/dist/mock/mock-fetch-gateway.js +0 -343
  210. package/dist/mock/mock-fetch-gateway.js.map +0 -1
  211. package/dist/mock/mock-gateway-fetch-shim.js +0 -104
  212. package/dist/mock/mock-gateway-fetch-shim.js.map +0 -1
  213. package/dist/mock/mock-server.js +0 -499
  214. package/dist/mock/mock-server.js.map +0 -1
  215. package/dist/mock/mock-storage.js +0 -186
  216. package/dist/mock/mock-storage.js.map +0 -1
  217. package/dist/mock/mock-supported.js +0 -63
  218. package/dist/mock/mock-supported.js.map +0 -1
  219. package/dist/mock-dep-resolve.js +0 -47
  220. package/dist/mock-dep-resolve.js.map +0 -1
  221. package/dist/mock-local-deps.js +0 -207
  222. package/dist/mock-local-deps.js.map +0 -1
  223. package/dist/network-error.js +0 -11
  224. package/dist/network-error.js.map +0 -1
  225. package/dist/node-engine.js +0 -21
  226. package/dist/node-engine.js.map +0 -1
  227. package/dist/oauth-provider.js +0 -107
  228. package/dist/oauth-provider.js.map +0 -1
  229. package/dist/onboarding-prompt.js +0 -15
  230. package/dist/onboarding-prompt.js.map +0 -1
  231. package/dist/open-api-client.js +0 -432
  232. package/dist/open-api-client.js.map +0 -1
  233. package/dist/open-url.js +0 -21
  234. package/dist/open-url.js.map +0 -1
  235. package/dist/org-resolve.js +0 -16
  236. package/dist/org-resolve.js.map +0 -1
  237. package/dist/org-slug.js +0 -11
  238. package/dist/org-slug.js.map +0 -1
  239. package/dist/org.js +0 -100
  240. package/dist/org.js.map +0 -1
  241. package/dist/package-app-dev.js +0 -905
  242. package/dist/package-app-dev.js.map +0 -1
  243. package/dist/package-collaborators.js +0 -179
  244. package/dist/package-collaborators.js.map +0 -1
  245. package/dist/package-info.js +0 -19
  246. package/dist/package-info.js.map +0 -1
  247. package/dist/package-local-runtime-source.js.map +0 -1
  248. package/dist/package-manifest.js +0 -364
  249. package/dist/package-manifest.js.map +0 -1
  250. package/dist/process-info.js +0 -14
  251. package/dist/process-info.js.map +0 -1
  252. package/dist/redact.js +0 -16
  253. package/dist/redact.js.map +0 -1
  254. package/dist/remote-execute.js +0 -108
  255. package/dist/remote-execute.js.map +0 -1
  256. package/dist/setup-git.js +0 -676
  257. package/dist/setup-git.js.map +0 -1
  258. package/dist/skill.js +0 -35
  259. package/dist/skill.js.map +0 -1
  260. package/dist/store.js +0 -597
  261. package/dist/store.js.map +0 -1
  262. package/dist/structured-error.js +0 -57
  263. package/dist/structured-error.js.map +0 -1
  264. package/dist/target.js +0 -52
  265. package/dist/target.js.map +0 -1
  266. package/dist/tool-result.js +0 -19
  267. package/dist/tool-result.js.map +0 -1
  268. package/dist/which.js +0 -22
  269. package/dist/which.js.map +0 -1
  270. package/dist/workerd-binary.js +0 -98
  271. package/dist/workerd-binary.js.map +0 -1
@@ -0,0 +1,106 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ describeNetworkError
4
+ } from "./chunk-G4YN6XP5.js";
5
+
6
+ // src/workerd-binary.ts
7
+ import { createHash } from "node:crypto";
8
+ import { createReadStream, createWriteStream, existsSync } from "node:fs";
9
+ import { chmod, mkdir, rename, rm } from "node:fs/promises";
10
+ import { homedir } from "node:os";
11
+ import { dirname, join } from "node:path";
12
+ import { Readable, Transform } from "node:stream";
13
+ import { pipeline } from "node:stream/promises";
14
+ import { createGunzip } from "node:zlib";
15
+ var workerdVersion = "1.20260815.1";
16
+ var workerdAssetDigests = {
17
+ "linux-64": "05099ec6f50832fcbc327490e5a971d682c97231fb01943b61726db07677e559",
18
+ "linux-arm64": "0331597b53771170df2ab8344d9ae81d38bad4959e47152dd86592eedd9264c7",
19
+ "darwin-64": "752ec91c01dfc44d660de6e3a654879cfc1277caa7f3c5312871c608c4c2d6df",
20
+ "darwin-arm64": "c189fc08f691739c37d8784945e943e33b66cbd4e14635a061fe516dc95f2b39"
21
+ };
22
+ function workerdTargetFor(platform = process.platform, arch = process.arch) {
23
+ const os = platform === "linux" ? "linux" : platform === "darwin" ? "darwin" : null;
24
+ const cpu = arch === "x64" ? "64" : arch === "arm64" ? "arm64" : null;
25
+ if (!os || !cpu) {
26
+ throw new Error(
27
+ `execute --local supports Linux and macOS on x64 or arm64 (this machine is ${platform}-${arch}).`
28
+ );
29
+ }
30
+ return `${os}-${cpu}`;
31
+ }
32
+ function workerdAssetUrl(target, version = workerdVersion) {
33
+ return `https://github.com/cloudflare/workerd/releases/download/v${version}/workerd-${target}.gz`;
34
+ }
35
+ function userCacheDir(env = process.env, platform = process.platform, home = homedir()) {
36
+ if (env.KODY_CACHE_DIR) return env.KODY_CACHE_DIR;
37
+ if (platform === "darwin") return join(home, "Library", "Caches", "kody");
38
+ return join(env.XDG_CACHE_HOME || join(home, ".cache"), "kody");
39
+ }
40
+ function cachedWorkerdPath(cacheDir, target) {
41
+ return join(cacheDir, "workerd", `${workerdVersion}-${target}`, "workerd");
42
+ }
43
+ async function ensureWorkerdBinary(input = {}) {
44
+ const env = input.env ?? process.env;
45
+ if (env.KODY_WORKERD_PATH) return env.KODY_WORKERD_PATH;
46
+ const target = input.target ?? workerdTargetFor();
47
+ const binaryPath = cachedWorkerdPath(input.cacheDir ?? userCacheDir(env), target);
48
+ if (existsSync(binaryPath)) return binaryPath;
49
+ const url = workerdAssetUrl(target);
50
+ input.onDownload?.(url);
51
+ await downloadVerifiedGzip({
52
+ url,
53
+ sha256: workerdAssetDigests[target],
54
+ destination: binaryPath,
55
+ fetchFn: input.fetchFn ?? fetch
56
+ });
57
+ return binaryPath;
58
+ }
59
+ async function downloadVerifiedGzip(input) {
60
+ let response;
61
+ try {
62
+ response = await input.fetchFn(input.url);
63
+ } catch (error) {
64
+ throw new Error(
65
+ `Could not download workerd from ${input.url} (${describeNetworkError(error)}).`
66
+ );
67
+ }
68
+ if (!response.ok || !response.body) {
69
+ throw new Error(`Could not download workerd from ${input.url} (HTTP ${response.status}).`);
70
+ }
71
+ await mkdir(dirname(input.destination), { recursive: true });
72
+ const gzipPath = `${input.destination}.${process.pid}.gz`;
73
+ const partialPath = `${input.destination}.${process.pid}.partial`;
74
+ const hash = createHash("sha256");
75
+ const hashing = new Transform({
76
+ transform(chunk, _encoding, callback) {
77
+ hash.update(chunk);
78
+ callback(null, chunk);
79
+ }
80
+ });
81
+ try {
82
+ await pipeline(
83
+ Readable.fromWeb(response.body),
84
+ hashing,
85
+ createWriteStream(gzipPath)
86
+ );
87
+ const digest = hash.digest("hex");
88
+ if (digest !== input.sha256) {
89
+ throw new Error(
90
+ `workerd download from ${input.url} failed verification (sha256 ${digest}, expected ${input.sha256}).`
91
+ );
92
+ }
93
+ await pipeline(createReadStream(gzipPath), createGunzip(), createWriteStream(partialPath));
94
+ await chmod(partialPath, 493);
95
+ await rename(partialPath, input.destination);
96
+ } finally {
97
+ await rm(gzipPath, { force: true });
98
+ await rm(partialPath, { force: true });
99
+ }
100
+ }
101
+
102
+ export {
103
+ userCacheDir,
104
+ ensureWorkerdBinary
105
+ };
106
+ //# sourceMappingURL=chunk-BISUL7CE.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/workerd-binary.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,57 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // src/structured-error.ts
4
+ var StructuredCliError = class extends Error {
5
+ code;
6
+ target;
7
+ where;
8
+ fix;
9
+ details;
10
+ constructor(body) {
11
+ super(formatStructuredErrorMessage(body));
12
+ this.name = "StructuredCliError";
13
+ this.code = body.code;
14
+ this.target = body.target;
15
+ this.where = body.where;
16
+ this.fix = body.fix;
17
+ this.details = body.details;
18
+ }
19
+ toJSON() {
20
+ return {
21
+ code: this.code,
22
+ message: stripStructuredPrefix(this.message),
23
+ ...this.target !== void 0 ? { target: this.target } : {},
24
+ ...this.where !== void 0 ? { where: this.where } : {},
25
+ ...this.fix !== void 0 ? { fix: this.fix } : {},
26
+ ...this.details !== void 0 ? { details: this.details } : {}
27
+ };
28
+ }
29
+ };
30
+ function formatStructuredErrorMessage(body) {
31
+ const lines = [`[${body.code}] ${body.message}`];
32
+ if (body.target) lines.push(`target: ${body.target}`);
33
+ if (body.where) lines.push(`where: ${body.where}`);
34
+ if (body.fix) lines.push(`fix: ${body.fix}`);
35
+ return lines.join("\n");
36
+ }
37
+ function stripStructuredPrefix(message) {
38
+ const match = /^\[([^\]]+)\]\s*/.exec(message);
39
+ if (!match) return message;
40
+ return message.slice(match[0].length).split("\n")[0] ?? message;
41
+ }
42
+ function notImplementedInMock(input) {
43
+ return new StructuredCliError({
44
+ code: "not_implemented_in_mock",
45
+ message: `The CLI mock does not implement ${input.operation}.`,
46
+ target: "mock",
47
+ fix: input.fix ?? `Use \`--target prod\` for this operation, or extend the mock. The mock refuses anything it does not implement rather than faking success.`,
48
+ details: { operation: input.operation }
49
+ });
50
+ }
51
+
52
+ export {
53
+ StructuredCliError,
54
+ formatStructuredErrorMessage,
55
+ notImplementedInMock
56
+ };
57
+ //# sourceMappingURL=chunk-BPGY4IE7.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/structured-error.ts"],
4
+ "mappings": ";;;AA8BO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,MAA2B;AACtC,UAAM,6BAA6B,IAAI,CAAC;AACxC,SAAK,OAAO;AACZ,SAAK,OAAO,KAAK;AACjB,SAAK,SAAS,KAAK;AACnB,SAAK,QAAQ,KAAK;AAClB,SAAK,MAAM,KAAK;AAChB,SAAK,UAAU,KAAK;AAAA,EACrB;AAAA,EAEA,SAA8B;AAC7B,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,SAAS,sBAAsB,KAAK,OAAO;AAAA,MAC3C,GAAI,KAAK,WAAW,SAAY,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,MAC3D,GAAI,KAAK,UAAU,SAAY,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;AAAA,MACxD,GAAI,KAAK,QAAQ,SAAY,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC;AAAA,MAClD,GAAI,KAAK,YAAY,SAAY,EAAE,SAAS,KAAK,QAAQ,IAAI,CAAC;AAAA,IAC/D;AAAA,EACD;AACD;AAEO,SAAS,6BAA6B,MAAmC;AAC/E,QAAM,QAAQ,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE;AAC/C,MAAI,KAAK,OAAQ,OAAM,KAAK,WAAW,KAAK,MAAM,EAAE;AACpD,MAAI,KAAK,MAAO,OAAM,KAAK,UAAU,KAAK,KAAK,EAAE;AACjD,MAAI,KAAK,IAAK,OAAM,KAAK,QAAQ,KAAK,GAAG,EAAE;AAC3C,SAAO,MAAM,KAAK,IAAI;AACvB;AAEA,SAAS,sBAAsB,SAAyB;AACvD,QAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC7C,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,QAAQ,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,KAAK;AACzD;AAEO,SAAS,qBAAqB,OAGd;AACtB,SAAO,IAAI,mBAAmB;AAAA,IAC7B,MAAM;AAAA,IACN,SAAS,mCAAmC,MAAM,SAAS;AAAA,IAC3D,QAAQ;AAAA,IACR,KACC,MAAM,OACN;AAAA,IACD,SAAS,EAAE,WAAW,MAAM,UAAU;AAAA,EACvC,CAAC;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,21 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // src/redact.ts
4
+ var secretPattern = /(access_token|refresh_token|client_secret|authorization)["']?\s*[:=]\s*["']?[^\s"',}]+/gi;
5
+ var kodySecretPattern = /\bkody_(?:at|bc)_[A-Za-z0-9_-]+\b/g;
6
+ function redact(value) {
7
+ return value.replace(secretPattern, "$1=[redacted]").replace(kodySecretPattern, "kody_[redacted]");
8
+ }
9
+ function redactError(error) {
10
+ if (error instanceof Error) {
11
+ error.message = redact(error.message);
12
+ return error;
13
+ }
14
+ return new Error(redact(String(error)));
15
+ }
16
+
17
+ export {
18
+ redact,
19
+ redactError
20
+ };
21
+ //# sourceMappingURL=chunk-CASGRYOF.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/redact.ts"],
4
+ "mappings": ";;;AAAA,IAAM,gBACL;AAGD,IAAM,oBAAoB;AAEnB,SAAS,OAAO,OAAuB;AAC7C,SAAO,MACL,QAAQ,eAAe,eAAe,EACtC,QAAQ,mBAAmB,iBAAiB;AAC/C;AAEO,SAAS,YAAY,OAAuB;AAClD,MAAI,iBAAiB,OAAO;AAC3B,UAAM,UAAU,OAAO,MAAM,OAAO;AACpC,WAAO;AAAA,EACR;AACA,SAAO,IAAI,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC;AACvC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+
3
+ // src/org-slug.ts
4
+ var orgEnvVar = "KODY_ORG";
5
+ function orgSlugFromFlag(value) {
6
+ const slug = value.trim().toLowerCase();
7
+ if (!slug) {
8
+ throw new Error(
9
+ "`--org` requires an organization slug. Example: `kody login --org acme`."
10
+ );
11
+ }
12
+ return slug;
13
+ }
14
+
15
+ export {
16
+ orgEnvVar,
17
+ orgSlugFromFlag
18
+ };
19
+ //# sourceMappingURL=chunk-CWWHR4FH.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/org-slug.ts"],
4
+ "mappings": ";;;AACO,IAAM,YAAY;AAGlB,SAAS,gBAAgB,OAAuB;AACtD,QAAM,OAAO,MAAM,KAAK,EAAE,YAAY;AACtC,MAAI,CAAC,MAAM;AACV,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;",
5
+ "names": []
6
+ }