@prisma/orm-framework 8.0.0-rc.11-dev.41 → 8.0.0-rc.11-dev.43

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 (109) hide show
  1. package/dist/authoring-BAkAELU9.d.mts +1 -0
  2. package/dist/{codec-DgHW_ymr.d.mts → codec-CNyDiibx.d.mts} +5 -5
  3. package/dist/{codec-DgHW_ymr.d.mts.map → codec-CNyDiibx.d.mts.map} +1 -1
  4. package/dist/{codec-DWYH-Ra4.mjs → codec-Dn37lyN3.mjs} +12 -3
  5. package/dist/codec-Dn37lyN3.mjs.map +1 -0
  6. package/dist/{codec-types-kYJyrqbr-Svq8WsGL.d.mts → codec-types-CUHzY47p-BGExkYMT.d.mts} +80 -7
  7. package/dist/codec-types-CUHzY47p-BGExkYMT.d.mts.map +1 -0
  8. package/dist/{components-Ba7BbT88.d.mts → components-mjP-NiPI.d.mts} +4 -4
  9. package/dist/{components-Ba7BbT88.d.mts.map → components-mjP-NiPI.d.mts.map} +1 -1
  10. package/dist/components.d.mts +15 -15
  11. package/dist/components.mjs +5 -5
  12. package/dist/components__authoring.d.mts +3 -3
  13. package/dist/components__authoring.mjs +2 -2
  14. package/dist/components__codec.d.mts +3 -3
  15. package/dist/components__codec.mjs +3 -3
  16. package/dist/components__components.d.mts +3 -3
  17. package/dist/components__control.d.mts +3 -3
  18. package/dist/components__control.mjs +2 -2
  19. package/dist/components__emission.d.mts +3 -3
  20. package/dist/components__execution.d.mts +1 -1
  21. package/dist/components__psl-ast.d.mts +3 -3
  22. package/dist/components__runtime.d.mts +1 -1
  23. package/dist/{config-types-B-iTeXpN.d.mts → config-types-BO7wmV7m.d.mts} +9 -7
  24. package/dist/config-types-BO7wmV7m.d.mts.map +1 -0
  25. package/dist/{config-types-D_UCRNbm.mjs → config-types-BZjCZ4qx.mjs} +2 -2
  26. package/dist/config-types-BZjCZ4qx.mjs.map +1 -0
  27. package/dist/config.d.mts +1 -1
  28. package/dist/config.mjs +1 -1
  29. package/dist/config__config-types.d.mts +1 -1
  30. package/dist/config__config-types.mjs +1 -1
  31. package/dist/contract-authoring.d.mts +3 -3
  32. package/dist/contract-authoring.mjs +1 -1
  33. package/dist/{control-Dqz1O00q-CNy6vLdH.mjs → control-DF8jHnId-DtQyLTBV.mjs} +6 -6
  34. package/dist/control-DF8jHnId-DtQyLTBV.mjs.map +1 -0
  35. package/dist/{control-B0PqMgKg.d.mts → control-Drb1PraC.d.mts} +54 -8
  36. package/dist/{control-B0PqMgKg.d.mts.map → control-Drb1PraC.d.mts.map} +1 -1
  37. package/dist/{control-tJzRbhcm-FZPs7pf9.d.mts → control-DxiV2F-o-BYFWr0js.d.mts} +3 -3
  38. package/dist/{control-tJzRbhcm-FZPs7pf9.d.mts.map → control-DxiV2F-o-BYFWr0js.d.mts.map} +1 -1
  39. package/dist/{control-Bg1GXcqy.mjs → control-GHcHV_wC.mjs} +121 -14
  40. package/dist/control-GHcHV_wC.mjs.map +1 -0
  41. package/dist/{declarations-SwNXosDu-D39d5EQ-.mjs → declarations-SwNXosDu-CmiTwvc9.mjs} +2 -2
  42. package/dist/{declarations-SwNXosDu-D39d5EQ-.mjs.map → declarations-SwNXosDu-CmiTwvc9.mjs.map} +1 -1
  43. package/dist/emission-CjBzhxw9.d.mts +2 -0
  44. package/dist/{emission-types-x7JU6FRk-DEDfBxIG.d.mts → emission-types-DNZaV1ZD-m0p3ggXz.d.mts} +4 -4
  45. package/dist/{emission-types-x7JU6FRk-DEDfBxIG.d.mts.map → emission-types-DNZaV1ZD-m0p3ggXz.d.mts.map} +1 -1
  46. package/dist/errors.d.mts +3 -3
  47. package/dist/errors.mjs +3 -3
  48. package/dist/errors__control.d.mts +1 -1
  49. package/dist/errors__control.mjs +1 -1
  50. package/dist/errors__execution.d.mts +1 -1
  51. package/dist/errors__execution.mjs +1 -1
  52. package/dist/errors__migration.d.mts +1 -1
  53. package/dist/errors__migration.mjs +1 -1
  54. package/dist/{execution-CzKkooKs.d.mts → execution-DAbEHe-I.d.mts} +3 -3
  55. package/dist/{execution-CzKkooKs.d.mts.map → execution-DAbEHe-I.d.mts.map} +1 -1
  56. package/dist/{execution-BRNA-BjF.mjs → execution-DBMzfziV.mjs} +2 -2
  57. package/dist/{execution-BRNA-BjF.mjs.map → execution-DBMzfziV.mjs.map} +1 -1
  58. package/dist/{execution-BFMcFLtU.d.mts → execution-DbBow4tN.d.mts} +2 -2
  59. package/dist/{execution-BFMcFLtU.d.mts.map → execution-DbBow4tN.d.mts.map} +1 -1
  60. package/dist/{framework-authoring-BvxZnsPY-DlD1nwU5.mjs → framework-authoring-CJMqNFpW-zTV9yCxx.mjs} +18 -3
  61. package/dist/framework-authoring-CJMqNFpW-zTV9yCxx.mjs.map +1 -0
  62. package/dist/{framework-authoring-3NOnOdDj-D1fs_v7v.d.mts → framework-authoring-Co1079uY-BbMaaDFN.d.mts} +163 -5
  63. package/dist/framework-authoring-Co1079uY-BbMaaDFN.d.mts.map +1 -0
  64. package/dist/{framework-components-Bjrri0MO-B8scNd0G.d.mts → framework-components-5NDIE2bw-BEUhp0I_.d.mts} +13 -103
  65. package/dist/framework-components-5NDIE2bw-BEUhp0I_.d.mts.map +1 -0
  66. package/dist/ids.d.mts +1 -1
  67. package/dist/{migration-xidzvvbN.mjs → migration-B-vxpJrb.mjs} +2 -2
  68. package/dist/{migration-xidzvvbN.mjs.map → migration-B-vxpJrb.mjs.map} +1 -1
  69. package/dist/{migration-BLWAkEWP.d.mts → migration-D4svpE2x.d.mts} +2 -2
  70. package/dist/{migration-BLWAkEWP.d.mts.map → migration-D4svpE2x.d.mts.map} +1 -1
  71. package/dist/{parse-5HXALb4y-B4NflAYD.d.mts → parse-5HXALb4y-DqeDMhhu.d.mts} +5 -5
  72. package/dist/{parse-5HXALb4y-B4NflAYD.d.mts.map → parse-5HXALb4y-DqeDMhhu.d.mts.map} +1 -1
  73. package/dist/{parse-Cu6B62PC-BAPPRuso.mjs → parse-Cu6B62PC-Cn_Sj_oR.mjs} +2 -2
  74. package/dist/{parse-Cu6B62PC-BAPPRuso.mjs.map → parse-Cu6B62PC-Cn_Sj_oR.mjs.map} +1 -1
  75. package/dist/{psl-ast-CYAtex8A.d.mts → psl-ast-B4EnAqNe.d.mts} +4 -4
  76. package/dist/{psl-ast-CYAtex8A.d.mts.map → psl-ast-B4EnAqNe.d.mts.map} +1 -1
  77. package/dist/{psl-ast-B2fz3C8J-ThGHYpLN.d.mts → psl-ast-COX_BDIK-Db5b89j9.d.mts} +4 -4
  78. package/dist/{psl-ast-B2fz3C8J-ThGHYpLN.d.mts.map → psl-ast-COX_BDIK-Db5b89j9.d.mts.map} +1 -1
  79. package/dist/psl-parser.d.mts +11 -10
  80. package/dist/psl-parser.d.mts.map +1 -1
  81. package/dist/psl-parser.mjs +3 -3
  82. package/dist/psl-parser.mjs.map +1 -1
  83. package/dist/psl-parser__format.mjs +2 -2
  84. package/dist/psl-parser__interpret.d.mts +3 -3
  85. package/dist/psl-parser__syntax.d.mts +1 -1
  86. package/dist/psl-parser__syntax.mjs +2 -2
  87. package/dist/psl-printer.d.mts +6 -6
  88. package/dist/psl-printer.mjs +1 -1
  89. package/dist/{resolve-codec-BLRGmP1f-CydhIhLP.mjs → resolve-codec-C13hn-14-DfFGo-7T.mjs} +30 -3
  90. package/dist/resolve-codec-C13hn-14-DfFGo-7T.mjs.map +1 -0
  91. package/dist/{runtime-TlGBi-DH.d.mts → runtime-BF7FbnSQ.d.mts} +2 -2
  92. package/dist/{runtime-TlGBi-DH.d.mts.map → runtime-BF7FbnSQ.d.mts.map} +1 -1
  93. package/dist/{symbol-table-CDtpZvfM-BFJgmN1_.d.mts → symbol-table-CDtpZvfM-CWLLXuSI.d.mts} +5 -5
  94. package/dist/{symbol-table-CDtpZvfM-BFJgmN1_.d.mts.map → symbol-table-CDtpZvfM-CWLLXuSI.d.mts.map} +1 -1
  95. package/dist/{types-import-spec-CzOtW57G-C3xwIiiM.d.mts → types-import-spec-fliHHCFF-B1yF0Xw3.d.mts} +3 -3
  96. package/dist/{types-import-spec-CzOtW57G-C3xwIiiM.d.mts.map → types-import-spec-fliHHCFF-B1yF0Xw3.d.mts.map} +1 -1
  97. package/package.json +15 -15
  98. package/dist/authoring-BQ6N2aqm.d.mts +0 -1
  99. package/dist/codec-DWYH-Ra4.mjs.map +0 -1
  100. package/dist/codec-types-kYJyrqbr-Svq8WsGL.d.mts.map +0 -1
  101. package/dist/config-types-B-iTeXpN.d.mts.map +0 -1
  102. package/dist/config-types-D_UCRNbm.mjs.map +0 -1
  103. package/dist/control-Bg1GXcqy.mjs.map +0 -1
  104. package/dist/control-Dqz1O00q-CNy6vLdH.mjs.map +0 -1
  105. package/dist/emission-CPJf0TyD.d.mts +0 -2
  106. package/dist/framework-authoring-3NOnOdDj-D1fs_v7v.d.mts.map +0 -1
  107. package/dist/framework-authoring-BvxZnsPY-DlD1nwU5.mjs.map +0 -1
  108. package/dist/framework-components-Bjrri0MO-B8scNd0G.d.mts.map +0 -1
  109. package/dist/resolve-codec-BLRGmP1f-CydhIhLP.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"psl-parser.mjs","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/index.mjs"],"sourcesContent":["import { A as printSyntax, S as TaggedLiteralExprAst, T as IdentifierAst, _ as FunctionCallAst, b as ObjectLiteralExprAst, c as NamespaceDeclarationAst, g as BooleanLiteralExprAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, m as ArrayLiteralAst, o as ModelDeclarationAst, t as CompositeTypeDeclarationAst, v as NumberLiteralExprAst, x as StringLiteralExprAst } from \"./declarations-SwNXosDu.mjs\";\nimport { i as mapPslDiagnostics, n as diagnosticFromSpan, r as diagnosticSource, t as createPslDiagnosticCollector } from \"./diagnostic-Esyl8Qw1.mjs\";\nimport { UNSPECIFIED_PSL_NAMESPACE_ID, flatPslModels, makePslNamespace, makePslNamespaceEntries, namespacePslExtensionBlocks, validateExtensionBlock } from \"@internal/framework-components/psl-ast\";\nimport { isAuthoringModelAttributeDescriptor, isAuthoringPslBlockDescriptor } from \"@internal/framework-components/authoring\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/attribute-helpers.ts\nfunction getPositionalArgument(attribute, index = 0) {\n\treturn attribute.args.filter((arg) => arg.kind === \"positional\")[index]?.value;\n}\nfunction parseQuotedStringLiteral(value) {\n\tconst match = value.trim().match(/^(['\"])(.*)\\1$/);\n\tif (!match) return void 0;\n\treturn match[2] ?? \"\";\n}\n//#endregion\n//#region src/attribute-spec/assemble.ts\nfunction* modelAttributeDescriptors(namespace) {\n\tfor (const value of Object.values(namespace)) {\n\t\tif (isAuthoringModelAttributeDescriptor(value)) {\n\t\t\tyield value;\n\t\t\tcontinue;\n\t\t}\n\t\tyield* modelAttributeDescriptors(value);\n\t}\n}\nfunction assembleAttributeSpecs(contributions) {\n\tconst entries = Object.entries(contributions.attributeSpecs.model);\n\tconst claimed = new Set(entries.map(([attribute]) => attribute));\n\tfor (const descriptor of modelAttributeDescriptors(contributions.modelAttributes)) {\n\t\tif (claimed.has(descriptor.attribute)) throw new InternalError(`Duplicate attribute spec registration for \"${descriptor.attribute}\". Each model attribute name may be registered once across family built-ins and model-attribute descriptors.`);\n\t\tclaimed.add(descriptor.attribute);\n\t\tentries.push([descriptor.attribute, descriptor.spec]);\n\t}\n\treturn Object.freeze(blindCast({\n\t\tmodel: Object.freeze(Object.fromEntries(entries)),\n\t\tfield: Object.freeze({ ...contributions.attributeSpecs.field })\n\t}));\n}\n//#endregion\n//#region src/attribute-spec/block-attribute.ts\nfunction blockAttribute(name, config) {\n\treturn {\n\t\tlevel: \"block\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/resolve.ts\nfunction readResolvedAttribute(attribute, sources) {\n\treturn {\n\t\tname: attributeName(attribute.name()),\n\t\targs: readResolvedArgList(attribute.argList(), sources),\n\t\tspan: nodePslSpan(attribute.syntax, sources)\n\t};\n}\nfunction readResolvedAttributes(attributes, sources) {\n\treturn Array.from(attributes, (attribute) => readResolvedAttribute(attribute, sources));\n}\nfunction readResolvedConstructorCall(annotation, sources) {\n\tconst argList = annotation?.argList();\n\tif (annotation === void 0 || argList === void 0) return void 0;\n\treturn {\n\t\tpath: annotation.name()?.path() ?? [],\n\t\targs: readResolvedArgList(argList, sources),\n\t\tspan: nodePslSpan(annotation.syntax, sources)\n\t};\n}\nfunction readResolvedArgList(argList, sources) {\n\tif (argList === void 0) return [];\n\tconst args = [];\n\tfor (const arg of argList.args()) {\n\t\tconst name = arg.name()?.name();\n\t\tconst expression = arg.value();\n\t\targs.push({\n\t\t\tkind: name !== void 0 ? \"named\" : \"positional\",\n\t\t\t...name !== void 0 ? { name } : {},\n\t\t\tvalue: renderExpression(expression),\n\t\t\t...expression !== void 0 ? { expression } : {},\n\t\t\tspan: nodePslSpan(arg.syntax, sources)\n\t\t});\n\t}\n\treturn args;\n}\nfunction attributeName(name) {\n\treturn name?.path().join(\".\") ?? \"\";\n}\nfunction renderExpression(expression) {\n\tif (expression === void 0) return \"\";\n\treturn printSyntax(expression.syntax).trim();\n}\nfunction nodePslSpan(node, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + node.green.textLength;\n\treturn {\n\t\tstart: sourceFile.offsetToPslPosition(start),\n\t\tend: sourceFile.offsetToPslPosition(end)\n\t};\n}\n/** Unsupported-top-level-block diagnostics are anchored to the keyword token. */\nfunction keywordPslSpan(node, keyword, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + keyword.length;\n\treturn {\n\t\tstart: sourceFile.offsetToPslPosition(start),\n\t\tend: sourceFile.offsetToPslPosition(end)\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/diagnostic.ts\nconst ATTRIBUTE_DIAGNOSTIC_CODE = \"PSL_INVALID_ATTRIBUTE_SYNTAX\";\nfunction leafDiagnostic(ctx, node, message, code = ATTRIBUTE_DIAGNOSTIC_CODE) {\n\treturn {\n\t\tcode,\n\t\tmessage,\n\t\t...diagnosticSource(ctx.sources, node.syntax).at(nodePslSpan(node.syntax, ctx.sources))\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/bool.ts\nfunction bool() {\n\treturn {\n\t\tkind: \"bool\",\n\t\tlabel: \"boolean\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = BooleanLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst value = literal.value();\n\t\t\t\tif (value !== void 0) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a boolean literal\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/entity-ref.ts\nfunction entityRef() {\n\treturn {\n\t\tkind: \"entityRef\",\n\t\tlabel: \"model name\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst identifier = IdentifierAst.cast(arg.syntax);\n\t\t\tif (identifier === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a model name\")]);\n\t\t\tconst name = identifier.name();\n\t\t\tif (name === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a model name\")]);\n\t\t\treturn ok(name);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/field-ref.ts\nfunction parseFieldName(arg, ctx, model) {\n\tconst identifier = IdentifierAst.cast(arg.syntax);\n\tif (identifier === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a field name\")]);\n\tconst name = identifier.name();\n\tif (name === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a field name\")]);\n\tif (model !== void 0 && !Object.hasOwn(model.fields, name)) return notOk([leafDiagnostic(ctx, arg, `Field \"${name}\" does not exist on model \"${model.name}\"`)]);\n\treturn ok(name);\n}\nfunction fieldRef() {\n\treturn {\n\t\tkind: \"fieldRef\",\n\t\tlabel: \"field name\",\n\t\tparse: (arg, ctx) => parseFieldName(arg, ctx, ctx.selfModel)\n\t};\n}\nfunction referencedFieldRef() {\n\treturn {\n\t\tkind: \"referencedFieldRef\",\n\t\tlabel: \"field name\",\n\t\tparse: (arg, ctx) => parseFieldName(arg, ctx, ctx.resolveReferencedModel())\n\t};\n}\n//#endregion\n//#region src/attribute-spec/interpret.ts\nfunction interpretArgs(args, spec, ctx, span, sourceNode) {\n\tconst diagnostics = [];\n\tconst output = {};\n\tconst seen = /* @__PURE__ */ new Set();\n\tlet positionalSlot = 0;\n\tlet reportedExcess = false;\n\tfor (const arg of args) {\n\t\tconst name = arg.name()?.name();\n\t\tlet key;\n\t\tlet param;\n\t\tif (name === void 0) {\n\t\t\tconst posParam = spec.positional[positionalSlot];\n\t\t\tif (posParam === void 0) {\n\t\t\t\tif (!reportedExcess) {\n\t\t\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received too many positional arguments`, ctx, span, sourceNode));\n\t\t\t\t\treportedExcess = true;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tpositionalSlot += 1;\n\t\t\tkey = posParam.key;\n\t\t\tparam = posParam.type;\n\t\t} else {\n\t\t\tconst namedParam = Object.hasOwn(spec.named, name) ? spec.named[name] : void 0;\n\t\t\tif (namedParam === void 0) {\n\t\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received unknown argument \"${name}\"`, ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tkey = name;\n\t\t\tparam = namedParam.type;\n\t\t}\n\t\tif (seen.has(key)) {\n\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received duplicate argument \"${key}\"`, ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax));\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(key);\n\t\tconst result = parseArgValue(arg, param, ctx, diagnostics);\n\t\tif (result.ok) output[key] = result.value;\n\t}\n\tconst finalized = /* @__PURE__ */ new Set();\n\tconst finalizeAbsentKey = (key, positionalParam, namedParam) => {\n\t\tif (finalized.has(key) || seen.has(key)) return;\n\t\tfinalized.add(key);\n\t\tconst effective = namedParam ?? positionalParam;\n\t\tif (effective === void 0) return;\n\t\tif (isOptionalArgType(effective)) {\n\t\t\tif (effective.hasDefault) output[key] = effective.defaultValue;\n\t\t\treturn;\n\t\t}\n\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" is missing required argument \"${key}\"`, ctx, span, sourceNode));\n\t};\n\tfor (const param of spec.positional) {\n\t\tconst namedParam = Object.hasOwn(spec.named, param.key) ? spec.named[param.key] : void 0;\n\t\tfinalizeAbsentKey(param.key, param.type, namedParam?.type);\n\t}\n\tfor (const key of Object.keys(spec.named)) finalizeAbsentKey(key, void 0, spec.named[key]?.type);\n\tif (diagnostics.length > 0) return notOk(diagnostics);\n\treturn ok(output);\n}\nfunction interpretAttribute(attrNode, spec, ctx) {\n\tconst attributeSpan = nodePslSpan(attrNode.syntax, ctx.sources);\n\tconst bound = interpretArgs(attrNode.argList()?.args() ?? [], spec, ctx, attributeSpan, attrNode.syntax);\n\tif (!bound.ok) return notOk(bound.failure);\n\tconst value = blindCast(bound.value);\n\tif (spec.refine !== void 0) {\n\t\tconst refineDiagnostics = spec.refine(value, ctx, attrNode);\n\t\tif (refineDiagnostics.length > 0) return notOk(refineDiagnostics);\n\t}\n\treturn ok(value);\n}\nfunction parseArgValue(arg, argType, ctx, diagnostics) {\n\tconst value = arg.value();\n\tif (value === void 0) {\n\t\tconst missing = diagnostic(\"Attribute argument is missing a value\", ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax);\n\t\tdiagnostics.push(missing);\n\t\treturn notOk([missing]);\n\t}\n\tconst result = argType.parse(value, ctx);\n\tif (!result.ok) for (const failure of result.failure) diagnostics.push(failure);\n\treturn result;\n}\nfunction isOptionalArgType(param) {\n\treturn \"optional\" in param && param.optional === true;\n}\nfunction diagnostic(message, ctx, span, sourceNode) {\n\treturn {\n\t\tcode: ATTRIBUTE_DIAGNOSTIC_CODE,\n\t\tmessage,\n\t\t...diagnosticSource(ctx.sources, sourceNode).at(span)\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/func-call.ts\nfunction funcCall(name, sig) {\n\treturn {\n\t\tkind: \"funcCall\",\n\t\tlabel: `${name}()`,\n\t\tname,\n\t\tsignature: sig,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst guard = matchCallee(arg, name, ctx);\n\t\t\tif (!guard.ok) return guard;\n\t\t\tconst span = nodePslSpan(guard.value.syntax, ctx.sources);\n\t\t\tconst bound = interpretArgs(guard.value.args(), {\n\t\t\t\tname,\n\t\t\t\tpositional: sig.positional ?? [],\n\t\t\t\tnamed: sig.named ?? {}\n\t\t\t}, ctx, span, guard.value.syntax);\n\t\t\tif (!bound.ok) return notOk(bound.failure);\n\t\t\treturn ok({\n\t\t\t\tfn: name,\n\t\t\t\tspan,\n\t\t\t\targs: bound.value\n\t\t\t});\n\t\t}\n\t};\n}\nfunction matchCallee(arg, name, ctx) {\n\tconst call = FunctionCallAst.cast(arg.syntax);\n\tif (call === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tconst qname = call.name();\n\tif (qname === void 0 || qname.dot() !== void 0 || qname.colon() !== void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tconst calleeName = qname.identifier()?.token()?.text;\n\tif (calleeName === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tif (calleeName !== name) return notOk([leafDiagnostic(ctx, arg, `Expected ${name}()`)]);\n\treturn ok(call);\n}\n//#endregion\n//#region src/attribute-spec/combinators/identifier.ts\nfunction identifier(name, options) {\n\treturn {\n\t\tkind: \"identifier\",\n\t\tlabel: name,\n\t\tname,\n\t\tdocumentation: options.documentation,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst identifier = IdentifierAst.cast(arg.syntax);\n\t\t\tif (identifier !== void 0 && identifier.name() === name) return ok(name);\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${name}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/int.ts\nfunction int(opts) {\n\tconst min = opts?.min;\n\tconst max = opts?.max;\n\treturn {\n\t\tkind: \"int\",\n\t\tlabel: \"integer\",\n\t\t...min === void 0 ? {} : { min },\n\t\t...max === void 0 ? {} : { max },\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst value = literal.value();\n\t\t\t\tif (value !== void 0 && Number.isInteger(value)) {\n\t\t\t\t\tif ((min === void 0 || value >= min) && (max === void 0 || value <= max)) return ok(value);\n\t\t\t\t\treturn notOk([leafDiagnostic(ctx, arg, rangeMessage(min, max))]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected an integer literal\")]);\n\t\t}\n\t};\n}\nfunction rangeMessage(min, max) {\n\tif (min !== void 0 && max !== void 0) return `Expected an integer between ${min} and ${max}`;\n\tif (min !== void 0) return `Expected an integer greater than or equal to ${min}`;\n\treturn `Expected an integer less than or equal to ${max}`;\n}\n//#endregion\n//#region src/attribute-spec/combinators/json.ts\n/**\n* Reads an opaque JSON object from a quoted JSON string — the ADR's one text-encoded surface\n* exception (e.g. an index `filter` / `weights` argument). The string is decoded by the parser,\n* then JSON-parsed; a non-object (array/scalar) or invalid JSON is a diagnostic.\n*/\nfunction json() {\n\treturn {\n\t\tkind: \"json\",\n\t\tlabel: \"JSON object\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a JSON object string\")]);\n\t\t\tconst raw = literal.value();\n\t\t\tif (raw !== void 0) try {\n\t\t\t\tconst parsed = JSON.parse(raw);\n\t\t\t\tif (typeof parsed === \"object\" && parsed !== null && !Array.isArray(parsed)) return ok(blindCast(parsed));\n\t\t\t} catch {}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a valid JSON object\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/list.ts\nfunction list(of, opts) {\n\tconst allowEmpty = opts?.allowEmpty ?? true;\n\tconst unique = opts?.unique ?? false;\n\treturn {\n\t\tkind: \"list\",\n\t\tlabel: `${of.label}[]`,\n\t\tof,\n\t\tallowEmpty,\n\t\tunique,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = ArrayLiteralAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, `Expected a list of ${of.label}`)]);\n\t\t\tconst diagnostics = [];\n\t\t\tconst parsed = [];\n\t\t\tlet count = 0;\n\t\t\tfor (const element of literal.elements()) {\n\t\t\t\tcount += 1;\n\t\t\t\tconst result = of.parse(element, ctx);\n\t\t\t\tif (result.ok) parsed.push({\n\t\t\t\t\tnode: element,\n\t\t\t\t\tvalue: result.value\n\t\t\t\t});\n\t\t\t\telse diagnostics.push(...result.failure);\n\t\t\t}\n\t\t\tif (!allowEmpty && count === 0) diagnostics.push(leafDiagnostic(ctx, arg, \"Expected a non-empty list\"));\n\t\t\tif (unique) {\n\t\t\t\tconst seen = /* @__PURE__ */ new Set();\n\t\t\t\tfor (const { node, value } of parsed) if (seen.has(value)) diagnostics.push(leafDiagnostic(ctx, node, \"Duplicate list entry\"));\n\t\t\t\telse seen.add(value);\n\t\t\t}\n\t\t\tif (diagnostics.length > 0) return notOk(diagnostics);\n\t\t\treturn ok(parsed.map((entry) => entry.value));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/num.ts\nfunction num(value) {\n\tif (value === void 0) return {\n\t\tkind: \"num\",\n\t\tlabel: \"number\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst parsed = literal.value();\n\t\t\t\tif (parsed !== void 0) return ok(parsed);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a number literal\")]);\n\t\t}\n\t};\n\treturn {\n\t\tkind: \"num\",\n\t\tlabel: String(value),\n\t\tvalue,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tif (literal.value() === value) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${value}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/num-literal.ts\n/** A number literal kept as its source text, for consumers that must not round it through a JS number. */\nfunction numLiteral() {\n\treturn {\n\t\tkind: \"num\",\n\t\tlabel: \"number\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst text = NumberLiteralExprAst.cast(arg.syntax)?.token()?.text;\n\t\t\tif (text !== void 0) return ok({ text });\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a number literal\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/one-of.ts\nfunction oneOf(...alts) {\n\tconst label = alts.map((alt) => alt.label).join(\" | \");\n\treturn {\n\t\tkind: \"oneOf\",\n\t\tlabel,\n\t\talternatives: alts,\n\t\tparse: (arg, ctx) => {\n\t\t\tfor (const alt of alts) {\n\t\t\t\tconst result = blindCast(alt.parse)(arg, ctx);\n\t\t\t\tif (result.ok) return ok(blindCast(result.value));\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected one of: ${label}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/record.ts\nfunction record(of) {\n\treturn {\n\t\tkind: \"record\",\n\t\tlabel: `{ [key]: ${of.label} }`,\n\t\tof,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = ObjectLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected an object literal\")]);\n\t\t\tconst diagnostics = [];\n\t\t\tconst entries = [];\n\t\t\tconst keys = /* @__PURE__ */ new Set();\n\t\t\tfor (const field of Array.from(literal.fields())) {\n\t\t\t\tconst key = field.keyName();\n\t\t\t\tif (key === void 0) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, \"Expected a key\"));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst value = field.value();\n\t\t\t\tif (value === void 0) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, `Expected a value for key \"${key}\"`));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parsed = of.parse(value, ctx);\n\t\t\t\tif (!parsed.ok) {\n\t\t\t\t\tdiagnostics.push(...parsed.failure);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (keys.has(key)) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, `Duplicate key \"${key}\"`));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tkeys.add(key);\n\t\t\t\tentries.push([key, parsed.value]);\n\t\t\t}\n\t\t\tif (diagnostics.length > 0) return notOk(diagnostics);\n\t\t\treturn ok(Object.fromEntries(entries));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/str.ts\nfunction str(value) {\n\tif (value === void 0) return {\n\t\tkind: \"str\",\n\t\tlabel: \"string\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst parsed = literal.value();\n\t\t\t\tif (parsed !== void 0) return ok(parsed);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a string literal\")]);\n\t\t}\n\t};\n\treturn {\n\t\tkind: \"str\",\n\t\tlabel: JSON.stringify(value),\n\t\tvalue,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tif (literal.value() === value) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${JSON.stringify(value)}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/tagged-literal.ts\n/**\n* A `` tag`...` ``, `tag\"...\"`, or `tag'...'` argument. `tags` and `documentation` describe the\n* registered tags for tooling; parsing accepts any tag.\n*/\nfunction taggedLiteral(tags, options) {\n\treturn {\n\t\tkind: \"taggedLiteral\",\n\t\tlabel: `${tags[0] ?? \"tag\"}\\`...\\``,\n\t\ttags,\n\t\tdocumentation: options.documentation,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = TaggedLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a tagged literal\")]);\n\t\t\treturn ok({\n\t\t\t\ttag: literal.tagName(),\n\t\t\t\tcanonicalization: literal.canonicalization(),\n\t\t\t\tspan: nodePslSpan(literal.syntax, ctx.sources)\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/field-attribute.ts\nfunction fieldAttribute(name, config) {\n\treturn {\n\t\tlevel: \"field\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/model-attribute.ts\nfunction modelAttribute(name, config) {\n\treturn {\n\t\tlevel: \"model\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/optional.ts\nfunction optional(type, ...rest) {\n\tif (rest.length === 0) return {\n\t\t...type,\n\t\toptional: true,\n\t\thasDefault: false\n\t};\n\treturn {\n\t\t...type,\n\t\toptional: true,\n\t\thasDefault: true,\n\t\tdefaultValue: rest[0]\n\t};\n}\n//#endregion\n//#region src/extension-block.ts\nfunction findBlockDescriptor(descriptors, keyword) {\n\tif (descriptors === void 0) return void 0;\n\tfor (const value of Object.values(descriptors)) {\n\t\tif (value === void 0) continue;\n\t\tif (isAuthoringPslBlockDescriptor(value)) {\n\t\t\tif (value.keyword === keyword) return value;\n\t\t\tcontinue;\n\t\t}\n\t\tconst nested = findBlockDescriptor(value, keyword);\n\t\tif (nested !== void 0) return nested;\n\t}\n}\nfunction validateExtensionBlockFromSymbol(input) {\n\tconst refCtx = buildRefResolutionContext(input.symbolTable, input.block);\n\treturn validateExtensionBlock(input.block.block, input.descriptor, input.sources.sourceFileFor(input.block.node.syntax).filename, input.codecLookup, refCtx).map((diagnostic) => diagnosticFromSpan(diagnostic, diagnosticSource(input.sources, input.block.node.syntax)));\n}\nconst ZERO_SPAN = {\n\tstart: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t},\n\tend: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t}\n};\nfunction buildRefResolutionContext(symbolTable, block) {\n\tconst unspecifiedNamespace = makeNamespace(UNSPECIFIED_PSL_NAMESPACE_ID, Object.values(symbolTable.topLevel.models));\n\tconst allNamespaces = [unspecifiedNamespace, ...Object.values(symbolTable.topLevel.namespaces).map((namespace) => makeNamespace(namespace.name, Object.values(namespace.models)))];\n\tconst ownerNamespaceName = findOwnerNamespaceName(symbolTable, block);\n\treturn {\n\t\townerNamespace: allNamespaces.find((namespace) => namespace.name === ownerNamespaceName) ?? unspecifiedNamespace,\n\t\tallNamespaces\n\t};\n}\nfunction makeNamespace(name, models) {\n\treturn makePslNamespace({\n\t\tkind: \"namespace\",\n\t\tname,\n\t\tentries: makePslNamespaceEntries(models.map((model) => ({\n\t\t\tkind: \"model\",\n\t\t\tname: model.name,\n\t\t\tfields: [],\n\t\t\tattributes: [],\n\t\t\tspan: ZERO_SPAN\n\t\t})), [], []),\n\t\tspan: ZERO_SPAN\n\t});\n}\nfunction findOwnerNamespaceName(symbolTable, block) {\n\tfor (const namespace of Object.values(symbolTable.topLevel.namespaces)) if (Object.values(namespace.blocks).some((candidate) => candidate === block)) return namespace.name;\n\treturn UNSPECIFIED_PSL_NAMESPACE_ID;\n}\n//#endregion\n//#region src/block-reconstruction.ts\n/**\n* Descriptor-free and unknown parameters become `value` stubs so validation can\n* report them via key-set comparison. Duplicate member names are first-wins.\n*/\nfunction reconstructExtensionBlock(node, descriptor, sources, diagnostics) {\n\tconst sourceFile = sources.sourceFileFor(node.syntax);\n\tconst keyword = node.keyword()?.text ?? \"\";\n\tconst blockName = node.name()?.name() ?? \"\";\n\tconst blockAttributes = [];\n\tconst attributes = {};\n\tconst seenAttributeNames = /* @__PURE__ */ new Set();\n\tfor (const attribute of node.attributes()) {\n\t\tconst name = attribute.name()?.path().join(\".\") ?? \"\";\n\t\tconst args = Array.from(attribute.argList()?.args() ?? [], (arg) => {\n\t\t\tconst value = arg.value();\n\t\t\treturn {\n\t\t\t\tkind: \"positional\",\n\t\t\t\tvalue: value === void 0 ? \"\" : printSyntax(value.syntax).trim(),\n\t\t\t\tspan: nodePslSpan(arg.syntax, sources)\n\t\t\t};\n\t\t});\n\t\tconst span = nodePslSpan(attribute.syntax, sources);\n\t\tblockAttributes.push({\n\t\t\tname,\n\t\t\targs,\n\t\t\tspan\n\t\t});\n\t\tif (descriptor === void 0) continue;\n\t\tconst parsed = parseBlockAttribute(attribute, name, span, descriptor, seenAttributeNames, keyword, blockName, sources);\n\t\tif (parsed.ok) attributes[name] = parsed.value;\n\t\telse diagnostics.push(...parsed.diagnostics);\n\t}\n\tconst parameters = {};\n\tfor (const entry of node.entries()) {\n\t\tconst key = entry.key()?.name();\n\t\tif (key === void 0) continue;\n\t\tconst span = nodePslSpan(entry.syntax, sources);\n\t\tif (Object.hasOwn(parameters, key)) {\n\t\t\tdiagnostics.push({\n\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\tcode: \"PSL_EXTENSION_DUPLICATE_PARAMETER\",\n\t\t\t\tmessage: `Duplicate parameter \"${key}\" in \"${keyword}\" block \"${blockName}\"; first occurrence wins`,\n\t\t\t\trange: {\n\t\t\t\t\tstart: sourceFile.positionAt(entry.syntax.offset),\n\t\t\t\t\tend: sourceFile.positionAt(entry.syntax.offset + entry.syntax.green.textLength)\n\t\t\t\t}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tparameters[key] = reconstructParamValue(entry, descriptor?.parameters[key], span, sources, diagnostics);\n\t}\n\treturn {\n\t\tkind: descriptor?.discriminator ?? keyword,\n\t\tkeyword,\n\t\tname: blockName,\n\t\tparameters,\n\t\tblockAttributes,\n\t\tattributes,\n\t\tspan: nodePslSpan(node.syntax, sources)\n\t};\n}\nfunction parseBlockAttribute(attribute, name, span, descriptor, seenNames, keyword, blockName, sources) {\n\tconst sourceFile = sources.sourceFileFor(attribute.syntax);\n\tconst range = sourceFile.pslSpanToRange(span);\n\tconst declared = descriptor.attributes ?? {};\n\tif (!Object.hasOwn(declared, name)) return {\n\t\tok: false,\n\t\tdiagnostics: [{\n\t\t\tfilename: sourceFile.filename,\n\t\t\tcode: \"PSL_EXTENSION_UNKNOWN_BLOCK_ATTRIBUTE\",\n\t\t\tmessage: `Unknown attribute \"@@${name}\" in \"${keyword}\" block \"${blockName}\"`,\n\t\t\trange\n\t\t}]\n\t};\n\tif (seenNames.has(name)) return {\n\t\tok: false,\n\t\tdiagnostics: [{\n\t\t\tfilename: sourceFile.filename,\n\t\t\tcode: \"PSL_INVALID_EXTENSION_BLOCK_ATTRIBUTE\",\n\t\t\tmessage: `Duplicate attribute \"@@${name}\" in \"${keyword}\" block \"${blockName}\"; first occurrence wins`,\n\t\t\trange\n\t\t}]\n\t};\n\tseenNames.add(name);\n\tconst result = interpretAttribute(attribute, blindCast(declared[name])(), { sources });\n\tif (!result.ok) return {\n\t\tok: false,\n\t\tdiagnostics: result.failure\n\t};\n\treturn {\n\t\tok: true,\n\t\tvalue: {\n\t\t\targs: result.value,\n\t\t\tspan\n\t\t}\n\t};\n}\nfunction reconstructParamValue(entry, param, span, sources, diagnostics) {\n\tconst value = entry.value();\n\tif (value === void 0) return {\n\t\tkind: \"bare\",\n\t\tspan\n\t};\n\treturn reconstructFromExpression(value, param, span, sources, diagnostics);\n}\nfunction reconstructFromExpression(value, param, span, sources, diagnostics) {\n\tconst raw = printSyntax(value.syntax).trim();\n\tif (param?.kind === \"list\") {\n\t\tconst sourceFile = sources.sourceFileFor(value.syntax);\n\t\tconst array = ArrayLiteralAst.cast(value.syntax);\n\t\tif (!array) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\tcode: \"PSL_EXTENSION_INVALID_VALUE\",\n\t\t\t\tmessage: `List parameter expects an array literal, got ${raw}`,\n\t\t\t\trange: {\n\t\t\t\t\tstart: sourceFile.positionAt(value.syntax.offset),\n\t\t\t\t\tend: sourceFile.positionAt(value.syntax.offset + value.syntax.green.textLength)\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tkind: \"value\",\n\t\t\t\traw,\n\t\t\t\tspan\n\t\t\t};\n\t\t}\n\t\tconst items = [];\n\t\tfor (const element of array.elements()) items.push(reconstructFromExpression(element, param.of, nodePslSpan(element.syntax, sources), sources, diagnostics));\n\t\treturn {\n\t\t\tkind: \"list\",\n\t\t\titems,\n\t\t\tspan\n\t\t};\n\t}\n\tswitch (param?.kind) {\n\t\tcase \"ref\": return {\n\t\t\tkind: \"ref\",\n\t\t\tidentifier: raw,\n\t\t\tspan\n\t\t};\n\t\tcase \"option\": return {\n\t\t\tkind: \"option\",\n\t\t\ttoken: raw,\n\t\t\tspan\n\t\t};\n\t\tdefault: return {\n\t\t\tkind: \"value\",\n\t\t\traw,\n\t\t\tspan\n\t\t};\n\t}\n}\n//#endregion\n//#region src/symbol-table.ts\n/**\n* Owns duplicate-declaration detection for all PSL scopes; downstream consumers\n* should consume first-wins symbols rather than re-emitting duplicate diagnostics.\n*/\nfunction buildSymbolTable(options) {\n\tconst { documents, sources, pslBlockDescriptors } = options;\n\tconst diagnostics = [];\n\tconst namespaces = Object.create(null);\n\tconst namedTypes = {};\n\tconst blocks = {};\n\tconst models = {};\n\tconst compositeTypes = {};\n\tconst topLevelNames = /* @__PURE__ */ new Set();\n\tfor (const document of documents) {\n\t\tconst sourceFile = sources.sourceFileFor(document.syntax);\n\t\tconst claim = (taken, name) => {\n\t\t\tconst text = name?.name();\n\t\t\tif (text === void 0) return void 0;\n\t\t\tif (taken.has(text)) {\n\t\t\t\tconst range = nameRange(name, sources);\n\t\t\t\tif (range) diagnostics.push({\n\t\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\t\tmessage: `Duplicate declaration of \"${text}\"`,\n\t\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\t\trange\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttaken.add(text);\n\t\t\treturn text;\n\t\t};\n\t\tfor (const declaration of document.declarations()) if (declaration instanceof ModelDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) models[name] = buildModel(name, declaration, sources, diagnostics);\n\t\t} else if (declaration instanceof CompositeTypeDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) compositeTypes[name] = buildCompositeType(name, declaration, sources, diagnostics);\n\t\t} else if (declaration instanceof GenericBlockDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) blocks[name] = buildBlock(name, declaration, sources, pslBlockDescriptors, diagnostics);\n\t\t} else if (declaration instanceof NamespaceDeclarationAst) {\n\t\t\tconst declaredName = declaration.name()?.name();\n\t\t\tif (declaredName === void 0) continue;\n\t\t\tlet namespace = namespaces[declaredName];\n\t\t\tif (namespace === void 0) {\n\t\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\t\tif (name === void 0) continue;\n\t\t\t\tnamespace = {\n\t\t\t\t\tkind: \"namespace\",\n\t\t\t\t\tname,\n\t\t\t\t\tdeclarations: [],\n\t\t\t\t\tmodels: Object.create(null),\n\t\t\t\t\tcompositeTypes: Object.create(null),\n\t\t\t\t\tblocks: Object.create(null)\n\t\t\t\t};\n\t\t\t\tnamespaces[name] = namespace;\n\t\t\t}\n\t\t\textendNamespace(namespace, declaration, diagnostics, sources, pslBlockDescriptors);\n\t\t} else if (declaration instanceof TypesBlockAst) for (const binding of declaration.declarations()) {\n\t\t\tconst name = claim(topLevelNames, binding.name());\n\t\t\tif (name === void 0) continue;\n\t\t\tconst resolved = resolveNamedTypeBinding(binding, sources);\n\t\t\tnamedTypes[name] = {\n\t\t\t\tkind: \"namedType\",\n\t\t\t\tname,\n\t\t\t\tnode: binding,\n\t\t\t\tspan: nodePslSpan(binding.syntax, sources),\n\t\t\t\t...resolved\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tsymbolTable: { topLevel: {\n\t\t\tnamespaces,\n\t\t\tnamedTypes,\n\t\t\tblocks,\n\t\t\tmodels,\n\t\t\tcompositeTypes\n\t\t} },\n\t\tdiagnostics\n\t};\n}\nfunction buildModel(name, node, sources, diagnostics) {\n\treturn {\n\t\tkind: \"model\",\n\t\tname,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tfields: buildFields(name, node.fields(), sources, diagnostics),\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction buildCompositeType(name, node, sources, diagnostics) {\n\treturn {\n\t\tkind: \"compositeType\",\n\t\tname,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tfields: buildFields(name, node.fields(), sources, diagnostics),\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction buildBlock(name, node, sources, pslBlockDescriptors, diagnostics) {\n\tconst keyword = node.keyword()?.text ?? \"\";\n\tconst descriptor = findBlockDescriptor(pslBlockDescriptors, keyword);\n\treturn {\n\t\tkind: \"block\",\n\t\tname,\n\t\tkeyword,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tblock: reconstructExtensionBlock(node, descriptor, sources, diagnostics)\n\t};\n}\nfunction extendNamespace(namespace, node, diagnostics, sources, pslBlockDescriptors) {\n\tconst { models, compositeTypes, blocks } = namespace;\n\tnamespace.declarations.push({\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources)\n\t});\n\tfor (const member of node.declarations()) {\n\t\tconst memberName = member.name()?.name();\n\t\tif (memberName === void 0) continue;\n\t\tif (Object.hasOwn(models, memberName) || Object.hasOwn(compositeTypes, memberName) || Object.hasOwn(blocks, memberName)) {\n\t\t\tconst range = nameRange(member.name(), sources);\n\t\t\tif (range) diagnostics.push({\n\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\tmessage: `Duplicate declaration of \"${memberName}\"`,\n\t\t\t\tfilename: sources.sourceFileFor(member.syntax).filename,\n\t\t\t\trange\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (member instanceof ModelDeclarationAst) models[memberName] = buildModel(memberName, member, sources, diagnostics);\n\t\telse if (member instanceof CompositeTypeDeclarationAst) compositeTypes[memberName] = buildCompositeType(memberName, member, sources, diagnostics);\n\t\telse if (member instanceof GenericBlockDeclarationAst) blocks[memberName] = buildBlock(memberName, member, sources, pslBlockDescriptors, diagnostics);\n\t}\n}\nfunction buildFields(ownerName, fields, sources, diagnostics) {\n\tconst result = {};\n\tfor (const field of fields) {\n\t\tconst nameNode = field.name();\n\t\tconst name = nameNode?.name();\n\t\tif (name === void 0) continue;\n\t\tif (Object.hasOwn(result, name)) {\n\t\t\tconst range = nameRange(nameNode, sources);\n\t\t\tif (range) diagnostics.push({\n\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\tmessage: `Duplicate declaration of \"${name}\"`,\n\t\t\t\tfilename: sources.sourceFileFor(field.syntax).filename,\n\t\t\t\trange\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tresult[name] = buildField(ownerName, name, field, sources, diagnostics);\n\t}\n\treturn result;\n}\nfunction buildField(ownerName, name, node, sources, diagnostics) {\n\tconst attributes = readResolvedAttributes(node.attributes(), sources);\n\tconst span = nodePslSpan(node.syntax, sources);\n\tconst annotation = node.typeAnnotation();\n\tconst typeName = annotation?.name();\n\tif (typeName?.isOverQualified()) {\n\t\tconst path = typeName.path();\n\t\tdiagnostics.push({\n\t\t\tcode: \"PSL_INVALID_QUALIFIED_TYPE\",\n\t\t\tmessage: `Field \"${ownerName}.${name}\" has an invalid qualified type \"${path.join(\".\")}\"; use at most one namespace qualifier (e.g. \"ns.TypeName\")`,\n\t\t\tfilename: sources.sourceFileFor(typeName.syntax).filename,\n\t\t\trange: nodeRange(typeName.syntax, sources)\n\t\t});\n\t\treturn {\n\t\t\tkind: \"field\",\n\t\t\tname,\n\t\t\tnode,\n\t\t\tspan,\n\t\t\ttypeName: path[path.length - 1] ?? \"\",\n\t\t\toptional: false,\n\t\t\tlist: false,\n\t\t\tmalformedType: true,\n\t\t\tattributes\n\t\t};\n\t}\n\tconst typeConstructor = annotation?.isConstructor() ? readResolvedConstructorCall(annotation, sources) : void 0;\n\tconst typeNamespaceId = typeName?.namespace()?.name();\n\tconst typeContractSpaceId = typeName?.space()?.name();\n\treturn {\n\t\tkind: \"field\",\n\t\tname,\n\t\tnode,\n\t\tspan,\n\t\ttypeName: typeName?.identifier()?.name() ?? \"\",\n\t\t...typeNamespaceId !== void 0 ? { typeNamespaceId } : {},\n\t\t...typeContractSpaceId !== void 0 ? { typeContractSpaceId } : {},\n\t\toptional: annotation?.isOptional() ?? false,\n\t\tlist: annotation?.isList() ?? false,\n\t\t...typeConstructor !== void 0 ? { typeConstructor } : {},\n\t\tattributes\n\t};\n}\nfunction resolveNamedTypeBinding(node, sources) {\n\tconst annotation = node.typeAnnotation();\n\tconst isConstructor = annotation?.isConstructor() ?? false;\n\tconst baseType = annotation?.name()?.identifier()?.name();\n\tconst typeConstructor = readResolvedConstructorCall(annotation, sources);\n\treturn {\n\t\tisConstructor,\n\t\t...!isConstructor && baseType !== void 0 ? { baseType } : {},\n\t\t...typeConstructor !== void 0 ? { typeConstructor } : {},\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction nameRange(name, sources) {\n\tif (name === void 0) return void 0;\n\tconst sourceFile = sources.sourceFileFor(name.syntax);\n\tfor (const token of name.syntax.tokens()) if (token.kind === \"Ident\") return {\n\t\tstart: sourceFile.positionAt(token.offset),\n\t\tend: sourceFile.positionAt(token.offset + token.text.length)\n\t};\n}\nfunction nodeRange(node, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + node.green.textLength;\n\treturn {\n\t\tstart: sourceFile.positionAt(start),\n\t\tend: sourceFile.positionAt(end)\n\t};\n}\n//#endregion\nexport { assembleAttributeSpecs, blockAttribute, bool, buildSymbolTable, createPslDiagnosticCollector, diagnosticFromSpan, diagnosticSource, entityRef, fieldAttribute, fieldRef, findBlockDescriptor, flatPslModels, funcCall, getPositionalArgument, identifier, int, interpretArgs, interpretAttribute, json, keywordPslSpan, leafDiagnostic, list, mapPslDiagnostics, modelAttribute, namespacePslExtensionBlocks, nodePslSpan, num, numLiteral, oneOf, optional, parseQuotedStringLiteral, readResolvedAttribute, readResolvedAttributes, readResolvedConstructorCall, record, referencedFieldRef, str, taggedLiteral, validateExtensionBlockFromSymbol };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"psl-parser.mjs","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/index.mjs"],"sourcesContent":["import { A as printSyntax, S as TaggedLiteralExprAst, T as IdentifierAst, _ as FunctionCallAst, b as ObjectLiteralExprAst, c as NamespaceDeclarationAst, g as BooleanLiteralExprAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, m as ArrayLiteralAst, o as ModelDeclarationAst, t as CompositeTypeDeclarationAst, v as NumberLiteralExprAst, x as StringLiteralExprAst } from \"./declarations-SwNXosDu.mjs\";\nimport { i as mapPslDiagnostics, n as diagnosticFromSpan, r as diagnosticSource, t as createPslDiagnosticCollector } from \"./diagnostic-Esyl8Qw1.mjs\";\nimport { UNSPECIFIED_PSL_NAMESPACE_ID, flatPslModels, makePslNamespace, makePslNamespaceEntries, namespacePslExtensionBlocks, validateExtensionBlock } from \"@internal/framework-components/psl-ast\";\nimport { isAuthoringModelAttributeDescriptor, isAuthoringPslBlockDescriptor } from \"@internal/framework-components/authoring\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/attribute-helpers.ts\nfunction getPositionalArgument(attribute, index = 0) {\n\treturn attribute.args.filter((arg) => arg.kind === \"positional\")[index]?.value;\n}\nfunction parseQuotedStringLiteral(value) {\n\tconst match = value.trim().match(/^(['\"])(.*)\\1$/);\n\tif (!match) return void 0;\n\treturn match[2] ?? \"\";\n}\n//#endregion\n//#region src/attribute-spec/assemble.ts\nfunction* modelAttributeDescriptors(namespace) {\n\tfor (const value of Object.values(namespace)) {\n\t\tif (isAuthoringModelAttributeDescriptor(value)) {\n\t\t\tyield value;\n\t\t\tcontinue;\n\t\t}\n\t\tyield* modelAttributeDescriptors(value);\n\t}\n}\nfunction assembleAttributeSpecs(contributions) {\n\tconst entries = Object.entries(contributions.attributeSpecs.model);\n\tconst claimed = new Set(entries.map(([attribute]) => attribute));\n\tfor (const descriptor of modelAttributeDescriptors(contributions.modelAttributes)) {\n\t\tif (claimed.has(descriptor.attribute)) throw new InternalError(`Duplicate attribute spec registration for \"${descriptor.attribute}\". Each model attribute name may be registered once across family built-ins and model-attribute descriptors.`);\n\t\tclaimed.add(descriptor.attribute);\n\t\tentries.push([descriptor.attribute, descriptor.spec]);\n\t}\n\treturn Object.freeze(blindCast({\n\t\tmodel: Object.freeze(Object.fromEntries(entries)),\n\t\tfield: Object.freeze({ ...contributions.attributeSpecs.field })\n\t}));\n}\n//#endregion\n//#region src/attribute-spec/block-attribute.ts\nfunction blockAttribute(name, config) {\n\treturn {\n\t\tlevel: \"block\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/resolve.ts\nfunction readResolvedAttribute(attribute, sources) {\n\treturn {\n\t\tname: attributeName(attribute.name()),\n\t\targs: readResolvedArgList(attribute.argList(), sources),\n\t\tspan: nodePslSpan(attribute.syntax, sources)\n\t};\n}\nfunction readResolvedAttributes(attributes, sources) {\n\treturn Array.from(attributes, (attribute) => readResolvedAttribute(attribute, sources));\n}\nfunction readResolvedConstructorCall(annotation, sources) {\n\tconst argList = annotation?.argList();\n\tif (annotation === void 0 || argList === void 0) return void 0;\n\treturn {\n\t\tpath: annotation.name()?.path() ?? [],\n\t\targs: readResolvedArgList(argList, sources),\n\t\tspan: nodePslSpan(annotation.syntax, sources)\n\t};\n}\nfunction readResolvedArgList(argList, sources) {\n\tif (argList === void 0) return [];\n\tconst args = [];\n\tfor (const arg of argList.args()) {\n\t\tconst name = arg.name()?.name();\n\t\tconst expression = arg.value();\n\t\targs.push({\n\t\t\tkind: name !== void 0 ? \"named\" : \"positional\",\n\t\t\t...name !== void 0 ? { name } : {},\n\t\t\tvalue: renderExpression(expression),\n\t\t\t...expression !== void 0 ? { expression } : {},\n\t\t\tspan: nodePslSpan(arg.syntax, sources)\n\t\t});\n\t}\n\treturn args;\n}\nfunction attributeName(name) {\n\treturn name?.path().join(\".\") ?? \"\";\n}\nfunction renderExpression(expression) {\n\tif (expression === void 0) return \"\";\n\treturn printSyntax(expression.syntax).trim();\n}\nfunction nodePslSpan(node, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + node.green.textLength;\n\treturn {\n\t\tstart: sourceFile.offsetToPslPosition(start),\n\t\tend: sourceFile.offsetToPslPosition(end)\n\t};\n}\n/** Unsupported-top-level-block diagnostics are anchored to the keyword token. */\nfunction keywordPslSpan(node, keyword, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + keyword.length;\n\treturn {\n\t\tstart: sourceFile.offsetToPslPosition(start),\n\t\tend: sourceFile.offsetToPslPosition(end)\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/diagnostic.ts\nconst ATTRIBUTE_DIAGNOSTIC_CODE = \"PSL_INVALID_ATTRIBUTE_SYNTAX\";\nfunction leafDiagnostic(ctx, node, message, code = ATTRIBUTE_DIAGNOSTIC_CODE) {\n\treturn {\n\t\tcode,\n\t\tmessage,\n\t\t...diagnosticSource(ctx.sources, node.syntax).at(nodePslSpan(node.syntax, ctx.sources))\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/bool.ts\nfunction bool() {\n\treturn {\n\t\tkind: \"bool\",\n\t\tlabel: \"boolean\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = BooleanLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst value = literal.value();\n\t\t\t\tif (value !== void 0) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a boolean literal\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/entity-ref.ts\nfunction entityRef() {\n\treturn {\n\t\tkind: \"entityRef\",\n\t\tlabel: \"model name\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst identifier = IdentifierAst.cast(arg.syntax);\n\t\t\tif (identifier === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a model name\")]);\n\t\t\tconst name = identifier.name();\n\t\t\tif (name === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a model name\")]);\n\t\t\treturn ok(name);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/field-ref.ts\nfunction parseFieldName(arg, ctx, model) {\n\tconst identifier = IdentifierAst.cast(arg.syntax);\n\tif (identifier === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a field name\")]);\n\tconst name = identifier.name();\n\tif (name === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a field name\")]);\n\tif (model !== void 0 && !Object.hasOwn(model.fields, name)) return notOk([leafDiagnostic(ctx, arg, `Field \"${name}\" does not exist on model \"${model.name}\"`)]);\n\treturn ok(name);\n}\nfunction fieldRef() {\n\treturn {\n\t\tkind: \"fieldRef\",\n\t\tlabel: \"field name\",\n\t\tparse: (arg, ctx) => parseFieldName(arg, ctx, ctx.selfModel)\n\t};\n}\nfunction referencedFieldRef() {\n\treturn {\n\t\tkind: \"referencedFieldRef\",\n\t\tlabel: \"field name\",\n\t\tparse: (arg, ctx) => parseFieldName(arg, ctx, ctx.resolveReferencedModel())\n\t};\n}\n//#endregion\n//#region src/attribute-spec/interpret.ts\nfunction interpretArgs(args, spec, ctx, span, sourceNode) {\n\tconst diagnostics = [];\n\tconst output = {};\n\tconst seen = /* @__PURE__ */ new Set();\n\tlet positionalSlot = 0;\n\tlet reportedExcess = false;\n\tfor (const arg of args) {\n\t\tconst name = arg.name()?.name();\n\t\tlet key;\n\t\tlet param;\n\t\tif (name === void 0) {\n\t\t\tconst posParam = spec.positional[positionalSlot];\n\t\t\tif (posParam === void 0) {\n\t\t\t\tif (!reportedExcess) {\n\t\t\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received too many positional arguments`, ctx, span, sourceNode));\n\t\t\t\t\treportedExcess = true;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tpositionalSlot += 1;\n\t\t\tkey = posParam.key;\n\t\t\tparam = posParam.type;\n\t\t} else {\n\t\t\tconst namedParam = Object.hasOwn(spec.named, name) ? spec.named[name] : void 0;\n\t\t\tif (namedParam === void 0) {\n\t\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received unknown argument \"${name}\"`, ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tkey = name;\n\t\t\tparam = namedParam.type;\n\t\t}\n\t\tif (seen.has(key)) {\n\t\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" received duplicate argument \"${key}\"`, ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax));\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(key);\n\t\tconst result = parseArgValue(arg, param, ctx, diagnostics);\n\t\tif (result.ok) output[key] = result.value;\n\t}\n\tconst finalized = /* @__PURE__ */ new Set();\n\tconst finalizeAbsentKey = (key, positionalParam, namedParam) => {\n\t\tif (finalized.has(key) || seen.has(key)) return;\n\t\tfinalized.add(key);\n\t\tconst effective = namedParam ?? positionalParam;\n\t\tif (effective === void 0) return;\n\t\tif (isOptionalArgType(effective)) {\n\t\t\tif (effective.hasDefault) output[key] = effective.defaultValue;\n\t\t\treturn;\n\t\t}\n\t\tdiagnostics.push(diagnostic(`Attribute \"${spec.name}\" is missing required argument \"${key}\"`, ctx, span, sourceNode));\n\t};\n\tfor (const param of spec.positional) {\n\t\tconst namedParam = Object.hasOwn(spec.named, param.key) ? spec.named[param.key] : void 0;\n\t\tfinalizeAbsentKey(param.key, param.type, namedParam?.type);\n\t}\n\tfor (const key of Object.keys(spec.named)) finalizeAbsentKey(key, void 0, spec.named[key]?.type);\n\tif (diagnostics.length > 0) return notOk(diagnostics);\n\treturn ok(output);\n}\nfunction interpretAttribute(attrNode, spec, ctx) {\n\tconst attributeSpan = nodePslSpan(attrNode.syntax, ctx.sources);\n\tconst bound = interpretArgs(attrNode.argList()?.args() ?? [], spec, ctx, attributeSpan, attrNode.syntax);\n\tif (!bound.ok) return notOk(bound.failure);\n\tconst value = blindCast(bound.value);\n\tif (spec.refine !== void 0) {\n\t\tconst refineDiagnostics = spec.refine(value, ctx, attrNode);\n\t\tif (refineDiagnostics.length > 0) return notOk(refineDiagnostics);\n\t}\n\treturn ok(value);\n}\nfunction parseArgValue(arg, argType, ctx, diagnostics) {\n\tconst value = arg.value();\n\tif (value === void 0) {\n\t\tconst missing = diagnostic(\"Attribute argument is missing a value\", ctx, nodePslSpan(arg.syntax, ctx.sources), arg.syntax);\n\t\tdiagnostics.push(missing);\n\t\treturn notOk([missing]);\n\t}\n\tconst result = argType.parse(value, ctx);\n\tif (!result.ok) for (const failure of result.failure) diagnostics.push(failure);\n\treturn result;\n}\nfunction isOptionalArgType(param) {\n\treturn \"optional\" in param && param.optional === true;\n}\nfunction diagnostic(message, ctx, span, sourceNode) {\n\treturn {\n\t\tcode: ATTRIBUTE_DIAGNOSTIC_CODE,\n\t\tmessage,\n\t\t...diagnosticSource(ctx.sources, sourceNode).at(span)\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/func-call.ts\nfunction funcCall(name, sig) {\n\treturn {\n\t\tkind: \"funcCall\",\n\t\tlabel: `${name}()`,\n\t\tname,\n\t\tsignature: sig,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst guard = matchCallee(arg, name, ctx);\n\t\t\tif (!guard.ok) return guard;\n\t\t\tconst span = nodePslSpan(guard.value.syntax, ctx.sources);\n\t\t\tconst bound = interpretArgs(guard.value.args(), {\n\t\t\t\tname,\n\t\t\t\tpositional: sig.positional ?? [],\n\t\t\t\tnamed: sig.named ?? {}\n\t\t\t}, ctx, span, guard.value.syntax);\n\t\t\tif (!bound.ok) return notOk(bound.failure);\n\t\t\treturn ok({\n\t\t\t\tfn: name,\n\t\t\t\tspan,\n\t\t\t\targs: bound.value\n\t\t\t});\n\t\t}\n\t};\n}\nfunction matchCallee(arg, name, ctx) {\n\tconst call = FunctionCallAst.cast(arg.syntax);\n\tif (call === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tconst qname = call.name();\n\tif (qname === void 0 || qname.dot() !== void 0 || qname.colon() !== void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tconst calleeName = qname.identifier()?.token()?.text;\n\tif (calleeName === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a function call\")]);\n\tif (calleeName !== name) return notOk([leafDiagnostic(ctx, arg, `Expected ${name}()`)]);\n\treturn ok(call);\n}\n//#endregion\n//#region src/attribute-spec/combinators/identifier.ts\nfunction identifier(name, options) {\n\treturn {\n\t\tkind: \"identifier\",\n\t\tlabel: name,\n\t\tname,\n\t\tdocumentation: options.documentation,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst identifier = IdentifierAst.cast(arg.syntax);\n\t\t\tif (identifier !== void 0 && identifier.name() === name) return ok(name);\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${name}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/int.ts\nfunction int(opts) {\n\tconst min = opts?.min;\n\tconst max = opts?.max;\n\treturn {\n\t\tkind: \"int\",\n\t\tlabel: \"integer\",\n\t\t...min === void 0 ? {} : { min },\n\t\t...max === void 0 ? {} : { max },\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst value = literal.value();\n\t\t\t\tif (value !== void 0 && Number.isInteger(value)) {\n\t\t\t\t\tif ((min === void 0 || value >= min) && (max === void 0 || value <= max)) return ok(value);\n\t\t\t\t\treturn notOk([leafDiagnostic(ctx, arg, rangeMessage(min, max))]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected an integer literal\")]);\n\t\t}\n\t};\n}\nfunction rangeMessage(min, max) {\n\tif (min !== void 0 && max !== void 0) return `Expected an integer between ${min} and ${max}`;\n\tif (min !== void 0) return `Expected an integer greater than or equal to ${min}`;\n\treturn `Expected an integer less than or equal to ${max}`;\n}\n//#endregion\n//#region src/attribute-spec/combinators/json.ts\n/**\n* Reads an opaque JSON object from a quoted JSON string — the ADR's one text-encoded surface\n* exception (e.g. an index `filter` / `weights` argument). The string is decoded by the parser,\n* then JSON-parsed; a non-object (array/scalar) or invalid JSON is a diagnostic.\n*/\nfunction json() {\n\treturn {\n\t\tkind: \"json\",\n\t\tlabel: \"JSON object\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a JSON object string\")]);\n\t\t\tconst raw = literal.value();\n\t\t\tif (raw !== void 0) try {\n\t\t\t\tconst parsed = JSON.parse(raw);\n\t\t\t\tif (typeof parsed === \"object\" && parsed !== null && !Array.isArray(parsed)) return ok(blindCast(parsed));\n\t\t\t} catch {}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a valid JSON object\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/list.ts\nfunction list(of, opts) {\n\tconst allowEmpty = opts?.allowEmpty ?? true;\n\tconst unique = opts?.unique ?? false;\n\treturn {\n\t\tkind: \"list\",\n\t\tlabel: opts?.label ?? `${of.label}[]`,\n\t\tof,\n\t\tallowEmpty,\n\t\tunique,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = ArrayLiteralAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, `Expected a list of ${of.label}`)]);\n\t\t\tconst diagnostics = [];\n\t\t\tconst parsed = [];\n\t\t\tlet count = 0;\n\t\t\tfor (const element of literal.elements()) {\n\t\t\t\tcount += 1;\n\t\t\t\tconst result = of.parse(element, ctx);\n\t\t\t\tif (result.ok) parsed.push({\n\t\t\t\t\tnode: element,\n\t\t\t\t\tvalue: result.value\n\t\t\t\t});\n\t\t\t\telse diagnostics.push(...result.failure);\n\t\t\t}\n\t\t\tif (!allowEmpty && count === 0) diagnostics.push(leafDiagnostic(ctx, arg, \"Expected a non-empty list\"));\n\t\t\tif (unique) {\n\t\t\t\tconst seen = /* @__PURE__ */ new Set();\n\t\t\t\tfor (const { node, value } of parsed) if (seen.has(value)) diagnostics.push(leafDiagnostic(ctx, node, \"Duplicate list entry\"));\n\t\t\t\telse seen.add(value);\n\t\t\t}\n\t\t\tif (diagnostics.length > 0) return notOk(diagnostics);\n\t\t\treturn ok(parsed.map((entry) => entry.value));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/num.ts\nfunction num(value) {\n\tif (value === void 0) return {\n\t\tkind: \"num\",\n\t\tlabel: \"number\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst parsed = literal.value();\n\t\t\t\tif (parsed !== void 0) return ok(parsed);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a number literal\")]);\n\t\t}\n\t};\n\treturn {\n\t\tkind: \"num\",\n\t\tlabel: String(value),\n\t\tvalue,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = NumberLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tif (literal.value() === value) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${value}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/num-literal.ts\n/** A number literal kept as its source text, for consumers that must not round it through a JS number. */\nfunction numLiteral() {\n\treturn {\n\t\tkind: \"num\",\n\t\tlabel: \"number\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst text = NumberLiteralExprAst.cast(arg.syntax)?.token()?.text;\n\t\t\tif (text !== void 0) return ok({ text });\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a number literal\")]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/one-of.ts\nfunction oneOf(...alts) {\n\tconst label = alts.map((alt) => alt.label).join(\" | \");\n\treturn {\n\t\tkind: \"oneOf\",\n\t\tlabel,\n\t\talternatives: alts,\n\t\tparse: (arg, ctx) => {\n\t\t\tfor (const alt of alts) {\n\t\t\t\tconst result = blindCast(alt.parse)(arg, ctx);\n\t\t\t\tif (result.ok) return ok(blindCast(result.value));\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected one of: ${label}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/record.ts\nfunction record(of) {\n\treturn {\n\t\tkind: \"record\",\n\t\tlabel: `{ [key]: ${of.label} }`,\n\t\tof,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = ObjectLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected an object literal\")]);\n\t\t\tconst diagnostics = [];\n\t\t\tconst entries = [];\n\t\t\tconst keys = /* @__PURE__ */ new Set();\n\t\t\tfor (const field of Array.from(literal.fields())) {\n\t\t\t\tconst key = field.keyName();\n\t\t\t\tif (key === void 0) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, \"Expected a key\"));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst value = field.value();\n\t\t\t\tif (value === void 0) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, `Expected a value for key \"${key}\"`));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parsed = of.parse(value, ctx);\n\t\t\t\tif (!parsed.ok) {\n\t\t\t\t\tdiagnostics.push(...parsed.failure);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (keys.has(key)) {\n\t\t\t\t\tdiagnostics.push(leafDiagnostic(ctx, field, `Duplicate key \"${key}\"`));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tkeys.add(key);\n\t\t\t\tentries.push([key, parsed.value]);\n\t\t\t}\n\t\t\tif (diagnostics.length > 0) return notOk(diagnostics);\n\t\t\treturn ok(Object.fromEntries(entries));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/str.ts\nfunction str(value) {\n\tif (value === void 0) return {\n\t\tkind: \"str\",\n\t\tlabel: \"string\",\n\t\tvalue: void 0,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tconst parsed = literal.value();\n\t\t\t\tif (parsed !== void 0) return ok(parsed);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, \"Expected a string literal\")]);\n\t\t}\n\t};\n\treturn {\n\t\tkind: \"str\",\n\t\tlabel: JSON.stringify(value),\n\t\tvalue,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = StringLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal !== void 0) {\n\t\t\t\tif (literal.value() === value) return ok(value);\n\t\t\t}\n\t\t\treturn notOk([leafDiagnostic(ctx, arg, `Expected ${JSON.stringify(value)}`)]);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/combinators/tagged-literal.ts\n/**\n* A `` tag`...` ``, `tag\"...\"`, or `tag'...'` argument. `tags` and `documentation` describe the\n* registered tags for tooling; parsing accepts any tag.\n*/\nfunction taggedLiteral(tags, options) {\n\treturn {\n\t\tkind: \"taggedLiteral\",\n\t\tlabel: `${tags[0] ?? \"tag\"}\\`...\\``,\n\t\ttags,\n\t\tdocumentation: options.documentation,\n\t\tparse: (arg, ctx) => {\n\t\t\tconst literal = TaggedLiteralExprAst.cast(arg.syntax);\n\t\t\tif (literal === void 0) return notOk([leafDiagnostic(ctx, arg, \"Expected a tagged literal\")]);\n\t\t\treturn ok({\n\t\t\t\ttag: literal.tagName(),\n\t\t\t\tcanonicalization: literal.canonicalization(),\n\t\t\t\tspan: nodePslSpan(literal.syntax, ctx.sources)\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/field-attribute.ts\nfunction fieldAttribute(name, config) {\n\treturn {\n\t\tlevel: \"field\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/model-attribute.ts\nfunction modelAttribute(name, config) {\n\treturn {\n\t\tlevel: \"model\",\n\t\tname,\n\t\tdocumentation: config.documentation,\n\t\tpositional: config.positional ?? [],\n\t\tnamed: config.named ?? {},\n\t\t...config.refine !== void 0 ? { refine: config.refine } : {}\n\t};\n}\n//#endregion\n//#region src/attribute-spec/optional.ts\nfunction optional(type, ...rest) {\n\tif (rest.length === 0) return {\n\t\t...type,\n\t\toptional: true,\n\t\thasDefault: false\n\t};\n\treturn {\n\t\t...type,\n\t\toptional: true,\n\t\thasDefault: true,\n\t\tdefaultValue: rest[0]\n\t};\n}\n//#endregion\n//#region src/extension-block.ts\nfunction findBlockDescriptor(descriptors, keyword) {\n\tif (descriptors === void 0) return void 0;\n\tfor (const value of Object.values(descriptors)) {\n\t\tif (value === void 0) continue;\n\t\tif (isAuthoringPslBlockDescriptor(value)) {\n\t\t\tif (value.keyword === keyword) return value;\n\t\t\tcontinue;\n\t\t}\n\t\tconst nested = findBlockDescriptor(value, keyword);\n\t\tif (nested !== void 0) return nested;\n\t}\n}\nfunction validateExtensionBlockFromSymbol(input) {\n\tconst refCtx = buildRefResolutionContext(input.symbolTable, input.block);\n\treturn validateExtensionBlock(input.block.block, input.descriptor, input.sources.sourceFileFor(input.block.node.syntax).filename, input.codecLookup, refCtx).map((diagnostic) => diagnosticFromSpan(diagnostic, diagnosticSource(input.sources, input.block.node.syntax)));\n}\nconst ZERO_SPAN = {\n\tstart: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t},\n\tend: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t}\n};\nfunction buildRefResolutionContext(symbolTable, block) {\n\tconst unspecifiedNamespace = makeNamespace(UNSPECIFIED_PSL_NAMESPACE_ID, Object.values(symbolTable.topLevel.models));\n\tconst allNamespaces = [unspecifiedNamespace, ...Object.values(symbolTable.topLevel.namespaces).map((namespace) => makeNamespace(namespace.name, Object.values(namespace.models)))];\n\tconst ownerNamespaceName = findOwnerNamespaceName(symbolTable, block);\n\treturn {\n\t\townerNamespace: allNamespaces.find((namespace) => namespace.name === ownerNamespaceName) ?? unspecifiedNamespace,\n\t\tallNamespaces\n\t};\n}\nfunction makeNamespace(name, models) {\n\treturn makePslNamespace({\n\t\tkind: \"namespace\",\n\t\tname,\n\t\tentries: makePslNamespaceEntries(models.map((model) => ({\n\t\t\tkind: \"model\",\n\t\t\tname: model.name,\n\t\t\tfields: [],\n\t\t\tattributes: [],\n\t\t\tspan: ZERO_SPAN\n\t\t})), [], []),\n\t\tspan: ZERO_SPAN\n\t});\n}\nfunction findOwnerNamespaceName(symbolTable, block) {\n\tfor (const namespace of Object.values(symbolTable.topLevel.namespaces)) if (Object.values(namespace.blocks).some((candidate) => candidate === block)) return namespace.name;\n\treturn UNSPECIFIED_PSL_NAMESPACE_ID;\n}\n//#endregion\n//#region src/block-reconstruction.ts\n/**\n* Descriptor-free and unknown parameters become `value` stubs so validation can\n* report them via key-set comparison. Duplicate member names are first-wins.\n*/\nfunction reconstructExtensionBlock(node, descriptor, sources, diagnostics) {\n\tconst sourceFile = sources.sourceFileFor(node.syntax);\n\tconst keyword = node.keyword()?.text ?? \"\";\n\tconst blockName = node.name()?.name() ?? \"\";\n\tconst blockAttributes = [];\n\tconst attributes = {};\n\tconst seenAttributeNames = /* @__PURE__ */ new Set();\n\tfor (const attribute of node.attributes()) {\n\t\tconst name = attribute.name()?.path().join(\".\") ?? \"\";\n\t\tconst args = Array.from(attribute.argList()?.args() ?? [], (arg) => {\n\t\t\tconst value = arg.value();\n\t\t\treturn {\n\t\t\t\tkind: \"positional\",\n\t\t\t\tvalue: value === void 0 ? \"\" : printSyntax(value.syntax).trim(),\n\t\t\t\tspan: nodePslSpan(arg.syntax, sources)\n\t\t\t};\n\t\t});\n\t\tconst span = nodePslSpan(attribute.syntax, sources);\n\t\tblockAttributes.push({\n\t\t\tname,\n\t\t\targs,\n\t\t\tspan\n\t\t});\n\t\tif (descriptor === void 0) continue;\n\t\tconst parsed = parseBlockAttribute(attribute, name, span, descriptor, seenAttributeNames, keyword, blockName, sources);\n\t\tif (parsed.ok) attributes[name] = parsed.value;\n\t\telse diagnostics.push(...parsed.diagnostics);\n\t}\n\tconst parameters = {};\n\tfor (const entry of node.entries()) {\n\t\tconst key = entry.key()?.name();\n\t\tif (key === void 0) continue;\n\t\tconst span = nodePslSpan(entry.syntax, sources);\n\t\tif (Object.hasOwn(parameters, key)) {\n\t\t\tdiagnostics.push({\n\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\tcode: \"PSL_EXTENSION_DUPLICATE_PARAMETER\",\n\t\t\t\tmessage: `Duplicate parameter \"${key}\" in \"${keyword}\" block \"${blockName}\"; first occurrence wins`,\n\t\t\t\trange: {\n\t\t\t\t\tstart: sourceFile.positionAt(entry.syntax.offset),\n\t\t\t\t\tend: sourceFile.positionAt(entry.syntax.offset + entry.syntax.green.textLength)\n\t\t\t\t}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tparameters[key] = reconstructParamValue(entry, descriptor?.parameters[key], span, sources, diagnostics);\n\t}\n\treturn {\n\t\tkind: descriptor?.discriminator ?? keyword,\n\t\tkeyword,\n\t\tname: blockName,\n\t\tparameters,\n\t\tblockAttributes,\n\t\tattributes,\n\t\tspan: nodePslSpan(node.syntax, sources)\n\t};\n}\nfunction parseBlockAttribute(attribute, name, span, descriptor, seenNames, keyword, blockName, sources) {\n\tconst sourceFile = sources.sourceFileFor(attribute.syntax);\n\tconst range = sourceFile.pslSpanToRange(span);\n\tconst declared = descriptor.attributes ?? {};\n\tif (!Object.hasOwn(declared, name)) return {\n\t\tok: false,\n\t\tdiagnostics: [{\n\t\t\tfilename: sourceFile.filename,\n\t\t\tcode: \"PSL_EXTENSION_UNKNOWN_BLOCK_ATTRIBUTE\",\n\t\t\tmessage: `Unknown attribute \"@@${name}\" in \"${keyword}\" block \"${blockName}\"`,\n\t\t\trange\n\t\t}]\n\t};\n\tif (seenNames.has(name)) return {\n\t\tok: false,\n\t\tdiagnostics: [{\n\t\t\tfilename: sourceFile.filename,\n\t\t\tcode: \"PSL_INVALID_EXTENSION_BLOCK_ATTRIBUTE\",\n\t\t\tmessage: `Duplicate attribute \"@@${name}\" in \"${keyword}\" block \"${blockName}\"; first occurrence wins`,\n\t\t\trange\n\t\t}]\n\t};\n\tseenNames.add(name);\n\tconst result = interpretAttribute(attribute, blindCast(declared[name])(), { sources });\n\tif (!result.ok) return {\n\t\tok: false,\n\t\tdiagnostics: result.failure\n\t};\n\treturn {\n\t\tok: true,\n\t\tvalue: {\n\t\t\targs: result.value,\n\t\t\tspan\n\t\t}\n\t};\n}\nfunction reconstructParamValue(entry, param, span, sources, diagnostics) {\n\tconst value = entry.value();\n\tif (value === void 0) return {\n\t\tkind: \"bare\",\n\t\tspan\n\t};\n\treturn reconstructFromExpression(value, param, span, sources, diagnostics);\n}\nfunction reconstructFromExpression(value, param, span, sources, diagnostics) {\n\tconst raw = printSyntax(value.syntax).trim();\n\tif (param?.kind === \"list\") {\n\t\tconst sourceFile = sources.sourceFileFor(value.syntax);\n\t\tconst array = ArrayLiteralAst.cast(value.syntax);\n\t\tif (!array) {\n\t\t\tdiagnostics?.push({\n\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\tcode: \"PSL_EXTENSION_INVALID_VALUE\",\n\t\t\t\tmessage: `List parameter expects an array literal, got ${raw}`,\n\t\t\t\trange: {\n\t\t\t\t\tstart: sourceFile.positionAt(value.syntax.offset),\n\t\t\t\t\tend: sourceFile.positionAt(value.syntax.offset + value.syntax.green.textLength)\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tkind: \"value\",\n\t\t\t\traw,\n\t\t\t\tspan\n\t\t\t};\n\t\t}\n\t\tconst items = [];\n\t\tfor (const element of array.elements()) items.push(reconstructFromExpression(element, param.of, nodePslSpan(element.syntax, sources), sources, diagnostics));\n\t\treturn {\n\t\t\tkind: \"list\",\n\t\t\titems,\n\t\t\tspan\n\t\t};\n\t}\n\tswitch (param?.kind) {\n\t\tcase \"ref\": return {\n\t\t\tkind: \"ref\",\n\t\t\tidentifier: raw,\n\t\t\tspan\n\t\t};\n\t\tcase \"option\": return {\n\t\t\tkind: \"option\",\n\t\t\ttoken: raw,\n\t\t\tspan\n\t\t};\n\t\tdefault: return {\n\t\t\tkind: \"value\",\n\t\t\traw,\n\t\t\tspan\n\t\t};\n\t}\n}\n//#endregion\n//#region src/symbol-table.ts\n/**\n* Owns duplicate-declaration detection for all PSL scopes; downstream consumers\n* should consume first-wins symbols rather than re-emitting duplicate diagnostics.\n*/\nfunction buildSymbolTable(options) {\n\tconst { documents, sources, pslBlockDescriptors } = options;\n\tconst diagnostics = [];\n\tconst namespaces = Object.create(null);\n\tconst namedTypes = {};\n\tconst blocks = {};\n\tconst models = {};\n\tconst compositeTypes = {};\n\tconst topLevelNames = /* @__PURE__ */ new Set();\n\tfor (const document of documents) {\n\t\tconst sourceFile = sources.sourceFileFor(document.syntax);\n\t\tconst claim = (taken, name) => {\n\t\t\tconst text = name?.name();\n\t\t\tif (text === void 0) return void 0;\n\t\t\tif (taken.has(text)) {\n\t\t\t\tconst range = nameRange(name, sources);\n\t\t\t\tif (range) diagnostics.push({\n\t\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\t\tmessage: `Duplicate declaration of \"${text}\"`,\n\t\t\t\t\tfilename: sourceFile.filename,\n\t\t\t\t\trange\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttaken.add(text);\n\t\t\treturn text;\n\t\t};\n\t\tfor (const declaration of document.declarations()) if (declaration instanceof ModelDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) models[name] = buildModel(name, declaration, sources, diagnostics);\n\t\t} else if (declaration instanceof CompositeTypeDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) compositeTypes[name] = buildCompositeType(name, declaration, sources, diagnostics);\n\t\t} else if (declaration instanceof GenericBlockDeclarationAst) {\n\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\tif (name !== void 0) blocks[name] = buildBlock(name, declaration, sources, pslBlockDescriptors, diagnostics);\n\t\t} else if (declaration instanceof NamespaceDeclarationAst) {\n\t\t\tconst declaredName = declaration.name()?.name();\n\t\t\tif (declaredName === void 0) continue;\n\t\t\tlet namespace = namespaces[declaredName];\n\t\t\tif (namespace === void 0) {\n\t\t\t\tconst name = claim(topLevelNames, declaration.name());\n\t\t\t\tif (name === void 0) continue;\n\t\t\t\tnamespace = {\n\t\t\t\t\tkind: \"namespace\",\n\t\t\t\t\tname,\n\t\t\t\t\tdeclarations: [],\n\t\t\t\t\tmodels: Object.create(null),\n\t\t\t\t\tcompositeTypes: Object.create(null),\n\t\t\t\t\tblocks: Object.create(null)\n\t\t\t\t};\n\t\t\t\tnamespaces[name] = namespace;\n\t\t\t}\n\t\t\textendNamespace(namespace, declaration, diagnostics, sources, pslBlockDescriptors);\n\t\t} else if (declaration instanceof TypesBlockAst) for (const binding of declaration.declarations()) {\n\t\t\tconst name = claim(topLevelNames, binding.name());\n\t\t\tif (name === void 0) continue;\n\t\t\tconst resolved = resolveNamedTypeBinding(binding, sources);\n\t\t\tnamedTypes[name] = {\n\t\t\t\tkind: \"namedType\",\n\t\t\t\tname,\n\t\t\t\tnode: binding,\n\t\t\t\tspan: nodePslSpan(binding.syntax, sources),\n\t\t\t\t...resolved\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tsymbolTable: { topLevel: {\n\t\t\tnamespaces,\n\t\t\tnamedTypes,\n\t\t\tblocks,\n\t\t\tmodels,\n\t\t\tcompositeTypes\n\t\t} },\n\t\tdiagnostics\n\t};\n}\nfunction buildModel(name, node, sources, diagnostics) {\n\treturn {\n\t\tkind: \"model\",\n\t\tname,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tfields: buildFields(name, node.fields(), sources, diagnostics),\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction buildCompositeType(name, node, sources, diagnostics) {\n\treturn {\n\t\tkind: \"compositeType\",\n\t\tname,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tfields: buildFields(name, node.fields(), sources, diagnostics),\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction buildBlock(name, node, sources, pslBlockDescriptors, diagnostics) {\n\tconst keyword = node.keyword()?.text ?? \"\";\n\tconst descriptor = findBlockDescriptor(pslBlockDescriptors, keyword);\n\treturn {\n\t\tkind: \"block\",\n\t\tname,\n\t\tkeyword,\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources),\n\t\tblock: reconstructExtensionBlock(node, descriptor, sources, diagnostics)\n\t};\n}\nfunction extendNamespace(namespace, node, diagnostics, sources, pslBlockDescriptors) {\n\tconst { models, compositeTypes, blocks } = namespace;\n\tnamespace.declarations.push({\n\t\tnode,\n\t\tspan: nodePslSpan(node.syntax, sources)\n\t});\n\tfor (const member of node.declarations()) {\n\t\tconst memberName = member.name()?.name();\n\t\tif (memberName === void 0) continue;\n\t\tif (Object.hasOwn(models, memberName) || Object.hasOwn(compositeTypes, memberName) || Object.hasOwn(blocks, memberName)) {\n\t\t\tconst range = nameRange(member.name(), sources);\n\t\t\tif (range) diagnostics.push({\n\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\tmessage: `Duplicate declaration of \"${memberName}\"`,\n\t\t\t\tfilename: sources.sourceFileFor(member.syntax).filename,\n\t\t\t\trange\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (member instanceof ModelDeclarationAst) models[memberName] = buildModel(memberName, member, sources, diagnostics);\n\t\telse if (member instanceof CompositeTypeDeclarationAst) compositeTypes[memberName] = buildCompositeType(memberName, member, sources, diagnostics);\n\t\telse if (member instanceof GenericBlockDeclarationAst) blocks[memberName] = buildBlock(memberName, member, sources, pslBlockDescriptors, diagnostics);\n\t}\n}\nfunction buildFields(ownerName, fields, sources, diagnostics) {\n\tconst result = {};\n\tfor (const field of fields) {\n\t\tconst nameNode = field.name();\n\t\tconst name = nameNode?.name();\n\t\tif (name === void 0) continue;\n\t\tif (Object.hasOwn(result, name)) {\n\t\t\tconst range = nameRange(nameNode, sources);\n\t\t\tif (range) diagnostics.push({\n\t\t\t\tcode: \"PSL_DUPLICATE_DECLARATION\",\n\t\t\t\tmessage: `Duplicate declaration of \"${name}\"`,\n\t\t\t\tfilename: sources.sourceFileFor(field.syntax).filename,\n\t\t\t\trange\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tresult[name] = buildField(ownerName, name, field, sources, diagnostics);\n\t}\n\treturn result;\n}\nfunction buildField(ownerName, name, node, sources, diagnostics) {\n\tconst attributes = readResolvedAttributes(node.attributes(), sources);\n\tconst span = nodePslSpan(node.syntax, sources);\n\tconst annotation = node.typeAnnotation();\n\tconst typeName = annotation?.name();\n\tif (typeName?.isOverQualified()) {\n\t\tconst path = typeName.path();\n\t\tdiagnostics.push({\n\t\t\tcode: \"PSL_INVALID_QUALIFIED_TYPE\",\n\t\t\tmessage: `Field \"${ownerName}.${name}\" has an invalid qualified type \"${path.join(\".\")}\"; use at most one namespace qualifier (e.g. \"ns.TypeName\")`,\n\t\t\tfilename: sources.sourceFileFor(typeName.syntax).filename,\n\t\t\trange: nodeRange(typeName.syntax, sources)\n\t\t});\n\t\treturn {\n\t\t\tkind: \"field\",\n\t\t\tname,\n\t\t\tnode,\n\t\t\tspan,\n\t\t\ttypeName: path[path.length - 1] ?? \"\",\n\t\t\toptional: false,\n\t\t\tlist: false,\n\t\t\tmalformedType: true,\n\t\t\tattributes\n\t\t};\n\t}\n\tconst typeConstructor = annotation?.isConstructor() ? readResolvedConstructorCall(annotation, sources) : void 0;\n\tconst typeNamespaceId = typeName?.namespace()?.name();\n\tconst typeContractSpaceId = typeName?.space()?.name();\n\treturn {\n\t\tkind: \"field\",\n\t\tname,\n\t\tnode,\n\t\tspan,\n\t\ttypeName: typeName?.identifier()?.name() ?? \"\",\n\t\t...typeNamespaceId !== void 0 ? { typeNamespaceId } : {},\n\t\t...typeContractSpaceId !== void 0 ? { typeContractSpaceId } : {},\n\t\toptional: annotation?.isOptional() ?? false,\n\t\tlist: annotation?.isList() ?? false,\n\t\t...typeConstructor !== void 0 ? { typeConstructor } : {},\n\t\tattributes\n\t};\n}\nfunction resolveNamedTypeBinding(node, sources) {\n\tconst annotation = node.typeAnnotation();\n\tconst isConstructor = annotation?.isConstructor() ?? false;\n\tconst baseType = annotation?.name()?.identifier()?.name();\n\tconst typeConstructor = readResolvedConstructorCall(annotation, sources);\n\treturn {\n\t\tisConstructor,\n\t\t...!isConstructor && baseType !== void 0 ? { baseType } : {},\n\t\t...typeConstructor !== void 0 ? { typeConstructor } : {},\n\t\tattributes: readResolvedAttributes(node.attributes(), sources)\n\t};\n}\nfunction nameRange(name, sources) {\n\tif (name === void 0) return void 0;\n\tconst sourceFile = sources.sourceFileFor(name.syntax);\n\tfor (const token of name.syntax.tokens()) if (token.kind === \"Ident\") return {\n\t\tstart: sourceFile.positionAt(token.offset),\n\t\tend: sourceFile.positionAt(token.offset + token.text.length)\n\t};\n}\nfunction nodeRange(node, sources) {\n\tconst sourceFile = sources.sourceFileFor(node);\n\tconst start = node.offset;\n\tconst end = start + node.green.textLength;\n\treturn {\n\t\tstart: sourceFile.positionAt(start),\n\t\tend: sourceFile.positionAt(end)\n\t};\n}\n//#endregion\nexport { assembleAttributeSpecs, blockAttribute, bool, buildSymbolTable, createPslDiagnosticCollector, diagnosticFromSpan, diagnosticSource, entityRef, fieldAttribute, fieldRef, findBlockDescriptor, flatPslModels, funcCall, getPositionalArgument, identifier, int, interpretArgs, interpretAttribute, json, keywordPslSpan, leafDiagnostic, list, mapPslDiagnostics, modelAttribute, namespacePslExtensionBlocks, nodePslSpan, num, numLiteral, oneOf, optional, parseQuotedStringLiteral, readResolvedAttribute, readResolvedAttributes, readResolvedConstructorCall, record, referencedFieldRef, str, taggedLiteral, validateExtensionBlockFromSymbol };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;;;;;AAQA,SAAS,sBAAsB,WAAW,QAAQ,GAAG;CACpD,OAAO,UAAU,KAAK,QAAQ,QAAQ,IAAI,SAAS,YAAY,CAAC,CAAC,MAAM,EAAE;AAC1E;AACA,SAAS,yBAAyB,OAAO;CACxC,MAAM,QAAQ,MAAM,KAAK,CAAC,CAAC,MAAM,gBAAgB;CACjD,IAAI,CAAC,OAAO,OAAO,KAAK;CACxB,OAAO,MAAM,MAAM;AACpB;AAGA,UAAU,0BAA0B,WAAW;CAC9C,KAAK,MAAM,SAAS,OAAO,OAAO,SAAS,GAAG;EAC7C,IAAI,oCAAoC,KAAK,GAAG;GAC/C,MAAM;GACN;EACD;EACA,OAAO,0BAA0B,KAAK;CACvC;AACD;AACA,SAAS,uBAAuB,eAAe;CAC9C,MAAM,UAAU,OAAO,QAAQ,cAAc,eAAe,KAAK;CACjE,MAAM,UAAU,IAAI,IAAI,QAAQ,KAAK,CAAC,eAAe,SAAS,CAAC;CAC/D,KAAK,MAAM,cAAc,0BAA0B,cAAc,eAAe,GAAG;EAClF,IAAI,QAAQ,IAAI,WAAW,SAAS,GAAG,MAAM,IAAI,cAAc,8CAA8C,WAAW,UAAU,6GAA6G;EAC/O,QAAQ,IAAI,WAAW,SAAS;EAChC,QAAQ,KAAK,CAAC,WAAW,WAAW,WAAW,IAAI,CAAC;CACrD;CACA,OAAO,OAAO,OAAO,UAAU;EAC9B,OAAO,OAAO,OAAO,OAAO,YAAY,OAAO,CAAC;EAChD,OAAO,OAAO,OAAO,EAAE,GAAG,cAAc,eAAe,MAAM,CAAC;CAC/D,CAAC,CAAC;AACH;AAGA,SAAS,eAAe,MAAM,QAAQ;CACrC,OAAO;EACN,OAAO;EACP;EACA,eAAe,OAAO;EACtB,YAAY,OAAO,cAAc,CAAC;EAClC,OAAO,OAAO,SAAS,CAAC;EACxB,GAAG,OAAO,WAAW,KAAK,IAAI,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;CAC5D;AACD;AAGA,SAAS,sBAAsB,WAAW,SAAS;CAClD,OAAO;EACN,MAAM,cAAc,UAAU,KAAK,CAAC;EACpC,MAAM,oBAAoB,UAAU,QAAQ,GAAG,OAAO;EACtD,MAAM,YAAY,UAAU,QAAQ,OAAO;CAC5C;AACD;AACA,SAAS,uBAAuB,YAAY,SAAS;CACpD,OAAO,MAAM,KAAK,aAAa,cAAc,sBAAsB,WAAW,OAAO,CAAC;AACvF;AACA,SAAS,4BAA4B,YAAY,SAAS;CACzD,MAAM,UAAU,YAAY,QAAQ;CACpC,IAAI,eAAe,KAAK,KAAK,YAAY,KAAK,GAAG,OAAO,KAAK;CAC7D,OAAO;EACN,MAAM,WAAW,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC;EACpC,MAAM,oBAAoB,SAAS,OAAO;EAC1C,MAAM,YAAY,WAAW,QAAQ,OAAO;CAC7C;AACD;AACA,SAAS,oBAAoB,SAAS,SAAS;CAC9C,IAAI,YAAY,KAAK,GAAG,OAAO,CAAC;CAChC,MAAM,OAAO,CAAC;CACd,KAAK,MAAM,OAAO,QAAQ,KAAK,GAAG;EACjC,MAAM,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK;EAC9B,MAAM,aAAa,IAAI,MAAM;EAC7B,KAAK,KAAK;GACT,MAAM,SAAS,KAAK,IAAI,UAAU;GAClC,GAAG,SAAS,KAAK,IAAI,EAAE,KAAK,IAAI,CAAC;GACjC,OAAO,iBAAiB,UAAU;GAClC,GAAG,eAAe,KAAK,IAAI,EAAE,WAAW,IAAI,CAAC;GAC7C,MAAM,YAAY,IAAI,QAAQ,OAAO;EACtC,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,cAAc,MAAM;CAC5B,OAAO,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK;AAClC;AACA,SAAS,iBAAiB,YAAY;CACrC,IAAI,eAAe,KAAK,GAAG,OAAO;CAClC,OAAO,YAAY,WAAW,MAAM,CAAC,CAAC,KAAK;AAC5C;AACA,SAAS,YAAY,MAAM,SAAS;CACnC,MAAM,aAAa,QAAQ,cAAc,IAAI;CAC7C,MAAM,QAAQ,KAAK;CACnB,MAAM,MAAM,QAAQ,KAAK,MAAM;CAC/B,OAAO;EACN,OAAO,WAAW,oBAAoB,KAAK;EAC3C,KAAK,WAAW,oBAAoB,GAAG;CACxC;AACD;;AAEA,SAAS,eAAe,MAAM,SAAS,SAAS;CAC/C,MAAM,aAAa,QAAQ,cAAc,IAAI;CAC7C,MAAM,QAAQ,KAAK;CACnB,MAAM,MAAM,QAAQ,QAAQ;CAC5B,OAAO;EACN,OAAO,WAAW,oBAAoB,KAAK;EAC3C,KAAK,WAAW,oBAAoB,GAAG;CACxC;AACD;AAGA,MAAM,4BAA4B;AAClC,SAAS,eAAe,KAAK,MAAM,SAAS,OAAO,2BAA2B;CAC7E,OAAO;EACN;EACA;EACA,GAAG,iBAAiB,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,GAAG,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC;CACvF;AACD;AAGA,SAAS,OAAO;CACf,OAAO;EACN,MAAM;EACN,OAAO;EACP,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,sBAAsB,KAAK,IAAI,MAAM;GACrD,IAAI,YAAY,KAAK,GAAG;IACvB,MAAM,QAAQ,QAAQ,MAAM;IAC5B,IAAI,UAAU,KAAK,GAAG,OAAO,GAAG,KAAK;GACtC;GACA,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,4BAA4B,CAAC,CAAC;EACtE;CACD;AACD;AAGA,SAAS,YAAY;CACpB,OAAO;EACN,MAAM;EACN,OAAO;EACP,QAAQ,KAAK,QAAQ;GACpB,MAAM,aAAa,cAAc,KAAK,IAAI,MAAM;GAChD,IAAI,eAAe,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,uBAAuB,CAAC,CAAC;GAC3F,MAAM,OAAO,WAAW,KAAK;GAC7B,IAAI,SAAS,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,uBAAuB,CAAC,CAAC;GACrF,OAAO,GAAG,IAAI;EACf;CACD;AACD;AAGA,SAAS,eAAe,KAAK,KAAK,OAAO;CACxC,MAAM,aAAa,cAAc,KAAK,IAAI,MAAM;CAChD,IAAI,eAAe,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,uBAAuB,CAAC,CAAC;CAC3F,MAAM,OAAO,WAAW,KAAK;CAC7B,IAAI,SAAS,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,uBAAuB,CAAC,CAAC;CACrF,IAAI,UAAU,KAAK,KAAK,CAAC,OAAO,OAAO,MAAM,QAAQ,IAAI,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,UAAU,KAAK,6BAA6B,MAAM,KAAK,EAAE,CAAC,CAAC;CAC9J,OAAO,GAAG,IAAI;AACf;AACA,SAAS,WAAW;CACnB,OAAO;EACN,MAAM;EACN,OAAO;EACP,QAAQ,KAAK,QAAQ,eAAe,KAAK,KAAK,IAAI,SAAS;CAC5D;AACD;AACA,SAAS,qBAAqB;CAC7B,OAAO;EACN,MAAM;EACN,OAAO;EACP,QAAQ,KAAK,QAAQ,eAAe,KAAK,KAAK,IAAI,uBAAuB,CAAC;CAC3E;AACD;AAGA,SAAS,cAAc,MAAM,MAAM,KAAK,MAAM,YAAY;CACzD,MAAM,cAAc,CAAC;CACrB,MAAM,SAAS,CAAC;CAChB,MAAM,uBAAuB,IAAI,IAAI;CACrC,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CACrB,KAAK,MAAM,OAAO,MAAM;EACvB,MAAM,OAAO,IAAI,KAAK,CAAC,EAAE,KAAK;EAC9B,IAAI;EACJ,IAAI;EACJ,IAAI,SAAS,KAAK,GAAG;GACpB,MAAM,WAAW,KAAK,WAAW;GACjC,IAAI,aAAa,KAAK,GAAG;IACxB,IAAI,CAAC,gBAAgB;KACpB,YAAY,KAAK,WAAW,cAAc,KAAK,KAAK,2CAA2C,KAAK,MAAM,UAAU,CAAC;KACrH,iBAAiB;IAClB;IACA;GACD;GACA,kBAAkB;GAClB,MAAM,SAAS;GACf,QAAQ,SAAS;EAClB,OAAO;GACN,MAAM,aAAa,OAAO,OAAO,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,QAAQ,KAAK;GAC7E,IAAI,eAAe,KAAK,GAAG;IAC1B,YAAY,KAAK,WAAW,cAAc,KAAK,KAAK,+BAA+B,KAAK,IAAI,KAAK,YAAY,IAAI,QAAQ,IAAI,OAAO,GAAG,IAAI,MAAM,CAAC;IAClJ;GACD;GACA,MAAM;GACN,QAAQ,WAAW;EACpB;EACA,IAAI,KAAK,IAAI,GAAG,GAAG;GAClB,YAAY,KAAK,WAAW,cAAc,KAAK,KAAK,iCAAiC,IAAI,IAAI,KAAK,YAAY,IAAI,QAAQ,IAAI,OAAO,GAAG,IAAI,MAAM,CAAC;GACnJ;EACD;EACA,KAAK,IAAI,GAAG;EACZ,MAAM,SAAS,cAAc,KAAK,OAAO,KAAK,WAAW;EACzD,IAAI,OAAO,IAAI,OAAO,OAAO,OAAO;CACrC;CACA,MAAM,4BAA4B,IAAI,IAAI;CAC1C,MAAM,qBAAqB,KAAK,iBAAiB,eAAe;EAC/D,IAAI,UAAU,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,GAAG;EACzC,UAAU,IAAI,GAAG;EACjB,MAAM,YAAY,cAAc;EAChC,IAAI,cAAc,KAAK,GAAG;EAC1B,IAAI,kBAAkB,SAAS,GAAG;GACjC,IAAI,UAAU,YAAY,OAAO,OAAO,UAAU;GAClD;EACD;EACA,YAAY,KAAK,WAAW,cAAc,KAAK,KAAK,kCAAkC,IAAI,IAAI,KAAK,MAAM,UAAU,CAAC;CACrH;CACA,KAAK,MAAM,SAAS,KAAK,YAAY;EACpC,MAAM,aAAa,OAAO,OAAO,KAAK,OAAO,MAAM,GAAG,IAAI,KAAK,MAAM,MAAM,OAAO,KAAK;EACvF,kBAAkB,MAAM,KAAK,MAAM,MAAM,YAAY,IAAI;CAC1D;CACA,KAAK,MAAM,OAAO,OAAO,KAAK,KAAK,KAAK,GAAG,kBAAkB,KAAK,KAAK,GAAG,KAAK,MAAM,IAAI,EAAE,IAAI;CAC/F,IAAI,YAAY,SAAS,GAAG,OAAO,MAAM,WAAW;CACpD,OAAO,GAAG,MAAM;AACjB;AACA,SAAS,mBAAmB,UAAU,MAAM,KAAK;CAChD,MAAM,gBAAgB,YAAY,SAAS,QAAQ,IAAI,OAAO;CAC9D,MAAM,QAAQ,cAAc,SAAS,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,GAAG,MAAM,KAAK,eAAe,SAAS,MAAM;CACvG,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,MAAM,OAAO;CACzC,MAAM,QAAQ,UAAU,MAAM,KAAK;CACnC,IAAI,KAAK,WAAW,KAAK,GAAG;EAC3B,MAAM,oBAAoB,KAAK,OAAO,OAAO,KAAK,QAAQ;EAC1D,IAAI,kBAAkB,SAAS,GAAG,OAAO,MAAM,iBAAiB;CACjE;CACA,OAAO,GAAG,KAAK;AAChB;AACA,SAAS,cAAc,KAAK,SAAS,KAAK,aAAa;CACtD,MAAM,QAAQ,IAAI,MAAM;CACxB,IAAI,UAAU,KAAK,GAAG;EACrB,MAAM,UAAU,WAAW,yCAAyC,KAAK,YAAY,IAAI,QAAQ,IAAI,OAAO,GAAG,IAAI,MAAM;EACzH,YAAY,KAAK,OAAO;EACxB,OAAO,MAAM,CAAC,OAAO,CAAC;CACvB;CACA,MAAM,SAAS,QAAQ,MAAM,OAAO,GAAG;CACvC,IAAI,CAAC,OAAO,IAAI,KAAK,MAAM,WAAW,OAAO,SAAS,YAAY,KAAK,OAAO;CAC9E,OAAO;AACR;AACA,SAAS,kBAAkB,OAAO;CACjC,OAAO,cAAc,SAAS,MAAM,aAAa;AAClD;AACA,SAAS,WAAW,SAAS,KAAK,MAAM,YAAY;CACnD,OAAO;EACN,MAAM;EACN;EACA,GAAG,iBAAiB,IAAI,SAAS,UAAU,CAAC,CAAC,GAAG,IAAI;CACrD;AACD;AAGA,SAAS,SAAS,MAAM,KAAK;CAC5B,OAAO;EACN,MAAM;EACN,OAAO,GAAG,KAAK;EACf;EACA,WAAW;EACX,QAAQ,KAAK,QAAQ;GACpB,MAAM,QAAQ,YAAY,KAAK,MAAM,GAAG;GACxC,IAAI,CAAC,MAAM,IAAI,OAAO;GACtB,MAAM,OAAO,YAAY,MAAM,MAAM,QAAQ,IAAI,OAAO;GACxD,MAAM,QAAQ,cAAc,MAAM,MAAM,KAAK,GAAG;IAC/C;IACA,YAAY,IAAI,cAAc,CAAC;IAC/B,OAAO,IAAI,SAAS,CAAC;GACtB,GAAG,KAAK,MAAM,MAAM,MAAM,MAAM;GAChC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,MAAM,OAAO;GACzC,OAAO,GAAG;IACT,IAAI;IACJ;IACA,MAAM,MAAM;GACb,CAAC;EACF;CACD;AACD;AACA,SAAS,YAAY,KAAK,MAAM,KAAK;CACpC,MAAM,OAAO,gBAAgB,KAAK,IAAI,MAAM;CAC5C,IAAI,SAAS,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,0BAA0B,CAAC,CAAC;CACxF,MAAM,QAAQ,KAAK,KAAK;CACxB,IAAI,UAAU,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,0BAA0B,CAAC,CAAC;CAC/I,MAAM,aAAa,MAAM,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE;CAChD,IAAI,eAAe,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,0BAA0B,CAAC,CAAC;CAC9F,IAAI,eAAe,MAAM,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,YAAY,KAAK,GAAG,CAAC,CAAC;CACtF,OAAO,GAAG,IAAI;AACf;AAGA,SAAS,WAAW,MAAM,SAAS;CAClC,OAAO;EACN,MAAM;EACN,OAAO;EACP;EACA,eAAe,QAAQ;EACvB,QAAQ,KAAK,QAAQ;GACpB,MAAM,aAAa,cAAc,KAAK,IAAI,MAAM;GAChD,IAAI,eAAe,KAAK,KAAK,WAAW,KAAK,MAAM,MAAM,OAAO,GAAG,IAAI;GACvE,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,YAAY,MAAM,CAAC,CAAC;EAC5D;CACD;AACD;AAGA,SAAS,IAAI,MAAM;CAClB,MAAM,MAAM,MAAM;CAClB,MAAM,MAAM,MAAM;CAClB,OAAO;EACN,MAAM;EACN,OAAO;EACP,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI;EAC/B,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI;EAC/B,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG;IACvB,MAAM,QAAQ,QAAQ,MAAM;IAC5B,IAAI,UAAU,KAAK,KAAK,OAAO,UAAU,KAAK,GAAG;KAChD,KAAK,QAAQ,KAAK,KAAK,SAAS,SAAS,QAAQ,KAAK,KAAK,SAAS,MAAM,OAAO,GAAG,KAAK;KACzF,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC;IAChE;GACD;GACA,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,6BAA6B,CAAC,CAAC;EACvE;CACD;AACD;AACA,SAAS,aAAa,KAAK,KAAK;CAC/B,IAAI,QAAQ,KAAK,KAAK,QAAQ,KAAK,GAAG,OAAO,+BAA+B,IAAI,OAAO;CACvF,IAAI,QAAQ,KAAK,GAAG,OAAO,gDAAgD;CAC3E,OAAO,6CAA6C;AACrD;;;;;;AAQA,SAAS,OAAO;CACf,OAAO;EACN,MAAM;EACN,OAAO;EACP,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,+BAA+B,CAAC,CAAC;GAChG,MAAM,MAAM,QAAQ,MAAM;GAC1B,IAAI,QAAQ,KAAK,GAAG,IAAI;IACvB,MAAM,SAAS,KAAK,MAAM,GAAG;IAC7B,IAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,CAAC,MAAM,QAAQ,MAAM,GAAG,OAAO,GAAG,UAAU,MAAM,CAAC;GACzG,QAAQ,CAAC;GACT,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,8BAA8B,CAAC,CAAC;EACxE;CACD;AACD;AAGA,SAAS,KAAK,IAAI,MAAM;CACvB,MAAM,aAAa,MAAM,cAAc;CACvC,MAAM,SAAS,MAAM,UAAU;CAC/B,OAAO;EACN,MAAM;EACN,OAAO,MAAM,SAAS,GAAG,GAAG,MAAM;EAClC;EACA;EACA;EACA,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,gBAAgB,KAAK,IAAI,MAAM;GAC/C,IAAI,YAAY,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,sBAAsB,GAAG,OAAO,CAAC,CAAC;GACjG,MAAM,cAAc,CAAC;GACrB,MAAM,SAAS,CAAC;GAChB,IAAI,QAAQ;GACZ,KAAK,MAAM,WAAW,QAAQ,SAAS,GAAG;IACzC,SAAS;IACT,MAAM,SAAS,GAAG,MAAM,SAAS,GAAG;IACpC,IAAI,OAAO,IAAI,OAAO,KAAK;KAC1B,MAAM;KACN,OAAO,OAAO;IACf,CAAC;SACI,YAAY,KAAK,GAAG,OAAO,OAAO;GACxC;GACA,IAAI,CAAC,cAAc,UAAU,GAAG,YAAY,KAAK,eAAe,KAAK,KAAK,2BAA2B,CAAC;GACtG,IAAI,QAAQ;IACX,MAAM,uBAAuB,IAAI,IAAI;IACrC,KAAK,MAAM,EAAE,MAAM,WAAW,QAAQ,IAAI,KAAK,IAAI,KAAK,GAAG,YAAY,KAAK,eAAe,KAAK,MAAM,sBAAsB,CAAC;SACxH,KAAK,IAAI,KAAK;GACpB;GACA,IAAI,YAAY,SAAS,GAAG,OAAO,MAAM,WAAW;GACpD,OAAO,GAAG,OAAO,KAAK,UAAU,MAAM,KAAK,CAAC;EAC7C;CACD;AACD;AAGA,SAAS,IAAI,OAAO;CACnB,IAAI,UAAU,KAAK,GAAG,OAAO;EAC5B,MAAM;EACN,OAAO;EACP,OAAO,KAAK;EACZ,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG;IACvB,MAAM,SAAS,QAAQ,MAAM;IAC7B,IAAI,WAAW,KAAK,GAAG,OAAO,GAAG,MAAM;GACxC;GACA,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,2BAA2B,CAAC,CAAC;EACrE;CACD;CACA,OAAO;EACN,MAAM;EACN,OAAO,OAAO,KAAK;EACnB;EACA,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAChB;QAAA,QAAQ,MAAM,MAAM,OAAO,OAAO,GAAG,KAAK;GAAA;GAE/C,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,YAAY,OAAO,CAAC,CAAC;EAC7D;CACD;AACD;;AAIA,SAAS,aAAa;CACrB,OAAO;EACN,MAAM;EACN,OAAO;EACP,OAAO,KAAK;EACZ,QAAQ,KAAK,QAAQ;GACpB,MAAM,OAAO,qBAAqB,KAAK,IAAI,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE;GAC7D,IAAI,SAAS,KAAK,GAAG,OAAO,GAAG,EAAE,KAAK,CAAC;GACvC,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,2BAA2B,CAAC,CAAC;EACrE;CACD;AACD;AAGA,SAAS,MAAM,GAAG,MAAM;CACvB,MAAM,QAAQ,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK;CACrD,OAAO;EACN,MAAM;EACN;EACA,cAAc;EACd,QAAQ,KAAK,QAAQ;GACpB,KAAK,MAAM,OAAO,MAAM;IACvB,MAAM,SAAS,UAAU,IAAI,KAAK,CAAC,CAAC,KAAK,GAAG;IAC5C,IAAI,OAAO,IAAI,OAAO,GAAG,UAAU,OAAO,KAAK,CAAC;GACjD;GACA,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,oBAAoB,OAAO,CAAC,CAAC;EACrE;CACD;AACD;AAGA,SAAS,OAAO,IAAI;CACnB,OAAO;EACN,MAAM;EACN,OAAO,YAAY,GAAG,MAAM;EAC5B;EACA,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,4BAA4B,CAAC,CAAC;GAC7F,MAAM,cAAc,CAAC;GACrB,MAAM,UAAU,CAAC;GACjB,MAAM,uBAAuB,IAAI,IAAI;GACrC,KAAK,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,CAAC,GAAG;IACjD,MAAM,MAAM,MAAM,QAAQ;IAC1B,IAAI,QAAQ,KAAK,GAAG;KACnB,YAAY,KAAK,eAAe,KAAK,OAAO,gBAAgB,CAAC;KAC7D;IACD;IACA,MAAM,QAAQ,MAAM,MAAM;IAC1B,IAAI,UAAU,KAAK,GAAG;KACrB,YAAY,KAAK,eAAe,KAAK,OAAO,6BAA6B,IAAI,EAAE,CAAC;KAChF;IACD;IACA,MAAM,SAAS,GAAG,MAAM,OAAO,GAAG;IAClC,IAAI,CAAC,OAAO,IAAI;KACf,YAAY,KAAK,GAAG,OAAO,OAAO;KAClC;IACD;IACA,IAAI,KAAK,IAAI,GAAG,GAAG;KAClB,YAAY,KAAK,eAAe,KAAK,OAAO,kBAAkB,IAAI,EAAE,CAAC;KACrE;IACD;IACA,KAAK,IAAI,GAAG;IACZ,QAAQ,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC;GACjC;GACA,IAAI,YAAY,SAAS,GAAG,OAAO,MAAM,WAAW;GACpD,OAAO,GAAG,OAAO,YAAY,OAAO,CAAC;EACtC;CACD;AACD;AAGA,SAAS,IAAI,OAAO;CACnB,IAAI,UAAU,KAAK,GAAG,OAAO;EAC5B,MAAM;EACN,OAAO;EACP,OAAO,KAAK;EACZ,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG;IACvB,MAAM,SAAS,QAAQ,MAAM;IAC7B,IAAI,WAAW,KAAK,GAAG,OAAO,GAAG,MAAM;GACxC;GACA,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,2BAA2B,CAAC,CAAC;EACrE;CACD;CACA,OAAO;EACN,MAAM;EACN,OAAO,KAAK,UAAU,KAAK;EAC3B;EACA,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAChB;QAAA,QAAQ,MAAM,MAAM,OAAO,OAAO,GAAG,KAAK;GAAA;GAE/C,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,YAAY,KAAK,UAAU,KAAK,GAAG,CAAC,CAAC;EAC7E;CACD;AACD;;;;;AAOA,SAAS,cAAc,MAAM,SAAS;CACrC,OAAO;EACN,MAAM;EACN,OAAO,GAAG,KAAK,MAAM,MAAM;EAC3B;EACA,eAAe,QAAQ;EACvB,QAAQ,KAAK,QAAQ;GACpB,MAAM,UAAU,qBAAqB,KAAK,IAAI,MAAM;GACpD,IAAI,YAAY,KAAK,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK,2BAA2B,CAAC,CAAC;GAC5F,OAAO,GAAG;IACT,KAAK,QAAQ,QAAQ;IACrB,kBAAkB,QAAQ,iBAAiB;IAC3C,MAAM,YAAY,QAAQ,QAAQ,IAAI,OAAO;GAC9C,CAAC;EACF;CACD;AACD;AAGA,SAAS,eAAe,MAAM,QAAQ;CACrC,OAAO;EACN,OAAO;EACP;EACA,eAAe,OAAO;EACtB,YAAY,OAAO,cAAc,CAAC;EAClC,OAAO,OAAO,SAAS,CAAC;EACxB,GAAG,OAAO,WAAW,KAAK,IAAI,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;CAC5D;AACD;AAGA,SAAS,eAAe,MAAM,QAAQ;CACrC,OAAO;EACN,OAAO;EACP;EACA,eAAe,OAAO;EACtB,YAAY,OAAO,cAAc,CAAC;EAClC,OAAO,OAAO,SAAS,CAAC;EACxB,GAAG,OAAO,WAAW,KAAK,IAAI,EAAE,QAAQ,OAAO,OAAO,IAAI,CAAC;CAC5D;AACD;AAGA,SAAS,SAAS,MAAM,GAAG,MAAM;CAChC,IAAI,KAAK,WAAW,GAAG,OAAO;EAC7B,GAAG;EACH,UAAU;EACV,YAAY;CACb;CACA,OAAO;EACN,GAAG;EACH,UAAU;EACV,YAAY;EACZ,cAAc,KAAK;CACpB;AACD;AAGA,SAAS,oBAAoB,aAAa,SAAS;CAClD,IAAI,gBAAgB,KAAK,GAAG,OAAO,KAAK;CACxC,KAAK,MAAM,SAAS,OAAO,OAAO,WAAW,GAAG;EAC/C,IAAI,UAAU,KAAK,GAAG;EACtB,IAAI,8BAA8B,KAAK,GAAG;GACzC,IAAI,MAAM,YAAY,SAAS,OAAO;GACtC;EACD;EACA,MAAM,SAAS,oBAAoB,OAAO,OAAO;EACjD,IAAI,WAAW,KAAK,GAAG,OAAO;CAC/B;AACD;AACA,SAAS,iCAAiC,OAAO;CAChD,MAAM,SAAS,0BAA0B,MAAM,aAAa,MAAM,KAAK;CACvE,OAAO,uBAAuB,MAAM,MAAM,OAAO,MAAM,YAAY,MAAM,QAAQ,cAAc,MAAM,MAAM,KAAK,MAAM,CAAC,CAAC,UAAU,MAAM,aAAa,MAAM,CAAC,CAAC,KAAK,eAAe,mBAAmB,YAAY,iBAAiB,MAAM,SAAS,MAAM,MAAM,KAAK,MAAM,CAAC,CAAC;AAC1Q;AACA,MAAM,YAAY;CACjB,OAAO;EACN,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;CACA,KAAK;EACJ,QAAQ;EACR,MAAM;EACN,QAAQ;CACT;AACD;AACA,SAAS,0BAA0B,aAAa,OAAO;CACtD,MAAM,uBAAuB,cAAc,8BAA8B,OAAO,OAAO,YAAY,SAAS,MAAM,CAAC;CACnH,MAAM,gBAAgB,CAAC,sBAAsB,GAAG,OAAO,OAAO,YAAY,SAAS,UAAU,CAAC,CAAC,KAAK,cAAc,cAAc,UAAU,MAAM,OAAO,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC;CACjL,MAAM,qBAAqB,uBAAuB,aAAa,KAAK;CACpE,OAAO;EACN,gBAAgB,cAAc,MAAM,cAAc,UAAU,SAAS,kBAAkB,KAAK;EAC5F;CACD;AACD;AACA,SAAS,cAAc,MAAM,QAAQ;CACpC,OAAO,iBAAiB;EACvB,MAAM;EACN;EACA,SAAS,wBAAwB,OAAO,KAAK,WAAW;GACvD,MAAM;GACN,MAAM,MAAM;GACZ,QAAQ,CAAC;GACT,YAAY,CAAC;GACb,MAAM;EACP,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;EACX,MAAM;CACP,CAAC;AACF;AACA,SAAS,uBAAuB,aAAa,OAAO;CACnD,KAAK,MAAM,aAAa,OAAO,OAAO,YAAY,SAAS,UAAU,GAAG,IAAI,OAAO,OAAO,UAAU,MAAM,CAAC,CAAC,MAAM,cAAc,cAAc,KAAK,GAAG,OAAO,UAAU;CACvK,OAAO;AACR;;;;;AAOA,SAAS,0BAA0B,MAAM,YAAY,SAAS,aAAa;CAC1E,MAAM,aAAa,QAAQ,cAAc,KAAK,MAAM;CACpD,MAAM,UAAU,KAAK,QAAQ,CAAC,EAAE,QAAQ;CACxC,MAAM,YAAY,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK;CACzC,MAAM,kBAAkB,CAAC;CACzB,MAAM,aAAa,CAAC;CACpB,MAAM,qCAAqC,IAAI,IAAI;CACnD,KAAK,MAAM,aAAa,KAAK,WAAW,GAAG;EAC1C,MAAM,OAAO,UAAU,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK;EACnD,MAAM,OAAO,MAAM,KAAK,UAAU,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,QAAQ;GACnE,MAAM,QAAQ,IAAI,MAAM;GACxB,OAAO;IACN,MAAM;IACN,OAAO,UAAU,KAAK,IAAI,KAAK,YAAY,MAAM,MAAM,CAAC,CAAC,KAAK;IAC9D,MAAM,YAAY,IAAI,QAAQ,OAAO;GACtC;EACD,CAAC;EACD,MAAM,OAAO,YAAY,UAAU,QAAQ,OAAO;EAClD,gBAAgB,KAAK;GACpB;GACA;GACA;EACD,CAAC;EACD,IAAI,eAAe,KAAK,GAAG;EAC3B,MAAM,SAAS,oBAAoB,WAAW,MAAM,MAAM,YAAY,oBAAoB,SAAS,WAAW,OAAO;EACrH,IAAI,OAAO,IAAI,WAAW,QAAQ,OAAO;OACpC,YAAY,KAAK,GAAG,OAAO,WAAW;CAC5C;CACA,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,SAAS,KAAK,QAAQ,GAAG;EACnC,MAAM,MAAM,MAAM,IAAI,CAAC,EAAE,KAAK;EAC9B,IAAI,QAAQ,KAAK,GAAG;EACpB,MAAM,OAAO,YAAY,MAAM,QAAQ,OAAO;EAC9C,IAAI,OAAO,OAAO,YAAY,GAAG,GAAG;GACnC,YAAY,KAAK;IAChB,UAAU,WAAW;IACrB,MAAM;IACN,SAAS,wBAAwB,IAAI,QAAQ,QAAQ,WAAW,UAAU;IAC1E,OAAO;KACN,OAAO,WAAW,WAAW,MAAM,OAAO,MAAM;KAChD,KAAK,WAAW,WAAW,MAAM,OAAO,SAAS,MAAM,OAAO,MAAM,UAAU;IAC/E;GACD,CAAC;GACD;EACD;EACA,WAAW,OAAO,sBAAsB,OAAO,YAAY,WAAW,MAAM,MAAM,SAAS,WAAW;CACvG;CACA,OAAO;EACN,MAAM,YAAY,iBAAiB;EACnC;EACA,MAAM;EACN;EACA;EACA;EACA,MAAM,YAAY,KAAK,QAAQ,OAAO;CACvC;AACD;AACA,SAAS,oBAAoB,WAAW,MAAM,MAAM,YAAY,WAAW,SAAS,WAAW,SAAS;CACvG,MAAM,aAAa,QAAQ,cAAc,UAAU,MAAM;CACzD,MAAM,QAAQ,WAAW,eAAe,IAAI;CAC5C,MAAM,WAAW,WAAW,cAAc,CAAC;CAC3C,IAAI,CAAC,OAAO,OAAO,UAAU,IAAI,GAAG,OAAO;EAC1C,IAAI;EACJ,aAAa,CAAC;GACb,UAAU,WAAW;GACrB,MAAM;GACN,SAAS,wBAAwB,KAAK,QAAQ,QAAQ,WAAW,UAAU;GAC3E;EACD,CAAC;CACF;CACA,IAAI,UAAU,IAAI,IAAI,GAAG,OAAO;EAC/B,IAAI;EACJ,aAAa,CAAC;GACb,UAAU,WAAW;GACrB,MAAM;GACN,SAAS,0BAA0B,KAAK,QAAQ,QAAQ,WAAW,UAAU;GAC7E;EACD,CAAC;CACF;CACA,UAAU,IAAI,IAAI;CAClB,MAAM,SAAS,mBAAmB,WAAW,UAAU,SAAS,KAAK,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;CACrF,IAAI,CAAC,OAAO,IAAI,OAAO;EACtB,IAAI;EACJ,aAAa,OAAO;CACrB;CACA,OAAO;EACN,IAAI;EACJ,OAAO;GACN,MAAM,OAAO;GACb;EACD;CACD;AACD;AACA,SAAS,sBAAsB,OAAO,OAAO,MAAM,SAAS,aAAa;CACxE,MAAM,QAAQ,MAAM,MAAM;CAC1B,IAAI,UAAU,KAAK,GAAG,OAAO;EAC5B,MAAM;EACN;CACD;CACA,OAAO,0BAA0B,OAAO,OAAO,MAAM,SAAS,WAAW;AAC1E;AACA,SAAS,0BAA0B,OAAO,OAAO,MAAM,SAAS,aAAa;CAC5E,MAAM,MAAM,YAAY,MAAM,MAAM,CAAC,CAAC,KAAK;CAC3C,IAAI,OAAO,SAAS,QAAQ;EAC3B,MAAM,aAAa,QAAQ,cAAc,MAAM,MAAM;EACrD,MAAM,QAAQ,gBAAgB,KAAK,MAAM,MAAM;EAC/C,IAAI,CAAC,OAAO;GACX,aAAa,KAAK;IACjB,UAAU,WAAW;IACrB,MAAM;IACN,SAAS,gDAAgD;IACzD,OAAO;KACN,OAAO,WAAW,WAAW,MAAM,OAAO,MAAM;KAChD,KAAK,WAAW,WAAW,MAAM,OAAO,SAAS,MAAM,OAAO,MAAM,UAAU;IAC/E;GACD,CAAC;GACD,OAAO;IACN,MAAM;IACN;IACA;GACD;EACD;EACA,MAAM,QAAQ,CAAC;EACf,KAAK,MAAM,WAAW,MAAM,SAAS,GAAG,MAAM,KAAK,0BAA0B,SAAS,MAAM,IAAI,YAAY,QAAQ,QAAQ,OAAO,GAAG,SAAS,WAAW,CAAC;EAC3J,OAAO;GACN,MAAM;GACN;GACA;EACD;CACD;CACA,QAAQ,OAAO,MAAf;EACC,KAAK,OAAO,OAAO;GAClB,MAAM;GACN,YAAY;GACZ;EACD;EACA,KAAK,UAAU,OAAO;GACrB,MAAM;GACN,OAAO;GACP;EACD;EACA,SAAS,OAAO;GACf,MAAM;GACN;GACA;EACD;CACD;AACD;;;;;AAOA,SAAS,iBAAiB,SAAS;CAClC,MAAM,EAAE,WAAW,SAAS,wBAAwB;CACpD,MAAM,cAAc,CAAC;CACrB,MAAM,aAAa,OAAO,OAAO,IAAI;CACrC,MAAM,aAAa,CAAC;CACpB,MAAM,SAAS,CAAC;CAChB,MAAM,SAAS,CAAC;CAChB,MAAM,iBAAiB,CAAC;CACxB,MAAM,gCAAgC,IAAI,IAAI;CAC9C,KAAK,MAAM,YAAY,WAAW;EACjC,MAAM,aAAa,QAAQ,cAAc,SAAS,MAAM;EACxD,MAAM,SAAS,OAAO,SAAS;GAC9B,MAAM,OAAO,MAAM,KAAK;GACxB,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;GACjC,IAAI,MAAM,IAAI,IAAI,GAAG;IACpB,MAAM,QAAQ,UAAU,MAAM,OAAO;IACrC,IAAI,OAAO,YAAY,KAAK;KAC3B,MAAM;KACN,SAAS,6BAA6B,KAAK;KAC3C,UAAU,WAAW;KACrB;IACD,CAAC;IACD;GACD;GACA,MAAM,IAAI,IAAI;GACd,OAAO;EACR;EACA,KAAK,MAAM,eAAe,SAAS,aAAa,GAAG,IAAI,uBAAuB,qBAAqB;GAClG,MAAM,OAAO,MAAM,eAAe,YAAY,KAAK,CAAC;GACpD,IAAI,SAAS,KAAK,GAAG,OAAO,QAAQ,WAAW,MAAM,aAAa,SAAS,WAAW;EACvF,OAAO,IAAI,uBAAuB,6BAA6B;GAC9D,MAAM,OAAO,MAAM,eAAe,YAAY,KAAK,CAAC;GACpD,IAAI,SAAS,KAAK,GAAG,eAAe,QAAQ,mBAAmB,MAAM,aAAa,SAAS,WAAW;EACvG,OAAO,IAAI,uBAAuB,4BAA4B;GAC7D,MAAM,OAAO,MAAM,eAAe,YAAY,KAAK,CAAC;GACpD,IAAI,SAAS,KAAK,GAAG,OAAO,QAAQ,WAAW,MAAM,aAAa,SAAS,qBAAqB,WAAW;EAC5G,OAAO,IAAI,uBAAuB,yBAAyB;GAC1D,MAAM,eAAe,YAAY,KAAK,CAAC,EAAE,KAAK;GAC9C,IAAI,iBAAiB,KAAK,GAAG;GAC7B,IAAI,YAAY,WAAW;GAC3B,IAAI,cAAc,KAAK,GAAG;IACzB,MAAM,OAAO,MAAM,eAAe,YAAY,KAAK,CAAC;IACpD,IAAI,SAAS,KAAK,GAAG;IACrB,YAAY;KACX,MAAM;KACN;KACA,cAAc,CAAC;KACf,QAAQ,OAAO,OAAO,IAAI;KAC1B,gBAAgB,OAAO,OAAO,IAAI;KAClC,QAAQ,OAAO,OAAO,IAAI;IAC3B;IACA,WAAW,QAAQ;GACpB;GACA,gBAAgB,WAAW,aAAa,aAAa,SAAS,mBAAmB;EAClF,OAAO,IAAI,uBAAuB,eAAe,KAAK,MAAM,WAAW,YAAY,aAAa,GAAG;GAClG,MAAM,OAAO,MAAM,eAAe,QAAQ,KAAK,CAAC;GAChD,IAAI,SAAS,KAAK,GAAG;GACrB,MAAM,WAAW,wBAAwB,SAAS,OAAO;GACzD,WAAW,QAAQ;IAClB,MAAM;IACN;IACA,MAAM;IACN,MAAM,YAAY,QAAQ,QAAQ,OAAO;IACzC,GAAG;GACJ;EACD;CACD;CACA,OAAO;EACN,aAAa,EAAE,UAAU;GACxB;GACA;GACA;GACA;GACA;EACD,EAAE;EACF;CACD;AACD;AACA,SAAS,WAAW,MAAM,MAAM,SAAS,aAAa;CACrD,OAAO;EACN,MAAM;EACN;EACA;EACA,MAAM,YAAY,KAAK,QAAQ,OAAO;EACtC,QAAQ,YAAY,MAAM,KAAK,OAAO,GAAG,SAAS,WAAW;EAC7D,YAAY,uBAAuB,KAAK,WAAW,GAAG,OAAO;CAC9D;AACD;AACA,SAAS,mBAAmB,MAAM,MAAM,SAAS,aAAa;CAC7D,OAAO;EACN,MAAM;EACN;EACA;EACA,MAAM,YAAY,KAAK,QAAQ,OAAO;EACtC,QAAQ,YAAY,MAAM,KAAK,OAAO,GAAG,SAAS,WAAW;EAC7D,YAAY,uBAAuB,KAAK,WAAW,GAAG,OAAO;CAC9D;AACD;AACA,SAAS,WAAW,MAAM,MAAM,SAAS,qBAAqB,aAAa;CAC1E,MAAM,UAAU,KAAK,QAAQ,CAAC,EAAE,QAAQ;CACxC,MAAM,aAAa,oBAAoB,qBAAqB,OAAO;CACnE,OAAO;EACN,MAAM;EACN;EACA;EACA;EACA,MAAM,YAAY,KAAK,QAAQ,OAAO;EACtC,OAAO,0BAA0B,MAAM,YAAY,SAAS,WAAW;CACxE;AACD;AACA,SAAS,gBAAgB,WAAW,MAAM,aAAa,SAAS,qBAAqB;CACpF,MAAM,EAAE,QAAQ,gBAAgB,WAAW;CAC3C,UAAU,aAAa,KAAK;EAC3B;EACA,MAAM,YAAY,KAAK,QAAQ,OAAO;CACvC,CAAC;CACD,KAAK,MAAM,UAAU,KAAK,aAAa,GAAG;EACzC,MAAM,aAAa,OAAO,KAAK,CAAC,EAAE,KAAK;EACvC,IAAI,eAAe,KAAK,GAAG;EAC3B,IAAI,OAAO,OAAO,QAAQ,UAAU,KAAK,OAAO,OAAO,gBAAgB,UAAU,KAAK,OAAO,OAAO,QAAQ,UAAU,GAAG;GACxH,MAAM,QAAQ,UAAU,OAAO,KAAK,GAAG,OAAO;GAC9C,IAAI,OAAO,YAAY,KAAK;IAC3B,MAAM;IACN,SAAS,6BAA6B,WAAW;IACjD,UAAU,QAAQ,cAAc,OAAO,MAAM,CAAC,CAAC;IAC/C;GACD,CAAC;GACD;EACD;EACA,IAAI,kBAAkB,qBAAqB,OAAO,cAAc,WAAW,YAAY,QAAQ,SAAS,WAAW;OAC9G,IAAI,kBAAkB,6BAA6B,eAAe,cAAc,mBAAmB,YAAY,QAAQ,SAAS,WAAW;OAC3I,IAAI,kBAAkB,4BAA4B,OAAO,cAAc,WAAW,YAAY,QAAQ,SAAS,qBAAqB,WAAW;CACrJ;AACD;AACA,SAAS,YAAY,WAAW,QAAQ,SAAS,aAAa;CAC7D,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,WAAW,MAAM,KAAK;EAC5B,MAAM,OAAO,UAAU,KAAK;EAC5B,IAAI,SAAS,KAAK,GAAG;EACrB,IAAI,OAAO,OAAO,QAAQ,IAAI,GAAG;GAChC,MAAM,QAAQ,UAAU,UAAU,OAAO;GACzC,IAAI,OAAO,YAAY,KAAK;IAC3B,MAAM;IACN,SAAS,6BAA6B,KAAK;IAC3C,UAAU,QAAQ,cAAc,MAAM,MAAM,CAAC,CAAC;IAC9C;GACD,CAAC;GACD;EACD;EACA,OAAO,QAAQ,WAAW,WAAW,MAAM,OAAO,SAAS,WAAW;CACvE;CACA,OAAO;AACR;AACA,SAAS,WAAW,WAAW,MAAM,MAAM,SAAS,aAAa;CAChE,MAAM,aAAa,uBAAuB,KAAK,WAAW,GAAG,OAAO;CACpE,MAAM,OAAO,YAAY,KAAK,QAAQ,OAAO;CAC7C,MAAM,aAAa,KAAK,eAAe;CACvC,MAAM,WAAW,YAAY,KAAK;CAClC,IAAI,UAAU,gBAAgB,GAAG;EAChC,MAAM,OAAO,SAAS,KAAK;EAC3B,YAAY,KAAK;GAChB,MAAM;GACN,SAAS,UAAU,UAAU,GAAG,KAAK,mCAAmC,KAAK,KAAK,GAAG,EAAE;GACvF,UAAU,QAAQ,cAAc,SAAS,MAAM,CAAC,CAAC;GACjD,OAAO,UAAU,SAAS,QAAQ,OAAO;EAC1C,CAAC;EACD,OAAO;GACN,MAAM;GACN;GACA;GACA;GACA,UAAU,KAAK,KAAK,SAAS,MAAM;GACnC,UAAU;GACV,MAAM;GACN,eAAe;GACf;EACD;CACD;CACA,MAAM,kBAAkB,YAAY,cAAc,IAAI,4BAA4B,YAAY,OAAO,IAAI,KAAK;CAC9G,MAAM,kBAAkB,UAAU,UAAU,CAAC,EAAE,KAAK;CACpD,MAAM,sBAAsB,UAAU,MAAM,CAAC,EAAE,KAAK;CACpD,OAAO;EACN,MAAM;EACN;EACA;EACA;EACA,UAAU,UAAU,WAAW,CAAC,EAAE,KAAK,KAAK;EAC5C,GAAG,oBAAoB,KAAK,IAAI,EAAE,gBAAgB,IAAI,CAAC;EACvD,GAAG,wBAAwB,KAAK,IAAI,EAAE,oBAAoB,IAAI,CAAC;EAC/D,UAAU,YAAY,WAAW,KAAK;EACtC,MAAM,YAAY,OAAO,KAAK;EAC9B,GAAG,oBAAoB,KAAK,IAAI,EAAE,gBAAgB,IAAI,CAAC;EACvD;CACD;AACD;AACA,SAAS,wBAAwB,MAAM,SAAS;CAC/C,MAAM,aAAa,KAAK,eAAe;CACvC,MAAM,gBAAgB,YAAY,cAAc,KAAK;CACrD,MAAM,WAAW,YAAY,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,KAAK;CACxD,MAAM,kBAAkB,4BAA4B,YAAY,OAAO;CACvE,OAAO;EACN;EACA,GAAG,CAAC,iBAAiB,aAAa,KAAK,IAAI,EAAE,SAAS,IAAI,CAAC;EAC3D,GAAG,oBAAoB,KAAK,IAAI,EAAE,gBAAgB,IAAI,CAAC;EACvD,YAAY,uBAAuB,KAAK,WAAW,GAAG,OAAO;CAC9D;AACD;AACA,SAAS,UAAU,MAAM,SAAS;CACjC,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;CACjC,MAAM,aAAa,QAAQ,cAAc,KAAK,MAAM;CACpD,KAAK,MAAM,SAAS,KAAK,OAAO,OAAO,GAAG,IAAI,MAAM,SAAS,SAAS,OAAO;EAC5E,OAAO,WAAW,WAAW,MAAM,MAAM;EACzC,KAAK,WAAW,WAAW,MAAM,SAAS,MAAM,KAAK,MAAM;CAC5D;AACD;AACA,SAAS,UAAU,MAAM,SAAS;CACjC,MAAM,aAAa,QAAQ,cAAc,IAAI;CAC7C,MAAM,QAAQ,KAAK;CACnB,MAAM,MAAM,QAAQ,KAAK,MAAM;CAC/B,OAAO;EACN,OAAO,WAAW,WAAW,KAAK;EAClC,KAAK,WAAW,WAAW,GAAG;CAC/B;AACD"}
@@ -1,7 +1,7 @@
1
1
  import { o as structuredError } from "./structured-error-BXbihKQ-.mjs";
2
2
  import { t as InternalError } from "./internal-error-ChGYPVpq-DhUD05u0.mjs";
3
- import { D as TypesBlockAst, S as SyntaxNode, a as CompositeTypeDeclarationAst, c as FieldDeclarationAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, m as ModelDeclarationAst, p as ModelAttributeAst, u as GenericBlockDeclarationAst } from "./declarations-SwNXosDu-D39d5EQ-.mjs";
4
- import { o as parse } from "./parse-Cu6B62PC-BAPPRuso.mjs";
3
+ import { D as TypesBlockAst, S as SyntaxNode, a as CompositeTypeDeclarationAst, c as FieldDeclarationAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, m as ModelDeclarationAst, p as ModelAttributeAst, u as GenericBlockDeclarationAst } from "./declarations-SwNXosDu-CmiTwvc9.mjs";
4
+ import { o as parse } from "./parse-Cu6B62PC-Cn_Sj_oR.mjs";
5
5
  //#region ../../../1-framework/2-authoring/psl-parser/dist/format.mjs
6
6
  function emitDocument(document, indentUnit, newline) {
7
7
  const writer = new LineWriter(indentUnit, newline);
@@ -1,8 +1,8 @@
1
1
  import { t as Contract } from "./contract-types-Bje5yT4f-0D1Z41Lq.mjs";
2
2
  import { r as Result } from "./result-Bpupv5vO.mjs";
3
- import { c as ContractSourceProvider, m as PslContractSourceProvider, n as ContractSourceContext, o as ContractSourceDiagnostics, r as ContractSourceDiagnostic } from "./config-types-B-iTeXpN.mjs";
4
- import { I as PslDiagnostic, R as PslSources, f as DocumentAst } from "./parse-5HXALb4y-B4NflAYD.mjs";
5
- import { f as SymbolTable, i as FieldSymbol } from "./symbol-table-CDtpZvfM-BFJgmN1_.mjs";
3
+ import { c as ContractSourceProvider, m as PslContractSourceProvider, n as ContractSourceContext, o as ContractSourceDiagnostics, r as ContractSourceDiagnostic } from "./config-types-BO7wmV7m.mjs";
4
+ import { I as PslDiagnostic, R as PslSources, f as DocumentAst } from "./parse-5HXALb4y-DqeDMhhu.mjs";
5
+ import { f as SymbolTable, i as FieldSymbol } from "./symbol-table-CDtpZvfM-CWLLXuSI.mjs";
6
6
  //#region ../../../1-framework/2-authoring/psl-parser/dist/interpret.d.mts
7
7
  //#region src/interpret.d.ts
8
8
  /**
@@ -1,5 +1,5 @@
1
1
  import { n as TokenKind } from "./tokenizer-DcYI0Xrq-C-nNE9mE.mjs";
2
- import { $ as castExpression, A as ObjectFieldAst, B as Range, C as KeyValuePairAst, D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, F as Position, G as SyntaxKind, H as StringLiteralExprAst, J as TaggedLiteralExprAst, K as SyntaxNode, M as ParseDiagnostic, N as ParseOptions, O as NamespaceMemberAst, P as ParseResult, Q as any, R as PslSources, S as IdentifierAst, T as ModelDeclarationAst, U as StringLiteralQuote, V as SourceFile, W as SyntaxElement, X as TypeAnnotationAst, Y as TokenAtOffset, Z as TypesBlockAst, _ as GenericBlockDeclarationAst, a as AttributeAst, at as findChildToken, b as GreenNode, c as BracedBlock, ct as greenToken, dt as printSyntax, f as DocumentAst, g as FunctionCallAst, h as FieldDeclarationAst, i as AttributeArgListAst, it as filterChildren, j as ObjectLiteralExprAst, k as NumberLiteralExprAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, n as AstNode, o as BlockMemberAst, ot as findFirstChild, p as ExpressionAst, q as SyntaxToken, r as AttributeArgAst, s as BooleanLiteralExprAst, st as greenNode, t as ArrayLiteralAst, tt as createSyntaxTree, u as DeclarationAst, ut as parse, v as GenericBlockMemberAst, w as ModelAttributeAst, x as GreenToken, y as GreenElement, z as QualifiedNameAst } from "./parse-5HXALb4y-B4NflAYD.mjs";
2
+ import { $ as castExpression, A as ObjectFieldAst, B as Range, C as KeyValuePairAst, D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, F as Position, G as SyntaxKind, H as StringLiteralExprAst, J as TaggedLiteralExprAst, K as SyntaxNode, M as ParseDiagnostic, N as ParseOptions, O as NamespaceMemberAst, P as ParseResult, Q as any, R as PslSources, S as IdentifierAst, T as ModelDeclarationAst, U as StringLiteralQuote, V as SourceFile, W as SyntaxElement, X as TypeAnnotationAst, Y as TokenAtOffset, Z as TypesBlockAst, _ as GenericBlockDeclarationAst, a as AttributeAst, at as findChildToken, b as GreenNode, c as BracedBlock, ct as greenToken, dt as printSyntax, f as DocumentAst, g as FunctionCallAst, h as FieldDeclarationAst, i as AttributeArgListAst, it as filterChildren, j as ObjectLiteralExprAst, k as NumberLiteralExprAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, n as AstNode, o as BlockMemberAst, ot as findFirstChild, p as ExpressionAst, q as SyntaxToken, r as AttributeArgAst, s as BooleanLiteralExprAst, st as greenNode, t as ArrayLiteralAst, tt as createSyntaxTree, u as DeclarationAst, ut as parse, v as GenericBlockMemberAst, w as ModelAttributeAst, x as GreenToken, y as GreenElement, z as QualifiedNameAst } from "./parse-5HXALb4y-DqeDMhhu.mjs";
3
3
  //#region ../../../1-framework/2-authoring/psl-parser/dist/syntax.d.mts
4
4
  //#region src/syntax/green-builder.d.ts
5
5
  declare class GreenNodeBuilder {
@@ -1,5 +1,5 @@
1
- import { A as createSyntaxTree, C as SyntaxToken, D as TypesBlockAst, E as TypeAnnotationAst, M as findChildToken, N as findFirstChild, O as any, P as printSyntax, S as SyntaxNode, T as TokenAtOffset, _ as NumberLiteralExprAst, a as CompositeTypeDeclarationAst, b as QualifiedNameAst, c as FieldDeclarationAst, d as IdentifierAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, i as BooleanLiteralExprAst, j as filterChildren, k as castExpression, l as FunctionCallAst, m as ModelDeclarationAst, n as AttributeArgAst, o as DocumentAst, p as ModelAttributeAst, r as AttributeArgListAst, s as FieldAttributeAst, t as ArrayLiteralAst, u as GenericBlockDeclarationAst, v as ObjectFieldAst, w as TaggedLiteralExprAst, x as StringLiteralExprAst, y as ObjectLiteralExprAst } from "./declarations-SwNXosDu-D39d5EQ-.mjs";
2
- import { a as greenToken, i as greenNode, n as PslSources, o as parse, r as SourceFile, t as GreenNodeBuilder } from "./parse-Cu6B62PC-BAPPRuso.mjs";
1
+ import { A as createSyntaxTree, C as SyntaxToken, D as TypesBlockAst, E as TypeAnnotationAst, M as findChildToken, N as findFirstChild, O as any, P as printSyntax, S as SyntaxNode, T as TokenAtOffset, _ as NumberLiteralExprAst, a as CompositeTypeDeclarationAst, b as QualifiedNameAst, c as FieldDeclarationAst, d as IdentifierAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, i as BooleanLiteralExprAst, j as filterChildren, k as castExpression, l as FunctionCallAst, m as ModelDeclarationAst, n as AttributeArgAst, o as DocumentAst, p as ModelAttributeAst, r as AttributeArgListAst, s as FieldAttributeAst, t as ArrayLiteralAst, u as GenericBlockDeclarationAst, v as ObjectFieldAst, w as TaggedLiteralExprAst, x as StringLiteralExprAst, y as ObjectLiteralExprAst } from "./declarations-SwNXosDu-CmiTwvc9.mjs";
2
+ import { a as greenToken, i as greenNode, n as PslSources, o as parse, r as SourceFile, t as GreenNodeBuilder } from "./parse-Cu6B62PC-Cn_Sj_oR.mjs";
3
3
  //#region ../../../1-framework/2-authoring/psl-parser/dist/syntax.mjs
4
4
  const TRIVIA_KINDS = /* @__PURE__ */ new Set([
5
5
  "Whitespace",
@@ -1,9 +1,9 @@
1
- import { c as CodecLookup } from "./codec-types-kYJyrqbr-Svq8WsGL.mjs";
2
- import { C as AuthoringPslBlockDescriptorNamespace } from "./framework-authoring-3NOnOdDj-D1fs_v7v.mjs";
3
- import "./authoring-BQ6N2aqm.mjs";
4
- import "./codec-DgHW_ymr.mjs";
5
- import { m as PslDocumentAst } from "./psl-ast-B2fz3C8J-ThGHYpLN.mjs";
6
- import "./psl-ast-CYAtex8A.mjs";
1
+ import { f as CodecLookup } from "./codec-types-CUHzY47p-BGExkYMT.mjs";
2
+ import { w as AuthoringPslBlockDescriptorNamespace } from "./framework-authoring-Co1079uY-BbMaaDFN.mjs";
3
+ import "./authoring-BAkAELU9.mjs";
4
+ import "./codec-CNyDiibx.mjs";
5
+ import { m as PslDocumentAst } from "./psl-ast-COX_BDIK-Db5b89j9.mjs";
6
+ import "./psl-ast-B4EnAqNe.mjs";
7
7
  //#region ../../../1-framework/2-authoring/psl-printer/dist/index.d.mts
8
8
  //#region src/print-psl.d.ts
9
9
  type PslBlockDescriptorsNamespace = AuthoringPslBlockDescriptorNamespace;
@@ -1,7 +1,7 @@
1
1
  import { t as blindCast } from "./casts-DpaahrlC-Bd5n2coI.mjs";
2
2
  import { t as ifDefined } from "./defined-BQWA85QH-BRSBMULx.mjs";
3
3
  import { o as structuredError } from "./structured-error-BXbihKQ-.mjs";
4
- import { h as isAuthoringPslBlockDescriptor } from "./framework-authoring-BvxZnsPY-DlD1nwU5.mjs";
4
+ import { h as isAuthoringPslBlockDescriptor } from "./framework-authoring-CJMqNFpW-zTV9yCxx.mjs";
5
5
  import { i as flatPslModels, s as namespacePslExtensionBlocks } from "./psl-ast-DUCvVXbB.mjs";
6
6
  //#region ../../../1-framework/2-authoring/psl-printer/dist/index.mjs
7
7
  function contractError(code, message, options) {
@@ -1,6 +1,33 @@
1
1
  import { t as blindCast } from "./casts-DpaahrlC-Bd5n2coI.mjs";
2
2
  import { n as runtimeError } from "./runtime-error-BA9d7XjZ-BlT8t6LB.mjs";
3
- //#region ../../../1-framework/1-core/framework-components/dist/resolve-codec-BLRGmP1f.mjs
3
+ //#region ../../../1-framework/1-core/framework-components/dist/resolve-codec-C13hn-14.mjs
4
+ const DATA_TYPE_ID = /^[a-z0-9]+(?:-[a-z0-9]+)*\/[a-z0-9]+(?:-[a-z0-9]+)*$/;
5
+ /** Read `id` as a data type id, refusing anything that is not `owner/name` in lower case. */
6
+ function dataTypeId(id) {
7
+ if (!DATA_TYPE_ID.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 });
8
+ return blindCast(id);
9
+ }
10
+ /** Declare a data type. Every id it names, its own and each cast's source, is validated here. */
11
+ function dataType(id, spec) {
12
+ const casts = {};
13
+ for (const [source, cast] of Object.entries(spec.casts ?? {})) casts[dataTypeId(source)] = cast;
14
+ const listCast = spec.listCast;
15
+ return {
16
+ id: dataTypeId(id),
17
+ casts,
18
+ ...listCast === void 0 ? {} : { listCast: {
19
+ of: listCast.of.map(dataTypeId),
20
+ cast: listCast.cast
21
+ } }
22
+ };
23
+ }
24
+ function createDataTypeLookup(types) {
25
+ const byId = new Map(types.map((type) => [type.id, type]));
26
+ return {
27
+ get: (id) => byId.get(id),
28
+ has: (id) => byId.has(id)
29
+ };
30
+ }
4
31
  const CONTRACT_CODEC_DESCRIPTOR_MISSING = "CONTRACT.CODEC_DESCRIPTOR_MISSING";
5
32
  /**
6
33
  * Look up a descriptor for `ref.codecId` using `descriptorFor`; throw
@@ -51,6 +78,6 @@ function materializeCodec(descriptor, ref, ctx) {
51
78
  return descriptor.factory(validated)(ctx);
52
79
  }
53
80
  //#endregion
54
- export { validateCodecTypeParams as i, materializeCodec as n, resolveCodecDescriptorOrThrow as r, CONTRACT_CODEC_DESCRIPTOR_MISSING as t };
81
+ export { materializeCodec as a, dataTypeId as i, createDataTypeLookup as n, resolveCodecDescriptorOrThrow as o, dataType as r, validateCodecTypeParams as s, CONTRACT_CODEC_DESCRIPTOR_MISSING as t };
55
82
 
56
- //# sourceMappingURL=resolve-codec-BLRGmP1f-CydhIhLP.mjs.map
83
+ //# sourceMappingURL=resolve-codec-C13hn-14-DfFGo-7T.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-codec-C13hn-14-DfFGo-7T.mjs","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/resolve-codec-C13hn-14.mjs"],"sourcesContent":["import { n as runtimeError } from \"./runtime-error-BA9d7XjZ.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/shared/data-type.ts\nconst DATA_TYPE_ID = /^[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.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\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};\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//#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\tconst descriptor = descriptorFor(ref.codecId);\n\tif (!descriptor) throw runtimeError(code, `No codec descriptor registered for codecId '${ref.codecId}'.`, { codecId: ref.codecId });\n\treturn descriptor;\n}\n/**\n* Validates `ref.typeParams` against `descriptor.paramsSchema`.\n*\n* Parameterized codecs that omit `typeParams` have it normalized to `{}` before\n* validation (mirrors `ast-codec-resolver.ts` semantics). Throws\n* `RUNTIME.TYPE_PARAMS_INVALID` when the validator returns a `Promise` or\n* reports issues.\n*/\nfunction validateCodecTypeParams(descriptor, ref) {\n\tconst normalized = descriptor.isParameterized && ref.typeParams === void 0 ? {\n\t\t...ref,\n\t\ttypeParams: {}\n\t} : ref;\n\tconst result = blindCast(descriptor.paramsSchema[\"~standard\"].validate(normalized.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//#endregion\nexport { createDataTypeLookup as a, validateCodecTypeParams as i, materializeCodec as n, dataType as o, resolveCodecDescriptorOrThrow as r, dataTypeId as s, CONTRACT_CODEC_DESCRIPTOR_MISSING as t };\n\n//# sourceMappingURL=resolve-codec-C13hn-14.mjs.map"],"mappings":";;;AAGA,MAAM,eAAe;;AAErB,SAAS,WAAW,IAAI;CACvB,IAAI,CAAC,aAAa,KAAK,EAAE,GAAG,MAAM,aAAa,iCAAiC,IAAI,GAAG,kJAAkJ,EAAE,GAAG,CAAC;CAC/O,OAAO,UAAU,EAAE;AACpB;;AAEA,SAAS,SAAS,IAAI,MAAM;CAC3B,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,CAAC,QAAQ,SAAS,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,GAAG,MAAM,WAAW,MAAM,KAAK;CAC3F,MAAM,WAAW,KAAK;CACtB,OAAO;EACN,IAAI,WAAW,EAAE;EACjB;EACA,GAAG,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,UAAU;GACzC,IAAI,SAAS,GAAG,IAAI,UAAU;GAC9B,MAAM,SAAS;EAChB,EAAE;CACH;AACD;AACA,SAAS,qBAAqB,OAAO;CACpC,MAAM,OAAO,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;CACzD,OAAO;EACN,MAAM,OAAO,KAAK,IAAI,EAAE;EACxB,MAAM,OAAO,KAAK,IAAI,EAAE;CACzB;AACD;AAGA,MAAM,oCAAoC;;;;;;;AAO1C,SAAS,8BAA8B,eAAe,KAAK,MAAM;CAChE,MAAM,aAAa,cAAc,IAAI,OAAO;CAC5C,IAAI,CAAC,YAAY,MAAM,aAAa,MAAM,+CAA+C,IAAI,QAAQ,KAAK,EAAE,SAAS,IAAI,QAAQ,CAAC;CAClI,OAAO;AACR;;;;;;;;;AASA,SAAS,wBAAwB,YAAY,KAAK;CACjD,MAAM,aAAa,WAAW,mBAAmB,IAAI,eAAe,KAAK,IAAI;EAC5E,GAAG;EACH,YAAY,CAAC;CACd,IAAI;CACJ,MAAM,SAAS,UAAU,WAAW,aAAa,YAAY,CAAC,SAAS,WAAW,UAAU,CAAC;CAC7F,IAAI,kBAAkB,SAAS,MAAM,aAAa,+BAA+B,2BAA2B,IAAI,QAAQ,6FAA6F;EACpN,SAAS,IAAI;EACb,YAAY,IAAI;CACjB,CAAC;CACD,IAAI,YAAY,UAAU,OAAO,QAAQ;EACxC,MAAM,WAAW,OAAO,OAAO,KAAK,UAAU,MAAM,OAAO,CAAC,CAAC,KAAK,IAAI;EACtE,MAAM,aAAa,+BAA+B,iCAAiC,IAAI,QAAQ,KAAK,YAAY;GAC/G,SAAS,IAAI;GACb,YAAY,IAAI;EACjB,CAAC;CACF;CACA,OAAO,UAAU,MAAM,CAAC,CAAC;AAC1B;;;;;;;AAOA,SAAS,iBAAiB,YAAY,KAAK,KAAK;CAC/C,MAAM,YAAY,wBAAwB,YAAY,GAAG;CACzD,OAAO,WAAW,QAAQ,SAAS,CAAC,CAAC,GAAG;AACzC"}
@@ -1,5 +1,5 @@
1
1
  import { G as PlanMeta } from "./domain-envelope-CENjHN4U-BIIt9bl4.mjs";
2
- import { r as CodecCallContext } from "./codec-types-kYJyrqbr-Svq8WsGL.mjs";
2
+ import { a as CodecCallContext } from "./codec-types-CUHzY47p-BGExkYMT.mjs";
3
3
  //#region ../../../1-framework/1-core/framework-components/dist/runtime.d.mts
4
4
  //#region src/annotations.d.ts
5
5
  /**
@@ -1097,4 +1097,4 @@ interface LaneMetaBuilder<K extends OperationKind> extends MetaBuilder<K> {
1097
1097
  declare function createMetaBuilder<K extends OperationKind>(kind: K, terminalName: string): LaneMetaBuilder<K>;
1098
1098
  //#endregion
1099
1099
  export { Scalars as A, raceAgainstAbort as B, RuntimeErrorEnvelope as C, RuntimeMiddleware as D, RuntimeLog as E, checkAborted as F, runtimeAborted as G, runBeforeQueryChain as H, checkMiddlewareCompatibility as I, runtimeError as K, createMetaBuilder as L, ShapeSpec as M, ValidAnnotations as N, RuntimeMiddlewareContext as O, assertAnnotationsApplicable as P, defineAnnotation as R, RuntimeCoreOptions as S, RuntimeExecutor as T, runExecuteWithMiddleware as U, runBeforeExecuteChain as V, runQueryWithMiddleware as W, RelationKeys as _, AsyncIterableResult as a, RuntimeAbortedPhase as b, ExecuteInterceptResult as c, MetaBuilder as d, OperationKind as f, RUNTIME_ABORTED as g, QueryPlan as h, AnnotationValue as i, Shape as j, RuntimeStatementStats as k, ExecutionPlan as l, QueryInterceptResult as m, AfterQueryResult as n, CrossFamilyMiddleware as o, ParamRefMutator as p, AnnotationHandle as r, DefineAnnotationOptions as s, AfterExecuteResult as t, LaneMetaBuilder as u, RelationNamesOf as v, RuntimeExecuteOptions as w, RuntimeCore as x, ResultType as y, isRuntimeError as z };
1100
- //# sourceMappingURL=runtime-TlGBi-DH.d.mts.map
1100
+ //# sourceMappingURL=runtime-BF7FbnSQ.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-TlGBi-DH.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/runtime.d.mts"],"mappings":"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"}
1
+ {"version":3,"file":"runtime-BF7FbnSQ.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/runtime.d.mts"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { C as AuthoringPslBlockDescriptorNamespace, X as PslSpan, z as PslExtensionBlock } from "./framework-authoring-3NOnOdDj-D1fs_v7v.mjs";
2
- import "./authoring-BQ6N2aqm.mjs";
3
- import "./psl-ast-CYAtex8A.mjs";
4
- import { D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, K as SyntaxNode, M as ParseDiagnostic, R as PslSources, T as ModelDeclarationAst, X as TypeAnnotationAst, _ as GenericBlockDeclarationAst, f as DocumentAst, h as FieldDeclarationAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, p as ExpressionAst, w as ModelAttributeAst } from "./parse-5HXALb4y-B4NflAYD.mjs";
1
+ import { Z as PslExtensionBlock, ct as PslSpan, w as AuthoringPslBlockDescriptorNamespace } from "./framework-authoring-Co1079uY-BbMaaDFN.mjs";
2
+ import "./authoring-BAkAELU9.mjs";
3
+ import "./psl-ast-B4EnAqNe.mjs";
4
+ import { D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, K as SyntaxNode, M as ParseDiagnostic, R as PslSources, T as ModelDeclarationAst, X as TypeAnnotationAst, _ as GenericBlockDeclarationAst, f as DocumentAst, h as FieldDeclarationAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, p as ExpressionAst, w as ModelAttributeAst } from "./parse-5HXALb4y-DqeDMhhu.mjs";
5
5
  //#region ../../../1-framework/2-authoring/psl-parser/dist/symbol-table-CDtpZvfM.d.mts
6
6
  //#region src/resolve.d.ts
7
7
  interface ResolvedAttributeArg {
@@ -123,4 +123,4 @@ interface SymbolTableResult {
123
123
  declare function buildSymbolTable(options: BuildSymbolTableOptions): SymbolTableResult;
124
124
  //#endregion
125
125
  export { nodePslSpan as _, ModelSymbol as a, readResolvedConstructorCall as b, ResolvedAttribute as c, ResolvedTypeConstructorCall as d, SymbolTable as f, keywordPslSpan as g, buildSymbolTable as h, FieldSymbol as i, ResolvedAttributeArg as l, TopLevelScope as m, BuildSymbolTableOptions as n, NamedTypeSymbol as o, SymbolTableResult as p, CompositeTypeSymbol as r, NamespaceSymbol as s, BlockSymbol as t, ResolvedNamedTypeBinding as u, readResolvedAttribute as v, readResolvedAttributes as y };
126
- //# sourceMappingURL=symbol-table-CDtpZvfM-BFJgmN1_.d.mts.map
126
+ //# sourceMappingURL=symbol-table-CDtpZvfM-CWLLXuSI.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-table-CDtpZvfM-BFJgmN1_.d.mts","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/symbol-table-CDtpZvfM.d.mts"],"mappings":";;;;;;UAIU;WACC;WACA;WACA;WACA,aAAa;WACb,MAAM;;UAEP;WACC;WACA,eAAe;WACf,MAAM;;UAEP;WACC;WACA,eAAe;WACf,MAAM;;iBAEA,sBAAsB,WAAW,oBAAoB,mBAAmB,SAAS,aAAa;iBAC9F,uBAAuB,YAAY,SAAS,oBAAoB,oBAAoB,SAAS,sBAAsB;iBACnH,4BAA4B,YAAY,+BAA+B,SAAS,aAAa;iBAC7F,YAAY,MAAM,YAAY,SAAS,aAAa;;iBAEpD,eAAe,MAAM,YAAY,iBAAiB,SAAS,aAAa;;;UAG/E;WACC,UAAU;;UAEX;WACC,YAAY,eAAe;WAC3B,YAAY,eAAe;WAC3B,QAAQ,eAAe;WACvB,QAAQ,eAAe;WACvB,gBAAgB,eAAe;;UAEhC;WACC;WACA;WACA;aACE,MAAM;aACN,MAAM;;WAER,QAAQ,eAAe;WACvB,gBAAgB,eAAe;WAC/B,QAAQ,eAAe;;UAExB;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB;;UAEtB;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB;;UAEtB;WACC;WACA;WACA;WACA,MAAM;WACN,MAAM;;WAEN,OAAO;;UAER;WACC;WACA,kBAAkB;WAClB;WACA,qBAAqB;;;;;;;UAOtB,wBAAwB;WACvB;WACA;WACA,MAAM;WACN,MAAM;;UAEP;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN;WACA;WACA;WACA;WACA;WACA,kBAAkB;WAClB,qBAAqB;;WAErB;;UAED;WACC,oBAAoB;WACpB,SAAS;WACT,qBAAqB;;UAEtB;WACC,aAAa;WACb,sBAAsB;;;;;;iBAMhB,iBAAiB,SAAS,0BAA0B"}
1
+ {"version":3,"file":"symbol-table-CDtpZvfM-CWLLXuSI.d.mts","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/symbol-table-CDtpZvfM.d.mts"],"mappings":";;;;;;UAIU;WACC;WACA;WACA;WACA,aAAa;WACb,MAAM;;UAEP;WACC;WACA,eAAe;WACf,MAAM;;UAEP;WACC;WACA,eAAe;WACf,MAAM;;iBAEA,sBAAsB,WAAW,oBAAoB,mBAAmB,SAAS,aAAa;iBAC9F,uBAAuB,YAAY,SAAS,oBAAoB,oBAAoB,SAAS,sBAAsB;iBACnH,4BAA4B,YAAY,+BAA+B,SAAS,aAAa;iBAC7F,YAAY,MAAM,YAAY,SAAS,aAAa;;iBAEpD,eAAe,MAAM,YAAY,iBAAiB,SAAS,aAAa;;;UAG/E;WACC,UAAU;;UAEX;WACC,YAAY,eAAe;WAC3B,YAAY,eAAe;WAC3B,QAAQ,eAAe;WACvB,QAAQ,eAAe;WACvB,gBAAgB,eAAe;;UAEhC;WACC;WACA;WACA;aACE,MAAM;aACN,MAAM;;WAER,QAAQ,eAAe;WACvB,gBAAgB,eAAe;WAC/B,QAAQ,eAAe;;UAExB;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB;;UAEtB;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB;;UAEtB;WACC;WACA;WACA;WACA,MAAM;WACN,MAAM;;WAEN,OAAO;;UAER;WACC;WACA,kBAAkB;WAClB;WACA,qBAAqB;;;;;;;UAOtB,wBAAwB;WACvB;WACA;WACA,MAAM;WACN,MAAM;;UAEP;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN;WACA;WACA;WACA;WACA;WACA,kBAAkB;WAClB,qBAAqB;;WAErB;;UAED;WACC,oBAAoB;WACpB,SAAS;WACT,qBAAqB;;UAEtB;WACC,aAAa;WACb,sBAAsB;;;;;;iBAMhB,iBAAiB,SAAS,0BAA0B"}
@@ -1,6 +1,6 @@
1
1
  import { V as JsonValue } from "./domain-envelope-CENjHN4U-BIIt9bl4.mjs";
2
- import { d as CodecTrait, l as CodecRef } from "./codec-types-kYJyrqbr-Svq8WsGL.mjs";
3
- //#region ../../../1-framework/1-core/framework-components/dist/types-import-spec-CzOtW57G.d.mts
2
+ import { h as CodecTrait, p as CodecRef } from "./codec-types-CUHzY47p-BGExkYMT.mjs";
3
+ //#region ../../../1-framework/1-core/framework-components/dist/types-import-spec-fliHHCFF.d.mts
4
4
  //#region src/shared/aggregate-descriptor.d.ts
5
5
  /**
6
6
  * How a descriptor matches the value an aggregate consumes.
@@ -110,4 +110,4 @@ interface TypesImportSpec {
110
110
  }
111
111
  //#endregion
112
112
  export { AnyInputAggregateDescriptor as a, SelfAggregateOutput as c, aggregateDescriptorKey as d, isAggregateDescriptor as f, AggregateResultNullability as i, TypesImportSpec as l, isNoInputAggregateDescriptor as m, AggregateInputMatch as n, NamedAggregateOutput as o, isAnyInputAggregateDescriptor as p, AggregateOutputCodec as r, NoInputAggregateDescriptor as s, AggregateDescriptor as t, ValueInputAggregateDescriptor as u };
113
- //# sourceMappingURL=types-import-spec-CzOtW57G-C3xwIiiM.d.mts.map
113
+ //# sourceMappingURL=types-import-spec-fliHHCFF-B1yF0Xw3.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-import-spec-CzOtW57G-C3xwIiiM.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/types-import-spec-CzOtW57G.d.mts"],"mappings":";;;;;;;;;;;;;;KAaK;WACM;;WAEA;WACA;;WAEA;WACA,OAAO;;WAEP;;;;;;;UAOD;WACC;WACA;WACA,cAAc,OAAO,yBAAyB;;;UAG/C;WACC;;;KAGN,uBAAuB,sBAAsB;;;;;;KAM7C;WACM;;WAEA;WACA,iBAAiB;;KAEvB,0BAA0B;;WAEpB;;;KAGN,6BAA6B;WACvB;aACE;;WAEF,QAAQ;;;KAGd,8BAA8B;WACxB;aACE;;WAEF,QAAQ;;;KAGd,gCAAgC;WAC1B;aACE;aACA;;aAEA;aACA,OAAO;;WAET,QAAQ;;;;;;;KAOd,sBAAsB,6BAA6B,8BAA8B;;;;iBAIrE,uBAAuB,YAAY;;iBAEnC,6BAA6B,YAAY,sBAAsB,cAAc;;iBAE7E,8BAA8B,YAAY,sBAAsB,cAAc;;;;iBAI9E,sBAAsB,iBAAiB,SAAS;;;;;;;UAOvD;WACC;WACA;WACA"}
1
+ {"version":3,"file":"types-import-spec-fliHHCFF-B1yF0Xw3.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/types-import-spec-fliHHCFF.d.mts"],"mappings":";;;;;;;;;;;;;;KAaK;WACM;;WAEA;WACA;;WAEA;WACA,OAAO;;WAEP;;;;;;;UAOD;WACC;WACA;WACA,cAAc,OAAO,yBAAyB;;;UAG/C;WACC;;;KAGN,uBAAuB,sBAAsB;;;;;;KAM7C;WACM;;WAEA;WACA,iBAAiB;;KAEvB,0BAA0B;;WAEpB;;;KAGN,6BAA6B;WACvB;aACE;;WAEF,QAAQ;;;KAGd,8BAA8B;WACxB;aACE;;WAEF,QAAQ;;;KAGd,gCAAgC;WAC1B;aACE;aACA;;aAEA;aACA,OAAO;;WAET,QAAQ;;;;;;;KAOd,sBAAsB,6BAA6B,8BAA8B;;;;iBAIrE,uBAAuB,YAAY;;iBAEnC,6BAA6B,YAAY,sBAAsB,cAAc;;iBAE7E,8BAA8B,YAAY,sBAAsB,cAAc;;;;iBAI9E,sBAAsB,iBAAiB,SAAS;;;;;;;UAOvD;WACC;WACA;WACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-framework",
3
- "version": "8.0.0-rc.11-dev.41",
3
+ "version": "8.0.0-rc.11-dev.43",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -15,20 +15,20 @@
15
15
  "uniku": "^0.5.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@internal/config": "8.0.0-rc.11-dev.41",
19
- "@internal/contract": "8.0.0-rc.11-dev.41",
20
- "@internal/contract-authoring": "8.0.0-rc.11-dev.41",
21
- "@internal/errors": "8.0.0-rc.11-dev.41",
22
- "@internal/framework-components": "8.0.0-rc.11-dev.41",
23
- "@internal/ids": "8.0.0-rc.11-dev.41",
24
- "@internal/operations": "8.0.0-rc.11-dev.41",
25
- "@internal/psl-parser": "8.0.0-rc.11-dev.41",
26
- "@internal/psl-printer": "8.0.0-rc.11-dev.41",
27
- "@internal/ts-render": "8.0.0-rc.11-dev.41",
28
- "@repo/tsconfig": "8.0.0-rc.11-dev.41",
29
- "@internal/publish-surface": "8.0.0-rc.11-dev.41",
30
- "@repo/tsdown": "8.0.0-rc.11-dev.41",
31
- "@internal/utils": "8.0.0-rc.11-dev.41",
18
+ "@internal/config": "8.0.0-rc.11-dev.43",
19
+ "@internal/contract": "8.0.0-rc.11-dev.43",
20
+ "@internal/contract-authoring": "8.0.0-rc.11-dev.43",
21
+ "@internal/errors": "8.0.0-rc.11-dev.43",
22
+ "@internal/framework-components": "8.0.0-rc.11-dev.43",
23
+ "@internal/ids": "8.0.0-rc.11-dev.43",
24
+ "@internal/operations": "8.0.0-rc.11-dev.43",
25
+ "@internal/psl-parser": "8.0.0-rc.11-dev.43",
26
+ "@internal/psl-printer": "8.0.0-rc.11-dev.43",
27
+ "@internal/ts-render": "8.0.0-rc.11-dev.43",
28
+ "@repo/tsconfig": "8.0.0-rc.11-dev.43",
29
+ "@internal/publish-surface": "8.0.0-rc.11-dev.43",
30
+ "@repo/tsdown": "8.0.0-rc.11-dev.43",
31
+ "@internal/utils": "8.0.0-rc.11-dev.43",
32
32
  "tsdown": "0.22.14",
33
33
  "typescript": "5.9.3",
34
34
  "vitest": "5.0.0-rc.2"
@@ -1 +0,0 @@
1
- import "./framework-authoring-3NOnOdDj-D1fs_v7v.mjs";