@prisma/orm-framework 8.0.0-rc.11-dev.42 → 8.0.0-rc.11-dev.44
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/dist/authoring-BAkAELU9.d.mts +1 -0
- package/dist/{codec-DgHW_ymr.d.mts → codec-CNyDiibx.d.mts} +5 -5
- package/dist/{codec-DgHW_ymr.d.mts.map → codec-CNyDiibx.d.mts.map} +1 -1
- package/dist/{codec-DWYH-Ra4.mjs → codec-Dn37lyN3.mjs} +12 -3
- package/dist/codec-Dn37lyN3.mjs.map +1 -0
- package/dist/{codec-types-kYJyrqbr-Svq8WsGL.d.mts → codec-types-CUHzY47p-BGExkYMT.d.mts} +80 -7
- package/dist/codec-types-CUHzY47p-BGExkYMT.d.mts.map +1 -0
- package/dist/{components-Ba7BbT88.d.mts → components-mjP-NiPI.d.mts} +4 -4
- package/dist/{components-Ba7BbT88.d.mts.map → components-mjP-NiPI.d.mts.map} +1 -1
- package/dist/components.d.mts +15 -15
- package/dist/components.mjs +5 -5
- package/dist/components__authoring.d.mts +3 -3
- package/dist/components__authoring.mjs +2 -2
- package/dist/components__codec.d.mts +3 -3
- package/dist/components__codec.mjs +3 -3
- package/dist/components__components.d.mts +3 -3
- package/dist/components__control.d.mts +3 -3
- package/dist/components__control.mjs +2 -2
- package/dist/components__emission.d.mts +3 -3
- package/dist/components__execution.d.mts +1 -1
- package/dist/components__psl-ast.d.mts +3 -3
- package/dist/components__runtime.d.mts +1 -1
- package/dist/{config-types-B-iTeXpN.d.mts → config-types-BO7wmV7m.d.mts} +9 -7
- package/dist/config-types-BO7wmV7m.d.mts.map +1 -0
- package/dist/{config-types-D_UCRNbm.mjs → config-types-BZjCZ4qx.mjs} +2 -2
- package/dist/config-types-BZjCZ4qx.mjs.map +1 -0
- package/dist/config.d.mts +1 -1
- package/dist/config.mjs +1 -1
- package/dist/config__config-types.d.mts +1 -1
- package/dist/config__config-types.mjs +1 -1
- package/dist/contract-authoring.d.mts +3 -3
- package/dist/contract-authoring.mjs +1 -1
- package/dist/{control-Dqz1O00q-CNy6vLdH.mjs → control-DF8jHnId-DtQyLTBV.mjs} +6 -6
- package/dist/control-DF8jHnId-DtQyLTBV.mjs.map +1 -0
- package/dist/{control-B0PqMgKg.d.mts → control-Drb1PraC.d.mts} +54 -8
- package/dist/{control-B0PqMgKg.d.mts.map → control-Drb1PraC.d.mts.map} +1 -1
- package/dist/{control-tJzRbhcm-FZPs7pf9.d.mts → control-DxiV2F-o-BYFWr0js.d.mts} +3 -3
- package/dist/{control-tJzRbhcm-FZPs7pf9.d.mts.map → control-DxiV2F-o-BYFWr0js.d.mts.map} +1 -1
- package/dist/{control-Bg1GXcqy.mjs → control-GHcHV_wC.mjs} +121 -14
- package/dist/control-GHcHV_wC.mjs.map +1 -0
- package/dist/{declarations-SwNXosDu-D39d5EQ-.mjs → declarations-SwNXosDu-CmiTwvc9.mjs} +2 -2
- package/dist/{declarations-SwNXosDu-D39d5EQ-.mjs.map → declarations-SwNXosDu-CmiTwvc9.mjs.map} +1 -1
- package/dist/emission-CjBzhxw9.d.mts +2 -0
- package/dist/{emission-types-x7JU6FRk-DEDfBxIG.d.mts → emission-types-DNZaV1ZD-m0p3ggXz.d.mts} +4 -4
- package/dist/{emission-types-x7JU6FRk-DEDfBxIG.d.mts.map → emission-types-DNZaV1ZD-m0p3ggXz.d.mts.map} +1 -1
- package/dist/errors.d.mts +3 -3
- package/dist/errors.mjs +3 -3
- package/dist/errors__control.d.mts +1 -1
- package/dist/errors__control.mjs +1 -1
- package/dist/errors__execution.d.mts +1 -1
- package/dist/errors__execution.mjs +1 -1
- package/dist/errors__migration.d.mts +1 -1
- package/dist/errors__migration.mjs +1 -1
- package/dist/{execution-CzKkooKs.d.mts → execution-DAbEHe-I.d.mts} +3 -3
- package/dist/{execution-CzKkooKs.d.mts.map → execution-DAbEHe-I.d.mts.map} +1 -1
- package/dist/{execution-BRNA-BjF.mjs → execution-DBMzfziV.mjs} +2 -2
- package/dist/{execution-BRNA-BjF.mjs.map → execution-DBMzfziV.mjs.map} +1 -1
- package/dist/{execution-BFMcFLtU.d.mts → execution-DbBow4tN.d.mts} +2 -2
- package/dist/{execution-BFMcFLtU.d.mts.map → execution-DbBow4tN.d.mts.map} +1 -1
- package/dist/{framework-authoring-BvxZnsPY-DlD1nwU5.mjs → framework-authoring-CJMqNFpW-zTV9yCxx.mjs} +18 -3
- package/dist/framework-authoring-CJMqNFpW-zTV9yCxx.mjs.map +1 -0
- package/dist/{framework-authoring-3NOnOdDj-D1fs_v7v.d.mts → framework-authoring-Co1079uY-BbMaaDFN.d.mts} +163 -5
- package/dist/framework-authoring-Co1079uY-BbMaaDFN.d.mts.map +1 -0
- package/dist/{framework-components-Bjrri0MO-B8scNd0G.d.mts → framework-components-5NDIE2bw-BEUhp0I_.d.mts} +13 -103
- package/dist/framework-components-5NDIE2bw-BEUhp0I_.d.mts.map +1 -0
- package/dist/ids.d.mts +1 -1
- package/dist/{migration-xidzvvbN.mjs → migration-B-vxpJrb.mjs} +2 -2
- package/dist/{migration-xidzvvbN.mjs.map → migration-B-vxpJrb.mjs.map} +1 -1
- package/dist/{migration-BLWAkEWP.d.mts → migration-D4svpE2x.d.mts} +2 -2
- package/dist/{migration-BLWAkEWP.d.mts.map → migration-D4svpE2x.d.mts.map} +1 -1
- package/dist/{parse-5HXALb4y-B4NflAYD.d.mts → parse-5HXALb4y-DqeDMhhu.d.mts} +5 -5
- package/dist/{parse-5HXALb4y-B4NflAYD.d.mts.map → parse-5HXALb4y-DqeDMhhu.d.mts.map} +1 -1
- package/dist/{parse-Cu6B62PC-BAPPRuso.mjs → parse-Cu6B62PC-Cn_Sj_oR.mjs} +2 -2
- package/dist/{parse-Cu6B62PC-BAPPRuso.mjs.map → parse-Cu6B62PC-Cn_Sj_oR.mjs.map} +1 -1
- package/dist/{psl-ast-CYAtex8A.d.mts → psl-ast-B4EnAqNe.d.mts} +4 -4
- package/dist/{psl-ast-CYAtex8A.d.mts.map → psl-ast-B4EnAqNe.d.mts.map} +1 -1
- package/dist/{psl-ast-B2fz3C8J-ThGHYpLN.d.mts → psl-ast-COX_BDIK-Db5b89j9.d.mts} +4 -4
- package/dist/{psl-ast-B2fz3C8J-ThGHYpLN.d.mts.map → psl-ast-COX_BDIK-Db5b89j9.d.mts.map} +1 -1
- package/dist/psl-parser.d.mts +46 -17
- package/dist/psl-parser.d.mts.map +1 -1
- package/dist/psl-parser.mjs +101 -42
- package/dist/psl-parser.mjs.map +1 -1
- package/dist/psl-parser__format.mjs +2 -2
- package/dist/psl-parser__interpret.d.mts +3 -3
- package/dist/psl-parser__syntax.d.mts +1 -1
- package/dist/psl-parser__syntax.mjs +2 -2
- package/dist/psl-printer.d.mts +6 -6
- package/dist/psl-printer.mjs +1 -1
- package/dist/{resolve-codec-BLRGmP1f-CydhIhLP.mjs → resolve-codec-C13hn-14-DfFGo-7T.mjs} +30 -3
- package/dist/resolve-codec-C13hn-14-DfFGo-7T.mjs.map +1 -0
- package/dist/{runtime-TlGBi-DH.d.mts → runtime-BF7FbnSQ.d.mts} +2 -2
- package/dist/{runtime-TlGBi-DH.d.mts.map → runtime-BF7FbnSQ.d.mts.map} +1 -1
- package/dist/{symbol-table-CDtpZvfM-BFJgmN1_.d.mts → symbol-table-CDtpZvfM-CWLLXuSI.d.mts} +5 -5
- package/dist/{symbol-table-CDtpZvfM-BFJgmN1_.d.mts.map → symbol-table-CDtpZvfM-CWLLXuSI.d.mts.map} +1 -1
- package/dist/{types-import-spec-CzOtW57G-C3xwIiiM.d.mts → types-import-spec-fliHHCFF-B1yF0Xw3.d.mts} +3 -3
- package/dist/{types-import-spec-CzOtW57G-C3xwIiiM.d.mts.map → types-import-spec-fliHHCFF-B1yF0Xw3.d.mts.map} +1 -1
- package/package.json +15 -15
- package/dist/authoring-BQ6N2aqm.d.mts +0 -1
- package/dist/codec-DWYH-Ra4.mjs.map +0 -1
- package/dist/codec-types-kYJyrqbr-Svq8WsGL.d.mts.map +0 -1
- package/dist/config-types-B-iTeXpN.d.mts.map +0 -1
- package/dist/config-types-D_UCRNbm.mjs.map +0 -1
- package/dist/control-Bg1GXcqy.mjs.map +0 -1
- package/dist/control-Dqz1O00q-CNy6vLdH.mjs.map +0 -1
- package/dist/emission-CPJf0TyD.d.mts +0 -2
- package/dist/framework-authoring-3NOnOdDj-D1fs_v7v.d.mts.map +0 -1
- package/dist/framework-authoring-BvxZnsPY-DlD1nwU5.mjs.map +0 -1
- package/dist/framework-components-Bjrri0MO-B8scNd0G.d.mts.map +0 -1
- package/dist/resolve-codec-BLRGmP1f-CydhIhLP.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-authoring-CJMqNFpW-zTV9yCxx.mjs","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/framework-authoring-CJMqNFpW.mjs"],"sourcesContent":["import { n as runtimeError } from \"./runtime-error-BA9d7XjZ.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { isColumnDefaultLiteralInputValue, isExecutionMutationDefaultValue } from \"@internal/contract/types\";\nimport { invariant } from \"@internal/utils/assertions\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/shared/framework-authoring.ts\nconst AUTHORING_WARNING_BATCH_THRESHOLD = 5;\n/**\n* Emits collected authoring warnings once per build, grouped by `code`:\n* a group at or below the threshold itemizes every `message`; above it,\n* one summary — `\"<count> <summary>\"` followed by the `item` lines — so\n* a build with many hits of one kind does not wall-of-text, and warnings\n* of different codes never batch into each other's summary.\n*/\nfunction flushAuthoringWarnings(warnings) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const warning of warnings) {\n\t\tconst key = `${warning.code}\\u0000${warning.summary}`;\n\t\tconst group = groups.get(key) ?? [];\n\t\tgroup.push(warning);\n\t\tgroups.set(key, group);\n\t}\n\tfor (const group of groups.values()) {\n\t\tconst first = group[0];\n\t\tif (first === void 0) continue;\n\t\tif (group.length <= AUTHORING_WARNING_BATCH_THRESHOLD) {\n\t\t\tfor (const warning of group) process.emitWarning(warning.message, { code: warning.code });\n\t\t\tcontinue;\n\t\t}\n\t\tprocess.emitWarning(`${group.length} ${first.summary}\\n${group.map((w) => ` - ${w.item}`).join(\"\\n\")}`, { code: first.code });\n\t}\n}\n/**\n* Classifies an `enum` block's members (before codec decoding, which needs\n* the codec chosen first) into which default codec an omitted `@@type`\n* should resolve to:\n*\n* - every member is `bare`, or a `value` whose raw JSON is a string → `'text'`\n* - every member is a `value` whose raw JSON is an integer → `'int'`\n* - anything else (float, bigint, boolean, mixed, or a `ref`/`option`/`list`\n* parameter) → `null`, meaning the caller must require an explicit `@@type`.\n*/\nfunction classifyEnumMemberType(block) {\n\tlet sawText = false;\n\tlet sawInt = false;\n\tfor (const paramValue of Object.values(block.parameters)) {\n\t\tif (paramValue.kind === \"bare\") {\n\t\t\tsawText = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (paramValue.kind !== \"value\") return null;\n\t\tlet jsonValue;\n\t\ttry {\n\t\t\tjsonValue = JSON.parse(paramValue.raw);\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t\tif (typeof jsonValue === \"string\") sawText = true;\n\t\telse if (typeof jsonValue === \"number\" && Number.isInteger(jsonValue)) sawInt = true;\n\t\telse return null;\n\t}\n\tif (sawText && sawInt) return null;\n\tif (sawText) return \"text\";\n\tif (sawInt) return \"int\";\n\treturn null;\n}\n/**\n* Resolves the codec id for an `enum` block. When `@@type` is absent, the codec\n* is inferred from the members via {@link classifyEnumMemberType}; otherwise the\n* explicit `@@type(\"codec\")` argument is parsed. Pushes the appropriate\n* diagnostic and returns `undefined` when neither yields a codec. `codecSpan` is\n* the span downstream codec-validation diagnostics should anchor to. Shared by\n* every family's enum factory so inference and the explicit path stay identical.\n*/\nfunction resolveEnumCodecId(block, ctx) {\n\tconst sourceId = ctx.sourceId ?? \"unknown\";\n\tconst typeAttr = block.attributes[\"type\"];\n\tif (typeAttr === void 0) {\n\t\tconst inferredKind = classifyEnumMemberType(block);\n\t\tif (inferredKind === null || ctx.enumInferenceCodecs === void 0) {\n\t\t\tctx.diagnostics?.push({\n\t\t\t\tcode: \"PSL_ENUM_CANNOT_INFER_TYPE\",\n\t\t\t\tmessage: `cannot infer @@type for enum \"${block.name}\"; add an explicit @@type(...)`,\n\t\t\t\tsourceId,\n\t\t\t\tspan: block.span\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\treturn {\n\t\t\tcodecId: ctx.enumInferenceCodecs[inferredKind],\n\t\t\tcodecSpan: block.span\n\t\t};\n\t}\n\tconst codecId = typeAttr.args[\"codecId\"];\n\tinvariant(typeof codecId === \"string\", \"@@type on an enum block parses one string argument\");\n\treturn {\n\t\tcodecId,\n\t\tcodecSpan: typeAttr.span\n\t};\n}\nconst LOWERING_ENTRY_PREFIX = \"lowering:\";\n/**\n* The key a lowering entry sits under. A data type id is `owner/name`, so a key carrying this\n* prefix can never collide with one.\n*/\nfunction loweringEntryKey(tag) {\n\treturn `${LOWERING_ENTRY_PREFIX}${tag}`;\n}\nfunction isLoweringEntryKey(key) {\n\treturn key.startsWith(LOWERING_ENTRY_PREFIX);\n}\n/** Which of the two kinds of entry this is; the only place the discriminating key is named. */\nfunction isDataTypeLoweringEntry(entry) {\n\treturn \"lower\" in entry && entry.lower !== void 0;\n}\nfunction isAuthoringArgRef(value) {\n\tif (typeof value !== \"object\" || value === null || value.kind !== \"arg\") return false;\n\tconst { index, path } = value;\n\tif (typeof index !== \"number\" || !Number.isInteger(index) || index < 0) return false;\n\tif (path !== void 0 && (!Array.isArray(path) || path.some((s) => typeof s !== \"string\"))) return false;\n\treturn true;\n}\nfunction isAuthoringSelectRef(value) {\n\tif (!isAuthoringTemplateRecord(value) || value[\"kind\"] !== \"select\") return false;\n\tconst index = value[\"index\"];\n\tconst path = value[\"path\"];\n\tconst cases = value[\"cases\"];\n\tif (typeof index !== \"number\" || !Number.isInteger(index) || index < 0) return false;\n\tif (path !== void 0 && (!Array.isArray(path) || path.some((s) => typeof s !== \"string\"))) return false;\n\treturn typeof cases === \"object\" && cases !== null && !Array.isArray(cases);\n}\nfunction isAuthoringTemplateRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction readTemplateArgumentValue(args, index, path) {\n\tlet value = args[index];\n\tfor (const segment of path ?? []) {\n\t\tif (!isAuthoringTemplateRecord(value) || !Object.hasOwn(value, segment)) return;\n\t\tvalue = value[segment];\n\t}\n\treturn value;\n}\nfunction isAuthoringTypeConstructorDescriptor(value) {\n\treturn \"kind\" in value && value.kind === \"typeConstructor\";\n}\nfunction isAuthoringFieldPresetDescriptor(value) {\n\treturn \"kind\" in value && value.kind === \"fieldPreset\";\n}\nfunction isAuthoringEntityTypeDescriptor(value) {\n\treturn \"kind\" in value && value.kind === \"entity\";\n}\nfunction isAuthoringPslBlockDescriptor(value) {\n\treturn \"kind\" in value && value.kind === \"pslBlock\";\n}\nfunction isAuthoringModelAttributeDescriptor(value) {\n\treturn \"kind\" in value && value.kind === \"modelAttribute\";\n}\n/**\n* Returns true when `namespace` is a non-leaf key in `contributions.field`.\n*\n* `AuthoringFieldNamespace` permits a leaf descriptor at any depth — including\n* the root — so a top-level `field: { Foo: { kind: 'fieldPreset', ... } }`\n* registration must NOT be treated as a \"namespace\" with sub-paths. Callers\n* use this predicate to gate dot-namespaced lookups (e.g. PSL `@Foo.bar`).\n*/\nfunction hasRegisteredFieldNamespace(contributions, namespace) {\n\tif (contributions?.field === void 0 || !Object.hasOwn(contributions.field, namespace)) return false;\n\tconst value = contributions.field[namespace];\n\treturn value !== void 0 && !isAuthoringFieldPresetDescriptor(value);\n}\nfunction isCopyableNamespaceObject(value) {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\tconst proto = Object.getPrototypeOf(value);\n\treturn proto === Object.prototype || proto === null;\n}\n/**\n* Deep structural check run only at the composition boundary (the merge and\n* collect walkers) to classify a raw namespace-tree node as a leaf descriptor.\n* A node counts as a leaf iff its `kind` matches `descriptorKind` AND it\n* carries that kind's required fields.\n*\n* This is boundary validation over `unknown`, NOT a type-predicate: the four\n* exported `isAuthoring*Descriptor` predicates deliberately narrow on `kind`\n* alone and trust the static types. The walkers, by contrast, also receive\n* type-bypassing packs (`as unknown as never` in tests, untyped JS at runtime)\n* whose descriptor-shaped-but-incomplete nodes must be rejected rather than\n* silently treated as sub-namespaces — so the well-formedness check lives here.\n*/\nfunction isWellFormedDescriptor(value, descriptorKind) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tif (!(\"kind\" in value) || value.kind !== descriptorKind) return false;\n\tswitch (descriptorKind) {\n\t\tcase \"typeConstructor\":\n\t\tcase \"fieldPreset\": {\n\t\t\tif (!(\"output\" in value)) return false;\n\t\t\tconst output = value.output;\n\t\t\treturn typeof output === \"object\" && output !== null;\n\t\t}\n\t\tcase \"entity\": {\n\t\t\tif (!(\"discriminator\" in value) || typeof value.discriminator !== \"string\") return false;\n\t\t\tif (value.discriminator.length === 0) return false;\n\t\t\tif (!(\"output\" in value)) return false;\n\t\t\tconst output = value.output;\n\t\t\tif (typeof output !== \"object\" || output === null) return false;\n\t\t\tconst factory = \"factory\" in output ? output.factory : void 0;\n\t\t\tconst template = \"template\" in output ? output.template : void 0;\n\t\t\treturn typeof factory === \"function\" || template !== void 0;\n\t\t}\n\t\tcase \"pslBlock\": {\n\t\t\tif (!(\"keyword\" in value) || typeof value.keyword !== \"string\" || value.keyword.length === 0) return false;\n\t\t\tif (!(\"discriminator\" in value) || typeof value.discriminator !== \"string\" || value.discriminator.length === 0) return false;\n\t\t\tif (!(\"name\" in value)) return false;\n\t\t\tconst name = value.name;\n\t\t\tif (typeof name !== \"object\" || name === null) return false;\n\t\t\tif (!(\"required\" in name) || typeof name.required !== \"boolean\") return false;\n\t\t\tif (!(\"parameters\" in value)) return false;\n\t\t\tconst parameters = value.parameters;\n\t\t\tif (typeof parameters !== \"object\" || parameters === null || Array.isArray(parameters)) return false;\n\t\t\tif (!(\"attributes\" in value) || value.attributes === void 0) return true;\n\t\t\tconst attributes = value.attributes;\n\t\t\tif (typeof attributes !== \"object\" || attributes === null || Array.isArray(attributes)) return false;\n\t\t\treturn Object.values(attributes).every((factory) => typeof factory === \"function\");\n\t\t}\n\t\tcase \"modelAttribute\":\n\t\t\tif (!(\"attribute\" in value) || typeof value.attribute !== \"string\" || value.attribute.length === 0) return false;\n\t\t\tif (!(\"spec\" in value)) return false;\n\t\t\treturn \"lower\" in value && typeof value.lower === \"function\";\n\t\tdefault: return false;\n\t}\n}\nfunction deepCopyNamespace(source, descriptorKind) {\n\tconst copy = {};\n\tfor (const [key, value] of Object.entries(source)) copy[key] = isCopyableNamespaceObject(value) && !isWellFormedDescriptor(value, descriptorKind) ? deepCopyNamespace(value, descriptorKind) : value;\n\treturn copy;\n}\n/**\n* Merges `source` into `target` recursively at the descriptor-namespace\n* level. `descriptorKind` is the `kind` value ('typeConstructor',\n* 'fieldPreset', 'entity', or 'pslBlock') that identifies a descriptor\n* (terminal merge point; same-path registrations across components are\n* reported as duplicates) as opposed to a sub-namespace (recursion target).\n*\n* Path segments are validated against prototype-pollution names\n* (`__proto__`, `constructor`, `prototype`). A value that is neither a\n* recognized leaf nor a plain object — e.g. a malformed descriptor\n* where the canonical leaf guard rejected it for missing `output` —\n* is reported as an invalid contribution rather than recursed into,\n* which would either silently mangle state or infinite-loop on\n* primitive properties.\n*\n* Within-registry duplicate detection is this walker's job;\n* cross-registry detection runs separately via\n* `assertNoCrossRegistryCollisions` after merging completes.\n*/\nfunction mergeAuthoringNamespaces(target, source, path, descriptorKind, label) {\n\tconst assertSafePath = (currentPath) => {\n\t\tconst blockedSegment = currentPath.find((segment) => segment === \"__proto__\" || segment === \"constructor\" || segment === \"prototype\");\n\t\tif (blockedSegment) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Invalid authoring ${label} helper \"${currentPath.join(\".\")}\". Helper path segments must not use \"${blockedSegment}\".`);\n\t};\n\tfor (const [key, sourceValue] of Object.entries(source)) {\n\t\tconst currentPath = [...path, key];\n\t\tassertSafePath(currentPath);\n\t\tconst hasExistingValue = Object.hasOwn(target, key);\n\t\tconst existingValue = hasExistingValue ? target[key] : void 0;\n\t\tif (!hasExistingValue) {\n\t\t\ttarget[key] = isCopyableNamespaceObject(sourceValue) && !isWellFormedDescriptor(sourceValue, descriptorKind) ? deepCopyNamespace(sourceValue, descriptorKind) : sourceValue;\n\t\t\tcontinue;\n\t\t}\n\t\tconst existingIsLeaf = isWellFormedDescriptor(existingValue, descriptorKind);\n\t\tconst sourceIsLeaf = isWellFormedDescriptor(sourceValue, descriptorKind);\n\t\tif (existingIsLeaf || sourceIsLeaf) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Duplicate authoring ${label} helper \"${currentPath.join(\".\")}\". Helper names must be unique across composed packs.`);\n\t\tif (!isCopyableNamespaceObject(existingValue) || !isCopyableNamespaceObject(sourceValue)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Invalid authoring ${label} helper \"${currentPath.join(\".\")}\". Expected a sub-namespace object or a recognized descriptor; received a malformed value.`);\n\t\tmergeAuthoringNamespaces(existingValue, sourceValue, currentPath, descriptorKind, label);\n\t}\n}\nconst ATTRIBUTE_SPEC_LEVELS = [\"model\", \"field\"];\nfunction mergeAuthoringAttributeSpecs(target, source, contributedBy, owners) {\n\tconst invalidContribution = (detail) => runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Invalid authoring attributeSpecs contribution from descriptor \"${contributedBy}\". ${detail}`);\n\tif (!isCopyableNamespaceObject(source)) throw invalidContribution(\"Expected a record carrying a \\\"model\\\" and a \\\"field\\\" level.\");\n\tfor (const level of ATTRIBUTE_SPEC_LEVELS) {\n\t\tconst contributed = source[level];\n\t\tif (!isCopyableNamespaceObject(contributed)) throw invalidContribution(`The \"${level}\" level must be a record of spec factories keyed by attribute name.`);\n\t\tfor (const [attribute, factory] of Object.entries(contributed)) {\n\t\t\tconst entryPath = `${level}.${attribute}`;\n\t\t\tconst invalidEntry = (detail) => runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Invalid authoring attributeSpecs entry \"${entryPath}\" contributed by descriptor \"${contributedBy}\". ${detail}`);\n\t\t\tif (attribute === \"__proto__\" || attribute === \"constructor\" || attribute === \"prototype\") throw invalidEntry(`Attribute names must not use \"${attribute}\".`);\n\t\t\tif (typeof factory !== \"function\") throw invalidEntry(\"Each entry must be a spec factory function.\");\n\t\t\tconst existingOwner = owners.get(entryPath);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Duplicate authoring attributeSpecs entry \"${entryPath}\". Descriptor \"${contributedBy}\" conflicts with \"${existingOwner}\". Each attribute name may be claimed once per level.`);\n\t\t\towners.set(entryPath, contributedBy);\n\t\t\ttarget[level][attribute] = factory;\n\t\t}\n\t}\n}\n/**\n* Collects the full dotted paths of every well-formed descriptor of\n* `descriptorKind` in a raw contribution tree, using the same boundary\n* classification as {@link mergeAuthoringNamespaces}. Lets assembly-level\n* callers attribute each contributed path to its contributing component\n* before merging, so a same-path collision can be reported naming both\n* contributors.\n*/\nfunction collectContributedDescriptorPaths(namespace, descriptorKind, path = []) {\n\tconst paths = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isWellFormedDescriptor(value, descriptorKind)) {\n\t\t\tpaths.push(currentPath.join(\".\"));\n\t\t\tcontinue;\n\t\t}\n\t\tif (isCopyableNamespaceObject(value)) paths.push(...collectContributedDescriptorPaths(value, descriptorKind, currentPath));\n\t}\n\treturn paths;\n}\n/**\n* Derives the scalar view of an assembled authoring type namespace: every\n* **top-level** type constructor that is instantiable with an empty argument\n* list — all declared args optional and no entity-ref argument. A bare type\n* name `T` in a schema is semantically the zero-arg instantiation `T()`, so\n* each entry is exactly what that call produces (defaulted template values\n* applied, absent optional-arg typeParams keys omitted). Constructors\n* registered under a namespace segment, constructors with required args, and\n* entity-ref constructors are not scalars and are excluded.\n*\n* Eligibility needs no template inspection: templates that cannot resolve\n* for their legal call shapes are rejected at the composition boundary by\n* {@link assertResolvableTypeConstructorTemplates}, so the zero-arg\n* instantiation below cannot fail for an eligible constructor.\n*/\nfunction collectScalarTypeConstructors(namespace) {\n\tconst result = /* @__PURE__ */ new Map();\n\tfor (const [name, value] of Object.entries(namespace)) {\n\t\tif (!isAuthoringTypeConstructorDescriptor(value)) continue;\n\t\tif (value.entityRefArg !== void 0) continue;\n\t\tif (value.args?.some((arg) => arg.optional !== true)) continue;\n\t\tresult.set(name, instantiateAuthoringTypeConstructor(value, []));\n\t}\n\treturn result;\n}\nfunction visitTemplateArgRefs(template, visit) {\n\tif (template === void 0) return;\n\tif (isAuthoringArgRef(template)) {\n\t\tvisit(template);\n\t\tvisitTemplateArgRefs(template.default, visit);\n\t\treturn;\n\t}\n\tif (Array.isArray(template)) {\n\t\tfor (const value of template) visitTemplateArgRefs(value, visit);\n\t\treturn;\n\t}\n\tif (typeof template === \"object\" && template !== null) for (const value of Object.values(template)) visitTemplateArgRefs(value, visit);\n}\n/**\n* Boundary validation for a contributed authoring type namespace, called\n* per contributing component at assembly (which supplies `contributedBy`\n* for attribution). Rejects what the types cannot express — entity-ref\n* constructors are skipped (their output derives from the referenced\n* entity): a plain constructor must declare its output storage type name,\n* and every `typeParams` arg-ref (including refs inside arg-ref defaults)\n* must point at a declared argument index.\n*/\nfunction assertResolvableTypeConstructorTemplates(namespace, contributedBy, path = []) {\n\tfor (const [name, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, name];\n\t\tif (!isAuthoringTypeConstructorDescriptor(value)) {\n\t\t\tassertResolvableTypeConstructorTemplates(value, contributedBy, currentPath);\n\t\t\tcontinue;\n\t\t}\n\t\tif (value.entityRefArg !== void 0) continue;\n\t\tconst args = value.args ?? [];\n\t\tconst invalid = (detail) => /* @__PURE__ */ new Error(`Invalid authoring type constructor \"${currentPath.join(\".\")}\" contributed by descriptor \"${contributedBy}\". ${detail}`);\n\t\tif (value.output.nativeType === void 0) throw invalid(\"The output declares no storage type template and no entityRefArg; a plain constructor must declare one.\");\n\t\tfor (const [key, template] of Object.entries(value.output.typeParams ?? {})) visitTemplateArgRefs(template, (ref) => {\n\t\t\tif (args[ref.index] === void 0) throw invalid(`output.typeParams.${key} references argument ${ref.index}, but the constructor declares ${args.length} argument(s). Declare the argument or correct the reference index.`);\n\t\t});\n\t}\n}\nfunction collectDescriptorPaths(namespace, isLeaf, path = []) {\n\tconst paths = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isLeaf(value)) {\n\t\t\tpaths.push(currentPath.join(\".\"));\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"object\" && value !== null && !Array.isArray(value)) paths.push(...collectDescriptorPaths(value, isLeaf, currentPath));\n\t}\n\treturn paths;\n}\nfunction collectDescriptorEntries(namespace, isLeaf, descriptorKind, label, path = []) {\n\tconst entries = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isLeaf(value)) {\n\t\t\tif (!isWellFormedDescriptor(value, descriptorKind)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring ${label} contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/keyword/discriminator) but does not satisfy the ${label} descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\tif (value.discriminator.length > 0) entries.push({\n\t\t\t\tpath: currentPath.join(\".\"),\n\t\t\t\tdiscriminator: value.discriminator\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n\t\t\tconst record = blindCast(value);\n\t\t\tif ((record[\"kind\"] !== void 0 || record[\"keyword\"] !== void 0 || record[\"discriminator\"] !== void 0) && !isLeaf(value)) {\n\t\t\t\tconst hasKind = record[\"kind\"] === \"pslBlock\";\n\t\t\t\tconst hasKeyword = typeof record[\"keyword\"] === \"string\";\n\t\t\t\tconst hasDiscriminator = typeof record[\"discriminator\"] === \"string\";\n\t\t\t\tif (hasKind || hasKeyword && hasDiscriminator) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring ${label} contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/keyword/discriminator) but does not satisfy the ${label} descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\t}\n\t\t\tentries.push(...collectDescriptorEntries(value, isLeaf, descriptorKind, label, currentPath));\n\t\t}\n\t}\n\treturn entries;\n}\n/**\n* Throws when two or more entries in the same namespace share a key. A\n* duplicate key makes dispatch ambiguous — the caller's lookup dispatches by\n* this key, so one entry would silently shadow the other. Catch duplicates\n* before building any dispatch map.\n*\n* `label` (e.g. `'pslBlock'`, `'entityType'`) names which namespace the\n* duplicate was found in and is carried in the structured error metadata;\n* the key itself is always called `key` in both the message and the\n* metadata, since what it semantically represents (a discriminator for\n* `entityType`, the parser's dispatch keyword for `pslBlock`) is the\n* caller's concern, not this function's.\n*/\nfunction assertUniqueDiscriminators(entries, label) {\n\tconst seen = /* @__PURE__ */ new Map();\n\tfor (const { path, discriminator: key } of entries) {\n\t\tconst existing = seen.get(key);\n\t\tif (existing !== void 0) throw runtimeError(\"RUNTIME.DUPLICATE_AUTHORING_DISCRIMINATOR\", `Duplicate ${label} key \"${key}\" registered at both \"${existing}\" and \"${path}\". Each ${label} contribution must use a unique key.`, {\n\t\t\tlabel,\n\t\t\tkey,\n\t\t\texistingPath: existing,\n\t\t\tpath\n\t\t});\n\t\tseen.set(key, path);\n\t}\n}\nfunction collectPslBlockDescriptorEntries(namespace, path = []) {\n\tconst entries = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isAuthoringPslBlockDescriptor(value)) {\n\t\t\tif (!isWellFormedDescriptor(value, \"pslBlock\")) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring pslBlock contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/keyword/discriminator) but does not satisfy the pslBlock descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\tentries.push({\n\t\t\t\tpath: currentPath.join(\".\"),\n\t\t\t\tdiscriminator: value.discriminator,\n\t\t\t\tkeyword: value.keyword\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n\t\t\tconst record = blindCast(value);\n\t\t\tconst hasKind = record[\"kind\"] === \"pslBlock\";\n\t\t\tconst hasKeyword = typeof record[\"keyword\"] === \"string\";\n\t\t\tconst hasDiscriminator = typeof record[\"discriminator\"] === \"string\";\n\t\t\tif (hasKind || hasKeyword && hasDiscriminator) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring pslBlock contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/keyword/discriminator) but does not satisfy the pslBlock descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\tentries.push(...collectPslBlockDescriptorEntries(value, currentPath));\n\t\t}\n\t}\n\treturn entries;\n}\n/**\n* Every `pslBlockDescriptors` entry requires a matching `entityTypes` factory\n* with the same discriminator. An `entityTypes` factory may stand alone (e.g.\n* `enum`, reachable from the TypeScript builder without any PSL block).\n*\n* Uniqueness for pslBlock entries is keyed on **keyword**, not discriminator:\n* several keywords (e.g. `policy_select`/`policy_insert`) may legitimately\n* share one discriminator, routing to the same `entityTypes` factory and the\n* same `entries[discriminator]` slot — that N:1 shape is exactly what lets\n* one entity kind be authored through several PSL keywords. What must stay\n* unique is the keyword itself, since that's what the parser dispatches on.\n*/\nfunction assertPslBlocksHaveFactories(entityTypeNamespace, pslBlockNamespace) {\n\tconst blockEntries = collectPslBlockDescriptorEntries(pslBlockNamespace);\n\tconst entityEntries = collectDescriptorEntries(entityTypeNamespace, isAuthoringEntityTypeDescriptor, \"entity\", \"entityType\");\n\tassertUniqueDiscriminators(blockEntries.map((entry) => ({\n\t\tpath: entry.path,\n\t\tdiscriminator: entry.keyword\n\t})), \"pslBlock\");\n\tassertUniqueDiscriminators(entityEntries, \"entityType\");\n\tconst entityDiscriminators = new Set(entityEntries.map((entry) => entry.discriminator));\n\tfor (const block of blockEntries) if (!entityDiscriminators.has(block.discriminator)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Incomplete extension contribution: pslBlock helper \"${block.path}\" registers discriminator \"${block.discriminator}\" but no entityType contribution shares that discriminator. An extension-contributed PSL block requires a matching entityType factory so the parsed AST node can lower to an IR class instance; add an entityType helper with discriminator \"${block.discriminator}\".`);\n}\nfunction collectModelAttributeEntries(namespace, path = []) {\n\tconst entries = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isAuthoringModelAttributeDescriptor(value)) {\n\t\t\tif (!isWellFormedDescriptor(value, \"modelAttribute\")) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring modelAttribute contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/attribute) but does not satisfy the modelAttribute descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\tentries.push({\n\t\t\t\tpath: currentPath.join(\".\"),\n\t\t\t\tdiscriminator: value.attribute\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n\t\t\tconst record = blindCast(value);\n\t\t\tif (typeof record[\"attribute\"] === \"string\" && \"spec\" in record) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Malformed authoring modelAttribute contribution at \"${currentPath.join(\".\")}\". The value carries descriptor keys (kind/attribute) but does not satisfy the modelAttribute descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.`);\n\t\t\tentries.push(...collectModelAttributeEntries(value, currentPath));\n\t\t}\n\t}\n\treturn entries;\n}\n/**\n* Throws when two modelAttribute contributions — at any paths, even\n* different ones — claim the same bare `@@` attribute name. The family\n* interpreter dispatches by attribute name, not by registration path, so\n* two descriptors claiming the same name would have one silently shadow\n* the other.\n*/\nfunction assertUniqueModelAttributeNames(entries) {\n\tconst seen = /* @__PURE__ */ new Map();\n\tfor (const { path, discriminator: attribute } of entries) {\n\t\tconst existing = seen.get(attribute);\n\t\tif (existing !== void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Duplicate modelAttribute \"${attribute}\" registered at both \"${existing}\" and \"${path}\". Each modelAttribute contribution must claim a unique attribute name.`);\n\t\tseen.set(attribute, path);\n\t}\n}\nfunction assertNoCrossRegistryCollisions(typeNamespace, fieldNamespace, entityTypeNamespace = {}, pslBlockNamespace = {}, modelAttributeNamespace = {}) {\n\tconst typePaths = new Set(collectDescriptorPaths(typeNamespace, isAuthoringTypeConstructorDescriptor));\n\tconst fieldPaths = new Set(collectDescriptorPaths(fieldNamespace, isAuthoringFieldPresetDescriptor));\n\tconst entityPaths = new Set(collectDescriptorPaths(entityTypeNamespace, isAuthoringEntityTypeDescriptor));\n\tconst ambiguityHint = \"Register each path in only one of authoringContributions.field / authoringContributions.type / authoringContributions.entityTypes.\";\n\tfor (const fieldPath of fieldPaths) if (typePaths.has(fieldPath)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Ambiguous authoring registry path \"${fieldPath}\". The same path is registered as both a type constructor and a field preset; PSL resolution would be ambiguous. ${ambiguityHint}`);\n\tfor (const entityPath of entityPaths) if (typePaths.has(entityPath) || fieldPaths.has(entityPath)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Ambiguous authoring registry path \"${entityPath}\". The same path is registered as an entity contribution AND as a type constructor or field preset; PSL resolution would be ambiguous. ${ambiguityHint}`);\n\tassertPslBlocksHaveFactories(entityTypeNamespace, pslBlockNamespace);\n\tassertUniqueModelAttributeNames(collectModelAttributeEntries(modelAttributeNamespace));\n\tassertSelectTemplatesMatchOptionArgs(typeNamespace, fieldNamespace, entityTypeNamespace);\n}\nfunction collectDescriptorNodes(namespace, isLeaf, path = []) {\n\tconst nodes = [];\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (isLeaf(value)) {\n\t\t\tnodes.push([currentPath.join(\".\"), value]);\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"object\" && value !== null && !Array.isArray(value)) nodes.push(...collectDescriptorNodes(value, isLeaf, currentPath));\n\t}\n\treturn nodes;\n}\nfunction collectSelectRefs(value, found) {\n\tif (typeof value !== \"object\" || value === null) return;\n\tif (isAuthoringSelectRef(value)) {\n\t\tfound.push(value);\n\t\tfor (const caseTemplate of Object.values(value.cases)) collectSelectRefs(caseTemplate, found);\n\t\treturn;\n\t}\n\tif (isAuthoringArgRef(value)) {\n\t\tcollectSelectRefs(value.default, found);\n\t\treturn;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) collectSelectRefs(entry, found);\n\t\treturn;\n\t}\n\tfor (const entry of Object.values(value)) collectSelectRefs(entry, found);\n}\nfunction validateSelectRefsAgainstArgs(label, helperPath, args, templateRoot) {\n\tconst selects = [];\n\tcollectSelectRefs(templateRoot, selects);\n\tfor (const select of selects) {\n\t\tconst position = `#${select.index + 1}`;\n\t\tlet descriptor = args?.[select.index];\n\t\tif (descriptor === void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring ${label} helper \"${helperPath}\" select template references argument ${position}, but the helper declares no argument at that position.`);\n\t\tfor (const segment of select.path ?? []) {\n\t\t\tdescriptor = descriptor.kind === \"object\" ? descriptor.properties[segment] : void 0;\n\t\t\tif (descriptor === void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring ${label} helper \"${helperPath}\" select template references argument ${position} at path \"${(select.path ?? []).join(\".\")}\", which does not resolve to a declared argument property.`);\n\t\t}\n\t\tif (descriptor.kind !== \"option\") throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring ${label} helper \"${helperPath}\" select template references argument ${position}, which is kind \"${descriptor.kind}\"; select requires an option argument.`);\n\t\tconst argumentLabel = descriptor.name !== void 0 ? `\"${descriptor.name}\"` : position;\n\t\tconst missing = descriptor.values.filter((value) => !Object.hasOwn(select.cases, value));\n\t\tif (missing.length > 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring ${label} helper \"${helperPath}\" option argument ${argumentLabel} allows [${descriptor.values.join(\", \")}] but the select template has no case for: ${missing.join(\", \")}.`);\n\t\tconst values = descriptor.values;\n\t\tconst unreachable = Object.keys(select.cases).filter((key) => !values.includes(key));\n\t\tif (unreachable.length > 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring ${label} helper \"${helperPath}\" select template has case(s) not allowed by option argument ${argumentLabel}: ${unreachable.join(\", \")}. Allowed values: [${values.join(\", \")}].`);\n\t}\n}\n/**\n* Every `select` template node must target an option argument whose `values`\n* exactly cover the node's `cases` — a legal token with no case and a case no\n* token can reach are both declaration bugs, caught here at pack-registration\n* time rather than at first resolution.\n*/\nfunction assertSelectTemplatesMatchOptionArgs(typeNamespace, fieldNamespace, entityTypeNamespace) {\n\tfor (const [helperPath, descriptor] of collectDescriptorNodes(fieldNamespace, isAuthoringFieldPresetDescriptor)) validateSelectRefsAgainstArgs(\"field\", helperPath, descriptor.args, descriptor.output);\n\tfor (const [helperPath, descriptor] of collectDescriptorNodes(typeNamespace, isAuthoringTypeConstructorDescriptor)) validateSelectRefsAgainstArgs(\"type\", helperPath, descriptor.args, descriptor.output);\n\tfor (const [helperPath, descriptor] of collectDescriptorNodes(entityTypeNamespace, isAuthoringEntityTypeDescriptor)) if (\"template\" in descriptor.output) validateSelectRefsAgainstArgs(\"entityType\", helperPath, descriptor.args, descriptor.output.template);\n}\nfunction resolveAuthoringTemplateValue(template, args) {\n\tif (template === void 0) return;\n\tif (isAuthoringArgRef(template)) {\n\t\tconst value = readTemplateArgumentValue(args, template.index, template.path);\n\t\tif (value === void 0 && template.default !== void 0) return resolveAuthoringTemplateValue(template.default, args);\n\t\treturn value;\n\t}\n\tif (isAuthoringSelectRef(template)) {\n\t\tconst value = readTemplateArgumentValue(args, template.index, template.path);\n\t\tif (value === void 0) return;\n\t\tif (typeof value !== \"string\" || !Object.hasOwn(template.cases, value)) throw new InternalError(`Authoring template select has no case for value \"${String(value)}\"`);\n\t\treturn resolveAuthoringTemplateValue(template.cases[value], args);\n\t}\n\tif (Array.isArray(template)) return template.map((value) => resolveAuthoringTemplateValue(value, args));\n\tif (typeof template === \"object\" && template !== null) {\n\t\tconst resolved = {};\n\t\tfor (const [key, value] of Object.entries(template)) {\n\t\t\tconst resolvedValue = resolveAuthoringTemplateValue(value, args);\n\t\t\tif (resolvedValue !== void 0) resolved[key] = resolvedValue;\n\t\t}\n\t\treturn resolved;\n\t}\n\treturn template;\n}\nfunction validateAuthoringArgument(descriptor, value, path) {\n\tif (value === void 0) {\n\t\tif (descriptor.optional) return;\n\t\tthrow runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Missing required authoring helper argument at ${path}`);\n\t}\n\tif (descriptor.kind === \"string\") {\n\t\tif (typeof value !== \"string\") throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be a string`);\n\t\treturn;\n\t}\n\tif (descriptor.kind === \"boolean\") {\n\t\tif (typeof value !== \"boolean\") throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be a boolean`);\n\t\treturn;\n\t}\n\tif (descriptor.kind === \"stringArray\") {\n\t\tif (!Array.isArray(value)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be an array of strings`);\n\t\tfor (const entry of value) if (typeof entry !== \"string\") throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be an array of strings`);\n\t\treturn;\n\t}\n\tif (descriptor.kind === \"object\") {\n\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be an object`);\n\t\tconst input = value;\n\t\tconst expectedKeys = new Set(Object.keys(descriptor.properties));\n\t\tfor (const key of Object.keys(input)) if (!expectedKeys.has(key)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} contains unknown property \"${key}\"`);\n\t\tfor (const [key, propertyDescriptor] of Object.entries(descriptor.properties)) validateAuthoringArgument(propertyDescriptor, input[key], `${path}.${key}`);\n\t\treturn;\n\t}\n\tif (descriptor.kind === \"option\") {\n\t\tif (typeof value !== \"string\" || !descriptor.values.includes(value)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be one of: ${descriptor.values.join(\", \")}`);\n\t\treturn;\n\t}\n\tif (typeof value !== \"number\" || Number.isNaN(value)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be a number`);\n\tif (descriptor.integer && !Number.isInteger(value)) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be an integer`);\n\tif (descriptor.minimum !== void 0 && value < descriptor.minimum) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be >= ${descriptor.minimum}, received ${value}`);\n\tif (descriptor.maximum !== void 0 && value > descriptor.maximum) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `Authoring helper argument at ${path} must be <= ${descriptor.maximum}, received ${value}`);\n}\nfunction validateAuthoringHelperArguments(helperPath, descriptors, args) {\n\tconst expected = descriptors ?? [];\n\tconst minimumArgs = expected.reduce((count, descriptor, index) => descriptor.optional ? count : index + 1, 0);\n\tif (args.length < minimumArgs || args.length > expected.length) throw runtimeError(\"CONTRACT.ARGUMENT_INVALID\", `${helperPath} expects ${minimumArgs === expected.length ? expected.length : `${minimumArgs}-${expected.length}`} argument(s), received ${args.length}`);\n\texpected.forEach((descriptor, index) => {\n\t\tvalidateAuthoringArgument(descriptor, args[index], `${helperPath}[${index}]`);\n\t});\n}\nfunction resolveAuthoringStorageTypeTemplate(template, args) {\n\tconst nativeType = template.nativeType;\n\tif (nativeType === void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring output template for codec \"${template.codecId}\" declares no nativeType; only entity-ref constructors may omit it`);\n\tconst typeParams = template.typeParams === void 0 ? void 0 : resolveAuthoringTemplateValue(template.typeParams, args);\n\tif (typeParams !== void 0 && !isAuthoringTemplateRecord(typeParams)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Resolved authoring typeParams must be an object for codec \"${template.codecId}\", received ${String(typeParams)}`);\n\tconst normalizedTypeParams = typeParams !== void 0 && Object.keys(typeParams).length === 0 ? void 0 : typeParams;\n\treturn {\n\t\tcodecId: template.codecId,\n\t\tnativeType,\n\t\t...ifDefined(\"typeParams\", normalizedTypeParams)\n\t};\n}\nfunction resolveAuthoringColumnDefaultTemplate(template, args) {\n\tif (template.kind === \"literal\") {\n\t\tconst value = resolveAuthoringTemplateValue(template.value, args);\n\t\tif (value === void 0) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", \"Resolved authoring literal default must not be undefined\");\n\t\tif (!isColumnDefaultLiteralInputValue(value)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Resolved authoring literal default must be a JSON-serializable value or Date, received ${String(value)}`);\n\t\treturn {\n\t\t\tkind: \"literal\",\n\t\t\tvalue\n\t\t};\n\t}\n\tconst expression = resolveAuthoringTemplateValue(template.expression, args);\n\tif (expression === void 0 || typeof expression === \"object\" && expression !== null) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Resolved authoring function default expression must resolve to a primitive, received ${String(expression)}`);\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: String(expression)\n\t};\n}\nfunction resolveExecutionMutationDefaultPhase(phase, template, args) {\n\tconst value = resolveAuthoringTemplateValue(template, args);\n\tif (value === void 0) return;\n\tif (!isExecutionMutationDefaultValue(value)) throw runtimeError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Authoring preset executionDefaults.${phase} did not resolve to a valid generator descriptor (kind: 'generator', id: string).`);\n\treturn value;\n}\nfunction resolveAuthoringExecutionDefaultsTemplate(template, args) {\n\tconst phases = {\n\t\t...ifDefined(\"onCreate\", template.onCreate !== void 0 ? resolveExecutionMutationDefaultPhase(\"onCreate\", template.onCreate, args) : void 0),\n\t\t...ifDefined(\"onUpdate\", template.onUpdate !== void 0 ? resolveExecutionMutationDefaultPhase(\"onUpdate\", template.onUpdate, args) : void 0)\n\t};\n\treturn Object.keys(phases).length === 0 ? void 0 : phases;\n}\nfunction instantiateAuthoringTypeConstructor(descriptor, args) {\n\treturn resolveAuthoringStorageTypeTemplate(descriptor.output, args);\n}\nfunction instantiateAuthoringEntityType(helperPath, descriptor, args, ctx) {\n\tif (\"factory\" in descriptor.output) {\n\t\tconst input = args[0];\n\t\treturn blindCast(descriptor.output.factory)(input, ctx);\n\t}\n\tvalidateAuthoringHelperArguments(helperPath, descriptor.args, args);\n\treturn blindCast(resolveAuthoringTemplateValue(descriptor.output.template, args));\n}\nfunction instantiateAuthoringFieldPreset(descriptor, args) {\n\treturn {\n\t\tdescriptor: resolveAuthoringStorageTypeTemplate(descriptor.output, args),\n\t\tnullable: descriptor.output.nullable ?? false,\n\t\t...ifDefined(\"default\", descriptor.output.default !== void 0 ? resolveAuthoringColumnDefaultTemplate(descriptor.output.default, args) : void 0),\n\t\t...ifDefined(\"executionDefaults\", descriptor.output.executionDefaults !== void 0 ? resolveAuthoringExecutionDefaultsTemplate(descriptor.output.executionDefaults, args) : void 0),\n\t\tid: descriptor.output.id ?? false,\n\t\tunique: descriptor.output.unique ?? false\n\t};\n}\n//#endregion\nexport { resolveEnumCodecId as C, resolveAuthoringTemplateValue as S, isDataTypeLoweringEntry as _, collectScalarTypeConstructors as a, mergeAuthoringAttributeSpecs as b, instantiateAuthoringEntityType as c, isAuthoringArgRef as d, isAuthoringEntityTypeDescriptor as f, isAuthoringTypeConstructorDescriptor as g, isAuthoringPslBlockDescriptor as h, collectContributedDescriptorPaths as i, instantiateAuthoringFieldPreset as l, isAuthoringModelAttributeDescriptor as m, assertResolvableTypeConstructorTemplates as n, flushAuthoringWarnings as o, isAuthoringFieldPresetDescriptor as p, classifyEnumMemberType as r, hasRegisteredFieldNamespace as s, assertNoCrossRegistryCollisions as t, instantiateAuthoringTypeConstructor as u, isLoweringEntryKey as v, validateAuthoringHelperArguments as w, mergeAuthoringNamespaces as x, loweringEntryKey as y };\n\n//# sourceMappingURL=framework-authoring-CJMqNFpW.mjs.map"],"mappings":"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"}
|
|
@@ -1,7 +1,96 @@
|
|
|
1
|
-
import { P as ExecutionMutationDefaultPhases, a as ColumnDefault } from "./domain-envelope-CENjHN4U-BIIt9bl4.mjs";
|
|
2
|
-
import {
|
|
1
|
+
import { F as ExecutionMutationDefaultValue, P as ExecutionMutationDefaultPhases, V as JsonValue, a as ColumnDefault } from "./domain-envelope-CENjHN4U-BIIt9bl4.mjs";
|
|
2
|
+
import { _ as DataTypeId, f as CodecLookup } from "./codec-types-CUHzY47p-BGExkYMT.mjs";
|
|
3
3
|
import { Type } from "arktype";
|
|
4
|
-
//#region ../../../1-framework/1-core/framework-components/dist/framework-authoring-
|
|
4
|
+
//#region ../../../1-framework/1-core/framework-components/dist/framework-authoring-Co1079uY.d.mts
|
|
5
|
+
//#region src/shared/mutation-default-types.d.ts
|
|
6
|
+
interface SourcePosition {
|
|
7
|
+
readonly offset: number;
|
|
8
|
+
readonly line: number;
|
|
9
|
+
readonly column: number;
|
|
10
|
+
}
|
|
11
|
+
interface SourceSpan {
|
|
12
|
+
readonly start: SourcePosition;
|
|
13
|
+
readonly end: SourcePosition;
|
|
14
|
+
}
|
|
15
|
+
interface SourceDiagnostic {
|
|
16
|
+
readonly code: string;
|
|
17
|
+
readonly message: string;
|
|
18
|
+
readonly sourceId: string;
|
|
19
|
+
readonly span?: SourceSpan;
|
|
20
|
+
readonly data?: Readonly<Record<string, unknown>>;
|
|
21
|
+
}
|
|
22
|
+
interface DefaultFunctionLoweringContext {
|
|
23
|
+
readonly sourceId: string;
|
|
24
|
+
readonly modelName: string;
|
|
25
|
+
readonly fieldName: string;
|
|
26
|
+
readonly columnCodecId?: string;
|
|
27
|
+
}
|
|
28
|
+
type LoweredDefaultValue = {
|
|
29
|
+
readonly kind: 'storage';
|
|
30
|
+
readonly defaultValue: ColumnDefault;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: 'execution';
|
|
33
|
+
readonly generated: ExecutionMutationDefaultValue;
|
|
34
|
+
};
|
|
35
|
+
type LoweredDefaultResult = {
|
|
36
|
+
readonly ok: true;
|
|
37
|
+
readonly value: LoweredDefaultValue;
|
|
38
|
+
} | {
|
|
39
|
+
readonly ok: false;
|
|
40
|
+
readonly diagnostic: SourceDiagnostic;
|
|
41
|
+
};
|
|
42
|
+
interface MutationDefaultGeneratorDescriptor {
|
|
43
|
+
readonly id: string;
|
|
44
|
+
/**
|
|
45
|
+
* Codec ids the generator is compatible with when the codec choice
|
|
46
|
+
* and the generator choice are made independently by the contract
|
|
47
|
+
* author. Set when the registry-coherence check is meaningful
|
|
48
|
+
* (the codec and the generator can be paired arbitrarily by the
|
|
49
|
+
* caller); omitted when the generator is only reachable through a
|
|
50
|
+
* descriptor that co-registers a fixed codec, so coherence is
|
|
51
|
+
* structural and the list would be tautological.
|
|
52
|
+
*/
|
|
53
|
+
readonly applicableCodecIds?: readonly string[];
|
|
54
|
+
/**
|
|
55
|
+
* Construct the `onCreate`/`onUpdate` phases value owned by this
|
|
56
|
+
* generator. Authoring layers (PSL `temporal.updatedAt()`, TS field presets) call
|
|
57
|
+
* this instead of building the literal inline so PSL/TS-authored
|
|
58
|
+
* contracts stay byte-equivalent for any future params-bearing generator.
|
|
59
|
+
*/
|
|
60
|
+
readonly buildPhases?: (args?: Record<string, unknown>) => ExecutionMutationDefaultPhases;
|
|
61
|
+
}
|
|
62
|
+
interface TypedDefaultFunctionCall {
|
|
63
|
+
readonly fn: string;
|
|
64
|
+
readonly span: SourceSpan;
|
|
65
|
+
readonly args: Readonly<Record<string, unknown>>;
|
|
66
|
+
}
|
|
67
|
+
interface ControlMutationDefaultEntry {
|
|
68
|
+
readonly signature?: unknown;
|
|
69
|
+
readonly lower: (input: {
|
|
70
|
+
readonly call: TypedDefaultFunctionCall;
|
|
71
|
+
readonly context: DefaultFunctionLoweringContext;
|
|
72
|
+
}) => LoweredDefaultResult;
|
|
73
|
+
readonly usageSignatures?: readonly string[];
|
|
74
|
+
}
|
|
75
|
+
type ControlMutationDefaultRegistry = ReadonlyMap<string, ControlMutationDefaultEntry>;
|
|
76
|
+
/** A `` tag`body` `` default literal as the attribute spec accepted it: tag, canonical body, and span. */
|
|
77
|
+
interface TaggedLiteralValue {
|
|
78
|
+
readonly tag: string;
|
|
79
|
+
readonly body: string;
|
|
80
|
+
readonly span: SourceSpan;
|
|
81
|
+
}
|
|
82
|
+
interface ControlMutationDefaults {
|
|
83
|
+
readonly defaultFunctionRegistry: ControlMutationDefaultRegistry;
|
|
84
|
+
readonly generatorDescriptors: readonly MutationDefaultGeneratorDescriptor[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* What an attribute spec needs to build its `@default` arms: the functions a stack registers, and
|
|
88
|
+
* the PSL support for its data types, which is where the tags live. ADR 254.
|
|
89
|
+
*/
|
|
90
|
+
interface ControlDefaultRegistries extends Pick<ControlMutationDefaults, 'defaultFunctionRegistry'> {
|
|
91
|
+
readonly dataTypeEntries: Readonly<Record<string, AuthoringDataTypeEntry>>;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
5
94
|
//#region src/shared/option-descriptor.d.ts
|
|
6
95
|
/**
|
|
7
96
|
* An enumerated-value parameter: the author supplies one of `values`, spelled
|
|
@@ -699,6 +788,70 @@ interface AuthoringAttributeSpecContributions {
|
|
|
699
788
|
readonly model: Readonly<Record<string, unknown>>;
|
|
700
789
|
readonly field: Readonly<Record<string, unknown>>;
|
|
701
790
|
}
|
|
791
|
+
/**
|
|
792
|
+
* How a contract source writes values of one data type, and how it reads the text back.
|
|
793
|
+
*
|
|
794
|
+
* A tag is a qualified name followed by a body in any of the quote styles. A plain form is one of
|
|
795
|
+
* the three pieces of syntax read without a tag: a quoted string, `true`/`false`, and a number.
|
|
796
|
+
*
|
|
797
|
+
* A number is the one plain form that yields several types, so instead of `parse` its arm carries a
|
|
798
|
+
* classifier, which picks the type from the digits and returns the canonical form with it, and
|
|
799
|
+
* `types`, every type the classifier can return — which is how assembly knows those types can be
|
|
800
|
+
* written. ADR 254.
|
|
801
|
+
*/
|
|
802
|
+
type DataTypeWrittenForm = {
|
|
803
|
+
readonly kind: 'tag';
|
|
804
|
+
readonly tag: string;
|
|
805
|
+
readonly parse: (text: string) => JsonValue;
|
|
806
|
+
} | {
|
|
807
|
+
readonly kind: 'plain';
|
|
808
|
+
readonly syntax: 'string' | 'boolean';
|
|
809
|
+
readonly parse: (text: string) => JsonValue;
|
|
810
|
+
} | {
|
|
811
|
+
readonly kind: 'plain';
|
|
812
|
+
readonly syntax: 'number';
|
|
813
|
+
readonly types: readonly DataTypeId[];
|
|
814
|
+
readonly classify: (text: string) => {
|
|
815
|
+
readonly type: DataTypeId;
|
|
816
|
+
readonly value: JsonValue;
|
|
817
|
+
} | undefined;
|
|
818
|
+
};
|
|
819
|
+
/**
|
|
820
|
+
* PSL support for one data type, contributed by the pack that owns the type and keyed by its id.
|
|
821
|
+
*
|
|
822
|
+
* The written form reads text into the type's canonical form, throwing a structured error for text
|
|
823
|
+
* it cannot read; `print` is the reverse.
|
|
824
|
+
*/
|
|
825
|
+
interface DataTypeAuthoringEntry {
|
|
826
|
+
readonly written: DataTypeWrittenForm;
|
|
827
|
+
readonly print: (value: JsonValue) => string;
|
|
828
|
+
readonly documentation: string;
|
|
829
|
+
readonly lower?: never;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* A tag whose body the family lowers itself rather than reading as a value of a data type. It sits
|
|
833
|
+
* in the same map under a reserved key, because it names no type. ADR 254.
|
|
834
|
+
*/
|
|
835
|
+
interface DataTypeLoweringAuthoringEntry {
|
|
836
|
+
readonly written: {
|
|
837
|
+
readonly kind: 'tag';
|
|
838
|
+
readonly tag: string;
|
|
839
|
+
};
|
|
840
|
+
readonly documentation: string;
|
|
841
|
+
readonly lower: (input: {
|
|
842
|
+
readonly literal: TaggedLiteralValue;
|
|
843
|
+
readonly context: DefaultFunctionLoweringContext;
|
|
844
|
+
}) => LoweredDefaultResult;
|
|
845
|
+
}
|
|
846
|
+
type AuthoringDataTypeEntry = DataTypeAuthoringEntry | DataTypeLoweringAuthoringEntry;
|
|
847
|
+
/**
|
|
848
|
+
* The key a lowering entry sits under. A data type id is `owner/name`, so a key carrying this
|
|
849
|
+
* prefix can never collide with one.
|
|
850
|
+
*/
|
|
851
|
+
declare function loweringEntryKey(tag: string): string;
|
|
852
|
+
declare function isLoweringEntryKey(key: string): boolean;
|
|
853
|
+
/** Which of the two kinds of entry this is; the only place the discriminating key is named. */
|
|
854
|
+
declare function isDataTypeLoweringEntry(entry: AuthoringDataTypeEntry): entry is DataTypeLoweringAuthoringEntry;
|
|
702
855
|
interface AuthoringContributions {
|
|
703
856
|
readonly type?: AuthoringTypeNamespace;
|
|
704
857
|
readonly field?: AuthoringFieldNamespace;
|
|
@@ -725,6 +878,11 @@ interface AuthoringContributions {
|
|
|
725
878
|
*/
|
|
726
879
|
readonly modelAttributes?: AuthoringModelAttributeDescriptorNamespace;
|
|
727
880
|
readonly attributeSpecs?: AuthoringAttributeSpecContributions;
|
|
881
|
+
/**
|
|
882
|
+
* PSL support for the data types this contribution owns, keyed by data type id, plus any
|
|
883
|
+
* lowering entries under their reserved keys. ADR 254.
|
|
884
|
+
*/
|
|
885
|
+
readonly dataTypes?: Readonly<Record<string, AuthoringDataTypeEntry>>;
|
|
728
886
|
/**
|
|
729
887
|
* Names the top-level type constructor that stores embedded value-object
|
|
730
888
|
* fields (fields typed as a value-object `type` block). A single named
|
|
@@ -826,5 +984,5 @@ declare function instantiateAuthoringFieldPreset(descriptor: AuthoringFieldPrese
|
|
|
826
984
|
readonly unique: boolean;
|
|
827
985
|
};
|
|
828
986
|
//#endregion
|
|
829
|
-
export {
|
|
830
|
-
//# sourceMappingURL=framework-authoring-
|
|
987
|
+
export { PslExtensionBlockAttributeArg as $, AuthoringTypeNamespace as A, isLoweringEntryKey as At, DataTypeWrittenForm as B, AuthoringPslBlockDescriptor as C, isAuthoringArgRef as Ct, AuthoringTemplateValue as D, isAuthoringPslBlockDescriptor as Dt, AuthoringStorageTypeTemplate as E, isAuthoringModelAttributeDescriptor as Et, ControlMutationDefaultEntry as F, validateAuthoringHelperArguments as Ft, PslBlockParam as G, LoweredDefaultResult as H, ControlMutationDefaultRegistry as I, PslBlockParamRef as J, PslBlockParamList as K, ControlMutationDefaults as L, AuthoringWarningSink as M, mergeAuthoringNamespaces as Mt, ContributedPslDiagnosticCode as N, resolveAuthoringTemplateValue as Nt, AuthoringTypeConstructorDescriptor as O, isAuthoringTypeConstructorDescriptor as Ot, ControlDefaultRegistries as P, resolveEnumCodecId as Pt, PslExtensionBlockAttribute as Q, DataTypeAuthoringEntry as R, AuthoringOption as S, instantiateAuthoringTypeConstructor as St, AuthoringSelectRef as T, isAuthoringFieldPresetDescriptor as Tt, LoweredDefaultValue as U, DefaultFunctionLoweringContext as V, MutationDefaultGeneratorDescriptor as W, PslDiagnosticCode as X, PslBlockParamValue as Y, PslExtensionBlock as Z, AuthoringModelAttributeDescriptor as _, collectScalarTypeConstructors as _t, AuthoringContributions as a, PslExtensionBlockParamValue as at, AuthoringModelAttributeIndexOutput as b, instantiateAuthoringEntityType as bt, AuthoringEntityContext as c, PslSpan as ct, AuthoringEntityTypeNamespace as d, SourceSpan as dt, PslExtensionBlockParamBare as et, AuthoringEntityTypeTemplateOutput as f, TaggedLiteralValue as ft, AuthoringModelAttributeContext as g, classifyEnumMemberType as gt, AuthoringFieldPresetOutput as h, assertResolvableTypeConstructorTemplates as ht, AuthoringColumnDefaultTemplate as i, PslExtensionBlockParamScalarValue as it, AuthoringWarning as j, loweringEntryKey as jt, AuthoringTypeConstructorEntityRef as k, isDataTypeLoweringEntry as kt, AuthoringEntityTypeDescriptor as l, ScalarTypeConstructorOutput as lt, AuthoringFieldPresetDescriptor as m, assertNoCrossRegistryCollisions as mt, AuthoringArgumentDescriptor as n, PslExtensionBlockParamOption as nt, AuthoringDataTypeEntry as o, PslExtensionBlockParsedAttribute as ot, AuthoringFieldNamespace as p, TypedDefaultFunctionCall as pt, PslBlockParamOption as q, AuthoringAttributeSpecContributions as r, PslExtensionBlockParamRef as rt, AuthoringDiagnosticSink as s, PslPosition as st, AuthoringArgRef as t, PslExtensionBlockParamList as tt, AuthoringEntityTypeFactoryOutput as u, SourceDiagnostic as ut, AuthoringModelAttributeDescriptorNamespace as v, flushAuthoringWarnings as vt, AuthoringPslBlockDescriptorNamespace as w, isAuthoringEntityTypeDescriptor as wt, AuthoringModelAttributeLoweringOutput as x, instantiateAuthoringFieldPreset as xt, AuthoringModelAttributeEntityOutput as y, hasRegisteredFieldNamespace as yt, DataTypeLoweringAuthoringEntry as z };
|
|
988
|
+
//# sourceMappingURL=framework-authoring-Co1079uY-BbMaaDFN.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-authoring-Co1079uY-BbMaaDFN.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/framework-authoring-Co1079uY.d.mts"],"mappings":"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"}
|
|
@@ -1,104 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
//#region ../../../1-framework/1-core/framework-components/dist/framework-components-Bjrri0MO.d.mts
|
|
6
|
-
//#region src/shared/mutation-default-types.d.ts
|
|
7
|
-
interface SourcePosition {
|
|
8
|
-
readonly offset: number;
|
|
9
|
-
readonly line: number;
|
|
10
|
-
readonly column: number;
|
|
11
|
-
}
|
|
12
|
-
interface SourceSpan {
|
|
13
|
-
readonly start: SourcePosition;
|
|
14
|
-
readonly end: SourcePosition;
|
|
15
|
-
}
|
|
16
|
-
interface SourceDiagnostic {
|
|
17
|
-
readonly code: string;
|
|
18
|
-
readonly message: string;
|
|
19
|
-
readonly sourceId: string;
|
|
20
|
-
readonly span?: SourceSpan;
|
|
21
|
-
readonly data?: Readonly<Record<string, unknown>>;
|
|
22
|
-
}
|
|
23
|
-
interface DefaultFunctionLoweringContext {
|
|
24
|
-
readonly sourceId: string;
|
|
25
|
-
readonly modelName: string;
|
|
26
|
-
readonly fieldName: string;
|
|
27
|
-
readonly columnCodecId?: string;
|
|
28
|
-
}
|
|
29
|
-
type LoweredDefaultValue = {
|
|
30
|
-
readonly kind: 'storage';
|
|
31
|
-
readonly defaultValue: ColumnDefault;
|
|
32
|
-
} | {
|
|
33
|
-
readonly kind: 'execution';
|
|
34
|
-
readonly generated: ExecutionMutationDefaultValue;
|
|
35
|
-
};
|
|
36
|
-
type LoweredDefaultResult = {
|
|
37
|
-
readonly ok: true;
|
|
38
|
-
readonly value: LoweredDefaultValue;
|
|
39
|
-
} | {
|
|
40
|
-
readonly ok: false;
|
|
41
|
-
readonly diagnostic: SourceDiagnostic;
|
|
42
|
-
};
|
|
43
|
-
interface MutationDefaultGeneratorDescriptor {
|
|
44
|
-
readonly id: string;
|
|
45
|
-
/**
|
|
46
|
-
* Codec ids the generator is compatible with when the codec choice
|
|
47
|
-
* and the generator choice are made independently by the contract
|
|
48
|
-
* author. Set when the registry-coherence check is meaningful
|
|
49
|
-
* (the codec and the generator can be paired arbitrarily by the
|
|
50
|
-
* caller); omitted when the generator is only reachable through a
|
|
51
|
-
* descriptor that co-registers a fixed codec, so coherence is
|
|
52
|
-
* structural and the list would be tautological.
|
|
53
|
-
*/
|
|
54
|
-
readonly applicableCodecIds?: readonly string[];
|
|
55
|
-
/**
|
|
56
|
-
* Construct the `onCreate`/`onUpdate` phases value owned by this
|
|
57
|
-
* generator. Authoring layers (PSL `temporal.updatedAt()`, TS field presets) call
|
|
58
|
-
* this instead of building the literal inline so PSL/TS-authored
|
|
59
|
-
* contracts stay byte-equivalent for any future params-bearing generator.
|
|
60
|
-
*/
|
|
61
|
-
readonly buildPhases?: (args?: Record<string, unknown>) => ExecutionMutationDefaultPhases;
|
|
62
|
-
}
|
|
63
|
-
interface TypedDefaultFunctionCall {
|
|
64
|
-
readonly fn: string;
|
|
65
|
-
readonly span: SourceSpan;
|
|
66
|
-
readonly args: Readonly<Record<string, unknown>>;
|
|
67
|
-
}
|
|
68
|
-
interface ControlMutationDefaultEntry {
|
|
69
|
-
readonly signature?: unknown;
|
|
70
|
-
readonly lower: (input: {
|
|
71
|
-
readonly call: TypedDefaultFunctionCall;
|
|
72
|
-
readonly context: DefaultFunctionLoweringContext;
|
|
73
|
-
}) => LoweredDefaultResult;
|
|
74
|
-
readonly usageSignatures?: readonly string[];
|
|
75
|
-
}
|
|
76
|
-
type ControlMutationDefaultRegistry = ReadonlyMap<string, ControlMutationDefaultEntry>;
|
|
77
|
-
/** A `` tag`body` `` default literal as the attribute spec accepted it: tag, canonical body, and span. */
|
|
78
|
-
interface TaggedLiteralValue {
|
|
79
|
-
readonly tag: string;
|
|
80
|
-
readonly body: string;
|
|
81
|
-
readonly span: SourceSpan;
|
|
82
|
-
}
|
|
83
|
-
interface ControlDefaultLiteralTagEntry {
|
|
84
|
-
/** How the tag is written, for messages: `` sql`...` ``. */
|
|
85
|
-
readonly usage: string;
|
|
86
|
-
/** What the literal does, shown as signature help. */
|
|
87
|
-
readonly documentation: string;
|
|
88
|
-
readonly lower: (input: {
|
|
89
|
-
readonly literal: TaggedLiteralValue;
|
|
90
|
-
readonly context: DefaultFunctionLoweringContext;
|
|
91
|
-
}) => LoweredDefaultResult;
|
|
92
|
-
}
|
|
93
|
-
type ControlDefaultLiteralTagRegistry = ReadonlyMap<string, ControlDefaultLiteralTagEntry>;
|
|
94
|
-
interface ControlMutationDefaults {
|
|
95
|
-
readonly defaultFunctionRegistry: ControlMutationDefaultRegistry;
|
|
96
|
-
readonly defaultLiteralTagRegistry: ControlDefaultLiteralTagRegistry;
|
|
97
|
-
readonly generatorDescriptors: readonly MutationDefaultGeneratorDescriptor[];
|
|
98
|
-
}
|
|
99
|
-
/** The two registries an attribute spec needs to build its `@default` arms. */
|
|
100
|
-
type ControlDefaultRegistries = Pick<ControlMutationDefaults, 'defaultFunctionRegistry' | 'defaultLiteralTagRegistry'>;
|
|
101
|
-
//#endregion
|
|
1
|
+
import { g as DataType, t as AnyCodecDescriptor } from "./codec-types-CUHzY47p-BGExkYMT.mjs";
|
|
2
|
+
import { L as ControlMutationDefaults, a as AuthoringContributions } from "./framework-authoring-Co1079uY-BbMaaDFN.mjs";
|
|
3
|
+
import { l as TypesImportSpec, t as AggregateDescriptor } from "./types-import-spec-fliHHCFF-B1yF0Xw3.mjs";
|
|
4
|
+
//#region ../../../1-framework/1-core/framework-components/dist/framework-components-5NDIE2bw.d.mts
|
|
102
5
|
//#region src/shared/framework-components.d.ts
|
|
103
6
|
/**
|
|
104
7
|
* Declarative fields that describe component metadata.
|
|
@@ -150,6 +53,13 @@ interface ComponentMetadata {
|
|
|
150
53
|
readonly nativeType?: string;
|
|
151
54
|
}>;
|
|
152
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Data types this component registers — the types its codecs represent, each with the casts that
|
|
58
|
+
* say which other types' values it takes. A sibling of `types` rather than a member of it,
|
|
59
|
+
* because `types` is copied into an extension's contract space and a cast is a function, which
|
|
60
|
+
* no contract holds. ADR 254.
|
|
61
|
+
*/
|
|
62
|
+
readonly dataTypes?: ReadonlyArray<DataType>;
|
|
153
63
|
/**
|
|
154
64
|
* Optional pure-data authoring contributions exposed by this component.
|
|
155
65
|
*
|
|
@@ -411,5 +321,5 @@ interface ExtensionInstance<TFamilyId extends string, TTargetId extends string>
|
|
|
411
321
|
readonly targetId: TTargetId;
|
|
412
322
|
}
|
|
413
323
|
//#endregion
|
|
414
|
-
export {
|
|
415
|
-
//# sourceMappingURL=framework-components-
|
|
324
|
+
export { checkContractComponentRequirements as S, PackRefBase as _, ComponentMetadata as a, TargetInstance as b, DriverDescriptor as c, ExtensionDescriptor as d, ExtensionInstance as f, FamilyPackRef as g, FamilyInstance as h, ComponentDescriptor as i, DriverInstance as l, FamilyDescriptor as m, AdapterInstance as n, ContractComponentRequirementsCheckInput as o, ExtensionPackRef as p, AdapterPackRef as r, ContractComponentRequirementsCheckResult as s, AdapterDescriptor as t, DriverPackRef as u, TargetBoundComponentDescriptor as v, TargetPackRef as x, TargetDescriptor as y };
|
|
325
|
+
//# sourceMappingURL=framework-components-5NDIE2bw-BEUhp0I_.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-components-5NDIE2bw-BEUhp0I_.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/framework-components-5NDIE2bw.d.mts"],"mappings":";;;;;;;;UAOU;;WAEC;;;;;;WAMA,eAAe;;WAEf;aACE;;;;eAIE,SAAS;;;;;;;;eAQT,cAAc,cAAc;;;;eAI5B,oBAAoB;;;;eAIpB,mBAAmB,cAAc;;;;;aAKnC,uBAAuB,cAAc;aACrC;eACE,QAAQ;;aAEV,UAAU;eACR;eACA;eACA;eACA;;;;;;;;;WASJ,YAAY,cAAc;;;;;;WAM1B,YAAY;;;;WAIZ,0BAA0B;;;;;;;;;;;;;;;;;UAiB3B,oBAAoB,6BAA6B;;WAEhD,MAAM;;WAEN;;UAED;WACC;aACE;aACA;aACA,aAAa;;WAEf;WACA;WACA,sBAAsB;;UAEvB;WACC;aACE;aACA;;WAEF;aACE;aACA;;WAEF;;iBAEM,mCAAmC,OAAO,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;UA0B3F,iBAAiB,kCAAkC;;WAElD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2BX,iBAAiB,0BAA0B,kCAAkC;;WAE5E,UAAU;;WAEV,UAAU;;WAEV;;;;;UAKD,YAAY,qBAAqB,kCAAkC;WAClE,MAAM;WACN;WACA,UAAU;WACV;WACA,YAAY;;KAElB,cAAc,qCAAqC,sBAAsB;KACzE,cAAc,mCAAmC,qCAAqC,sBAAsB;WACtG,UAAU;;WAEV;WACA;;KAEN,eAAe,mCAAmC,qCAAqC,uBAAuB;WACxG,UAAU;;KAEhB,iBAAiB,mCAAmC,qCAAqC,yBAAyB;WAC5G,UAAU;;KAEhB,cAAc,mCAAmC,qCAAqC,sBAAsB;WACtG,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BX,kBAAkB,0BAA0B,kCAAkC;;WAE7E,UAAU;;WAEV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6BX,iBAAiB,0BAA0B,kCAAkC;;WAE5E,UAAU;;WAEV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BX,oBAAoB,0BAA0B,kCAAkC;;WAE/E,UAAU;;WAEV,UAAU;;;KAGhB,+BAA+B,0BAA0B,4BAA4B,iBAAiB,WAAW,aAAa,kBAAkB,WAAW,aAAa,iBAAiB,WAAW,aAAa,oBAAoB,WAAW;UAC3O,eAAe;WACd,UAAU;;UAEX,eAAe,0BAA0B;WACxC,UAAU;WACV,UAAU;;UAEX,gBAAgB,0BAA0B;WACzC,UAAU;WACV,UAAU;;UAEX,eAAe,0BAA0B;WACxC,UAAU;WACV,UAAU;;UAEX,kBAAkB,0BAA0B;WAC3C,UAAU;WACV,UAAU"}
|
package/dist/ids.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { F as ExecutionMutationDefaultValue } from "./domain-envelope-CENjHN4U-BIIt9bl4.mjs";
|
|
2
|
-
import { a as ColumnTypeDescriptor } from "./codec-
|
|
2
|
+
import { a as ColumnTypeDescriptor } from "./codec-CNyDiibx.mjs";
|
|
3
3
|
import { cuid2 as cuid2$1 } from "uniku/cuid2";
|
|
4
4
|
import { ksuid as ksuid$1 } from "uniku/ksuid";
|
|
5
5
|
import { nanoid as nanoid$1 } from "uniku/nanoid";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as CliStructuredError } from "./control-
|
|
1
|
+
import { t as CliStructuredError } from "./control-DF8jHnId-DtQyLTBV.mjs";
|
|
2
2
|
//#region ../../../1-framework/1-core/errors/dist/migration.mjs
|
|
3
3
|
/**
|
|
4
4
|
* A scaffolded migration contains a placeholder slot that was never filled in.
|
|
@@ -124,4 +124,4 @@ function errorMigrationPlanNotArray(dir, actualValueDescription) {
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { errorMigrationTargetMismatch as a, errorMigrationPlanNotArray as i, errorMigrationFileMissing as n, errorUnfilledPlaceholder as o, errorMigrationInvalidDefaultExport as r, placeholder as s, errorDataTransformContractMismatch as t };
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=migration-
|
|
127
|
+
//# sourceMappingURL=migration-B-vxpJrb.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-
|
|
1
|
+
{"version":3,"file":"migration-B-vxpJrb.mjs","names":[],"sources":["../../../../1-framework/1-core/errors/dist/migration.mjs"],"sourcesContent":["import { t as CliStructuredError } from \"./control-DF8jHnId.mjs\";\n//#region src/migration.ts\n/**\n* A scaffolded migration contains a placeholder slot that was never filled in.\n*\n* Thrown at emit time (when `check.source()` or `run()` is invoked) via the\n* `placeholder(...)` utility. The `slot` identifies the exact location the\n* author still needs to edit, e.g. `\"backfill-product-status:check.source\"`.\n*/\nfunction errorUnfilledPlaceholder(slot) {\n\treturn new CliStructuredError(\"MIGRATION.UNFILLED_PLACEHOLDER\", \"Unfilled migration placeholder\", {\n\t\twhy: `The migration contains a placeholder that has not been filled in: ${slot}`,\n\t\tfix: \"Open migration.ts and replace the `placeholder(...)` call with your actual query.\",\n\t\tmeta: { slot }\n\t});\n}\n/**\n* Scaffolded `migration.ts` files call this wherever the scaffolder couldn't\n* emit a real query and the author is expected to fill one in. Always throws\n* a structured migration error (`MIGRATION.UNFILLED_PLACEHOLDER`).\n*\n* The return type `never` makes it assignable to any expected return type, so\n* a scaffolded `() => placeholder('...')` satisfies signatures like\n* `() => MongoQueryPlan` without polluting them with a sentinel union arm.\n*/\nfunction placeholder(slot) {\n\tthrow errorUnfilledPlaceholder(slot);\n}\n/**\n* A `dataTransform(endContract, …)` factory was handed a `SqlQueryPlan` whose\n* `meta.storageHash` does not match the `endContract.storage.storageHash` it\n* was configured with. This almost always means the user's query-builder\n* (`sql({ context: createExecutionContext({ contract: endContract, … }) })`)\n* was instantiated from a different contract reference than the one passed\n* to `dataTransform(endContract, …)`.\n*\n* Distinct from `errorHashMismatch` (`CONTRACT.MARKER_MISMATCH`) which\n* rejects a plan at runtime execution; this is an authoring-time rejection\n* so it lives in the `MIGRATION` namespace.\n*/\nfunction errorDataTransformContractMismatch(options) {\n\treturn new CliStructuredError(\"MIGRATION.DATA_TRANSFORM_CONTRACT_MISMATCH\", \"dataTransform query plan built against wrong contract\", {\n\t\twhy: `Data transform \"${options.dataTransformName}\" produced a query plan whose storage hash (${options.actual}) does not match the migration's contract (${options.expected}). The query builder was configured with a different contract than the one passed to dataTransform(endContract, ...).`,\n\t\tfix: \"Ensure the `endContract` imported at module scope (used for both `dataTransform(endContract, …)` and `sql({ context: createExecutionContext({ contract: endContract, … }) })`) is the same reference.\",\n\t\tmeta: {\n\t\t\tdataTransformName: options.dataTransformName,\n\t\t\texpected: options.expected,\n\t\t\tactual: options.actual\n\t\t}\n\t});\n}\n/**\n* `migration.ts` was expected at the given package directory but could not be\n* located. Thrown when consumers attempt to read a migration package that is\n* missing its source file.\n*/\nfunction errorMigrationFileMissing(dir) {\n\treturn new CliStructuredError(\"MIGRATION.FILE_MISSING\", \"migration.ts not found\", {\n\t\twhy: `No migration.ts file was found at \"${dir}\"`,\n\t\tfix: \"Scaffold one with `{bin} migration new` or `{bin} migration plan`.\",\n\t\tnextActions: [{\n\t\t\tkind: \"run-command\",\n\t\t\tlabel: \"Scaffold an empty migration\",\n\t\t\tcommand: \"{bin} migration new\"\n\t\t}, {\n\t\t\tkind: \"run-command\",\n\t\t\tlabel: \"Scaffold a migration from a contract diff\",\n\t\t\tcommand: \"{bin} migration plan\"\n\t\t}],\n\t\tmeta: { dir }\n\t});\n}\n/**\n* The `migration.ts` at the given package directory does not default-export a\n* valid migration shape. Two shapes are accepted: a `Migration` subclass, or a\n* factory function returning a `MigrationPlan`-shaped object (with at least\n* an `operations` array, plus `targetId` and `destination`). Thrown when the\n* default export is missing, is not a constructor/function, does not extend\n* `Migration`, or (for factory functions) returns a value that is not\n* `MigrationPlan`-shaped.\n*/\nfunction errorMigrationInvalidDefaultExport(dir, actualExportDescription) {\n\treturn new CliStructuredError(\"MIGRATION.INVALID_DEFAULT_EXPORT\", \"migration.ts default export is not a valid migration\", {\n\t\twhy: actualExportDescription !== void 0 ? `migration.ts at \"${dir}\" must default-export a Migration subclass or a factory function returning a MigrationPlan-shaped object; got ${actualExportDescription}` : `migration.ts at \"${dir}\" must default-export a Migration subclass or a factory function returning a MigrationPlan-shaped object.`,\n\t\tfix: \"Use `export default class extends Migration { ... }` or `export default () => ({ targetId, destination, operations })`.\",\n\t\tmeta: {\n\t\t\tdir,\n\t\t\t...actualExportDescription !== void 0 ? { actualExport: actualExportDescription } : {}\n\t\t}\n\t});\n}\n/**\n* The migration class declares one `targetId` but the loaded\n* `prisma.config.ts` declares another. Thrown by `MigrationCLI.run`\n* when a migration script is invoked against a config whose target\n* descriptor disagrees with the migration's own `targetId`. Distinct from generic\n* config-validation errors because the mismatch is between two valid\n* artifacts (the script and the config), not a malformed input.\n*/\nfunction errorMigrationTargetMismatch(options) {\n\treturn new CliStructuredError(\"MIGRATION.TARGET_MISMATCH\", \"Migration target does not match config target\", {\n\t\twhy: `This migration is for target \"${options.migrationTargetId}\" but the loaded prisma.config.ts declares target \"${options.configTargetId}\". The migration script can only be run against a config that targets the same database.`,\n\t\tfix: \"Switch to a config whose `target` matches the migration's target, or pass `--config <path>` to point at the right config file.\",\n\t\tmeta: {\n\t\t\tmigrationTargetId: options.migrationTargetId,\n\t\t\tconfigTargetId: options.configTargetId\n\t\t}\n\t});\n}\n/**\n* A `Migration.operations` getter returned a value that is not an array. Used\n* by emit capabilities after instantiating the authored migration.\n*/\nfunction errorMigrationPlanNotArray(dir, actualValueDescription) {\n\treturn new CliStructuredError(\"MIGRATION.PLAN_NOT_ARRAY\", \"Migration.operations must be an array of operations\", {\n\t\twhy: actualValueDescription !== void 0 ? `Migration.operations for migration.ts at \"${dir}\" was ${actualValueDescription}; an array of operations is required.` : `Migration.operations for migration.ts at \"${dir}\" is not an array of operations.`,\n\t\tfix: \"Ensure your `operations` getter returns an array of operations; see the data-migrations authoring guide.\",\n\t\tmeta: {\n\t\t\tdir,\n\t\t\t...actualValueDescription !== void 0 ? { actualValue: actualValueDescription } : {}\n\t\t}\n\t});\n}\n//#endregion\nexport { errorDataTransformContractMismatch, errorMigrationFileMissing, errorMigrationInvalidDefaultExport, errorMigrationPlanNotArray, errorMigrationTargetMismatch, errorUnfilledPlaceholder, placeholder };\n\n//# sourceMappingURL=migration.mjs.map"],"mappings":";;;;;;;;;AASA,SAAS,yBAAyB,MAAM;CACvC,OAAO,IAAI,mBAAmB,kCAAkC,kCAAkC;EACjG,KAAK,qEAAqE;EAC1E,KAAK;EACL,MAAM,EAAE,KAAK;CACd,CAAC;AACF;;;;;;;;;;AAUA,SAAS,YAAY,MAAM;CAC1B,MAAM,yBAAyB,IAAI;AACpC;;;;;;;;;;;;;AAaA,SAAS,mCAAmC,SAAS;CACpD,OAAO,IAAI,mBAAmB,8CAA8C,yDAAyD;EACpI,KAAK,mBAAmB,QAAQ,kBAAkB,8CAA8C,QAAQ,OAAO,6CAA6C,QAAQ,SAAS;EAC7K,KAAK;EACL,MAAM;GACL,mBAAmB,QAAQ;GAC3B,UAAU,QAAQ;GAClB,QAAQ,QAAQ;EACjB;CACD,CAAC;AACF;;;;;;AAMA,SAAS,0BAA0B,KAAK;CACvC,OAAO,IAAI,mBAAmB,0BAA0B,0BAA0B;EACjF,KAAK,sCAAsC,IAAI;EAC/C,KAAK;EACL,aAAa,CAAC;GACb,MAAM;GACN,OAAO;GACP,SAAS;EACV,GAAG;GACF,MAAM;GACN,OAAO;GACP,SAAS;EACV,CAAC;EACD,MAAM,EAAE,IAAI;CACb,CAAC;AACF;;;;;;;;;;AAUA,SAAS,mCAAmC,KAAK,yBAAyB;CACzE,OAAO,IAAI,mBAAmB,oCAAoC,wDAAwD;EACzH,KAAK,4BAA4B,KAAK,IAAI,oBAAoB,IAAI,gHAAgH,4BAA4B,oBAAoB,IAAI;EACtO,KAAK;EACL,MAAM;GACL;GACA,GAAG,4BAA4B,KAAK,IAAI,EAAE,cAAc,wBAAwB,IAAI,CAAC;EACtF;CACD,CAAC;AACF;;;;;;;;;AASA,SAAS,6BAA6B,SAAS;CAC9C,OAAO,IAAI,mBAAmB,6BAA6B,iDAAiD;EAC3G,KAAK,iCAAiC,QAAQ,kBAAkB,qDAAqD,QAAQ,eAAe;EAC5I,KAAK;EACL,MAAM;GACL,mBAAmB,QAAQ;GAC3B,gBAAgB,QAAQ;EACzB;CACD,CAAC;AACF;;;;;AAKA,SAAS,2BAA2B,KAAK,wBAAwB;CAChE,OAAO,IAAI,mBAAmB,4BAA4B,uDAAuD;EAChH,KAAK,2BAA2B,KAAK,IAAI,6CAA6C,IAAI,QAAQ,uBAAuB,yCAAyC,6CAA6C,IAAI;EACnN,KAAK;EACL,MAAM;GACL;GACA,GAAG,2BAA2B,KAAK,IAAI,EAAE,aAAa,uBAAuB,IAAI,CAAC;EACnF;CACD,CAAC;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as CliStructuredError } from "./control-
|
|
1
|
+
import { r as CliStructuredError } from "./control-DxiV2F-o-BYFWr0js.mjs";
|
|
2
2
|
//#region ../../../1-framework/1-core/errors/dist/migration.d.mts
|
|
3
3
|
//#region src/migration.d.ts
|
|
4
4
|
/**
|
|
@@ -71,4 +71,4 @@ declare function errorMigrationTargetMismatch(options: {
|
|
|
71
71
|
declare function errorMigrationPlanNotArray(dir: string, actualValueDescription?: string): CliStructuredError;
|
|
72
72
|
//#endregion
|
|
73
73
|
export { errorMigrationTargetMismatch as a, errorMigrationPlanNotArray as i, errorMigrationFileMissing as n, errorUnfilledPlaceholder as o, errorMigrationInvalidDefaultExport as r, placeholder as s, errorDataTransformContractMismatch as t };
|
|
74
|
-
//# sourceMappingURL=migration-
|
|
74
|
+
//# sourceMappingURL=migration-D4svpE2x.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-
|
|
1
|
+
{"version":3,"file":"migration-D4svpE2x.d.mts","names":[],"sources":["../../../../1-framework/1-core/errors/dist/migration.d.mts"],"mappings":";;;;;;;;;;iBASiB,yBAAyB,eAAe;;;;;;;;;;iBAUxC,YAAY;;;;;;;;;;;;;iBAaZ,mCAAmC;WACzC;WACA;WACA;IACP;;;;;;iBAMa,0BAA0B,cAAc;;;;;;;;;;iBAUxC,mCAAmC,aAAa,mCAAmC;;;;;;;;;iBASnF,6BAA6B;WACnC;WACA;IACP;;;;;iBAKa,2BAA2B,aAAa,kCAAkC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import "./psl-ast-
|
|
4
|
-
import { r as ContractSourceDiagnostic } from "./config-types-
|
|
1
|
+
import { ct as PslSpan } from "./framework-authoring-Co1079uY-BbMaaDFN.mjs";
|
|
2
|
+
import { ht as TaggedLiteralCanonicalization } from "./control-Drb1PraC.mjs";
|
|
3
|
+
import "./psl-ast-B4EnAqNe.mjs";
|
|
4
|
+
import { r as ContractSourceDiagnostic } from "./config-types-BO7wmV7m.mjs";
|
|
5
5
|
import { n as TokenKind, t as Token } from "./tokenizer-DcYI0Xrq-C-nNE9mE.mjs";
|
|
6
6
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/parse-5HXALb4y.d.mts
|
|
7
7
|
//#region src/syntax/syntax-kind.d.ts
|
|
@@ -489,4 +489,4 @@ interface ParseOptions {
|
|
|
489
489
|
declare function parse(source: string, filename: string, options?: ParseOptions): ParseResult;
|
|
490
490
|
//#endregion
|
|
491
491
|
export { castExpression as $, ObjectFieldAst as A, Range as B, KeyValuePairAst as C, NamespaceDeclarationAst as D, NamedTypeDeclarationAst as E, Position as F, SyntaxKind as G, StringLiteralExprAst as H, PslDiagnostic as I, TaggedLiteralExprAst as J, SyntaxNode as K, PslDiagnosticCollector as L, ParseDiagnostic as M, ParseOptions as N, NamespaceMemberAst as O, ParseResult as P, any as Q, PslSources as R, IdentifierAst as S, ModelDeclarationAst as T, StringLiteralQuote as U, SourceFile as V, SyntaxElement as W, TypeAnnotationAst as X, TokenAtOffset as Y, TypesBlockAst as Z, GenericBlockDeclarationAst as _, AttributeAst as a, findChildToken as at, GreenNode as b, BracedBlock as c, greenToken as ct, DiagnosticSource as d, printSyntax as dt, createPslDiagnosticCollector as et, DocumentAst as f, FunctionCallAst as g, FieldDeclarationAst as h, AttributeArgListAst as i, filterChildren as it, ObjectLiteralExprAst as j, NumberLiteralExprAst as k, CompositeTypeDeclarationAst as l, mapPslDiagnostics as lt, FieldAttributeAst as m, AstNode as n, diagnosticFromSpan as nt, BlockMemberAst as o, findFirstChild as ot, ExpressionAst as p, SyntaxToken as q, AttributeArgAst as r, diagnosticSource as rt, BooleanLiteralExprAst as s, greenNode as st, ArrayLiteralAst as t, createSyntaxTree as tt, DeclarationAst as u, parse as ut, GenericBlockMemberAst as v, ModelAttributeAst as w, GreenToken as x, GreenElement as y, QualifiedNameAst as z };
|
|
492
|
-
//# sourceMappingURL=parse-5HXALb4y-
|
|
492
|
+
//# sourceMappingURL=parse-5HXALb4y-DqeDMhhu.d.mts.map
|