@prisma/orm-framework 8.0.0-rc.15-dev.2 → 8.0.0-rc.15-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/{authoring-CcT010vl.d.mts → authoring-DZ6xCFkL.d.mts} +2 -2
  2. package/dist/{authoring-CcT010vl.d.mts.map → authoring-DZ6xCFkL.d.mts.map} +1 -1
  3. package/dist/authoring-DcJL9g8s.mjs +352 -0
  4. package/dist/authoring-DcJL9g8s.mjs.map +1 -0
  5. package/dist/{binder-Dz5zT7tr-Dc_RkyB2.d.mts → binder-CfxKD8hm-CtG0Bs3W.d.mts} +30 -13
  6. package/dist/binder-CfxKD8hm-CtG0Bs3W.d.mts.map +1 -0
  7. package/dist/codec-U-xbQys_.mjs.map +1 -1
  8. package/dist/{components-CK8GHz8l.d.mts → components-DFGmVWZ7.d.mts} +2 -2
  9. package/dist/{components-CK8GHz8l.d.mts.map → components-DFGmVWZ7.d.mts.map} +1 -1
  10. package/dist/components.d.mts +8 -8
  11. package/dist/components.mjs +7 -6
  12. package/dist/components__authoring.d.mts +3 -3
  13. package/dist/components__authoring.mjs +3 -3
  14. package/dist/components__codec.mjs +2 -1
  15. package/dist/components__components.d.mts +2 -2
  16. package/dist/components__control.d.mts +3 -3
  17. package/dist/components__control.mjs +2 -2
  18. package/dist/components__execution.d.mts +1 -1
  19. package/dist/{config-types-D-P60plU.d.mts → config-types-CHO5rbVo.d.mts} +10 -8
  20. package/dist/config-types-CHO5rbVo.d.mts.map +1 -0
  21. package/dist/config.d.mts +1 -1
  22. package/dist/config__config-types.d.mts +1 -1
  23. package/dist/contract-authoring.d.mts +1 -1
  24. package/dist/contract-authoring.mjs +1 -1
  25. package/dist/{control-BIv_-3QB.mjs → control-DZJQzwlC.mjs} +8 -4
  26. package/dist/control-DZJQzwlC.mjs.map +1 -0
  27. package/dist/{control-C1x8zzHb.d.mts → control-_4dB7KvO.d.mts} +7 -7
  28. package/dist/{control-C1x8zzHb.d.mts.map → control-_4dB7KvO.d.mts.map} +1 -1
  29. package/dist/{resolve-codec-vOfdHcIJ-IeNjz3Tm.mjs → data-type-4xQlxYB5-DD158cOq.mjs} +3 -70
  30. package/dist/data-type-4xQlxYB5-DD158cOq.mjs.map +1 -0
  31. package/dist/{declarations-DDT0hm5r-BZoOKiu1.mjs → declarations-5xLxC310-R3-Z4vcK.mjs} +6 -6
  32. package/dist/{declarations-DDT0hm5r-BZoOKiu1.mjs.map → declarations-5xLxC310-R3-Z4vcK.mjs.map} +1 -1
  33. package/dist/errors.d.mts +1 -1
  34. package/dist/errors__execution.d.mts +1 -1
  35. package/dist/{execution-gjfB1CvH.d.mts → execution-CYxp6gvp.d.mts} +2 -2
  36. package/dist/{execution-gjfB1CvH.d.mts.map → execution-CYxp6gvp.d.mts.map} +1 -1
  37. package/dist/{execution-o-z5gzZh.d.mts → execution-Utsq8aY6.d.mts} +2 -2
  38. package/dist/{execution-o-z5gzZh.d.mts.map → execution-Utsq8aY6.d.mts.map} +1 -1
  39. package/dist/{framework-components-DDr6lZoZ-EpXYrZj7.d.mts → framework-components-BY_7sg-B-ChOD-ovL.d.mts} +3 -3
  40. package/dist/{framework-components-DDr6lZoZ-EpXYrZj7.d.mts.map → framework-components-BY_7sg-B-ChOD-ovL.d.mts.map} +1 -1
  41. package/dist/{mutation-default-types-D_M8NC3U-BQNexfRU.d.mts → mutation-default-types-CMx8Y9zx-yQN8l2GU.d.mts} +4 -10
  42. package/dist/mutation-default-types-CMx8Y9zx-yQN8l2GU.d.mts.map +1 -0
  43. package/dist/{parse-ymgXJUnk-CwVCe8ZD.mjs → parse-Cjjj1-m4-Coaz3UzQ.mjs} +3 -3
  44. package/dist/{parse-ymgXJUnk-CwVCe8ZD.mjs.map → parse-Cjjj1-m4-Coaz3UzQ.mjs.map} +1 -1
  45. package/dist/{parse-eSQ_clQv-YWR_NQoq.d.mts → parse-GXhoypXR-CeQ_TuEg.d.mts} +7 -7
  46. package/dist/{parse-eSQ_clQv-YWR_NQoq.d.mts.map → parse-GXhoypXR-CeQ_TuEg.d.mts.map} +1 -1
  47. package/dist/psl-parser.d.mts +36 -7
  48. package/dist/psl-parser.d.mts.map +1 -1
  49. package/dist/psl-parser.mjs +161 -18
  50. package/dist/psl-parser.mjs.map +1 -1
  51. package/dist/psl-parser__format.d.mts +1 -1
  52. package/dist/psl-parser__format.mjs +2 -2
  53. package/dist/psl-parser__format.mjs.map +1 -1
  54. package/dist/psl-parser__interpret.d.mts +4 -4
  55. package/dist/psl-parser__interpret.mjs +1 -1
  56. package/dist/psl-parser__syntax.d.mts +1 -1
  57. package/dist/psl-parser__syntax.mjs +2 -2
  58. package/dist/psl-parser__syntax.mjs.map +1 -1
  59. package/dist/psl-printer.d.mts +1 -1
  60. package/dist/psl-printer.mjs +1 -1
  61. package/dist/resolve-codec-qqMjZrmn-Cok8elAo.mjs +74 -0
  62. package/dist/resolve-codec-qqMjZrmn-Cok8elAo.mjs.map +1 -0
  63. package/dist/{temporal-presets-DIo9uYtS-Odk6WBk8.mjs → temporal-presets-DUCEijgt-CODhqGVy.mjs} +20 -11
  64. package/dist/{temporal-presets-DIo9uYtS-Odk6WBk8.mjs.map → temporal-presets-DUCEijgt-CODhqGVy.mjs.map} +1 -1
  65. package/dist/utils.d.mts +1 -1
  66. package/dist/written-value-BB9UYfrg-OiFCVcz2.d.mts +278 -0
  67. package/dist/written-value-BB9UYfrg-OiFCVcz2.d.mts.map +1 -0
  68. package/package.json +15 -15
  69. package/dist/authoring-iMWszF7p.mjs +0 -157
  70. package/dist/authoring-iMWszF7p.mjs.map +0 -1
  71. package/dist/binder-Dz5zT7tr-Dc_RkyB2.d.mts.map +0 -1
  72. package/dist/config-types-D-P60plU.d.mts.map +0 -1
  73. package/dist/control-BIv_-3QB.mjs.map +0 -1
  74. package/dist/mutation-default-types-D_M8NC3U-BQNexfRU.d.mts.map +0 -1
  75. package/dist/resolve-codec-vOfdHcIJ-IeNjz3Tm.mjs.map +0 -1
  76. package/dist/temporal-presets-CLsu00ZK-CAx-cLAM.d.mts +0 -160
  77. package/dist/temporal-presets-CLsu00ZK-CAx-cLAM.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-BIv_-3QB.mjs","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/control.mjs"],"sourcesContent":["import { n as runtimeError } from \"./runtime-error-BA9d7XjZ.mjs\";\nimport { c as assembleDataTypes, f as objectSchemaKeys, n as codecDescriptorMissing, r as codecForRef } from \"./resolve-codec-vOfdHcIJ.mjs\";\nimport { n as aggregateDescriptorKey, r as isAggregateDescriptor, t as mergeCapabilityMatrices } from \"./capabilities-CnCdDH1J.mjs\";\nimport { A as isAuthoringTypeConstructorDescriptor, D as isAuthoringFieldPresetDescriptor, I as tagEntryKey, M as mergeAuthoringAttributeSpecs, N as mergeAuthoringNamespaces, T as isAuthoringArgRef, c as TAGGED_LITERAL_MAX_BYTES, f as resolvePslBacktickEscapes, g as authoringEntryType, h as assertResolvableTypeConstructorTemplates, j as isTagEntryKey, l as canonicalizeTaggedLiteralBody, m as assertNoCrossRegistryCollisions, p as resolveTemplateTagEscapes, s as timestampNowControlDescriptor, u as describeTaggedLiteralFailure, v as collectContributedDescriptorPaths, y as collectScalarTypeConstructors } from \"./temporal-presets-DIo9uYtS.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError, isInternalError } from \"@internal/utils/internal-error\";\n//#region src/control/contract-snapshot-layout.ts\nconst CONTRACT_SNAPSHOTS_DIRNAME = \"snapshots\";\nconst STORAGE_HASH_PATTERN = /^[0-9a-f]{64}$/;\n/** Validate a storage hash for use as a directory name. */\nfunction storageHashHex(storageHash) {\n\tif (!STORAGE_HASH_PATTERN.test(storageHash)) throw new InternalError(`Invalid storage hash \"${storageHash}\": expected 64 lowercase hex characters`);\n\treturn storageHash;\n}\n/** Module specifier for the store's `contract.json`, POSIX separators. */\nfunction contractSnapshotJsonSpecifier(snapshotsImportPath, storageHash) {\n\treturn `${snapshotsImportPath}/${storageHashHex(storageHash)}/contract.json`;\n}\n/** Type-only module specifier for the store's `contract.d.ts` (no extension). */\nfunction contractSnapshotTypesSpecifier(snapshotsImportPath, storageHash) {\n\treturn `${snapshotsImportPath}/${storageHashHex(storageHash)}/contract`;\n}\n//#endregion\n//#region src/control/control-capabilities.ts\nfunction hasMigrations(target) {\n\treturn \"migrations\" in target && !!target[\"migrations\"];\n}\nfunction hasSchemaView(instance) {\n\treturn \"toSchemaView\" in instance && typeof instance[\"toSchemaView\"] === \"function\";\n}\nfunction hasPslContractInfer(instance) {\n\treturn \"inferPslContract\" in instance && typeof instance[\"inferPslContract\"] === \"function\";\n}\nfunction hasPslContractBuild(instance) {\n\treturn \"buildPslContract\" in instance && typeof Reflect.get(instance, \"buildPslContract\") === \"function\";\n}\nfunction hasOperationPreview(instance) {\n\treturn \"toOperationPreview\" in instance && typeof instance[\"toOperationPreview\"] === \"function\";\n}\nfunction hasSchemaSubjectClassifier(instance) {\n\treturn \"classifySubjectGranularity\" in instance && typeof instance[\"classifySubjectGranularity\"] === \"function\" && \"classifyEntityKind\" in instance && typeof instance[\"classifyEntityKind\"] === \"function\";\n}\n//#endregion\n//#region src/control/control-operation-results.ts\nconst VERIFY_CODE_MARKER_MISSING = \"CONTRACT.MARKER_MISSING\";\nconst VERIFY_CODE_HASH_MISMATCH = \"CONTRACT.MARKER_MISMATCH\";\nconst VERIFY_CODE_TARGET_MISMATCH = \"CONTRACT.TARGET_MISMATCH\";\nconst VERIFY_CODE_SCHEMA_FAILURE = \"CONTRACT.SCHEMA_VERIFICATION_FAILED\";\n/** Whether two markers hold the same hashes, `null` standing for no marker. */\nfunction sameMarkerHashes(a, b) {\n\tif (a === null || b === null) return a === b;\n\treturn a.storageHash === b.storageHash && a.profileHash === b.profileHash;\n}\n//#endregion\n//#region src/control/control-schema-view.ts\nvar SchemaTreeNode = class {\n\tkind;\n\tid;\n\tlabel;\n\tmeta;\n\tchildren;\n\tconstructor(options) {\n\t\tthis.kind = options.kind;\n\t\tthis.id = options.id;\n\t\tthis.label = options.label;\n\t\tif (options.meta !== void 0) this.meta = options.meta;\n\t\tif (options.children !== void 0) this.children = options.children;\n\t\tObject.freeze(this);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.visit(this);\n\t}\n};\n//#endregion\n//#region src/control/control-spaces.ts\n/**\n* Canonical control-plane identifiers for contract spaces.\n*\n* A contract space is the disjoint `(contract.json, migration-graph)` unit\n* the per-space planner / runner / verifier (project: extension contract\n* spaces, TML-2397) operates on. The application owns one well-known\n* space — the value below — and each loaded extension that contributes\n* schema owns a uniquely-named space.\n*\n* Lives in `framework-components/control` so every layer that has to\n* reason about space identity (the migration tooling, the SQL runtime's\n* marker reader, target-side statement builders, target-side adapters)\n* can import a single value rather than duplicating the literal. Raw\n* `'app'` string literals in framework / target / runtime / adapter\n* source code are forbidden and policed by\n* `scripts/lint-app-space-id.mjs` (wired into `pnpm lint:deps`).\n*\n* @see specs/framework-mechanism.spec.md § 3 — Layout convention (γ).\n*/\nconst APP_SPACE_ID = \"app\";\n//#endregion\n//#region src/control/control-stack.ts\nfunction addUniqueId(ids, seen, id) {\n\tif (!seen.has(id)) {\n\t\tids.push(id);\n\t\tseen.add(id);\n\t}\n}\nfunction assertUniqueCodecOwner(options) {\n\tconst existingOwner = options.owners.get(options.codecId);\n\tif (existingOwner !== void 0) throw new InternalError(`Duplicate ${options.entityLabel} for codecId \"${options.codecId}\". Descriptor \"${options.descriptorId}\" conflicts with \"${existingOwner}\". Each codecId can only have one ${options.entityOwnershipLabel}.`);\n}\nfunction extractCodecTypeImports(descriptors) {\n\tconst imports = [];\n\tfor (const descriptor of descriptors) {\n\t\tconst codecTypes = descriptor.types?.codecTypes;\n\t\tif (codecTypes?.import) imports.push(codecTypes.import);\n\t\tif (codecTypes?.typeImports) imports.push(...codecTypes.typeImports);\n\t}\n\treturn imports;\n}\nfunction extractQueryOperationTypeImports(descriptors) {\n\tconst imports = [];\n\tfor (const descriptor of descriptors) {\n\t\tconst queryOperationTypes = descriptor.types?.queryOperationTypes;\n\t\tif (queryOperationTypes?.import) imports.push(queryOperationTypes.import);\n\t}\n\treturn imports;\n}\nfunction extractComponentIds(family, target, adapter, extensions) {\n\tconst ids = [];\n\tconst seen = /* @__PURE__ */ new Set();\n\taddUniqueId(ids, seen, family.id);\n\taddUniqueId(ids, seen, target.id);\n\tif (adapter) addUniqueId(ids, seen, adapter.id);\n\tfor (const ext of extensions) addUniqueId(ids, seen, ext.id);\n\treturn ids;\n}\nfunction assembleAuthoringContributions(descriptors) {\n\tconst field = {};\n\tconst type = {};\n\tconst entityTypes = {};\n\tconst pslBlockDescriptors = {};\n\tconst modelAttributes = {};\n\tconst attributeSpecs = {\n\t\tmodel: {},\n\t\tfield: {}\n\t};\n\tconst attributeSpecOwners = /* @__PURE__ */ new Map();\n\tconst pathOwners = /* @__PURE__ */ new Map();\n\tconst claimContributedPaths = (namespace, descriptorKind, label, descriptorId) => {\n\t\tfor (const path of collectContributedDescriptorPaths(namespace, descriptorKind)) {\n\t\t\tconst key = `${label}:${path}`;\n\t\t\tconst existingOwner = pathOwners.get(key);\n\t\t\tif (existingOwner !== void 0) throw new InternalError(`Duplicate authoring ${label} helper \"${path}\". Descriptor \"${descriptorId}\" conflicts with \"${existingOwner}\".`);\n\t\t\tpathOwners.set(key, descriptorId);\n\t\t}\n\t};\n\tlet valueObjectStorageDeclaration;\n\tfor (const descriptor of descriptors) {\n\t\tconst descriptorId = descriptor.id ?? \"<unknown>\";\n\t\tconst declaredValueObjectStorageType = descriptor.authoring?.valueObjectStorageType;\n\t\tif (declaredValueObjectStorageType !== void 0) {\n\t\t\tif (valueObjectStorageDeclaration !== void 0) throw new InternalError(`Duplicate authoring valueObjectStorageType declaration. Descriptor \"${descriptorId}\" conflicts with \"${valueObjectStorageDeclaration.ownerId}\". Exactly one composed component may declare the value-object storage type.`);\n\t\t\tvalueObjectStorageDeclaration = {\n\t\t\t\tname: declaredValueObjectStorageType,\n\t\t\t\townerId: descriptorId\n\t\t\t};\n\t\t}\n\t\tif (descriptor.authoring?.field) {\n\t\t\tclaimContributedPaths(descriptor.authoring.field, \"fieldPreset\", \"field\", descriptorId);\n\t\t\tmergeAuthoringNamespaces(field, descriptor.authoring.field, [], \"fieldPreset\", \"field\");\n\t\t}\n\t\tif (descriptor.authoring?.type) {\n\t\t\tclaimContributedPaths(descriptor.authoring.type, \"typeConstructor\", \"type\", descriptorId);\n\t\t\tassertResolvableTypeConstructorTemplates(descriptor.authoring.type, descriptorId);\n\t\t\tmergeAuthoringNamespaces(type, descriptor.authoring.type, [], \"typeConstructor\", \"type\");\n\t\t}\n\t\tif (descriptor.authoring?.entityTypes) {\n\t\t\tclaimContributedPaths(descriptor.authoring.entityTypes, \"entity\", \"entity\", descriptorId);\n\t\t\tmergeAuthoringNamespaces(entityTypes, descriptor.authoring.entityTypes, [], \"entity\", \"entity\");\n\t\t}\n\t\tif (descriptor.authoring?.pslBlockDescriptors) {\n\t\t\tclaimContributedPaths(descriptor.authoring.pslBlockDescriptors, \"pslBlock\", \"pslBlock\", descriptorId);\n\t\t\tmergeAuthoringNamespaces(pslBlockDescriptors, descriptor.authoring.pslBlockDescriptors, [], \"pslBlock\", \"pslBlock\");\n\t\t}\n\t\tif (descriptor.authoring?.modelAttributes) mergeAuthoringNamespaces(modelAttributes, descriptor.authoring.modelAttributes, [], \"modelAttribute\", \"modelAttribute\");\n\t\tif (descriptor.authoring?.attributeSpecs) mergeAuthoringAttributeSpecs(attributeSpecs, descriptor.authoring.attributeSpecs, descriptorId, attributeSpecOwners);\n\t}\n\tconst fieldNamespace = field;\n\tconst typeNamespace = type;\n\tconst entityTypeNamespace = entityTypes;\n\tconst pslBlockDescriptorNamespace = blindCast(pslBlockDescriptors);\n\tconst modelAttributeNamespace = blindCast(modelAttributes);\n\tassertNoCrossRegistryCollisions(typeNamespace, fieldNamespace, entityTypeNamespace, pslBlockDescriptorNamespace, modelAttributeNamespace);\n\tif (valueObjectStorageDeclaration !== void 0 && !collectScalarTypeConstructors(typeNamespace).has(valueObjectStorageDeclaration.name)) throw new InternalError(`Invalid authoring valueObjectStorageType \"${valueObjectStorageDeclaration.name}\" declared by descriptor \"${valueObjectStorageDeclaration.ownerId}\". The name must be a top-level bare-eligible type constructor in the assembled authoring namespace.`);\n\treturn {\n\t\tdataTypes: assembleAuthoringDataTypes(descriptors),\n\t\tfield: fieldNamespace,\n\t\ttype: typeNamespace,\n\t\tentityTypes: entityTypeNamespace,\n\t\tpslBlockDescriptors: pslBlockDescriptorNamespace,\n\t\tmodelAttributes: modelAttributeNamespace,\n\t\tattributeSpecs,\n\t\t...valueObjectStorageDeclaration !== void 0 ? { valueObjectStorageType: valueObjectStorageDeclaration.name } : {}\n\t};\n}\n/** Merge every component's PSL support for its data types, refusing two claims on one key. */\nfunction assembleAuthoringDataTypes(descriptors) {\n\tconst merged = {};\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tconst contributedBy = descriptor.id ?? \"<unknown>\";\n\t\tfor (const [key, entry] of Object.entries(descriptor.authoring?.dataTypes ?? {})) {\n\t\t\tconst existingOwner = owners.get(key);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"CONTRACT.DATA_TYPE_ENTRY_DUPLICATE\", `Duplicate authoring entry for \"${key}\". Component \"${contributedBy}\" conflicts with \"${existingOwner}\".`, {\n\t\t\t\tkey,\n\t\t\t\tcontributedBy,\n\t\t\t\towner: existingOwner\n\t\t\t});\n\t\t\towners.set(key, contributedBy);\n\t\t\tmerged[key] = entry;\n\t\t}\n\t}\n\treturn merged;\n}\nfunction descriptorsIn(namespace, isLeaf, path = []) {\n\treturn Object.entries(namespace ?? {}).flatMap(([key, value]) => {\n\t\tconst currentPath = [...path, key];\n\t\tif (isLeaf(value)) return [{\n\t\t\tpath: currentPath.join(\".\"),\n\t\t\tdescriptor: value\n\t\t}];\n\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return [];\n\t\treturn descriptorsIn(value, isLeaf, currentPath);\n\t});\n}\n/** Every type constructor and field preset a component contributes. */\nfunction contributedConstructors(descriptor) {\n\treturn [...descriptorsIn(descriptor.authoring?.type, isAuthoringTypeConstructorDescriptor), ...descriptorsIn(descriptor.authoring?.field, isAuthoringFieldPresetDescriptor)].map((entry) => ({\n\t\t...entry,\n\t\tcontributedBy: descriptor.id\n\t}));\n}\nfunction argumentMappedKeys(descriptor) {\n\treturn Object.entries(descriptor.output.typeParams ?? {}).flatMap(([key, template]) => isAuthoringArgRef(template) ? [key] : []);\n}\nfunction enforceConstructorInvariants(input) {\n\tconst inferredBy = /* @__PURE__ */ new Map();\n\tfor (const contributed of input.constructors) {\n\t\tconst { path, descriptor, contributedBy } = contributed;\n\t\tconst kind = descriptor.kind === \"typeConstructor\" ? \"Type constructor\" : \"Field preset\";\n\t\tconst codecId = descriptor.output.codecId;\n\t\tconst codec = input.codecDescriptorFor(codecId);\n\t\tif (codec === void 0) throw new InternalError(`${kind} \"${path}\" contributed by \"${contributedBy}\" names codec \"${codecId}\", which no component registers.`);\n\t\tif (descriptor.kind !== \"typeConstructor\") continue;\n\t\tconst codecKeys = codec.paramsSchema === void 0 ? [] : objectSchemaKeys(codec.paramsSchema);\n\t\tif (codecKeys !== void 0) {\n\t\t\tconst declared = /* @__PURE__ */ new Set([...codecKeys, ...objectSchemaKeys(input.lookup.get(codec.dataType)?.params) ?? []]);\n\t\t\tfor (const key of argumentMappedKeys(descriptor)) if (!declared.has(key)) throw new InternalError(`Type constructor \"${path}\" contributed by \"${contributedBy}\" maps an argument onto the parameter \"${key}\", which neither data type \"${codec.dataType}\" nor codec \"${codecId}\" declares.`);\n\t\t}\n\t\tif (descriptor.inferred !== true) continue;\n\t\tconst existing = inferredBy.get(codec.dataType);\n\t\tif (existing !== void 0) throw new InternalError(`Type constructors \"${existing.path}\" contributed by \"${existing.contributedBy}\" and \"${path}\" contributed by \"${contributedBy}\" are both marked inferred for data type \"${codec.dataType}\"; a data type has at most one.`);\n\t\tinferredBy.set(codec.dataType, contributed);\n\t}\n}\n/**\n* The things assembly checks across packs, each naming the component and the id at fault:\n*\n* 1. every codec names a registered data type;\n* 2. every authoring entry, and every type a cast takes values of, names a registered data type;\n* 3. no two entries claim one tag or one plain form;\n* 4. every type a cast takes values of can be written, because a cast from a type nobody can write\n* is never exercised;\n* 5. every type constructor and field preset names a registered codec;\n* 6. a type constructor maps its arguments only onto parameters its data type or codec declares;\n* 7. at most one type constructor per data type is marked inferred.\n*/\nfunction enforceDataTypeInvariants(input) {\n\tconst unregistered = (contributedBy, id, what) => {\n\t\tthrow runtimeError(\"CONTRACT.DATA_TYPE_UNREGISTERED\", `${what} names data type \"${id}\", which no component registers. Contributed by \"${contributedBy}\".`, {\n\t\t\tdataType: id,\n\t\t\tcontributedBy\n\t\t});\n\t};\n\tfor (const codec of input.codecs) if (!input.lookup.has(codec.dataType)) unregistered(codec.contributedBy, codec.dataType, `Codec \"${codec.codecId}\"`);\n\tfor (const { key, entry, contributedBy } of input.authoringEntries) {\n\t\tconst written = entry.written;\n\t\tconst tagType = written.kind === \"tag\" && \"type\" in written ? written.type : void 0;\n\t\tif (isTagEntryKey(key) || tagType !== void 0) {\n\t\t\tif (written.kind !== \"tag\" || tagType === void 0 || key !== tagEntryKey(written.tag)) throw runtimeError(\"CONTRACT.DATA_TYPE_ENTRY_KEY_INVALID\", `Authoring entry \"${key}\" contributed by \"${contributedBy}\" must sit under its tag's key and name the data type its body is, or sit under that data type's id and name none.`, {\n\t\t\t\tkey,\n\t\t\t\tcontributedBy\n\t\t\t});\n\t\t\tif (!input.lookup.has(tagType)) unregistered(contributedBy, tagType, `Authoring entry \"${key}\"`);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!input.lookup.has(key)) unregistered(contributedBy, key, \"Authoring entry\");\n\t\tif (entry.written.kind === \"plain\" && entry.written.syntax === \"number\") {\n\t\t\tfor (const classified of entry.written.types) if (!input.lookup.has(classified)) unregistered(contributedBy, classified, `The classifier of authoring entry \"${key}\"`);\n\t\t}\n\t}\n\tconst writable = new Set(input.authoringEntries.flatMap(({ key, entry }) => [authoringEntryType(key, entry), ...entry.written.kind === \"plain\" && entry.written.syntax === \"number\" ? entry.written.types : []]));\n\tfor (const { type, contributedBy } of input.declaredTypes) {\n\t\tconst sources = [...Object.keys(type.casts), ...type.listCast?.of ?? []];\n\t\tfor (const source of sources) {\n\t\t\tif (!input.lookup.has(source)) unregistered(contributedBy, source, `The casts of data type \"${type.id}\"`);\n\t\t\tif (!writable.has(source)) throw runtimeError(\"CONTRACT.DATA_TYPE_NOT_WRITABLE\", `Data type \"${type.id}\" casts from \"${source}\", which no contract source can write, so the cast is never exercised. Contributed by \"${contributedBy}\".`, {\n\t\t\t\tdataType: type.id,\n\t\t\t\tsource,\n\t\t\t\tcontributedBy\n\t\t\t});\n\t\t}\n\t}\n\tconst claimants = /* @__PURE__ */ new Map();\n\tfor (const { key, entry, contributedBy } of input.authoringEntries) {\n\t\tconst written = entry.written;\n\t\tconst claim = written.kind === \"tag\" ? `tag \"${written.tag}\"` : `plain ${written.syntax}`;\n\t\tconst existing = claimants.get(claim);\n\t\tif (existing !== void 0) throw runtimeError(\"CONTRACT.DATA_TYPE_WRITTEN_FORM_DUPLICATE\", `Two authoring entries claim the ${claim}: \"${key}\" from \"${contributedBy}\" conflicts with \"${existing.key}\" from \"${existing.contributedBy}\".`, {\n\t\t\tclaim,\n\t\t\tkey,\n\t\t\tcontributedBy,\n\t\t\towner: existing.key,\n\t\t\townerContributedBy: existing.contributedBy\n\t\t});\n\t\tclaimants.set(claim, {\n\t\t\tkey,\n\t\t\tcontributedBy\n\t\t});\n\t}\n\tenforceConstructorInvariants(input);\n}\nfunction assembleControlMutationDefaults(descriptors) {\n\tconst defaultFunctionRegistry = /* @__PURE__ */ new Map();\n\tconst functionOwners = /* @__PURE__ */ new Map();\n\tconst generatorMap = /* @__PURE__ */ new Map();\n\tconst generatorOwners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tconst contributions = descriptor.controlMutationDefaults;\n\t\tif (!contributions) continue;\n\t\tconst descriptorId = descriptor.id ?? \"<unknown>\";\n\t\tfor (const generatorDescriptor of contributions.generatorDescriptors) {\n\t\t\tconst existingOwner = generatorOwners.get(generatorDescriptor.id);\n\t\t\tif (existingOwner !== void 0) throw new InternalError(`Duplicate mutation default generator id \"${generatorDescriptor.id}\". Descriptor \"${descriptorId}\" conflicts with \"${existingOwner}\".`);\n\t\t\tgeneratorMap.set(generatorDescriptor.id, generatorDescriptor);\n\t\t\tgeneratorOwners.set(generatorDescriptor.id, descriptorId);\n\t\t}\n\t\tfor (const [functionName, handler] of contributions.defaultFunctionRegistry) {\n\t\t\tconst existingOwner = functionOwners.get(functionName);\n\t\t\tif (existingOwner !== void 0) throw new InternalError(`Duplicate mutation default function \"${functionName}\". Descriptor \"${descriptorId}\" conflicts with \"${existingOwner}\".`);\n\t\t\tdefaultFunctionRegistry.set(functionName, handler);\n\t\t\tfunctionOwners.set(functionName, descriptorId);\n\t\t}\n\t}\n\treturn {\n\t\tdefaultFunctionRegistry,\n\t\tgeneratorDescriptors: Array.from(generatorMap.values())\n\t};\n}\n/**\n* Collect every contributed {@link AggregateDescriptor} across the composed components, rejecting malformed shapes and second claims on one `(operation, input)` overload.\n*\n* Both planes read the same contribution slot: emission derives result types from these descriptors, and family runtimes build their resolution registry from them. Rejections are user-facing — an extension author's bad contribution surfaces here first, during `contract emit` — so a malformed shape raises `CONTRACT.AGGREGATE_DESCRIPTOR_INVALID` and a second claim raises `CONTRACT.AGGREGATE_DESCRIPTOR_DUPLICATE`, each naming the contributing component.\n*/\nfunction collectAggregateDescriptors(descriptors) {\n\tconst collected = [];\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tconst descriptorId = descriptor.id ?? \"<unknown>\";\n\t\tfor (const contributed of descriptor.types?.aggregateDescriptors ?? []) {\n\t\t\tif (!isAggregateDescriptor(contributed)) throw runtimeError(\"CONTRACT.AGGREGATE_DESCRIPTOR_INVALID\", `Malformed aggregate descriptor contributed by \"${descriptorId}\". A descriptor declares a non-empty \\`operation\\`, an \\`input\\` match of kind \\`none\\`/\\`any\\`/\\`codec\\`/\\`trait\\`, an \\`output\\` of kind \\`self\\`/\\`codec\\`, and a boolean \\`nullable\\` — plus \\`emptyResultJson\\`, in the result codec's canonical JSON, where \\`nullable\\` is false; a \\`self\\` output needs an input to reuse.`, {\n\t\t\t\tcontributedBy: descriptorId,\n\t\t\t\tdescriptor: contributed\n\t\t\t});\n\t\t\tconst key = aggregateDescriptorKey(contributed);\n\t\t\tconst existingOwner = owners.get(key);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"CONTRACT.AGGREGATE_DESCRIPTOR_DUPLICATE\", `Duplicate aggregate descriptor for \"${key}\". Descriptor \"${descriptorId}\" conflicts with \"${existingOwner}\". Each operation/input pair can only have one provider.`, {\n\t\t\t\tkey,\n\t\t\t\tcontributedBy: descriptorId,\n\t\t\t\towner: existingOwner\n\t\t\t});\n\t\t\towners.set(key, descriptorId);\n\t\t\tcollected.push(contributed);\n\t\t}\n\t}\n\treturn collected;\n}\n/**\n* Flatten the codec descriptors the composed components contribute.\n*\n* A component may know a codec and still withhold it — an adapter that cannot name a codec's emitted type contributes the rest without it — so the contributed set is not always the set some component's own registry holds. Consumers whose output must agree with what the runtime resolves read this list rather than any one component's registry.\n*/\nfunction collectCodecDescriptors(descriptors) {\n\treturn descriptors.flatMap((descriptor) => descriptor.types?.codecTypes?.codecDescriptors ?? []);\n}\nfunction extractCodecLookup(descriptors) {\n\tconst byId = /* @__PURE__ */ new Map();\n\tconst descriptorsById = /* @__PURE__ */ new Map();\n\tconst renderersById = /* @__PURE__ */ new Map();\n\tconst inputRenderersById = /* @__PURE__ */ new Map();\n\tconst valueLiteralRenderersById = /* @__PURE__ */ new Map();\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tconst codecTypes = descriptor.types?.codecTypes;\n\t\tconst descriptorId = descriptor.id;\n\t\tfor (const codecDescriptor of codecTypes?.codecDescriptors ?? []) {\n\t\t\tassertUniqueCodecOwner({\n\t\t\t\tcodecId: codecDescriptor.codecId,\n\t\t\t\towners,\n\t\t\t\tdescriptorId,\n\t\t\t\tentityLabel: \"codec descriptor\",\n\t\t\t\tentityOwnershipLabel: \"codec descriptor provider\"\n\t\t\t});\n\t\t\towners.set(codecDescriptor.codecId, descriptorId);\n\t\t\tdescriptorsById.set(codecDescriptor.codecId, codecDescriptor);\n\t\t\tif (typeof codecDescriptor.renderOutputType === \"function\") renderersById.set(codecDescriptor.codecId, codecDescriptor.renderOutputType);\n\t\t\tif (typeof codecDescriptor.renderInputType === \"function\") inputRenderersById.set(codecDescriptor.codecId, codecDescriptor.renderInputType);\n\t\t\tif (typeof codecDescriptor.renderValueLiteral === \"function\") valueLiteralRenderersById.set(codecDescriptor.codecId, codecDescriptor.renderValueLiteral);\n\t\t\tif (!byId.has(codecDescriptor.codecId)) if (codecDescriptor.isParameterized) try {\n\t\t\t\tconst representative = codecDescriptor.factory({})({ name: `<lookup:${codecDescriptor.codecId}>` });\n\t\t\t\tbyId.set(codecDescriptor.codecId, representative);\n\t\t\t} catch (error) {\n\t\t\t\tif (isInternalError(error)) throw error;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst representative = codecDescriptor.factory(void 0)({ name: `<lookup:${codecDescriptor.codecId}>` });\n\t\t\t\tbyId.set(codecDescriptor.codecId, representative);\n\t\t\t}\n\t\t}\n\t}\n\tconst registry = {\n\t\tget: (id) => byId.get(id),\n\t\tforCodecRef(ref) {\n\t\t\treturn codecForRef(registry, ref) ?? codecDescriptorMissing(ref, \"CONTRACT.CODEC_DESCRIPTOR_MISSING\");\n\t\t},\n\t\tforColumn: () => void 0,\n\t\trenderOutputTypeFor: (id, params) => renderersById.get(id)?.(params),\n\t\trenderInputTypeFor: (id, params) => inputRenderersById.get(id)?.(params),\n\t\trenderValueLiteralFor: (id, value, side) => valueLiteralRenderersById.get(id)?.(value, side),\n\t\tdescriptorFor: (id) => descriptorsById.get(id)\n\t};\n\treturn registry;\n}\nfunction assembleExtensionContracts(extensions) {\n\tconst result = /* @__PURE__ */ new Map();\n\tfor (const ext of extensions) {\n\t\tif (ext.contractSpace === void 0) continue;\n\t\tresult.set(ext.id, ext.contractSpace.contractJson);\n\t}\n\treturn result;\n}\nfunction readDeclaredDependencyIds(descriptor) {\n\tconst packs = descriptor.contractSpace?.contractJson?.extensions;\n\tif (packs === null || typeof packs !== \"object\") return [];\n\treturn Object.keys(packs);\n}\n/**\n* Builds a dependency-respecting load order for the given extension descriptors\n* using Kahn's topological sort algorithm. Dependencies (packs declared in\n* `contractSpace.contractJson.extensions`) are placed before the extensions\n* that depend on them.\n*\n* Throws if the dependency graph contains a cycle, with an error message that\n* names every extension involved in the cycle.\n*\n* Throws if any extension declares a dependency on a pack ID that is not present\n* in the provided list — add the missing pack to the `extensions` list to\n* resolve the error.\n*/\nfunction buildExtensionLoadOrder(extensions) {\n\tif (extensions.length === 0) return [];\n\tconst idSet = new Set(extensions.map((e) => e.id));\n\tconst inDegree = /* @__PURE__ */ new Map();\n\tconst dependents = /* @__PURE__ */ new Map();\n\tfor (const ext of extensions) {\n\t\tif (!inDegree.has(ext.id)) inDegree.set(ext.id, 0);\n\t\tif (!dependents.has(ext.id)) dependents.set(ext.id, []);\n\t}\n\tfor (const ext of extensions) for (const depId of readDeclaredDependencyIds(ext)) {\n\t\tif (!idSet.has(depId)) throw new InternalError(`Extension \"${ext.id}\" declares a dependency on \"${depId}\", but \"${depId}\" is not in the provided extension set. Add the missing space to extensions.`);\n\t\tinDegree.set(ext.id, (inDegree.get(ext.id) ?? 0) + 1);\n\t\tconst list = dependents.get(depId);\n\t\tif (list !== void 0) list.push(ext.id);\n\t}\n\tconst queue = [];\n\tfor (const [id, deg] of inDegree) if (deg === 0) queue.push(id);\n\tqueue.sort();\n\tconst result = [];\n\twhile (queue.length > 0) {\n\t\tconst id = queue.shift();\n\t\tif (id === void 0) break;\n\t\tresult.push(id);\n\t\tconst children = dependents.get(id) ?? [];\n\t\tchildren.sort();\n\t\tfor (const childId of children) {\n\t\t\tconst newDeg = (inDegree.get(childId) ?? 1) - 1;\n\t\t\tinDegree.set(childId, newDeg);\n\t\t\tif (newDeg === 0) queue.push(childId);\n\t\t}\n\t}\n\tif (result.length < extensions.length) throw new InternalError(`Extension dependency cycle detected. Cycle members: ${extensions.map((e) => e.id).filter((id) => !result.includes(id)).sort().map((id) => `\"${id}\"`).join(\", \")}.`);\n\treturn result;\n}\nfunction createControlStack(input) {\n\tconst { family, target, adapter, driver, extensions = [] } = input;\n\tconst orderedIds = buildExtensionLoadOrder(extensions);\n\tconst extensionById = new Map(extensions.map((ext) => [ext.id, ext]));\n\tconst orderedExtensions = orderedIds.map((id) => extensionById.get(id)).filter((ext) => ext !== void 0);\n\tconst allDescriptors = [\n\t\tfamily,\n\t\ttarget,\n\t\t...adapter ? [adapter] : [],\n\t\t...orderedExtensions\n\t];\n\tconst codecLookup = extractCodecLookup(allDescriptors);\n\tconst authoringContributions = assembleAuthoringContributions(allDescriptors);\n\tconst codecDescriptors = collectCodecDescriptors(allDescriptors);\n\tconst dataTypes = assembleDataTypes(allDescriptors);\n\tenforceDataTypeInvariants({\n\t\tlookup: dataTypes.lookup,\n\t\tdeclaredTypes: dataTypes.declared,\n\t\tcodecs: allDescriptors.flatMap((descriptor) => (descriptor.types?.codecTypes?.codecDescriptors ?? []).map((codecDescriptor) => ({\n\t\t\tcodecId: codecDescriptor.codecId,\n\t\t\tdataType: codecDescriptor.dataType,\n\t\t\tcontributedBy: descriptor.id\n\t\t}))),\n\t\tauthoringEntries: allDescriptors.flatMap((descriptor) => Object.entries(descriptor.authoring?.dataTypes ?? {}).map(([key, entry]) => ({\n\t\t\tkey,\n\t\t\tentry,\n\t\t\tcontributedBy: descriptor.id\n\t\t}))),\n\t\tconstructors: allDescriptors.flatMap(contributedConstructors),\n\t\tcodecDescriptorFor: (codecId) => codecLookup.descriptorFor?.(codecId)\n\t});\n\treturn {\n\t\tfamily,\n\t\ttarget,\n\t\tadapter,\n\t\tdriver,\n\t\textensions: orderedExtensions,\n\t\textensionContracts: assembleExtensionContracts(orderedExtensions),\n\t\tcodecTypeImports: extractCodecTypeImports(allDescriptors),\n\t\tqueryOperationTypeImports: extractQueryOperationTypeImports(allDescriptors),\n\t\textensionIds: extractComponentIds(family, target, adapter, orderedExtensions),\n\t\tcodecLookup,\n\t\tcodecDescriptors,\n\t\tdataTypeLookup: dataTypes.lookup,\n\t\tdeclaredDataTypes: dataTypes.declared,\n\t\taggregateDescriptors: collectAggregateDescriptors(allDescriptors),\n\t\tauthoringContributions,\n\t\tscalarTypes: [...collectScalarTypeConstructors(authoringContributions.type).keys()],\n\t\tcontrolMutationDefaults: assembleControlMutationDefaults(allDescriptors),\n\t\tcapabilities: mergeCapabilityMatrices({}, [\n\t\t\ttarget,\n\t\t\t...adapter ? [adapter] : [],\n\t\t\t...orderedExtensions\n\t\t])\n\t};\n}\n//#endregion\n//#region src/control/order-issues-by-dependencies.ts\nconst PATH_DELIMITER = \" \";\nfunction pathKey(path) {\n\treturn path.join(PATH_DELIMITER);\n}\n/**\n* Whether an issue's op builds its subject up (create or alter) rather than\n* only tearing it down. The differ sets `expected` on every create (`not-found`)\n* and alter (`not-equal`) issue and leaves it absent on a pure drop\n* (`not-expected`). This is the single signal the ordering law reads for edge\n* direction — never `reason`.\n*/\nfunction buildsUp(issue) {\n\treturn issue.expected !== void 0;\n}\n/**\n* The nearest strict-ancestor bucket of `path` — the surviving parent entity a\n* child is contained by. Walks the path's proper prefixes from longest to\n* shortest and returns the first prefix that maps to a bucket; a gap (a prefix\n* with no bucket) is skipped so containment always attaches to the closest real\n* parent.\n*\n* Returns a list because a path prefix can be shared by two siblings of\n* different `nodeKind` (a role and a namespace named alike); linking the child\n* to every candidate over-constrains safely (the extra edge points at a same-\n* direction op and never forms a cycle, since a parent never depends on its\n* child) rather than risk picking the wrong one.\n*/\nfunction nearestAncestors(path, byPath) {\n\tfor (let end = path.length - 1; end >= 1; end -= 1) {\n\t\tconst bucket = byPath.get(pathKey(path.slice(0, end)));\n\t\tif (bucket !== void 0) return bucket;\n\t}\n\treturn [];\n}\n/**\n* Orders schema-diff issues so that every dependency's op precedes its\n* dependent on the way up and follows it on the way down, breaking ties\n* deterministically by path.\n*\n* Edges come from two sources:\n* - **`dependsOn` cross-links** — the resolved issue-to-issue paths the differ\n* mirrors onto each issue (a node's declared structural prerequisites). A\n* path that resolves to no issue in this list is skipped (the dependency is\n* satisfied by reality); a path shared by two same-id/different-kind siblings\n* links to every match, over-constraining safely.\n* - **containment** — every issue depends on its nearest strict-ancestor issue\n* (a child entity on the parent entity that owns it). Subtree coalescing has\n* already removed the descendants of a whole create/drop, so this only links\n* the parent/child pairs that legitimately survive together.\n*\n* The ordering law reads each dependent's presence for direction: an issue that\n* builds up (`expected` present — a create or alter) needs its dependency\n* first; a pure drop needs its dependent removed first, so the edge reverses.\n* The graph is a DAG by construction (dependencies point from dependents to\n* their prerequisites, and prerequisites never point back), so a cycle is a\n* derivation or authoring bug: the topological sort asserts acyclicity and\n* throws, naming the issues it could not place.\n*/\nfunction orderIssuesByDependencies(issues) {\n\tif (issues.length <= 1) return issues;\n\tconst nodes = issues.map((issue) => ({\n\t\tissue,\n\t\tkey: pathKey(issue.path),\n\t\tbuildsUp: buildsUp(issue),\n\t\toutgoing: /* @__PURE__ */ new Set(),\n\t\tinDegree: 0\n\t}));\n\tconst nodesByPath = /* @__PURE__ */ new Map();\n\tfor (const node of nodes) {\n\t\tconst bucket = nodesByPath.get(node.key);\n\t\tif (bucket === void 0) nodesByPath.set(node.key, [node]);\n\t\telse bucket.push(node);\n\t}\n\tconst addEdge = (before, after) => {\n\t\tif (before.outgoing.has(after)) return;\n\t\tbefore.outgoing.add(after);\n\t\tafter.inDegree += 1;\n\t};\n\tconst addDependency = (dependent, dependency) => {\n\t\tif (dependent === dependency) return;\n\t\tif (dependent.buildsUp) addEdge(dependency, dependent);\n\t\telse addEdge(dependent, dependency);\n\t};\n\tfor (const node of nodes) {\n\t\tfor (const targetPath of node.issue.dependsOn ?? []) for (const target of nodesByPath.get(pathKey(targetPath)) ?? []) addDependency(node, target);\n\t\tfor (const ancestor of nearestAncestors(node.issue.path, nodesByPath)) addDependency(node, ancestor);\n\t}\n\tconst ready = nodes.filter((node) => node.inDegree === 0);\n\tconst order = [];\n\twhile (ready.length > 0) {\n\t\tlet best;\n\t\tfor (const candidate of ready) if (best === void 0 || candidate.key < best.key) best = candidate;\n\t\tif (best === void 0) break;\n\t\tready.splice(ready.indexOf(best), 1);\n\t\torder.push(best);\n\t\tfor (const next of best.outgoing) {\n\t\t\tnext.inDegree -= 1;\n\t\t\tif (next.inDegree === 0) ready.push(next);\n\t\t}\n\t}\n\tif (order.length !== nodes.length) {\n\t\tconst placed = new Set(order);\n\t\tthrow new InternalError(`orderIssuesByDependencies: dependency cycle among schema-diff issues (unresolved: ${nodes.filter((node) => !placed.has(node)).map((node) => node.issue.path.join(\"/\")).join(\", \")})`);\n\t}\n\treturn order.map((node) => node.issue);\n}\n//#endregion\n//#region src/control/schema-diff.ts\n/**\n* The outcome an issue represents, discriminated by presence rather than any\n* stored field — the single source of truth every consumer reads. An issue\n* always carries at least one side by construction; neither is a malformed\n* issue and throws.\n*/\nfunction issueOutcome(issue) {\n\tconst hasExpected = issue.expected !== void 0;\n\tconst hasActual = issue.actual !== void 0;\n\tif (hasExpected && hasActual) return \"not-equal\";\n\tif (hasExpected) return \"not-found\";\n\tif (hasActual) return \"not-expected\";\n\tthrow new InternalError(`issueOutcome: issue at \"${issue.path.join(\"/\")}\" carries neither an expected nor an actual node`);\n}\nfunction siblingKey(node) {\n\treturn JSON.stringify([node.nodeKind, node.id]);\n}\nfunction insertNode(map, node) {\n\tconst key = siblingKey(node);\n\tif (map.has(key)) throw new InternalError(`diffSchemas: duplicate id among siblings: ${node.nodeKind}/${node.id}`);\n\tmap.set(key, node);\n}\nfunction emitMissingSubtree(node, parentPath) {\n\tconst path = [...parentPath, node.id];\n\treturn [{\n\t\tpath,\n\t\texpected: node,\n\t\t...ifDefined(\"explanation\", node.explainMismatch?.(void 0))\n\t}, ...node.children().flatMap((c) => emitMissingSubtree(c, path))];\n}\nfunction emitExtraSubtree(node, parentPath) {\n\tconst path = [...parentPath, node.id];\n\treturn [{\n\t\tpath,\n\t\tactual: node\n\t}, ...node.children().flatMap((c) => emitExtraSubtree(c, path))];\n}\n/**\n* Diff two schema trees starting from their roots.\n*\n* The differ is **total**: every node-level difference is reported. An unmatched\n* non-leaf node emits its own issue and descends, emitting an issue for every\n* node in the missing/extra subtree. Coalescing a parent change over its\n* children is the planner's responsibility. Ownership filtering (dropping `extra`\n* issues in namespaces a contract doesn't own) is the caller's responsibility.\n*/\nfunction diffSchemas(expected, actual) {\n\treturn mirrorDependsOnOntoIssues(diffPair(expected, actual, []));\n}\nfunction schemaNodeRefKey(ref) {\n\treturn JSON.stringify(ref.map((step) => step.id));\n}\nfunction issuePathKey(path) {\n\treturn JSON.stringify(path);\n}\nfunction terminalNodeKind(issue) {\n\treturn (issue.expected ?? issue.actual)?.nodeKind;\n}\n/**\n* Copies each issue's node's `dependsOn` refs onto the issue itself, as\n* issue-to-issue path references. A ref is kept only when some emitted issue\n* sits at that exact path AND that issue's node `nodeKind` matches the ref's\n* last step — otherwise the ref is dropped (its target either didn't\n* change, or was never part of either tree; either way the dependency is\n* satisfied by reality, not by an operation this diff will produce).\n*\n* The path index is a multimap: two siblings may share an `id` under\n* different `nodeKind`s (a role and a namespace named alike), so an id-path\n* alone is ambiguous. The ref's terminal `nodeKind` disambiguates — the ref\n* resolves only against a same-path issue whose own node carries that kind.\n*/\nfunction mirrorDependsOnOntoIssues(issues) {\n\tconst issuesByPath = /* @__PURE__ */ new Map();\n\tfor (const issue of issues) {\n\t\tconst key = issuePathKey(issue.path);\n\t\tconst bucket = issuesByPath.get(key);\n\t\tif (bucket === void 0) issuesByPath.set(key, [issue]);\n\t\telse bucket.push(issue);\n\t}\n\treturn issues.map((issue) => {\n\t\tconst refs = (issue.expected ?? issue.actual)?.dependsOn;\n\t\tif (refs === void 0 || refs.length === 0) return issue;\n\t\tconst dependsOn = refs.flatMap((ref) => {\n\t\t\tconst lastStep = ref[ref.length - 1];\n\t\t\tif (lastStep === void 0) return [];\n\t\t\tif (!(issuesByPath.get(schemaNodeRefKey(ref)) ?? []).some((c) => terminalNodeKind(c) === lastStep.nodeKind)) return [];\n\t\t\treturn [ref.map((step) => step.id)];\n\t\t});\n\t\tif (dependsOn.length === 0) return issue;\n\t\treturn {\n\t\t\t...issue,\n\t\t\tdependsOn\n\t\t};\n\t});\n}\nfunction diffPair(expected, actual, parentPath) {\n\tconst path = [...parentPath, expected.id];\n\tconst issues = [];\n\tif (!expected.isEqualTo(actual)) issues.push({\n\t\tpath,\n\t\texpected,\n\t\tactual,\n\t\t...ifDefined(\"explanation\", expected.explainMismatch?.(actual))\n\t});\n\tissues.push(...diffChildren(expected.children(), actual.children(), path));\n\treturn issues;\n}\n/**\n* Align one level of nodes by `(nodeKind, id)`; emit issues in input order\n* and recurse.\n*\n* A missing node emits one issue for itself and one for every node in its\n* subtree (total descent). Same for extra nodes. A matched pair recurses via\n* `diffPair`.\n*/\nfunction diffChildren(expected, actual, parentPath) {\n\tconst expectedMap = /* @__PURE__ */ new Map();\n\tfor (const node of expected) insertNode(expectedMap, node);\n\tconst actualMap = /* @__PURE__ */ new Map();\n\tfor (const node of actual) insertNode(actualMap, node);\n\tconst issues = [];\n\tfor (const [key, expectedNode] of expectedMap) {\n\t\tconst actualNode = actualMap.get(key);\n\t\tif (actualNode === void 0) issues.push(...emitMissingSubtree(expectedNode, parentPath));\n\t\telse issues.push(...diffPair(expectedNode, actualNode, parentPath));\n\t}\n\tfor (const [key, actualNode] of actualMap) if (!expectedMap.has(key)) issues.push(...emitExtraSubtree(actualNode, parentPath));\n\treturn issues;\n}\n/**\n* The result of diffing a contract's expected schema against the introspected\n* actual schema: one node-typed issue list. Carries no verdict, verification\n* tree, or counts — those are the verifier's own presentation, built from the\n* same underlying comparison.\n*\n* `TNode` is the concrete schema-IR node the issues carry; it defaults to\n* `DiffableNode`, so this is purely additive — a caller that wants the\n* concrete node opts in (the Postgres planner uses the concrete node type),\n* everyone else keeps the default unchanged.\n*/\nvar SchemaDiff = class SchemaDiff {\n\tissues;\n\tconstructor(issues) {\n\t\tthis.issues = issues;\n\t}\n\t/** Returns a new `SchemaDiff` narrowed to the issues `keep` returns true for. */\n\tfilter(keep) {\n\t\treturn new SchemaDiff(this.issues.filter(keep));\n\t}\n};\n//#endregion\n//#region src/control/verifier-disposition.ts\n/**\n* Grades a target-neutral issue category against a control policy.\n*\n* - `observed` warns on everything.\n* - `tolerated` suppresses only an extra nested element (everything else fails).\n* - `external` suppresses every extra category and value drift (existence and\n* declared-shape divergences still fail).\n* - `managed` (and any other) fails.\n*/\nfunction dispositionForCategory(controlPolicy, category) {\n\tif (controlPolicy === \"observed\") return \"warn\";\n\tif (controlPolicy === \"tolerated\" && category === \"extraNestedElement\") return \"suppress\";\n\tif (controlPolicy === \"external\") {\n\t\tif (category === \"extraNestedElement\" || category === \"extraAuxiliary\" || category === \"extraTopLevelObject\" || category === \"valueDrift\") return \"suppress\";\n\t}\n\treturn \"fail\";\n}\n//#endregion\nexport { APP_SPACE_ID, CONTRACT_SNAPSHOTS_DIRNAME, SchemaDiff, SchemaTreeNode, TAGGED_LITERAL_MAX_BYTES, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_SCHEMA_FAILURE, VERIFY_CODE_TARGET_MISMATCH, assembleAuthoringContributions, assembleAuthoringDataTypes, assembleControlMutationDefaults, assertUniqueCodecOwner, buildExtensionLoadOrder, canonicalizeTaggedLiteralBody, contractSnapshotJsonSpecifier, contractSnapshotTypesSpecifier, createControlStack, describeTaggedLiteralFailure, diffSchemas, dispositionForCategory, enforceDataTypeInvariants, extractCodecLookup, extractCodecTypeImports, extractComponentIds, extractQueryOperationTypeImports, hasMigrations, hasOperationPreview, hasPslContractBuild, hasPslContractInfer, hasSchemaSubjectClassifier, hasSchemaView, issueOutcome, orderIssuesByDependencies, resolvePslBacktickEscapes, resolveTemplateTagEscapes, sameMarkerHashes, storageHashHex, timestampNowControlDescriptor };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-default-types-D_M8NC3U-BQNexfRU.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/mutation-default-types-D_M8NC3U.d.mts"],"mappings":";;;;UAGU;WACC;WACA;WACA;;UAED;WACC,OAAO;WACP,KAAK;;UAEN;WACC;WACA;WACA;WACA,OAAO;WACP,OAAO,SAAS;;UAEjB;WACC;WACA;WACA;WACA;;KAEN;WACM;WACA,cAAc;;WAEd;WACA,WAAW;;KAEjB;WACM;WACA,OAAO;;WAEP;WACA,YAAY;;UAEb;WACC;;;;;;;;;;WAUA;;;;;;;WAOA,eAAe,OAAO,4BAA4B;;UAEnD;WACC;WACA,MAAM;WACN,MAAM,SAAS;;UAEhB;WACC;WACA,QAAQ;aACN,MAAM;aACN,SAAS;QACd;WACG;;KAEN,iCAAiC,oBAAoB;UAChD;WACC,yBAAyB;WACzB,+BAA+B;;;;;;UAMhC,iCAAiC,KAAK;WACrC,iBAAiB,SAAS,eAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-codec-vOfdHcIJ-IeNjz3Tm.mjs","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/resolve-codec-vOfdHcIJ.mjs"],"sourcesContent":["import { n as runtimeError } from \"./runtime-error-BA9d7XjZ.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/shared/data-type.ts\n/** The whole of what a data type id is: `owner/name` in lower case, with no version. */\nconst DATA_TYPE_ID_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$/;\n/** Read `id` as a data type id, refusing anything that is not `owner/name` in lower case. */\nfunction dataTypeId(id) {\n\tif (!DATA_TYPE_ID_PATTERN.test(id)) throw runtimeError(\"CONTRACT.DATA_TYPE_ID_INVALID\", `\"${id}\" is not a data type id. A data type id is \"owner/name\" in lower case and carries no version, as in \"owner/name\"; a versioned id names a codec.`, { id });\n\treturn blindCast(id);\n}\n/** Declare a data type. Every id it names, its own and each cast's source, is validated here. */\nfunction dataType(id, spec) {\n\tconst casts = {};\n\tfor (const [source, cast] of Object.entries(spec.casts ?? {})) casts[dataTypeId(source)] = cast;\n\tconst listCast = spec.listCast;\n\treturn {\n\t\tid: dataTypeId(id),\n\t\t...ifDefined(\"params\", spec.params),\n\t\tcasts,\n\t\t...listCast === void 0 ? {} : { listCast: {\n\t\t\tof: listCast.of.map(dataTypeId),\n\t\t\tcast: listCast.cast\n\t\t} },\n\t\t...spec.toCanonicalForm === void 0 ? {} : { toCanonicalForm: spec.toCanonicalForm }\n\t};\n}\nfunction isSchemaPropList(value) {\n\treturn Array.isArray(value) && value.every((prop) => prop !== null && (typeof prop === \"object\" || typeof prop === \"function\") && \"key\" in prop);\n}\nfunction describesObjects(schema) {\n\tconst extendsType = Reflect.get(schema, \"extends\");\n\treturn typeof extendsType === \"function\" && extendsType.call(schema, \"object\") === true;\n}\nfunction objectSchemaProps(schema) {\n\tif (schema === null || typeof schema !== \"object\" && typeof schema !== \"function\") return;\n\tif (!describesObjects(schema)) return void 0;\n\tconst props = readProps(schema);\n\treturn isSchemaPropList(props) ? props : void 0;\n}\n/** Arktype throws from `props` for a union or a morph, whose keys it cannot list. */\nfunction readProps(schema) {\n\ttry {\n\t\treturn Reflect.get(schema, \"props\");\n\t} catch {\n\t\treturn;\n\t}\n}\n/** The keys an arktype object schema declares, or undefined when `schema` is not one. */\nfunction objectSchemaKeys(schema) {\n\treturn objectSchemaProps(schema)?.flatMap((prop) => typeof prop.key === \"string\" ? [prop.key] : []);\n}\n/** The required keys an arktype object schema declares, or undefined when `schema` is not one. */\nfunction requiredSchemaKeys(schema) {\n\treturn objectSchemaProps(schema)?.flatMap((prop) => prop.kind === \"required\" && typeof prop.key === \"string\" ? [prop.key] : []);\n}\n/** The parameters a data type requires. */\nfunction requiredParamKeys(type) {\n\treturn requiredSchemaKeys(type.params) ?? [];\n}\nfunction createDataTypeLookup(types) {\n\tconst byId = new Map(types.map((type) => [type.id, type]));\n\treturn {\n\t\tget: (id) => byId.get(id),\n\t\thas: (id) => byId.has(id)\n\t};\n}\n/** Collect every data type the composed components register, refusing two declarations of one id. */\nfunction assembleDataTypes(descriptors) {\n\tconst declared = [];\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tconst contributedBy = descriptor.id ?? \"<unknown>\";\n\t\tfor (const type of descriptor.dataTypes ?? []) {\n\t\t\tconst existingOwner = owners.get(type.id);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"CONTRACT.DATA_TYPE_DUPLICATE\", `Duplicate data type \"${type.id}\". Component \"${contributedBy}\" conflicts with \"${existingOwner}\". Each data type has exactly one owner across the composed stack.`, {\n\t\t\t\tdataType: type.id,\n\t\t\t\tcontributedBy,\n\t\t\t\towner: existingOwner\n\t\t\t});\n\t\t\towners.set(type.id, contributedBy);\n\t\t\tdeclared.push({\n\t\t\t\ttype,\n\t\t\t\tcontributedBy\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tlookup: createDataTypeLookup(declared.map((entry) => entry.type)),\n\t\tdeclared\n\t};\n}\n//#endregion\n//#region src/shared/resolve-codec.ts\nconst CONTRACT_CODEC_DESCRIPTOR_MISSING = \"CONTRACT.CODEC_DESCRIPTOR_MISSING\";\n/**\n* Look up a descriptor for `ref.codecId` using `descriptorFor`; throw\n* `code` if none is found. Each plane names its own error path: the control\n* plane resolves contract-stack descriptors (`CONTRACT.*`), the execution\n* plane resolves at query time (`RUNTIME.*`).\n*/\nfunction resolveCodecDescriptorOrThrow(descriptorFor, ref, code) {\n\treturn descriptorFor(ref.codecId) ?? codecDescriptorMissing(ref, code);\n}\n/** Throws the error for a codec reference no descriptor has, under the plane's `code`. */\nfunction codecDescriptorMissing(ref, code) {\n\tthrow runtimeError(code, `No codec descriptor registered for codecId '${ref.codecId}'.`, { codecId: ref.codecId });\n}\nfunction isAbsentOrEmpty(typeParams) {\n\treturn typeParams === void 0 || typeof typeParams === \"object\" && typeParams !== null && !Array.isArray(typeParams) && Object.keys(typeParams).length === 0;\n}\n/**\n* Validates `ref.typeParams` against `descriptor.paramsSchema`.\n*\n* A codec without a `paramsSchema` takes no params: it accepts absent or empty\n* `typeParams` (a bare native-type alias carries `{}`) and rejects anything else.\n* A parameterized codec whose ref omits `typeParams` validates `{}` (mirrors\n* `ast-codec-resolver.ts` semantics). Throws `RUNTIME.TYPE_PARAMS_INVALID` when\n* params are given to a codec without params, or when the validator returns a\n* `Promise` or reports issues.\n*/\nfunction validateCodecTypeParams(descriptor, ref) {\n\tconst schema = descriptor.paramsSchema;\n\tif (schema === void 0) {\n\t\tif (!isAbsentOrEmpty(ref.typeParams)) throw runtimeError(\"RUNTIME.TYPE_PARAMS_INVALID\", `Invalid typeParams for codec '${ref.codecId}': unexpected typeParams for non-parameterized codec`, {\n\t\t\tcodecId: ref.codecId,\n\t\t\ttypeParams: ref.typeParams\n\t\t});\n\t\treturn;\n\t}\n\tconst result = blindCast(schema[\"~standard\"].validate(ref.typeParams ?? {}));\n\tif (result instanceof Promise) throw runtimeError(\"RUNTIME.TYPE_PARAMS_INVALID\", `paramsSchema for codec '${ref.codecId}' returned a Promise; runtime validation requires a synchronous Standard Schema validator.`, {\n\t\tcodecId: ref.codecId,\n\t\ttypeParams: ref.typeParams\n\t});\n\tif (\"issues\" in result && result.issues) {\n\t\tconst messages = result.issues.map((issue) => issue.message).join(\"; \");\n\t\tthrow runtimeError(\"RUNTIME.TYPE_PARAMS_INVALID\", `Invalid typeParams for codec '${ref.codecId}': ${messages}`, {\n\t\t\tcodecId: ref.codecId,\n\t\t\ttypeParams: ref.typeParams\n\t\t});\n\t}\n\treturn blindCast(result).value;\n}\n/**\n* Resolves a `Codec` instance: validates `ref.typeParams` via\n* {@link validateCodecTypeParams} then calls `descriptor.factory(validated)(ctx)`\n* as a method on `descriptor`, preserving `this` for factories that build\n* their returned codec from the descriptor instance (e.g. `new XCodec(this)`).\n*/\nfunction materializeCodec(descriptor, ref, ctx) {\n\tconst validated = validateCodecTypeParams(descriptor, ref);\n\treturn descriptor.factory(validated)(ctx);\n}\n/**\n* Builds the codec a codec reference names with the reference's type parameters, so a parameterized codec checks values against them. `undefined` when no descriptor has the id.\n*/\nfunction codecForRef(lookup, ref) {\n\tconst descriptor = lookup.descriptorFor(ref.codecId);\n\treturn descriptor === void 0 ? void 0 : materializeCodec(descriptor, ref, { name: ref.codecId });\n}\n//#endregion\nexport { resolveCodecDescriptorOrThrow as a, assembleDataTypes as c, dataTypeId as d, objectSchemaKeys as f, materializeCodec as i, createDataTypeLookup as l, requiredSchemaKeys as m, codecDescriptorMissing as n, validateCodecTypeParams as o, requiredParamKeys as p, codecForRef as r, DATA_TYPE_ID_PATTERN as s, CONTRACT_CODEC_DESCRIPTOR_MISSING as t, dataType as u };\n\n//# sourceMappingURL=resolve-codec-vOfdHcIJ.mjs.map"],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- import { T as AuthoringStorageTypeTemplate, W as ScalarTypeConstructorOutput } from "./framework-authoring-DRrZ8_s0-CJ7XXqvx.mjs";
2
- import { c as MutationDefaultGeneratorDescriptor } from "./mutation-default-types-D_M8NC3U-BQNexfRU.mjs";
3
- //#region ../../../1-framework/1-core/framework-components/dist/temporal-presets-CLsu00ZK.d.mts
4
- //#region src/shared/tagged-literal.d.ts
5
- /**
6
- * Every failure `offset` is an index into the resolved text the function was
7
- * given, including `too-large`, whose limit is measured on the canonical body.
8
- */
9
- type TaggedLiteralCanonicalization = {
10
- readonly ok: true;
11
- readonly body: string;
12
- } | {
13
- readonly ok: false;
14
- readonly reason: 'nul' | 'too-large';
15
- readonly offset: number;
16
- };
17
- declare const TAGGED_LITERAL_MAX_BYTES = 65536;
18
- /** The message a tagged literal's canonicalization failure is reported with, in PSL and in TypeScript. */
19
- declare function describeTaggedLiteralFailure(reason: 'nul' | 'too-large'): string;
20
- /** The escapes a PSL backtick string resolves: `` \` `` and `\\`. PSL has no interpolation, so `${` is ordinary text. */
21
- declare function resolvePslBacktickEscapes(raw: string): string;
22
- /** The escapes a TypeScript template tag resolves: the PSL two plus `\$`, the only way to write `${` in a template literal. */
23
- declare function resolveTemplateTagEscapes(raw: string): string;
24
- /**
25
- * Turns the escape-resolved text of a tagged literal into its canonical body:
26
- * newlines become `\n`, a blank first and last line are dropped, common leading
27
- * whitespace is removed, internal blank lines become empty, and no trailing
28
- * newline is added. Fails on a NUL character or when the result is larger than
29
- * 65536 UTF-8 bytes.
30
- */
31
- declare function canonicalizeTaggedLiteralBody(resolved: string): TaggedLiteralCanonicalization;
32
- /**
33
- * The PSL text of a tagged literal whose canonical text is `text`: the backtick form, or the double-quote form when the
34
- * text holds a backtick, which reads better than escaping each backtick. A multi-line text starts on the line after
35
- * the opening backtick, so indentation a printer adds to an enclosing block is common to every line and the
36
- * canonicalization removes it. ADR 129.
37
- */
38
- declare function printTaggedLiteral(tag: string, text: string): string;
39
- //#endregion
40
- //#region src/shared/temporal-presets.d.ts
41
- /**
42
- * A codec's storage template with every member a preset needs to resolve.
43
- */
44
- type PresetStorageTemplate = ScalarTypeConstructorOutput & AuthoringStorageTypeTemplate;
45
- /**
46
- * Canonical id for the wall-clock-now mutation default generator. It flows to the control-plane descriptor and the temporal field presets below, to each family's runtime generator, and to the authoring surfaces (PSL `temporal.updatedAt()`, TS `field.temporal.updatedAt()`) through the descriptor.
47
- */
48
- declare const TIMESTAMP_NOW_GENERATOR_ID: "timestampNow";
49
- /**
50
- * Builds the control-plane descriptor for the wall-clock-now mutation default generator. Its `id` and `buildPhases` are target-agnostic, so PSL `temporal.updatedAt()` and TS `field.temporal.updatedAt()` lower to byte-identical contracts.
51
- *
52
- * `applicableCodecIds` is omitted: `timestampNow` is reachable only through a preset, which co-registers the codec itself, so a compatibility list would be tautological.
53
- */
54
- declare function timestampNowControlDescriptor(): MutationDefaultGeneratorDescriptor;
55
- /**
56
- * Builds the `temporal.{createdAt,updatedAt}` field-preset pair. `createdAt` lowers to an execution generator on `onCreate`; `updatedAt` lowers to the same generator on both `onCreate` and `onUpdate`. The target supplies the storage template of its timestamp codec, which the presets carry through unchanged; everything else is shared, so PSL and TS authoring lower to byte-identical contracts across targets.
57
- */
58
- declare function temporalAuthoringPresets<const Storage extends PresetStorageTemplate, const GeneratorId extends string = typeof TIMESTAMP_NOW_GENERATOR_ID>(input: Storage & {
59
- readonly generatorId?: GeneratorId;
60
- }): {
61
- readonly createdAt: {
62
- readonly kind: "fieldPreset";
63
- readonly output: Omit<Storage & {
64
- readonly generatorId?: GeneratorId;
65
- }, "generatorId"> & {
66
- readonly executionDefaults: {
67
- readonly onCreate: {
68
- readonly kind: "generator";
69
- readonly id: "timestampNow" | GeneratorId;
70
- };
71
- };
72
- };
73
- };
74
- readonly updatedAt: {
75
- readonly kind: "fieldPreset";
76
- readonly output: Omit<Storage & {
77
- readonly generatorId?: GeneratorId;
78
- }, "generatorId"> & {
79
- readonly executionDefaults: {
80
- readonly onCreate: {
81
- readonly kind: "generator";
82
- readonly id: "timestampNow" | GeneratorId;
83
- };
84
- readonly onUpdate: {
85
- readonly kind: "generator";
86
- readonly id: "timestampNow" | GeneratorId;
87
- };
88
- };
89
- };
90
- };
91
- };
92
- declare const TEMPORAL_ON_CREATE_ARG: {
93
- readonly name: "onCreate";
94
- readonly kind: "option";
95
- readonly values: readonly ["now"];
96
- readonly optional: true;
97
- };
98
- declare const TEMPORAL_ON_UPDATE_ARG: {
99
- readonly name: "onUpdate";
100
- readonly kind: "option";
101
- readonly values: readonly ["now"];
102
- readonly optional: true;
103
- };
104
- /**
105
- * Selects a generator descriptor for the preset's `now` token. The token is preset vocabulary; the generator id never appears in a user's spelling (ADR 169 — these generators are preset-only).
106
- */
107
- declare function temporalPhaseTemplate<const Index extends number, const GeneratorId extends string>(index: Index, generatorId: GeneratorId): {
108
- readonly kind: "select";
109
- readonly index: Index;
110
- readonly cases: {
111
- readonly now: {
112
- readonly kind: "generator";
113
- readonly id: GeneratorId;
114
- };
115
- };
116
- };
117
- /**
118
- * Builds a `temporal.<codec>` field preset for a codec with no type parameters, carrying the codec's storage template through unchanged. Both phase arguments are optional, and omitting one omits that phase.
119
- */
120
- declare function temporalCodecPreset<const Storage extends PresetStorageTemplate>(storage: Storage): {
121
- readonly kind: "fieldPreset";
122
- readonly args: readonly [{
123
- readonly name: "onCreate";
124
- readonly kind: "option";
125
- readonly values: readonly ["now"];
126
- readonly optional: true;
127
- }, {
128
- readonly name: "onUpdate";
129
- readonly kind: "option";
130
- readonly values: readonly ["now"];
131
- readonly optional: true;
132
- }];
133
- readonly output: Storage & {
134
- readonly executionDefaults: {
135
- readonly onCreate: {
136
- readonly kind: "select";
137
- readonly index: 0;
138
- readonly cases: {
139
- readonly now: {
140
- readonly kind: "generator";
141
- readonly id: "timestampNow";
142
- };
143
- };
144
- };
145
- readonly onUpdate: {
146
- readonly kind: "select";
147
- readonly index: 1;
148
- readonly cases: {
149
- readonly now: {
150
- readonly kind: "generator";
151
- readonly id: "timestampNow";
152
- };
153
- };
154
- };
155
- };
156
- };
157
- };
158
- //#endregion
159
- export { TIMESTAMP_NOW_GENERATOR_ID as a, describeTaggedLiteralFailure as c, resolveTemplateTagEscapes as d, temporalAuthoringPresets as f, timestampNowControlDescriptor as h, TEMPORAL_ON_UPDATE_ARG as i, printTaggedLiteral as l, temporalPhaseTemplate as m, TAGGED_LITERAL_MAX_BYTES as n, TaggedLiteralCanonicalization as o, temporalCodecPreset as p, TEMPORAL_ON_CREATE_ARG as r, canonicalizeTaggedLiteralBody as s, PresetStorageTemplate as t, resolvePslBacktickEscapes as u };
160
- //# sourceMappingURL=temporal-presets-CLsu00ZK-CAx-cLAM.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"temporal-presets-CLsu00ZK-CAx-cLAM.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/temporal-presets-CLsu00ZK.d.mts"],"mappings":";;;;;;;;KAOK;WACM;WACA;;WAEA;WACA;WACA;;cAEG;;iBAEG,6BAA6B;;iBAE7B,0BAA0B;;iBAE1B,0BAA0B;;;;;;;;iBAQ1B,8BAA8B,mBAAmB;;;;;;;iBAOjD,mBAAmB,aAAa;;;;;;KAM5C,wBAAwB,8BAA8B;;;;cAI7C;;;;;;iBAMG,iCAAiC;;;;iBAIjC,+BAA+B,gBAAgB,6BAA6B,oCAAoC,4BAA4B,OAAO;WACzJ,cAAc;;WAEd;aACE;aACA,QAAQ,KAAK;eACX,cAAc;;eAEd;iBACE;mBACE;mBACA,qBAAqB;;;;;WAK7B;aACE;aACA,QAAQ,KAAK;eACX,cAAc;;eAEd;iBACE;mBACE;mBACA,qBAAqB;;iBAEvB;mBACE;mBACA,qBAAqB;;;;;;cAM1B;WACH;WACA;WACA;WACA;;cAEG;WACH;WACA;WACA;WACA;;;;;iBAKM,4BAA4B,4BAA4B,4BAA4B,OAAO,OAAO,aAAa;WACrH;WACA,OAAO;WACP;aACE;eACE;eACA,IAAI;;;;;;;iBAOF,0BAA0B,gBAAgB,uBAAuB,SAAS;WAChF;WACA;aACE;aACA;aACA;aACA;;aAEA;aACA;aACA;aACA;;WAEF,QAAQ;aACN;eACE;iBACE;iBACA;iBACA;mBACE;qBACE;qBACA;;;;eAIN;iBACE;iBACA;iBACA;mBACE;qBACE;qBACA"}