@kodycodes/cli 1.26.2 → 1.27.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.
Files changed (296) hide show
  1. package/README.md +175 -167
  2. package/dist/add-mcp-install.d.ts +1 -1
  3. package/dist/api-token.d.ts +1 -1
  4. package/dist/auth-6ZE6QQXA.js +31 -0
  5. package/dist/auth-6ZE6QQXA.js.map +6 -0
  6. package/dist/auth-bootstrap.d.ts +1 -1
  7. package/dist/auth.d.ts +27 -3
  8. package/dist/bin.js +27 -3
  9. package/dist/bin.js.map +6 -1
  10. package/dist/capability-proxy.d.ts +1 -1
  11. package/dist/chunk-2IHISXHN.js +1413 -0
  12. package/dist/chunk-2IHISXHN.js.map +6 -0
  13. package/dist/chunk-2XPH7L2P.js +23 -0
  14. package/dist/chunk-2XPH7L2P.js.map +6 -0
  15. package/dist/chunk-3H72XY5R.js +535 -0
  16. package/dist/chunk-3H72XY5R.js.map +6 -0
  17. package/dist/chunk-46IJPEID.js +30 -0
  18. package/dist/chunk-46IJPEID.js.map +6 -0
  19. package/dist/chunk-4GIFJVGT.js +14 -0
  20. package/dist/chunk-4GIFJVGT.js.map +6 -0
  21. package/dist/chunk-5JIRHJQP.js +1016 -0
  22. package/dist/chunk-5JIRHJQP.js.map +6 -0
  23. package/dist/chunk-5ZBJAP6G.js +2005 -0
  24. package/dist/chunk-5ZBJAP6G.js.map +6 -0
  25. package/dist/chunk-6ZYUGXVW.js +26 -0
  26. package/dist/chunk-6ZYUGXVW.js.map +6 -0
  27. package/dist/chunk-7PRJ36I5.js +23 -0
  28. package/dist/chunk-7PRJ36I5.js.map +6 -0
  29. package/dist/chunk-BTL3PJ2H.js +38 -0
  30. package/dist/chunk-BTL3PJ2H.js.map +6 -0
  31. package/dist/chunk-CASGRYOF.js +21 -0
  32. package/dist/chunk-CASGRYOF.js.map +6 -0
  33. package/dist/chunk-CPS7HW4T.js +56 -0
  34. package/dist/chunk-CPS7HW4T.js.map +6 -0
  35. package/dist/chunk-CWWHR4FH.js +19 -0
  36. package/dist/chunk-CWWHR4FH.js.map +6 -0
  37. package/dist/chunk-D366STO5.js +2051 -0
  38. package/dist/chunk-D366STO5.js.map +6 -0
  39. package/dist/chunk-DW5UTJ6T.js +115 -0
  40. package/dist/chunk-DW5UTJ6T.js.map +6 -0
  41. package/dist/chunk-EJXEVGWF.js +47 -0
  42. package/dist/chunk-EJXEVGWF.js.map +6 -0
  43. package/dist/chunk-FBEZ6PZ7.js +746 -0
  44. package/dist/chunk-FBEZ6PZ7.js.map +6 -0
  45. package/dist/chunk-JOMBXQOS.js +435 -0
  46. package/dist/chunk-JOMBXQOS.js.map +6 -0
  47. package/dist/{package-local-runtime-source.js → chunk-LU7I7CQ4.js} +395 -52
  48. package/dist/chunk-LU7I7CQ4.js.map +6 -0
  49. package/dist/chunk-OZDWOZLV.js +964 -0
  50. package/dist/chunk-OZDWOZLV.js.map +6 -0
  51. package/dist/chunk-SLNAWWQK.js +64 -0
  52. package/dist/chunk-SLNAWWQK.js.map +6 -0
  53. package/dist/chunk-TUUFQYWP.js +348 -0
  54. package/dist/chunk-TUUFQYWP.js.map +6 -0
  55. package/dist/chunk-UW6AWLXX.js +43 -0
  56. package/dist/chunk-UW6AWLXX.js.map +6 -0
  57. package/dist/chunk-W2SAFAT4.js +1563 -0
  58. package/dist/chunk-W2SAFAT4.js.map +6 -0
  59. package/dist/chunk-XV6D6HSG.js +57 -0
  60. package/dist/chunk-XV6D6HSG.js.map +6 -0
  61. package/dist/chunk-Y4FOJETX.js +616 -0
  62. package/dist/chunk-Y4FOJETX.js.map +6 -0
  63. package/dist/chunk-YDWTXEKQ.js +469 -0
  64. package/dist/chunk-YDWTXEKQ.js.map +6 -0
  65. package/dist/chunk-ZILB2HWE.js +24 -0
  66. package/dist/chunk-ZILB2HWE.js.map +6 -0
  67. package/dist/cli.js +74 -1500
  68. package/dist/cli.js.map +6 -1
  69. package/dist/defaults.d.ts +1 -1
  70. package/dist/detect-running-hosts.d.ts +1 -1
  71. package/dist/dev/dev-assets.d.ts +1 -1
  72. package/dist/dev/dev-registry.d.ts +1 -1
  73. package/dist/dev/error-page.d.ts +1 -1
  74. package/dist/dev/live-reload.d.ts +2 -2
  75. package/dist/dev-command-5PDEIWOC.js +5025 -0
  76. package/dist/dev-command-5PDEIWOC.js.map +6 -0
  77. package/dist/dev-command.d.ts +1 -1
  78. package/dist/discover-login-identity.d.ts +6 -7
  79. package/dist/discover-org.d.ts +2 -3
  80. package/dist/generated/openapi-routes.d.ts +6 -0
  81. package/dist/git-credential-INB2UV4C.js +170 -0
  82. package/dist/git-credential-INB2UV4C.js.map +6 -0
  83. package/dist/install-ONEJRYZ3.js +10728 -0
  84. package/dist/install-ONEJRYZ3.js.map +6 -0
  85. package/dist/install.d.ts +1 -1
  86. package/dist/local-execute-I3BP5NEQ.js +395 -0
  87. package/dist/local-execute-I3BP5NEQ.js.map +6 -0
  88. package/dist/local-execute-auth.d.ts +2 -2
  89. package/dist/local-execute.d.ts +1 -1
  90. package/dist/local-gateway-fetch-forward.d.ts +2 -2
  91. package/dist/local-package-run-JFKNSNWM.js +23 -0
  92. package/dist/local-package-run-JFKNSNWM.js.map +6 -0
  93. package/dist/local-package-run.d.ts +2 -2
  94. package/dist/mock/mock-fetch-gateway.d.ts +2 -2
  95. package/dist/mock/mock-supported.d.ts +1 -1
  96. package/dist/mock-dep-resolve-B5ZH4U3H.js +60 -0
  97. package/dist/mock-dep-resolve-B5ZH4U3H.js.map +6 -0
  98. package/dist/mock-fetch-gateway-S2ULVFAI.js +35 -0
  99. package/dist/mock-fetch-gateway-S2ULVFAI.js.map +6 -0
  100. package/dist/mock-local-deps-2VVNJLFF.js +200 -0
  101. package/dist/mock-local-deps-2VVNJLFF.js.map +6 -0
  102. package/dist/mock-local-deps.d.ts +1 -1
  103. package/dist/mock-server-TFO7Q26H.js +22 -0
  104. package/dist/mock-server-TFO7Q26H.js.map +6 -0
  105. package/dist/oauth-browser.d.ts +42 -0
  106. package/dist/oauth-provider.d.ts +14 -19
  107. package/dist/open-api-client-SR4B7265.js +43 -0
  108. package/dist/open-api-client-SR4B7265.js.map +6 -0
  109. package/dist/open-api-client.d.ts +2 -1
  110. package/dist/org-535LB4PD.js +134 -0
  111. package/dist/org-535LB4PD.js.map +6 -0
  112. package/dist/org-resolve.d.ts +2 -0
  113. package/dist/package-app-dev.d.ts +2 -2
  114. package/dist/package-manifest-DFF6XCPV.js +15 -0
  115. package/dist/package-manifest-DFF6XCPV.js.map +6 -0
  116. package/dist/remote-execute-JN6DRFEU.js +129 -0
  117. package/dist/remote-execute-JN6DRFEU.js.map +6 -0
  118. package/dist/remote-execute.d.ts +3 -3
  119. package/dist/setup-git-MHK563LB.js +87 -0
  120. package/dist/setup-git-MHK563LB.js.map +6 -0
  121. package/dist/setup-git.d.ts +1 -1
  122. package/dist/skill-D74XVI6T.js +61 -0
  123. package/dist/skill-D74XVI6T.js.map +6 -0
  124. package/dist/store-27J4CQZ2.js +48 -0
  125. package/dist/store-27J4CQZ2.js.map +6 -0
  126. package/dist/structured-error-5MLWXYR3.js +14 -0
  127. package/dist/structured-error-5MLWXYR3.js.map +6 -0
  128. package/dist/structured-error.d.ts +1 -1
  129. package/dist/target-33ATHDUF.js +17 -0
  130. package/dist/target-33ATHDUF.js.map +6 -0
  131. package/package.json +12 -11
  132. package/skills/kody/SKILL.md +53 -50
  133. package/dist/add-mcp-install.js +0 -59
  134. package/dist/add-mcp-install.js.map +0 -1
  135. package/dist/api-token-store.js +0 -120
  136. package/dist/api-token-store.js.map +0 -1
  137. package/dist/api-token.js +0 -238
  138. package/dist/api-token.js.map +0 -1
  139. package/dist/auth-bootstrap.js +0 -373
  140. package/dist/auth-bootstrap.js.map +0 -1
  141. package/dist/auth.js +0 -386
  142. package/dist/auth.js.map +0 -1
  143. package/dist/capability-proxy.js +0 -527
  144. package/dist/capability-proxy.js.map +0 -1
  145. package/dist/credential-call-map.js +0 -155
  146. package/dist/credential-call-map.js.map +0 -1
  147. package/dist/credential-client-runtime-source.js +0 -9
  148. package/dist/credential-client-runtime-source.js.map +0 -1
  149. package/dist/credentialed-fetch-scan.js +0 -98
  150. package/dist/credentialed-fetch-scan.js.map +0 -1
  151. package/dist/defaults.js +0 -34
  152. package/dist/defaults.js.map +0 -1
  153. package/dist/detect-running-hosts.js +0 -13
  154. package/dist/detect-running-hosts.js.map +0 -1
  155. package/dist/dev/dev-assets.js +0 -202
  156. package/dist/dev/dev-assets.js.map +0 -1
  157. package/dist/dev/dev-bundler.js +0 -65
  158. package/dist/dev/dev-bundler.js.map +0 -1
  159. package/dist/dev/dev-events.js +0 -94
  160. package/dist/dev/dev-events.js.map +0 -1
  161. package/dist/dev/dev-port.js +0 -80
  162. package/dist/dev/dev-port.js.map +0 -1
  163. package/dist/dev/dev-protocol.js +0 -14
  164. package/dist/dev/dev-protocol.js.map +0 -1
  165. package/dist/dev/dev-registry.js +0 -95
  166. package/dist/dev/dev-registry.js.map +0 -1
  167. package/dist/dev/dev-watcher.js +0 -162
  168. package/dist/dev/dev-watcher.js.map +0 -1
  169. package/dist/dev/error-page.js +0 -64
  170. package/dist/dev/error-page.js.map +0 -1
  171. package/dist/dev/live-reload.js +0 -151
  172. package/dist/dev/live-reload.js.map +0 -1
  173. package/dist/dev/prebuild.js +0 -102
  174. package/dist/dev/prebuild.js.map +0 -1
  175. package/dist/dev/process-reaper.js +0 -151
  176. package/dist/dev/process-reaper.js.map +0 -1
  177. package/dist/dev/stack-trace.js +0 -56
  178. package/dist/dev/stack-trace.js.map +0 -1
  179. package/dist/dev/workerd-process.js +0 -118
  180. package/dist/dev/workerd-process.js.map +0 -1
  181. package/dist/dev-command.js +0 -676
  182. package/dist/dev-command.js.map +0 -1
  183. package/dist/discover-login-identity.js +0 -77
  184. package/dist/discover-login-identity.js.map +0 -1
  185. package/dist/discover-org.js +0 -62
  186. package/dist/discover-org.js.map +0 -1
  187. package/dist/git-credential.js +0 -147
  188. package/dist/git-credential.js.map +0 -1
  189. package/dist/help.js +0 -333
  190. package/dist/help.js.map +0 -1
  191. package/dist/host-catalog.js +0 -427
  192. package/dist/host-catalog.js.map +0 -1
  193. package/dist/host-config.js +0 -80
  194. package/dist/host-config.js.map +0 -1
  195. package/dist/http-error-body.js +0 -35
  196. package/dist/http-error-body.js.map +0 -1
  197. package/dist/install-hosts.js +0 -328
  198. package/dist/install-hosts.js.map +0 -1
  199. package/dist/install.js +0 -120
  200. package/dist/install.js.map +0 -1
  201. package/dist/invoke-passthrough.js +0 -60
  202. package/dist/invoke-passthrough.js.map +0 -1
  203. package/dist/local-bundle.js +0 -200
  204. package/dist/local-bundle.js.map +0 -1
  205. package/dist/local-execute-auth.js +0 -53
  206. package/dist/local-execute-auth.js.map +0 -1
  207. package/dist/local-execute.js +0 -338
  208. package/dist/local-execute.js.map +0 -1
  209. package/dist/local-gateway-fetch-forward.js +0 -135
  210. package/dist/local-gateway-fetch-forward.js.map +0 -1
  211. package/dist/local-host-runtime-surface.js +0 -75
  212. package/dist/local-host-runtime-surface.js.map +0 -1
  213. package/dist/local-package-graph.js +0 -405
  214. package/dist/local-package-graph.js.map +0 -1
  215. package/dist/local-package-run.js +0 -307
  216. package/dist/local-package-run.js.map +0 -1
  217. package/dist/local-runtime-bridge.js +0 -132
  218. package/dist/local-runtime-bridge.js.map +0 -1
  219. package/dist/local-runtime-source.js +0 -541
  220. package/dist/local-runtime-source.js.map +0 -1
  221. package/dist/login-callback-assets.js +0 -10
  222. package/dist/login-callback-assets.js.map +0 -1
  223. package/dist/login-callback-page.js +0 -362
  224. package/dist/login-callback-page.js.map +0 -1
  225. package/dist/mcp.d.ts +0 -34
  226. package/dist/mcp.js +0 -134
  227. package/dist/mcp.js.map +0 -1
  228. package/dist/mock/ensure-msw.js +0 -215
  229. package/dist/mock/ensure-msw.js.map +0 -1
  230. package/dist/mock/install-mock-fetch-shim.js +0 -36
  231. package/dist/mock/install-mock-fetch-shim.js.map +0 -1
  232. package/dist/mock/load-package-mocks.js +0 -136
  233. package/dist/mock/load-package-mocks.js.map +0 -1
  234. package/dist/mock/mock-fetch-gateway.js +0 -343
  235. package/dist/mock/mock-fetch-gateway.js.map +0 -1
  236. package/dist/mock/mock-gateway-fetch-shim.js +0 -104
  237. package/dist/mock/mock-gateway-fetch-shim.js.map +0 -1
  238. package/dist/mock/mock-server.js +0 -499
  239. package/dist/mock/mock-server.js.map +0 -1
  240. package/dist/mock/mock-storage.js +0 -186
  241. package/dist/mock/mock-storage.js.map +0 -1
  242. package/dist/mock/mock-supported.js +0 -63
  243. package/dist/mock/mock-supported.js.map +0 -1
  244. package/dist/mock-dep-resolve.js +0 -47
  245. package/dist/mock-dep-resolve.js.map +0 -1
  246. package/dist/mock-local-deps.js +0 -207
  247. package/dist/mock-local-deps.js.map +0 -1
  248. package/dist/network-error.js +0 -11
  249. package/dist/network-error.js.map +0 -1
  250. package/dist/node-engine.js +0 -21
  251. package/dist/node-engine.js.map +0 -1
  252. package/dist/oauth-provider.js +0 -107
  253. package/dist/oauth-provider.js.map +0 -1
  254. package/dist/onboarding-prompt.js +0 -15
  255. package/dist/onboarding-prompt.js.map +0 -1
  256. package/dist/open-api-client.js +0 -432
  257. package/dist/open-api-client.js.map +0 -1
  258. package/dist/open-url.js +0 -21
  259. package/dist/open-url.js.map +0 -1
  260. package/dist/org-resolve.js +0 -16
  261. package/dist/org-resolve.js.map +0 -1
  262. package/dist/org-slug.js +0 -11
  263. package/dist/org-slug.js.map +0 -1
  264. package/dist/org.js +0 -100
  265. package/dist/org.js.map +0 -1
  266. package/dist/package-app-dev.js +0 -922
  267. package/dist/package-app-dev.js.map +0 -1
  268. package/dist/package-collaborators.js +0 -179
  269. package/dist/package-collaborators.js.map +0 -1
  270. package/dist/package-info.js +0 -19
  271. package/dist/package-info.js.map +0 -1
  272. package/dist/package-local-runtime-source.js.map +0 -1
  273. package/dist/package-manifest.js +0 -364
  274. package/dist/package-manifest.js.map +0 -1
  275. package/dist/process-info.js +0 -14
  276. package/dist/process-info.js.map +0 -1
  277. package/dist/redact.js +0 -16
  278. package/dist/redact.js.map +0 -1
  279. package/dist/remote-execute.js +0 -108
  280. package/dist/remote-execute.js.map +0 -1
  281. package/dist/setup-git.js +0 -676
  282. package/dist/setup-git.js.map +0 -1
  283. package/dist/skill.js +0 -35
  284. package/dist/skill.js.map +0 -1
  285. package/dist/store.js +0 -597
  286. package/dist/store.js.map +0 -1
  287. package/dist/structured-error.js +0 -57
  288. package/dist/structured-error.js.map +0 -1
  289. package/dist/target.js +0 -52
  290. package/dist/target.js.map +0 -1
  291. package/dist/tool-result.js +0 -19
  292. package/dist/tool-result.js.map +0 -1
  293. package/dist/which.js +0 -22
  294. package/dist/which.js.map +0 -1
  295. package/dist/workerd-binary.js +0 -98
  296. package/dist/workerd-binary.js.map +0 -1
@@ -1,21 +1,60 @@
1
- /**
2
- * `kody:runtime` for unpublished package runs (`kody dev`, local export/job/
3
- * webhook/subscription). Same CapabilityProxy bridge as local-execute, plus a
4
- * real `packageContext` and mock-backed `packageStorage()` hops.
5
- */
6
- import { credentialClientRuntimeSource } from './credential-client-runtime-source.js';
7
- import { kodyRuntimeStorageSymbolDescription, localExecuteCompatibilityDate, localExecuteCompatibilityFlags, localGatewayFetchStreamRuntimeSource, localWorkerModuleNames, runSecretEnvVar, runSecretHeader, } from './local-runtime-source.js';
8
- import { appLogMarker, devErrorHeader, devRequestIdHeader } from './dev/dev-protocol.js';
9
- export { localExecuteCompatibilityDate, localExecuteCompatibilityFlags, localWorkerModuleNames, runSecretEnvVar, runSecretHeader, };
10
- /**
11
- * Runtime module for package-local workerd. `packageStorage()` hops through the
12
- * bridge to mock `__mockPackageStorage*` (or refuses clearly on prod until the
13
- * package is published).
14
- */
15
- export function createPackageLocalRuntimeModuleSource(input) {
16
- const ctxLiteral = JSON.stringify(input.packageContext);
17
- const storageBlock = input.mockStorage
18
- ? `
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ forwardLocalGatewayFetchStream,
4
+ installMockFetchShimModules,
5
+ startLocalRuntimeBridge
6
+ } from "./chunk-JOMBXQOS.js";
7
+ import {
8
+ resolveMockFetchGateway,
9
+ tryHandleMockGatewayFetchCall
10
+ } from "./chunk-Y4FOJETX.js";
11
+ import {
12
+ bundleLocalUserModule,
13
+ createRuntimeFlatAliasSource,
14
+ createWorkerdConfig,
15
+ credentialClientRuntimeSource,
16
+ kodyRuntimeStorageSymbolDescription,
17
+ localExecuteGatewayFetchShimModuleName,
18
+ localGatewayFetchStreamRuntimeSource,
19
+ localWorkerModuleNames,
20
+ resolveLocalPackageGraph,
21
+ runSecretEnvVar,
22
+ runSecretHeader,
23
+ writePackageModuleFiles
24
+ } from "./chunk-2IHISXHN.js";
25
+ import {
26
+ redact
27
+ } from "./chunk-CASGRYOF.js";
28
+ import {
29
+ ensureWorkerdBinary
30
+ } from "./chunk-DW5UTJ6T.js";
31
+ import {
32
+ assertTokenSafeApiUrl,
33
+ callCapabilityProxy
34
+ } from "./chunk-5JIRHJQP.js";
35
+ import {
36
+ apiTokenEnvVar
37
+ } from "./chunk-BTL3PJ2H.js";
38
+
39
+ // src/local-package-run.ts
40
+ import { spawn } from "node:child_process";
41
+ import { randomBytes } from "node:crypto";
42
+ import { rmSync } from "node:fs";
43
+ import { mkdtemp, rm, writeFile } from "node:fs/promises";
44
+ import { request as httpRequest } from "node:http";
45
+ import { tmpdir } from "node:os";
46
+ import { join } from "node:path";
47
+ import { setTimeout as delay } from "node:timers/promises";
48
+
49
+ // src/dev/dev-protocol.ts
50
+ var appLogMarker = "kody-dev-log";
51
+ var devRequestIdHeader = "x-kody-dev-request";
52
+ var devErrorHeader = "x-kody-dev-error";
53
+
54
+ // src/package-local-runtime-source.ts
55
+ function createPackageLocalRuntimeModuleSource(input) {
56
+ const ctxLiteral = JSON.stringify(input.packageContext);
57
+ const storageBlock = input.mockStorage ? `
19
58
  export function packageStorage() {
20
59
  return {
21
60
  async get(key) {
@@ -43,8 +82,7 @@ export function packageStorage() {
43
82
  },
44
83
  };
45
84
  }
46
- `
47
- : `
85
+ ` : `
48
86
  export function packageStorage() {
49
87
  throw new Error(
50
88
  'packageStorage() against --target prod requires a published package with real storage. ' +
@@ -52,12 +90,12 @@ export function packageStorage() {
52
90
  );
53
91
  }
54
92
  `;
55
- return `
93
+ return `
56
94
  import { AsyncLocalStorage } from 'node:async_hooks';
57
95
 
58
96
  ${localGatewayFetchStreamRuntimeSource({
59
- callUnavailableMessage: 'kody:runtime is only available while a local package run is in progress.',
60
- })}
97
+ callUnavailableMessage: "kody:runtime is only available while a local package run is in progress."
98
+ })}
61
99
 
62
100
  export const kody = __kodyNamespace(['kody']);
63
101
 
@@ -256,14 +294,11 @@ void __kodyBytesToBase64;
256
294
  void __kodyBase64ToBytes;
257
295
  `.trimStart();
258
296
  }
259
- /** Execute-style entry: default export function(params). */
260
- export function createPackageModuleEntrySource(input = {}) {
261
- const sideEffectImports = [...new Set(input.sideEffectModules ?? [])]
262
- .filter((name) => typeof name === 'string' && name.trim().length > 0)
263
- .map((name) => `import ${JSON.stringify(name)};`)
264
- .join('\n');
265
- const sideEffectBlock = sideEffectImports ? `${sideEffectImports}\n` : '';
266
- return `
297
+ function createPackageModuleEntrySource(input = {}) {
298
+ const sideEffectImports = [...new Set(input.sideEffectModules ?? [])].filter((name) => typeof name === "string" && name.trim().length > 0).map((name) => `import ${JSON.stringify(name)};`).join("\n");
299
+ const sideEffectBlock = sideEffectImports ? `${sideEffectImports}
300
+ ` : "";
301
+ return `
267
302
  ${sideEffectBlock}import {
268
303
  __kodyInstallLocalBridge,
269
304
  __kodyRunInLocalRuntime,
@@ -336,26 +371,11 @@ export default {
336
371
  };
337
372
  `.trimStart();
338
373
  }
339
- /**
340
- * App fetch entry: wraps user `kody.app.entry` so the host always sees a Worker
341
- * `{ fetch }` export. Mount is already stripped by the Node proxy before this
342
- * request reaches workerd (pathname is the rest path).
343
- */
344
- /**
345
- * workerd entry for `kody dev` apps. Beyond resolving the fetch handler it:
346
- * tags every `console.*` call with the proxy's request id (written to stdout
347
- * behind {@link appLogMarker} so the CLI can stream it), strips the internal
348
- * run-secret / request-id headers before the app sees the request, and turns
349
- * uncaught handler errors into a {@link devErrorHeader} response carrying the
350
- * raw stack for the CLI to source-map.
351
- */
352
- export function createPackageAppEntrySource(input = {}) {
353
- const sideEffectImports = [...new Set(input.sideEffectModules ?? [])]
354
- .filter((name) => typeof name === 'string' && name.trim().length > 0)
355
- .map((name) => `import ${JSON.stringify(name)};`)
356
- .join('\n');
357
- const sideEffectBlock = sideEffectImports ? `${sideEffectImports}\n` : '';
358
- return `
374
+ function createPackageAppEntrySource(input = {}) {
375
+ const sideEffectImports = [...new Set(input.sideEffectModules ?? [])].filter((name) => typeof name === "string" && name.trim().length > 0).map((name) => `import ${JSON.stringify(name)};`).join("\n");
376
+ const sideEffectBlock = sideEffectImports ? `${sideEffectImports}
377
+ ` : "";
378
+ return `
359
379
  ${sideEffectBlock}import { AsyncLocalStorage } from 'node:async_hooks';
360
380
  import { formatWithOptions } from 'node:util';
361
381
  import {
@@ -468,4 +488,327 @@ export default {
468
488
  };
469
489
  `.trimStart();
470
490
  }
471
- //# sourceMappingURL=package-local-runtime-source.js.map
491
+
492
+ // src/local-package-run.ts
493
+ var workerdStartTimeoutMs = 3e4;
494
+ var workerdExitGraceMs = 1e3;
495
+ async function runLocalPackageModule(input) {
496
+ assertTokenSafeApiUrl(input.apiUrl);
497
+ input.onStatus?.(`Bundling ${input.modulePath}\u2026`);
498
+ const code = await bundleLocalUserModule(input.modulePath);
499
+ const client = {
500
+ apiUrl: input.apiUrl,
501
+ token: input.token,
502
+ fetchFn: input.fetchFn,
503
+ ...input.org ? { org: input.org } : {}
504
+ };
505
+ const workerdPath = input.workerdPath ?? await ensureWorkerdBinary({
506
+ onDownload: (url) => input.onStatus?.(`Downloading workerd from ${url}\u2026`)
507
+ });
508
+ const runSecret = randomBytes(32).toString("hex");
509
+ const workDir = await mkdtemp(join(tmpdir(), "kody-pkg-"));
510
+ let child;
511
+ let bridge;
512
+ const stopWorkerd = () => child?.kill("SIGKILL");
513
+ const releaseSignals = cleanupOnSignal(() => {
514
+ stopWorkerd();
515
+ rmSync(workDir, { recursive: true, force: true });
516
+ });
517
+ const startedAt = /* @__PURE__ */ new Date();
518
+ const finish = (sandbox) => {
519
+ const endedAt = /* @__PURE__ */ new Date();
520
+ const logs = sandbox.logs ?? [];
521
+ const base = {
522
+ timing: {
523
+ startedAt: startedAt.toISOString(),
524
+ endedAt: endedAt.toISOString(),
525
+ durationMs: endedAt.getTime() - startedAt.getTime()
526
+ },
527
+ target: input.target
528
+ };
529
+ if (typeof sandbox.error === "string") {
530
+ return {
531
+ content: [{ type: "text", text: `Error: ${sandbox.error}` }],
532
+ structuredContent: {
533
+ ...base,
534
+ returnedBytes: 0,
535
+ error: sandbox.error,
536
+ logs
537
+ },
538
+ isError: true
539
+ };
540
+ }
541
+ const text = typeof sandbox.result === "string" ? sandbox.result : JSON.stringify(sandbox.result, null, 2) ?? "undefined";
542
+ const serialized = typeof sandbox.result === "string" ? sandbox.result : JSON.stringify(sandbox.result) ?? "undefined";
543
+ return {
544
+ content: [{ type: "text", text }],
545
+ structuredContent: {
546
+ ...base,
547
+ returnedBytes: Buffer.byteLength(serialized),
548
+ result: sandbox.result,
549
+ logs
550
+ },
551
+ isError: false
552
+ };
553
+ };
554
+ try {
555
+ const mockFetchGateway = await resolveMockFetchGateway({
556
+ target: input.target,
557
+ packageRoot: input.packageRoot,
558
+ passthroughHosts: input.passthroughHosts,
559
+ allowPrivateNetwork: input.allowPrivateNetwork,
560
+ onStatus: input.onStatus
561
+ });
562
+ const packageGraph = await resolveLocalPackageGraph({
563
+ ...client,
564
+ code,
565
+ ...input.depResolve ? { depResolve: input.depResolve } : {},
566
+ ...input.packageRoot ? { packageRoot: input.packageRoot } : {},
567
+ onStatus: input.onStatus
568
+ });
569
+ bridge = await startLocalRuntimeBridge({
570
+ runSecret,
571
+ forwardCall: async (call, signal) => {
572
+ const mocked = tryHandleMockGatewayFetchCall({
573
+ gateway: mockFetchGateway,
574
+ path: call.path,
575
+ args: call.args,
576
+ signal
577
+ });
578
+ if (mocked) return await mocked;
579
+ return await callCapabilityProxy({
580
+ ...client,
581
+ ...call,
582
+ signal
583
+ });
584
+ },
585
+ forwardGatewayFetchStream: async ({ request, response: response2, signal }) => {
586
+ await forwardLocalGatewayFetchStream({
587
+ request,
588
+ response: response2,
589
+ signal,
590
+ client,
591
+ ...mockFetchGateway ? { mockFetchGateway } : {}
592
+ });
593
+ }
594
+ });
595
+ const files = { entry: "entry.js", user: "main.js", runtime: "runtime.js" };
596
+ let packageModules = await writePackageModuleFiles(
597
+ workDir,
598
+ packageGraph,
599
+ writeFile,
600
+ join
601
+ );
602
+ let gatewayFetchShimModules = packageGraph.modules.map((module) => module.name).filter((name) => name === localExecuteGatewayFetchShimModuleName);
603
+ if (mockFetchGateway) {
604
+ const installed = await installMockFetchShimModules({
605
+ workDir,
606
+ packageModules
607
+ });
608
+ packageModules = installed.packageModules;
609
+ gatewayFetchShimModules = installed.sideEffectModules;
610
+ }
611
+ await writeFile(
612
+ join(workDir, files.entry),
613
+ createPackageModuleEntrySource({
614
+ sideEffectModules: gatewayFetchShimModules
615
+ })
616
+ );
617
+ await writeFile(join(workDir, files.user), code);
618
+ await writeFile(
619
+ join(workDir, files.runtime),
620
+ createPackageLocalRuntimeModuleSource({
621
+ packageContext: input.packageContext,
622
+ mockStorage: input.target === "mock"
623
+ })
624
+ );
625
+ await writeFile(
626
+ join(workDir, localWorkerModuleNames.runtimeFlatAlias),
627
+ createRuntimeFlatAliasSource()
628
+ );
629
+ const configPath = join(workDir, "config.capnp");
630
+ await writeFile(
631
+ configPath,
632
+ createWorkerdConfig({
633
+ bridgePort: bridge.port,
634
+ files,
635
+ packageModules,
636
+ allowPrivateNetwork: input.allowPrivateNetwork
637
+ })
638
+ );
639
+ const env = {
640
+ ...process.env,
641
+ [runSecretEnvVar]: runSecret
642
+ };
643
+ delete env[apiTokenEnvVar];
644
+ child = spawn(workerdPath, ["serve", configPath, "--control-fd=3"], {
645
+ cwd: workDir,
646
+ env,
647
+ stdio: ["ignore", "pipe", "pipe", "pipe"]
648
+ });
649
+ const workerd = watchWorkerd(child);
650
+ const started = await workerd.listening;
651
+ if ("exitDetail" in started) {
652
+ return finish({
653
+ error: `Local package run could not load the module${started.exitDetail}`
654
+ });
655
+ }
656
+ let response;
657
+ try {
658
+ response = await postToWorkerd({
659
+ port: started.port,
660
+ runSecret,
661
+ body: JSON.stringify({ params: input.params ?? {} })
662
+ });
663
+ } catch (error) {
664
+ const exitDetail = await Promise.race([
665
+ workerd.exited,
666
+ delay(workerdExitGraceMs, null)
667
+ ]);
668
+ if (exitDetail !== null)
669
+ throw new Error(`workerd exited during the run${exitDetail}`);
670
+ const reason = error instanceof Error ? error.message : String(error);
671
+ throw new Error(
672
+ `Local package run failed (${reason}).${workerd.stderr()}`
673
+ );
674
+ }
675
+ if (response.status !== 200) {
676
+ throw new Error(
677
+ `Local package runtime returned HTTP ${response.status}.${workerd.stderr()}`
678
+ );
679
+ }
680
+ return finish(JSON.parse(response.body));
681
+ } finally {
682
+ releaseSignals();
683
+ stopWorkerd();
684
+ await bridge?.close();
685
+ await rm(workDir, { recursive: true, force: true });
686
+ }
687
+ }
688
+ function buildLocalPackageContext(input) {
689
+ const appBasePath = input.appBasePath ?? "";
690
+ return {
691
+ packageId: input.packageId ?? `local:${input.kodyId}`,
692
+ kodyId: input.kodyId,
693
+ sourceId: `local:${input.kodyId}`,
694
+ publishedCommit: null,
695
+ appBasePath,
696
+ hostedUrl: input.hostedUrl.replace(/\/+$/, ""),
697
+ assetBasePath: appBasePath ? `${appBasePath}/_assets` : "/_assets",
698
+ clientModuleUrl: input.clientModuleUrl ?? null
699
+ };
700
+ }
701
+ function cleanupOnSignal(cleanup) {
702
+ const signals = ["SIGINT", "SIGTERM", "SIGHUP"];
703
+ const release = () => {
704
+ for (const signal of signals) process.off(signal, handler);
705
+ };
706
+ const handler = (signal) => {
707
+ release();
708
+ cleanup();
709
+ process.kill(process.pid, signal);
710
+ };
711
+ for (const signal of signals) process.once(signal, handler);
712
+ return release;
713
+ }
714
+ function watchWorkerd(child) {
715
+ let stderrText = "";
716
+ child.stderr?.on("data", (chunk) => {
717
+ stderrText += chunk.toString("utf8");
718
+ });
719
+ child.stdout?.resume();
720
+ const stderr = () => {
721
+ const trimmed = redact(stderrText.trim());
722
+ return trimmed ? `
723
+ ${trimmed}` : "";
724
+ };
725
+ const exited = new Promise((resolve) => {
726
+ child.once("exit", (code, signal) => {
727
+ resolve(` (workerd exit ${signal ?? code})${stderr()}`);
728
+ });
729
+ });
730
+ const listening = new Promise(
731
+ (resolve, reject) => {
732
+ const control = child.stdio[3];
733
+ let buffered = "";
734
+ const timer = setTimeout(() => {
735
+ reject(
736
+ new Error(
737
+ `workerd did not start within ${workerdStartTimeoutMs / 1e3}s.${stderr()}`
738
+ )
739
+ );
740
+ }, workerdStartTimeoutMs);
741
+ control?.on("data", (chunk) => {
742
+ buffered += chunk.toString("utf8");
743
+ for (const line of buffered.split("\n")) {
744
+ const port = parseListenPort(line);
745
+ if (port !== null) {
746
+ clearTimeout(timer);
747
+ resolve({ port });
748
+ }
749
+ }
750
+ });
751
+ child.once("error", (error) => {
752
+ clearTimeout(timer);
753
+ reject(new Error(`Could not start workerd: ${error.message}`));
754
+ });
755
+ void exited.then((exitDetail) => {
756
+ clearTimeout(timer);
757
+ resolve({ exitDetail });
758
+ });
759
+ }
760
+ );
761
+ return { listening, exited, stderr };
762
+ }
763
+ function parseListenPort(line) {
764
+ if (!line.trim()) return null;
765
+ try {
766
+ const event = JSON.parse(line);
767
+ return event.event === "listen" && event.socket === "http" && typeof event.port === "number" ? event.port : null;
768
+ } catch {
769
+ return null;
770
+ }
771
+ }
772
+ function postToWorkerd(input) {
773
+ return new Promise((resolve, reject) => {
774
+ const request = httpRequest(
775
+ {
776
+ host: "127.0.0.1",
777
+ port: input.port,
778
+ method: "POST",
779
+ path: "/",
780
+ headers: {
781
+ "content-type": "application/json",
782
+ "content-length": Buffer.byteLength(input.body),
783
+ [runSecretHeader]: input.runSecret
784
+ }
785
+ },
786
+ (response) => {
787
+ readBody(response).then(
788
+ (body) => resolve({ status: response.statusCode ?? 0, body }),
789
+ reject
790
+ );
791
+ }
792
+ );
793
+ request.on("error", reject);
794
+ request.end(input.body);
795
+ });
796
+ }
797
+ async function readBody(stream) {
798
+ const chunks = [];
799
+ for await (const chunk of stream) {
800
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
801
+ }
802
+ return Buffer.concat(chunks).toString("utf8");
803
+ }
804
+
805
+ export {
806
+ appLogMarker,
807
+ devRequestIdHeader,
808
+ devErrorHeader,
809
+ createPackageLocalRuntimeModuleSource,
810
+ createPackageAppEntrySource,
811
+ runLocalPackageModule,
812
+ buildLocalPackageContext
813
+ };
814
+ //# sourceMappingURL=chunk-LU7I7CQ4.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/local-package-run.ts", "../src/dev/dev-protocol.ts", "../src/package-local-runtime-source.ts"],
4
+ "mappings": "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",
5
+ "names": ["response"]
6
+ }