@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.
- package/README.md +175 -167
- package/dist/add-mcp-install.d.ts +1 -1
- package/dist/api-token.d.ts +1 -1
- package/dist/auth-6ZE6QQXA.js +31 -0
- package/dist/auth-6ZE6QQXA.js.map +6 -0
- package/dist/auth-bootstrap.d.ts +1 -1
- package/dist/auth.d.ts +27 -3
- package/dist/bin.js +27 -3
- package/dist/bin.js.map +6 -1
- package/dist/capability-proxy.d.ts +1 -1
- package/dist/chunk-2IHISXHN.js +1413 -0
- package/dist/chunk-2IHISXHN.js.map +6 -0
- package/dist/chunk-2XPH7L2P.js +23 -0
- package/dist/chunk-2XPH7L2P.js.map +6 -0
- package/dist/chunk-3H72XY5R.js +535 -0
- package/dist/chunk-3H72XY5R.js.map +6 -0
- package/dist/chunk-46IJPEID.js +30 -0
- package/dist/chunk-46IJPEID.js.map +6 -0
- package/dist/chunk-4GIFJVGT.js +14 -0
- package/dist/chunk-4GIFJVGT.js.map +6 -0
- package/dist/chunk-5JIRHJQP.js +1016 -0
- package/dist/chunk-5JIRHJQP.js.map +6 -0
- package/dist/chunk-5ZBJAP6G.js +2005 -0
- package/dist/chunk-5ZBJAP6G.js.map +6 -0
- package/dist/chunk-6ZYUGXVW.js +26 -0
- package/dist/chunk-6ZYUGXVW.js.map +6 -0
- package/dist/chunk-7PRJ36I5.js +23 -0
- package/dist/chunk-7PRJ36I5.js.map +6 -0
- package/dist/chunk-BTL3PJ2H.js +38 -0
- package/dist/chunk-BTL3PJ2H.js.map +6 -0
- package/dist/chunk-CASGRYOF.js +21 -0
- package/dist/chunk-CASGRYOF.js.map +6 -0
- package/dist/chunk-CPS7HW4T.js +56 -0
- package/dist/chunk-CPS7HW4T.js.map +6 -0
- package/dist/chunk-CWWHR4FH.js +19 -0
- package/dist/chunk-CWWHR4FH.js.map +6 -0
- package/dist/chunk-D366STO5.js +2051 -0
- package/dist/chunk-D366STO5.js.map +6 -0
- package/dist/chunk-DW5UTJ6T.js +115 -0
- package/dist/chunk-DW5UTJ6T.js.map +6 -0
- package/dist/chunk-EJXEVGWF.js +47 -0
- package/dist/chunk-EJXEVGWF.js.map +6 -0
- package/dist/chunk-FBEZ6PZ7.js +746 -0
- package/dist/chunk-FBEZ6PZ7.js.map +6 -0
- package/dist/chunk-JOMBXQOS.js +435 -0
- package/dist/chunk-JOMBXQOS.js.map +6 -0
- package/dist/{package-local-runtime-source.js → chunk-LU7I7CQ4.js} +395 -52
- package/dist/chunk-LU7I7CQ4.js.map +6 -0
- package/dist/chunk-OZDWOZLV.js +964 -0
- package/dist/chunk-OZDWOZLV.js.map +6 -0
- package/dist/chunk-SLNAWWQK.js +64 -0
- package/dist/chunk-SLNAWWQK.js.map +6 -0
- package/dist/chunk-TUUFQYWP.js +348 -0
- package/dist/chunk-TUUFQYWP.js.map +6 -0
- package/dist/chunk-UW6AWLXX.js +43 -0
- package/dist/chunk-UW6AWLXX.js.map +6 -0
- package/dist/chunk-W2SAFAT4.js +1563 -0
- package/dist/chunk-W2SAFAT4.js.map +6 -0
- package/dist/chunk-XV6D6HSG.js +57 -0
- package/dist/chunk-XV6D6HSG.js.map +6 -0
- package/dist/chunk-Y4FOJETX.js +616 -0
- package/dist/chunk-Y4FOJETX.js.map +6 -0
- package/dist/chunk-YDWTXEKQ.js +469 -0
- package/dist/chunk-YDWTXEKQ.js.map +6 -0
- package/dist/chunk-ZILB2HWE.js +24 -0
- package/dist/chunk-ZILB2HWE.js.map +6 -0
- package/dist/cli.js +74 -1500
- package/dist/cli.js.map +6 -1
- package/dist/defaults.d.ts +1 -1
- package/dist/detect-running-hosts.d.ts +1 -1
- package/dist/dev/dev-assets.d.ts +1 -1
- package/dist/dev/dev-registry.d.ts +1 -1
- package/dist/dev/error-page.d.ts +1 -1
- package/dist/dev/live-reload.d.ts +2 -2
- package/dist/dev-command-5PDEIWOC.js +5025 -0
- package/dist/dev-command-5PDEIWOC.js.map +6 -0
- package/dist/dev-command.d.ts +1 -1
- package/dist/discover-login-identity.d.ts +6 -7
- package/dist/discover-org.d.ts +2 -3
- package/dist/generated/openapi-routes.d.ts +6 -0
- package/dist/git-credential-INB2UV4C.js +170 -0
- package/dist/git-credential-INB2UV4C.js.map +6 -0
- package/dist/install-ONEJRYZ3.js +10728 -0
- package/dist/install-ONEJRYZ3.js.map +6 -0
- package/dist/install.d.ts +1 -1
- package/dist/local-execute-I3BP5NEQ.js +395 -0
- package/dist/local-execute-I3BP5NEQ.js.map +6 -0
- package/dist/local-execute-auth.d.ts +2 -2
- package/dist/local-execute.d.ts +1 -1
- package/dist/local-gateway-fetch-forward.d.ts +2 -2
- package/dist/local-package-run-JFKNSNWM.js +23 -0
- package/dist/local-package-run-JFKNSNWM.js.map +6 -0
- package/dist/local-package-run.d.ts +2 -2
- package/dist/mock/mock-fetch-gateway.d.ts +2 -2
- package/dist/mock/mock-supported.d.ts +1 -1
- package/dist/mock-dep-resolve-B5ZH4U3H.js +60 -0
- package/dist/mock-dep-resolve-B5ZH4U3H.js.map +6 -0
- package/dist/mock-fetch-gateway-S2ULVFAI.js +35 -0
- package/dist/mock-fetch-gateway-S2ULVFAI.js.map +6 -0
- package/dist/mock-local-deps-2VVNJLFF.js +200 -0
- package/dist/mock-local-deps-2VVNJLFF.js.map +6 -0
- package/dist/mock-local-deps.d.ts +1 -1
- package/dist/mock-server-TFO7Q26H.js +22 -0
- package/dist/mock-server-TFO7Q26H.js.map +6 -0
- package/dist/oauth-browser.d.ts +42 -0
- package/dist/oauth-provider.d.ts +14 -19
- package/dist/open-api-client-SR4B7265.js +43 -0
- package/dist/open-api-client-SR4B7265.js.map +6 -0
- package/dist/open-api-client.d.ts +2 -1
- package/dist/org-535LB4PD.js +134 -0
- package/dist/org-535LB4PD.js.map +6 -0
- package/dist/org-resolve.d.ts +2 -0
- package/dist/package-app-dev.d.ts +2 -2
- package/dist/package-manifest-DFF6XCPV.js +15 -0
- package/dist/package-manifest-DFF6XCPV.js.map +6 -0
- package/dist/remote-execute-JN6DRFEU.js +129 -0
- package/dist/remote-execute-JN6DRFEU.js.map +6 -0
- package/dist/remote-execute.d.ts +3 -3
- package/dist/setup-git-MHK563LB.js +87 -0
- package/dist/setup-git-MHK563LB.js.map +6 -0
- package/dist/setup-git.d.ts +1 -1
- package/dist/skill-D74XVI6T.js +61 -0
- package/dist/skill-D74XVI6T.js.map +6 -0
- package/dist/store-27J4CQZ2.js +48 -0
- package/dist/store-27J4CQZ2.js.map +6 -0
- package/dist/structured-error-5MLWXYR3.js +14 -0
- package/dist/structured-error-5MLWXYR3.js.map +6 -0
- package/dist/structured-error.d.ts +1 -1
- package/dist/target-33ATHDUF.js +17 -0
- package/dist/target-33ATHDUF.js.map +6 -0
- package/package.json +12 -11
- package/skills/kody/SKILL.md +53 -50
- package/dist/add-mcp-install.js +0 -59
- package/dist/add-mcp-install.js.map +0 -1
- package/dist/api-token-store.js +0 -120
- package/dist/api-token-store.js.map +0 -1
- package/dist/api-token.js +0 -238
- package/dist/api-token.js.map +0 -1
- package/dist/auth-bootstrap.js +0 -373
- package/dist/auth-bootstrap.js.map +0 -1
- package/dist/auth.js +0 -386
- package/dist/auth.js.map +0 -1
- package/dist/capability-proxy.js +0 -527
- package/dist/capability-proxy.js.map +0 -1
- package/dist/credential-call-map.js +0 -155
- package/dist/credential-call-map.js.map +0 -1
- package/dist/credential-client-runtime-source.js +0 -9
- package/dist/credential-client-runtime-source.js.map +0 -1
- package/dist/credentialed-fetch-scan.js +0 -98
- package/dist/credentialed-fetch-scan.js.map +0 -1
- package/dist/defaults.js +0 -34
- package/dist/defaults.js.map +0 -1
- package/dist/detect-running-hosts.js +0 -13
- package/dist/detect-running-hosts.js.map +0 -1
- package/dist/dev/dev-assets.js +0 -202
- package/dist/dev/dev-assets.js.map +0 -1
- package/dist/dev/dev-bundler.js +0 -65
- package/dist/dev/dev-bundler.js.map +0 -1
- package/dist/dev/dev-events.js +0 -94
- package/dist/dev/dev-events.js.map +0 -1
- package/dist/dev/dev-port.js +0 -80
- package/dist/dev/dev-port.js.map +0 -1
- package/dist/dev/dev-protocol.js +0 -14
- package/dist/dev/dev-protocol.js.map +0 -1
- package/dist/dev/dev-registry.js +0 -95
- package/dist/dev/dev-registry.js.map +0 -1
- package/dist/dev/dev-watcher.js +0 -162
- package/dist/dev/dev-watcher.js.map +0 -1
- package/dist/dev/error-page.js +0 -64
- package/dist/dev/error-page.js.map +0 -1
- package/dist/dev/live-reload.js +0 -151
- package/dist/dev/live-reload.js.map +0 -1
- package/dist/dev/prebuild.js +0 -102
- package/dist/dev/prebuild.js.map +0 -1
- package/dist/dev/process-reaper.js +0 -151
- package/dist/dev/process-reaper.js.map +0 -1
- package/dist/dev/stack-trace.js +0 -56
- package/dist/dev/stack-trace.js.map +0 -1
- package/dist/dev/workerd-process.js +0 -118
- package/dist/dev/workerd-process.js.map +0 -1
- package/dist/dev-command.js +0 -676
- package/dist/dev-command.js.map +0 -1
- package/dist/discover-login-identity.js +0 -77
- package/dist/discover-login-identity.js.map +0 -1
- package/dist/discover-org.js +0 -62
- package/dist/discover-org.js.map +0 -1
- package/dist/git-credential.js +0 -147
- package/dist/git-credential.js.map +0 -1
- package/dist/help.js +0 -333
- package/dist/help.js.map +0 -1
- package/dist/host-catalog.js +0 -427
- package/dist/host-catalog.js.map +0 -1
- package/dist/host-config.js +0 -80
- package/dist/host-config.js.map +0 -1
- package/dist/http-error-body.js +0 -35
- package/dist/http-error-body.js.map +0 -1
- package/dist/install-hosts.js +0 -328
- package/dist/install-hosts.js.map +0 -1
- package/dist/install.js +0 -120
- package/dist/install.js.map +0 -1
- package/dist/invoke-passthrough.js +0 -60
- package/dist/invoke-passthrough.js.map +0 -1
- package/dist/local-bundle.js +0 -200
- package/dist/local-bundle.js.map +0 -1
- package/dist/local-execute-auth.js +0 -53
- package/dist/local-execute-auth.js.map +0 -1
- package/dist/local-execute.js +0 -338
- package/dist/local-execute.js.map +0 -1
- package/dist/local-gateway-fetch-forward.js +0 -135
- package/dist/local-gateway-fetch-forward.js.map +0 -1
- package/dist/local-host-runtime-surface.js +0 -75
- package/dist/local-host-runtime-surface.js.map +0 -1
- package/dist/local-package-graph.js +0 -405
- package/dist/local-package-graph.js.map +0 -1
- package/dist/local-package-run.js +0 -307
- package/dist/local-package-run.js.map +0 -1
- package/dist/local-runtime-bridge.js +0 -132
- package/dist/local-runtime-bridge.js.map +0 -1
- package/dist/local-runtime-source.js +0 -541
- package/dist/local-runtime-source.js.map +0 -1
- package/dist/login-callback-assets.js +0 -10
- package/dist/login-callback-assets.js.map +0 -1
- package/dist/login-callback-page.js +0 -362
- package/dist/login-callback-page.js.map +0 -1
- package/dist/mcp.d.ts +0 -34
- package/dist/mcp.js +0 -134
- package/dist/mcp.js.map +0 -1
- package/dist/mock/ensure-msw.js +0 -215
- package/dist/mock/ensure-msw.js.map +0 -1
- package/dist/mock/install-mock-fetch-shim.js +0 -36
- package/dist/mock/install-mock-fetch-shim.js.map +0 -1
- package/dist/mock/load-package-mocks.js +0 -136
- package/dist/mock/load-package-mocks.js.map +0 -1
- package/dist/mock/mock-fetch-gateway.js +0 -343
- package/dist/mock/mock-fetch-gateway.js.map +0 -1
- package/dist/mock/mock-gateway-fetch-shim.js +0 -104
- package/dist/mock/mock-gateway-fetch-shim.js.map +0 -1
- package/dist/mock/mock-server.js +0 -499
- package/dist/mock/mock-server.js.map +0 -1
- package/dist/mock/mock-storage.js +0 -186
- package/dist/mock/mock-storage.js.map +0 -1
- package/dist/mock/mock-supported.js +0 -63
- package/dist/mock/mock-supported.js.map +0 -1
- package/dist/mock-dep-resolve.js +0 -47
- package/dist/mock-dep-resolve.js.map +0 -1
- package/dist/mock-local-deps.js +0 -207
- package/dist/mock-local-deps.js.map +0 -1
- package/dist/network-error.js +0 -11
- package/dist/network-error.js.map +0 -1
- package/dist/node-engine.js +0 -21
- package/dist/node-engine.js.map +0 -1
- package/dist/oauth-provider.js +0 -107
- package/dist/oauth-provider.js.map +0 -1
- package/dist/onboarding-prompt.js +0 -15
- package/dist/onboarding-prompt.js.map +0 -1
- package/dist/open-api-client.js +0 -432
- package/dist/open-api-client.js.map +0 -1
- package/dist/open-url.js +0 -21
- package/dist/open-url.js.map +0 -1
- package/dist/org-resolve.js +0 -16
- package/dist/org-resolve.js.map +0 -1
- package/dist/org-slug.js +0 -11
- package/dist/org-slug.js.map +0 -1
- package/dist/org.js +0 -100
- package/dist/org.js.map +0 -1
- package/dist/package-app-dev.js +0 -922
- package/dist/package-app-dev.js.map +0 -1
- package/dist/package-collaborators.js +0 -179
- package/dist/package-collaborators.js.map +0 -1
- package/dist/package-info.js +0 -19
- package/dist/package-info.js.map +0 -1
- package/dist/package-local-runtime-source.js.map +0 -1
- package/dist/package-manifest.js +0 -364
- package/dist/package-manifest.js.map +0 -1
- package/dist/process-info.js +0 -14
- package/dist/process-info.js.map +0 -1
- package/dist/redact.js +0 -16
- package/dist/redact.js.map +0 -1
- package/dist/remote-execute.js +0 -108
- package/dist/remote-execute.js.map +0 -1
- package/dist/setup-git.js +0 -676
- package/dist/setup-git.js.map +0 -1
- package/dist/skill.js +0 -35
- package/dist/skill.js.map +0 -1
- package/dist/store.js +0 -597
- package/dist/store.js.map +0 -1
- package/dist/structured-error.js +0 -57
- package/dist/structured-error.js.map +0 -1
- package/dist/target.js +0 -52
- package/dist/target.js.map +0 -1
- package/dist/tool-result.js +0 -19
- package/dist/tool-result.js.map +0 -1
- package/dist/which.js +0 -22
- package/dist/which.js.map +0 -1
- package/dist/workerd-binary.js +0 -98
- package/dist/workerd-binary.js.map +0 -1
|
@@ -1,21 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
93
|
+
return `
|
|
56
94
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
57
95
|
|
|
58
96
|
${localGatewayFetchStreamRuntimeSource({
|
|
59
|
-
|
|
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
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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
|
-
|
|
341
|
-
|
|
342
|
-
|
|
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
|
-
|
|
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
|
+
}
|