@cratis/screenplay-language 5.0.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/bundles/compiler/Dependencies/SliceReferences.js +1 -1
  2. package/dist/bundles/compiler/Dependencies/SliceReferences.js.map +1 -1
  3. package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js +1 -1
  4. package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js.map +1 -1
  5. package/dist/bundles/compiler/Files/PlayFolderMerge.js +1 -1
  6. package/dist/bundles/compiler/Files/PlayFolderMerge.js.map +1 -1
  7. package/dist/bundles/compiler/Parsing/FoldedEventSources.js +2 -0
  8. package/dist/bundles/compiler/Parsing/FoldedEventSources.js.map +1 -0
  9. package/dist/bundles/compiler/Parsing/ScreenplayParser.js +1 -1
  10. package/dist/bundles/compiler/Parsing/ScreenplayParser.js.map +1 -1
  11. package/dist/bundles/compiler/Parsing/SpecificationCaseValidator.js +1 -1
  12. package/dist/bundles/compiler/Parsing/SpecificationCaseValidator.js.map +1 -1
  13. package/dist/bundles/compiler/Parsing/SpecificationParser.js +1 -1
  14. package/dist/bundles/compiler/Parsing/SpecificationParser.js.map +1 -1
  15. package/dist/bundles/compiler/Parsing/StateMachineParser.js +2 -0
  16. package/dist/bundles/compiler/Parsing/StateMachineParser.js.map +1 -0
  17. package/dist/bundles/compiler/Parsing/WorkflowParser.js +2 -0
  18. package/dist/bundles/compiler/Parsing/WorkflowParser.js.map +1 -0
  19. package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.js +1 -1
  20. package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.js.map +1 -1
  21. package/dist/bundles/compiler/Syntax/Structure.js.map +1 -1
  22. package/dist/bundles/compiler/Syntax/SyntaxCollections.js +1 -1
  23. package/dist/bundles/compiler/Syntax/SyntaxCollections.js.map +1 -1
  24. package/dist/bundles/completion-items.js +22 -16
  25. package/dist/bundles/completion-items.js.map +1 -1
  26. package/dist/bundles/completion-planner.js +2 -2
  27. package/dist/bundles/completion-planner.js.map +1 -1
  28. package/dist/bundles/keyword-docs.js +1 -1
  29. package/dist/bundles/keyword-docs.js.map +1 -1
  30. package/dist/bundles/language.js +1 -1
  31. package/dist/bundles/language.js.map +1 -1
  32. package/dist/bundles/tokens.js +1 -1
  33. package/dist/bundles/tokens.js.map +1 -1
  34. package/dist/completion-items.d.ts +3 -0
  35. package/dist/completion-items.d.ts.map +1 -1
  36. package/dist/completion-planner.d.ts.map +1 -1
  37. package/dist/keyword-docs.d.ts.map +1 -1
  38. package/dist/language.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import"../../_virtual/_virtual/_rolldown/runtime.js";import{dependencySourcesOf as e}from"../Syntax/DependencySources.js";import{ScreenplaySyntaxWalker as t}from"../Syntax/ScreenplaySyntaxWalker.js";const n={from:`usesFactsFrom`,join:`usesFactsFrom`,remove:`usesFactsFrom`,removeViaJoin:`usesFactsFrom`,clear:`usesFactsFrom`,entersOn:`usesFactsFrom`,reduces:`usesFactsFrom`,uniqueEvent:`usesFactsFrom`,uniqueProperty:`usesFactsFrom`,concurrency:`usesFactsFrom`,trigger:`reactsTo`,reads:`decidesFrom`,invokes:`asks`,action:`asks`,actionAlternative:`asks`,actionOtherwise:`asks`,formCommand:`asks`,dataQuery:`shows`,populate:`shows`,navigate:`shows`,whenRedeliveredEvent:`verifiedWith`,redeliveryReaction:`verifiedWith`,refusalConstraint:null,refusalProduces:null,specificationEvent:`verifiedWith`,givenEvent:`verifiedWith`,whenAppendedEvent:`verifiedWith`,thenEvent:`verifiedWith`,whenCommand:`verifiedWith`,thenInvokes:`verifiedWith`,declares:null,uses:null,commandEventSource:null,commandStream:null,specificationEventSource:null,specificationStream:null,thenOperation:null,givenOperationFailure:null,thenCompensated:null,produces:null,authorizes:null,queryResult:null,dataReadModel:null,type:null,exampleType:null,contributes:null,template:null,specificationReadModel:null,thenAbsentReadModel:null,thenReadModel:null,givenReadModel:null,thenQuery:null,compositeKeyType:null,builds:null,buildsVariant:null,appends:null,seed:null};function sliceReferences(e){let t=new SliceReferenceCollector;return t.visitSlice(e),{references:t.references.sort((e,t)=>e.location.line-t.location.line||e.location.column-t.location.column),shared:t.shared}}function buildingReadModelReferences(t,n){let r=new SliceReferenceCollector(n);return t.projections.forEach(e=>r.visitProjection(e)),e(t).reducers?.filter(e=>e.readModel.toLowerCase()===n.toLowerCase()).forEach(e=>r.visitReducer(e)),r.references}function variants(e){return e.flatMap(e=>e.kind===`ProjectionVariantSyntax`?[e,...variants(e.blocks)]:e.kind===`ChildrenSyntax`||e.kind===`NestedSyntax`?variants(e.blocks):[])}var SliceReferenceCollector=class extends t{readModel;references=[];shared=[];specification;projection=!1;constructor(e){super(),this.readModel=e}matches(e){return e.toLowerCase()===this.readModel?.toLowerCase()}visitSlice(t){super.visitSlice(t),e(t).reducers?.forEach(e=>this.visitReducer(e))}visitCommand(t){let n=e(t);n.reads?.forEach(e=>this.visitReads(e)),n.concurrency!=null&&this.visitConcurrency(n.concurrency),super.visitCommand(t)}visitReactionTrigger(t){let n=e(t);n.data?.forEach(e=>this.visitTriggerData(e)),n.reads?.forEach(e=>this.visitReads(e)),super.visitReactionTrigger(t)}visitProjection(e){if(this.readModel!==void 0){let t=variants(e.blocks);if(t.length===0?!this.matches(e.readModel??e.name):!t.some(e=>this.matches(e.name)))return}this.projection=!0,super.visitProjection(e),this.projection=!1}visitSpecification(e){this.specification=e,super.visitSpecification(e),this.specification=void 0}visitNode(e){let add=(t,r,i)=>{this.references.push({name:t,targetKind:r,role:i,kind:n[i],location:e.location,timeline:this.projection||[`trigger`,`reads`,`reduces`].includes(i)})};switch(e.kind){case`TypeRefSyntax`:{let t=e.name;[`Uuid`,`String`,`Int`,`Decimal`,`Bool`,`Date`,`DateTime`].includes(t)||this.shared.push({kind:`type`,name:t});break}case`PolicyReferenceSyntax`:this.shared.push({kind:`policy`,name:e.name});break;case`EventSpecSyntax`:add(e.event,`Event`,`from`);break;case`JoinEventSyntax`:add(e.event,`Event`,`join`);break;case`RemoveWithSyntax`:add(e.event,`Event`,`remove`);break;case`RemoveViaJoinSyntax`:add(e.event,`Event`,`removeViaJoin`);break;case`ClearWithSyntax`:add(e.event,`Event`,`clear`);break;case`ProjectionEntersOnSyntax`:add(e.event,`Event`,`entersOn`);break;case`ReducerRuleSyntax`:add(e.event,`Event`,`reduces`);break;case`UniqueEventConstraintSyntax`:add(e.event,`Event`,`uniqueEvent`);break;case`UniquePropertyConstraintSyntax`:add(e.event,`Event`,`uniqueProperty`);break;case`NamedTriggerSourceSyntax`:add(e.name,`Event`,`trigger`);break;case`ReadsSyntax`:add(e.readModel,`ReadModel`,`reads`);break;case`InvokesSyntax`:add(e.command,`Command`,`invokes`);break;case`ScreenActionSyntax`:add(e.command,`Command`,`action`);break;case`ScreenActionAlternativeSyntax`:add(e.command,`Command`,`actionAlternative`);break;case`ScreenActionOtherwiseSyntax`:{let t=e.command;t!==null&&add(t,`Command`,`actionOtherwise`);break}case`FormSyntax`:add(e.for,`Command`,`formCommand`);break;case`ScreenDataSyntax`:add(e.query,`Query`,`dataQuery`);break;case`FormPopulateViaQuerySyntax`:add(e.query,`Query`,`populate`);break;case`ScreenNavigateSyntax`:add(e.screen,`Screen`,`navigate`);break;case`SpecificationEventSyntax`:add(e.eventType,`Event`,this.specification?.given.includes(e)===!0?`givenEvent`:this.specification?.whenAppended===e?`whenAppendedEvent`:`thenEvent`);break;case`SpecificationCommandSyntax`:add(e.commandType,`Command`,`whenCommand`);break;case`SpecificationInvocationSyntax`:add(e.command,`Command`,`thenInvokes`);break;case`SpecificationRedeliverySyntax`:{let t=e;add(t.eventType,`Event`,`whenRedeliveredEvent`),add(t.reaction,`Reaction`,`redeliveryReaction`);break}case`ConcurrencySyntax`:e.eventTypes.forEach(e=>add(e,`Event`,`concurrency`))}}};export{SliceReferenceCollector,buildingReadModelReferences,n as referenceClassifications,sliceReferences};
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{dependencySourcesOf as e}from"../Syntax/DependencySources.js";import{ScreenplaySyntaxWalker as t}from"../Syntax/ScreenplaySyntaxWalker.js";const n={from:`usesFactsFrom`,join:`usesFactsFrom`,remove:`usesFactsFrom`,removeViaJoin:`usesFactsFrom`,clear:`usesFactsFrom`,entersOn:`usesFactsFrom`,reduces:`usesFactsFrom`,uniqueEvent:`usesFactsFrom`,uniqueProperty:`usesFactsFrom`,concurrency:`usesFactsFrom`,trigger:`reactsTo`,reads:`decidesFrom`,invokes:`asks`,action:`asks`,actionAlternative:`asks`,actionOtherwise:`asks`,formCommand:`asks`,dataQuery:`shows`,populate:`shows`,navigate:`shows`,whenRedeliveredEvent:`verifiedWith`,redeliveryReaction:`verifiedWith`,refusalConstraint:null,refusalProduces:null,specificationEvent:`verifiedWith`,givenEvent:`verifiedWith`,whenAppendedEvent:`verifiedWith`,thenEvent:`verifiedWith`,whenCommand:`verifiedWith`,thenInvokes:`verifiedWith`,declares:null,uses:null,commandEventSource:null,commandStream:null,specificationEventSource:null,specificationStream:null,thenOperation:null,givenOperationFailure:null,thenCompensated:null,produces:null,authorizes:null,queryResult:null,dataReadModel:null,type:null,exampleType:null,contributes:null,template:null,specificationReadModel:null,thenAbsentReadModel:null,thenReadModel:null,givenReadModel:null,thenQuery:null,compositeKeyType:null,builds:null,buildsVariant:null,appends:null,seed:null,follows:null,entersSend:null,entersStart:null,transitionOn:null,workflowSubject:null,workflowWait:null,workflowTrigger:null,workflowAction:null,workflowApproval:null};function sliceReferences(e){let t=new SliceReferenceCollector;return t.visitSlice(e),{references:t.references.sort((e,t)=>e.location.line-t.location.line||e.location.column-t.location.column),shared:t.shared}}function buildingReadModelReferences(t,n){let r=new SliceReferenceCollector(n);return t.projections.forEach(e=>r.visitProjection(e)),e(t).reducers?.filter(e=>e.readModel.toLowerCase()===n.toLowerCase()).forEach(e=>r.visitReducer(e)),r.references}function variants(e){return e.flatMap(e=>e.kind===`ProjectionVariantSyntax`?[e,...variants(e.blocks)]:e.kind===`ChildrenSyntax`||e.kind===`NestedSyntax`?variants(e.blocks):[])}var SliceReferenceCollector=class extends t{readModel;references=[];shared=[];specification;projection=!1;constructor(e){super(),this.readModel=e}matches(e){return e.toLowerCase()===this.readModel?.toLowerCase()}visitSlice(t){super.visitSlice(t),e(t).reducers?.forEach(e=>this.visitReducer(e))}visitCommand(t){let n=e(t);n.reads?.forEach(e=>this.visitReads(e)),n.concurrency!=null&&this.visitConcurrency(n.concurrency),super.visitCommand(t)}visitReactionTrigger(t){let n=e(t);n.data?.forEach(e=>this.visitTriggerData(e)),n.reads?.forEach(e=>this.visitReads(e)),super.visitReactionTrigger(t)}visitProjection(e){if(this.readModel!==void 0){let t=variants(e.blocks);if(t.length===0?!this.matches(e.readModel??e.name):!t.some(e=>this.matches(e.name)))return}this.projection=!0,super.visitProjection(e),this.projection=!1}visitSpecification(e){this.specification=e,super.visitSpecification(e),this.specification=void 0}visitNode(e){let add=(t,r,i)=>{this.references.push({name:t,targetKind:r,role:i,kind:n[i],location:e.location,timeline:this.projection||[`trigger`,`reads`,`reduces`].includes(i)})};switch(e.kind){case`TypeRefSyntax`:{let t=e.name;[`Uuid`,`String`,`Int`,`Decimal`,`Bool`,`Date`,`DateTime`].includes(t)||this.shared.push({kind:`type`,name:t});break}case`PolicyReferenceSyntax`:this.shared.push({kind:`policy`,name:e.name});break;case`EventSpecSyntax`:add(e.event,`Event`,`from`);break;case`JoinEventSyntax`:add(e.event,`Event`,`join`);break;case`RemoveWithSyntax`:add(e.event,`Event`,`remove`);break;case`RemoveViaJoinSyntax`:add(e.event,`Event`,`removeViaJoin`);break;case`ClearWithSyntax`:add(e.event,`Event`,`clear`);break;case`ProjectionEntersOnSyntax`:add(e.event,`Event`,`entersOn`);break;case`ReducerRuleSyntax`:add(e.event,`Event`,`reduces`);break;case`UniqueEventConstraintSyntax`:add(e.event,`Event`,`uniqueEvent`);break;case`UniquePropertyConstraintSyntax`:add(e.event,`Event`,`uniqueProperty`);break;case`NamedTriggerSourceSyntax`:add(e.name,`Event`,`trigger`);break;case`ReadsSyntax`:add(e.readModel,`ReadModel`,`reads`);break;case`InvokesSyntax`:add(e.command,`Command`,`invokes`);break;case`ScreenActionSyntax`:add(e.command,`Command`,`action`);break;case`ScreenActionAlternativeSyntax`:add(e.command,`Command`,`actionAlternative`);break;case`ScreenActionOtherwiseSyntax`:{let t=e.command;t!==null&&add(t,`Command`,`actionOtherwise`);break}case`FormSyntax`:add(e.for,`Command`,`formCommand`);break;case`ScreenDataSyntax`:add(e.query,`Query`,`dataQuery`);break;case`FormPopulateViaQuerySyntax`:add(e.query,`Query`,`populate`);break;case`ScreenNavigateSyntax`:add(e.screen,`Screen`,`navigate`);break;case`SpecificationEventSyntax`:add(e.eventType,`Event`,this.specification?.given.includes(e)===!0?`givenEvent`:this.specification?.whenAppended===e?`whenAppendedEvent`:`thenEvent`);break;case`SpecificationCommandSyntax`:add(e.commandType,`Command`,`whenCommand`);break;case`SpecificationInvocationSyntax`:add(e.command,`Command`,`thenInvokes`);break;case`SpecificationRedeliverySyntax`:{let t=e;add(t.eventType,`Event`,`whenRedeliveredEvent`),add(t.reaction,`Reaction`,`redeliveryReaction`);break}case`ConcurrencySyntax`:e.eventTypes.forEach(e=>add(e,`Event`,`concurrency`))}}};export{SliceReferenceCollector,buildingReadModelReferences,n as referenceClassifications,sliceReferences};
2
2
  //# sourceMappingURL=SliceReferences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliceReferences.js","names":["referenceClassifications","collector","slice","left","right","readModel","projection","dependencySourcesOf","reducer","blocks","block","ScreenplaySyntaxWalker","name","syntax","node","sources","found","variant","role","command","redelivery"],"sources":["../../../../../../Compiler/Dependencies/SliceReferences.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PolicyReferenceSyntax } from '../Syntax/Authorization';\nimport { CommandSyntax } from '../Syntax/Commands';\nimport { ConstraintSyntax } from '../Syntax/Constraints';\nimport { TypeRefSyntax } from '../Syntax/Declarations';\nimport { dependencySourcesOf, ConcurrencySyntax, FormPopulateViaQuerySyntax, FormSyntax, ReadsSyntax, ReducerRuleSyntax } from '../Syntax/DependencySources';\nimport { EventSpecSyntax, JoinEventSyntax, ProjectionSyntax, ProjectionBlockSyntax, ProjectionVariantSyntax, ProjectionEntersOnSyntax, RemoveWithSyntax, RemoveViaJoinSyntax, ClearWithSyntax } from '../Syntax/Projections';\nimport { InvokesSyntax, NamedTriggerSourceSyntax, ReactionTriggerSyntax } from '../Syntax/Reactions';\nimport { ScreenActionAlternativeSyntax, ScreenActionOtherwiseSyntax, ScreenActionSyntax, ScreenDataSyntax, ScreenNavigateSyntax } from '../Syntax/Screens';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { SpecificationSyntax, SpecificationEventSyntax, SpecificationCommandSyntax, SpecificationInvocationSyntax, SpecificationRedeliverySyntax } from '../Syntax/Specifications';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { SyntaxNode } from '../Syntax/SyntaxNode';\nimport type { DependencyKind, SliceReference, SharedReference, CollectedSliceReferences } from './index';\n\nexport const referenceClassifications: Readonly<Record<string, DependencyKind | null>> = {\n from: 'usesFactsFrom', join: 'usesFactsFrom', remove: 'usesFactsFrom', removeViaJoin: 'usesFactsFrom',\n clear: 'usesFactsFrom', entersOn: 'usesFactsFrom', reduces: 'usesFactsFrom', uniqueEvent: 'usesFactsFrom',\n uniqueProperty: 'usesFactsFrom', concurrency: 'usesFactsFrom', trigger: 'reactsTo', reads: 'decidesFrom',\n invokes: 'asks', action: 'asks', actionAlternative: 'asks', actionOtherwise: 'asks', formCommand: 'asks', dataQuery: 'shows', populate: 'shows', navigate: 'shows',\n whenRedeliveredEvent: 'verifiedWith', redeliveryReaction: 'verifiedWith', refusalConstraint: null, refusalProduces: null,\n specificationEvent: 'verifiedWith', givenEvent: 'verifiedWith', whenAppendedEvent: 'verifiedWith', thenEvent: 'verifiedWith', whenCommand: 'verifiedWith', thenInvokes: 'verifiedWith',\n declares: null, uses: null, commandEventSource: null, commandStream: null, specificationEventSource: null, specificationStream: null, thenOperation: null,\n givenOperationFailure: null, thenCompensated: null, produces: null, authorizes: null, queryResult: null,\n dataReadModel: null, type: null, exampleType: null, contributes: null, template: null, specificationReadModel: null,\n thenAbsentReadModel: null, thenReadModel: null, givenReadModel: null, thenQuery: null,\n compositeKeyType: null, builds: null, buildsVariant: null, appends: null, seed: null,\n};\n// No resolution or expression/code interpretation: this is the same role inventory as C# SliceReferences.\nexport function sliceReferences(slice: SliceSyntax): CollectedSliceReferences {\n const collector = new SliceReferenceCollector();\n collector.visitSlice(slice);\n return { references: collector.references.sort((left, right) => left.location.line - right.location.line || left.location.column - right.location.column), shared: collector.shared };\n}\n\nexport function buildingReadModelReferences(slice: SliceSyntax, readModel: string): readonly SliceReference[] {\n const collector = new SliceReferenceCollector(readModel);\n slice.projections.forEach(projection => collector.visitProjection(projection));\n dependencySourcesOf(slice).reducers?.filter(reducer => reducer.readModel.toLowerCase() === readModel.toLowerCase()).forEach(reducer => collector.visitReducer(reducer));\n return collector.references;\n}\n\nfunction variants(blocks: readonly ProjectionBlockSyntax[]): ProjectionVariantSyntax[] {\n return blocks.flatMap(block => block.kind === 'ProjectionVariantSyntax' ? [block, ...variants(block.blocks)] : block.kind === 'ChildrenSyntax' || block.kind === 'NestedSyntax' ? variants(block.blocks) : []);\n}\n\nexport class SliceReferenceCollector extends ScreenplaySyntaxWalker {\n readonly references: SliceReference[] = [];\n readonly shared: SharedReference[] = [];\n private specification?: SpecificationSyntax;\n private projection = false;\n\n constructor(private readonly readModel?: string) { super(); }\n\n private matches(name: string): boolean { return name.toLowerCase() === this.readModel?.toLowerCase(); }\n\n override visitSlice(syntax: SliceSyntax): void {\n super.visitSlice(syntax);\n const sources = dependencySourcesOf(syntax);\n sources.reducers?.forEach(node => this.visitReducer(node));\n }\n override visitCommand(syntax: CommandSyntax): void {\n const sources = dependencySourcesOf(syntax);\n sources.reads?.forEach(node => this.visitReads(node));\n if (sources.concurrency != null) this.visitConcurrency(sources.concurrency);\n super.visitCommand(syntax);\n }\n override visitReactionTrigger(syntax: ReactionTriggerSyntax): void {\n const sources = dependencySourcesOf(syntax);\n sources.data?.forEach(node => this.visitTriggerData(node));\n sources.reads?.forEach(node => this.visitReads(node));\n super.visitReactionTrigger(syntax);\n }\n override visitProjection(syntax: ProjectionSyntax): void {\n if (this.readModel !== undefined) {\n const found = variants(syntax.blocks);\n if (found.length === 0 ? !this.matches(syntax.readModel ?? syntax.name) : !found.some(variant => this.matches(variant.name))) return;\n }\n this.projection = true;\n super.visitProjection(syntax);\n this.projection = false;\n }\n override visitSpecification(syntax: SpecificationSyntax): void {\n this.specification = syntax;\n super.visitSpecification(syntax);\n this.specification = undefined;\n }\n override visitNode(node: SyntaxNode): void {\n const add = (name: string, targetKind: SliceReference['targetKind'], role: string) => {\n this.references.push({ name, targetKind, role, kind: referenceClassifications[role]!, location: node.location, timeline: this.projection || ['trigger', 'reads', 'reduces'].includes(role) });\n };\n switch (node.kind) {\n case 'TypeRefSyntax': {\n const name = (node as TypeRefSyntax).name;\n if (!['Uuid', 'String', 'Int', 'Decimal', 'Bool', 'Date', 'DateTime'].includes(name)) this.shared.push({ kind: 'type', name });\n break;\n }\n case 'PolicyReferenceSyntax': this.shared.push({ kind: 'policy', name: (node as PolicyReferenceSyntax).name }); break;\n case 'EventSpecSyntax': add((node as EventSpecSyntax).event, 'Event', 'from'); break;\n case 'JoinEventSyntax': add((node as JoinEventSyntax).event, 'Event', 'join'); break;\n case 'RemoveWithSyntax': add((node as RemoveWithSyntax).event, 'Event', 'remove'); break;\n case 'RemoveViaJoinSyntax': add((node as RemoveViaJoinSyntax).event, 'Event', 'removeViaJoin'); break;\n case 'ClearWithSyntax': add((node as ClearWithSyntax).event, 'Event', 'clear'); break;\n case 'ProjectionEntersOnSyntax': add((node as ProjectionEntersOnSyntax).event, 'Event', 'entersOn'); break;\n case 'ReducerRuleSyntax': add((node as ReducerRuleSyntax).event, 'Event', 'reduces'); break;\n case 'UniqueEventConstraintSyntax': add((node as Extract<ConstraintSyntax, { kind: 'UniqueEventConstraintSyntax' }>).event, 'Event', 'uniqueEvent'); break;\n case 'UniquePropertyConstraintSyntax': add((node as Extract<ConstraintSyntax, { kind: 'UniquePropertyConstraintSyntax' }>).event, 'Event', 'uniqueProperty'); break;\n case 'NamedTriggerSourceSyntax': add((node as NamedTriggerSourceSyntax).name, 'Event', 'trigger'); break;\n case 'ReadsSyntax': add((node as ReadsSyntax).readModel, 'ReadModel', 'reads'); break;\n case 'InvokesSyntax': add((node as InvokesSyntax).command, 'Command', 'invokes'); break;\n case 'ScreenActionSyntax': add((node as ScreenActionSyntax).command, 'Command', 'action'); break;\n case 'ScreenActionAlternativeSyntax': add((node as ScreenActionAlternativeSyntax).command, 'Command', 'actionAlternative'); break;\n case 'ScreenActionOtherwiseSyntax': {\n const command = (node as ScreenActionOtherwiseSyntax).command;\n if (command !== null) add(command, 'Command', 'actionOtherwise');\n break;\n }\n case 'FormSyntax': add((node as FormSyntax).for, 'Command', 'formCommand'); break;\n case 'ScreenDataSyntax': add((node as ScreenDataSyntax).query, 'Query', 'dataQuery'); break;\n case 'FormPopulateViaQuerySyntax': add((node as FormPopulateViaQuerySyntax).query, 'Query', 'populate'); break;\n case 'ScreenNavigateSyntax': add((node as ScreenNavigateSyntax).screen, 'Screen', 'navigate'); break;\n case 'SpecificationEventSyntax': add((node as SpecificationEventSyntax).eventType, 'Event', this.specification?.given.includes(node as SpecificationEventSyntax) === true ? 'givenEvent' : this.specification?.whenAppended === node ? 'whenAppendedEvent' : 'thenEvent'); break;\n case 'SpecificationCommandSyntax': add((node as SpecificationCommandSyntax).commandType, 'Command', 'whenCommand'); break;\n case 'SpecificationInvocationSyntax': add((node as SpecificationInvocationSyntax).command, 'Command', 'thenInvokes'); break;\n case 'SpecificationRedeliverySyntax': {\n const redelivery = node as SpecificationRedeliverySyntax;\n add(redelivery.eventType, 'Event', 'whenRedeliveredEvent');\n add(redelivery.reaction, 'Reaction', 'redeliveryReaction');\n break;\n }\n case 'ConcurrencySyntax': (node as ConcurrencySyntax).eventTypes.forEach(name => add(name, 'Event', 'concurrency')); break;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SliceReferences.js","names":["referenceClassifications","collector","slice","left","right","readModel","projection","dependencySourcesOf","reducer","blocks","block","ScreenplaySyntaxWalker","name","syntax","node","sources","found","variant","role","command","redelivery"],"sources":["../../../../../../Compiler/Dependencies/SliceReferences.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PolicyReferenceSyntax } from '../Syntax/Authorization';\nimport { CommandSyntax } from '../Syntax/Commands';\nimport { ConstraintSyntax } from '../Syntax/Constraints';\nimport { TypeRefSyntax } from '../Syntax/Declarations';\nimport { dependencySourcesOf, ConcurrencySyntax, FormPopulateViaQuerySyntax, FormSyntax, ReadsSyntax, ReducerRuleSyntax } from '../Syntax/DependencySources';\nimport { EventSpecSyntax, JoinEventSyntax, ProjectionSyntax, ProjectionBlockSyntax, ProjectionVariantSyntax, ProjectionEntersOnSyntax, RemoveWithSyntax, RemoveViaJoinSyntax, ClearWithSyntax } from '../Syntax/Projections';\nimport { InvokesSyntax, NamedTriggerSourceSyntax, ReactionTriggerSyntax } from '../Syntax/Reactions';\nimport { ScreenActionAlternativeSyntax, ScreenActionOtherwiseSyntax, ScreenActionSyntax, ScreenDataSyntax, ScreenNavigateSyntax } from '../Syntax/Screens';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { SpecificationSyntax, SpecificationEventSyntax, SpecificationCommandSyntax, SpecificationInvocationSyntax, SpecificationRedeliverySyntax } from '../Syntax/Specifications';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { SyntaxNode } from '../Syntax/SyntaxNode';\nimport type { DependencyKind, SliceReference, SharedReference, CollectedSliceReferences } from './index';\n\nexport const referenceClassifications: Readonly<Record<string, DependencyKind | null>> = {\n from: 'usesFactsFrom', join: 'usesFactsFrom', remove: 'usesFactsFrom', removeViaJoin: 'usesFactsFrom',\n clear: 'usesFactsFrom', entersOn: 'usesFactsFrom', reduces: 'usesFactsFrom', uniqueEvent: 'usesFactsFrom',\n uniqueProperty: 'usesFactsFrom', concurrency: 'usesFactsFrom', trigger: 'reactsTo', reads: 'decidesFrom',\n invokes: 'asks', action: 'asks', actionAlternative: 'asks', actionOtherwise: 'asks', formCommand: 'asks', dataQuery: 'shows', populate: 'shows', navigate: 'shows',\n whenRedeliveredEvent: 'verifiedWith', redeliveryReaction: 'verifiedWith', refusalConstraint: null, refusalProduces: null,\n specificationEvent: 'verifiedWith', givenEvent: 'verifiedWith', whenAppendedEvent: 'verifiedWith', thenEvent: 'verifiedWith', whenCommand: 'verifiedWith', thenInvokes: 'verifiedWith',\n declares: null, uses: null, commandEventSource: null, commandStream: null, specificationEventSource: null, specificationStream: null, thenOperation: null,\n givenOperationFailure: null, thenCompensated: null, produces: null, authorizes: null, queryResult: null,\n dataReadModel: null, type: null, exampleType: null, contributes: null, template: null, specificationReadModel: null,\n thenAbsentReadModel: null, thenReadModel: null, givenReadModel: null, thenQuery: null,\n compositeKeyType: null, builds: null, buildsVariant: null, appends: null, seed: null,\n // State machines and workflows are top-level declarations owned by no slice, so what they name adds no slice dependency.\n follows: null, entersSend: null, entersStart: null, transitionOn: null, workflowSubject: null,\n workflowWait: null, workflowTrigger: null, workflowAction: null, workflowApproval: null,\n};\n// No resolution or expression/code interpretation: this is the same role inventory as C# SliceReferences.\nexport function sliceReferences(slice: SliceSyntax): CollectedSliceReferences {\n const collector = new SliceReferenceCollector();\n collector.visitSlice(slice);\n return { references: collector.references.sort((left, right) => left.location.line - right.location.line || left.location.column - right.location.column), shared: collector.shared };\n}\n\nexport function buildingReadModelReferences(slice: SliceSyntax, readModel: string): readonly SliceReference[] {\n const collector = new SliceReferenceCollector(readModel);\n slice.projections.forEach(projection => collector.visitProjection(projection));\n dependencySourcesOf(slice).reducers?.filter(reducer => reducer.readModel.toLowerCase() === readModel.toLowerCase()).forEach(reducer => collector.visitReducer(reducer));\n return collector.references;\n}\n\nfunction variants(blocks: readonly ProjectionBlockSyntax[]): ProjectionVariantSyntax[] {\n return blocks.flatMap(block => block.kind === 'ProjectionVariantSyntax' ? [block, ...variants(block.blocks)] : block.kind === 'ChildrenSyntax' || block.kind === 'NestedSyntax' ? variants(block.blocks) : []);\n}\n\nexport class SliceReferenceCollector extends ScreenplaySyntaxWalker {\n readonly references: SliceReference[] = [];\n readonly shared: SharedReference[] = [];\n private specification?: SpecificationSyntax;\n private projection = false;\n\n constructor(private readonly readModel?: string) { super(); }\n\n private matches(name: string): boolean { return name.toLowerCase() === this.readModel?.toLowerCase(); }\n\n override visitSlice(syntax: SliceSyntax): void {\n super.visitSlice(syntax);\n const sources = dependencySourcesOf(syntax);\n sources.reducers?.forEach(node => this.visitReducer(node));\n }\n override visitCommand(syntax: CommandSyntax): void {\n const sources = dependencySourcesOf(syntax);\n sources.reads?.forEach(node => this.visitReads(node));\n if (sources.concurrency != null) this.visitConcurrency(sources.concurrency);\n super.visitCommand(syntax);\n }\n override visitReactionTrigger(syntax: ReactionTriggerSyntax): void {\n const sources = dependencySourcesOf(syntax);\n sources.data?.forEach(node => this.visitTriggerData(node));\n sources.reads?.forEach(node => this.visitReads(node));\n super.visitReactionTrigger(syntax);\n }\n override visitProjection(syntax: ProjectionSyntax): void {\n if (this.readModel !== undefined) {\n const found = variants(syntax.blocks);\n if (found.length === 0 ? !this.matches(syntax.readModel ?? syntax.name) : !found.some(variant => this.matches(variant.name))) return;\n }\n this.projection = true;\n super.visitProjection(syntax);\n this.projection = false;\n }\n override visitSpecification(syntax: SpecificationSyntax): void {\n this.specification = syntax;\n super.visitSpecification(syntax);\n this.specification = undefined;\n }\n override visitNode(node: SyntaxNode): void {\n const add = (name: string, targetKind: SliceReference['targetKind'], role: string) => {\n this.references.push({ name, targetKind, role, kind: referenceClassifications[role]!, location: node.location, timeline: this.projection || ['trigger', 'reads', 'reduces'].includes(role) });\n };\n switch (node.kind) {\n case 'TypeRefSyntax': {\n const name = (node as TypeRefSyntax).name;\n if (!['Uuid', 'String', 'Int', 'Decimal', 'Bool', 'Date', 'DateTime'].includes(name)) this.shared.push({ kind: 'type', name });\n break;\n }\n case 'PolicyReferenceSyntax': this.shared.push({ kind: 'policy', name: (node as PolicyReferenceSyntax).name }); break;\n case 'EventSpecSyntax': add((node as EventSpecSyntax).event, 'Event', 'from'); break;\n case 'JoinEventSyntax': add((node as JoinEventSyntax).event, 'Event', 'join'); break;\n case 'RemoveWithSyntax': add((node as RemoveWithSyntax).event, 'Event', 'remove'); break;\n case 'RemoveViaJoinSyntax': add((node as RemoveViaJoinSyntax).event, 'Event', 'removeViaJoin'); break;\n case 'ClearWithSyntax': add((node as ClearWithSyntax).event, 'Event', 'clear'); break;\n case 'ProjectionEntersOnSyntax': add((node as ProjectionEntersOnSyntax).event, 'Event', 'entersOn'); break;\n case 'ReducerRuleSyntax': add((node as ReducerRuleSyntax).event, 'Event', 'reduces'); break;\n case 'UniqueEventConstraintSyntax': add((node as Extract<ConstraintSyntax, { kind: 'UniqueEventConstraintSyntax' }>).event, 'Event', 'uniqueEvent'); break;\n case 'UniquePropertyConstraintSyntax': add((node as Extract<ConstraintSyntax, { kind: 'UniquePropertyConstraintSyntax' }>).event, 'Event', 'uniqueProperty'); break;\n case 'NamedTriggerSourceSyntax': add((node as NamedTriggerSourceSyntax).name, 'Event', 'trigger'); break;\n case 'ReadsSyntax': add((node as ReadsSyntax).readModel, 'ReadModel', 'reads'); break;\n case 'InvokesSyntax': add((node as InvokesSyntax).command, 'Command', 'invokes'); break;\n case 'ScreenActionSyntax': add((node as ScreenActionSyntax).command, 'Command', 'action'); break;\n case 'ScreenActionAlternativeSyntax': add((node as ScreenActionAlternativeSyntax).command, 'Command', 'actionAlternative'); break;\n case 'ScreenActionOtherwiseSyntax': {\n const command = (node as ScreenActionOtherwiseSyntax).command;\n if (command !== null) add(command, 'Command', 'actionOtherwise');\n break;\n }\n case 'FormSyntax': add((node as FormSyntax).for, 'Command', 'formCommand'); break;\n case 'ScreenDataSyntax': add((node as ScreenDataSyntax).query, 'Query', 'dataQuery'); break;\n case 'FormPopulateViaQuerySyntax': add((node as FormPopulateViaQuerySyntax).query, 'Query', 'populate'); break;\n case 'ScreenNavigateSyntax': add((node as ScreenNavigateSyntax).screen, 'Screen', 'navigate'); break;\n case 'SpecificationEventSyntax': add((node as SpecificationEventSyntax).eventType, 'Event', this.specification?.given.includes(node as SpecificationEventSyntax) === true ? 'givenEvent' : this.specification?.whenAppended === node ? 'whenAppendedEvent' : 'thenEvent'); break;\n case 'SpecificationCommandSyntax': add((node as SpecificationCommandSyntax).commandType, 'Command', 'whenCommand'); break;\n case 'SpecificationInvocationSyntax': add((node as SpecificationInvocationSyntax).command, 'Command', 'thenInvokes'); break;\n case 'SpecificationRedeliverySyntax': {\n const redelivery = node as SpecificationRedeliverySyntax;\n add(redelivery.eventType, 'Event', 'whenRedeliveredEvent');\n add(redelivery.reaction, 'Reaction', 'redeliveryReaction');\n break;\n }\n case 'ConcurrencySyntax': (node as ConcurrencySyntax).eventTypes.forEach(name => add(name, 'Event', 'concurrency')); break;\n }\n }\n}\n"],"mappings":"uMAiBA,MAAaA,EAA4E,CACrF,KAAM,gBAAiB,KAAM,gBAAiB,OAAQ,gBAAiB,cAAe,gBACtF,MAAO,gBAAiB,SAAU,gBAAiB,QAAS,gBAAiB,YAAa,gBAC1F,eAAgB,gBAAiB,YAAa,gBAAiB,QAAS,WAAY,MAAO,cAC3F,QAAS,OAAQ,OAAQ,OAAQ,kBAAmB,OAAQ,gBAAiB,OAAQ,YAAa,OAAQ,UAAW,QAAS,SAAU,QAAS,SAAU,QAC3J,qBAAsB,eAAgB,mBAAoB,eAAgB,kBAAmB,KAAM,gBAAiB,KACpH,mBAAoB,eAAgB,WAAY,eAAgB,kBAAmB,eAAgB,UAAW,eAAgB,YAAa,eAAgB,YAAa,eACxK,SAAU,KAAM,KAAM,KAAM,mBAAoB,KAAM,cAAe,KAAM,yBAA0B,KAAM,oBAAqB,KAAM,cAAe,KACrJ,sBAAuB,KAAM,gBAAiB,KAAM,SAAU,KAAM,WAAY,KAAM,YAAa,KACnG,cAAe,KAAM,KAAM,KAAM,YAAa,KAAM,YAAa,KAAM,SAAU,KAAM,uBAAwB,KAC/G,oBAAqB,KAAM,cAAe,KAAM,eAAgB,KAAM,UAAW,KACjF,iBAAkB,KAAM,OAAQ,KAAM,cAAe,KAAM,QAAS,KAAM,KAAM,KAEhF,QAAS,KAAM,WAAY,KAAM,YAAa,KAAM,aAAc,KAAM,gBAAiB,KACzF,aAAc,KAAM,gBAAiB,KAAM,eAAgB,KAAM,iBAAkB,IACvF,EAEA,SAAgB,gBAAgB,EAA8C,CAC1E,IAAMC,EAAY,IAAI,wBAEtB,OADAA,EAAU,WAAWC,CAAK,EACnB,CAAE,WAAYD,EAAU,WAAW,MAAM,EAAM,IAAUE,EAAK,SAAS,KAAOC,EAAM,SAAS,MAAQD,EAAK,SAAS,OAASC,EAAM,SAAS,MAAM,EAAG,OAAQH,EAAU,MAAO,CACxL,CAEA,SAAgB,4BAA4B,EAAoB,EAA8C,CAC1G,IAAMA,EAAY,IAAI,wBAAwBI,CAAS,EAGvD,OAFAH,EAAM,YAAY,QAAQ,GAAcD,EAAU,gBAAgBK,CAAU,CAAC,EAC7EC,EAAoBL,CAAK,CAAC,CAAC,UAAU,OAAO,GAAWM,EAAQ,UAAU,YAAY,IAAMH,EAAU,YAAY,CAAC,CAAC,CAAC,QAAQ,GAAWJ,EAAU,aAAaO,CAAO,CAAC,EAC/JP,EAAU,UACrB,CAEA,SAAS,SAAS,EAAqE,CACnF,OAAOQ,EAAO,QAAQ,GAASC,EAAM,OAAS,0BAA4B,CAACA,EAAO,GAAG,SAASA,EAAM,MAAM,CAAC,EAAIA,EAAM,OAAS,kBAAoBA,EAAM,OAAS,eAAiB,SAASA,EAAM,MAAM,EAAI,CAAC,CAAC,CACjN,CAEA,IAAa,wBAAb,cAA6CC,CAAuB,CAMnC,UAL7B,WAAwC,CAAC,EACzC,OAAqC,CAAC,EACtC,cACA,WAAqB,GAErB,YAAY,EAAqC,CAAE,MAAM,EAA5B,KAAA,UAAAN,CAA+B,CAE5D,QAAgB,EAAuB,CAAE,OAAOO,EAAK,YAAY,IAAM,KAAK,WAAW,YAAY,CAAG,CAEtG,WAAoB,EAA2B,CAC3C,MAAM,WAAWC,CAAM,EAEvBN,EADoCM,CAC9B,CAAC,CAAC,UAAU,QAAQ,GAAQ,KAAK,aAAaC,CAAI,CAAC,CAC7D,CACA,aAAsB,EAA6B,CAC/C,IAAMC,EAAUR,EAAoBM,CAAM,EAC1CE,EAAQ,OAAO,QAAQ,GAAQ,KAAK,WAAWD,CAAI,CAAC,EAChDC,EAAQ,aAAe,MAAM,KAAK,iBAAiBA,EAAQ,WAAW,EAC1E,MAAM,aAAaF,CAAM,CAC7B,CACA,qBAA8B,EAAqC,CAC/D,IAAME,EAAUR,EAAoBM,CAAM,EAC1CE,EAAQ,MAAM,QAAQ,GAAQ,KAAK,iBAAiBD,CAAI,CAAC,EACzDC,EAAQ,OAAO,QAAQ,GAAQ,KAAK,WAAWD,CAAI,CAAC,EACpD,MAAM,qBAAqBD,CAAM,CACrC,CACA,gBAAyB,EAAgC,CACrD,GAAI,KAAK,YAAc,IAAA,GAAW,CAC9B,IAAMG,EAAQ,SAASH,EAAO,MAAM,EACpC,GAAIG,EAAM,SAAW,EAAI,CAAC,KAAK,QAAQH,EAAO,WAAaA,EAAO,IAAI,EAAI,CAACG,EAAM,KAAK,GAAW,KAAK,QAAQC,EAAQ,IAAI,CAAC,EAAG,MAClI,CACA,KAAK,WAAa,GAClB,MAAM,gBAAgBJ,CAAM,EAC5B,KAAK,WAAa,EACtB,CACA,mBAA4B,EAAmC,CAC3D,KAAK,cAAgBA,EACrB,MAAM,mBAAmBA,CAAM,EAC/B,KAAK,cAAgB,IAAA,EACzB,CACA,UAAmB,EAAwB,CACvC,IAAM,KAAO,EAAc,EAA0C,IAAiB,CAClF,KAAK,WAAW,KAAK,CAAE,OAAM,aAAY,OAAM,KAAMb,EAAyBkB,GAAQ,SAAUJ,EAAK,SAAU,SAAU,KAAK,YAAc,CAAC,UAAW,QAAS,SAAS,CAAC,CAAC,SAASI,CAAI,CAAE,CAAC,CAChM,EACA,OAAQJ,EAAK,KAAb,CACI,IAAK,gBAAiB,CAClB,IAAMF,EAAQE,EAAuB,KAChC,CAAC,OAAQ,SAAU,MAAO,UAAW,OAAQ,OAAQ,UAAU,CAAC,CAAC,SAASF,CAAI,GAAG,KAAK,OAAO,KAAK,CAAE,KAAM,OAAQ,MAAK,CAAC,EAC7H,KACJ,CACA,IAAK,wBAAyB,KAAK,OAAO,KAAK,CAAE,KAAM,SAAU,KAAOE,EAA+B,IAAK,CAAC,EAAG,MAChH,IAAK,kBAAmB,IAAKA,EAAyB,MAAO,QAAS,MAAM,EAAG,MAC/E,IAAK,kBAAmB,IAAKA,EAAyB,MAAO,QAAS,MAAM,EAAG,MAC/E,IAAK,mBAAoB,IAAKA,EAA0B,MAAO,QAAS,QAAQ,EAAG,MACnF,IAAK,sBAAuB,IAAKA,EAA6B,MAAO,QAAS,eAAe,EAAG,MAChG,IAAK,kBAAmB,IAAKA,EAAyB,MAAO,QAAS,OAAO,EAAG,MAChF,IAAK,2BAA4B,IAAKA,EAAkC,MAAO,QAAS,UAAU,EAAG,MACrG,IAAK,oBAAqB,IAAKA,EAA2B,MAAO,QAAS,SAAS,EAAG,MACtF,IAAK,8BAA+B,IAAKA,EAA4E,MAAO,QAAS,aAAa,EAAG,MACrJ,IAAK,iCAAkC,IAAKA,EAA+E,MAAO,QAAS,gBAAgB,EAAG,MAC9J,IAAK,2BAA4B,IAAKA,EAAkC,KAAM,QAAS,SAAS,EAAG,MACnG,IAAK,cAAe,IAAKA,EAAqB,UAAW,YAAa,OAAO,EAAG,MAChF,IAAK,gBAAiB,IAAKA,EAAuB,QAAS,UAAW,SAAS,EAAG,MAClF,IAAK,qBAAsB,IAAKA,EAA4B,QAAS,UAAW,QAAQ,EAAG,MAC3F,IAAK,gCAAiC,IAAKA,EAAuC,QAAS,UAAW,mBAAmB,EAAG,MAC5H,IAAK,8BAA+B,CAChC,IAAMK,EAAWL,EAAqC,QAClDK,IAAY,MAAM,IAAIA,EAAS,UAAW,iBAAiB,EAC/D,KACJ,CACA,IAAK,aAAc,IAAKL,EAAoB,IAAK,UAAW,aAAa,EAAG,MAC5E,IAAK,mBAAoB,IAAKA,EAA0B,MAAO,QAAS,WAAW,EAAG,MACtF,IAAK,6BAA8B,IAAKA,EAAoC,MAAO,QAAS,UAAU,EAAG,MACzG,IAAK,uBAAwB,IAAKA,EAA8B,OAAQ,SAAU,UAAU,EAAG,MAC/F,IAAK,2BAA4B,IAAKA,EAAkC,UAAW,QAAS,KAAK,eAAe,MAAM,SAASA,CAAgC,IAAM,GAAO,aAAe,KAAK,eAAe,eAAiBA,EAAO,oBAAsB,WAAW,EAAG,MAC3Q,IAAK,6BAA8B,IAAKA,EAAoC,YAAa,UAAW,aAAa,EAAG,MACpH,IAAK,gCAAiC,IAAKA,EAAuC,QAAS,UAAW,aAAa,EAAG,MACtH,IAAK,gCAAiC,CAClC,IAAMM,EAAaN,EACnB,IAAIM,EAAW,UAAW,QAAS,sBAAsB,EACzD,IAAIA,EAAW,SAAU,WAAY,oBAAoB,EACzD,KACJ,CACA,IAAK,oBAAqBN,EAA4B,WAAW,QAAQ,GAAQ,IAAIF,EAAM,QAAS,aAAa,CAAC,CACtH,CACJ,CACJ"}
@@ -1,2 +1,2 @@
1
- const e={InvalidSemanticBinding:`PLAY0273`,InvalidActionSubjectClause:`PLAY0817`,InferredActionSubject:`PLAY0818`,ChangedActionSubject:`PLAY0819`,AmbiguousActionInputBinding:`PLAY0820`,UnsupportedActionSubjectContext:`PLAY0821`,DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`,InvalidPossibleEventsDeclaration:`PLAY0822`,InvalidPossibleEventSet:`PLAY0823`,RedundantCompositeKeyBraces:`PLAY0824`,ImplicitAuthorizationConjunction:`PLAY0825`,InvalidOnboardingDeclaration:`PLAY0826`,DuplicateOnboarding:`PLAY0827`,OnboardingWithoutAuthentication:`PLAY0828`,InvalidOnboardingDirective:`PLAY0829`,DuplicateOnboardingDirective:`PLAY0830`,UnknownOnboardingPersona:`PLAY0831`,UnknownOnboardingEmail:`PLAY0832`,InlineJsonValue:`PLAY0833`};export{e as DiagnosticCodes};
1
+ const e={InvalidSemanticBinding:`PLAY0273`,InvalidActionSubjectClause:`PLAY0817`,InferredActionSubject:`PLAY0818`,ChangedActionSubject:`PLAY0819`,AmbiguousActionInputBinding:`PLAY0820`,UnsupportedActionSubjectContext:`PLAY0821`,DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`,InvalidPossibleEventsDeclaration:`PLAY0822`,InvalidPossibleEventSet:`PLAY0823`,RedundantCompositeKeyBraces:`PLAY0824`,ImplicitAuthorizationConjunction:`PLAY0825`,InvalidOnboardingDeclaration:`PLAY0826`,DuplicateOnboarding:`PLAY0827`,OnboardingWithoutAuthentication:`PLAY0828`,InvalidOnboardingDirective:`PLAY0829`,DuplicateOnboardingDirective:`PLAY0830`,UnknownOnboardingPersona:`PLAY0831`,UnknownOnboardingEmail:`PLAY0832`,InlineJsonValue:`PLAY0833`,InvalidStateMachineDeclaration:`PLAY0834`,StateMachineInitialState:`PLAY0835`,UnreachableState:`PLAY0836`,StateWithNoWayOut:`PLAY0837`,FinalStateWithTransitions:`PLAY0838`,UnknownState:`PLAY0839`,UnknownStateMachineReference:`PLAY0840`,UnknownConditionProperty:`PLAY0841`,AmbiguousStateTransitions:`PLAY0842`,InvalidWorkflowDeclaration:`PLAY0843`,WorkflowWithoutTrigger:`PLAY0844`,UnreachableWorkflowNode:`PLAY0845`,UnknownWorkflowNode:`PLAY0846`,UnknownWorkflowOutlet:`PLAY0847`,WorkflowDecisionOutletWithoutTarget:`PLAY0848`,WorkflowWithoutExpiry:`PLAY0849`,WorkflowJoinWithOneBranch:`PLAY0850`,UnknownWorkflowReference:`PLAY0851`};export{e as DiagnosticCodes};
2
2
  //# sourceMappingURL=DiagnosticCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n InvalidSemanticBinding: 'PLAY0273',\n InvalidActionSubjectClause: 'PLAY0817',\n InferredActionSubject: 'PLAY0818',\n ChangedActionSubject: 'PLAY0819',\n AmbiguousActionInputBinding: 'PLAY0820',\n UnsupportedActionSubjectContext: 'PLAY0821',\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035', // Retired: handlers may declare produces as their result contract. Reserved forever.\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n InvalidPossibleEventsDeclaration: 'PLAY0822',\n InvalidPossibleEventSet: 'PLAY0823',\n RedundantCompositeKeyBraces: 'PLAY0824',\n ImplicitAuthorizationConjunction: 'PLAY0825',\n InvalidOnboardingDeclaration: 'PLAY0826',\n DuplicateOnboarding: 'PLAY0827',\n OnboardingWithoutAuthentication: 'PLAY0828',\n InvalidOnboardingDirective: 'PLAY0829',\n DuplicateOnboardingDirective: 'PLAY0830',\n UnknownOnboardingPersona: 'PLAY0831',\n UnknownOnboardingEmail: 'PLAY0832',\n InlineJsonValue: 'PLAY0833',\n} as const;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n InvalidSemanticBinding: 'PLAY0273',\n InvalidActionSubjectClause: 'PLAY0817',\n InferredActionSubject: 'PLAY0818',\n ChangedActionSubject: 'PLAY0819',\n AmbiguousActionInputBinding: 'PLAY0820',\n UnsupportedActionSubjectContext: 'PLAY0821',\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035', // Retired: handlers may declare produces as their result contract. Reserved forever.\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n InvalidPossibleEventsDeclaration: 'PLAY0822',\n InvalidPossibleEventSet: 'PLAY0823',\n RedundantCompositeKeyBraces: 'PLAY0824',\n ImplicitAuthorizationConjunction: 'PLAY0825',\n InvalidOnboardingDeclaration: 'PLAY0826',\n DuplicateOnboarding: 'PLAY0827',\n OnboardingWithoutAuthentication: 'PLAY0828',\n InvalidOnboardingDirective: 'PLAY0829',\n DuplicateOnboardingDirective: 'PLAY0830',\n UnknownOnboardingPersona: 'PLAY0831',\n UnknownOnboardingEmail: 'PLAY0832',\n InlineJsonValue: 'PLAY0833',\n InvalidStateMachineDeclaration: 'PLAY0834',\n StateMachineInitialState: 'PLAY0835',\n UnreachableState: 'PLAY0836',\n StateWithNoWayOut: 'PLAY0837',\n FinalStateWithTransitions: 'PLAY0838',\n UnknownState: 'PLAY0839',\n UnknownStateMachineReference: 'PLAY0840',\n UnknownConditionProperty: 'PLAY0841',\n AmbiguousStateTransitions: 'PLAY0842',\n InvalidWorkflowDeclaration: 'PLAY0843',\n WorkflowWithoutTrigger: 'PLAY0844',\n UnreachableWorkflowNode: 'PLAY0845',\n UnknownWorkflowNode: 'PLAY0846',\n UnknownWorkflowOutlet: 'PLAY0847',\n WorkflowDecisionOutletWithoutTarget: 'PLAY0848',\n WorkflowWithoutExpiry: 'PLAY0849',\n WorkflowJoinWithOneBranch: 'PLAY0850',\n UnknownWorkflowReference: 'PLAY0851',\n} as const;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{combineAuthorize as t}from"../Parsing/AuthorizeParser.js";import{validateIdentity as n}from"../Parsing/IdentityValidator.js";import{validateApplicationHandlers as r}from"../Parsing/CommandHandlerValidator.js";import{mergeStructuralInteractions as i}from"../Parsing/StructuralInteractionSites.js";import{LineReader as a}from"../Parsing/LineReader.js";import{InvalidSyntaxJson as o}from"../Syntax/InvalidSyntaxJson.js";import{invalidSourceOptions as s,isAuthoredDocument as c,legacySourceOptions as l,validatedSourceOptions as u}from"../Syntax/SourceOptions.js";import{ParserContext as d}from"../Parsing/ParserContext.js";import{toSyntaxJson as f}from"../Syntax/SyntaxJson.js";function mergeDocuments(t){let c=[],f=t.map(e=>e.value),p=/* @__PURE__ */ new Map,m=!1;for(let t of f)try{p.set(t,Object.hasOwn(t,`sourceOptions`)?u(t.sourceOptions):l)}catch(n){if(!(n instanceof o))throw n;m=!0,c.push(error(e.IncompatibleNumericSource,n.message,t.location))}let h=f.filter(e=>p.get(e)?.numericMode===`exact`||hasDeclarations(e)),g=p.get(h[0])??l;for(let t of h.slice(1))p.get(t)?.numericMode!==g.numericMode&&(m=!0,c.push(error(e.MixedNumericModes,`Declaration-bearing documents and marked import barrels must independently select the same numeric mode.`,t.location)));m&&(g=s);let _=/* @__PURE__ */ new Map,v=declaredInOneFile(f.flatMap(e=>e.concepts),`declaration of`,c,void 0,_),y=declaredInOneFile(f.flatMap(e=>e.types),`declaration of`,c,void 0,_),b=f.flatMap(e=>e.identity==null?[]:[e.identity]);for(let t of b.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares an identity block in '${describe(b[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let x=f.filter(e=>e.commandReadMode!=null);for(let t of x.slice(1))c.push(error(e.InvalidCommandReadsDeclaration,`Declare 'command reads protected' once at the application root.`,t.location));let S=f.filter(e=>e.timeZone!=null);for(let t of S.slice(1))c.push(error(e.InvalidTimeZoneDeclaration,`Declare 'time zone' once at the application root.`,t.location));let C=f.filter(e=>e.reactionProductionMode!=null);for(let t of C.slice(1))c.push(error(e.InvalidReactionBatchesDeclaration,`Declare 'reaction batches atomic' once at the application root.`,t.location));let w=f.map(e=>e.domain).filter(e=>e!==null);for(let t of w.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares a domain in '${describe(w[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let T=mergeModules(f.flatMap(e=>e.modules),c),E=declaredInOneFile(f.flatMap(e=>e.personas),`persona`,c),D=f.flatMap(e=>e.policies??[]),O=declaredInOneFile(D,`policy`,c),k=D.filter(e=>!O.includes(e)).map(e=>e.location),A={kind:`ApplicationSyntax`,sourceOptions:g,...C.length===0?{}:{reactionProductionMode:C[0].reactionProductionMode},...x.length===0?{}:{commandReadMode:x[0].commandReadMode},...S.length===0?{}:{timeZone:S[0].timeZone},...b.length===0?{}:{identity:b[0]},domain:w[0]??null,imports:firstOfEach(f.flatMap(e=>e.imports),e=>e.qualifiedName),concepts:v,types:y,examples:f.flatMap(e=>e.examples??[]),systems:f.flatMap(e=>e.systems??[]),purposes:declaredInOneFile(f.flatMap(e=>e.purposes??[]),`purpose`,c),eventSources:f.flatMap(e=>e.eventSources??[]),declaredTriggers:f.flatMap(e=>e.declaredTriggers??[]),modules:T,personas:E,policies:O,seeds:f.flatMap(e=>e.seeds??[]),fileImports:f.flatMap(e=>e.fileImports),...presentOnly(`stickyNotes`,f.flatMap(e=>e.stickyNotes??[])),...presentOnly(`exposures`,f.flatMap(e=>e.exposures??[])),...presentOnly(`instanceContributions`,f.flatMap(e=>e.instanceContributions??[])),location:f[0]?.location??{line:1,column:1}};i(A,f);let j=new d(new a([]));r(A,j),n(A,j),c.push(...j.diagnostics);let M=[...t.flatMap(e=>e.diagnostics).filter(t=>t.code!==e.DuplicateDeclaration||!k.some(e=>sameLocation(e,t.location))),...c];return{value:A,diagnostics:M,success:!M.some(e=>e.severity===`error`)}}function hasDeclarations(e){if(c(e)||e.identity!=null||e.domain!==null||e.concepts.length>0||e.types.length>0||e.personas.length>0||(e.policies?.length??0)>0||(e.purposes?.length??0)>0||(e.seeds?.length??0)>0||(e.systems?.length??0)>0||(e.eventSources?.length??0)>0||(e.examples?.length??0)>0||(e.stickyNotes?.length??0)>0)return!0;let feature=e=>!e.isPlacement||(e.examples?.length??0)>0||e.slices.length>0||e.features.some(feature);return e.modules.some(e=>!e.isPlacement||(e.examples?.length??0)>0||e.features.some(feature))}function mergeModules(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return i({...e[0],isPlacement:!1,features:e[0].features.map(unplaced)},e);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`module '${e[0].name}'`,t),documentation:firstDocumentation(e,`module '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`module '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t)},[n])})}function mergeFeatures(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return unplaced(e[0]);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`feature '${e[0].name}'`,t),documentation:firstDocumentation(e,`feature '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`feature '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t),slices:declaredInOneFile(e.flatMap(e=>e.slices),`slice`,t,`feature '${e[0].name}'`)},[n])})}function groupDependencies(e){return[...e].sort((e,t)=>(e.location.path??``)<(t.location.path??``)?-1:+((e.location.path??``)>(t.location.path??``))).flatMap(e=>e.dependsOn??[])}function placedLast(e){return[...e.filter(e=>!e.isPlacement),...e.filter(e=>e.isPlacement)]}function unplaced(e){return i({...e,isPlacement:!1,features:e.features.map(unplaced)},[e])}function combineAuthorization(n,r,i){let a=[];for(let t of n.filter(e=>e!==null)){let n=a.find(e=>e.location.path!==t.location.path&&JSON.stringify(f(e))===JSON.stringify(f(t)));n===void 0?a.push(t):i.push(warning(e.DuplicateAuthorizationAcrossFiles,`An identical authorization is already declared on the ${r} in '${describe(n.location.path)}' - this repeated gate is ignored`,t.location))}return a.reduce((e,n)=>t(e,n),null)}function firstOfEach(e,t){let n=/* @__PURE__ */ new Set;return e.filter(e=>!n.has(t(e))&&n.add(t(e))!==void 0)}function groupByName(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(n.name,[...t.get(n.name)??[],n]);return[...t.values()]}function firstDocumentation(t,n,r){let i=t.filter(e=>e.documentation!=null);for(let t of i.slice(1).filter(e=>e.documentation!==i[0].documentation))r.push(warning(e.ConflictingDocumentationAcrossFiles,`The ${n} is already documented in '${describe(i[0].location.path)}' - keeping that documentation`,t.location));return i[0]?.documentation??null}function firstDescription(t,n,r){let i=t.filter(e=>e.description!==null);for(let t of i.slice(1).filter(e=>e.description!==i[0].description))r.push(warning(e.ConflictingDescriptionAcrossFiles,`The ${n} is already described in '${describe(i[0].location.path)}' - keeping that description`,t.location));return i[0]?.description??null}function declaredInOneFile(t,n,r,i,a=/* @__PURE__ */ new Map){let o=[];for(let s of t){let t=a.get(s.name);t!==void 0&&t.path!==s.location.path?r.push(error(e.RepeatedDeclarationAcrossFiles,`Duplicate ${n} '${s.name}'${i===void 0?``:` in ${i}`} - already declared in '${describe(t.path)}'`,s.location)):(t===void 0&&a.set(s.name,s.location),o.push(s))}return o}const describe=e=>e??`another file`,sameLocation=(e,t)=>e.path===t.path&&e.line===t.line&&e.column===t.column,error=(e,t,n)=>({severity:`error`,code:e,message:t,location:n}),warning=(e,t,n)=>({severity:`warning`,code:e,message:t,location:n});function presentOnly(e,t){return t.length===0?{}:{[e]:t}}export{mergeDocuments};
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{combineAuthorize as t}from"../Parsing/AuthorizeParser.js";import{validateIdentity as n}from"../Parsing/IdentityValidator.js";import{validateApplicationHandlers as r}from"../Parsing/CommandHandlerValidator.js";import{mergeStructuralInteractions as i}from"../Parsing/StructuralInteractionSites.js";import{LineReader as a}from"../Parsing/LineReader.js";import{InvalidSyntaxJson as o}from"../Syntax/InvalidSyntaxJson.js";import{invalidSourceOptions as s,isAuthoredDocument as c,legacySourceOptions as l,validatedSourceOptions as u}from"../Syntax/SourceOptions.js";import{ParserContext as d}from"../Parsing/ParserContext.js";import{toSyntaxJson as f}from"../Syntax/SyntaxJson.js";function mergeDocuments(t){let c=[],f=t.map(e=>e.value),p=/* @__PURE__ */ new Map,m=!1;for(let t of f)try{p.set(t,Object.hasOwn(t,`sourceOptions`)?u(t.sourceOptions):l)}catch(n){if(!(n instanceof o))throw n;m=!0,c.push(error(e.IncompatibleNumericSource,n.message,t.location))}let h=f.filter(e=>p.get(e)?.numericMode===`exact`||hasDeclarations(e)),g=p.get(h[0])??l;for(let t of h.slice(1))p.get(t)?.numericMode!==g.numericMode&&(m=!0,c.push(error(e.MixedNumericModes,`Declaration-bearing documents and marked import barrels must independently select the same numeric mode.`,t.location)));m&&(g=s);let _=/* @__PURE__ */ new Map,v=declaredInOneFile(f.flatMap(e=>e.concepts),`declaration of`,c,void 0,_),y=declaredInOneFile(f.flatMap(e=>e.types),`declaration of`,c,void 0,_),b=f.flatMap(e=>e.identity==null?[]:[e.identity]);for(let t of b.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares an identity block in '${describe(b[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let x=f.filter(e=>e.commandReadMode!=null);for(let t of x.slice(1))c.push(error(e.InvalidCommandReadsDeclaration,`Declare 'command reads protected' once at the application root.`,t.location));let S=f.filter(e=>e.timeZone!=null);for(let t of S.slice(1))c.push(error(e.InvalidTimeZoneDeclaration,`Declare 'time zone' once at the application root.`,t.location));let C=f.filter(e=>e.reactionProductionMode!=null);for(let t of C.slice(1))c.push(error(e.InvalidReactionBatchesDeclaration,`Declare 'reaction batches atomic' once at the application root.`,t.location));let w=f.map(e=>e.domain).filter(e=>e!==null);for(let t of w.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares a domain in '${describe(w[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let T=mergeModules(f.flatMap(e=>e.modules),c),E=declaredInOneFile(f.flatMap(e=>e.personas),`persona`,c),D=f.flatMap(e=>e.policies??[]),O=declaredInOneFile(D,`policy`,c),k=D.filter(e=>!O.includes(e)).map(e=>e.location),A={kind:`ApplicationSyntax`,sourceOptions:g,...C.length===0?{}:{reactionProductionMode:C[0].reactionProductionMode},...x.length===0?{}:{commandReadMode:x[0].commandReadMode},...S.length===0?{}:{timeZone:S[0].timeZone},...b.length===0?{}:{identity:b[0]},domain:w[0]??null,imports:firstOfEach(f.flatMap(e=>e.imports),e=>e.qualifiedName),concepts:v,types:y,examples:f.flatMap(e=>e.examples??[]),systems:f.flatMap(e=>e.systems??[]),...f.some(e=>(e.stateMachines?.length??0)>0)?{stateMachines:f.flatMap(e=>e.stateMachines??[])}:{},...f.some(e=>(e.workflows?.length??0)>0)?{workflows:f.flatMap(e=>e.workflows??[])}:{},purposes:declaredInOneFile(f.flatMap(e=>e.purposes??[]),`purpose`,c),eventSources:f.flatMap(e=>e.eventSources??[]),declaredTriggers:f.flatMap(e=>e.declaredTriggers??[]),modules:T,personas:E,policies:O,seeds:f.flatMap(e=>e.seeds??[]),fileImports:f.flatMap(e=>e.fileImports),...presentOnly(`stickyNotes`,f.flatMap(e=>e.stickyNotes??[])),...presentOnly(`exposures`,f.flatMap(e=>e.exposures??[])),...presentOnly(`instanceContributions`,f.flatMap(e=>e.instanceContributions??[])),location:f[0]?.location??{line:1,column:1}};i(A,f);let j=new d(new a([]));r(A,j),n(A,j),c.push(...j.diagnostics);let M=[...t.flatMap(e=>e.diagnostics).filter(t=>t.code!==e.DuplicateDeclaration||!k.some(e=>sameLocation(e,t.location))),...c];return{value:A,diagnostics:M,success:!M.some(e=>e.severity===`error`)}}function hasDeclarations(e){if(c(e)||e.identity!=null||e.domain!==null||e.concepts.length>0||e.types.length>0||e.personas.length>0||(e.policies?.length??0)>0||(e.purposes?.length??0)>0||(e.seeds?.length??0)>0||(e.systems?.length??0)>0||(e.stateMachines?.length??0)>0||(e.workflows?.length??0)>0||(e.eventSources?.length??0)>0||(e.examples?.length??0)>0||(e.stickyNotes?.length??0)>0)return!0;let feature=e=>!e.isPlacement||(e.examples?.length??0)>0||e.slices.length>0||e.features.some(feature);return e.modules.some(e=>!e.isPlacement||(e.examples?.length??0)>0||e.features.some(feature))}function mergeModules(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return i({...e[0],isPlacement:!1,features:e[0].features.map(unplaced)},e);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`module '${e[0].name}'`,t),documentation:firstDocumentation(e,`module '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`module '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t)},[n])})}function mergeFeatures(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return unplaced(e[0]);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`feature '${e[0].name}'`,t),documentation:firstDocumentation(e,`feature '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`feature '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t),slices:declaredInOneFile(e.flatMap(e=>e.slices),`slice`,t,`feature '${e[0].name}'`)},[n])})}function groupDependencies(e){return[...e].sort((e,t)=>(e.location.path??``)<(t.location.path??``)?-1:+((e.location.path??``)>(t.location.path??``))).flatMap(e=>e.dependsOn??[])}function placedLast(e){return[...e.filter(e=>!e.isPlacement),...e.filter(e=>e.isPlacement)]}function unplaced(e){return i({...e,isPlacement:!1,features:e.features.map(unplaced)},[e])}function combineAuthorization(n,r,i){let a=[];for(let t of n.filter(e=>e!==null)){let n=a.find(e=>e.location.path!==t.location.path&&JSON.stringify(f(e))===JSON.stringify(f(t)));n===void 0?a.push(t):i.push(warning(e.DuplicateAuthorizationAcrossFiles,`An identical authorization is already declared on the ${r} in '${describe(n.location.path)}' - this repeated gate is ignored`,t.location))}return a.reduce((e,n)=>t(e,n),null)}function firstOfEach(e,t){let n=/* @__PURE__ */ new Set;return e.filter(e=>!n.has(t(e))&&n.add(t(e))!==void 0)}function groupByName(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(n.name,[...t.get(n.name)??[],n]);return[...t.values()]}function firstDocumentation(t,n,r){let i=t.filter(e=>e.documentation!=null);for(let t of i.slice(1).filter(e=>e.documentation!==i[0].documentation))r.push(warning(e.ConflictingDocumentationAcrossFiles,`The ${n} is already documented in '${describe(i[0].location.path)}' - keeping that documentation`,t.location));return i[0]?.documentation??null}function firstDescription(t,n,r){let i=t.filter(e=>e.description!==null);for(let t of i.slice(1).filter(e=>e.description!==i[0].description))r.push(warning(e.ConflictingDescriptionAcrossFiles,`The ${n} is already described in '${describe(i[0].location.path)}' - keeping that description`,t.location));return i[0]?.description??null}function declaredInOneFile(t,n,r,i,a=/* @__PURE__ */ new Map){let o=[];for(let s of t){let t=a.get(s.name);t!==void 0&&t.path!==s.location.path?r.push(error(e.RepeatedDeclarationAcrossFiles,`Duplicate ${n} '${s.name}'${i===void 0?``:` in ${i}`} - already declared in '${describe(t.path)}'`,s.location)):(t===void 0&&a.set(s.name,s.location),o.push(s))}return o}const describe=e=>e??`another file`,sameLocation=(e,t)=>e.path===t.path&&e.line===t.line&&e.column===t.column,error=(e,t,n)=>({severity:`error`,code:e,message:t,location:n}),warning=(e,t,n)=>({severity:`warning`,code:e,message:t,location:n});function presentOnly(e,t){return t.length===0?{}:{[e]:t}}export{mergeDocuments};
2
2
  //# sourceMappingURL=PlayFolderMerge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayFolderMerge.js","names":["diagnostics","applications","documents","document","options","invalid","application","validatedSourceOptions","legacySourceOptions","failure","InvalidSyntaxJson","DiagnosticCodes","asserted","sourceOptions","invalidSourceOptions","named","concepts","types","identities","extra","readModes","zones","modes","domains","domain","modules","personas","declaredPolicies","policies","droppedPolicies","policy","value","item","mergeStructuralInteractions","identityContext","ParserContext","LineReader","validateApplicationHandlers","validateIdentity","all","diagnostic","location","isAuthoredDocument","node","module","parts","owner","part","reference","features","left","right","feature","kept","authorization","declarations","declaration","first","earlier","toSyntaxJson","combineAuthorize","combined","next","seen","items","key","groups","documented","disagreeing","described","claimed","keyword","within","path","values"],"sources":["../../../../../../Compiler/Files/PlayFolderMerge.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { mergeStructuralInteractions } from '../Parsing/StructuralInteractionSites';\nimport { validateIdentity } from '../Parsing/IdentityValidator';\nimport { validateApplicationHandlers } from '../Parsing/CommandHandlerValidator';\nimport { ParserContext } from '../Parsing/ParserContext';\nimport { LineReader } from '../Parsing/LineReader';\nimport { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { SourceLocation } from '../Diagnostics/SourceLocation';\nimport { combineAuthorize } from '../Parsing/AuthorizeParser';\nimport { CompilationResult } from '../ScreenplayCompiler';\nimport { AuthorizeSyntax, PersonaSyntax } from '../Syntax/Authorization';\nimport { ConceptSyntax, TypeSyntax } from '../Syntax/Declarations';\nimport { ApplicationSyntax, FeatureSyntax, ModuleSyntax } from '../Syntax/Structure';\nimport { toSyntaxJson } from '../Syntax/SyntaxJson';\nimport { invalidSourceOptions, isAuthoredDocument, legacySourceOptions, SourceOptions, validatedSourceOptions } from '../Syntax/SourceOptions';\nimport { InvalidSyntaxJson } from '../Syntax/InvalidSyntaxJson';\n\n// \"The documents of a folder are one document\": modules and features with the same name combine, and a\n// name declared in two files is reported - the port of the C# PlayFolderMerge for what this compiler\n// models. The semantic validation the C# merge runs afterwards is not ported.\nexport function mergeDocuments(documents: readonly CompilationResult<ApplicationSyntax>[]): CompilationResult<ApplicationSyntax> {\n const diagnostics: Diagnostic[] = [];\n const applications = documents.map(document => document.value);\n const options = new Map<ApplicationSyntax, SourceOptions>();\n let invalid = false;\n for (const application of applications) {\n try {\n options.set(application, Object.hasOwn(application, 'sourceOptions') ? validatedSourceOptions(application.sourceOptions) : legacySourceOptions);\n } catch (failure) {\n if (!(failure instanceof InvalidSyntaxJson)) throw failure;\n invalid = true;\n diagnostics.push(error(DiagnosticCodes.IncompatibleNumericSource, failure.message, application.location));\n }\n }\n const asserted = applications.filter(application => options.get(application)?.numericMode === 'exact' || hasDeclarations(application));\n let sourceOptions = options.get(asserted[0]) ?? legacySourceOptions;\n for (const application of asserted.slice(1)) {\n if (options.get(application)?.numericMode !== sourceOptions.numericMode) {\n invalid = true;\n diagnostics.push(error(DiagnosticCodes.MixedNumericModes, 'Declaration-bearing documents and marked import barrels must independently select the same numeric mode.', application.location));\n }\n }\n if (invalid) sourceOptions = invalidSourceOptions;\n const named = new Map<string, SourceLocation>();\n const concepts = declaredInOneFile<ConceptSyntax>(applications.flatMap(application => application.concepts), 'declaration of', diagnostics, undefined, named);\n const types = declaredInOneFile<TypeSyntax>(applications.flatMap(application => application.types), 'declaration of', diagnostics, undefined, named);\n const identities = applications.flatMap(application => application.identity == null ? [] : [application.identity]);\n for (const extra of identities.slice(1)) diagnostics.push(error(DiagnosticCodes.RepeatedSingularDeclarationAcrossFiles,\n `The folder already declares an identity block in '${describe(identities[0].location.path)}' - a folder compiles to one application, which can have at most one`, extra.location));\n const readModes = applications.filter(application => application.commandReadMode != null);\n for (const extra of readModes.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidCommandReadsDeclaration,\n \"Declare 'command reads protected' once at the application root.\", extra.location));\n const zones = applications.filter(application => application.timeZone != null);\n for (const extra of zones.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidTimeZoneDeclaration,\n \"Declare 'time zone' once at the application root.\", extra.location));\n const modes = applications.filter(application => application.reactionProductionMode != null);\n for (const extra of modes.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidReactionBatchesDeclaration,\n \"Declare 'reaction batches atomic' once at the application root.\", extra.location));\n const domains = applications.map(application => application.domain).filter(domain => domain !== null);\n for (const extra of domains.slice(1)) {\n diagnostics.push(error(DiagnosticCodes.RepeatedSingularDeclarationAcrossFiles,\n `The folder already declares a domain in '${describe(domains[0].location.path)}' - a folder compiles to one application, which can have at most one`, extra.location));\n }\n // Modules merge before personas are claimed, so the diagnostics come in the order the C# merge reports them.\n const modules = mergeModules(applications.flatMap(application => application.modules), diagnostics);\n const personas = declaredInOneFile<PersonaSyntax>(applications.flatMap(application => application.personas), 'persona', diagnostics);\n const declaredPolicies = applications.flatMap(application => application.policies ?? []);\n const policies = declaredInOneFile(declaredPolicies, 'policy', diagnostics);\n // Like the C# merge, a policy dropped as repeated across files is not also reported as repeated within its file.\n const droppedPolicies = declaredPolicies.filter(policy => !policies.includes(policy)).map(policy => policy.location);\n const value: ApplicationSyntax = {\n kind: 'ApplicationSyntax',\n sourceOptions,\n ...(modes.length === 0 ? {} : { reactionProductionMode: modes[0].reactionProductionMode }),\n ...(readModes.length === 0 ? {} : { commandReadMode: readModes[0].commandReadMode }),\n ...(zones.length === 0 ? {} : { timeZone: zones[0].timeZone }),\n ...(identities.length === 0 ? {} : { identity: identities[0] }),\n domain: domains[0] ?? null,\n imports: firstOfEach(applications.flatMap(application => application.imports), item => item.qualifiedName),\n concepts,\n types,\n examples: applications.flatMap(application => application.examples ?? []),\n systems: applications.flatMap(application => application.systems ?? []),\n purposes: declaredInOneFile(applications.flatMap(application => application.purposes ?? []), 'purpose', diagnostics),\n eventSources: applications.flatMap(application => application.eventSources ?? []),\n declaredTriggers: applications.flatMap(application => application.declaredTriggers ?? []),\n modules,\n personas,\n policies,\n seeds: applications.flatMap(application => application.seeds ?? []),\n fileImports: applications.flatMap(application => application.fileImports),\n ...presentOnly('stickyNotes', applications.flatMap(application => application.stickyNotes ?? [])),\n ...presentOnly('exposures', applications.flatMap(application => application.exposures ?? [])),\n ...presentOnly('instanceContributions', applications.flatMap(application => application.instanceContributions ?? [])),\n location: applications[0]?.location ?? { line: 1, column: 1 },\n };\n mergeStructuralInteractions(value, applications);\n const identityContext = new ParserContext(new LineReader([]));\n validateApplicationHandlers(value, identityContext);\n validateIdentity(value, identityContext);\n diagnostics.push(...identityContext.diagnostics);\n const documentDiagnostics = documents.flatMap(document => document.diagnostics).filter(diagnostic =>\n diagnostic.code !== DiagnosticCodes.DuplicateDeclaration || !droppedPolicies.some(location => sameLocation(location, diagnostic.location)));\n const all = [...documentDiagnostics, ...diagnostics];\n return { value, diagnostics: all, success: !all.some(diagnostic => diagnostic.severity === 'error') };\n}\n\nfunction hasDeclarations(application: ApplicationSyntax): boolean {\n if (isAuthoredDocument(application)) return true;\n if (application.identity != null || application.domain !== null || application.concepts.length > 0 || application.types.length > 0 || application.personas.length > 0 || (application.policies?.length ?? 0) > 0 || (application.purposes?.length ?? 0) > 0 || (application.seeds?.length ?? 0) > 0 || (application.systems?.length ?? 0) > 0 || (application.eventSources?.length ?? 0) > 0 || (application.examples?.length ?? 0) > 0 || (application.stickyNotes?.length ?? 0) > 0) return true;\n const feature = (node: FeatureSyntax): boolean => !node.isPlacement || (node.examples?.length ?? 0) > 0 || node.slices.length > 0 || node.features.some(feature);\n return application.modules.some(module => !module.isPlacement || (module.examples?.length ?? 0) > 0 || module.features.some(feature));\n}\n\nfunction mergeModules(modules: readonly ModuleSyntax[], diagnostics: Diagnostic[]): ModuleSyntax[] {\n return groupByName(modules).map(placedLast).map(parts => {\n if (parts.length === 1) return mergeStructuralInteractions({ ...parts[0], isPlacement: false, features: parts[0].features.map(unplaced) }, parts);\n const owner = mergeStructuralInteractions({\n ...parts[0],\n isPlacement: false,\n fileImports: parts.flatMap(part => part.fileImports),\n examples: parts.flatMap(part => part.examples ?? []),\n purposes: firstOfEach(parts.flatMap(part => part.purposes ?? []), reference => reference.name),\n description: firstDescription(parts, `module '${parts[0].name}'`, diagnostics),\n documentation: firstDocumentation(parts, `module '${parts[0].name}'`, diagnostics),\n authorize: combineAuthorization(parts.map(part => part.authorize), `module '${parts[0].name}'`, diagnostics),\n dependsOn: groupDependencies(parts),\n }, parts, diagnostics);\n return mergeStructuralInteractions({ ...owner, features: mergeFeatures(parts.flatMap(part => part.features), diagnostics) }, [owner]);\n });\n}\n\nfunction mergeFeatures(features: readonly FeatureSyntax[], diagnostics: Diagnostic[]): FeatureSyntax[] {\n return groupByName(features).map(placedLast).map(parts => {\n if (parts.length === 1) return unplaced(parts[0]);\n const owner = mergeStructuralInteractions({\n ...parts[0],\n isPlacement: false,\n fileImports: parts.flatMap(part => part.fileImports),\n examples: parts.flatMap(part => part.examples ?? []),\n purposes: firstOfEach(parts.flatMap(part => part.purposes ?? []), reference => reference.name),\n description: firstDescription(parts, `feature '${parts[0].name}'`, diagnostics),\n documentation: firstDocumentation(parts, `feature '${parts[0].name}'`, diagnostics),\n authorize: combineAuthorization(parts.map(part => part.authorize), `feature '${parts[0].name}'`, diagnostics),\n dependsOn: groupDependencies(parts),\n }, parts, diagnostics);\n return mergeStructuralInteractions({ ...owner,\n features: mergeFeatures(parts.flatMap(part => part.features), diagnostics),\n slices: declaredInOneFile(parts.flatMap(part => part.slices), 'slice', diagnostics, `feature '${parts[0].name}'`),\n }, [owner]);\n });\n}\n\n// Dependencies accumulate in path order, independently of which header owns the container.\nfunction groupDependencies(parts: readonly (ModuleSyntax | FeatureSyntax)[]) {\n return [...parts].sort((left, right) => (left.location.path ?? '') < (right.location.path ?? '') ? -1 : (left.location.path ?? '') > (right.location.path ?? '') ? 1 : 0).flatMap(part => part.dependsOn ?? []);\n}\n\n// Where a module or feature is written comes before files merely placed in it, so the merged one is located\n// at its declaration. Within each kind, path order is kept.\nfunction placedLast<T extends { readonly isPlacement: boolean }>(parts: readonly T[]): T[] {\n return [...parts.filter(part => !part.isPlacement), ...parts.filter(part => part.isPlacement)];\n}\n\n// Once merged, a feature is the feature - whether a file was placed in it no longer says anything.\nfunction unplaced(feature: FeatureSyntax): FeatureSyntax {\n return mergeStructuralInteractions({ ...feature, isPlacement: false, features: feature.features.map(unplaced) }, [feature]);\n}\n\n// Combines the gates files declare on one module or feature with 'and', never weakening an earlier one. The\n// same gate repeated in another file says nothing new and is reported and left out.\nfunction combineAuthorization(declarations: readonly (AuthorizeSyntax | null)[], owner: string, diagnostics: Diagnostic[]): AuthorizeSyntax | null {\n const kept: AuthorizeSyntax[] = [];\n for (const authorization of declarations.filter(declaration => declaration !== null)) {\n const first = kept.find(earlier => earlier.location.path !== authorization.location.path\n && JSON.stringify(toSyntaxJson(earlier)) === JSON.stringify(toSyntaxJson(authorization)));\n if (first !== undefined) {\n diagnostics.push(warning(DiagnosticCodes.DuplicateAuthorizationAcrossFiles,\n `An identical authorization is already declared on the ${owner} in '${describe(first.location.path)}' - this repeated gate is ignored`, authorization.location));\n continue;\n }\n kept.push(authorization);\n }\n return kept.reduce<AuthorizeSyntax | null>((combined, next) => combineAuthorize(combined, next), null);\n}\n\nfunction firstOfEach<T>(items: readonly T[], key: (item: T) => string): T[] {\n const seen = new Set<string>();\n return items.filter(item => !seen.has(key(item)) && seen.add(key(item)) !== undefined);\n}\n\n// Groups by name, keeping the order each name first appears in.\nfunction groupByName<T extends { readonly name: string }>(items: readonly T[]): T[][] {\n const groups = new Map<string, T[]>();\n for (const item of items) {\n groups.set(item.name, [...(groups.get(item.name) ?? []), item]);\n }\n return [...groups.values()];\n}\n\nfunction firstDocumentation(parts: readonly { documentation?: string | null; location: SourceLocation }[], owner: string, diagnostics: Diagnostic[]): string | null {\n const documented = parts.filter(part => part.documentation != null);\n for (const disagreeing of documented.slice(1).filter(part => part.documentation !== documented[0].documentation)) {\n diagnostics.push(warning(DiagnosticCodes.ConflictingDocumentationAcrossFiles,\n `The ${owner} is already documented in '${describe(documented[0].location.path)}' - keeping that documentation`, disagreeing.location));\n }\n return documented[0]?.documentation ?? null;\n}\n\nfunction firstDescription(parts: readonly { description: string | null; location: SourceLocation }[], owner: string, diagnostics: Diagnostic[]): string | null {\n const described = parts.filter(part => part.description !== null);\n for (const disagreeing of described.slice(1).filter(part => part.description !== described[0].description)) {\n diagnostics.push(warning(DiagnosticCodes.ConflictingDescriptionAcrossFiles,\n `The ${owner} is already described in '${describe(described[0].location.path)}' - keeping that description`, disagreeing.location));\n }\n return described[0]?.description ?? null;\n}\n\n// Keeps the first declaration of each name; one in another file with the same name is reported and dropped.\n// A repeat within one file is left for that file's own checks.\nfunction declaredInOneFile<T extends { readonly name: string; readonly location: SourceLocation }>(\n declarations: readonly T[], keyword: string, diagnostics: Diagnostic[], within?: string, claimed = new Map<string, SourceLocation>()): T[] {\n const kept: T[] = [];\n for (const declaration of declarations) {\n const first = claimed.get(declaration.name);\n if (first !== undefined && first.path !== declaration.location.path) {\n diagnostics.push(error(DiagnosticCodes.RepeatedDeclarationAcrossFiles,\n `Duplicate ${keyword} '${declaration.name}'${within === undefined ? '' : ` in ${within}`} - already declared in '${describe(first.path)}'`, declaration.location));\n continue;\n }\n if (first === undefined) {\n claimed.set(declaration.name, declaration.location);\n }\n kept.push(declaration);\n }\n return kept;\n}\n\nconst describe = (path: string | undefined): string => path ?? 'another file';\nconst sameLocation = (left: SourceLocation, right: SourceLocation): boolean => left.path === right.path && left.line === right.line && left.column === right.column;\nconst error = (code: string, message: string, location: SourceLocation): Diagnostic => ({ severity: 'error', code, message, location });\nconst warning = (code: string, message: string, location: SourceLocation): Diagnostic => ({ severity: 'warning', code, message, location });\n\n// Composition members are written only when a document declares them, matching the C# canonical JSON.\nfunction presentOnly<TKey extends string, TValue>(key: TKey, values: readonly TValue[]): Partial<Record<TKey, readonly TValue[]>> {\n return values.length === 0 ? {} : { [key]: values } as Partial<Record<TKey, readonly TValue[]>>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PlayFolderMerge.js","names":["diagnostics","applications","documents","document","options","invalid","application","validatedSourceOptions","legacySourceOptions","failure","InvalidSyntaxJson","DiagnosticCodes","asserted","sourceOptions","invalidSourceOptions","named","concepts","types","identities","extra","readModes","zones","modes","domains","domain","modules","personas","declaredPolicies","policies","droppedPolicies","policy","value","item","mergeStructuralInteractions","identityContext","ParserContext","LineReader","validateApplicationHandlers","validateIdentity","all","diagnostic","location","isAuthoredDocument","node","module","parts","owner","part","reference","features","left","right","feature","kept","authorization","declarations","declaration","first","earlier","toSyntaxJson","combineAuthorize","combined","next","seen","items","key","groups","documented","disagreeing","described","claimed","keyword","within","path","values"],"sources":["../../../../../../Compiler/Files/PlayFolderMerge.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { mergeStructuralInteractions } from '../Parsing/StructuralInteractionSites';\nimport { validateIdentity } from '../Parsing/IdentityValidator';\nimport { validateApplicationHandlers } from '../Parsing/CommandHandlerValidator';\nimport { ParserContext } from '../Parsing/ParserContext';\nimport { LineReader } from '../Parsing/LineReader';\nimport { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { SourceLocation } from '../Diagnostics/SourceLocation';\nimport { combineAuthorize } from '../Parsing/AuthorizeParser';\nimport { CompilationResult } from '../ScreenplayCompiler';\nimport { AuthorizeSyntax, PersonaSyntax } from '../Syntax/Authorization';\nimport { ConceptSyntax, TypeSyntax } from '../Syntax/Declarations';\nimport { ApplicationSyntax, FeatureSyntax, ModuleSyntax } from '../Syntax/Structure';\nimport { toSyntaxJson } from '../Syntax/SyntaxJson';\nimport { invalidSourceOptions, isAuthoredDocument, legacySourceOptions, SourceOptions, validatedSourceOptions } from '../Syntax/SourceOptions';\nimport { InvalidSyntaxJson } from '../Syntax/InvalidSyntaxJson';\n\n// \"The documents of a folder are one document\": modules and features with the same name combine, and a\n// name declared in two files is reported - the port of the C# PlayFolderMerge for what this compiler\n// models. The semantic validation the C# merge runs afterwards is not ported.\nexport function mergeDocuments(documents: readonly CompilationResult<ApplicationSyntax>[]): CompilationResult<ApplicationSyntax> {\n const diagnostics: Diagnostic[] = [];\n const applications = documents.map(document => document.value);\n const options = new Map<ApplicationSyntax, SourceOptions>();\n let invalid = false;\n for (const application of applications) {\n try {\n options.set(application, Object.hasOwn(application, 'sourceOptions') ? validatedSourceOptions(application.sourceOptions) : legacySourceOptions);\n } catch (failure) {\n if (!(failure instanceof InvalidSyntaxJson)) throw failure;\n invalid = true;\n diagnostics.push(error(DiagnosticCodes.IncompatibleNumericSource, failure.message, application.location));\n }\n }\n const asserted = applications.filter(application => options.get(application)?.numericMode === 'exact' || hasDeclarations(application));\n let sourceOptions = options.get(asserted[0]) ?? legacySourceOptions;\n for (const application of asserted.slice(1)) {\n if (options.get(application)?.numericMode !== sourceOptions.numericMode) {\n invalid = true;\n diagnostics.push(error(DiagnosticCodes.MixedNumericModes, 'Declaration-bearing documents and marked import barrels must independently select the same numeric mode.', application.location));\n }\n }\n if (invalid) sourceOptions = invalidSourceOptions;\n const named = new Map<string, SourceLocation>();\n const concepts = declaredInOneFile<ConceptSyntax>(applications.flatMap(application => application.concepts), 'declaration of', diagnostics, undefined, named);\n const types = declaredInOneFile<TypeSyntax>(applications.flatMap(application => application.types), 'declaration of', diagnostics, undefined, named);\n const identities = applications.flatMap(application => application.identity == null ? [] : [application.identity]);\n for (const extra of identities.slice(1)) diagnostics.push(error(DiagnosticCodes.RepeatedSingularDeclarationAcrossFiles,\n `The folder already declares an identity block in '${describe(identities[0].location.path)}' - a folder compiles to one application, which can have at most one`, extra.location));\n const readModes = applications.filter(application => application.commandReadMode != null);\n for (const extra of readModes.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidCommandReadsDeclaration,\n \"Declare 'command reads protected' once at the application root.\", extra.location));\n const zones = applications.filter(application => application.timeZone != null);\n for (const extra of zones.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidTimeZoneDeclaration,\n \"Declare 'time zone' once at the application root.\", extra.location));\n const modes = applications.filter(application => application.reactionProductionMode != null);\n for (const extra of modes.slice(1)) diagnostics.push(error(DiagnosticCodes.InvalidReactionBatchesDeclaration,\n \"Declare 'reaction batches atomic' once at the application root.\", extra.location));\n const domains = applications.map(application => application.domain).filter(domain => domain !== null);\n for (const extra of domains.slice(1)) {\n diagnostics.push(error(DiagnosticCodes.RepeatedSingularDeclarationAcrossFiles,\n `The folder already declares a domain in '${describe(domains[0].location.path)}' - a folder compiles to one application, which can have at most one`, extra.location));\n }\n // Modules merge before personas are claimed, so the diagnostics come in the order the C# merge reports them.\n const modules = mergeModules(applications.flatMap(application => application.modules), diagnostics);\n const personas = declaredInOneFile<PersonaSyntax>(applications.flatMap(application => application.personas), 'persona', diagnostics);\n const declaredPolicies = applications.flatMap(application => application.policies ?? []);\n const policies = declaredInOneFile(declaredPolicies, 'policy', diagnostics);\n // Like the C# merge, a policy dropped as repeated across files is not also reported as repeated within its file.\n const droppedPolicies = declaredPolicies.filter(policy => !policies.includes(policy)).map(policy => policy.location);\n const value: ApplicationSyntax = {\n kind: 'ApplicationSyntax',\n sourceOptions,\n ...(modes.length === 0 ? {} : { reactionProductionMode: modes[0].reactionProductionMode }),\n ...(readModes.length === 0 ? {} : { commandReadMode: readModes[0].commandReadMode }),\n ...(zones.length === 0 ? {} : { timeZone: zones[0].timeZone }),\n ...(identities.length === 0 ? {} : { identity: identities[0] }),\n domain: domains[0] ?? null,\n imports: firstOfEach(applications.flatMap(application => application.imports), item => item.qualifiedName),\n concepts,\n types,\n examples: applications.flatMap(application => application.examples ?? []),\n systems: applications.flatMap(application => application.systems ?? []),\n ...(applications.some(application => (application.stateMachines?.length ?? 0) > 0) ? { stateMachines: applications.flatMap(application => application.stateMachines ?? []) } : {}),\n ...(applications.some(application => (application.workflows?.length ?? 0) > 0) ? { workflows: applications.flatMap(application => application.workflows ?? []) } : {}),\n purposes: declaredInOneFile(applications.flatMap(application => application.purposes ?? []), 'purpose', diagnostics),\n eventSources: applications.flatMap(application => application.eventSources ?? []),\n declaredTriggers: applications.flatMap(application => application.declaredTriggers ?? []),\n modules,\n personas,\n policies,\n seeds: applications.flatMap(application => application.seeds ?? []),\n fileImports: applications.flatMap(application => application.fileImports),\n ...presentOnly('stickyNotes', applications.flatMap(application => application.stickyNotes ?? [])),\n ...presentOnly('exposures', applications.flatMap(application => application.exposures ?? [])),\n ...presentOnly('instanceContributions', applications.flatMap(application => application.instanceContributions ?? [])),\n location: applications[0]?.location ?? { line: 1, column: 1 },\n };\n mergeStructuralInteractions(value, applications);\n const identityContext = new ParserContext(new LineReader([]));\n validateApplicationHandlers(value, identityContext);\n validateIdentity(value, identityContext);\n diagnostics.push(...identityContext.diagnostics);\n const documentDiagnostics = documents.flatMap(document => document.diagnostics).filter(diagnostic =>\n diagnostic.code !== DiagnosticCodes.DuplicateDeclaration || !droppedPolicies.some(location => sameLocation(location, diagnostic.location)));\n const all = [...documentDiagnostics, ...diagnostics];\n return { value, diagnostics: all, success: !all.some(diagnostic => diagnostic.severity === 'error') };\n}\n\nfunction hasDeclarations(application: ApplicationSyntax): boolean {\n if (isAuthoredDocument(application)) return true;\n if (application.identity != null || application.domain !== null || application.concepts.length > 0 || application.types.length > 0 || application.personas.length > 0 || (application.policies?.length ?? 0) > 0 || (application.purposes?.length ?? 0) > 0 || (application.seeds?.length ?? 0) > 0 || (application.systems?.length ?? 0) > 0 || (application.stateMachines?.length ?? 0) > 0 || (application.workflows?.length ?? 0) > 0 || (application.eventSources?.length ?? 0) > 0 || (application.examples?.length ?? 0) > 0 || (application.stickyNotes?.length ?? 0) > 0) return true;\n const feature = (node: FeatureSyntax): boolean => !node.isPlacement || (node.examples?.length ?? 0) > 0 || node.slices.length > 0 || node.features.some(feature);\n return application.modules.some(module => !module.isPlacement || (module.examples?.length ?? 0) > 0 || module.features.some(feature));\n}\n\nfunction mergeModules(modules: readonly ModuleSyntax[], diagnostics: Diagnostic[]): ModuleSyntax[] {\n return groupByName(modules).map(placedLast).map(parts => {\n if (parts.length === 1) return mergeStructuralInteractions({ ...parts[0], isPlacement: false, features: parts[0].features.map(unplaced) }, parts);\n const owner = mergeStructuralInteractions({\n ...parts[0],\n isPlacement: false,\n fileImports: parts.flatMap(part => part.fileImports),\n examples: parts.flatMap(part => part.examples ?? []),\n purposes: firstOfEach(parts.flatMap(part => part.purposes ?? []), reference => reference.name),\n description: firstDescription(parts, `module '${parts[0].name}'`, diagnostics),\n documentation: firstDocumentation(parts, `module '${parts[0].name}'`, diagnostics),\n authorize: combineAuthorization(parts.map(part => part.authorize), `module '${parts[0].name}'`, diagnostics),\n dependsOn: groupDependencies(parts),\n }, parts, diagnostics);\n return mergeStructuralInteractions({ ...owner, features: mergeFeatures(parts.flatMap(part => part.features), diagnostics) }, [owner]);\n });\n}\n\nfunction mergeFeatures(features: readonly FeatureSyntax[], diagnostics: Diagnostic[]): FeatureSyntax[] {\n return groupByName(features).map(placedLast).map(parts => {\n if (parts.length === 1) return unplaced(parts[0]);\n const owner = mergeStructuralInteractions({\n ...parts[0],\n isPlacement: false,\n fileImports: parts.flatMap(part => part.fileImports),\n examples: parts.flatMap(part => part.examples ?? []),\n purposes: firstOfEach(parts.flatMap(part => part.purposes ?? []), reference => reference.name),\n description: firstDescription(parts, `feature '${parts[0].name}'`, diagnostics),\n documentation: firstDocumentation(parts, `feature '${parts[0].name}'`, diagnostics),\n authorize: combineAuthorization(parts.map(part => part.authorize), `feature '${parts[0].name}'`, diagnostics),\n dependsOn: groupDependencies(parts),\n }, parts, diagnostics);\n return mergeStructuralInteractions({ ...owner,\n features: mergeFeatures(parts.flatMap(part => part.features), diagnostics),\n slices: declaredInOneFile(parts.flatMap(part => part.slices), 'slice', diagnostics, `feature '${parts[0].name}'`),\n }, [owner]);\n });\n}\n\n// Dependencies accumulate in path order, independently of which header owns the container.\nfunction groupDependencies(parts: readonly (ModuleSyntax | FeatureSyntax)[]) {\n return [...parts].sort((left, right) => (left.location.path ?? '') < (right.location.path ?? '') ? -1 : (left.location.path ?? '') > (right.location.path ?? '') ? 1 : 0).flatMap(part => part.dependsOn ?? []);\n}\n\n// Where a module or feature is written comes before files merely placed in it, so the merged one is located\n// at its declaration. Within each kind, path order is kept.\nfunction placedLast<T extends { readonly isPlacement: boolean }>(parts: readonly T[]): T[] {\n return [...parts.filter(part => !part.isPlacement), ...parts.filter(part => part.isPlacement)];\n}\n\n// Once merged, a feature is the feature - whether a file was placed in it no longer says anything.\nfunction unplaced(feature: FeatureSyntax): FeatureSyntax {\n return mergeStructuralInteractions({ ...feature, isPlacement: false, features: feature.features.map(unplaced) }, [feature]);\n}\n\n// Combines the gates files declare on one module or feature with 'and', never weakening an earlier one. The\n// same gate repeated in another file says nothing new and is reported and left out.\nfunction combineAuthorization(declarations: readonly (AuthorizeSyntax | null)[], owner: string, diagnostics: Diagnostic[]): AuthorizeSyntax | null {\n const kept: AuthorizeSyntax[] = [];\n for (const authorization of declarations.filter(declaration => declaration !== null)) {\n const first = kept.find(earlier => earlier.location.path !== authorization.location.path\n && JSON.stringify(toSyntaxJson(earlier)) === JSON.stringify(toSyntaxJson(authorization)));\n if (first !== undefined) {\n diagnostics.push(warning(DiagnosticCodes.DuplicateAuthorizationAcrossFiles,\n `An identical authorization is already declared on the ${owner} in '${describe(first.location.path)}' - this repeated gate is ignored`, authorization.location));\n continue;\n }\n kept.push(authorization);\n }\n return kept.reduce<AuthorizeSyntax | null>((combined, next) => combineAuthorize(combined, next), null);\n}\n\nfunction firstOfEach<T>(items: readonly T[], key: (item: T) => string): T[] {\n const seen = new Set<string>();\n return items.filter(item => !seen.has(key(item)) && seen.add(key(item)) !== undefined);\n}\n\n// Groups by name, keeping the order each name first appears in.\nfunction groupByName<T extends { readonly name: string }>(items: readonly T[]): T[][] {\n const groups = new Map<string, T[]>();\n for (const item of items) {\n groups.set(item.name, [...(groups.get(item.name) ?? []), item]);\n }\n return [...groups.values()];\n}\n\nfunction firstDocumentation(parts: readonly { documentation?: string | null; location: SourceLocation }[], owner: string, diagnostics: Diagnostic[]): string | null {\n const documented = parts.filter(part => part.documentation != null);\n for (const disagreeing of documented.slice(1).filter(part => part.documentation !== documented[0].documentation)) {\n diagnostics.push(warning(DiagnosticCodes.ConflictingDocumentationAcrossFiles,\n `The ${owner} is already documented in '${describe(documented[0].location.path)}' - keeping that documentation`, disagreeing.location));\n }\n return documented[0]?.documentation ?? null;\n}\n\nfunction firstDescription(parts: readonly { description: string | null; location: SourceLocation }[], owner: string, diagnostics: Diagnostic[]): string | null {\n const described = parts.filter(part => part.description !== null);\n for (const disagreeing of described.slice(1).filter(part => part.description !== described[0].description)) {\n diagnostics.push(warning(DiagnosticCodes.ConflictingDescriptionAcrossFiles,\n `The ${owner} is already described in '${describe(described[0].location.path)}' - keeping that description`, disagreeing.location));\n }\n return described[0]?.description ?? null;\n}\n\n// Keeps the first declaration of each name; one in another file with the same name is reported and dropped.\n// A repeat within one file is left for that file's own checks.\nfunction declaredInOneFile<T extends { readonly name: string; readonly location: SourceLocation }>(\n declarations: readonly T[], keyword: string, diagnostics: Diagnostic[], within?: string, claimed = new Map<string, SourceLocation>()): T[] {\n const kept: T[] = [];\n for (const declaration of declarations) {\n const first = claimed.get(declaration.name);\n if (first !== undefined && first.path !== declaration.location.path) {\n diagnostics.push(error(DiagnosticCodes.RepeatedDeclarationAcrossFiles,\n `Duplicate ${keyword} '${declaration.name}'${within === undefined ? '' : ` in ${within}`} - already declared in '${describe(first.path)}'`, declaration.location));\n continue;\n }\n if (first === undefined) {\n claimed.set(declaration.name, declaration.location);\n }\n kept.push(declaration);\n }\n return kept;\n}\n\nconst describe = (path: string | undefined): string => path ?? 'another file';\nconst sameLocation = (left: SourceLocation, right: SourceLocation): boolean => left.path === right.path && left.line === right.line && left.column === right.column;\nconst error = (code: string, message: string, location: SourceLocation): Diagnostic => ({ severity: 'error', code, message, location });\nconst warning = (code: string, message: string, location: SourceLocation): Diagnostic => ({ severity: 'warning', code, message, location });\n\n// Composition members are written only when a document declares them, matching the C# canonical JSON.\nfunction presentOnly<TKey extends string, TValue>(key: TKey, values: readonly TValue[]): Partial<Record<TKey, readonly TValue[]>> {\n return values.length === 0 ? {} : { [key]: values } as Partial<Record<TKey, readonly TValue[]>>;\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{eventDeclarations as e}from"../Syntax/EventDeclarations.js";const t=/* @__PURE__ */ new WeakMap;function foldedSources(e,n,r){let i=t.get(e);return i===void 0&&(i=foldedEvents(e),t.set(e,i)),i.get(n)?.get(r)??[]}function foldedEvents(e){let t,allEvents=()=>t??=declaredEvents(e);return new Map(e.slices.map(({slice:t})=>[t,publishedEvents(t,e,allEvents)]))}function publishedEvents(e,t,n){let r=/* @__PURE__ */ new Map;for(let i of e.projections){let a=publishedEvent(i,e,t);if(a===null)continue;let o=r.get(a)??[];r.set(a,o);for(let r of i.blocks)o.push(...blockEvents(r,e,t,n))}return r}function publishedEvent(e,t,n){return e.readModel===null||n.resolve(e.readModel,t,e=>e.readModels)!==null?null:n.event(e.readModel,t)}function blockEvents(e,t,n,r){return e.kind===`FromSyntax`?e.events.map(e=>n.event(e.event,t)).filter(isEvent):e.kind===`EverySyntax`||e.kind===`AllSyntax`?r():[]}function declaredEvents(t){return t.slices.flatMap(n=>e(n.slice).map(e=>t.event(e.name,n.slice))).filter(isEvent)}function isEvent(e){return e!==null}export{foldedSources};
2
+ //# sourceMappingURL=FoldedEventSources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldedEventSources.js","names":["foldedEventsByPass","index","declarations","slice","event","declared","published","projection","target","folded","block","allEvents","owner","spec","eventDeclarations"],"sources":["../../../../../../Compiler/Parsing/FoldedEventSources.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { EventSyntax } from '../Syntax/Declarations';\nimport { eventDeclarations } from '../Syntax/EventDeclarations';\nimport { ProjectionBlockSyntax, ProjectionSyntax } from '../Syntax/Projections';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { RefusalDeclarations } from './RefusalDeclarations';\n\ntype FoldedEvents = ReadonlyMap<SliceSyntax, ReadonlyMap<EventSyntax, readonly EventSyntax[]>>;\n\n// An outbound event projection publishes the facts it folds, so those facts' event-source types are the event's.\n// Indexed once per validation pass (one RefusalDeclarations), per declaring slice, rather than resolved again for every lookup.\nconst foldedEventsByPass = new WeakMap<RefusalDeclarations, FoldedEvents>();\n\nexport function foldedSources(declarations: RefusalDeclarations, slice: SliceSyntax, event: EventSyntax): readonly EventSyntax[] {\n let index = foldedEventsByPass.get(declarations);\n if (index === undefined) {\n index = foldedEvents(declarations);\n foldedEventsByPass.set(declarations, index);\n }\n return index.get(slice)?.get(event) ?? [];\n}\n\nfunction foldedEvents(declarations: RefusalDeclarations): FoldedEvents {\n let declared: readonly EventSyntax[] | undefined;\n const allEvents = () => declared ??= declaredEvents(declarations);\n return new Map<SliceSyntax, ReadonlyMap<EventSyntax, readonly EventSyntax[]>>(declarations.slices.map(({ slice }) => [slice, publishedEvents(slice, declarations, allEvents)]));\n}\n\nfunction publishedEvents(slice: SliceSyntax, declarations: RefusalDeclarations, allEvents: () => readonly EventSyntax[]): ReadonlyMap<EventSyntax, readonly EventSyntax[]> {\n const published = new Map<EventSyntax, EventSyntax[]>();\n for (const projection of slice.projections) {\n const target = publishedEvent(projection, slice, declarations);\n if (target === null) continue;\n const folded = published.get(target) ?? [];\n published.set(target, folded);\n for (const block of projection.blocks) folded.push(...blockEvents(block, slice, declarations, allEvents));\n }\n return published;\n}\n\nfunction publishedEvent(projection: ProjectionSyntax, slice: SliceSyntax, declarations: RefusalDeclarations): EventSyntax | null {\n if (projection.readModel === null || declarations.resolve(projection.readModel, slice, owner => owner.readModels) !== null) return null;\n return declarations.event(projection.readModel, slice);\n}\n\nfunction blockEvents(block: ProjectionBlockSyntax, slice: SliceSyntax, declarations: RefusalDeclarations, allEvents: () => readonly EventSyntax[]): readonly EventSyntax[] {\n if (block.kind === 'FromSyntax') return block.events.map(spec => declarations.event(spec.event, slice)).filter(isEvent);\n return block.kind === 'EverySyntax' || block.kind === 'AllSyntax' ? allEvents() : [];\n}\n\nfunction declaredEvents(declarations: RefusalDeclarations): readonly EventSyntax[] {\n return declarations.slices.flatMap(owner => eventDeclarations(owner.slice).map(event => declarations.event(event.name, owner.slice))).filter(isEvent);\n}\n\nfunction isEvent(event: EventSyntax | null): event is EventSyntax {\n return event !== null;\n}\n"],"mappings":"wHAaA,MAAMA,kBAAqB,IAAI,QAE/B,SAAgB,cAAc,EAAmC,EAAoB,EAA4C,CAC7H,IAAIC,EAAQD,EAAmB,IAAIE,CAAY,EAK/C,OAJID,IAAU,IAAA,KACV,EAAQ,aAAaC,CAAY,EACjCF,EAAmB,IAAIE,EAAcD,CAAK,GAEvCA,EAAM,IAAIE,CAAK,CAAC,EAAE,IAAIC,CAAK,GAAK,CAAC,CAC5C,CAEA,SAAS,aAAa,EAAiD,CACnE,IAAIC,EACE,cAAkB,IAAa,eAAeH,CAAY,EAChE,OAAO,IAAI,IAAmEA,EAAa,OAAO,KAAK,CAAE,WAAY,CAACC,EAAO,gBAAgBA,EAAOD,EAAc,SAAS,CAAC,CAAC,CAAC,CAClL,CAEA,SAAS,gBAAgB,EAAoB,EAAmC,EAA2F,CACvK,IAAMI,kBAAY,IAAI,IACtB,IAAK,IAAMC,KAAcJ,EAAM,YAAa,CACxC,IAAMK,EAAS,eAAeD,EAAYJ,EAAOD,CAAY,EAC7D,GAAIM,IAAW,KAAM,SACrB,IAAMC,EAASH,EAAU,IAAIE,CAAM,GAAK,CAAC,EACzCF,EAAU,IAAIE,EAAQC,CAAM,EAC5B,IAAK,IAAMC,KAASH,EAAW,OAAQE,EAAO,KAAK,GAAG,YAAYC,EAAOP,EAAOD,EAAcS,CAAS,CAAC,CAC5G,CACA,OAAOL,CACX,CAEA,SAAS,eAAe,EAA8B,EAAoB,EAAuD,CAE7H,OADIC,EAAW,YAAc,MAAQL,EAAa,QAAQK,EAAW,UAAWJ,EAAO,GAASS,EAAM,UAAU,IAAM,KAAa,KAC5HV,EAAa,MAAMK,EAAW,UAAWJ,CAAK,CACzD,CAEA,SAAS,YAAY,EAA8B,EAAoB,EAAmC,EAAiE,CAEvK,OADIO,EAAM,OAAS,aAAqBA,EAAM,OAAO,IAAI,GAAQR,EAAa,MAAMW,EAAK,MAAOV,CAAK,CAAC,CAAC,CAAC,OAAO,OAAO,EAC/GO,EAAM,OAAS,eAAiBA,EAAM,OAAS,YAAcC,EAAU,EAAI,CAAC,CACvF,CAEA,SAAS,eAAe,EAA2D,CAC/E,OAAOT,EAAa,OAAO,QAAQ,GAASY,EAAkBF,EAAM,KAAK,CAAC,CAAC,IAAI,GAASV,EAAa,MAAME,EAAM,KAAMQ,EAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CACxJ,CAEA,SAAS,QAAQ,EAAiD,CAC9D,OAAOR,IAAU,IACrB"}