sporades 0.9.16 → 0.9.18

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/CHANGES.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # Changes
2
2
 
3
- ## Unreleased - 2026-09-05
3
+ ## Unreleased - 2026-09-11
4
4
 
5
- Changes since v0.9.15.
5
+ Changes since v0.9.17.
6
6
 
7
- ### 🚀 Features
7
+ ### 🐛 Bug Fixes
8
8
 
9
- - Add authenticated multipart endpoint admission (0811bb28).
9
+ - Reject caps below the configured envelope floor (bfb6bce1).
10
+ - Fix query arguments containing multi-element arrays (#37) (8cfef157).
11
+
12
+ ### 📝 Documentation
13
+
14
+ - Remove personal infrastructure from documentation and host fixture (628363b1).
15
+ - Link log cap implementation PR (a0b2fb88).
16
+ - Record log cap validation completion (675226cd).
17
+ - Document shell quote handlers in SQL lexer census (#38) (125355ab).
10
18
 
11
19
  ## v0.9.11 - 2026-09-02
12
20
 
@@ -99,3 +107,5 @@ generated artifacts, and documentation.
99
107
 
100
108
 
101
109
 
110
+
111
+
@@ -26265,7 +26265,7 @@ var require_png2 = __commonJS({
26265
26265
  import { spawnSync as spawnSync2 } from "node:child_process";
26266
26266
  import { constants as fsConstants, createReadStream, statSync } from "node:fs";
26267
26267
  import { access, chmod, lstat, mkdir, open, opendir, readdir, readFile as readFile2, readlink, rename, rm, stat, statfs, symlink, writeFile } from "node:fs/promises";
26268
- import { createHash as createHash2, generateKeyPairSync, randomBytes as randomBytes2 } from "node:crypto";
26268
+ import { createHash, generateKeyPairSync, randomBytes } from "node:crypto";
26269
26269
  import { freemem, loadavg, totalmem } from "node:os";
26270
26270
  import path3 from "node:path";
26271
26271
  import { isDeepStrictEqual } from "node:util";
@@ -26421,8 +26421,35 @@ function validatePublicTreeFileSet(files) {
26421
26421
  return { ok: true, fileCount: files.length, totalBytes };
26422
26422
  }
26423
26423
 
26424
- // src/server-runtime-source.ts
26425
- import { createHash, randomBytes, randomUUID } from "node:crypto";
26424
+ // src/log-envelope.ts
26425
+ import { randomUUID } from "node:crypto";
26426
+ function uncappedLogEnvelope(input) {
26427
+ const config = input.config ?? {};
26428
+ const capsuleName = String(config.name ?? "unknown");
26429
+ return {
26430
+ schema: "sporades.log.v1",
26431
+ timestamp: input.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
26432
+ category: input.category ?? "platform",
26433
+ event: input.event ?? "runtime.event",
26434
+ level: input.level ?? "info",
26435
+ message: String(input.message ?? ""),
26436
+ capsule: {
26437
+ name: capsuleName,
26438
+ id: String(config.capsule?.id ?? config.id ?? capsuleName)
26439
+ },
26440
+ release: input.release ?? config.release ?? null,
26441
+ request: input.request ? {
26442
+ id: input.request.id ?? randomUUID(),
26443
+ method: input.request.method ?? null,
26444
+ path: input.request.path ?? null
26445
+ } : null,
26446
+ correlation: input.correlation ?? null,
26447
+ data: input.data ?? null
26448
+ };
26449
+ }
26450
+ function logPayloadMaxBytes(config = {}) {
26451
+ return config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes ?? 4096;
26452
+ }
26426
26453
 
26427
26454
  // src/auth-admission.ts
26428
26455
  var AUTH_REQUIREMENTS = Symbol.for("sporades.auth.requirements");
@@ -42424,38 +42451,16 @@ var runtimeOwnedJobEnqueueHandler = Symbol("sporades.runtimeOwnedJobEnqueueHandl
42424
42451
  var atomicStripeEventDefinitionBrand = Symbol.for("sporades.stripeEvent.atomicDefinition");
42425
42452
  var atomicStripeFenceContention = Symbol("sporades.atomicStripeFenceContention");
42426
42453
  var INGRESS_AUDIT_RETENTION_MS = 24 * 60 * 60 * 1e3;
42427
- function logPayloadMaxBytes(config = {}) {
42428
- const configured = Number(config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes);
42429
- return Number.isInteger(configured) && configured > 0 ? configured : 4096;
42430
- }
42431
42454
  function logRedactedValue() {
42432
42455
  return "[REDACTED]";
42433
42456
  }
42434
42457
  var transactionPendingLogWrites = Symbol("sporades.transactionPendingLogWrites");
42435
42458
  function createLogEnvelope(input) {
42436
- const now = (/* @__PURE__ */ new Date()).toISOString();
42437
42459
  const config = input.config ?? {};
42438
- const capsuleName = String(config.name ?? "unknown");
42439
- const envelope = {
42440
- schema: "sporades.log.v1",
42441
- timestamp: input.timestamp ?? now,
42442
- category: input.category ?? "platform",
42443
- event: input.event ?? "runtime.event",
42444
- level: input.level ?? "info",
42445
- message: String(input.message ?? ""),
42446
- capsule: {
42447
- name: capsuleName,
42448
- id: String(config.capsule?.id ?? config.id ?? capsuleName)
42449
- },
42450
- release: input.release ?? config.release ?? null,
42451
- request: input.request ? {
42452
- id: input.request.id ?? randomUUID(),
42453
- method: input.request.method ?? null,
42454
- path: input.request.path ?? null
42455
- } : null,
42456
- correlation: input.correlation ?? null,
42460
+ const envelope = uncappedLogEnvelope({
42461
+ ...input,
42457
42462
  data: sanitizeLogData(input.data ?? null, input.serverEnv ?? {})
42458
- };
42463
+ });
42459
42464
  return capLogEnvelope(envelope, logPayloadMaxBytes(config));
42460
42465
  }
42461
42466
  function sanitizeLogData(value, serverEnv) {
@@ -42582,7 +42587,7 @@ function writeEnvelope(result, failed = false) {
42582
42587
  }
42583
42588
 
42584
42589
  // src/cli/cli-version.ts
42585
- var CLI_VERSION = "0.9.16";
42590
+ var CLI_VERSION = "0.9.18";
42586
42591
 
42587
42592
  // src/cli/schedule-inspection-envelope.ts
42588
42593
  var SCHEDULE_DIAGNOSTIC_FIELDS = /* @__PURE__ */ new Set([
@@ -43418,7 +43423,7 @@ async function installHostHelperPayload(stage, target, expectedChecksum) {
43418
43423
  const newPayloadName = `.sporades-host-helper-payload-${expectedChecksum}.mjs`;
43419
43424
  const newPayload = path3.join(directory, newPayloadName);
43420
43425
  await mkdir(directory, { recursive: true });
43421
- if (createHash2("sha256").update(await readFile2(stage)).digest("hex") !== expectedChecksum) {
43426
+ if (createHash("sha256").update(await readFile2(stage)).digest("hex") !== expectedChecksum) {
43422
43427
  throw helperError("Staged Host helper checksum did not match.", "Upload the immutable Host helper again, then retry the upgrade.");
43423
43428
  }
43424
43429
  await publishHostHelperFile(stage, newPayload, 493);
@@ -43435,7 +43440,7 @@ async function installHostHelperPayload(stage, target, expectedChecksum) {
43435
43440
  previousPayloadName = (await readFile2(pointer, "utf8")).trim();
43436
43441
  await validateHostHelperPayload(directory, previousPayloadName);
43437
43442
  } else {
43438
- const previousChecksum = createHash2("sha256").update(currentTarget).digest("hex");
43443
+ const previousChecksum = createHash("sha256").update(currentTarget).digest("hex");
43439
43444
  previousPayloadName = `.sporades-host-helper-payload-${previousChecksum}.mjs`;
43440
43445
  await publishHostHelperFile(target, path3.join(directory, previousPayloadName), 493);
43441
43446
  await writeHostHelperPointer(pointer, previousPayloadName);
@@ -43460,7 +43465,7 @@ async function publishHostHelperFile(source, target, mode) {
43460
43465
  await publishHostHelperBytes(contents, target, mode);
43461
43466
  }
43462
43467
  async function publishHostHelperBytes(contents, target, mode) {
43463
- const temporary = `${target}.tmp-${process.pid}-${randomBytes2(8).toString("hex")}`;
43468
+ const temporary = `${target}.tmp-${process.pid}-${randomBytes(8).toString("hex")}`;
43464
43469
  try {
43465
43470
  await writeFile(temporary, contents, { flag: "wx", mode });
43466
43471
  await chmod(temporary, mode);
@@ -43478,7 +43483,7 @@ async function validateHostHelperPayload(directory, payloadName) {
43478
43483
  const match = /^\.sporades-host-helper-payload-([a-f0-9]{64})\.mjs$/.exec(payloadName);
43479
43484
  if (!match) throw helperError("Host helper payload pointer was invalid.", "Retry the Host helper upgrade.");
43480
43485
  const payload = path3.join(directory, payloadName);
43481
- const actual = createHash2("sha256").update(await readFile2(payload)).digest("hex");
43486
+ const actual = createHash("sha256").update(await readFile2(payload)).digest("hex");
43482
43487
  if (actual !== match[1]) throw helperError("Host helper payload checksum did not match.", "Retry the Host helper upgrade.");
43483
43488
  }
43484
43489
  async function drainUncooperativeHostHelpers(target) {
@@ -44460,7 +44465,7 @@ async function claimReleaseArchive(request) {
44460
44465
  throw helperError("Hosted Capsule release claim directory is unsafe.", "Repair Host helper ownership of the release claim directory and retry.");
44461
44466
  }
44462
44467
  await chmod(claimsDirectory, 448);
44463
- const claimedPath = path3.join(claimsDirectory, `${request.release.id}-${process.pid}-${randomBytes2(16).toString("hex")}.tar.gz`);
44468
+ const claimedPath = path3.join(claimsDirectory, `${request.release.id}-${process.pid}-${randomBytes(16).toString("hex")}.tar.gz`);
44464
44469
  await rename(request.release.remoteArchive, claimedPath);
44465
44470
  try {
44466
44471
  const stats = await lstat(claimedPath);
@@ -44476,7 +44481,7 @@ async function claimReleaseArchive(request) {
44476
44481
  }
44477
44482
  async function releaseArchiveSha256(archivePath) {
44478
44483
  return new Promise((resolve, reject) => {
44479
- const hash2 = createHash2("sha256");
44484
+ const hash2 = createHash("sha256");
44480
44485
  const stream = createReadStream(archivePath);
44481
44486
  stream.on("data", (chunk) => hash2.update(chunk));
44482
44487
  stream.on("error", reject);
@@ -44533,7 +44538,7 @@ async function validateExtractedReleaseTree(root, expectedFiles) {
44533
44538
  }
44534
44539
  publicClaims.push({ path: publicPath, size: stats.size });
44535
44540
  }
44536
- actual.push({ path: relative, size: stats.size, sha256: createHash2("sha256").update(await readFile2(entryPath)).digest("hex") });
44541
+ actual.push({ path: relative, size: stats.size, sha256: createHash("sha256").update(await readFile2(entryPath)).digest("hex") });
44537
44542
  }
44538
44543
  }
44539
44544
  await visit(root);
@@ -45046,7 +45051,7 @@ async function captureReleaseInstallRoute(request, previousRecord) {
45046
45051
  return { lifecycle, routeFile, contents };
45047
45052
  }
45048
45053
  async function restoreCurrentReleasePointerTarget(currentLink, previousTarget) {
45049
- const temporary = `${currentLink}.restore-${process.pid}-${randomBytes2(8).toString("hex")}`;
45054
+ const temporary = `${currentLink}.restore-${process.pid}-${randomBytes(8).toString("hex")}`;
45050
45055
  await rm(temporary, { force: true });
45051
45056
  if (!previousTarget) {
45052
45057
  await rm(currentLink, { force: true });
@@ -46094,7 +46099,7 @@ async function ensureRuntimeProbeCredential(request) {
46094
46099
  await mutateRegistryRecord(request, (record) => {
46095
46100
  probe = readRuntimeProbeCredential(record) ?? {
46096
46101
  header: RUNTIME_PROBE_HEADER,
46097
- token: randomBytes2(32).toString("hex"),
46102
+ token: randomBytes(32).toString("hex"),
46098
46103
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
46099
46104
  };
46100
46105
  return { ...record, runtimeProbe: probe };
@@ -46637,7 +46642,7 @@ async function writeExclusiveRuntimeFile(parentHandle, targetPath, contents, mod
46637
46642
  }
46638
46643
  }
46639
46644
  async function publishRuntimeFile(parentHandle, targetPath, contents, mode, boundary) {
46640
- const temporaryPath = path3.join(path3.dirname(targetPath), `.${path3.basename(targetPath)}.tmp-${process.pid}-${randomBytes2(8).toString("hex")}`);
46645
+ const temporaryPath = path3.join(path3.dirname(targetPath), `.${path3.basename(targetPath)}.tmp-${process.pid}-${randomBytes(8).toString("hex")}`);
46641
46646
  await writeExclusiveRuntimeFile(parentHandle, temporaryPath, contents, mode);
46642
46647
  const temporaryDescriptor = descriptorChildPath(parentHandle.fd, path3.basename(temporaryPath), temporaryPath);
46643
46648
  const targetDescriptor = descriptorChildPath(parentHandle.fd, path3.basename(targetPath), targetPath);
@@ -46826,7 +46831,7 @@ function hostSealedEnvKeyPaths(dataDirectory, fingerprint) {
46826
46831
  };
46827
46832
  }
46828
46833
  function fingerprintPublicKey(publicKey) {
46829
- return createHash2("sha256").update(publicKey).digest("hex").slice(0, 16);
46834
+ return createHash("sha256").update(publicKey).digest("hex").slice(0, 16);
46830
46835
  }
46831
46836
  function reactivateRegistrationRecord(record, sealedServerEnv = null) {
46832
46837
  const now = (/* @__PURE__ */ new Date()).toISOString();
@@ -47253,7 +47258,7 @@ ${end}
47253
47258
  await atomicPublishBootstrapFile(caddyfile, next, "bootstrap-caddyfile");
47254
47259
  }
47255
47260
  async function atomicPublishBootstrapFile(target, contents, boundary) {
47256
- const temporary = `${target}.sporades-${process.pid}-${randomBytes2(8).toString("hex")}.tmp`;
47261
+ const temporary = `${target}.sporades-${process.pid}-${randomBytes(8).toString("hex")}.tmp`;
47257
47262
  await assertBootstrapMutationBoundary(`${boundary}-write`, [target, temporary]);
47258
47263
  await writeFile(temporary, contents, { flag: "wx", mode: 420 });
47259
47264
  try {
package/bin/sporades.js CHANGED
@@ -92842,9 +92842,66 @@ function restartPolicyStatus(mode, overrides2 = {}) {
92842
92842
  }
92843
92843
 
92844
92844
  // src/server-runtime-source.ts
92845
- import { createHash as createHash8, randomBytes as randomBytes5, randomUUID as randomUUID7 } from "node:crypto";
92845
+ import { createHash as createHash8, randomBytes as randomBytes5, randomUUID as randomUUID8 } from "node:crypto";
92846
92846
  import { appendFileSync, mkdirSync, readFileSync } from "node:fs";
92847
92847
 
92848
+ // src/log-envelope.ts
92849
+ import { randomUUID as randomUUID6 } from "node:crypto";
92850
+ function uncappedLogEnvelope(input) {
92851
+ const config = input.config ?? {};
92852
+ const capsuleName = String(config.name ?? "unknown");
92853
+ return {
92854
+ schema: "sporades.log.v1",
92855
+ timestamp: input.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
92856
+ category: input.category ?? "platform",
92857
+ event: input.event ?? "runtime.event",
92858
+ level: input.level ?? "info",
92859
+ message: String(input.message ?? ""),
92860
+ capsule: {
92861
+ name: capsuleName,
92862
+ id: String(config.capsule?.id ?? config.id ?? capsuleName)
92863
+ },
92864
+ release: input.release ?? config.release ?? null,
92865
+ request: input.request ? {
92866
+ id: input.request.id ?? randomUUID6(),
92867
+ method: input.request.method ?? null,
92868
+ path: input.request.path ?? null
92869
+ } : null,
92870
+ correlation: input.correlation ?? null,
92871
+ data: input.data ?? null
92872
+ };
92873
+ }
92874
+ function minimumLogPayloadMaxBytes(config = {}) {
92875
+ const envelope = uncappedLogEnvelope({
92876
+ config,
92877
+ timestamp: "2000-01-01T00:00:00.000Z",
92878
+ category: "c".repeat(16),
92879
+ level: "l".repeat(16),
92880
+ event: "e".repeat(64),
92881
+ message: "m".repeat(128),
92882
+ data: null
92883
+ });
92884
+ return Buffer.byteLength(JSON.stringify({ ...envelope, truncated: false }), "utf8") - 4 + 256;
92885
+ }
92886
+ function logPayloadMaxBytes(config = {}) {
92887
+ return config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes ?? 4096;
92888
+ }
92889
+ function validateLogConfig(config = {}) {
92890
+ const minimum = minimumLogPayloadMaxBytes(config);
92891
+ const fail2 = (key) => {
92892
+ throw commandError(
92893
+ "Invalid log payload cap.",
92894
+ `Set \`${key}.payloadMaxBytes\` to an integer of at least ${minimum} bytes for this Capsule in sporades.json.`,
92895
+ "INVALID_LOG_CONFIG"
92896
+ );
92897
+ };
92898
+ for (const key of ["logs", "logging"]) {
92899
+ const value = config[key]?.payloadMaxBytes;
92900
+ if (value !== void 0 && (!Number.isSafeInteger(value) || value < minimum)) fail2(key);
92901
+ }
92902
+ if (logPayloadMaxBytes(config) < minimum) fail2("logs");
92903
+ }
92904
+
92848
92905
  // src/mail-config-validation.ts
92849
92906
  function invalidMailConfig(message, hint) {
92850
92907
  const error = new Error(message);
@@ -94871,7 +94928,7 @@ function sanitizeAccessKeyOperatorEnvelope(value, action, input, invalid) {
94871
94928
  }
94872
94929
 
94873
94930
  // src/database-runtime.ts
94874
- import { randomUUID as randomUUID6 } from "node:crypto";
94931
+ import { randomUUID as randomUUID7 } from "node:crypto";
94875
94932
 
94876
94933
  // src/inspection-sql.ts
94877
94934
  function validateReadOnlyInspectionSql(sql) {
@@ -97700,7 +97757,7 @@ function migrateExistingAppTableInTransaction(sqlite, existingTable, nextTable)
97700
97757
  const occupiedNames = new Set(tableNames);
97701
97758
  let tempTableName;
97702
97759
  do {
97703
- tempTableName = `__sporades_migrating_${randomUUID6().replaceAll("-", "")}`;
97760
+ tempTableName = `__sporades_migrating_${randomUUID7().replaceAll("-", "")}`;
97704
97761
  } while (occupiedNames.has(tempTableName));
97705
97762
  return chainMaybePromise([
97706
97763
  ...addedFieldsForTable(existingTable, nextTable).filter((field) => field.kind === "Reference" && field.defaultValue !== void 0 && field.defaultValue !== null).map(
@@ -98088,6 +98145,7 @@ async function openDevDatabase(databasePath, serverSource, serverEnv = {}, confi
98088
98145
  validateStripeEventSubscription(capsuleDefinition.stripeEvents);
98089
98146
  validateEndpointResponseDeclarations(capsuleDefinition);
98090
98147
  }
98148
+ validateLogConfig(config);
98091
98149
  const paymentsConfig = validateStripePaymentsRuntimeConfig(config.payments, serverEnv);
98092
98150
  if (capsuleDefinition?.teams !== void 0 && (!capsuleDefinition.teams || typeof capsuleDefinition.teams !== "object" || Array.isArray(capsuleDefinition.teams))) {
98093
98151
  throw commandError("Invalid Capsule Teams declaration.", "Declare teams as { appRoles?: string[], admitJoin?: function }.", "INVALID_TEAM_APPLICATION_ROLES");
@@ -98748,7 +98806,7 @@ async function reconcileSchedules(database) {
98748
98806
  }
98749
98807
  }
98750
98808
  }
98751
- plans.push({ definition, row, nextOccurrence, exhausted, recoveredOccurrence, generationToken: randomUUID7() });
98809
+ plans.push({ definition, row, nextOccurrence, exhausted, recoveredOccurrence, generationToken: randomUUID8() });
98752
98810
  }
98753
98811
  for (const row of persisted) {
98754
98812
  if (!declaredNames.has(String(row.name))) {
@@ -99059,7 +99117,7 @@ async function recordScheduledOccurrence(database, definition, occurrence) {
99059
99117
  async function claimScheduledOccurrence(database, definition, occurrence) {
99060
99118
  const scheduledFor = occurrence.toISOString();
99061
99119
  const id2 = scheduledOccurrenceIdentity(database, definition.name, scheduledFor);
99062
- const token = randomUUID7();
99120
+ const token = randomUUID8();
99063
99121
  const now2 = database.clock.now();
99064
99122
  const nowIso2 = now2.toISOString();
99065
99123
  const fullLeaseExpiresAt = jobTimestampAfter(now2, RUNTIME_CLAIM_LEASE_MS);
@@ -99553,10 +99611,6 @@ function jobClaimOwnership(claimToken) {
99553
99611
  function jobClaimTokenIsMalformed(claimToken) {
99554
99612
  return claimToken !== null && claimToken !== void 0 && (typeof claimToken !== "string" || claimToken.length === 0);
99555
99613
  }
99556
- function logPayloadMaxBytes(config = {}) {
99557
- const configured = Number(config.logs?.payloadMaxBytes ?? config.logging?.payloadMaxBytes);
99558
- return Number.isInteger(configured) && configured > 0 ? configured : 4096;
99559
- }
99560
99614
  function logRedactedValue() {
99561
99615
  return "[REDACTED]";
99562
99616
  }
@@ -99772,29 +99826,11 @@ function createPrivilegedHandlerContext(database, context, signal) {
99772
99826
  return privilegedContext;
99773
99827
  }
99774
99828
  function createLogEnvelope(input) {
99775
- const now2 = (/* @__PURE__ */ new Date()).toISOString();
99776
99829
  const config = input.config ?? {};
99777
- const capsuleName = String(config.name ?? "unknown");
99778
- const envelope = {
99779
- schema: "sporades.log.v1",
99780
- timestamp: input.timestamp ?? now2,
99781
- category: input.category ?? "platform",
99782
- event: input.event ?? "runtime.event",
99783
- level: input.level ?? "info",
99784
- message: String(input.message ?? ""),
99785
- capsule: {
99786
- name: capsuleName,
99787
- id: String(config.capsule?.id ?? config.id ?? capsuleName)
99788
- },
99789
- release: input.release ?? config.release ?? null,
99790
- request: input.request ? {
99791
- id: input.request.id ?? randomUUID7(),
99792
- method: input.request.method ?? null,
99793
- path: input.request.path ?? null
99794
- } : null,
99795
- correlation: input.correlation ?? null,
99830
+ const envelope = uncappedLogEnvelope({
99831
+ ...input,
99796
99832
  data: sanitizeLogData(input.data ?? null, input.serverEnv ?? {})
99797
- };
99833
+ });
99798
99834
  return capLogEnvelope(envelope, logPayloadMaxBytes(config));
99799
99835
  }
99800
99836
  function sanitizeLogData(value, serverEnv) {
@@ -100504,7 +100540,7 @@ async function routeEndpoint(database, request, response) {
100504
100540
  actor: { userId: null, provider: null, isAuthenticated: null, isGuest: null }
100505
100541
  } });
100506
100542
  }
100507
- if (request.__sporadesAccessKeyAdmitted || error?.sporadesAccessKeyFailure) {
100543
+ if (request.__sporadesAccessKeyAdmitted || error?.sporadesAccessKeyFailure || request.__sporadesCapsuleIngressAdmissionDenied) {
100508
100544
  response.setHeader("cache-control", "no-store");
100509
100545
  response.setHeader("pragma", "no-cache");
100510
100546
  }
@@ -100513,6 +100549,7 @@ async function routeEndpoint(database, request, response) {
100513
100549
  } finally {
100514
100550
  request.removeListener?.("aborted", abortRequest);
100515
100551
  delete request.__sporadesEndpointSignal;
100552
+ delete request.__sporadesCapsuleIngressAdmissionDenied;
100516
100553
  }
100517
100554
  return true;
100518
100555
  }
@@ -100669,6 +100706,9 @@ async function runEndpoint(database, endpoint, requestUrl, request) {
100669
100706
  endpointRequest = { ...endpointRequest, ...payload };
100670
100707
  } catch (error) {
100671
100708
  if (error?.code === "UNAUTHENTICATED") {
100709
+ if (endpointIngressClaimAuthority(endpoint) === "capsule-principal") {
100710
+ request.__sporadesCapsuleIngressAdmissionDenied = true;
100711
+ }
100672
100712
  try {
100673
100713
  await database.log.emit({ category: "platform", event: "file.ingress.denied", level: "warn", message: "Multipart ingress lifecycle event", data: { schema: "v1", outcome: "denied", code: "UNAUTHENTICATED" } });
100674
100714
  } catch {
@@ -101402,7 +101442,7 @@ function createEndpointTableApi(database, table, query = {}, contextGetter = nul
101402
101442
  insert(values) {
101403
101443
  const now2 = (/* @__PURE__ */ new Date()).toISOString();
101404
101444
  const row = {
101405
- id: randomUUID7(),
101445
+ id: randomUUID8(),
101406
101446
  createdAt: now2,
101407
101447
  updatedAt: now2
101408
101448
  };
@@ -101439,7 +101479,7 @@ function createEndpointTableApi(database, table, query = {}, contextGetter = nul
101439
101479
  }
101440
101480
  const now2 = (/* @__PURE__ */ new Date()).toISOString();
101441
101481
  const row = {
101442
- id: randomUUID7(),
101482
+ id: randomUUID8(),
101443
101483
  createdAt: now2,
101444
101484
  updatedAt: now2
101445
101485
  };
@@ -102173,7 +102213,7 @@ function createWebSocketHub(getDatabase, trustedRefresh = null) {
102173
102213
  const currentAuth = { userId: current2.userId, displayName: current2.displayName, email: current2.email, picture: current2.picture, isAuthenticated: Boolean(current2.isAuthenticated), isGuest: Boolean(current2.isGuest), provider: current2.provider };
102174
102214
  if (!await tx.claimEmailCredentialVersion(normalized.email, credential.passwordHash, credential.passwordSalt)) return;
102175
102215
  if (!await database.authorizeReauthentication(tx, currentAuth, purpose)) return;
102176
- await tx.replaceReauthenticationProof({ id: randomUUID7(), userId: current2.userId, sessionToken: current2.token, purpose, createdAt: now2.toISOString(), expiresAt });
102216
+ await tx.replaceReauthenticationProof({ id: randomUUID8(), userId: current2.userId, sessionToken: current2.token, purpose, createdAt: now2.toISOString(), expiresAt });
102177
102217
  ok = true;
102178
102218
  await tx.clearEmailReauthenticationAttempts(reauthenticationThrottleKeys);
102179
102219
  });
@@ -102888,7 +102928,7 @@ async function enqueueRuntimeJob(database, handlerName, payload, idempotencyKey,
102888
102928
  "INSERT INTO [sporades_jobs] ([id], [handler], [enqueuedByUserId], [actorUserId], [actorProvider], [payload], [status], [availableAt], [attempts], [idempotencyKey], [createdAt], [retryJson], [attemptHistory], [scheduleName], [scheduledFor]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, '[]', NULL, NULL)"
102889
102929
  )
102890
102930
  ).run(
102891
- randomUUID7(),
102931
+ randomUUID8(),
102892
102932
  handlerName,
102893
102933
  PRIVILEGED_AUTH_USER_ID,
102894
102934
  PRIVILEGED_AUTH_USER_ID,
@@ -103133,7 +103173,7 @@ function normalizeQueryArgumentValue(value, ancestors) {
103133
103173
  ancestors.add(value);
103134
103174
  try {
103135
103175
  if (Array.isArray(value)) {
103136
- if (Object.getOwnPropertyNames(value).some((key) => key !== "length" && (!/^(0|[1-9]\\d*)$/.test(key) || Number(key) >= value.length))) {
103176
+ if (Object.getOwnPropertyNames(value).some((key) => key !== "length" && (!/^(0|[1-9]\d*)$/.test(key) || Number(key) >= value.length))) {
103137
103177
  throw new Error("Query arguments must not contain non-index array properties.");
103138
103178
  }
103139
103179
  const copy2 = [];
@@ -103967,7 +104007,7 @@ async function runCurrentUserJobWorker(database) {
103967
104007
  await failInvalidQueuedJob(database, row, { code: "JOB_AVAILABLE_AT_INVALID", message: "The Job cannot acquire a canonical claim lease." });
103968
104008
  continue;
103969
104009
  }
103970
- const claimToken = randomUUID7();
104010
+ const claimToken = randomUUID8();
103971
104011
  const claimed = await database.adapter.prepare(sql(
103972
104012
  "UPDATE [sporades_jobs] SET [status] = 'running', [attempts] = [attempts] + 1, [startedAt] = ?, [leaseExpiresAt] = ?, [claimToken] = ? WHERE [id] = ? AND [status] = 'queued' AND [availableAt] = ? AND COALESCE([retryJson], '') = COALESCE(?, '')"
103973
104013
  )).run(startedAt, leaseExpiresAt, claimToken, row.id, row.availableAt, row.retryJson);
@@ -104117,7 +104157,7 @@ async function runInsertMutation(database, context, mutationName, args) {
104117
104157
  }
104118
104158
  const now2 = (/* @__PURE__ */ new Date()).toISOString();
104119
104159
  const values = {
104120
- id: randomUUID7(),
104160
+ id: randomUUID8(),
104121
104161
  createdAt: now2,
104122
104162
  updatedAt: now2
104123
104163
  };
@@ -108824,6 +108864,7 @@ async function readProjectConfig(projectDir) {
108824
108864
  } catch {
108825
108865
  throw commandError4("Invalid project configuration: sporades.json", "Fix the JSON syntax in sporades.json.");
108826
108866
  }
108867
+ validateLogConfig(config);
108827
108868
  validateSecurityConfig(config.security);
108828
108869
  validateClientConfig(config.client);
108829
108870
  validateSchedulingConfig(config.scheduling);
@@ -110718,7 +110759,7 @@ jobs:
110718
110759
  }
110719
110760
 
110720
110761
  // src/cli/cli-version.ts
110721
- var CLI_VERSION = "0.9.16";
110762
+ var CLI_VERSION = "0.9.18";
110722
110763
 
110723
110764
  // src/cli/sporades.ts
110724
110765
  var SUPPORTED_TEMPLATES = new Set(CLIENT_TEMPLATES);
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.9.16";
1
+ export declare const CLI_VERSION = "0.9.18";
2
2
  //# sourceMappingURL=cli-version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Generated by `npm run build` from package.json. Do not edit by hand.
2
- export const CLI_VERSION = "0.9.16";
2
+ export const CLI_VERSION = "0.9.18";
3
3
  //# sourceMappingURL=cli-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/cli/project-config.ts"],"names":[],"mappings":"AASA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,eAAO,MAAM,iBAAiB,aAAwD,CAAC;AAqCvF,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,gBAsBzD;AAOD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,QAoC5D;AAQD,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,QAkBrD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,QAiBvD;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,WAAW,QAS/D;AAED,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UASpF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,QAazD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,QA4B3D;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;EAmClF;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;GAiB3F;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAyCnF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,UAKpD;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;;EAK9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,UAE5D"}
1
+ {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/cli/project-config.ts"],"names":[],"mappings":"AAUA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,eAAO,MAAM,iBAAiB,aAAwD,CAAC;AAqCvF,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,gBAuBzD;AAOD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,QAoC5D;AAQD,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,QAkBrD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,QAiBvD;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,WAAW,QAS/D;AAED,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;UASpF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,QAazD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,QA4B3D;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;EAmClF;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;GAiB3F;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAyCnF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,UAKpD;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;;EAK9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,UAE5D"}
@@ -4,6 +4,7 @@ import path from "node:path";
4
4
  import { normaliseBaseImageUpdatePolicy } from "../base-image.js";
5
5
  import { validateCapsuleServicesConfig } from "../capsule-services.js";
6
6
  import { CLIENT_FRAMEWORK_HINT, CLIENT_TOOLCHAIN_HINT, clientCapabilityError, defaultClientToolchain, isClientFramework, isClientToolchain, supportsClientCapability } from "../client-capabilities.js";
7
+ import { validateLogConfig } from "../log-envelope.js";
7
8
  import { validateMailConfig } from "../mail-config.js";
8
9
  import { validatePaymentsConfig } from "../stripe-payment-config.js";
9
10
  import { commandError, errorDetails } from "./cli-support.js";
@@ -53,6 +54,7 @@ export async function readProjectConfig(projectDir) {
53
54
  catch {
54
55
  throw commandError("Invalid project configuration: sporades.json", "Fix the JSON syntax in sporades.json.");
55
56
  }
57
+ validateLogConfig(config);
56
58
  validateSecurityConfig(config.security);
57
59
  validateClientConfig(config.client);
58
60
  validateSchedulingConfig(config.scheduling);
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/cli/project-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/cli/project-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACxM,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvF,MAAM,sBAAsB,GAAG;IAC7B,aAAa,EAAE,CAAC,QAAQ,CAAC;IACzB,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAC3C,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAC1C,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;IACvC,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,iBAAiB,EAAE,CAAC,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,MAAM;IACN,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,IAAI;IACJ,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,UAAU;IACV,YAAY;IACZ,UAAU;IACV,KAAK;IACL,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,UAAU,EACV,8CAA8C,EAC9C,kDAAkD,CACnD,CAAC;IACF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,YAAY,CAAC,8CAA8C,EAAE,uCAAuC,CAAC,CAAC;IAC9G,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7E,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAChD,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,8EAA8E;AAC9E,8DAA8D;AAC9D,MAAM,UAAU,2BAA2B,CAAC,IAAiB;IAC3D,MAAM,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC;IACjD,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO;IACxC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;QAC7C,MAAM,KAAK,GAA6C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,KAAK,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC,uCAAuC,EAAE,+EAA+E,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CACF,sCAAsC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjE,sFAAsF,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,IAAI,CACF,mCAAmC,EACnC,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,CACvC,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ;WACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;WACrC,aAAa,CAAC,KAAK,GAAG,yBAAyB;WAC/C,aAAa,CAAC,KAAK,GAAG,yBAAyB,CACnD,EAAE,CAAC;QACF,IAAI,CACF,uCAAuC,EACvC,0FAA0F,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;QAC7C,MAAM,KAAK,GAA6C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,KAAK,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC;QACpH,IAAI,CAAC,8BAA8B,EAAE,oDAAoD,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC;QACxI,IAAI,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,8BAA8B,EAAE,kFAAkF,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,WAAW,CAAC,EAAE,CAAC;QACpJ,MAAM,YAAY,CAAC,+BAA+B,EAAE,0EAA0E,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,MAAM,YAAY,CAAC,0BAA0B,MAAM,CAAC,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,MAAM,YAAY,CAAC,iCAAiC,MAAM,CAAC,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACpH,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAuB;IAC9D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO;IACrC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,8BAA8B,CAAC,EAAE,CAAC;QAChK,MAAM,YAAY,CAAC,mCAAmC,EAAE,iFAAiF,CAAC,CAAC;IAC7I,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,4BAA4B,CAAC;IACxD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,YAAY,CAAC,2CAA2C,EAAE,iFAAiF,CAAC,CAAC;IACrJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,UAAkB,EAAE,OAAe;IACnF,IAAI,CAAC;QACH,OAAO,8BAA8B,CAAC,MAAM,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,8CAA8C,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAe;IACxD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,YAAY,CAAC,8CAA8C,EAAE,qCAAqC,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,YAAY,CAChB,yCAAyC,EACzC,mHAAmH,EACnH,EAAE,eAAe,EAAE,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAqB;IAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,YAAY,CAAC,0BAA0B,EAAE,+CAA+C,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,YAAY,CAAC,sBAAsB,EAAE,yDAAyD,CAAC,CAAC;QACxG,CAAC;QACD,IACE,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAe,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,EACpH,CAAC;YACD,MAAM,YAAY,CAAC,+BAA+B,EAAE,mEAAmE,CAAC,CAAC;QAC3H,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,YAAY,CAAC,qBAAqB,EAAE,8CAA8C,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnF,MAAM,YAAY,CAAC,mBAAmB,EAAE,wDAAwD,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAAmB,EAAE,OAAe;IACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,OAAO,KAAK,YAAY,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,IAAI,SAAS,CAAC;IAC3C,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,SAAS;YACtB,SAAS;YACT,cAAc;YACd,qBAAqB,EAAE,UAAU;YACjC,0BAA0B,EAAE,CAAC,GAAG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;SACnE;QACD,OAAO,EAAE;YACP,kBAAkB,EAAE,SAAS;YAC7B,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,MAAM;YACpB,iBAAiB,EAAE,0CAA0C;YAC7D,uBAAuB,EAAE,aAAa;YACtC,yBAAyB,EAAE,IAAI;SAChC;QACD,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,aAAa;YAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qCAAqC;YACrH,UAAU,EAAE;gBACV,GAAG,sBAAsB;gBACzB,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;aAC1B;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAAmB,EAAE,UAAkB;IAC1F,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,kBAAkB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,kBAAkB;QAClB,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAgB,EAAE,UAAkB;IAClF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,YAAY,CAAC,mCAAmC,EAAE,gEAAgE,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,MAAM,YAAY,CAChB,4CAA4C,EAC5C,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,YAAY,CAChB,0DAA0D,KAAK,IAAI,EACnE,oDAAoD,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC/C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,YAAY,CAChB,0DAA0D,KAAK,IAAI,EACnE,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM;YACrB,CAAC,CAAC,KAAK,CAAC,GAAG;YACX,CAAC,CAAC,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,QAAQ,EAAE,sBAAsB,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/H,OAAO,UAAU,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAmB,EAAE,OAAe;IAC7E,OAAO;QACL,GAAG,MAAM;QACT,iBAAiB,EAAE,OAAO;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAmB;IAC3D,OAAO,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAClH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAY;IAC7E,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAgB,EAAE,KAAa;IACnE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,YAAY,CAChB,gEAAgE,KAAK,IAAI,EACzE,uFAAuF,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,UAAkB;IACvE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAgB,EAAE,MAAc;IACtE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,YAAY,CAChB,kCAAkC,MAAM,4BAA4B,EACpE,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ;SACZ,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,yBAAyB,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,OAAO,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,MAAc;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,2KAA2K,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjM,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,OAAO,YAAY,CACjB,4CAA4C,MAAM,GAAG,EACrD,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,OAAO,KAAK,4BAA4B,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,OAAO,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IAClJ,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,OAAO,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IACjI,CAAC;IAED,IAAI,OAAO,KAAK,oCAAoC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,OAAO,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IAClL,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IACjI,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,MAAc;IACjD,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3B,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC3D,CAAC"}
@@ -51,6 +51,7 @@
51
51
  "src/http-runtime.ts",
52
52
  "src/inspection-sql.ts",
53
53
  "src/jobs-runtime.ts",
54
+ "src/log-envelope.ts",
54
55
  "src/log-index-guard.ts",
55
56
  "src/log-index-storage.ts",
56
57
  "src/mail-config-validation.ts",
@@ -94,7 +95,7 @@
94
95
  "tsconfig.json",
95
96
  "tsconfig.runtime.json"
96
97
  ],
97
- "digest": "bf44a2b78b27b6ac4bbbbd4b05d4c48974af4e8d4464dd26ad490b1955df08d8"
98
+ "digest": "511dc78d64447ec66273e8ea1349b0a44655c3bad106ac1acbe038715a10dee7"
98
99
  },
99
100
  "outputs": {
100
101
  "files": [
@@ -268,6 +269,10 @@
268
269
  "dist/jobs-runtime.d.ts.map",
269
270
  "dist/jobs-runtime.js",
270
271
  "dist/jobs-runtime.js.map",
272
+ "dist/log-envelope.d.ts",
273
+ "dist/log-envelope.d.ts.map",
274
+ "dist/log-envelope.js",
275
+ "dist/log-envelope.js.map",
271
276
  "dist/log-index-guard.d.ts",
272
277
  "dist/log-index-guard.d.ts.map",
273
278
  "dist/log-index-guard.js",
@@ -409,6 +414,6 @@
409
414
  "dist/user-preferences-runtime.js",
410
415
  "dist/user-preferences-runtime.js.map"
411
416
  ],
412
- "digest": "5747b98e2bb1b1baacbaa4ca869ddc0cb5a8864d522ea34f48e95164830082ef"
417
+ "digest": "039f3be4d897462e77175112eacb60644f14498fab0769207f0d6954a6ad8dca"
413
418
  }
414
419
  }