run402-mcp 1.60.1 → 1.60.2

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 CHANGED
@@ -217,7 +217,7 @@ npm install @run402/sdk
217
217
  Two entry points:
218
218
 
219
219
  - **`@run402/sdk`** — isomorphic. Bring your own `CredentialsProvider` (a session-token shim, a remote vault, anything that resolves project keys + auth headers). Works in Node 22, Deno, Bun, V8 isolates.
220
- - **`@run402/sdk/node`** — Node-only convenience. Reads `~/.config/run402/projects.json`, signs x402 payments from the local allowance, exposes `sites.deployDir(...)`.
220
+ - **`@run402/sdk/node`** — Node-only convenience. Reads `~/.config/run402/projects.json`, signs x402 payments from the local allowance, exposes `sites.deployDir(...)`, `fileSetFromDir(...)`, and typed deploy-manifest helpers (`loadDeployManifest`, `normalizeDeployManifest`).
221
221
 
222
222
  ```ts
223
223
  import { run402 } from "@run402/sdk/node";
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/tools/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAgCjC,QAAA,MAAM,OAAO;;;;;;;;;;;;KAAsB,CAAC;AAEpC,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBT,CAAC;AAEZ,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BP,CAAC;AAIZ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FxB,CAAC;AAGF,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC5C,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EACD;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GACzB;QAAE,KAAK,EAAE;YAAE,GAAG,CAAC,EAAE,YAAY,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0GhF"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/tools/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAgCjC,QAAA,MAAM,OAAO;;;;;;;;;;;;KAAsB,CAAC;AAEpC,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBT,CAAC;AAEZ,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BP,CAAC;AAIZ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FxB,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC5C,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,IAAI,CAAC,EACD;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GACzB;QAAE,KAAK,EAAE;YAAE,GAAG,CAAC,EAAE,YAAY,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6GhF"}
@@ -4,6 +4,7 @@ import { formatCanonicalErrorContext, mapSdkError, projectNotFound } from "../er
4
4
  import { requireAllowanceAuth } from "../allowance-auth.js";
5
5
  import { updateProject } from "../keystore.js";
6
6
  import { PaymentRequired, Run402DeployError, } from "../../sdk/dist/index.js";
7
+ import { normalizeDeployManifest } from "../../sdk/dist/node/index.js";
7
8
  /**
8
9
  * MCP `deploy` tool — exposes the unified `r.deploy.apply` primitive.
9
10
  *
@@ -168,8 +169,11 @@ export async function handleDeploy(args) {
168
169
  events.push(e);
169
170
  };
170
171
  let spec;
172
+ let idempotencyKey;
171
173
  try {
172
- spec = translateMcpToReleaseSpec(args);
174
+ const normalized = await normalizeDeployManifest(args);
175
+ spec = normalized.spec;
176
+ idempotencyKey = normalized.idempotencyKey;
173
177
  }
174
178
  catch (err) {
175
179
  return mapSdkError(err, "validating deploy spec");
@@ -177,7 +181,7 @@ export async function handleDeploy(args) {
177
181
  try {
178
182
  const result = await getSdk().deploy.apply(spec, {
179
183
  onEvent,
180
- idempotencyKey: args.idempotency_key,
184
+ idempotencyKey,
181
185
  allowWarnings: args.allow_warnings === true,
182
186
  });
183
187
  if (result.urls.deployment_id) {
@@ -298,113 +302,4 @@ function renderEventsBlock(events) {
298
302
  "```",
299
303
  ].join("\n");
300
304
  }
301
- // ─── MCP → ReleaseSpec translator ────────────────────────────────────────────
302
- function translateMcpToReleaseSpec(args) {
303
- const spec = { project: args.project_id };
304
- if (args.base)
305
- spec.base = args.base;
306
- if (args.subdomains)
307
- spec.subdomains = args.subdomains;
308
- if (args.secrets)
309
- spec.secrets = args.secrets;
310
- if (args.database) {
311
- spec.database = {};
312
- if (args.database.expose)
313
- spec.database.expose = args.database.expose;
314
- if (args.database.zero_downtime !== undefined) {
315
- spec.database.zero_downtime = args.database.zero_downtime;
316
- }
317
- if (args.database.migrations && args.database.migrations.length > 0) {
318
- spec.database.migrations = args.database.migrations.map((m) => ({
319
- id: m.id,
320
- ...(m.sql !== undefined ? { sql: m.sql } : {}),
321
- ...(m.sql_ref ? { sql_ref: m.sql_ref } : {}),
322
- ...(m.checksum ? { checksum: m.checksum } : {}),
323
- ...(m.transaction ? { transaction: m.transaction } : {}),
324
- }));
325
- }
326
- }
327
- if (args.functions) {
328
- spec.functions = {};
329
- if (args.functions.replace) {
330
- spec.functions.replace = mapFunctions(args.functions.replace);
331
- }
332
- if (args.functions.patch) {
333
- spec.functions.patch = {};
334
- if (args.functions.patch.set) {
335
- spec.functions.patch.set = mapFunctions(args.functions.patch.set);
336
- }
337
- if (args.functions.patch.delete) {
338
- spec.functions.patch.delete = args.functions.patch.delete;
339
- }
340
- }
341
- }
342
- if (args.site) {
343
- if ("replace" in args.site) {
344
- spec.site = { replace: mapFiles(args.site.replace) };
345
- }
346
- else if ("patch" in args.site) {
347
- const patch = {};
348
- if (args.site.patch.put)
349
- patch.put = mapFiles(args.site.patch.put);
350
- if (args.site.patch.delete)
351
- patch.delete = args.site.patch.delete;
352
- spec.site = { patch };
353
- }
354
- }
355
- return spec;
356
- }
357
- function mapFunctions(map) {
358
- const out = {};
359
- for (const [name, fn] of Object.entries(map)) {
360
- out[name] = mapFunction(fn);
361
- }
362
- return out;
363
- }
364
- function mapFunction(fn) {
365
- const out = {};
366
- if (fn.runtime)
367
- out.runtime = fn.runtime;
368
- if (fn.source)
369
- out.source = fileEntryToContentSource(fn.source);
370
- if (fn.files)
371
- out.files = mapFiles(fn.files);
372
- if (fn.entrypoint)
373
- out.entrypoint = fn.entrypoint;
374
- if (fn.config)
375
- out.config = fn.config;
376
- if (fn.schedule !== undefined)
377
- out.schedule = fn.schedule;
378
- return out;
379
- }
380
- function mapFiles(map) {
381
- const out = {};
382
- for (const [path, entry] of Object.entries(map)) {
383
- out[path] = fileEntryToContentSource(entry);
384
- }
385
- return out;
386
- }
387
- function fileEntryToContentSource(entry) {
388
- // Bare string — the natural shape. Forward as-is; the SDK's
389
- // resolveContent accepts strings polymorphically.
390
- if (typeof entry === "string")
391
- return entry;
392
- if (entry.encoding === "base64") {
393
- const bytes = base64ToBytes(entry.data);
394
- return entry.contentType ? { data: bytes, contentType: entry.contentType } : bytes;
395
- }
396
- // utf-8 (default)
397
- return entry.contentType ? { data: entry.data, contentType: entry.contentType } : entry.data;
398
- }
399
- function base64ToBytes(b64) {
400
- if (typeof Buffer !== "undefined") {
401
- const buf = Buffer.from(b64, "base64");
402
- return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
403
- }
404
- const bin = atob(b64);
405
- const out = new Uint8Array(bin.length);
406
- for (let i = 0; i < bin.length; i++)
407
- out[i] = bin.charCodeAt(i);
408
- return out;
409
- }
410
305
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/tools/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/tools/deploy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402-mcp",
3
- "version": "1.60.1",
3
+ "version": "1.60.2",
4
4
  "description": "MCP server for Run402 — AI-native Postgres databases with REST API, auth, storage, and row-level security. Pay with x402 USDC micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/sdk/README.md CHANGED
@@ -10,7 +10,7 @@ npm install @run402/sdk
10
10
 
11
11
  | Import | Use when |
12
12
  |---|---|
13
- | `@run402/sdk/node` | Running in Node 22 with the local keystore + allowance. Auto-loads `~/.config/run402/projects.json` and signs x402 payments from `~/.config/run402/allowance.json`. Includes the `r.sites.deployDir(dir)` and `fileSetFromDir(dir)` helpers. |
13
+ | `@run402/sdk/node` | Running in Node 22 with the local keystore + allowance. Auto-loads `~/.config/run402/projects.json` and signs x402 payments from `~/.config/run402/allowance.json`. Includes `r.sites.deployDir(dir)`, `fileSetFromDir(dir)`, `loadDeployManifest(path)`, and `normalizeDeployManifest(input)`. |
14
14
  | `@run402/sdk` | Isomorphic — works in Node, Deno, Bun, V8 isolates. No filesystem access. Bring your own `CredentialsProvider` (a session-token shim, a remote vault, anything that resolves project keys + auth headers). |
15
15
 
16
16
  ## Quick start (Node)
@@ -163,6 +163,22 @@ const resumed = await r.deploy.resume(operationId);
163
163
  });
164
164
  ```
165
165
 
166
+ - The Node entry also has the typed manifest adapter shared by CLI/MCP:
167
+
168
+ ```ts
169
+ import { loadDeployManifest, run402 } from "@run402/sdk/node";
170
+
171
+ const r = run402();
172
+ const { spec, idempotencyKey } = await loadDeployManifest("./run402.deploy.json");
173
+ await r.deploy.apply(spec, { idempotencyKey });
174
+ ```
175
+
176
+ `loadDeployManifest(path)` parses JSON relative to the manifest file, maps
177
+ agent-friendly `project_id` into `ReleaseSpec.project`, decodes base64 file
178
+ entries, turns `{ path }` entries into lazy `FsFileSource` values, and reads
179
+ migration `sql_path` / `sql_file`. Use `normalizeDeployManifest(input)` when
180
+ the manifest object is already in memory.
181
+
166
182
  ### GitHub Actions OIDC — CI credentials drive deploy
167
183
 
168
184
  The v1 CI path keeps the deploy primitive simple: link a GitHub repository once, then call the existing `r.deploy.apply` with CI-marked credentials. There is no separate `r.ci.deployApply` method and no public `ci: true` deploy option.
@@ -0,0 +1,80 @@
1
+ import type { ContentRef, ContentSource, DatabaseSpec, FunctionSpec, ReleaseSpec } from "../namespaces/deploy.types.js";
2
+ export type DeployManifestFileEntry = ContentSource | {
3
+ path: string;
4
+ contentType?: string;
5
+ data?: never;
6
+ } | {
7
+ data: string | ContentSource;
8
+ encoding?: "utf-8" | "base64";
9
+ contentType?: string;
10
+ };
11
+ export type DeployManifestFileSet = Record<string, DeployManifestFileEntry>;
12
+ export interface DeployManifestMigrationSpec {
13
+ id: string;
14
+ checksum?: string;
15
+ sql?: string;
16
+ sql_ref?: ContentRef;
17
+ sql_path?: string;
18
+ sql_file?: string;
19
+ transaction?: "required" | "none";
20
+ }
21
+ export interface DeployManifestDatabaseSpec {
22
+ migrations?: DeployManifestMigrationSpec[];
23
+ expose?: DatabaseSpec["expose"];
24
+ zero_downtime?: boolean;
25
+ }
26
+ export interface DeployManifestFunctionSpec extends Omit<FunctionSpec, "source" | "files"> {
27
+ source?: DeployManifestFileEntry;
28
+ files?: DeployManifestFileSet;
29
+ }
30
+ export interface DeployManifestFunctionsSpec {
31
+ replace?: Record<string, DeployManifestFunctionSpec>;
32
+ patch?: {
33
+ set?: Record<string, DeployManifestFunctionSpec>;
34
+ delete?: string[];
35
+ };
36
+ }
37
+ export type DeployManifestSiteSpec = {
38
+ replace: DeployManifestFileSet;
39
+ } | {
40
+ patch: {
41
+ put?: DeployManifestFileSet;
42
+ delete?: string[];
43
+ };
44
+ };
45
+ export interface DeployManifestInput extends Omit<ReleaseSpec, "project" | "database" | "functions" | "site"> {
46
+ /** SDK-native project field. `project_id` is also accepted for MCP/CLI parity. */
47
+ project?: string;
48
+ /** MCP/CLI-friendly project field, normalized to `ReleaseSpec.project`. */
49
+ project_id?: string;
50
+ database?: DeployManifestDatabaseSpec;
51
+ functions?: DeployManifestFunctionsSpec;
52
+ site?: DeployManifestSiteSpec;
53
+ /** CLI/MCP manifest idempotency key, returned separately for deploy options. */
54
+ idempotency_key?: string;
55
+ /** JS-friendly alias for `idempotency_key`. */
56
+ idempotencyKey?: string;
57
+ }
58
+ export interface NormalizeDeployManifestOptions {
59
+ /** Base directory for relative `{ path }`, `sql_path`, and `sql_file` entries. Defaults to `process.cwd()`. */
60
+ baseDir?: string;
61
+ /** Explicit project override, equivalent to CLI `--project`. Conflicts with a different manifest project. */
62
+ project?: string;
63
+ /** Fallback project used only when the manifest omits both `project` and `project_id`. */
64
+ defaultProject?: string;
65
+ }
66
+ export interface LoadDeployManifestOptions extends Omit<NormalizeDeployManifestOptions, "baseDir"> {
67
+ }
68
+ export interface NormalizedDeployManifest {
69
+ /** SDK-native deploy spec ready for `r.deploy.apply(spec, opts)`. */
70
+ spec: ReleaseSpec;
71
+ /** Optional idempotency key from `idempotency_key` / `idempotencyKey`. */
72
+ idempotencyKey?: string;
73
+ /** Parsed manifest object supplied by the caller or loaded from disk. */
74
+ manifest: DeployManifestInput;
75
+ /** Absolute path when produced by `loadDeployManifest(path)`. */
76
+ manifestPath?: string;
77
+ }
78
+ export declare function loadDeployManifest(path: string, opts?: LoadDeployManifestOptions): Promise<NormalizedDeployManifest>;
79
+ export declare function normalizeDeployManifest(input: DeployManifestInput, opts?: NormalizeDeployManifestOptions): Promise<NormalizedDeployManifest>;
80
+ //# sourceMappingURL=deploy-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-manifest.d.ts","sourceRoot":"","sources":["../../src/node/deploy-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { dirname, isAbsolute, resolve as resolvePath, } from "node:path";
3
+ import { LocalError } from "../errors.js";
4
+ const CONTEXT = "normalizing deploy manifest";
5
+ export async function loadDeployManifest(path, opts = {}) {
6
+ const manifestPath = isAbsolute(path) ? path : resolvePath(process.cwd(), path);
7
+ let raw;
8
+ try {
9
+ raw = await readFile(manifestPath, "utf-8");
10
+ }
11
+ catch (err) {
12
+ throw new LocalError(`Failed to read deploy manifest '${path}': ${err.message}`, "loading deploy manifest", err);
13
+ }
14
+ let parsed;
15
+ try {
16
+ parsed = JSON.parse(raw);
17
+ }
18
+ catch (err) {
19
+ throw new LocalError(`Deploy manifest is not valid JSON: ${err.message}`, "parsing deploy manifest", err);
20
+ }
21
+ const normalized = await normalizeDeployManifest(parsed, {
22
+ ...opts,
23
+ baseDir: dirname(manifestPath),
24
+ });
25
+ return { ...normalized, manifestPath };
26
+ }
27
+ export async function normalizeDeployManifest(input, opts = {}) {
28
+ assertPlainRecord(input, "Deploy manifest");
29
+ const manifest = input;
30
+ const project = resolveProject(manifest, opts);
31
+ const spec = { project };
32
+ if (manifest.base !== undefined)
33
+ spec.base = manifest.base;
34
+ if (manifest.subdomains !== undefined)
35
+ spec.subdomains = manifest.subdomains;
36
+ if (manifest.secrets !== undefined)
37
+ spec.secrets = manifest.secrets;
38
+ if (manifest.routes !== undefined)
39
+ spec.routes = manifest.routes;
40
+ if (manifest.checks !== undefined)
41
+ spec.checks = manifest.checks;
42
+ if (manifest.database !== undefined) {
43
+ spec.database = await mapDatabase(manifest.database, opts);
44
+ }
45
+ if (manifest.functions !== undefined) {
46
+ spec.functions = mapFunctions(manifest.functions, opts);
47
+ }
48
+ if (manifest.site !== undefined) {
49
+ spec.site = mapSite(manifest.site, opts);
50
+ }
51
+ const idempotencyKey = resolveIdempotencyKey(manifest);
52
+ return idempotencyKey === undefined
53
+ ? { spec, manifest }
54
+ : { spec, idempotencyKey, manifest };
55
+ }
56
+ function resolveProject(manifest, opts) {
57
+ if (manifest.project !== undefined &&
58
+ manifest.project_id !== undefined &&
59
+ manifest.project !== manifest.project_id) {
60
+ throw new LocalError(`project conflict: manifest.project=${manifest.project} but manifest.project_id=${manifest.project_id}`, CONTEXT);
61
+ }
62
+ const manifestProject = manifest.project ?? manifest.project_id;
63
+ if (opts.project !== undefined &&
64
+ manifestProject !== undefined &&
65
+ opts.project !== manifestProject) {
66
+ throw new LocalError(`project conflict: manifest project=${manifestProject} but override project=${opts.project}`, CONTEXT);
67
+ }
68
+ const project = opts.project ?? manifestProject ?? opts.defaultProject;
69
+ if (!project) {
70
+ throw new LocalError("Deploy manifest requires project_id (or project). Pass a project override or set a default project before normalizing.", CONTEXT);
71
+ }
72
+ return project;
73
+ }
74
+ function resolveIdempotencyKey(manifest) {
75
+ if (manifest.idempotency_key !== undefined &&
76
+ manifest.idempotencyKey !== undefined &&
77
+ manifest.idempotency_key !== manifest.idempotencyKey) {
78
+ throw new LocalError("idempotency key conflict: idempotency_key and idempotencyKey differ", CONTEXT);
79
+ }
80
+ return manifest.idempotency_key ?? manifest.idempotencyKey;
81
+ }
82
+ async function mapDatabase(database, opts) {
83
+ const out = {};
84
+ if (database.expose !== undefined)
85
+ out.expose = database.expose;
86
+ if (database.zero_downtime !== undefined) {
87
+ out.zero_downtime = database.zero_downtime;
88
+ }
89
+ if (database.migrations !== undefined) {
90
+ if (!Array.isArray(database.migrations)) {
91
+ throw new LocalError("Deploy manifest database.migrations must be an array", CONTEXT);
92
+ }
93
+ out.migrations = [];
94
+ for (const migration of database.migrations) {
95
+ out.migrations.push(await mapMigration(migration, opts));
96
+ }
97
+ }
98
+ return out;
99
+ }
100
+ async function mapMigration(migration, opts) {
101
+ assertPlainRecord(migration, "Deploy manifest database.migrations[]");
102
+ const out = {
103
+ id: migration.id,
104
+ };
105
+ if (migration.sql !== undefined)
106
+ out.sql = migration.sql;
107
+ if (migration.sql_ref !== undefined)
108
+ out.sql_ref = migration.sql_ref;
109
+ if (migration.checksum !== undefined)
110
+ out.checksum = migration.checksum;
111
+ if (migration.transaction !== undefined)
112
+ out.transaction = migration.transaction;
113
+ const sqlPath = migration.sql_path ?? migration.sql_file;
114
+ if (migration.sql_path !== undefined &&
115
+ migration.sql_file !== undefined &&
116
+ migration.sql_path !== migration.sql_file) {
117
+ throw new LocalError(`Migration ${migration.id} has both sql_path and sql_file with different values`, CONTEXT);
118
+ }
119
+ if (out.sql === undefined && sqlPath !== undefined) {
120
+ const field = migration.sql_path !== undefined ? "sql_path" : "sql_file";
121
+ const abs = resolveLocalPath(sqlPath, opts.baseDir);
122
+ try {
123
+ out.sql = await readFile(abs, "utf-8");
124
+ }
125
+ catch (err) {
126
+ throw new LocalError(`Failed to read migration ${field} '${sqlPath}': ${err.message}`, CONTEXT, err);
127
+ }
128
+ }
129
+ return out;
130
+ }
131
+ function mapFunctions(functions, opts) {
132
+ assertPlainRecord(functions, "Deploy manifest functions");
133
+ const out = {};
134
+ const replace = functions.replace;
135
+ if (replace !== undefined) {
136
+ assertPlainRecord(replace, "Deploy manifest functions.replace");
137
+ out.replace = mapFunctionMap(replace, opts);
138
+ }
139
+ const patch = functions.patch;
140
+ if (patch !== undefined) {
141
+ assertPlainRecord(patch, "Deploy manifest functions.patch");
142
+ out.patch = {};
143
+ if (patch.set !== undefined) {
144
+ assertPlainRecord(patch.set, "Deploy manifest functions.patch.set");
145
+ out.patch.set = mapFunctionMap(patch.set, opts);
146
+ }
147
+ if (patch.delete !== undefined) {
148
+ if (!Array.isArray(patch.delete)) {
149
+ throw new LocalError("Deploy manifest functions.patch.delete must be an array", CONTEXT);
150
+ }
151
+ out.patch.delete = patch.delete;
152
+ }
153
+ }
154
+ return out;
155
+ }
156
+ function mapFunctionMap(map, opts) {
157
+ const out = {};
158
+ for (const [name, fn] of Object.entries(map)) {
159
+ out[name] = mapFunction(fn, opts);
160
+ }
161
+ return out;
162
+ }
163
+ function mapFunction(fn, opts) {
164
+ assertPlainRecord(fn, "Deploy manifest function entry");
165
+ const raw = fn;
166
+ const out = {};
167
+ if (raw.runtime !== undefined)
168
+ out.runtime = raw.runtime;
169
+ if (raw.source !== undefined) {
170
+ out.source = fileEntryToContentSource(raw.source, opts, "functions.source");
171
+ }
172
+ if (raw.files !== undefined)
173
+ out.files = mapFileSet(raw.files, opts);
174
+ if (raw.entrypoint !== undefined)
175
+ out.entrypoint = raw.entrypoint;
176
+ if (raw.config !== undefined)
177
+ out.config = raw.config;
178
+ if (raw.schedule !== undefined)
179
+ out.schedule = raw.schedule;
180
+ return out;
181
+ }
182
+ function mapSite(site, opts) {
183
+ assertPlainRecord(site, "Deploy manifest site");
184
+ const raw = site;
185
+ if (Object.prototype.hasOwnProperty.call(raw, "replace")) {
186
+ if (raw.replace === undefined) {
187
+ throw new LocalError("Deploy manifest site.replace is undefined", CONTEXT);
188
+ }
189
+ return { replace: mapFileSet(raw.replace, opts) };
190
+ }
191
+ const patch = {};
192
+ if (Object.prototype.hasOwnProperty.call(raw, "patch")) {
193
+ assertPlainRecord(raw.patch, "Deploy manifest site.patch");
194
+ const rawPatch = raw.patch;
195
+ if (rawPatch.put !== undefined) {
196
+ patch.put = mapFileSet(rawPatch.put, opts);
197
+ }
198
+ if (rawPatch.delete !== undefined) {
199
+ if (!Array.isArray(rawPatch.delete)) {
200
+ throw new LocalError("Deploy manifest site.patch.delete must be an array", CONTEXT);
201
+ }
202
+ patch.delete = rawPatch.delete;
203
+ }
204
+ return { patch };
205
+ }
206
+ throw new LocalError("Deploy manifest site must include replace or patch", CONTEXT);
207
+ }
208
+ function mapFileSet(map, opts) {
209
+ assertPlainRecord(map, "Deploy manifest file map");
210
+ const out = {};
211
+ for (const [path, entry] of Object.entries(map)) {
212
+ out[path] = fileEntryToContentSource(entry, opts, path);
213
+ }
214
+ return out;
215
+ }
216
+ function fileEntryToContentSource(entry, opts, label) {
217
+ if (typeof entry === "string")
218
+ return entry;
219
+ if (entry instanceof Uint8Array)
220
+ return entry;
221
+ if (entry instanceof ArrayBuffer)
222
+ return entry;
223
+ if (typeof Blob !== "undefined" && entry instanceof Blob)
224
+ return entry;
225
+ if (isReadableStream(entry))
226
+ return entry;
227
+ if (isContentRef(entry))
228
+ return { ...entry };
229
+ if (!isRecord(entry) || Array.isArray(entry)) {
230
+ return entry;
231
+ }
232
+ const rec = entry;
233
+ const encoding = rec.encoding;
234
+ if (encoding !== undefined &&
235
+ encoding !== "utf-8" &&
236
+ encoding !== "base64") {
237
+ throw new LocalError(`Unsupported encoding for ${label}: ${String(encoding)}`, CONTEXT);
238
+ }
239
+ if (typeof rec.path === "string" &&
240
+ !Object.prototype.hasOwnProperty.call(rec, "data")) {
241
+ const source = {
242
+ __source: "fs-file",
243
+ path: resolveLocalPath(rec.path, opts.baseDir),
244
+ };
245
+ return typeof entry.contentType === "string"
246
+ ? { ...source, contentType: entry.contentType }
247
+ : source;
248
+ }
249
+ if (encoding === "base64") {
250
+ if (typeof rec.data !== "string") {
251
+ throw new LocalError(`Base64 file entry for ${label} must use a string data field`, CONTEXT);
252
+ }
253
+ const bytes = base64ToBytes(rec.data);
254
+ return typeof entry.contentType === "string"
255
+ ? { data: bytes, contentType: entry.contentType }
256
+ : bytes;
257
+ }
258
+ if (Object.prototype.hasOwnProperty.call(rec, "data")) {
259
+ if (rec.data === undefined) {
260
+ throw new LocalError(`File entry for ${label} is missing data`, CONTEXT);
261
+ }
262
+ const data = rec.data;
263
+ return typeof entry.contentType === "string"
264
+ ? { data, contentType: entry.contentType }
265
+ : data;
266
+ }
267
+ return entry;
268
+ }
269
+ function base64ToBytes(value) {
270
+ const buf = Buffer.from(value, "base64");
271
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
272
+ }
273
+ function resolveLocalPath(path, baseDir = process.cwd()) {
274
+ return isAbsolute(path) ? path : resolvePath(baseDir, path);
275
+ }
276
+ function isContentRef(value) {
277
+ return (isRecord(value) &&
278
+ typeof value.sha256 === "string" &&
279
+ typeof value.size === "number");
280
+ }
281
+ function isReadableStream(value) {
282
+ return (typeof ReadableStream !== "undefined" &&
283
+ value instanceof ReadableStream);
284
+ }
285
+ function isRecord(value) {
286
+ return value !== null && typeof value === "object";
287
+ }
288
+ function assertPlainRecord(value, label) {
289
+ if (!isRecord(value) || Array.isArray(value)) {
290
+ throw new LocalError(`${label} must be a JSON object`, CONTEXT);
291
+ }
292
+ }
293
+ //# sourceMappingURL=deploy-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-manifest.js","sourceRoot":"","sources":["../../src/node/deploy-manifest.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,8 @@ export { NodeSites } from "./sites-node.js";
58
58
  export type { DeployDirOptions, DeployEvent as DeployDirEvent, LegacyDeployEvent as LegacyDeployDirEvent, } from "./sites-node.js";
59
59
  export { fileSetFromDir, normalizeRelPath } from "./files.js";
60
60
  export type { FileSetFromDirOptions } from "./files.js";
61
+ export { loadDeployManifest, normalizeDeployManifest } from "./deploy-manifest.js";
62
+ export type { DeployManifestDatabaseSpec, DeployManifestFileEntry, DeployManifestFileSet, DeployManifestFunctionsSpec, DeployManifestFunctionSpec, DeployManifestInput, DeployManifestMigrationSpec, DeployManifestSiteSpec, LoadDeployManifestOptions, NormalizedDeployManifest, NormalizeDeployManifestOptions, } from "./deploy-manifest.js";
61
63
  export { signCiDelegation } from "./ci.js";
62
64
  export type { SignCiDelegationOptions } from "./ci.js";
63
65
  export { NodeCredentialsProvider } from "./credentials.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAqB/D;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,WAAW,IAAI,cAAc,EAC7B,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAqB/D;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,WAAW,IAAI,cAAc,EAC7B,iBAAiB,IAAI,oBAAoB,GAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -55,6 +55,7 @@ export function run402(opts = {}) {
55
55
  }
56
56
  export { NodeSites } from "./sites-node.js";
57
57
  export { fileSetFromDir, normalizeRelPath } from "./files.js";
58
+ export { loadDeployManifest, normalizeDeployManifest } from "./deploy-manifest.js";
58
59
  export { signCiDelegation } from "./ci.js";
59
60
  export { NodeCredentialsProvider } from "./credentials.js";
60
61
  export { setupPaidFetch, createLazyPaidFetch } from "./paid-fetch.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE;IACjD,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,uBAAuB,CAAC;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,KAAK,EACH,IAAI,CAAC,KAAK;YACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;KACtF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAI,IAAI,CAAC,KAAuC,CAAC,MAAM,CAAC;IACnE,IAAwC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,6EAA6E;AAC7E,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE;IACjD,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,uBAAuB,CAAC;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,KAAK,EACH,IAAI,CAAC,KAAK;YACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;KACtF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAI,IAAI,CAAC,KAAuC,CAAC,MAAM,CAAC;IACnE,IAAwC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAcnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,6EAA6E;AAC7E,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,EACF,sBAAsB,EACtB,MAAM,EACN,KAAK,EACL,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,SAAS,GACV,MAAM,aAAa,CAAC"}