@kodycodes/cli 1.23.1 → 1.24.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 (46) hide show
  1. package/README.md +34 -1
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.js +2 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/dev/dev-bundler.d.ts +25 -0
  6. package/dist/dev/dev-bundler.js +51 -0
  7. package/dist/dev/dev-bundler.js.map +1 -0
  8. package/dist/dev/dev-events.d.ts +50 -0
  9. package/dist/dev/dev-events.js +81 -0
  10. package/dist/dev/dev-events.js.map +1 -0
  11. package/dist/dev/dev-protocol.d.ts +13 -0
  12. package/dist/dev/dev-protocol.js +14 -0
  13. package/dist/dev/dev-protocol.js.map +1 -0
  14. package/dist/dev/dev-watcher.d.ts +20 -0
  15. package/dist/dev/dev-watcher.js +108 -0
  16. package/dist/dev/dev-watcher.js.map +1 -0
  17. package/dist/dev/error-page.d.ts +21 -0
  18. package/dist/dev/error-page.js +64 -0
  19. package/dist/dev/error-page.js.map +1 -0
  20. package/dist/dev/live-reload.d.ts +45 -0
  21. package/dist/dev/live-reload.js +142 -0
  22. package/dist/dev/live-reload.js.map +1 -0
  23. package/dist/dev/process-reaper.d.ts +40 -0
  24. package/dist/dev/process-reaper.js +144 -0
  25. package/dist/dev/process-reaper.js.map +1 -0
  26. package/dist/dev/stack-trace.d.ts +11 -0
  27. package/dist/dev/stack-trace.js +56 -0
  28. package/dist/dev/stack-trace.js.map +1 -0
  29. package/dist/dev/workerd-process.d.ts +28 -0
  30. package/dist/dev/workerd-process.js +118 -0
  31. package/dist/dev/workerd-process.js.map +1 -0
  32. package/dist/dev-command.d.ts +2 -0
  33. package/dist/dev-command.js +18 -4
  34. package/dist/dev-command.js.map +1 -1
  35. package/dist/help.js +8 -1
  36. package/dist/help.js.map +1 -1
  37. package/dist/local-bundle.d.ts +43 -3
  38. package/dist/local-bundle.js +94 -33
  39. package/dist/local-bundle.js.map +1 -1
  40. package/dist/package-app-dev.d.ts +21 -3
  41. package/dist/package-app-dev.js +446 -192
  42. package/dist/package-app-dev.js.map +1 -1
  43. package/dist/package-local-runtime-source.d.ts +8 -0
  44. package/dist/package-local-runtime-source.js +69 -5
  45. package/dist/package-local-runtime-source.js.map +1 -1
  46. package/package.json +3 -1
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Turn a workerd V8 stack (frames point into the bundled `main.js`) into one
3
+ * that points at the author's `.ts` sources, without runtime wrapper frames.
4
+ */
5
+ import { originalPositionFor, TraceMap } from '@jridgewell/trace-mapping';
6
+ const internalModules = new Set([
7
+ '__kody_local_entry.js',
8
+ 'kody:runtime',
9
+ '.__kody_runtime__.js',
10
+ 'runtime.js',
11
+ 'entry.js',
12
+ ]);
13
+ const framePattern = /^(\s*at\s+)(?:(.*?)\s+\()?([^()\s]+?):(\d+):(\d+)\)?\s*$/;
14
+ export function createStackMapper(input) {
15
+ let map = null;
16
+ if (input.sourceMap) {
17
+ try {
18
+ map = new TraceMap(input.sourceMap);
19
+ }
20
+ catch {
21
+ map = null;
22
+ }
23
+ }
24
+ return (stack) => {
25
+ const out = [];
26
+ for (const line of stack.split('\n')) {
27
+ if (!/^\s*at\s/.test(line)) {
28
+ out.push(line);
29
+ continue;
30
+ }
31
+ const match = framePattern.exec(line);
32
+ if (!match)
33
+ continue;
34
+ const [, lead, fn, file, lineText, colText] = match;
35
+ const module = file.replace(/^file:\/\/\//, '').replace(/^\//, '');
36
+ if (internalModules.has(module))
37
+ continue;
38
+ const fnPart = fn ? `${fn} (` : '';
39
+ const close = fn ? ')' : '';
40
+ if (map && module === input.userModule) {
41
+ const original = originalPositionFor(map, {
42
+ line: Number(lineText),
43
+ column: Number(colText) - 1,
44
+ });
45
+ if (original.source && original.line !== null) {
46
+ const name = fn ?? original.name;
47
+ out.push(`${lead}${name ? `${name} (` : ''}${original.source}:${original.line}:${(original.column ?? 0) + 1}${name ? ')' : ''}`);
48
+ continue;
49
+ }
50
+ }
51
+ out.push(`${lead}${fnPart}${file}:${lineText}:${colText}${close}`);
52
+ }
53
+ return out.join('\n');
54
+ };
55
+ }
56
+ //# sourceMappingURL=stack-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-trace.js","sourceRoot":"","sources":["../../src/dev/stack-trace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEzE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC/B,uBAAuB;IACvB,cAAc;IACd,sBAAsB;IACtB,YAAY;IACZ,UAAU;CACV,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,0DAA0D,CAAA;AAI/E,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACA,IAAI,GAAG,GAAoB,IAAI,CAAA;IAC/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACJ,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACR,GAAG,GAAG,IAAI,CAAA;QACX,CAAC;IACF,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,GAAG,GAAkB,EAAE,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,SAAQ;YACT,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,KAAK,CAAA;YACnD,MAAM,MAAM,GAAG,IAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACnE,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACzC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAClC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3B,IAAI,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE;oBACzC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;oBACtB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBAC3B,CAAC,CAAA;gBACF,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC/C,MAAM,IAAI,GAAG,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAA;oBAChC,GAAG,CAAC,IAAI,CACP,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtH,CAAA;oBACD,SAAQ;gBACT,CAAC;YACF,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,QAAQ,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAA;AACF,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * One workerd `serve` process for `kody dev`: spawn, wait for the control-fd
3
+ * `listen` event, stream stdout/stderr line by line, and stop it.
4
+ */
5
+ export type WorkerdHandle = {
6
+ pid: number;
7
+ port: number;
8
+ /** Resolves with a short exit description once the process is gone. */
9
+ exited: Promise<string>;
10
+ kill: () => Promise<void>;
11
+ };
12
+ export declare function startWorkerd(input: {
13
+ workerdPath: string;
14
+ configPath: string;
15
+ cwd: string;
16
+ env: NodeJS.ProcessEnv;
17
+ /** Called synchronously after spawn so callers can track the pid before listen. */
18
+ onSpawn?: (pid: number) => void;
19
+ onStdoutLine: (line: string) => void;
20
+ onStderrLine: (line: string) => void;
21
+ }): Promise<WorkerdHandle>;
22
+ export declare function parseListenPort(line: string): number | null;
23
+ /**
24
+ * Make workerd stderr readable: drop native `stack: …workerd@0x…` address
25
+ * lines and the C++ source prefix on uncaught-exception lines. Returns null
26
+ * for lines that carry nothing for a JS developer.
27
+ */
28
+ export declare function cleanWorkerdStderrLine(line: string): string | null;
@@ -0,0 +1,118 @@
1
+ /**
2
+ * One workerd `serve` process for `kody dev`: spawn, wait for the control-fd
3
+ * `listen` event, stream stdout/stderr line by line, and stop it.
4
+ */
5
+ import { spawn } from 'node:child_process';
6
+ import { createInterface } from 'node:readline';
7
+ import { redact } from '../redact.js';
8
+ const workerdStartTimeoutMs = 30_000;
9
+ export async function startWorkerd(input) {
10
+ const child = spawn(input.workerdPath, ['serve', input.configPath, '--control-fd=3'], {
11
+ cwd: input.cwd,
12
+ env: input.env,
13
+ stdio: ['ignore', 'pipe', 'pipe', 'pipe'],
14
+ });
15
+ if (child.pid !== undefined)
16
+ input.onSpawn?.(child.pid);
17
+ let startupStderr = '';
18
+ let listening = false;
19
+ forEachLine(child.stdout, input.onStdoutLine);
20
+ forEachLine(child.stderr, (line) => {
21
+ if (!listening)
22
+ startupStderr += `${line}\n`;
23
+ input.onStderrLine(line);
24
+ });
25
+ const exited = new Promise((resolve) => {
26
+ child.once('exit', (code, signal) => resolve(`workerd exit ${signal ?? code}`));
27
+ child.once('error', (error) => resolve(`workerd error: ${error.message}`));
28
+ });
29
+ const port = await waitForListen(child, exited, () => {
30
+ const trimmed = redact(startupStderr.trim());
31
+ return trimmed ? `\n${trimmed}` : '';
32
+ });
33
+ listening = true;
34
+ return {
35
+ pid: child.pid ?? -1,
36
+ port,
37
+ exited,
38
+ kill: async () => {
39
+ if (child.exitCode !== null || child.signalCode !== null)
40
+ return;
41
+ child.kill('SIGKILL');
42
+ await Promise.race([exited, new Promise((resolve) => setTimeout(resolve, 1000))]);
43
+ },
44
+ };
45
+ }
46
+ function forEachLine(stream, onLine) {
47
+ if (!stream)
48
+ return;
49
+ const lines = createInterface({ input: stream, crlfDelay: Infinity });
50
+ lines.on('line', (line) => {
51
+ if (line.length > 0)
52
+ onLine(line);
53
+ });
54
+ }
55
+ function waitForListen(child, exited, stderr) {
56
+ return new Promise((resolve, reject) => {
57
+ const control = child.stdio[3];
58
+ let buffered = '';
59
+ let settled = false;
60
+ const settle = (fn) => {
61
+ if (settled)
62
+ return;
63
+ settled = true;
64
+ clearTimeout(timer);
65
+ fn();
66
+ };
67
+ const timer = setTimeout(() => {
68
+ settle(() => {
69
+ child.kill('SIGKILL');
70
+ reject(new Error(`workerd did not start within ${workerdStartTimeoutMs / 1000}s.${stderr()}`));
71
+ });
72
+ }, workerdStartTimeoutMs);
73
+ control?.on('data', (chunk) => {
74
+ buffered += chunk.toString('utf8');
75
+ const lines = buffered.split('\n');
76
+ buffered = lines.pop() ?? '';
77
+ for (const line of lines) {
78
+ const port = parseListenPort(line);
79
+ if (port !== null)
80
+ settle(() => resolve(port));
81
+ }
82
+ });
83
+ void exited.then((detail) => {
84
+ settle(() => reject(new Error(`workerd failed to start (${detail})${stderr()}`)));
85
+ });
86
+ });
87
+ }
88
+ export function parseListenPort(line) {
89
+ if (!line.trim())
90
+ return null;
91
+ try {
92
+ const event = JSON.parse(line);
93
+ return event.event === 'listen' && event.socket === 'http' && typeof event.port === 'number'
94
+ ? event.port
95
+ : null;
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ }
101
+ /**
102
+ * Make workerd stderr readable: drop native `stack: …workerd@0x…` address
103
+ * lines and the C++ source prefix on uncaught-exception lines. Returns null
104
+ * for lines that carry nothing for a JS developer.
105
+ */
106
+ export function cleanWorkerdStderrLine(line) {
107
+ const trimmed = line.trim();
108
+ if (!trimmed)
109
+ return null;
110
+ if (/^stack:(\s+\S+@[0-9a-fx]+)+\s*$/i.test(trimmed))
111
+ return null;
112
+ const prefixed = /^workerd\/\S+:\d+: (?:error|warning|info|debug): (.*)$/.exec(trimmed);
113
+ const body = prefixed ? prefixed[1] : trimmed;
114
+ return body
115
+ .replace(/\S+\.(?:c\+\+|h):\d+: failed: /g, '')
116
+ .replace(/(?:remote\.)?jsg\.(\w*Error)(?=:)/g, '$1');
117
+ }
118
+ //# sourceMappingURL=workerd-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerd-process.js","sourceRoot":"","sources":["../../src/dev/workerd-process.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,8 @@ export declare function runDevServe(input: {
49
49
  appBasePath?: string;
50
50
  allowPrivateNetwork?: boolean;
51
51
  passthroughHosts?: ReadonlyArray<string>;
52
+ /** Inject the live-reload client into HTML responses (default true). */
53
+ liveReload?: boolean;
52
54
  cwd?: string;
53
55
  io: DevIo;
54
56
  /** Injected for tests — when set, serve returns immediately after start. */
@@ -14,6 +14,7 @@ import { loadPackageManifest, resolveExportModulePath, resolvePackagePath, } fro
14
14
  import { StructuredCliError } from './structured-error.js';
15
15
  import { formatToolResult } from './tool-result.js';
16
16
  import { bundleLocalUserModule } from './local-bundle.js';
17
+ import { formatDevEvent } from './dev/dev-events.js';
17
18
  export async function resolveDevAuth(input) {
18
19
  if (input.target !== 'mock') {
19
20
  return {
@@ -68,8 +69,10 @@ export async function runDevServe(input) {
68
69
  ? { passthroughHosts: input.auth.passthroughHosts }
69
70
  : {}),
70
71
  allowPrivateNetwork: input.allowPrivateNetwork,
72
+ liveReload: input.liveReload ?? true,
71
73
  onStatus: (message) => input.io.stderr(`${message}\n`),
72
74
  onError: (message) => input.io.stderr(`${message}\n`),
75
+ onEvent: (event) => writeDevEvent(input.io, event),
73
76
  });
74
77
  input.io.stdout(`kody dev listening on ${server.hostedUrl}${server.appBasePath || '/'}\n` +
75
78
  `target: ${input.target}\n` +
@@ -81,9 +84,10 @@ export async function runDevServe(input) {
81
84
  return 0;
82
85
  }
83
86
  await new Promise((resolveWait) => {
87
+ const signals = ['SIGINT', 'SIGTERM', 'SIGHUP'];
84
88
  const stop = async () => {
85
- process.off('SIGINT', onSig);
86
- process.off('SIGTERM', onSig);
89
+ for (const signal of signals)
90
+ process.off(signal, onSig);
87
91
  await server.close();
88
92
  await input.auth.closeMock?.();
89
93
  resolveWait();
@@ -91,8 +95,8 @@ export async function runDevServe(input) {
91
95
  const onSig = () => {
92
96
  void stop();
93
97
  };
94
- process.on('SIGINT', onSig);
95
- process.on('SIGTERM', onSig);
98
+ for (const signal of signals)
99
+ process.on(signal, onSig);
96
100
  });
97
101
  return 0;
98
102
  }
@@ -114,6 +118,12 @@ export async function runDevFetch(input) {
114
118
  watch: false,
115
119
  onStatus: (message) => input.io.stderr(`${message}\n`),
116
120
  onError: (message) => input.io.stderr(`${message}\n`),
121
+ onEvent: (event) => {
122
+ // stdout is reserved for the fetch result; logs and errors go to stderr.
123
+ if (event.type === 'log' || event.type === 'runtime_error' || event.type === 'build_error') {
124
+ input.io.stderr(`${formatDevEvent(event).text}\n`);
125
+ }
126
+ },
117
127
  });
118
128
  try {
119
129
  const result = await server.fetchPath(input.path, {
@@ -484,6 +494,10 @@ async function printDevDryRun(input) {
484
494
  await input.closeMock?.();
485
495
  }
486
496
  }
497
+ function writeDevEvent(io, event) {
498
+ const { stream, text } = formatDevEvent(event);
499
+ io[stream](`${text}\n`);
500
+ }
487
501
  /** Parse `kody dev` argv after the `dev` token. */
488
502
  export function parseDevSubcommand(positionals) {
489
503
  const raw = positionals[0];
@@ -1 +1 @@
1
- {"version":3,"file":"dev-command.js","sourceRoot":"","sources":["../src/dev-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACN,+BAA+B,EAC/B,qBAAqB,GAErB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAA;AACnF,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,GAElB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AA4BzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAYpC;IACA,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;gBACjC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACN,CAAA;IACF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG;KACnC,CAAC,CAAA;IACF,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,OAAO;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;YACjC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACN,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,SAAS,EAAE,OAAO,CAAC,OAAO;YACzB,CAAC,CAAC,KAAK,IAAI,EAAE;gBACX,IAAI,UAAU;oBAAE,OAAM;gBACtB,UAAU,GAAG,IAAI,CAAA;gBACjB,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAC7B,CAAC;YACF,CAAC,CAAC,SAAS;KACZ,CAAA;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAWjC;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACvC,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;YACjC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM;gBACpC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;QACP,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC;QACtD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC;KACrD,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,CAAC,MAAM,CACd,yBAAyB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG,IAAI;QACxE,WAAW,KAAK,CAAC,MAAM,IAAI;QAC3B,YAAY,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,KAAK;QAClD,uHAAuH,CACxH,CAAA;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAA;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC7B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;YAC9B,WAAW,EAAE,CAAA;QACd,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,GAAG,EAAE;YAClB,KAAK,IAAI,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACT,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAYjC;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACvC,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM;YACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACN,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC;QACtD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC;KACrD,CAAC,CAAA;IACF,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;YACjD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,IAAI;gBAClB,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBACxC,CAAC,CAAC,SAAS;SACZ,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;IAC/B,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAS/B;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;YACzD,KAAK,EAAE,QAAQ,CAAC,eAAe;YAC/B,GAAG,EAAE,eAAe,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG;YACxE,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE;YAC/B,UAAU;YACV,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE;gBACN,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;aAC5B;YACD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAA;IACH,CAAC;IACD,sEAAsE;IACtE,OAAO,MAAM,oBAAoB,CAAC;QACjC,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,EAAE;KAC/B,CAAC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAUnC;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG;YACjE,KAAK,EAAE,QAAQ,CAAC,eAAe;YAC/B,GAAG,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG;YAChF,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3F,IAAI,QAAQ,GAAY,IAAI,CAAA;IAC5B,IAAI,CAAC;QACJ,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,QAAQ,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,MAAM,MAAM,GACX,OAAO,CAAC,SAAS,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC;YACA,OAAO,EAAE;gBACR,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,IAAI,EAAE,KAAK,CAAC,WAAW;gBACvB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;YACD,OAAO,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;aACd;YACD,SAAS,EAAE,IAAa;SACxB,CAAA;IACJ,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACpE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,WAAW,KAAK,CAAC,WAAW,EAAE;YACvC,UAAU;YACV,MAAM;YACN,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC3D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,oBAAoB,CAAC;QACjC,QAAQ;QACR,UAAU;QACV,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,WAAW,KAAK,CAAC,WAAW,EAAE;KACvC,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAUhC;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,kBAAkB,CAAC;gBAC5B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;gBACpE,KAAK,EAAE,QAAQ,CAAC,eAAe;gBAC/B,GAAG,EAAE,wBAAwB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,6DAA6D;gBACpJ,MAAM,EAAE,KAAK,CAAC,MAAM;aACpB,CAAC,CAAA;QACH,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC;YACvG,KAAK,EAAE,QAAQ,CAAC,eAAe;YAC/B,GAAG,EAAE,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,0DAA0D;YACpI,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3F,IAAI,QAAiC,CAAA;IACrC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAA;QAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC9C,CAAC;QACD,QAAQ,GAAG,EAAE,GAAI,MAAkC,EAAE,CAAA;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,kBAAkB,CAAC;YAC5B,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,8BAA8B,KAAK,CAAC,QAAQ,oBAAoB;YACzE,GAAG,EAAE,oEAAoE;YACzE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC1E,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAA;IACH,CAAC;IACD,8EAA8E;IAC9E,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IAC7B,CAAC;IACD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,QAAQ,CAAC,eAAe,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IAC3D,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,gBAAgB,KAAK,CAAC,KAAK,EAAE;YACtC,UAAU;YACV,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAClE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,oBAAoB,CAAC;QACjC,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,gBAAgB,KAAK,CAAC,KAAK,EAAE;KACtC,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAKjC;IACA,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,MAAM,GAA0D,EAAE,CAAA;IACxE,MAAM,iBAAiB,GAAmC,EAAE,CAAA;IAE5D,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAW,EAAE,MAAe,EAAE,EAAE;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,UAAkB,EAAiB,EAAE;QAChF,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAA;YACvD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,CAAC;IACF,CAAC,CAAA;IAED,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE1D,IAAI,CAAC;QACJ,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,aAAa,CAClB,kBAAkB,EAClB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAChD,CAAA;IACF,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,aAAa,CAAC,OAAO,IAAI,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,MAAM,aAAa,CAClB,WAAW,IAAI,EAAE,EACjB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CACjD,CAAA;IACF,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACnE,MAAM,aAAa,CAClB,gBAAgB,KAAK,EAAE,EACvB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CACzC,CAAA;IACF,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,aAAa,CAAC,UAAU,GAAG,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;QAC3D,YAAY,GAAG,IAAI,CAAA;IACpB,CAAC;IAAC,MAAM,CAAC;QACR,YAAY,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,MAAM,WAAW,GAAG,qBAAqB,CAAC;QACzC,OAAO,EAAE,iBAAiB;QAC1B,YAAY;KACZ,CAAC,CAAA;IACF,IAAI,WAAW,EAAE,CAAC;QACjB,0EAA0E;QAC1E,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,CAAC,MAAM,CACd,GAAG,IAAI,CAAC,SAAS,CAChB;YACC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM;YACN,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YACvB,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC;oBACA,iBAAiB,EAAE;wBAClB,QAAQ,EAAE,IAAI;wBACd,YAAY;wBACZ,OAAO,EAAE,iBAAiB;qBAC1B;iBACD;gBACF,CAAC,CAAC,EAAE,CAAC;SACN,EACD,IAAI,EACJ,CAAC,CACD,IAAI,CACL,CAAA;IACF,CAAC;SAAM,CAAC;QACP,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;YACrC,KAAK,CAAC,EAAE,CAAC,MAAM,CACd,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAC9E,CAAA;QACF,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,MAAM,CACd,MAAM,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,0BAA0B,MAAM,CAAC,MAAM,mBAAmB,KAAK,CAAC,MAAM,KAAK;YAC7E,CAAC,CAAC,0BAA0B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAC/D,CAAA;IACF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAUnC;IACA,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC/C,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;QAC7B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9C,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,oBAAoB;QACvB,WAAW,EAAE,EAAE;KACf,CAAC,CAAA;IACF,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;YAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,cAAc;YACd,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAChC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM;gBACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,CAAC;SACtD,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;YAAS,CAAC;QACV,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;IAC/B,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,KAS7B;IACA,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG;YACZ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,EACH,KAAK,CAAC,MAAM,KAAK,MAAM;gBACtB,CAAC,CAAC,qGAAqG;gBACvG,CAAC,CAAC,sEAAsE;SAC1E,CAAA;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,EAAE,CAAC,MAAM,CACd,yBAAyB,KAAK,CAAC,OAAO,gBAAgB,KAAK,CAAC,MAAM,IAAI;gBACrE,WAAW,KAAK,CAAC,UAAU,IAAI;gBAC/B,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBAC5D,CAAC,KAAK,CAAC,KAAK;oBACX,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACrD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,IAAI,CAAC,IAAI,IAAI,CACjB,CAAA;QACF,CAAC;QACD,OAAO,CAAC,CAAA;IACT,CAAC;YAAS,CAAC;QACV,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,CAAA;IAC1B,CAAC;AACF,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,kBAAkB,CAAC,WAA0B;IAI5D,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;IAClD,CAAC;IACD,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD;YACC,MAAM,IAAI,KAAK,CACd,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qDAAqD,CACvG,CAAA;IACH,CAAC;AACF,CAAC;AAED,KAAM,IAAuC,CAAA"}
1
+ {"version":3,"file":"dev-command.js","sourceRoot":"","sources":["../src/dev-command.ts"],"names":[],"mappings":"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"}
package/dist/help.js CHANGED
@@ -53,7 +53,7 @@ Usage:
53
53
  kody package revoke <package> (--team <slug> | --user <username> | --grant <grant_id>) [--org <slug>] [--json]
54
54
  kody execute [--org <slug>] [--invoke <ref> | --code <esm> | --file <path>] [--params <json>] [--conversation-id <id>] [--json]
55
55
  [--credential <key=name>]… [--target prod|mock] [--token <token>] [--api-url <url>] [--local] [--allow-private-network]
56
- kody dev [serve] [--org <slug>] [--target prod|mock] [--reset-storage] [--port <n>] [--app-base-path <path>] [--allow-private-network]
56
+ kody dev [serve] [--org <slug>] [--target prod|mock] [--reset-storage] [--port <n>] [--app-base-path <path>] [--allow-private-network] [--no-live-reload]
57
57
  kody dev fetch <path> [--method <verb>] [--body <file>] [--target prod|mock] [--json]
58
58
  kody dev job <name> [--target prod|mock] [--dry-run] [--json]
59
59
  kody dev webhook <name> --body <file.json> [--target prod|mock] [--dry-run] [--json]
@@ -269,6 +269,13 @@ ${orgBlock}
269
269
  kody dev Local testing for unpublished packages. Serves \`kody.app.entry\`
270
270
  on localhost via workerd with hot reload (mount-stripped path;
271
271
  packageContext.hostedUrl / appBasePath point at localhost).
272
+ Rebuilds swap to a new workerd only once it listens (requests
273
+ wait; no 503 or stale bundle). Build errors (file:line:col +
274
+ code frame) and uncaught handler errors (stack mapped to your
275
+ .ts sources) are served as dev-only 500 pages until fixed. App
276
+ console.* streams to the terminal tagged by request. HTML pages
277
+ live-reload after each rebuild and show an error overlay
278
+ (SSE at /__kody/dev/events; \`--no-live-reload\` disables).
272
279
  Bundles with the same esbuild path as publish (\`local-bundle\`).
273
280
  Four surfaces: exports (\`execute --invoke ./export\` or
274
281
  \`--file\` against the local package), webhooks
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EACN,cAAc,GAId,MAAM,YAAY,CAAA;AAEnB,SAAS,mBAAmB,CAAC,IAAsB,EAAE,MAAM,GAAG,IAAI;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,sCAAsC,CAAA;IACvD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;YAC1B,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,EAAE,CAAA;QACL,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAC3E,CAAA;IACF,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAKvB,EAAE;IACL,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC;YACJ,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC/D,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,GAAG,EAAE,CAAA;QACV,CAAC;IACF,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAE1C,OAAO,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmChC,aAAa,CAAC,aAAa,CAAC;;;EAGlC,QAAQ;;;gBAGM,SAAS;;;;;;eAMV,SAAS;;;;;;;;;;;;;;;;oCAgBY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;;+DASkC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAoCrC,cAAc;;;eAGvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;cAuBd,cAAc;;;;;eAKb,cAAc;;;;;;;;2BAQF,SAAS;;;;;;;;;;;;eAYrB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA8EyB,aAAa;IAC/D,SAAS;IACT,cAAc;mDACiC,aAAa;;;;;CAK/D,CAAA;AACD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAwC;IAC7D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EACN,cAAc,GAId,MAAM,YAAY,CAAA;AAEnB,SAAS,mBAAmB,CAAC,IAAsB,EAAE,MAAM,GAAG,IAAI;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,sCAAsC,CAAA;IACvD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;YAC1B,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,EAAE,CAAA;QACL,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAC3E,CAAA;IACF,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAKvB,EAAE;IACL,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC;YACJ,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC/D,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,GAAG,EAAE,CAAA;QACV,CAAC;IACF,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAE1C,OAAO,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmChC,aAAa,CAAC,aAAa,CAAC;;;EAGlC,QAAQ;;;gBAGM,SAAS;;;;;;eAMV,SAAS;;;;;;;;;;;;;;;;oCAgBY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;;+DASkC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAoCrC,cAAc;;;eAGvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;cAuBd,cAAc;;;;;eAKb,cAAc;;;;;;;;2BAQF,SAAS;;;;;;;;;;;;eAYrB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAqFyB,aAAa;IAC/D,SAAS;IACT,cAAc;mDACiC,aAAa;;;;;CAK/D,CAAA;AACD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAwC;IAC7D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC"}
@@ -1,7 +1,47 @@
1
+ /** One esbuild diagnostic with a 1-based line/column and a code frame. */
2
+ export type BundleDiagnostic = {
3
+ /** Path relative to the working directory, or null for location-less errors. */
4
+ file: string | null;
5
+ line: number | null;
6
+ col: number | null;
7
+ message: string;
8
+ /** Source line plus caret, or null when esbuild gave no location. */
9
+ frame: string | null;
10
+ };
11
+ /** Thrown when esbuild fails; `diagnostics` keeps the structured locations. */
12
+ export declare class BundleError extends Error {
13
+ readonly diagnostics: Array<BundleDiagnostic>;
14
+ constructor(message: string, diagnostics: Array<BundleDiagnostic>);
15
+ }
16
+ /**
17
+ * esbuild options shared by one-shot bundles and `kody dev` rebuilds: follow
18
+ * relative imports and npm packages, keep `kody:*` external for package-graph
19
+ * + runtime binding, and leave `node:*` external for workerd `nodejs_compat`.
20
+ */
21
+ export declare function localBundleOptions(entry: string): {
22
+ absWorkingDir: string;
23
+ entryPoints: string[];
24
+ bundle: true;
25
+ write: false;
26
+ format: "esm";
27
+ platform: "neutral";
28
+ target: string;
29
+ logLevel: "silent";
30
+ packages: "bundle";
31
+ external: string[];
32
+ };
1
33
  /**
2
34
  * Bundle a `--file` entry for local workerd the same way hosted execute /
3
- * publish resolves code: follow relative imports and npm packages, keep
4
- * `kody:*` external for package-graph + runtime binding, and leave `node:*`
5
- * external for workerd `nodejs_compat` (same as unbundled `--code`).
35
+ * publish resolves code.
6
36
  */
7
37
  export declare function bundleLocalUserModule(modulePath: string): Promise<string>;
38
+ /**
39
+ * `workingDir` is esbuild's `absWorkingDir` (locations are relative to it);
40
+ * `displayRoot` is what reported paths are relative to.
41
+ */
42
+ export declare function createBundleError(modulePath: string, error: unknown, paths?: {
43
+ workingDir: string;
44
+ displayRoot: string;
45
+ }): BundleError;
46
+ /** `file:line:col: message` followed by an indented code frame. */
47
+ export declare function formatBundleDiagnostic(item: BundleDiagnostic): string;
@@ -1,64 +1,125 @@
1
1
  import * as esbuild from 'esbuild';
2
- import { resolve } from 'node:path';
2
+ import { relative, resolve } from 'node:path';
3
+ /** Thrown when esbuild fails; `diagnostics` keeps the structured locations. */
4
+ export class BundleError extends Error {
5
+ diagnostics;
6
+ constructor(message, diagnostics) {
7
+ super(message);
8
+ this.name = 'BundleError';
9
+ this.diagnostics = diagnostics;
10
+ }
11
+ }
12
+ /**
13
+ * esbuild options shared by one-shot bundles and `kody dev` rebuilds: follow
14
+ * relative imports and npm packages, keep `kody:*` external for package-graph
15
+ * + runtime binding, and leave `node:*` external for workerd `nodejs_compat`.
16
+ */
17
+ export function localBundleOptions(entry) {
18
+ return {
19
+ absWorkingDir: process.cwd(),
20
+ entryPoints: [entry],
21
+ bundle: true,
22
+ write: false,
23
+ format: 'esm',
24
+ platform: 'neutral',
25
+ target: 'esnext',
26
+ logLevel: 'silent',
27
+ packages: 'bundle',
28
+ external: ['kody:*', 'node:*'],
29
+ };
30
+ }
3
31
  /**
4
32
  * Bundle a `--file` entry for local workerd the same way hosted execute /
5
- * publish resolves code: follow relative imports and npm packages, keep
6
- * `kody:*` external for package-graph + runtime binding, and leave `node:*`
7
- * external for workerd `nodejs_compat` (same as unbundled `--code`).
33
+ * publish resolves code.
8
34
  */
9
35
  export async function bundleLocalUserModule(modulePath) {
10
36
  const entry = resolve(modulePath);
11
37
  let result;
12
38
  try {
13
- result = await esbuild.build({
14
- absWorkingDir: process.cwd(),
15
- entryPoints: [entry],
16
- bundle: true,
17
- write: false,
18
- format: 'esm',
19
- platform: 'neutral',
20
- target: 'esnext',
21
- logLevel: 'silent',
22
- packages: 'bundle',
23
- external: ['kody:*', 'node:*'],
24
- });
39
+ result = await esbuild.build(localBundleOptions(entry));
25
40
  }
26
41
  catch (error) {
27
- throw new Error(formatBundleError(modulePath, error));
42
+ throw createBundleError(modulePath, error);
28
43
  }
29
44
  const output = result.outputFiles?.[0];
30
45
  if (output === undefined) {
31
- throw new Error(`Could not bundle ${modulePath} for local execute: esbuild produced no output.`);
46
+ throw new BundleError(`Could not bundle ${modulePath}: esbuild produced no output.`, []);
32
47
  }
33
48
  if (result.errors.length > 0) {
34
- throw new Error(formatBundleError(modulePath, { errors: result.errors }));
49
+ throw createBundleError(modulePath, { errors: result.errors });
35
50
  }
36
51
  return output.text;
37
52
  }
38
- function formatBundleError(modulePath, error) {
39
- const details = bundleErrorDetails(error);
40
- const header = `Could not bundle ${modulePath} for local execute.`;
53
+ /**
54
+ * `workingDir` is esbuild's `absWorkingDir` (locations are relative to it);
55
+ * `displayRoot` is what reported paths are relative to.
56
+ */
57
+ export function createBundleError(modulePath, error, paths = {
58
+ workingDir: process.cwd(),
59
+ displayRoot: process.cwd(),
60
+ }) {
61
+ const diagnostics = bundleDiagnostics(error, paths);
62
+ const details = diagnostics.map(formatBundleDiagnostic).join('\n');
63
+ const header = `Could not bundle ${modulePath}.`;
41
64
  const body = details.length > 0 ? `${header}\n${details}` : header;
65
+ const messages = diagnostics.map((item) => item.message).join('\n');
42
66
  // Only when the unresolved specifier itself is kody:@ (not a path that happens
43
67
  // to contain that substring).
44
- if (/Could not resolve ["']kody:@/i.test(details)) {
45
- return `${body}\nfix: Map the dependency in .kody/deps.json (or package.json#kody.localDeps), keep it in this package's exports, or log in so published package-graph can supply it.`;
68
+ if (/Could not resolve ["']kody:@/i.test(messages)) {
69
+ return new BundleError(`${body}\nfix: Map the dependency in .kody/deps.json (or package.json#kody.localDeps), keep it in this package's exports, or log in so published package-graph can supply it.`, diagnostics);
46
70
  }
47
71
  if (/Could not resolve|Cannot find module|ENOENT/i.test(body)) {
48
- return `${body}\nfix: Run \`npm install\` in the package directory (and any local deps), then retry.`;
72
+ return new BundleError(`${body}\nfix: Run \`npm install\` in the package directory (and any local deps), then retry.`, diagnostics);
49
73
  }
50
- return body;
74
+ return new BundleError(body, diagnostics);
75
+ }
76
+ /** `file:line:col: message` followed by an indented code frame. */
77
+ export function formatBundleDiagnostic(item) {
78
+ const where = item.file !== null
79
+ ? `${item.file}${item.line !== null ? `:${item.line}` : ''}${item.col !== null ? `:${item.col}` : ''}: `
80
+ : '';
81
+ return `${where}${item.message}${item.frame ? `\n${item.frame}` : ''}`;
51
82
  }
52
- function bundleErrorDetails(error) {
83
+ function bundleDiagnostics(error, paths) {
53
84
  if (isEsbuildFailure(error)) {
54
85
  return error.errors
55
- .map((item) => item.text.trim())
56
- .filter((text) => text.length > 0)
57
- .join('\n');
86
+ .filter((item) => item.text.trim().length > 0)
87
+ .map((item) => toDiagnostic(item, paths));
58
88
  }
59
- if (error instanceof Error)
60
- return error.message;
61
- return String(error);
89
+ return [
90
+ {
91
+ file: null,
92
+ line: null,
93
+ col: null,
94
+ message: error instanceof Error ? error.message : String(error),
95
+ frame: null,
96
+ },
97
+ ];
98
+ }
99
+ function toDiagnostic(item, paths) {
100
+ const location = item.location;
101
+ if (!location) {
102
+ return { file: null, line: null, col: null, message: item.text.trim(), frame: null };
103
+ }
104
+ const absolute = resolve(paths.workingDir, location.file);
105
+ const fromRoot = relative(paths.displayRoot, absolute);
106
+ const file = fromRoot && !fromRoot.startsWith('..') ? fromRoot : absolute;
107
+ return {
108
+ file,
109
+ line: location.line,
110
+ col: location.column + 1,
111
+ message: item.text.trim(),
112
+ frame: codeFrame(location),
113
+ };
114
+ }
115
+ function codeFrame(location) {
116
+ if (!location.lineText)
117
+ return null;
118
+ const gutter = String(location.line);
119
+ const pad = ' '.repeat(gutter.length);
120
+ const caretWidth = Math.max(1, Math.min(location.length || 1, location.lineText.length));
121
+ return (` ${gutter} | ${location.lineText}\n` +
122
+ ` ${pad} | ${' '.repeat(location.column)}${'^'.repeat(caretWidth)}`);
62
123
  }
63
124
  function isEsbuildFailure(error) {
64
125
  return (typeof error === 'object' &&