@run402/runtime-kernel 0.1.2 → 0.1.4

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
@@ -2,7 +2,8 @@
2
2
 
3
3
  Public Run402 Core runtime-kernel contracts and application services.
4
4
 
5
- This package is the first self-hostable Core runtime slice. It currently exposes the runtime capability document, typed unsupported-capability errors, and port contracts used by the public Core gateway composition root.
5
+ This package is the first self-hostable Core runtime slice. It currently exposes the runtime capability document, typed runtime errors, and port contracts used by the public Core gateway composition root.
6
6
 
7
- It is a Developer Preview / single-node reference runtime component. It does not include functions, Astro SSR, export/import, hosted OAuth, managed backups, TLS automation, observability, or production hardening.
7
+ It is a Developer Preview / single-node reference runtime component. Core functions are also Developer Preview trusted-local-code semantics: pre-bundled Node 22 artifacts, no external npm dependency install, explicit resource limits, and no hostile-code isolation claim.
8
8
 
9
+ It does not include Astro SSR, export/import, hosted OAuth, managed backups, TLS automation, observability, Cloud-grade sandboxing, or production hardening.
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAA0B,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAI5F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,cAAc,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAGhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,QAAQ,CAAC,MAAM,OAAO;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAInD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAgGhC;AAyHD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAOjF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG1D;AAoBD,wBAAgB,qBAAqB,IAAI,oBAAoB,CAE5D"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAEV,aAAa,EAGb,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA4BpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,cAAc,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAGhC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,QAAQ,CAAC,MAAM,OAAO;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAInD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAoCxB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA4GhC;AA8bD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAOjF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG1D;AAsBD,wBAAgB,qBAAqB,IAAI,oBAAoB,CAE5D"}
package/dist/apply.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { createHash } from "node:crypto";
2
- import { digestApplyRequest, digestMaterializedRelease, emptyPortableReleaseState, materializeRelease, parseReleaseSpec, } from "@run402/release";
3
- import { UnsupportedCapabilityError } from "./errors.js";
2
+ import { canonicalizeJson, digestApplyRequest, digestMaterializedRelease, emptyPortableReleaseState, materializeRelease, parseReleaseSpec, } from "@run402/release";
3
+ import { DependencyInstallRejectedError, FunctionBundleValidationError, MissingRequiredSecretError, UnsupportedCapabilityError, } from "./errors.js";
4
+ import { CORE_FUNCTION_DEPENDENCY_MODE, CORE_FUNCTION_RESOURCE_DEFAULTS, emptyFunctionApplyEffects, functionMemoryBytes, normalizeFunctionEntrypoint, } from "./functions-runtime.js";
5
+ import { computeStorageInventoryRevision, normalizeSha256Hex, normalizeStorageContentType, normalizeStorageKey, normalizeStoragePrefix, normalizeStorageVisibility, StorageValidationError, } from "./storage.js";
4
6
  import { validateProjectId } from "./projects.js";
5
7
  export class ApplyInvariantError extends Error {
6
8
  code;
@@ -30,6 +32,9 @@ export async function createApplyPlan(ports, input) {
30
32
  spec,
31
33
  concreteBase: base.state,
32
34
  });
35
+ const storageEffects = await planStorageEffects(ports, spec);
36
+ const functionEffects = planFunctionEffects(spec, base.state, target);
37
+ const storedFunctionEffects = isEmptyFunctionEffects(functionEffects) ? undefined : functionEffects;
33
38
  const releaseSpecDigest = digestApplyRequest(spec);
34
39
  const targetDigest = digestMaterializedRelease(target);
35
40
  const baseDigest = digestMaterializedRelease(base.state);
@@ -42,7 +47,9 @@ export async function createApplyPlan(ports, input) {
42
47
  target_release_id: targetReleaseId,
43
48
  target_release_digest: targetDigest,
44
49
  target_release: target,
45
- noop: targetDigest === baseDigest,
50
+ storage_effects: storageEffects,
51
+ ...(storedFunctionEffects ? { function_effects: storedFunctionEffects } : {}),
52
+ noop: targetDigest === baseDigest && storageEffects.noop && functionEffects.noop,
46
53
  });
47
54
  return publicPlan(plan);
48
55
  }
@@ -94,8 +101,13 @@ export async function commitApplyPlan(ports, input) {
94
101
  release_id: releaseId,
95
102
  release_digest: plan.target_release_digest,
96
103
  target_release: plan.target_release,
104
+ storage_effects: plan.storage_effects,
105
+ function_effects: plan.function_effects,
97
106
  });
98
107
  await verifyStaticContent(ports, plan.project_id, plan.target_release);
108
+ await verifyStorageContent(ports, plan.project_id, plan.storage_effects);
109
+ await verifyFunctionContent(ports, plan.project_id, plan.function_effects);
110
+ await verifyFunctionSecrets(ports, plan.project_id, plan.function_effects);
99
111
  const staged = await ports.lifecycle?.stage?.(context());
100
112
  if (staged?.release_id)
101
113
  releaseId = staged.release_id;
@@ -116,6 +128,14 @@ export async function commitApplyPlan(ports, input) {
116
128
  if (activated?.release_id)
117
129
  releaseId = activated.release_id;
118
130
  if (!ports.lifecycle?.activate) {
131
+ if (plan.storage_effects && !plan.storage_effects.noop) {
132
+ if (!ports.storage)
133
+ throw new UnsupportedCapabilityError("storage.objects.local");
134
+ await ports.storage.commitAssetPlan({
135
+ projectId: plan.project_id,
136
+ effects: plan.storage_effects,
137
+ });
138
+ }
119
139
  await ports.releases.setActiveRelease({
120
140
  projectId: plan.project_id,
121
141
  releaseId,
@@ -146,14 +166,12 @@ function deferredCommitResult(plan, releaseId, deferred) {
146
166
  };
147
167
  }
148
168
  function validateSupportedSpec(spec) {
149
- if (spec.functions)
150
- throw new UnsupportedCapabilityError("functions.node");
151
- if (spec.secrets)
152
- throw new UnsupportedCapabilityError("secrets.hosted");
169
+ validateFunctionSubset(spec);
153
170
  if (spec.subdomains)
154
171
  throw new UnsupportedCapabilityError("subdomains.managed");
155
- if (spec.assets)
156
- throw new UnsupportedCapabilityError("storage.user-api");
172
+ if (spec.assets && !spec.assets.put && !spec.assets.delete && !spec.assets.sync) {
173
+ throw new ApplyInvariantError("asset_spec_empty", "Asset spec must include put, delete, or sync.");
174
+ }
157
175
  if (spec.i18n)
158
176
  throw new UnsupportedCapabilityError("i18n.routing");
159
177
  if (spec.database?.zero_downtime)
@@ -169,11 +187,254 @@ function validateSupportedSpec(spec) {
169
187
  }
170
188
  }
171
189
  for (const route of spec.routes?.replace ?? []) {
190
+ if (route.target.type === "function") {
191
+ continue;
192
+ }
172
193
  if (route.target.type !== "static") {
173
194
  throw new UnsupportedCapabilityError("functions.node");
174
195
  }
175
196
  }
176
197
  }
198
+ function validateFunctionSubset(spec) {
199
+ if (!spec.functions)
200
+ return;
201
+ if (!("replace" in spec.functions) || !spec.functions.replace) {
202
+ throw new UnsupportedCapabilityError("functions.patch");
203
+ }
204
+ for (const [name, fn] of Object.entries(spec.functions.replace)) {
205
+ validateCoreFunctionSpec(name, fn);
206
+ }
207
+ }
208
+ function validateCoreFunctionSpec(name, fn) {
209
+ if (fn.runtime !== "node22") {
210
+ throw new FunctionBundleValidationError("invalid_function_bundle", `Function ${name} must use runtime node22.`, {
211
+ function_name: name,
212
+ runtime: fn.runtime,
213
+ });
214
+ }
215
+ if (!fn.source) {
216
+ throw new FunctionBundleValidationError("invalid_function_bundle", `Function ${name} must use source in Core Developer Preview.`, {
217
+ function_name: name,
218
+ reason: "missing_source_ref",
219
+ });
220
+ }
221
+ if (fn.files && Object.keys(fn.files).length > 0) {
222
+ throw new FunctionBundleValidationError("invalid_function_bundle", `Function ${name} files maps are not supported in Core Developer Preview.`, {
223
+ function_name: name,
224
+ reason: "files_map_unsupported",
225
+ });
226
+ }
227
+ if ((fn.deps?.length ?? 0) > 0) {
228
+ throw new DependencyInstallRejectedError("Core Functions Developer Preview supports pre-bundled function artifacts with no external deps.", {
229
+ function_name: name,
230
+ deps: fn.deps,
231
+ dependency_mode: CORE_FUNCTION_DEPENDENCY_MODE,
232
+ });
233
+ }
234
+ if (fn.schedule) {
235
+ throw new UnsupportedCapabilityError("functions.scheduled");
236
+ }
237
+ if (fn.class && fn.class !== "standard") {
238
+ throw new UnsupportedCapabilityError("astro.ssr");
239
+ }
240
+ if (fn.requireRole?.cacheTtl && fn.requireRole.cacheTtl > 0) {
241
+ throw new FunctionBundleValidationError("role_cache_unsupported", `Function ${name} requireRole.cacheTtl must be 0 in Core Developer Preview.`, {
242
+ function_name: name,
243
+ cache_ttl: fn.requireRole.cacheTtl,
244
+ });
245
+ }
246
+ if (fn.requireRole) {
247
+ for (const field of ["table", "idColumn", "roleColumn"]) {
248
+ if (!isSafeSqlIdentifier(fn.requireRole[field])) {
249
+ throw new FunctionBundleValidationError("role_gate_invalid_identifier", `Function ${name} requireRole.${field} must be an unquoted SQL identifier.`, {
250
+ function_name: name,
251
+ field,
252
+ });
253
+ }
254
+ }
255
+ }
256
+ }
257
+ function planFunctionEffects(spec, base, target) {
258
+ if (!spec.functions && !hasFunctionRoutes(target) && target.functions.length === 0) {
259
+ return emptyFunctionApplyEffects();
260
+ }
261
+ const functionSpecs = spec.functions && "replace" in spec.functions ? spec.functions.replace ?? {} : {};
262
+ const requiredSecrets = [...new Set(spec.secrets?.require ?? [])].sort();
263
+ const bundles = target.functions.map((entry) => {
264
+ const fnSpec = functionSpecs[entry.name];
265
+ if (!fnSpec?.source) {
266
+ throw new FunctionBundleValidationError("invalid_function_bundle", `Function ${entry.name} is missing source metadata for Core activation.`, {
267
+ function_name: entry.name,
268
+ });
269
+ }
270
+ return bundleMetadataFromSpec(entry.name, fnSpec, entry.require_role, requiredSecrets);
271
+ });
272
+ const dynamicRoutes = target.routes.entries
273
+ .filter((route) => route.target.type === "function")
274
+ .map((route) => ({
275
+ pattern: route.pattern,
276
+ kind: route.kind,
277
+ prefix: route.prefix,
278
+ methods: route.methods,
279
+ function_name: route.target.name,
280
+ }));
281
+ return {
282
+ bundles,
283
+ dynamic_routes: dynamicRoutes,
284
+ required_secrets: requiredSecrets,
285
+ dependency_mode: CORE_FUNCTION_DEPENDENCY_MODE,
286
+ noop: stableFunctionSlice(base) === stableFunctionSlice(target),
287
+ };
288
+ }
289
+ function bundleMetadataFromSpec(name, spec, requireRole, requiredSecrets) {
290
+ if (!spec.source) {
291
+ throw new FunctionBundleValidationError("invalid_function_bundle", `Function ${name} must use source in Core Developer Preview.`, {
292
+ function_name: name,
293
+ });
294
+ }
295
+ return {
296
+ name,
297
+ runtime: "node22",
298
+ entrypoint: normalizeFunctionEntrypoint(spec),
299
+ source: spec.source,
300
+ bundle_sha256: spec.source.sha256.toLowerCase(),
301
+ bundle_size_bytes: spec.source.size,
302
+ dependency_mode: CORE_FUNCTION_DEPENDENCY_MODE,
303
+ dependency_lock_digest: null,
304
+ deps: [],
305
+ required_secrets: requiredSecrets,
306
+ timeout_ms: Math.min((spec.config?.timeoutSeconds ?? CORE_FUNCTION_RESOURCE_DEFAULTS.invocationTimeoutMs / 1000) * 1000, CORE_FUNCTION_RESOURCE_DEFAULTS.invocationTimeoutMs),
307
+ memory_bytes: functionMemoryBytes({ memory_mb: spec.config?.memoryMb ?? 128 }),
308
+ require_auth: spec.requireAuth === true,
309
+ require_role: requireRole,
310
+ class: "standard",
311
+ capabilities: spec.capabilities ? [...spec.capabilities].sort() : [],
312
+ };
313
+ }
314
+ function hasFunctionRoutes(state) {
315
+ return state.routes.entries.some((entry) => entry.target.type === "function");
316
+ }
317
+ function isEmptyFunctionEffects(effects) {
318
+ return effects.noop &&
319
+ effects.bundles.length === 0 &&
320
+ effects.dynamic_routes.length === 0 &&
321
+ effects.required_secrets.length === 0;
322
+ }
323
+ function stableFunctionSlice(state) {
324
+ return canonicalizeJson({
325
+ functions: [...state.functions].sort((a, b) => a.name.localeCompare(b.name)),
326
+ dynamic_routes: state.routes.entries
327
+ .filter((entry) => entry.target.type === "function")
328
+ .sort((a, b) => a.pattern.localeCompare(b.pattern) || (a.methods ?? []).join(",").localeCompare((b.methods ?? []).join(","))),
329
+ secrets: [...state.secrets.keys].sort(),
330
+ });
331
+ }
332
+ function isSafeSqlIdentifier(value) {
333
+ return /^[A-Za-z_][A-Za-z0-9_]*$/.test(value);
334
+ }
335
+ async function planStorageEffects(ports, spec) {
336
+ if (!spec.assets)
337
+ return emptyStorageEffects();
338
+ if (!ports.storage)
339
+ throw new UnsupportedCapabilityError("storage.objects.local");
340
+ const requestedPuts = normalizeAssetPuts(spec.assets.put ?? []);
341
+ const requestedDeletes = normalizeAssetDeletes(spec.assets.delete ?? []);
342
+ const requestedPutKeys = new Set(requestedPuts.map((put) => put.key));
343
+ const requestedDeleteKeys = new Set(requestedDeletes);
344
+ for (const key of requestedPutKeys) {
345
+ if (requestedDeleteKeys.has(key)) {
346
+ throw new ApplyInvariantError("asset_key_conflict", `Asset key ${key} appears in both put and delete.`);
347
+ }
348
+ }
349
+ const puts = [];
350
+ for (const put of requestedPuts) {
351
+ const current = await ports.storage.getObject({ projectId: spec.project, key: put.key });
352
+ if (current &&
353
+ current.sha256 === put.sha256 &&
354
+ current.size_bytes === put.size_bytes &&
355
+ current.content_type === put.content_type &&
356
+ current.visibility === put.visibility &&
357
+ current.immutable === put.immutable) {
358
+ continue;
359
+ }
360
+ puts.push(put);
361
+ }
362
+ const deletes = [];
363
+ for (const key of requestedDeletes) {
364
+ if (await ports.storage.getObject({ projectId: spec.project, key })) {
365
+ deletes.push(key);
366
+ }
367
+ }
368
+ const effectiveDeleteKeys = new Set(deletes);
369
+ let syncPrune = null;
370
+ if (spec.assets.sync) {
371
+ if (spec.assets.sync.prune !== true) {
372
+ throw new ApplyInvariantError("asset_sync_prune_required", "Asset sync only supports prune: true in Core.");
373
+ }
374
+ const prefix = normalizeStoragePrefix(spec.assets.sync.prefix);
375
+ const inventory = await ports.storage.inventoryRevision({
376
+ projectId: spec.project,
377
+ prefix,
378
+ });
379
+ const plannedDeleteKeys = inventory.keys
380
+ .filter((key) => !requestedPutKeys.has(key) && !effectiveDeleteKeys.has(key))
381
+ .sort();
382
+ syncPrune = {
383
+ prefix,
384
+ base_revision: inventory.revision,
385
+ delete_set_digest: computeStorageInventoryRevision(plannedDeleteKeys),
386
+ planned_delete_keys: plannedDeleteKeys,
387
+ };
388
+ }
389
+ const noop = puts.length === 0 && deletes.length === 0 && (syncPrune?.planned_delete_keys.length ?? 0) === 0;
390
+ return {
391
+ puts,
392
+ deletes,
393
+ sync_prune: syncPrune,
394
+ noop,
395
+ };
396
+ }
397
+ function emptyStorageEffects() {
398
+ return {
399
+ puts: [],
400
+ deletes: [],
401
+ sync_prune: null,
402
+ noop: true,
403
+ };
404
+ }
405
+ function normalizeAssetPuts(entries) {
406
+ const seen = new Set();
407
+ return entries.map((entry, index) => {
408
+ const key = normalizeStorageKey(entry.key);
409
+ if (seen.has(key))
410
+ throw new ApplyInvariantError("asset_duplicate_key", `Duplicate asset put key: ${key}`);
411
+ seen.add(key);
412
+ return {
413
+ key,
414
+ sha256: normalizeSha256Hex(entry.sha256),
415
+ size_bytes: normalizeAssetSize(entry.size_bytes, `assets.put.${index}.size_bytes`),
416
+ content_type: normalizeStorageContentType(entry.content_type),
417
+ visibility: normalizeStorageVisibility(entry.visibility),
418
+ immutable: entry.immutable ?? true,
419
+ };
420
+ });
421
+ }
422
+ function normalizeAssetDeletes(entries) {
423
+ const seen = new Set();
424
+ return entries.map((entry) => {
425
+ const key = normalizeStorageKey(entry);
426
+ if (seen.has(key))
427
+ throw new ApplyInvariantError("asset_duplicate_key", `Duplicate asset delete key: ${key}`);
428
+ seen.add(key);
429
+ return key;
430
+ });
431
+ }
432
+ function normalizeAssetSize(value, resource) {
433
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value <= 0) {
434
+ throw new StorageValidationError("invalid_size", `${resource} must be a positive integer.`);
435
+ }
436
+ return value;
437
+ }
177
438
  function releaseBaseTarget(spec) {
178
439
  if (!spec.base)
179
440
  return "current";
@@ -189,6 +450,36 @@ async function verifyStaticContent(ports, projectId, release) {
189
450
  }
190
451
  }
191
452
  }
453
+ async function verifyStorageContent(ports, projectId, effects) {
454
+ for (const put of effects?.puts ?? []) {
455
+ const present = await ports.content.hasContent(projectId, put.sha256);
456
+ if (!present) {
457
+ throw new ApplyInvariantError("content_digest_missing", `Asset content ${put.sha256} has not been staged for project ${projectId}.`);
458
+ }
459
+ }
460
+ }
461
+ async function verifyFunctionContent(ports, projectId, effects) {
462
+ for (const bundle of effects?.bundles ?? []) {
463
+ const present = await ports.content.hasContent(projectId, bundle.source.sha256);
464
+ if (!present) {
465
+ throw new ApplyInvariantError("content_digest_missing", `Function bundle ${bundle.source.sha256} has not been staged for project ${projectId}.`);
466
+ }
467
+ }
468
+ }
469
+ async function verifyFunctionSecrets(ports, projectId, effects) {
470
+ const required = [...new Set(effects?.required_secrets ?? [])].sort();
471
+ if (required.length === 0)
472
+ return;
473
+ if (!ports.secrets) {
474
+ throw new UnsupportedCapabilityError("functions.secrets.local");
475
+ }
476
+ const present = new Set((await ports.secrets.listSecrets({ projectId })).map((secret) => secret.name));
477
+ for (const name of required) {
478
+ if (!present.has(name)) {
479
+ throw new MissingRequiredSecretError(name);
480
+ }
481
+ }
482
+ }
192
483
  async function applyMigrations(ports, spec) {
193
484
  const migrations = spec.database?.migrations ?? [];
194
485
  for (const migration of migrations) {
@@ -256,6 +547,8 @@ function publicPlan(plan) {
256
547
  base_release_id: plan.base_release_id,
257
548
  target_release_id: plan.target_release_id,
258
549
  target_release_digest: plan.target_release_digest,
550
+ ...(plan.storage_effects ? { storage_effects: plan.storage_effects } : {}),
551
+ ...(plan.function_effects ? { function_effects: plan.function_effects } : {}),
259
552
  noop: plan.noop,
260
553
  status: plan.status,
261
554
  created_at: plan.created_at,
package/dist/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { PLANNER_SEMANTICS_VERSION, RELEASE_SPEC_VERSION } from "@run402/release";
2
+ import { type CoreFunctionRuntimeCapability } from "./functions-runtime.js";
2
3
  export declare const RUNTIME_KERNEL_CONTRACT_VERSION: "run402-runtime-kernel-v1";
3
4
  export declare const RUNTIME_KERNEL_PACKAGE_NAME: "@run402/runtime-kernel";
4
- export declare const SUPPORTED_RUNTIME_FEATURES: readonly ["projects.create.local", "projects.inspect.local", "apply.plan.supported-static-rest-slice", "apply.commit.supported-static-rest-slice", "database.migrations.inline-sql", "database.rest.postgrest", "auth.jwt.local-test-tokens", "rls.claim-mapping", "site.static.explicit-public-paths"];
5
- export declare const UNSUPPORTED_RUNTIME_FEATURES: readonly ["database.migrations.sql_ref", "site.patch", "functions.node", "astro.ssr", "storage.user-api", "storage.s3-compatible", "assets.images", "subdomains.managed", "domains.custom", "export.project-archive", "import.project-archive", "cloud-import.project-archive", "auth.hosted-oauth", "cloud.billing", "cloud.fleet-scheduling", "cloud.managed-backups", "cloud.monitoring", "cloud.abuse-controls"];
5
+ export declare const SUPPORTED_RUNTIME_FEATURES: readonly ["projects.create.local", "projects.inspect.local", "apply.plan.supported-static-rest-slice", "apply.commit.supported-static-rest-slice", "database.migrations.inline-sql", "database.rest.postgrest", "auth.jwt.local-test-tokens", "rls.claim-mapping", "site.static.explicit-public-paths", "site.static.implicit-public-paths", "site.static.exact-alias-routes", "site.static.route-manifest", "storage.objects.local", "storage.upload-sessions.local", "storage.visibility.public-private", "storage.immutable-local-urls", "storage.signed-read.local", "functions.node", "functions.routed-http.local", "functions.direct-invoke.local", "functions.auth-gates.local", "functions.role-gates.local", "functions.secrets.local", "functions.logs.local", "functions.trusted-local-code"];
6
+ export declare const UNSUPPORTED_RUNTIME_FEATURES: readonly ["database.migrations.sql_ref", "site.patch", "astro.ssr", "functions.hostile-code-isolation", "functions.external-npm-dependencies", "functions.scheduled", "functions.background-jobs", "functions.streaming", "functions.websockets", "storage.s3-compatible", "assets.images", "subdomains.managed", "domains.custom", "export.project-archive", "import.project-archive", "cloud-import.project-archive", "auth.hosted-oauth", "cloud.billing", "cloud.fleet-scheduling", "cloud.managed-backups", "cloud.monitoring", "cloud.abuse-controls"];
6
7
  export interface UnsupportedRuntimeFeature {
7
8
  feature: (typeof UNSUPPORTED_RUNTIME_FEATURES)[number];
8
9
  error: "unsupported_capability";
@@ -23,7 +24,12 @@ export interface RuntimeCapabilityDocument {
23
24
  release_spec_version: typeof RELEASE_SPEC_VERSION;
24
25
  planner_semantics_version: typeof PLANNER_SEMANTICS_VERSION;
25
26
  };
27
+ functions: {
28
+ name: "@run402/functions";
29
+ version: string;
30
+ };
26
31
  };
32
+ functions_runtime: CoreFunctionRuntimeCapability;
27
33
  }
28
34
  export declare function runtimeCapabilities(version?: string): RuntimeCapabilityDocument;
29
35
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,+BAA+B,EAAG,0BAAmC,CAAC;AACnF,eAAO,MAAM,2BAA2B,EAAG,wBAAiC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,ySAU7B,CAAC;AAEX,eAAO,MAAM,4BAA4B,sZAmB/B,CAAC;AAEX,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,wBAAwB,EAAE,OAAO,+BAA+B,CAAC;IACjE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;IAClD,UAAU,EAAE;QACV,cAAc,EAAE;YACd,IAAI,EAAE,OAAO,2BAA2B,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB,CAAC;YACxB,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;YAClD,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;SAC7D,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAU,GAAG,yBAAyB,CAuBhF"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,+BAA+B,EAAG,0BAAmC,CAAC;AACnF,eAAO,MAAM,2BAA2B,EAAG,wBAAiC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,2wBA0B7B,CAAC;AAEX,eAAO,MAAM,4BAA4B,8hBAuB/B,CAAC;AAEX,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,wBAAwB,EAAE,OAAO,+BAA+B,CAAC;IACjE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;IAClD,UAAU,EAAE;QACV,cAAc,EAAE;YACd,IAAI,EAAE,OAAO,2BAA2B,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB,CAAC;YACxB,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;YAClD,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;SAC7D,CAAC;QACF,SAAS,EAAE;YACT,IAAI,EAAE,mBAAmB,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,iBAAiB,EAAE,6BAA6B,CAAC;CAClD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAU,GAAG,yBAAyB,CA4BhF"}
@@ -1,4 +1,5 @@
1
1
  import { PLANNER_SEMANTICS_VERSION, RELEASE_SPEC_VERSION, releasePackageInfo, } from "@run402/release";
2
+ import { coreFunctionRuntimeCapability, } from "./functions-runtime.js";
2
3
  export const RUNTIME_KERNEL_CONTRACT_VERSION = "run402-runtime-kernel-v1";
3
4
  export const RUNTIME_KERNEL_PACKAGE_NAME = "@run402/runtime-kernel";
4
5
  export const SUPPORTED_RUNTIME_FEATURES = [
@@ -11,13 +12,33 @@ export const SUPPORTED_RUNTIME_FEATURES = [
11
12
  "auth.jwt.local-test-tokens",
12
13
  "rls.claim-mapping",
13
14
  "site.static.explicit-public-paths",
15
+ "site.static.implicit-public-paths",
16
+ "site.static.exact-alias-routes",
17
+ "site.static.route-manifest",
18
+ "storage.objects.local",
19
+ "storage.upload-sessions.local",
20
+ "storage.visibility.public-private",
21
+ "storage.immutable-local-urls",
22
+ "storage.signed-read.local",
23
+ "functions.node",
24
+ "functions.routed-http.local",
25
+ "functions.direct-invoke.local",
26
+ "functions.auth-gates.local",
27
+ "functions.role-gates.local",
28
+ "functions.secrets.local",
29
+ "functions.logs.local",
30
+ "functions.trusted-local-code",
14
31
  ];
15
32
  export const UNSUPPORTED_RUNTIME_FEATURES = [
16
33
  "database.migrations.sql_ref",
17
34
  "site.patch",
18
- "functions.node",
19
35
  "astro.ssr",
20
- "storage.user-api",
36
+ "functions.hostile-code-isolation",
37
+ "functions.external-npm-dependencies",
38
+ "functions.scheduled",
39
+ "functions.background-jobs",
40
+ "functions.streaming",
41
+ "functions.websockets",
21
42
  "storage.s3-compatible",
22
43
  "assets.images",
23
44
  "subdomains.managed",
@@ -53,7 +74,12 @@ export function runtimeCapabilities(version = "0.1.1") {
53
74
  release_spec_version: release.releaseSpecVersion,
54
75
  planner_semantics_version: release.plannerSemanticsVersion,
55
76
  },
77
+ functions: {
78
+ name: "@run402/functions",
79
+ version: "3.5.1",
80
+ },
56
81
  },
82
+ functions_runtime: coreFunctionRuntimeCapability(),
57
83
  };
58
84
  }
59
85
  //# sourceMappingURL=capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAAmC,CAAC;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAiC,CAAC;AAE7E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,uBAAuB;IACvB,wBAAwB;IACxB,wCAAwC;IACxC,0CAA0C;IAC1C,gCAAgC;IAChC,yBAAyB;IACzB,4BAA4B;IAC5B,mBAAmB;IACnB,mCAAmC;CAC3B,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,6BAA6B;IAC7B,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,kBAAkB;IAClB,uBAAuB;IACvB,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;IAC9B,mBAAmB;IACnB,eAAe;IACf,wBAAwB;IACxB,uBAAuB;IACvB,kBAAkB;IAClB,sBAAsB;CACd,CAAC;AA0BX,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,OAAO;IACnD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO;QACL,wBAAwB,EAAE,+BAA+B;QACzD,oBAAoB,EAAE,oBAAoB;QAC1C,yBAAyB,EAAE,yBAAyB;QACpD,kBAAkB,EAAE,CAAC,GAAG,0BAA0B,CAAC;QACnD,oBAAoB,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO;YACP,KAAK,EAAE,wBAAwB;SAChC,CAAC,CAAC;QACH,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,2BAA2B;gBACjC,OAAO;aACR;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;gBAChD,yBAAyB,EAAE,OAAO,CAAC,uBAAuB;aAC3D;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAAmC,CAAC;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAiC,CAAC;AAE7E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,uBAAuB;IACvB,wBAAwB;IACxB,wCAAwC;IACxC,0CAA0C;IAC1C,gCAAgC;IAChC,yBAAyB;IACzB,4BAA4B;IAC5B,mBAAmB;IACnB,mCAAmC;IACnC,mCAAmC;IACnC,gCAAgC;IAChC,4BAA4B;IAC5B,uBAAuB;IACvB,+BAA+B;IAC/B,mCAAmC;IACnC,8BAA8B;IAC9B,2BAA2B;IAC3B,gBAAgB;IAChB,6BAA6B;IAC7B,+BAA+B;IAC/B,4BAA4B;IAC5B,4BAA4B;IAC5B,yBAAyB;IACzB,sBAAsB;IACtB,8BAA8B;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,6BAA6B;IAC7B,YAAY;IACZ,WAAW;IACX,kCAAkC;IAClC,qCAAqC;IACrC,qBAAqB;IACrB,2BAA2B;IAC3B,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,wBAAwB;IACxB,wBAAwB;IACxB,8BAA8B;IAC9B,mBAAmB;IACnB,eAAe;IACf,wBAAwB;IACxB,uBAAuB;IACvB,kBAAkB;IAClB,sBAAsB;CACd,CAAC;AA+BX,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,OAAO;IACnD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO;QACL,wBAAwB,EAAE,+BAA+B;QACzD,oBAAoB,EAAE,oBAAoB;QAC1C,yBAAyB,EAAE,yBAAyB;QACpD,kBAAkB,EAAE,CAAC,GAAG,0BAA0B,CAAC;QACnD,oBAAoB,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO;YACP,KAAK,EAAE,wBAAwB;SAChC,CAAC,CAAC;QACH,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,2BAA2B;gBACjC,OAAO;aACR;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;gBAChD,yBAAyB,EAAE,OAAO,CAAC,uBAAuB;aAC3D;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,OAAO;aACjB;SACF;QACD,iBAAiB,EAAE,6BAA6B,EAAE;KACnD,CAAC;AACJ,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -2,6 +2,15 @@ export interface UnsupportedCapabilityDetails {
2
2
  capability: string;
3
3
  supported_features?: string[];
4
4
  }
5
+ export interface RuntimeKernelTypedErrorDetails {
6
+ [key: string]: unknown;
7
+ }
8
+ export declare class RuntimeKernelTypedError extends Error {
9
+ readonly code: string;
10
+ readonly status: number;
11
+ readonly details: RuntimeKernelTypedErrorDetails;
12
+ constructor(code: string, status: number, message: string, details?: RuntimeKernelTypedErrorDetails);
13
+ }
5
14
  export declare class UnsupportedCapabilityError extends Error {
6
15
  readonly code = "unsupported_capability";
7
16
  readonly status = 422;
@@ -13,4 +22,39 @@ export declare function unsupportedCapabilityEnvelope(error: UnsupportedCapabili
13
22
  message: string;
14
23
  capability: string;
15
24
  };
25
+ export declare class MissingRequiredSecretError extends RuntimeKernelTypedError {
26
+ constructor(secretName: string, functionName?: string);
27
+ }
28
+ export declare class FunctionBundleValidationError extends RuntimeKernelTypedError {
29
+ constructor(code: string, message: string, details?: RuntimeKernelTypedErrorDetails);
30
+ }
31
+ export declare class DependencyInstallRejectedError extends RuntimeKernelTypedError {
32
+ constructor(message: string, details?: RuntimeKernelTypedErrorDetails);
33
+ }
34
+ export declare class DependencyInstallFailedError extends RuntimeKernelTypedError {
35
+ constructor(message: string, details?: RuntimeKernelTypedErrorDetails);
36
+ }
37
+ export declare class DynamicRuntimeUnavailableError extends RuntimeKernelTypedError {
38
+ constructor(message?: string, details?: RuntimeKernelTypedErrorDetails);
39
+ }
40
+ export declare class DynamicRuntimeTimeoutError extends RuntimeKernelTypedError {
41
+ constructor(message?: string, details?: RuntimeKernelTypedErrorDetails);
42
+ }
43
+ export declare class DynamicRuntimeBusyError extends RuntimeKernelTypedError {
44
+ constructor(message?: string, details?: RuntimeKernelTypedErrorDetails);
45
+ }
46
+ export declare class RequestBodyTooLargeError extends RuntimeKernelTypedError {
47
+ constructor(limitBytes: number);
48
+ }
49
+ export declare class ResponseBodyTooLargeError extends RuntimeKernelTypedError {
50
+ constructor(limitBytes: number);
51
+ }
52
+ export declare class LocalExecutorError extends RuntimeKernelTypedError {
53
+ constructor(message: string, details?: RuntimeKernelTypedErrorDetails);
54
+ }
55
+ export declare function runtimeKernelErrorEnvelope(error: RuntimeKernelTypedError): {
56
+ error: string;
57
+ message: string;
58
+ details?: RuntimeKernelTypedErrorDetails;
59
+ };
16
60
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,MAAM,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,OAAO,SAAkD;CAK1F;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,0BAA0B,GAAG;IAChF,KAAK,EAAE,wBAAwB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAMA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,8BAA8B;IAC7C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAGpC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAF1D,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;gBAE5B,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC;CAK1H;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,MAAM,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,OAAO,SAAkD;CAK1F;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,0BAA0B,GAAG;IAChF,KAAK,EAAE,wBAAwB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAMA;AAED,qBAAa,0BAA2B,SAAQ,uBAAuB;gBACzD,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAOtD;AAED,qBAAa,6BAA8B,SAAQ,uBAAuB;gBAC5D,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC;CAIxF;AAED,qBAAa,8BAA+B,SAAQ,uBAAuB;gBAC7D,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC;CAI1E;AAED,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC;CAI1E;AAED,qBAAa,8BAA+B,SAAQ,uBAAuB;gBAC7D,OAAO,SAA6D,EAAE,OAAO,GAAE,8BAAmC;CAI/H;AAED,qBAAa,0BAA2B,SAAQ,uBAAuB;gBACzD,OAAO,SAAsD,EAAE,OAAO,GAAE,8BAAmC;CAIxH;AAED,qBAAa,uBAAwB,SAAQ,uBAAuB;gBACtD,OAAO,SAAyC,EAAE,OAAO,GAAE,8BAAmC;CAI3G;AAED,qBAAa,wBAAyB,SAAQ,uBAAuB;gBACvD,UAAU,EAAE,MAAM;CAM/B;AAED,qBAAa,yBAA0B,SAAQ,uBAAuB;gBACxD,UAAU,EAAE,MAAM;CAM/B;AAED,qBAAa,kBAAmB,SAAQ,uBAAuB;gBACjD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC;CAI1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,8BAA8B,CAAC;CAC1C,CAMA"}