@bobbykim/manguito-cms-cli 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9270,7 +9270,7 @@ var require_bcryptjs = __commonJS({
9270
9270
  }
9271
9271
  });
9272
9272
 
9273
- // ../api/dist/chunk-GUZZQZSN.mjs
9273
+ // ../api/dist/chunk-EFTMAG7N.mjs
9274
9274
  init_esm_shims();
9275
9275
  import crypto from "crypto";
9276
9276
 
@@ -26681,7 +26681,7 @@ function describeSchemaChange(input) {
26681
26681
  return { from: from?.version ?? null, to: to.version, types, identical };
26682
26682
  }
26683
26683
 
26684
- // ../api/dist/chunk-GUZZQZSN.mjs
26684
+ // ../api/dist/chunk-EFTMAG7N.mjs
26685
26685
  function isColumnBacked2(field) {
26686
26686
  const col = field.db_column;
26687
26687
  if (col === null) return false;
@@ -26788,10 +26788,131 @@ function createFieldKeyMapFromProjection(projectionType, allFields) {
26788
26788
  droppedLabels
26789
26789
  );
26790
26790
  }
26791
+ var UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
26792
+ function isUuid(v) {
26793
+ return typeof v === "string" && UUID_RE.test(v);
26794
+ }
26795
+ function isPlainObject2(v) {
26796
+ return typeof v === "object" && v !== null && !Array.isArray(v);
26797
+ }
26798
+ function checkRelationInput(fields, body, registry2, path4 = "") {
26799
+ const errors = [];
26800
+ for (const field of fields) {
26801
+ if (!Object.hasOwn(body, field.name)) continue;
26802
+ const cardinality = relationCardinality(field);
26803
+ if (cardinality === null) continue;
26804
+ const value = body[field.name];
26805
+ const name = `${path4}${field.name}`;
26806
+ if (field.field_type === "reference") {
26807
+ const ok = cardinality === "one" ? value === null || isUuid(value) : Array.isArray(value) && value.every(isUuid);
26808
+ if (!ok) {
26809
+ errors.push({
26810
+ field: name,
26811
+ message: cardinality === "one" ? `${name} holds one item: send a UUID string or null.` : `${name} holds a list: send an array of UUID strings.`
26812
+ });
26813
+ }
26814
+ continue;
26815
+ }
26816
+ const items = cardinality === "one" ? value === null ? [] : isPlainObject2(value) ? [value] : void 0 : Array.isArray(value) && value.every(isPlainObject2) ? value : void 0;
26817
+ if (items === void 0) {
26818
+ errors.push({
26819
+ field: name,
26820
+ message: cardinality === "one" ? `${name} holds one item: send an object or null.` : `${name} holds a list: send an array of objects.`
26821
+ });
26822
+ continue;
26823
+ }
26824
+ const pType = paragraphTypeOf(field, registry2);
26825
+ if (!pType) continue;
26826
+ items.forEach((item, i) => {
26827
+ const prefix = cardinality === "one" ? `${name}.` : `${name}[${i}].`;
26828
+ errors.push(...checkRelationInput(pType.fields, item, registry2, prefix));
26829
+ });
26830
+ }
26831
+ return errors;
26832
+ }
26833
+ function paragraphTypeOf(field, registry2) {
26834
+ const comp = field.ui_component;
26835
+ return comp.component === "paragraph-embed" ? registry2.paragraph_types[comp.ref] : void 0;
26836
+ }
26837
+ function paragraphItemsIn(fields, body, registry2, path4) {
26838
+ const out = [];
26839
+ for (const field of fields) {
26840
+ if (field.field_type !== "paragraph" || !Object.hasOwn(body, field.name)) continue;
26841
+ const pType = paragraphTypeOf(field, registry2);
26842
+ if (!pType) continue;
26843
+ const value = body[field.name];
26844
+ const name = `${path4}${field.name}`;
26845
+ if (relationCardinality(field) === "one") {
26846
+ if (isPlainObject2(value)) out.push({ item: value, fields: pType.fields, prefix: `${name}.` });
26847
+ } else if (Array.isArray(value)) {
26848
+ value.forEach((item, i) => {
26849
+ if (isPlainObject2(item)) out.push({ item, fields: pType.fields, prefix: `${name}[${i}].` });
26850
+ });
26851
+ }
26852
+ }
26853
+ return out;
26854
+ }
26855
+ function isMissing(value) {
26856
+ if (value === null || value === void 0) return true;
26857
+ if (typeof value === "string" && value.trim() === "") return true;
26858
+ if (Array.isArray(value) && value.length === 0) return true;
26859
+ return false;
26860
+ }
26861
+ function checkRequiredInParagraphItems(fields, body, registry2, path4 = "") {
26862
+ const errors = [];
26863
+ for (const { item, fields: itemFields, prefix } of paragraphItemsIn(fields, body, registry2, path4)) {
26864
+ for (const f of itemFields) {
26865
+ if (!f.required || f.removed === true || !f.db_column || f.db_column.junction) continue;
26866
+ if (isMissing(item[f.name])) {
26867
+ errors.push({ field: `${prefix}${f.name}`, message: `${prefix}${f.name} is required.` });
26868
+ }
26869
+ }
26870
+ errors.push(...checkRequiredInParagraphItems(itemFields, item, registry2, prefix));
26871
+ }
26872
+ return errors;
26873
+ }
26791
26874
  function quoteIdent(name) {
26792
26875
  if (!/^[a-z][a-z0-9_-]*$/.test(name)) throw new Error(`Unsafe identifier: ${name}`);
26793
26876
  return `"${name}"`;
26794
26877
  }
26878
+ function collectReferences(fields, body, registry2, path4, out) {
26879
+ for (const f of fields) {
26880
+ if (!Object.hasOwn(body, f.name) || !f.db_column) continue;
26881
+ const table = f.db_column.junction ? f.db_column.junction.right_table : f.db_column.foreign_key?.table;
26882
+ if (!table) continue;
26883
+ const value = body[f.name];
26884
+ const name = `${path4}${f.name}`;
26885
+ if (typeof value === "string") {
26886
+ out.push({ table, id: value, field: name });
26887
+ } else if (Array.isArray(value)) {
26888
+ value.forEach((v, i) => {
26889
+ if (typeof v === "string") out.push({ table, id: v, field: `${name}[${i}]` });
26890
+ });
26891
+ }
26892
+ }
26893
+ for (const { item, fields: itemFields, prefix } of paragraphItemsIn(fields, body, registry2, path4)) {
26894
+ collectReferences(itemFields, item, registry2, prefix, out);
26895
+ }
26896
+ }
26897
+ async function findMissingReferences(db, fields, body, registry2) {
26898
+ const uses = [];
26899
+ collectReferences(fields, body, registry2, "", uses);
26900
+ if (uses.length === 0) return [];
26901
+ const lookups = [...new Set(uses.map((u) => u.table))].map(async (table) => {
26902
+ const ids = [...new Set(uses.filter((u) => u.table === table && isUuid(u.id)).map((u) => u.id.toLowerCase()))];
26903
+ if (ids.length === 0) return [table, /* @__PURE__ */ new Set()];
26904
+ const result = await db.execute(
26905
+ sql`SELECT id FROM ${sql.raw(quoteIdent(table))} WHERE id IN (${sql.join(ids.map((id) => sql`${id}`), sql`, `)})`
26906
+ );
26907
+ return [table, new Set(result.rows.map((r) => String(r.id).toLowerCase()))];
26908
+ });
26909
+ const found = new Map(await Promise.all(lookups));
26910
+ return uses.filter((u) => !found.get(u.table).has(u.id.toLowerCase())).map((u) => ({ field: u.field, message: `${u.field} refers to an item that does not exist.` }));
26911
+ }
26912
+ function quoteIdent2(name) {
26913
+ if (!/^[a-z][a-z0-9_-]*$/.test(name)) throw new Error(`Unsafe identifier: ${name}`);
26914
+ return `"${name}"`;
26915
+ }
26795
26916
  function paragraphMediaFieldNames(pType) {
26796
26917
  return new Set(
26797
26918
  pType.fields.filter((f) => f.field_type === "image" || f.field_type === "video" || f.field_type === "file").map((f) => f.name)
@@ -26800,8 +26921,8 @@ function paragraphMediaFieldNames(pType) {
26800
26921
  async function fetchParagraphMediaIds(db, pType, itemId, fieldName) {
26801
26922
  const mediaColumns = pType.fields.filter((f) => f.field_type === "image" || f.field_type === "video" || f.field_type === "file").map((f) => f.db_column.column_name);
26802
26923
  if (mediaColumns.length === 0) return [];
26803
- const tbl = sql.raw(quoteIdent(pType.db.table_name));
26804
- const cols = sql.join(mediaColumns.map((c) => sql.raw(quoteIdent(c))), sql`, `);
26924
+ const tbl = sql.raw(quoteIdent2(pType.db.table_name));
26925
+ const cols = sql.join(mediaColumns.map((c) => sql.raw(quoteIdent2(c))), sql`, `);
26805
26926
  const result = await db.execute(
26806
26927
  sql`SELECT ${cols} FROM ${tbl} WHERE parent_id = ${itemId} AND parent_field = ${fieldName}`
26807
26928
  );
@@ -26819,20 +26940,37 @@ function nestedParagraphFields(pType, registry2) {
26819
26940
  const out = [];
26820
26941
  for (const f of pType.fields) {
26821
26942
  if (f.db_column !== null) continue;
26822
- const comp = f.ui_component;
26823
- if (comp.component !== "paragraph-embed" || !comp.ref) continue;
26824
- const nType = registry2.paragraph_types[comp.ref];
26943
+ const nType = paragraphTypeOf(f, registry2);
26825
26944
  if (nType) out.push({ fieldName: f.name, nType, field: f });
26826
26945
  }
26827
26946
  return out;
26828
26947
  }
26829
26948
  async function fetchParagraphRowIds(db, pType, itemId, fieldName) {
26830
- const tbl = sql.raw(quoteIdent(pType.db.table_name));
26949
+ const tbl = sql.raw(quoteIdent2(pType.db.table_name));
26831
26950
  const result = await db.execute(
26832
26951
  sql`SELECT id FROM ${tbl} WHERE parent_id = ${itemId} AND parent_field = ${fieldName}`
26833
26952
  );
26834
26953
  return result.rows.map((r) => r["id"]).filter((id) => typeof id === "string");
26835
26954
  }
26955
+ async function ownParagraphRowIds(db, registry2, fields, itemId) {
26956
+ const ids = [];
26957
+ for (const f of fields) {
26958
+ const pType = paragraphTypeOf(f, registry2);
26959
+ if (!pType) continue;
26960
+ const rowIds = await fetchParagraphRowIds(db, pType, itemId, f.name);
26961
+ ids.push(...rowIds);
26962
+ if (rowIds.length === 0) continue;
26963
+ for (const n of nestedParagraphFields(pType, registry2)) {
26964
+ const result = await db.execute(
26965
+ sql`SELECT id FROM ${sql.raw(quoteIdent2(n.nType.db.table_name))} WHERE parent_id = ANY(${sql.param(rowIds)}::uuid[]) AND parent_field = ${n.fieldName}`
26966
+ );
26967
+ for (const r of result.rows) {
26968
+ if (typeof r["id"] === "string") ids.push(r["id"]);
26969
+ }
26970
+ }
26971
+ }
26972
+ return ids;
26973
+ }
26836
26974
  async function persistParagraphField(db, itemId, parentType, fieldName, pType, items, registry2) {
26837
26975
  const removed = await fetchParagraphMediaIds(db, pType, itemId, fieldName);
26838
26976
  const nested = nestedParagraphFields(pType, registry2);
@@ -26845,7 +26983,7 @@ async function persistParagraphField(db, itemId, parentType, fieldName, pType, i
26845
26983
  }
26846
26984
  }
26847
26985
  }
26848
- const tbl = sql.raw(quoteIdent(pType.db.table_name));
26986
+ const tbl = sql.raw(quoteIdent2(pType.db.table_name));
26849
26987
  await db.execute(sql`DELETE FROM ${tbl} WHERE parent_id = ${itemId} AND parent_field = ${fieldName}`);
26850
26988
  const mediaFieldNames = paragraphMediaFieldNames(pType);
26851
26989
  const added = [];
@@ -26865,7 +27003,7 @@ async function persistParagraphField(db, itemId, parentType, fieldName, pType, i
26865
27003
  if (!pf.db_column || pf.db_column.junction) continue;
26866
27004
  data[pf.db_column.column_name] = pItem[pf.name] ?? null;
26867
27005
  }
26868
- const cols = sql.join(Object.keys(data).map((k) => sql.raw(quoteIdent(k))), sql`, `);
27006
+ const cols = sql.join(Object.keys(data).map((k) => sql.raw(quoteIdent2(k))), sql`, `);
26869
27007
  const vals = sql.join(Object.values(data).map((v) => sql`${v}`), sql`, `);
26870
27008
  await db.execute(sql`INSERT INTO ${tbl} (${cols}) VALUES (${vals})`);
26871
27009
  for (const name of mediaFieldNames) {
@@ -26901,14 +27039,14 @@ async function deleteParagraphField(db, itemId, fieldName, pType, registry2) {
26901
27039
  }
26902
27040
  }
26903
27041
  }
26904
- const tbl = sql.raw(quoteIdent(pType.db.table_name));
27042
+ const tbl = sql.raw(quoteIdent2(pType.db.table_name));
26905
27043
  await db.execute(sql`DELETE FROM ${tbl} WHERE parent_id = ${itemId} AND parent_field = ${fieldName}`);
26906
27044
  return { added: [], removed };
26907
27045
  }
26908
27046
  async function persistJunctionField(db, itemId, junction, relatedIds) {
26909
- const tbl = sql.raw(quoteIdent(junction.table_name));
26910
- const left = sql.raw(quoteIdent(junction.left_column));
26911
- const right = sql.raw(quoteIdent(junction.right_column));
27047
+ const tbl = sql.raw(quoteIdent2(junction.table_name));
27048
+ const left = sql.raw(quoteIdent2(junction.left_column));
27049
+ const right = sql.raw(quoteIdent2(junction.right_column));
26912
27050
  const seen = /* @__PURE__ */ new Set();
26913
27051
  const ids = relatedIds.filter((id) => {
26914
27052
  const key = id.toLowerCase();
@@ -26925,13 +27063,22 @@ async function persistJunctionField(db, itemId, junction, relatedIds) {
26925
27063
  sql`, `
26926
27064
  );
26927
27065
  await db.execute(
26928
- junction.order_column ? sql`INSERT INTO ${tbl} (${left}, ${right}, "order") VALUES ${rows}` : sql`INSERT INTO ${tbl} (${left}, ${right}) VALUES ${rows}`
27066
+ junction.order_column ? sql`INSERT INTO ${tbl} (${left}, ${right}, "order") VALUES ${rows} ON CONFLICT DO NOTHING` : sql`INSERT INTO ${tbl} (${left}, ${right}) VALUES ${rows} ON CONFLICT DO NOTHING`
26929
27067
  );
26930
27068
  }
26931
27069
  function junctionOrderBy(junction) {
26932
- const right = sql.raw(quoteIdent(junction.right_column));
27070
+ const right = sql.raw(quoteIdent2(junction.right_column));
26933
27071
  return junction.order_column ? sql` ORDER BY "order" ASC, ${right} ASC` : sql` ORDER BY ${right} ASC`;
26934
27072
  }
27073
+ function firstOfEach(items, key) {
27074
+ const seen = /* @__PURE__ */ new Set();
27075
+ return items.filter((item) => {
27076
+ const k = key(item);
27077
+ if (seen.has(k)) return false;
27078
+ seen.add(k);
27079
+ return true;
27080
+ });
27081
+ }
26935
27082
  function oneOrMany(cardinality, list) {
26936
27083
  return cardinality === "one" ? list[0] ?? null : list;
26937
27084
  }
@@ -26999,7 +27146,7 @@ async function resolveRelationField(db, rows, fieldName, rel, cache, publishedOn
26999
27146
  const parentIds = batch.map((r) => r["id"]);
27000
27147
  const inList = sql.join(parentIds.map((id) => sql`${id}`), sql`, `);
27001
27148
  const result = await db.execute(
27002
- sql`SELECT * FROM ${sql.raw(quoteIdent(rel.table))} WHERE parent_id IN (${inList}) AND parent_field = ${fieldName} ORDER BY "order" ASC`
27149
+ sql`SELECT * FROM ${sql.raw(quoteIdent2(rel.table))} WHERE parent_id IN (${inList}) AND parent_field = ${fieldName} ORDER BY "order" ASC, id ASC`
27003
27150
  );
27004
27151
  const byParent = groupBy(result.rows, "parent_id");
27005
27152
  for (const row of batch) {
@@ -27019,7 +27166,7 @@ async function resolveRelationField(db, rows, fieldName, rel, cache, publishedOn
27019
27166
  const inList = sql.join(uncached.map((id) => sql`${id}`), sql`, `);
27020
27167
  const publishedCond = publishedOnly ? sql` AND published = true` : sql``;
27021
27168
  const result = await db.execute(
27022
- sql`SELECT * FROM ${sql.raw(quoteIdent(rel.table))} WHERE id IN (${inList})${publishedCond}`
27169
+ sql`SELECT * FROM ${sql.raw(quoteIdent2(rel.table))} WHERE id IN (${inList})${publishedCond}`
27023
27170
  );
27024
27171
  for (const item of result.rows) {
27025
27172
  cache.set(`${rel.table}:${item["id"]}`, item);
@@ -27033,7 +27180,7 @@ async function resolveRelationField(db, rows, fieldName, rel, cache, publishedOn
27033
27180
  const parentIds = batch.map((r) => r["id"]);
27034
27181
  const inList = sql.join(parentIds.map((id) => sql`${id}`), sql`, `);
27035
27182
  const junctionResult = await db.execute(
27036
- sql`SELECT * FROM ${sql.raw(quoteIdent(rel.junction_table))} WHERE ${sql.raw(quoteIdent(rel.left_column))} IN (${inList})${junctionOrderBy(rel)}`
27183
+ sql`SELECT * FROM ${sql.raw(quoteIdent2(rel.junction_table))} WHERE ${sql.raw(quoteIdent2(rel.left_column))} IN (${inList})${junctionOrderBy(rel)}`
27037
27184
  );
27038
27185
  const jRows = junctionResult.rows;
27039
27186
  const rightIds = [...new Set(jRows.map((r) => r[rel.right_column]))];
@@ -27042,7 +27189,7 @@ async function resolveRelationField(db, rows, fieldName, rel, cache, publishedOn
27042
27189
  const rightInList = sql.join(uncached.map((id) => sql`${id}`), sql`, `);
27043
27190
  const publishedCond = publishedOnly ? sql` AND published = true` : sql``;
27044
27191
  const entitiesResult = await db.execute(
27045
- sql`SELECT * FROM ${sql.raw(quoteIdent(rel.table))} WHERE id IN (${rightInList})${publishedCond}`
27192
+ sql`SELECT * FROM ${sql.raw(quoteIdent2(rel.table))} WHERE id IN (${rightInList})${publishedCond}`
27046
27193
  );
27047
27194
  for (const item of entitiesResult.rows) {
27048
27195
  cache.set(`${rel.table}:${item["id"]}`, item);
@@ -27050,7 +27197,7 @@ async function resolveRelationField(db, rows, fieldName, rel, cache, publishedOn
27050
27197
  }
27051
27198
  const byLeft = groupBy(jRows, rel.left_column);
27052
27199
  for (const row of batch) {
27053
- const jEntries = byLeft[row["id"]] ?? [];
27200
+ const jEntries = firstOfEach(byLeft[row["id"]] ?? [], (jr) => jr[rel.right_column]);
27054
27201
  row[fieldName] = jEntries.map((jr) => cache.get(`${rel.table}:${jr[rel.right_column]}`)).filter(Boolean);
27055
27202
  }
27056
27203
  } else if (rel.type === "media") {
@@ -27082,7 +27229,7 @@ async function resolveRelationBareIds(db, rows, fieldName, rel) {
27082
27229
  const parentIds = rows.map((r) => r["id"]);
27083
27230
  const inList = sql.join(parentIds.map((id) => sql`${id}`), sql`, `);
27084
27231
  const result = await db.execute(
27085
- sql`SELECT id, parent_id FROM ${sql.raw(quoteIdent(rel.table))} WHERE parent_id IN (${inList}) AND parent_field = ${fieldName} ORDER BY "order" ASC`
27232
+ sql`SELECT id, parent_id FROM ${sql.raw(quoteIdent2(rel.table))} WHERE parent_id IN (${inList}) AND parent_field = ${fieldName} ORDER BY "order" ASC, id ASC`
27086
27233
  );
27087
27234
  const byParent = groupBy(result.rows, "parent_id");
27088
27235
  for (const row of rows) {
@@ -27092,11 +27239,11 @@ async function resolveRelationBareIds(db, rows, fieldName, rel) {
27092
27239
  const parentIds = rows.map((r) => r["id"]);
27093
27240
  const inList = sql.join(parentIds.map((id) => sql`${id}`), sql`, `);
27094
27241
  const result = await db.execute(
27095
- sql`SELECT ${sql.raw(quoteIdent(rel.left_column))} AS left_id, ${sql.raw(quoteIdent(rel.right_column))} AS right_id FROM ${sql.raw(quoteIdent(rel.junction_table))} WHERE ${sql.raw(quoteIdent(rel.left_column))} IN (${inList})${junctionOrderBy(rel)}`
27242
+ sql`SELECT ${sql.raw(quoteIdent2(rel.left_column))} AS left_id, ${sql.raw(quoteIdent2(rel.right_column))} AS right_id FROM ${sql.raw(quoteIdent2(rel.junction_table))} WHERE ${sql.raw(quoteIdent2(rel.left_column))} IN (${inList})${junctionOrderBy(rel)}`
27096
27243
  );
27097
27244
  const byLeft = groupBy(result.rows, "left_id");
27098
27245
  for (const row of rows) {
27099
- row[fieldName] = (byLeft[row["id"]] ?? []).map((r) => r["right_id"]);
27246
+ row[fieldName] = firstOfEach(byLeft[row["id"]] ?? [], (r) => r["right_id"]).map((r) => r["right_id"]);
27100
27247
  }
27101
27248
  }
27102
27249
  }
@@ -27149,6 +27296,14 @@ export {
27149
27296
  isColumnBacked2 as isColumnBacked,
27150
27297
  createFieldKeyMap,
27151
27298
  createFieldKeyMapFromProjection,
27299
+ isPlainObject2 as isPlainObject,
27300
+ checkRelationInput,
27301
+ paragraphTypeOf,
27302
+ paragraphItemsIn,
27303
+ isMissing,
27304
+ checkRequiredInParagraphItems,
27305
+ findMissingReferences,
27306
+ ownParagraphRowIds,
27152
27307
  persistParagraphField,
27153
27308
  deleteParagraphField,
27154
27309
  persistJunctionField,
@@ -12,7 +12,7 @@ import {
12
12
  isColumnBacked,
13
13
  relationCardinality,
14
14
  resolveRelationField
15
- } from "./chunk-N75KN2YC.js";
15
+ } from "./chunk-EVB2E4A5.js";
16
16
 
17
17
  // ../../node_modules/.pnpm/@whatwg-node+fetch@0.10.13/node_modules/@whatwg-node/fetch/dist/shouldSkipPonyfill.js
18
18
  var require_shouldSkipPonyfill = __commonJS({
@@ -10787,10 +10787,10 @@ var require_parser = __commonJS({
10787
10787
  }
10788
10788
  });
10789
10789
 
10790
- // ../api/dist/handler-MFF32JB4.mjs
10790
+ // ../api/dist/handler-5OTVPIAF.mjs
10791
10791
  init_esm_shims();
10792
10792
 
10793
- // ../api/dist/chunk-ITOSMGDT.mjs
10793
+ // ../api/dist/chunk-DHOVO42E.mjs
10794
10794
  init_esm_shims();
10795
10795
 
10796
10796
  // ../../node_modules/.pnpm/graphql-yoga@5.21.2_graphql@16.14.2/node_modules/graphql-yoga/esm/index.js
@@ -30123,7 +30123,7 @@ function createYoga(options) {
30123
30123
  });
30124
30124
  }
30125
30125
 
30126
- // ../api/dist/chunk-ITOSMGDT.mjs
30126
+ // ../api/dist/chunk-DHOVO42E.mjs
30127
30127
  var import_dataloader = __toESM(require_dataloader(), 1);
30128
30128
 
30129
30129
  // ../../node_modules/.pnpm/@escape.tech+graphql-armor@3.2.0_@envelop+core@5.5.1_@escape.tech+graphql-armor-types@0.7.0/node_modules/@escape.tech/graphql-armor/dist/graphql-armor.esm.js
@@ -30881,7 +30881,7 @@ var EnvelopArmor = class {
30881
30881
  }
30882
30882
  };
30883
30883
 
30884
- // ../api/dist/chunk-ITOSMGDT.mjs
30884
+ // ../api/dist/chunk-DHOVO42E.mjs
30885
30885
  var DateTimeScalar = new GraphQLScalarType({
30886
30886
  name: "DateTime",
30887
30887
  description: "ISO-8601 date-time string",