@cratis/screenplay-language 4.176.0 → 4.177.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.
@@ -1,2 +1,2 @@
1
- const e={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`,CaptureEventsKeyNotRequired:`PLAY0700`,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`,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`,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`,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`,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`,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`};export{e as DiagnosticCodes};
1
+ const e={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`,CaptureEventsKeyNotRequired:`PLAY0700`,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`,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`,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`,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`,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`};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 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 CaptureEventsKeyNotRequired: 'PLAY0700',\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 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 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 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 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',\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 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} 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 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 CaptureEventsKeyNotRequired: 'PLAY0700',\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 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 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 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',\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 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} 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{stringBodyPattern as t,unescapeString as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{locationOf as i}from"./SourceLine.js";import{parseMappingSource as a}from"./ExpressionParser.js";import{firstWord as o}from"./LineText.js";import{parseTypeRef as s}from"./PropertyLineParser.js";import{parseFencedText as c}from"./CodeBlockParser.js";import{parseDescription as l}from"./DescriptionParser.js";import{parseGuardedAction as u}from"./GuardedActionParser.js";import{collectInputUses as d}from"./InputUses.js";import{isFileDirective as f}from"./FileReferences.js";import{parseFromClause as p}from"./UiBindingParser.js";const m=`(?:"(${t})"|(\\$strings\\.\\w+(?:\\.\\w+)*))`,h=r(`^screen\\s+([A-Za-z_]\\w*)$`),g=r(`^data\\s+([\\w.]+(?:\\[\\])?)\\s+via\\s+query\\s+(\\w+(?:\\.\\w+)*)(?:\\s+by\\s+(\\w+))?$`),_=r(`^action\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)$`),v=r(`^label\\s+${m}$`),y=r(`^action\\s+${m}$`),b=r(`^navigate\\s+to\\s+(\\w+(?:\\.\\w+)*)(?:\\s+by\\s+(\\w+))?$`),x=r(`^route\\s+${m}$`),S=r(`^outlet\\s+([A-Za-z_]\\w*)$`),C=r(`^contribute\\s+to\\s+([A-Za-z_]\\w*)(?:\\s+order\\s+(-?\\d+))?$`),w=r(`^parameter\\s+([A-Za-z_]\\w*)\\s+from\\s+(.+)$`),T=r(`^component\\s+([A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*)\\s+([A-Za-z_]\\w*)$`),E=r(`^id\\s+(?:"(${t})"|(\\S+))$`),D=r(`^property\\s+([\\w.]+)\\s+from\\s+(.+)$`),O=r(`^property\\s+([\\w.]+)\\s*=\\s+(.+)$`),k=r(`^exposes\\s+([A-Za-z_]\\w*)\\s+from\\s+(.+)$`),A=r(`^presentation\\s+([A-Za-z_]\\w*)\\s+${m}$`),j=r(`^item\\s+([A-Za-z_]\\w*)\\s+(action|navigate|dialog)(?:\\s+to)?\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)$`),M=r(`^[a-z_]\\w*$`),N=r(`^title\\s+${m}$`),P=r(`^column\\s+([\\w.]+)(?:\\s+label\\s+${m})?$`),F=r(`^on\\s+row-click\\s+(navigate\\s+to\\s+.+)$`),I=r(`^field\\s+([\\w.]+)\\s+label\\s+${m}$`),operandText=(e,t)=>e[t]===void 0?e[t+1]:n(e[t]),isInteraction=e=>[`on`,`uses`].includes(o(e.content)),isCodeLine=(e,t)=>t.content.startsWith("```")||e.languages.has(t.content);function parseScreen(t,n){let r=h.exec(n.content);r===null&&t.error(e.InvalidScreenDeclaration,`Invalid screen declaration '${n.content}' - expected 'screen <Name>'`,i(n));let a=[],s=[],c=null;for(let e=t.peekChild(n.indent);e!==void 0;e=t.peekChild(n.indent))if(t.reader.takeSignificant(),o(e.content)===`contribute`){let n=parseScreenContribution(t,e);n!==void 0&&s.push(n)}else o(e.content)===`description`?c=l(t,e,c,`Screen '${r?.[1]??``}'`):f(e)||pushDirective(t,e,a);return{kind:`ScreenSyntax`,name:r?.[1]??``,directives:a,description:c,...s.length>0?{contributions:s}:{},location:i(n)}}function parseScreenContribution(t,n){let r=C.exec(n.content);if(r===null)t.error(e.UnknownScreenDirective,`Invalid screen contribution '${n.content}' - expected 'contribute to <Point> [order <n>]'`,i(n)),t.skipBlock(n.indent);else return{kind:`ScreenContributionSyntax`,contributionPoint:r[1],order:r[2]===void 0?null:Number(r[2]),directives:parseDirectives(t,n),location:i(n)}}function pushDirective(e,t,n){let r=parseDirective(e,t);r!==void 0&&n.push(r)}function parseDirectives(e,t){let n=[];for(let r=e.peekChild(t.indent);r!==void 0;r=e.peekChild(t.indent))e.reader.takeSignificant(),pushDirective(e,r,n);return n}function parseDirective(t,n){switch(o(n.content)){case`data`:return parseData(t,n);case`action`:return parseAction(t,n);case`template`:return parseTemplateReference(t,n);case`section`:return parseSection(t,n);case`title`:return parseTitle(t,n);case`table`:return parseTable(t,n);case`summary`:return parseSummary(t,n);case`component`:return parseComponent(t,n);case`toolbar`:return parseToolbar(t,n);case`navigate`:return parseNavigate(t,n.content,n);case`on`:return d(t,n),{kind:`ScreenBehaviorSyntax`,location:i(n)};case`uses`:return t.skipOpaqueBlock(n.indent),{kind:`ScreenUsesBehaviorSyntax`,location:i(n)};default:if(isCodeLine(t,n))return parseCode(t,n);t.error(e.UnknownScreenDirective,`Unexpected '${n.content}' in screen body`,i(n)),t.skipBlock(n.indent);return}}function parseData(t,n){let r=g.exec(n.content);if(r===null)t.error(e.InvalidDataDirective,`Invalid data directive '${n.content}' - expected 'data <ReadModel> via query <Query> [by <param>]'`,i(n));else return{kind:`ScreenDataSyntax`,type:s(r[1],i(n)),query:r[2],by:r[3]??null,location:i(n)}}function parseAction(t,n){let r=y.exec(n.content);if(r!==null)return u(t,n,operandText(r,1),parseNavigate);let a=_.exec(n.content);if(a===null){t.error(e.InvalidActionDirective,`Invalid action directive '${n.content}' - expected 'action <Command>'`,i(n)),t.skipBlock(n.indent);return}let s=null,c=null;for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=v.exec(r.content);n===null?o(r.content)===`navigate`?c=parseNavigate(t,r.content,r)??null:t.error(e.UnknownActionDirective,`Unexpected '${r.content}' in action - expected 'label "..."' or 'navigate to ...'`,i(r)):s=operandText(n,1)}return{kind:`ScreenActionSyntax`,command:a[1],label:s,navigate:c,location:i(n)}}function parseNavigate(t,n,r){let a=b.exec(n);if(a===null){t.error(e.InvalidNavigation,`Invalid navigation '${n}' - expected 'navigate to <Screen> [by <param>]'`,i(r));return}let o=[],s=null,c=null;for(let n=t.peekChild(r.indent);n!==void 0;n=t.peekChild(r.indent)){t.reader.takeSignificant();let r=w.exec(n.content);if(r!==null){o.push({kind:`ScreenNavigationParameterSyntax`,name:r[1],binding:p(t,r[2],i(n)),location:i(n)});continue}let a=x.exec(n.content);if(a!==null){s=operandText(a,1);continue}let l=S.exec(n.content);l===null?t.error(e.InvalidNavigation,`Unexpected '${n.content}' in navigation - expected 'route "..."', 'outlet <name>' or 'parameter <name> from <binding>'`,i(n)):c=l[1]}return{kind:`ScreenNavigateSyntax`,screen:a[1],by:a[2]??null,route:s,...c===null?{}:{outlet:c},parameters:o,location:i(r)}}function parseTemplateReference(t,n){let r=n.content.substring(8).trim(),a=[];for(let o=t.peekChild(n.indent);o!==void 0;o=t.peekChild(n.indent))t.reader.takeSignificant(),M.test(o.content)?a.push({kind:`ScreenSlotSyntax`,name:o.content,directives:parseDirectives(t,o),location:i(o)}):(t.error(e.InvalidScreenLayoutSlot,`Expected a slot name in template '${r}', got '${o.content}'`,i(o)),t.skipBlock(o.indent));return{kind:`ScreenTemplateReferenceSyntax`,name:r,slots:a,location:i(n)}}function parseSection(e,t){return{kind:`ScreenSectionSyntax`,name:t.content.substring(7).trim(),directives:parseDirectives(e,t),location:i(t)}}function parseTitle(t,n){let r=N.exec(n.content);return r===null?(t.error(e.InvalidTitleDirective,`Invalid title directive '${n.content}' - expected 'title "..."'`,i(n)),{kind:`ScreenTitleSyntax`,text:``,location:i(n)}):{kind:`ScreenTitleSyntax`,text:operandText(r,1),location:i(n)}}function parseTable(t,n){let r=n.content.substring(5).trim(),a=[],s=null;for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=P.exec(r.content),c=F.exec(r.content);if(n!==null){let e=n[2]!==void 0||n[3]!==void 0;a.push({kind:`ScreenColumnSyntax`,property:n[1],label:e?operandText(n,2):null,location:i(r)})}else c===null?o(r.content)===`on`?d(t,r):isInteraction(r)?t.skipOpaqueBlock(r.indent):t.error(e.UnknownTableDirective,`Unexpected '${r.content}' in table - expected 'column ...', 'on row-click navigate to ...', 'on <trigger>' or 'uses <Behavior>'`,i(r)):s=parseNavigate(t,c[1],r)??null}return{kind:`ScreenTableSyntax`,target:r,columns:a,rowClick:s,location:i(n)}}function parseSummary(t,n){let r=n.content.substring(7).trim(),a=[];for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=I.exec(r.content);n===null?t.error(e.UnknownSummaryDirective,`Unexpected '${r.content}' in summary - expected 'field <property> label "..."'`,i(r)):a.push({kind:`ScreenFieldSyntax`,property:n[1],label:operandText(n,2),location:i(r)})}return{kind:`ScreenSummarySyntax`,target:r,fields:a,location:i(n)}}function parseComponent(t,n){let r=T.exec(n.content);if(r===null){t.error(e.UnknownScreenDirective,`Invalid component directive '${n.content}' - expected 'component <Package.Component> <name>'`,i(n)),t.skipBlock(n.indent);return}let a=null,s=null,c=null,l=[],u=[],f=[],p=[];for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent))switch(t.reader.takeSignificant(),o(r.content)){case`context`:a=parseUiContext(t,r);break;case`id`:s=parseStableId(t,r);break;case`property`:parseComponentProperty(t,r,l);break;case`icon`:c=r.content.substring(4).trim();break;case`presentation`:parsePresentationValue(t,r,f);break;case`exposes`:parseExposedValue(t,r,u);break;case`outlet`:p.push({kind:`ComponentOutletSyntax`,name:r.content.substring(6).trim(),directives:parseDirectives(t,r),location:i(r)});break;case`on`:d(t,r);break;case`uses`:t.skipOpaqueBlock(r.indent);break;default:t.error(e.UnknownScreenDirective,`Unexpected '${r.content}' in component - expected context, id, property, icon, presentation, exposes, outlet, on or uses`,i(r)),t.skipBlock(r.indent)}return{kind:`ScreenComponentSyntax`,component:r[1],name:r[2],stableId:s,context:a,properties:l,exposes:u,presentation:f,icon:c,outlets:p,location:i(n)}}function parseUiContext(e,t){return parseUiBindingValue(e,t.content.substring(7).trim(),t)}function parseComponentProperty(t,n,r){let o=D.exec(n.content);if(o!==null){r.push({kind:`ComponentPropertySyntax`,property:o[1],binding:p(t,o[2],i(n)),value:null,location:i(n)});return}let s=O.exec(n.content);s===null?t.error(e.UnknownScreenDirective,`Invalid component property '${n.content}' - expected 'property <path> from <binding>' or 'property <path> = <literal|object|array|null>'`,i(n)):r.push({kind:`ComponentPropertySyntax`,property:s[1],binding:null,value:a(s[2],i(n),t),location:i(n)})}function parseStableId(t,n){let r=E.exec(n.content);return r===null?(t.error(e.UnknownScreenDirective,`Invalid component id '${n.content}' - expected 'id "stable-id"'`,i(n)),null):operandText(r,1)}function parseExposedValue(t,n,r){let a=k.exec(n.content);a===null?t.error(e.UnknownScreenDirective,`Invalid exposed value '${n.content}' - expected 'exposes <name> from <binding>'`,i(n)):r.push({kind:`ComponentExposedValueSyntax`,name:a[1],binding:p(t,a[2],i(n)),location:i(n)})}function parsePresentationValue(t,n,r){let a=A.exec(n.content);a===null?t.error(e.UnknownScreenDirective,`Invalid presentation value '${n.content}' - expected 'presentation <key> "value"'`,i(n)):r.push({kind:`PresentationValueSyntax`,name:a[1],value:operandText(a,2),location:i(n)})}function parseToolbar(e,t){let n=t.content.substring(7).trim(),r=[];for(let n=e.peekChild(t.indent);n!==void 0;n=e.peekChild(t.indent)){e.reader.takeSignificant();let t=parseToolbarItem(e,n);t!==void 0&&r.push(t)}return{kind:`ScreenToolbarSyntax`,name:n,items:r,location:i(t)}}function parseToolbarItem(t,n){let r=j.exec(n.content);if(r===null){t.error(e.UnknownScreenDirective,`Invalid toolbar item '${n.content}' - expected 'item <name> action <Command>', 'item <name> navigate to <Screen>' or 'item <name> dialog <DialogTemplate>'`,i(n)),t.skipBlock(n.indent);return}let a=null,s=null,c=[],l=[];for(let e=t.peekChild(n.indent);e!==void 0;e=t.peekChild(n.indent)){t.reader.takeSignificant();let n=v.exec(e.content);if(n!==null){a=operandText(n,1);continue}let r=w.exec(e.content);r===null?o(e.content)===`icon`?s=e.content.substring(4).trim():parsePresentationValue(t,e,l):c.push({kind:`ScreenNavigationParameterSyntax`,name:r[1],binding:p(t,r[2],i(e)),location:i(e)})}let u=r[2]===`navigate`?`Navigate`:r[2]===`dialog`?`Dialog`:`Action`;return{kind:`ToolbarItemSyntax`,name:r[1],syntaxKind:u,target:r[3],label:a,icon:s,parameters:c,presentation:l,location:i(n)}}function parseUiBindingValue(e,t,n){return p(e,t,i(n))}function parseCode(t,n){let r=n.content.startsWith("```")?n.content.substring(3):n.content;if(!t.languages.has(r)){t.error(e.ExpectedCodeFence,`Expected a registered language on the opening fence, not '${n.content}'`,i(n));return}n.content.startsWith("```")||t.warning(e.LegacyInlineCodeFence,`'${r}' on its own line is deprecated - use '\`\`\`${r}' instead`,i(n));let a=c(t,r,n);return a===null?void 0:{kind:`ScreenCodeSyntax`,code:{kind:`CodeBlockSyntax`,language:r,code:a,location:i(n)},location:i(n)}}export{parseScreen};
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{stringBodyPattern as t,unescapeString as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{locationOf as i}from"./SourceLine.js";import{parseMappingSource as a}from"./ExpressionParser.js";import{firstWord as o}from"./LineText.js";import{parseTypeRef as s}from"./PropertyLineParser.js";import{parseFencedText as c}from"./CodeBlockParser.js";import{parseDescription as l}from"./DescriptionParser.js";import{parseGuardedAction as u}from"./GuardedActionParser.js";import{collectInputUses as d}from"./InputUses.js";import{isFileDirective as f}from"./FileReferences.js";import{isValidTemplateVersionRange as p,parseBlueprintReference as m,startsBlueprintReference as h}from"./TemplateReferenceText.js";import{parseFromClause as g}from"./UiBindingParser.js";const _=`(?:"(${t})"|(\\$strings\\.\\w+(?:\\.\\w+)*))`,v=r(`^screen\\s+([A-Za-z_]\\w*)$`),y=r(`^data\\s+([\\w.]+(?:\\[\\])?)\\s+via\\s+query\\s+(\\w+(?:\\.\\w+)*)(?:\\s+by\\s+(\\w+))?$`),b=r(`^action\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)$`),x=r(`^label\\s+${_}$`),S=r(`^action\\s+${_}$`),C=r(`^navigate\\s+to\\s+(\\w+(?:\\.\\w+)*)(?:\\s+by\\s+(\\w+))?$`),w=r(`^route\\s+${_}$`),T=r(`^outlet\\s+([A-Za-z_]\\w*)$`),E=r(`^contribute\\s+to\\s+([A-Za-z_]\\w*)(?:\\s+order\\s+(-?\\d+))?$`),D=r(`^parameter\\s+([A-Za-z_]\\w*)\\s+from\\s+(.+)$`),O=r(`^component\\s+([A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*)\\s+([A-Za-z_]\\w*)$`),k=r(`^id\\s+(?:"(${t})"|(\\S+))$`),A=r(`^property\\s+([\\w.]+)\\s+from\\s+(.+)$`),j=r(`^property\\s+([\\w.]+)\\s*=\\s+(.+)$`),M=r(`^exposes\\s+([A-Za-z_]\\w*)\\s+from\\s+(.+)$`),N=r(`^presentation\\s+([A-Za-z_]\\w*)\\s+${_}$`),P=r(`^item\\s+([A-Za-z_]\\w*)\\s+(action|navigate|dialog)(?:\\s+to)?\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)$`),F=r(`^[a-z_]\\w*$`),I=r(`^title\\s+${_}$`),L=r(`^column\\s+([\\w.]+)(?:\\s+label\\s+${_})?$`),R=r(`^on\\s+row-click\\s+(navigate\\s+to\\s+.+)$`),z=r(`^field\\s+([\\w.]+)\\s+label\\s+${_}$`),operandText=(e,t)=>e[t]===void 0?e[t+1]:n(e[t]),isInteraction=e=>[`on`,`uses`].includes(o(e.content)),isCodeLine=(e,t)=>t.content.startsWith("```")||e.languages.has(t.content);function parseScreen(t,n){let r=v.exec(n.content);r===null&&t.error(e.InvalidScreenDeclaration,`Invalid screen declaration '${n.content}' - expected 'screen <Name>'`,i(n));let a=[],s=[],c=null;for(let e=t.peekChild(n.indent);e!==void 0;e=t.peekChild(n.indent))if(t.reader.takeSignificant(),o(e.content)===`contribute`){let n=parseScreenContribution(t,e);n!==void 0&&s.push(n)}else o(e.content)===`description`?c=l(t,e,c,`Screen '${r?.[1]??``}'`):f(e)||pushDirective(t,e,a);return{kind:`ScreenSyntax`,name:r?.[1]??``,directives:a,description:c,...s.length>0?{contributions:s}:{},location:i(n)}}function parseScreenContribution(t,n){let r=E.exec(n.content);if(r===null)t.error(e.UnknownScreenDirective,`Invalid screen contribution '${n.content}' - expected 'contribute to <Point> [order <n>]'`,i(n)),t.skipBlock(n.indent);else return{kind:`ScreenContributionSyntax`,contributionPoint:r[1],order:r[2]===void 0?null:Number(r[2]),directives:parseDirectives(t,n),location:i(n)}}function pushDirective(e,t,n){let r=parseDirective(e,t);r!==void 0&&n.push(r)}function parseDirectives(e,t){let n=[];for(let r=e.peekChild(t.indent);r!==void 0;r=e.peekChild(t.indent))e.reader.takeSignificant(),pushDirective(e,r,n);return n}function parseDirective(t,n){switch(o(n.content)){case`data`:return parseData(t,n);case`action`:return parseAction(t,n);case`template`:return parseTemplateReference(t,n);case`section`:return parseSection(t,n);case`title`:return parseTitle(t,n);case`table`:return parseTable(t,n);case`summary`:return parseSummary(t,n);case`component`:return parseComponent(t,n);case`toolbar`:return parseToolbar(t,n);case`navigate`:return parseNavigate(t,n.content,n);case`on`:return d(t,n),{kind:`ScreenBehaviorSyntax`,location:i(n)};case`uses`:return t.skipOpaqueBlock(n.indent),{kind:`ScreenUsesBehaviorSyntax`,location:i(n)};default:if(isCodeLine(t,n))return parseCode(t,n);t.error(e.UnknownScreenDirective,`Unexpected '${n.content}' in screen body`,i(n)),t.skipBlock(n.indent);return}}function parseData(t,n){let r=y.exec(n.content);if(r===null)t.error(e.InvalidDataDirective,`Invalid data directive '${n.content}' - expected 'data <ReadModel> via query <Query> [by <param>]'`,i(n));else return{kind:`ScreenDataSyntax`,type:s(r[1],i(n)),query:r[2],by:r[3]??null,location:i(n)}}function parseAction(t,n){let r=S.exec(n.content);if(r!==null)return u(t,n,operandText(r,1),parseNavigate);let a=b.exec(n.content);if(a===null){t.error(e.InvalidActionDirective,`Invalid action directive '${n.content}' - expected 'action <Command>'`,i(n)),t.skipBlock(n.indent);return}let s=null,c=null;for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=x.exec(r.content);n===null?o(r.content)===`navigate`?c=parseNavigate(t,r.content,r)??null:t.error(e.UnknownActionDirective,`Unexpected '${r.content}' in action - expected 'label "..."' or 'navigate to ...'`,i(r)):s=operandText(n,1)}return{kind:`ScreenActionSyntax`,command:a[1],label:s,navigate:c,location:i(n)}}function parseNavigate(t,n,r){let a=C.exec(n);if(a===null){t.error(e.InvalidNavigation,`Invalid navigation '${n}' - expected 'navigate to <Screen> [by <param>]'`,i(r));return}let o=[],s=null,c=null;for(let n=t.peekChild(r.indent);n!==void 0;n=t.peekChild(r.indent)){t.reader.takeSignificant();let r=D.exec(n.content);if(r!==null){o.push({kind:`ScreenNavigationParameterSyntax`,name:r[1],binding:g(t,r[2],i(n)),location:i(n)});continue}let a=w.exec(n.content);if(a!==null){s=operandText(a,1);continue}let l=T.exec(n.content);l===null?t.error(e.InvalidNavigation,`Unexpected '${n.content}' in navigation - expected 'route "..."', 'outlet <name>' or 'parameter <name> from <binding>'`,i(n)):c=l[1]}return{kind:`ScreenNavigateSyntax`,screen:a[1],by:a[2]??null,route:s,...c===null?{}:{outlet:c},parameters:o,location:i(r)}}function parseTemplateReference(t,n){let r=n.content.substring(8).trim(),a=null,o=null;if(h(r)){let s=m(r);s===void 0?t.error(e.UnknownLayoutDirective,`Invalid template reference '${n.content}' - expected 'template <Name>' or 'template blueprint <Blueprint> <Name> [version "<range>"]'`,i(n)):({blueprint:a,name:r,version:o}=s,o!==null&&!p(o)&&t.error(e.InvalidTemplateVersionRange,`The template version range '${o}' is not one Scene understands - use '*', an exact version or a ^, ~, >=, >, <= or < range such as "^1.2"`,i(n)))}let s=[];for(let a=t.peekChild(n.indent);a!==void 0;a=t.peekChild(n.indent))t.reader.takeSignificant(),F.test(a.content)?s.push({kind:`ScreenSlotSyntax`,name:a.content,directives:parseDirectives(t,a),location:i(a)}):(t.error(e.InvalidScreenLayoutSlot,`Expected a slot name in template '${r}', got '${a.content}'`,i(a)),t.skipBlock(a.indent));return{kind:`ScreenTemplateReferenceSyntax`,name:r,slots:s,...a===null?{}:{blueprint:a},...o===null?{}:{version:o},location:i(n)}}function parseSection(e,t){return{kind:`ScreenSectionSyntax`,name:t.content.substring(7).trim(),directives:parseDirectives(e,t),location:i(t)}}function parseTitle(t,n){let r=I.exec(n.content);return r===null?(t.error(e.InvalidTitleDirective,`Invalid title directive '${n.content}' - expected 'title "..."'`,i(n)),{kind:`ScreenTitleSyntax`,text:``,location:i(n)}):{kind:`ScreenTitleSyntax`,text:operandText(r,1),location:i(n)}}function parseTable(t,n){let r=n.content.substring(5).trim(),a=[],s=null;for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=L.exec(r.content),c=R.exec(r.content);if(n!==null){let e=n[2]!==void 0||n[3]!==void 0;a.push({kind:`ScreenColumnSyntax`,property:n[1],label:e?operandText(n,2):null,location:i(r)})}else c===null?o(r.content)===`on`?d(t,r):isInteraction(r)?t.skipOpaqueBlock(r.indent):t.error(e.UnknownTableDirective,`Unexpected '${r.content}' in table - expected 'column ...', 'on row-click navigate to ...', 'on <trigger>' or 'uses <Behavior>'`,i(r)):s=parseNavigate(t,c[1],r)??null}return{kind:`ScreenTableSyntax`,target:r,columns:a,rowClick:s,location:i(n)}}function parseSummary(t,n){let r=n.content.substring(7).trim(),a=[];for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent)){t.reader.takeSignificant();let n=z.exec(r.content);n===null?t.error(e.UnknownSummaryDirective,`Unexpected '${r.content}' in summary - expected 'field <property> label "..."'`,i(r)):a.push({kind:`ScreenFieldSyntax`,property:n[1],label:operandText(n,2),location:i(r)})}return{kind:`ScreenSummarySyntax`,target:r,fields:a,location:i(n)}}function parseComponent(t,n){let r=O.exec(n.content);if(r===null){t.error(e.UnknownScreenDirective,`Invalid component directive '${n.content}' - expected 'component <Package.Component> <name>'`,i(n)),t.skipBlock(n.indent);return}let a=null,s=null,c=null,l=[],u=[],f=[],p=[];for(let r=t.peekChild(n.indent);r!==void 0;r=t.peekChild(n.indent))switch(t.reader.takeSignificant(),o(r.content)){case`context`:a=parseUiContext(t,r);break;case`id`:s=parseStableId(t,r);break;case`property`:parseComponentProperty(t,r,l);break;case`icon`:c=r.content.substring(4).trim();break;case`presentation`:parsePresentationValue(t,r,f);break;case`exposes`:parseExposedValue(t,r,u);break;case`outlet`:p.push({kind:`ComponentOutletSyntax`,name:r.content.substring(6).trim(),directives:parseDirectives(t,r),location:i(r)});break;case`on`:d(t,r);break;case`uses`:t.skipOpaqueBlock(r.indent);break;default:t.error(e.UnknownScreenDirective,`Unexpected '${r.content}' in component - expected context, id, property, icon, presentation, exposes, outlet, on or uses`,i(r)),t.skipBlock(r.indent)}return{kind:`ScreenComponentSyntax`,component:r[1],name:r[2],stableId:s,context:a,properties:l,exposes:u,presentation:f,icon:c,outlets:p,location:i(n)}}function parseUiContext(e,t){return parseUiBindingValue(e,t.content.substring(7).trim(),t)}function parseComponentProperty(t,n,r){let o=A.exec(n.content);if(o!==null){r.push({kind:`ComponentPropertySyntax`,property:o[1],binding:g(t,o[2],i(n)),value:null,location:i(n)});return}let s=j.exec(n.content);s===null?t.error(e.UnknownScreenDirective,`Invalid component property '${n.content}' - expected 'property <path> from <binding>' or 'property <path> = <literal|object|array|null>'`,i(n)):r.push({kind:`ComponentPropertySyntax`,property:s[1],binding:null,value:a(s[2],i(n),t),location:i(n)})}function parseStableId(t,n){let r=k.exec(n.content);return r===null?(t.error(e.UnknownScreenDirective,`Invalid component id '${n.content}' - expected 'id "stable-id"'`,i(n)),null):operandText(r,1)}function parseExposedValue(t,n,r){let a=M.exec(n.content);a===null?t.error(e.UnknownScreenDirective,`Invalid exposed value '${n.content}' - expected 'exposes <name> from <binding>'`,i(n)):r.push({kind:`ComponentExposedValueSyntax`,name:a[1],binding:g(t,a[2],i(n)),location:i(n)})}function parsePresentationValue(t,n,r){let a=N.exec(n.content);a===null?t.error(e.UnknownScreenDirective,`Invalid presentation value '${n.content}' - expected 'presentation <key> "value"'`,i(n)):r.push({kind:`PresentationValueSyntax`,name:a[1],value:operandText(a,2),location:i(n)})}function parseToolbar(e,t){let n=t.content.substring(7).trim(),r=[];for(let n=e.peekChild(t.indent);n!==void 0;n=e.peekChild(t.indent)){e.reader.takeSignificant();let t=parseToolbarItem(e,n);t!==void 0&&r.push(t)}return{kind:`ScreenToolbarSyntax`,name:n,items:r,location:i(t)}}function parseToolbarItem(t,n){let r=P.exec(n.content);if(r===null){t.error(e.UnknownScreenDirective,`Invalid toolbar item '${n.content}' - expected 'item <name> action <Command>', 'item <name> navigate to <Screen>' or 'item <name> dialog <DialogTemplate>'`,i(n)),t.skipBlock(n.indent);return}let a=null,s=null,c=[],l=[];for(let e=t.peekChild(n.indent);e!==void 0;e=t.peekChild(n.indent)){t.reader.takeSignificant();let n=x.exec(e.content);if(n!==null){a=operandText(n,1);continue}let r=D.exec(e.content);r===null?o(e.content)===`icon`?s=e.content.substring(4).trim():parsePresentationValue(t,e,l):c.push({kind:`ScreenNavigationParameterSyntax`,name:r[1],binding:g(t,r[2],i(e)),location:i(e)})}let u=r[2]===`navigate`?`Navigate`:r[2]===`dialog`?`Dialog`:`Action`;return{kind:`ToolbarItemSyntax`,name:r[1],syntaxKind:u,target:r[3],label:a,icon:s,parameters:c,presentation:l,location:i(n)}}function parseUiBindingValue(e,t,n){return g(e,t,i(n))}function parseCode(t,n){let r=n.content.startsWith("```")?n.content.substring(3):n.content;if(!t.languages.has(r)){t.error(e.ExpectedCodeFence,`Expected a registered language on the opening fence, not '${n.content}'`,i(n));return}n.content.startsWith("```")||t.warning(e.LegacyInlineCodeFence,`'${r}' on its own line is deprecated - use '\`\`\`${r}' instead`,i(n));let a=c(t,r,n);return a===null?void 0:{kind:`ScreenCodeSyntax`,code:{kind:`CodeBlockSyntax`,language:r,code:a,location:i(n)},location:i(n)}}export{parseScreen};
2
2
  //# sourceMappingURL=ScreenParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenParser.js","names":["operand","stringBodyPattern","header","pattern","data","action","label","guardedAction","navigate","route","outletPattern","contributionPattern","parameter","component","stableId","componentPropertyBinding","componentPropertyLiteral","exposes","presentation","toolbarItem","slot","title","column","rowClick","field","match","quotedGroup","unescapeString","firstWord","line","context","DiagnosticCodes","locationOf","directives","contributions","description","child","parsed","parseDescription","isFileDirective","directive","parent","collectInputUses","parseTypeRef","guarded","parseGuardedAction","text","target","labelMatch","parameters","routeValue","outletValue","parameterMatch","parseFromClause","routeMatch","outletMatch","name","slots","columns","click","columnMatch","clickMatch","labelled","fields","dataContext","componentStableId","icon","properties","exposedValues","presentationValues","outlets","bound","literal","parseMappingSource","values","items","item","itemLabel","syntaxKind","language","code","parseFencedText"],"sources":["../../../../../../Compiler/Parsing/ScreenParser.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 { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport {\n ComponentExposedValueSyntax, ComponentOutletSyntax, ComponentPropertySyntax, PresentationValueSyntax,\n ScreenActionSyntax, ScreenGuardedActionSyntax, ScreenCodeSyntax, ScreenColumnSyntax, ScreenComponentSyntax, ScreenDataSyntax, ScreenDirectiveSyntax, ScreenFieldSyntax,\n ScreenNavigateSyntax, ScreenNavigationParameterSyntax, ScreenSectionSyntax, ScreenSlotSyntax, ScreenSummarySyntax, ScreenSyntax, ScreenTableSyntax,\n ScreenTemplateReferenceSyntax, ScreenTitleSyntax, ScreenToolbarSyntax, ToolbarItemKind, ToolbarItemSyntax,\n} from '../Syntax/Screens';\nimport { stringBodyPattern, unescapeString } from '../Text/StringLiteral';\nimport { pattern } from '../Text/patterns';\nimport { parseFencedText } from './CodeBlockParser';\nimport { parseMappingSource } from './ExpressionParser';\nimport { parseDescription } from './DescriptionParser';\nimport { isFileDirective } from './FileReferences';\nimport { parseGuardedAction } from './GuardedActionParser';\nimport { collectInputUses } from './InputUses';\nimport { firstWord } from './LineText';\nimport { ParserContext } from './ParserContext';\nimport { parseTypeRef } from './PropertyLineParser';\nimport { parseFromClause } from './UiBindingParser';\nimport { ScreenContributionSyntax } from '../Syntax/CompositionSyntax';\nimport { locationOf, SourceLine } from './SourceLine';\n\n// Parses 'screen' declarations the way the C# ScreenParser does - intent level directives, the template\n// whose slots they fill, and inline code. Interaction bodies remain opaque in the AST, but 'on' alternatives\n// are checked for structure, condition operands and shadowing; 'uses' attachments are recognized.\n\nconst operand = `(?:\"(${stringBodyPattern})\"|(\\\\$strings\\\\.\\\\w+(?:\\\\.\\\\w+)*))`;\nconst header = pattern('^screen\\\\s+([A-Za-z_]\\\\w*)$');\nconst data = pattern('^data\\\\s+([\\\\w.]+(?:\\\\[\\\\])?)\\\\s+via\\\\s+query\\\\s+(\\\\w+(?:\\\\.\\\\w+)*)(?:\\\\s+by\\\\s+(\\\\w+))?$');\nconst action = pattern('^action\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)$');\nconst label = pattern(`^label\\\\s+${operand}$`);\nconst guardedAction = pattern(`^action\\\\s+${operand}$`);\nconst navigate = pattern('^navigate\\\\s+to\\\\s+(\\\\w+(?:\\\\.\\\\w+)*)(?:\\\\s+by\\\\s+(\\\\w+))?$');\nconst route = pattern(`^route\\\\s+${operand}$`);\nconst outletPattern = pattern('^outlet\\\\s+([A-Za-z_]\\\\w*)$');\nconst contributionPattern = pattern('^contribute\\\\s+to\\\\s+([A-Za-z_]\\\\w*)(?:\\\\s+order\\\\s+(-?\\\\d+))?$');\nconst parameter = pattern('^parameter\\\\s+([A-Za-z_]\\\\w*)\\\\s+from\\\\s+(.+)$');\nconst component = pattern('^component\\\\s+([A-Za-z_]\\\\w*(?:\\\\.[A-Za-z_]\\\\w*)*)\\\\s+([A-Za-z_]\\\\w*)$');\nconst stableId = pattern(`^id\\\\s+(?:\"(${stringBodyPattern})\"|(\\\\S+))$`);\nconst componentPropertyBinding = pattern('^property\\\\s+([\\\\w.]+)\\\\s+from\\\\s+(.+)$');\nconst componentPropertyLiteral = pattern('^property\\\\s+([\\\\w.]+)\\\\s*=\\\\s+(.+)$');\nconst exposes = pattern('^exposes\\\\s+([A-Za-z_]\\\\w*)\\\\s+from\\\\s+(.+)$');\nconst presentation = pattern(`^presentation\\\\s+([A-Za-z_]\\\\w*)\\\\s+${operand}$`);\nconst toolbarItem = pattern('^item\\\\s+([A-Za-z_]\\\\w*)\\\\s+(action|navigate|dialog)(?:\\\\s+to)?\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)$');\nconst slot = pattern('^[a-z_]\\\\w*$');\nconst title = pattern(`^title\\\\s+${operand}$`);\nconst column = pattern(`^column\\\\s+([\\\\w.]+)(?:\\\\s+label\\\\s+${operand})?$`);\nconst rowClick = pattern('^on\\\\s+row-click\\\\s+(navigate\\\\s+to\\\\s+.+)$');\nconst field = pattern(`^field\\\\s+([\\\\w.]+)\\\\s+label\\\\s+${operand}$`);\n\nconst operandText = (match: RegExpExecArray, quotedGroup: number): string =>\n match[quotedGroup] !== undefined ? unescapeString(match[quotedGroup]) : match[quotedGroup + 1];\n\nconst isInteraction = (line: SourceLine): boolean => ['on', 'uses'].includes(firstWord(line.content));\n\nconst isCodeLine = (context: ParserContext, line: SourceLine): boolean => line.content.startsWith('```') || context.languages.has(line.content);\n\nexport function parseScreen(context: ParserContext, line: SourceLine): ScreenSyntax {\n const match = header.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidScreenDeclaration, `Invalid screen declaration '${line.content}' - expected 'screen <Name>'`, locationOf(line));\n }\n const directives: ScreenDirectiveSyntax[] = [];\n const contributions: ScreenContributionSyntax[] = [];\n let description: string | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n if (firstWord(child.content) === 'contribute') {\n const parsed = parseScreenContribution(context, child);\n if (parsed !== undefined) contributions.push(parsed);\n } else if (firstWord(child.content) === 'description') {\n description = parseDescription(context, child, description, `Screen '${match?.[1] ?? ''}'`);\n } else if (!isFileDirective(child)) {\n pushDirective(context, child, directives);\n }\n }\n return { kind: 'ScreenSyntax', name: match?.[1] ?? '', directives, description, ...(contributions.length > 0 ? { contributions } : {}), location: locationOf(line) };\n}\n\nfunction parseScreenContribution(context: ParserContext, line: SourceLine): ScreenContributionSyntax | undefined {\n const match = contributionPattern.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid screen contribution '${line.content}' - expected 'contribute to <Point> [order <n>]'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n return { kind: 'ScreenContributionSyntax', contributionPoint: match[1], order: match[2] === undefined ? null : Number(match[2]), directives: parseDirectives(context, line), location: locationOf(line) };\n}\n\nfunction pushDirective(context: ParserContext, line: SourceLine, directives: ScreenDirectiveSyntax[]): void {\n const directive = parseDirective(context, line);\n if (directive !== undefined) {\n directives.push(directive);\n }\n}\n\nfunction parseDirectives(context: ParserContext, parent: SourceLine): ScreenDirectiveSyntax[] {\n const directives: ScreenDirectiveSyntax[] = [];\n for (let child = context.peekChild(parent.indent); child !== undefined; child = context.peekChild(parent.indent)) {\n context.reader.takeSignificant();\n pushDirective(context, child, directives);\n }\n return directives;\n}\n\nfunction parseDirective(context: ParserContext, line: SourceLine): ScreenDirectiveSyntax | undefined {\n switch (firstWord(line.content)) {\n case 'data':\n return parseData(context, line);\n case 'action':\n return parseAction(context, line);\n case 'template':\n return parseTemplateReference(context, line);\n case 'section':\n return parseSection(context, line);\n case 'title':\n return parseTitle(context, line);\n case 'table':\n return parseTable(context, line);\n case 'summary':\n return parseSummary(context, line);\n case 'component':\n return parseComponent(context, line);\n case 'toolbar':\n return parseToolbar(context, line);\n case 'navigate':\n return parseNavigate(context, line.content, line);\n case 'on':\n collectInputUses(context, line);\n return { kind: 'ScreenBehaviorSyntax', location: locationOf(line) };\n case 'uses':\n context.skipOpaqueBlock(line.indent);\n return { kind: 'ScreenUsesBehaviorSyntax', location: locationOf(line) };\n default:\n if (isCodeLine(context, line)) {\n return parseCode(context, line);\n }\n context.error(DiagnosticCodes.UnknownScreenDirective, `Unexpected '${line.content}' in screen body`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n}\n\nfunction parseData(context: ParserContext, line: SourceLine): ScreenDataSyntax | undefined {\n const match = data.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidDataDirective, `Invalid data directive '${line.content}' - expected 'data <ReadModel> via query <Query> [by <param>]'`, locationOf(line));\n return undefined;\n }\n return { kind: 'ScreenDataSyntax', type: parseTypeRef(match[1], locationOf(line)), query: match[2], by: match[3] ?? null, location: locationOf(line) };\n}\n\nfunction parseAction(context: ParserContext, line: SourceLine): ScreenActionSyntax | ScreenGuardedActionSyntax | undefined {\n const guarded = guardedAction.exec(line.content);\n if (guarded !== null) return parseGuardedAction(context, line, operandText(guarded, 1), parseNavigate);\n const match = action.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidActionDirective, `Invalid action directive '${line.content}' - expected 'action <Command>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n let text: string | null = null;\n let target: ScreenNavigateSyntax | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const labelMatch = label.exec(child.content);\n if (labelMatch !== null) {\n text = operandText(labelMatch, 1);\n } else if (firstWord(child.content) === 'navigate') {\n target = parseNavigate(context, child.content, child) ?? null;\n } else {\n context.error(DiagnosticCodes.UnknownActionDirective, `Unexpected '${child.content}' in action - expected 'label \"...\"' or 'navigate to ...'`, locationOf(child));\n }\n }\n return { kind: 'ScreenActionSyntax', command: match[1], label: text, navigate: target, location: locationOf(line) };\n}\n\nfunction parseNavigate(context: ParserContext, text: string, line: SourceLine): ScreenNavigateSyntax | undefined {\n const match = navigate.exec(text);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidNavigation, `Invalid navigation '${text}' - expected 'navigate to <Screen> [by <param>]'`, locationOf(line));\n return undefined;\n }\n const parameters: ScreenNavigationParameterSyntax[] = [];\n let routeValue: string | null = null;\n let outletValue: string | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const parameterMatch = parameter.exec(child.content);\n if (parameterMatch !== null) {\n parameters.push({ kind: 'ScreenNavigationParameterSyntax', name: parameterMatch[1], binding: parseFromClause(context, parameterMatch[2], locationOf(child)), location: locationOf(child) });\n continue;\n }\n const routeMatch = route.exec(child.content);\n if (routeMatch !== null) {\n routeValue = operandText(routeMatch, 1);\n continue;\n }\n const outletMatch = outletPattern.exec(child.content);\n if (outletMatch !== null) {\n outletValue = outletMatch[1];\n continue;\n }\n context.error(DiagnosticCodes.InvalidNavigation, `Unexpected '${child.content}' in navigation - expected 'route \"...\"', 'outlet <name>' or 'parameter <name> from <binding>'`, locationOf(child));\n }\n return { kind: 'ScreenNavigateSyntax', screen: match[1], by: match[2] ?? null, route: routeValue, ...(outletValue === null ? {} : { outlet: outletValue }), parameters, location: locationOf(line) };\n}\n\nfunction parseTemplateReference(context: ParserContext, line: SourceLine): ScreenTemplateReferenceSyntax {\n const name = line.content.substring('template'.length).trim();\n const slots: ScreenSlotSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n if (!slot.test(child.content)) {\n context.error(DiagnosticCodes.InvalidScreenLayoutSlot, `Expected a slot name in template '${name}', got '${child.content}'`, locationOf(child));\n context.skipBlock(child.indent);\n continue;\n }\n slots.push({ kind: 'ScreenSlotSyntax', name: child.content, directives: parseDirectives(context, child), location: locationOf(child) });\n }\n return { kind: 'ScreenTemplateReferenceSyntax', name, slots, location: locationOf(line) };\n}\n\nfunction parseSection(context: ParserContext, line: SourceLine): ScreenSectionSyntax {\n const name = line.content.substring('section'.length).trim();\n return { kind: 'ScreenSectionSyntax', name, directives: parseDirectives(context, line), location: locationOf(line) };\n}\n\nfunction parseTitle(context: ParserContext, line: SourceLine): ScreenTitleSyntax {\n const match = title.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidTitleDirective, `Invalid title directive '${line.content}' - expected 'title \"...\"'`, locationOf(line));\n return { kind: 'ScreenTitleSyntax', text: '', location: locationOf(line) };\n }\n return { kind: 'ScreenTitleSyntax', text: operandText(match, 1), location: locationOf(line) };\n}\n\nfunction parseTable(context: ParserContext, line: SourceLine): ScreenTableSyntax {\n const target = line.content.substring('table'.length).trim();\n const columns: ScreenColumnSyntax[] = [];\n let click: ScreenNavigateSyntax | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const columnMatch = column.exec(child.content);\n const clickMatch = rowClick.exec(child.content);\n if (columnMatch !== null) {\n const labelled = columnMatch[2] !== undefined || columnMatch[3] !== undefined;\n columns.push({ kind: 'ScreenColumnSyntax', property: columnMatch[1], label: labelled ? operandText(columnMatch, 2) : null, location: locationOf(child) });\n } else if (clickMatch !== null) {\n click = parseNavigate(context, clickMatch[1], child) ?? null;\n } else if (firstWord(child.content) === 'on') {\n collectInputUses(context, child);\n } else if (isInteraction(child)) {\n context.skipOpaqueBlock(child.indent);\n } else {\n context.error(DiagnosticCodes.UnknownTableDirective, `Unexpected '${child.content}' in table - expected 'column ...', 'on row-click navigate to ...', 'on <trigger>' or 'uses <Behavior>'`, locationOf(child));\n }\n }\n return { kind: 'ScreenTableSyntax', target, columns, rowClick: click, location: locationOf(line) };\n}\n\nfunction parseSummary(context: ParserContext, line: SourceLine): ScreenSummarySyntax {\n const target = line.content.substring('summary'.length).trim();\n const fields: ScreenFieldSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const match = field.exec(child.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownSummaryDirective, `Unexpected '${child.content}' in summary - expected 'field <property> label \"...\"'`, locationOf(child));\n continue;\n }\n fields.push({ kind: 'ScreenFieldSyntax', property: match[1], label: operandText(match, 2), location: locationOf(child) });\n }\n return { kind: 'ScreenSummarySyntax', target, fields, location: locationOf(line) };\n}\n\n\nfunction parseComponent(context: ParserContext, line: SourceLine): ScreenComponentSyntax | undefined {\n const match = component.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component directive '${line.content}' - expected 'component <Package.Component> <name>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n\n let dataContext = null;\n let componentStableId = null;\n let icon = null;\n const properties: ComponentPropertySyntax[] = [];\n const exposedValues: ComponentExposedValueSyntax[] = [];\n const presentationValues: PresentationValueSyntax[] = [];\n const outlets: ComponentOutletSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n switch (firstWord(child.content)) {\n case 'context':\n dataContext = parseUiContext(context, child);\n break;\n case 'id':\n componentStableId = parseStableId(context, child);\n break;\n case 'property':\n parseComponentProperty(context, child, properties);\n break;\n case 'icon':\n icon = child.content.substring('icon'.length).trim();\n break;\n case 'presentation':\n parsePresentationValue(context, child, presentationValues);\n break;\n case 'exposes':\n parseExposedValue(context, child, exposedValues);\n break;\n case 'outlet':\n outlets.push({ kind: 'ComponentOutletSyntax', name: child.content.substring('outlet'.length).trim(), directives: parseDirectives(context, child), location: locationOf(child) });\n break;\n case 'on':\n collectInputUses(context, child);\n break;\n case 'uses':\n context.skipOpaqueBlock(child.indent);\n break;\n default:\n context.error(DiagnosticCodes.UnknownScreenDirective, `Unexpected '${child.content}' in component - expected context, id, property, icon, presentation, exposes, outlet, on or uses`, locationOf(child));\n context.skipBlock(child.indent);\n break;\n }\n }\n\n return { kind: 'ScreenComponentSyntax', component: match[1], name: match[2], stableId: componentStableId, context: dataContext, properties, exposes: exposedValues, presentation: presentationValues, icon, outlets, location: locationOf(line) };\n}\n\nfunction parseUiContext(context: ParserContext, line: SourceLine) {\n return parseUiBindingValue(context, line.content.substring('context'.length).trim(), line);\n}\n\nfunction parseComponentProperty(context: ParserContext, line: SourceLine, properties: ComponentPropertySyntax[]): void {\n const bound = componentPropertyBinding.exec(line.content);\n if (bound !== null) {\n properties.push({ kind: 'ComponentPropertySyntax', property: bound[1], binding: parseFromClause(context, bound[2], locationOf(line)), value: null, location: locationOf(line) });\n return;\n }\n const literal = componentPropertyLiteral.exec(line.content);\n if (literal !== null) {\n properties.push({ kind: 'ComponentPropertySyntax', property: literal[1], binding: null, value: parseMappingSource(literal[2], locationOf(line), context), location: locationOf(line) });\n return;\n }\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component property '${line.content}' - expected 'property <path> from <binding>' or 'property <path> = <literal|object|array|null>'`, locationOf(line));\n}\n\nfunction parseStableId(context: ParserContext, line: SourceLine): string | null {\n const match = stableId.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component id '${line.content}' - expected 'id \"stable-id\"'`, locationOf(line));\n return null;\n }\n return operandText(match, 1);\n}\n\nfunction parseExposedValue(context: ParserContext, line: SourceLine, values: ComponentExposedValueSyntax[]): void {\n const match = exposes.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid exposed value '${line.content}' - expected 'exposes <name> from <binding>'`, locationOf(line));\n return;\n }\n values.push({ kind: 'ComponentExposedValueSyntax', name: match[1], binding: parseFromClause(context, match[2], locationOf(line)), location: locationOf(line) });\n}\n\nfunction parsePresentationValue(context: ParserContext, line: SourceLine, values: PresentationValueSyntax[]): void {\n const match = presentation.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid presentation value '${line.content}' - expected 'presentation <key> \"value\"'`, locationOf(line));\n return;\n }\n values.push({ kind: 'PresentationValueSyntax', name: match[1], value: operandText(match, 2), location: locationOf(line) });\n}\n\nfunction parseToolbar(context: ParserContext, line: SourceLine): ScreenToolbarSyntax {\n const name = line.content.substring('toolbar'.length).trim();\n const items: ToolbarItemSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const item = parseToolbarItem(context, child);\n if (item !== undefined) items.push(item);\n }\n return { kind: 'ScreenToolbarSyntax', name, items, location: locationOf(line) };\n}\n\nfunction parseToolbarItem(context: ParserContext, line: SourceLine): ToolbarItemSyntax | undefined {\n const match = toolbarItem.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid toolbar item '${line.content}' - expected 'item <name> action <Command>', 'item <name> navigate to <Screen>' or 'item <name> dialog <DialogTemplate>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n let itemLabel = null;\n let icon = null;\n const parameters: ScreenNavigationParameterSyntax[] = [];\n const presentationValues: PresentationValueSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const labelMatch = label.exec(child.content);\n if (labelMatch !== null) {\n itemLabel = operandText(labelMatch, 1);\n continue;\n }\n const parameterMatch = parameter.exec(child.content);\n if (parameterMatch !== null) {\n parameters.push({ kind: 'ScreenNavigationParameterSyntax', name: parameterMatch[1], binding: parseFromClause(context, parameterMatch[2], locationOf(child)), location: locationOf(child) });\n continue;\n }\n if (firstWord(child.content) === 'icon') {\n icon = child.content.substring('icon'.length).trim();\n continue;\n }\n parsePresentationValue(context, child, presentationValues);\n }\n const syntaxKind: ToolbarItemKind = match[2] === 'navigate' ? 'Navigate' : match[2] === 'dialog' ? 'Dialog' : 'Action';\n return { kind: 'ToolbarItemSyntax', name: match[1], syntaxKind, target: match[3], label: itemLabel, icon, parameters, presentation: presentationValues, location: locationOf(line) };\n}\n\nfunction parseUiBindingValue(context: ParserContext, text: string, line: SourceLine) {\n return parseFromClause(context, text, locationOf(line));\n}\n\nfunction parseCode(context: ParserContext, line: SourceLine): ScreenCodeSyntax | undefined {\n const language = line.content.startsWith('```') ? line.content.substring(3) : line.content;\n if (!context.languages.has(language)) {\n context.error(DiagnosticCodes.ExpectedCodeFence, `Expected a registered language on the opening fence, not '${line.content}'`, locationOf(line));\n return undefined;\n }\n if (!line.content.startsWith('```')) {\n context.warning(DiagnosticCodes.LegacyInlineCodeFence, `'${language}' on its own line is deprecated - use '\\`\\`\\`${language}' instead`, locationOf(line));\n }\n const code = parseFencedText(context, language, line);\n return code === null ? undefined : {\n kind: 'ScreenCodeSyntax',\n code: { kind: 'CodeBlockSyntax', language, code, location: locationOf(line) },\n location: locationOf(line),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScreenParser.js","names":["operand","stringBodyPattern","header","pattern","data","action","label","guardedAction","navigate","route","outletPattern","contributionPattern","parameter","component","stableId","componentPropertyBinding","componentPropertyLiteral","exposes","presentation","toolbarItem","slot","title","column","rowClick","field","match","quotedGroup","unescapeString","firstWord","line","context","DiagnosticCodes","locationOf","directives","contributions","description","child","parsed","parseDescription","isFileDirective","directive","parent","collectInputUses","parseTypeRef","guarded","parseGuardedAction","text","target","labelMatch","parameters","routeValue","outletValue","parameterMatch","parseFromClause","routeMatch","outletMatch","name","blueprint","version","startsBlueprintReference","reference","parseBlueprintReference","isValidTemplateVersionRange","slots","columns","click","columnMatch","clickMatch","labelled","fields","dataContext","componentStableId","icon","properties","exposedValues","presentationValues","outlets","bound","literal","parseMappingSource","values","items","item","itemLabel","syntaxKind","language","code","parseFencedText"],"sources":["../../../../../../Compiler/Parsing/ScreenParser.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 { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport {\n ComponentExposedValueSyntax, ComponentOutletSyntax, ComponentPropertySyntax, PresentationValueSyntax,\n ScreenActionSyntax, ScreenGuardedActionSyntax, ScreenCodeSyntax, ScreenColumnSyntax, ScreenComponentSyntax, ScreenDataSyntax, ScreenDirectiveSyntax, ScreenFieldSyntax,\n ScreenNavigateSyntax, ScreenNavigationParameterSyntax, ScreenSectionSyntax, ScreenSlotSyntax, ScreenSummarySyntax, ScreenSyntax, ScreenTableSyntax,\n ScreenTemplateReferenceSyntax, ScreenTitleSyntax, ScreenToolbarSyntax, ToolbarItemKind, ToolbarItemSyntax,\n} from '../Syntax/Screens';\nimport { stringBodyPattern, unescapeString } from '../Text/StringLiteral';\nimport { pattern } from '../Text/patterns';\nimport { parseFencedText } from './CodeBlockParser';\nimport { parseMappingSource } from './ExpressionParser';\nimport { parseDescription } from './DescriptionParser';\nimport { isFileDirective } from './FileReferences';\nimport { parseGuardedAction } from './GuardedActionParser';\nimport { collectInputUses } from './InputUses';\nimport { firstWord } from './LineText';\nimport { ParserContext } from './ParserContext';\nimport { isValidTemplateVersionRange, parseBlueprintReference, startsBlueprintReference } from './TemplateReferenceText';\nimport { parseTypeRef } from './PropertyLineParser';\nimport { parseFromClause } from './UiBindingParser';\nimport { ScreenContributionSyntax } from '../Syntax/CompositionSyntax';\nimport { locationOf, SourceLine } from './SourceLine';\n\n// Parses 'screen' declarations the way the C# ScreenParser does - intent level directives, the template\n// whose slots they fill, and inline code. Interaction bodies remain opaque in the AST, but 'on' alternatives\n// are checked for structure, condition operands and shadowing; 'uses' attachments are recognized.\n\nconst operand = `(?:\"(${stringBodyPattern})\"|(\\\\$strings\\\\.\\\\w+(?:\\\\.\\\\w+)*))`;\nconst header = pattern('^screen\\\\s+([A-Za-z_]\\\\w*)$');\nconst data = pattern('^data\\\\s+([\\\\w.]+(?:\\\\[\\\\])?)\\\\s+via\\\\s+query\\\\s+(\\\\w+(?:\\\\.\\\\w+)*)(?:\\\\s+by\\\\s+(\\\\w+))?$');\nconst action = pattern('^action\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)$');\nconst label = pattern(`^label\\\\s+${operand}$`);\nconst guardedAction = pattern(`^action\\\\s+${operand}$`);\nconst navigate = pattern('^navigate\\\\s+to\\\\s+(\\\\w+(?:\\\\.\\\\w+)*)(?:\\\\s+by\\\\s+(\\\\w+))?$');\nconst route = pattern(`^route\\\\s+${operand}$`);\nconst outletPattern = pattern('^outlet\\\\s+([A-Za-z_]\\\\w*)$');\nconst contributionPattern = pattern('^contribute\\\\s+to\\\\s+([A-Za-z_]\\\\w*)(?:\\\\s+order\\\\s+(-?\\\\d+))?$');\nconst parameter = pattern('^parameter\\\\s+([A-Za-z_]\\\\w*)\\\\s+from\\\\s+(.+)$');\nconst component = pattern('^component\\\\s+([A-Za-z_]\\\\w*(?:\\\\.[A-Za-z_]\\\\w*)*)\\\\s+([A-Za-z_]\\\\w*)$');\nconst stableId = pattern(`^id\\\\s+(?:\"(${stringBodyPattern})\"|(\\\\S+))$`);\nconst componentPropertyBinding = pattern('^property\\\\s+([\\\\w.]+)\\\\s+from\\\\s+(.+)$');\nconst componentPropertyLiteral = pattern('^property\\\\s+([\\\\w.]+)\\\\s*=\\\\s+(.+)$');\nconst exposes = pattern('^exposes\\\\s+([A-Za-z_]\\\\w*)\\\\s+from\\\\s+(.+)$');\nconst presentation = pattern(`^presentation\\\\s+([A-Za-z_]\\\\w*)\\\\s+${operand}$`);\nconst toolbarItem = pattern('^item\\\\s+([A-Za-z_]\\\\w*)\\\\s+(action|navigate|dialog)(?:\\\\s+to)?\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)$');\nconst slot = pattern('^[a-z_]\\\\w*$');\nconst title = pattern(`^title\\\\s+${operand}$`);\nconst column = pattern(`^column\\\\s+([\\\\w.]+)(?:\\\\s+label\\\\s+${operand})?$`);\nconst rowClick = pattern('^on\\\\s+row-click\\\\s+(navigate\\\\s+to\\\\s+.+)$');\nconst field = pattern(`^field\\\\s+([\\\\w.]+)\\\\s+label\\\\s+${operand}$`);\n\nconst operandText = (match: RegExpExecArray, quotedGroup: number): string =>\n match[quotedGroup] !== undefined ? unescapeString(match[quotedGroup]) : match[quotedGroup + 1];\n\nconst isInteraction = (line: SourceLine): boolean => ['on', 'uses'].includes(firstWord(line.content));\n\nconst isCodeLine = (context: ParserContext, line: SourceLine): boolean => line.content.startsWith('```') || context.languages.has(line.content);\n\nexport function parseScreen(context: ParserContext, line: SourceLine): ScreenSyntax {\n const match = header.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidScreenDeclaration, `Invalid screen declaration '${line.content}' - expected 'screen <Name>'`, locationOf(line));\n }\n const directives: ScreenDirectiveSyntax[] = [];\n const contributions: ScreenContributionSyntax[] = [];\n let description: string | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n if (firstWord(child.content) === 'contribute') {\n const parsed = parseScreenContribution(context, child);\n if (parsed !== undefined) contributions.push(parsed);\n } else if (firstWord(child.content) === 'description') {\n description = parseDescription(context, child, description, `Screen '${match?.[1] ?? ''}'`);\n } else if (!isFileDirective(child)) {\n pushDirective(context, child, directives);\n }\n }\n return { kind: 'ScreenSyntax', name: match?.[1] ?? '', directives, description, ...(contributions.length > 0 ? { contributions } : {}), location: locationOf(line) };\n}\n\nfunction parseScreenContribution(context: ParserContext, line: SourceLine): ScreenContributionSyntax | undefined {\n const match = contributionPattern.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid screen contribution '${line.content}' - expected 'contribute to <Point> [order <n>]'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n return { kind: 'ScreenContributionSyntax', contributionPoint: match[1], order: match[2] === undefined ? null : Number(match[2]), directives: parseDirectives(context, line), location: locationOf(line) };\n}\n\nfunction pushDirective(context: ParserContext, line: SourceLine, directives: ScreenDirectiveSyntax[]): void {\n const directive = parseDirective(context, line);\n if (directive !== undefined) {\n directives.push(directive);\n }\n}\n\nfunction parseDirectives(context: ParserContext, parent: SourceLine): ScreenDirectiveSyntax[] {\n const directives: ScreenDirectiveSyntax[] = [];\n for (let child = context.peekChild(parent.indent); child !== undefined; child = context.peekChild(parent.indent)) {\n context.reader.takeSignificant();\n pushDirective(context, child, directives);\n }\n return directives;\n}\n\nfunction parseDirective(context: ParserContext, line: SourceLine): ScreenDirectiveSyntax | undefined {\n switch (firstWord(line.content)) {\n case 'data':\n return parseData(context, line);\n case 'action':\n return parseAction(context, line);\n case 'template':\n return parseTemplateReference(context, line);\n case 'section':\n return parseSection(context, line);\n case 'title':\n return parseTitle(context, line);\n case 'table':\n return parseTable(context, line);\n case 'summary':\n return parseSummary(context, line);\n case 'component':\n return parseComponent(context, line);\n case 'toolbar':\n return parseToolbar(context, line);\n case 'navigate':\n return parseNavigate(context, line.content, line);\n case 'on':\n collectInputUses(context, line);\n return { kind: 'ScreenBehaviorSyntax', location: locationOf(line) };\n case 'uses':\n context.skipOpaqueBlock(line.indent);\n return { kind: 'ScreenUsesBehaviorSyntax', location: locationOf(line) };\n default:\n if (isCodeLine(context, line)) {\n return parseCode(context, line);\n }\n context.error(DiagnosticCodes.UnknownScreenDirective, `Unexpected '${line.content}' in screen body`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n}\n\nfunction parseData(context: ParserContext, line: SourceLine): ScreenDataSyntax | undefined {\n const match = data.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidDataDirective, `Invalid data directive '${line.content}' - expected 'data <ReadModel> via query <Query> [by <param>]'`, locationOf(line));\n return undefined;\n }\n return { kind: 'ScreenDataSyntax', type: parseTypeRef(match[1], locationOf(line)), query: match[2], by: match[3] ?? null, location: locationOf(line) };\n}\n\nfunction parseAction(context: ParserContext, line: SourceLine): ScreenActionSyntax | ScreenGuardedActionSyntax | undefined {\n const guarded = guardedAction.exec(line.content);\n if (guarded !== null) return parseGuardedAction(context, line, operandText(guarded, 1), parseNavigate);\n const match = action.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidActionDirective, `Invalid action directive '${line.content}' - expected 'action <Command>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n let text: string | null = null;\n let target: ScreenNavigateSyntax | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const labelMatch = label.exec(child.content);\n if (labelMatch !== null) {\n text = operandText(labelMatch, 1);\n } else if (firstWord(child.content) === 'navigate') {\n target = parseNavigate(context, child.content, child) ?? null;\n } else {\n context.error(DiagnosticCodes.UnknownActionDirective, `Unexpected '${child.content}' in action - expected 'label \"...\"' or 'navigate to ...'`, locationOf(child));\n }\n }\n return { kind: 'ScreenActionSyntax', command: match[1], label: text, navigate: target, location: locationOf(line) };\n}\n\nfunction parseNavigate(context: ParserContext, text: string, line: SourceLine): ScreenNavigateSyntax | undefined {\n const match = navigate.exec(text);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidNavigation, `Invalid navigation '${text}' - expected 'navigate to <Screen> [by <param>]'`, locationOf(line));\n return undefined;\n }\n const parameters: ScreenNavigationParameterSyntax[] = [];\n let routeValue: string | null = null;\n let outletValue: string | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const parameterMatch = parameter.exec(child.content);\n if (parameterMatch !== null) {\n parameters.push({ kind: 'ScreenNavigationParameterSyntax', name: parameterMatch[1], binding: parseFromClause(context, parameterMatch[2], locationOf(child)), location: locationOf(child) });\n continue;\n }\n const routeMatch = route.exec(child.content);\n if (routeMatch !== null) {\n routeValue = operandText(routeMatch, 1);\n continue;\n }\n const outletMatch = outletPattern.exec(child.content);\n if (outletMatch !== null) {\n outletValue = outletMatch[1];\n continue;\n }\n context.error(DiagnosticCodes.InvalidNavigation, `Unexpected '${child.content}' in navigation - expected 'route \"...\"', 'outlet <name>' or 'parameter <name> from <binding>'`, locationOf(child));\n }\n return { kind: 'ScreenNavigateSyntax', screen: match[1], by: match[2] ?? null, route: routeValue, ...(outletValue === null ? {} : { outlet: outletValue }), parameters, location: locationOf(line) };\n}\n\nfunction parseTemplateReference(context: ParserContext, line: SourceLine): ScreenTemplateReferenceSyntax {\n let name = line.content.substring('template'.length).trim();\n let blueprint: string | null = null;\n let version: string | null = null;\n if (startsBlueprintReference(name)) {\n const reference = parseBlueprintReference(name);\n if (reference === undefined) {\n context.error(DiagnosticCodes.UnknownLayoutDirective, `Invalid template reference '${line.content}' - expected 'template <Name>' or 'template blueprint <Blueprint> <Name> [version \"<range>\"]'`, locationOf(line));\n } else {\n ({ blueprint, name, version } = reference);\n if (version !== null && !isValidTemplateVersionRange(version)) {\n context.error(DiagnosticCodes.InvalidTemplateVersionRange, `The template version range '${version}' is not one Scene understands - use '*', an exact version or a ^, ~, >=, >, <= or < range such as \"^1.2\"`, locationOf(line));\n }\n }\n }\n const slots: ScreenSlotSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n if (!slot.test(child.content)) {\n context.error(DiagnosticCodes.InvalidScreenLayoutSlot, `Expected a slot name in template '${name}', got '${child.content}'`, locationOf(child));\n context.skipBlock(child.indent);\n continue;\n }\n slots.push({ kind: 'ScreenSlotSyntax', name: child.content, directives: parseDirectives(context, child), location: locationOf(child) });\n }\n return { kind: 'ScreenTemplateReferenceSyntax', name, slots, ...(blueprint === null ? {} : { blueprint }), ...(version === null ? {} : { version }), location: locationOf(line) };\n}\n\nfunction parseSection(context: ParserContext, line: SourceLine): ScreenSectionSyntax {\n const name = line.content.substring('section'.length).trim();\n return { kind: 'ScreenSectionSyntax', name, directives: parseDirectives(context, line), location: locationOf(line) };\n}\n\nfunction parseTitle(context: ParserContext, line: SourceLine): ScreenTitleSyntax {\n const match = title.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.InvalidTitleDirective, `Invalid title directive '${line.content}' - expected 'title \"...\"'`, locationOf(line));\n return { kind: 'ScreenTitleSyntax', text: '', location: locationOf(line) };\n }\n return { kind: 'ScreenTitleSyntax', text: operandText(match, 1), location: locationOf(line) };\n}\n\nfunction parseTable(context: ParserContext, line: SourceLine): ScreenTableSyntax {\n const target = line.content.substring('table'.length).trim();\n const columns: ScreenColumnSyntax[] = [];\n let click: ScreenNavigateSyntax | null = null;\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const columnMatch = column.exec(child.content);\n const clickMatch = rowClick.exec(child.content);\n if (columnMatch !== null) {\n const labelled = columnMatch[2] !== undefined || columnMatch[3] !== undefined;\n columns.push({ kind: 'ScreenColumnSyntax', property: columnMatch[1], label: labelled ? operandText(columnMatch, 2) : null, location: locationOf(child) });\n } else if (clickMatch !== null) {\n click = parseNavigate(context, clickMatch[1], child) ?? null;\n } else if (firstWord(child.content) === 'on') {\n collectInputUses(context, child);\n } else if (isInteraction(child)) {\n context.skipOpaqueBlock(child.indent);\n } else {\n context.error(DiagnosticCodes.UnknownTableDirective, `Unexpected '${child.content}' in table - expected 'column ...', 'on row-click navigate to ...', 'on <trigger>' or 'uses <Behavior>'`, locationOf(child));\n }\n }\n return { kind: 'ScreenTableSyntax', target, columns, rowClick: click, location: locationOf(line) };\n}\n\nfunction parseSummary(context: ParserContext, line: SourceLine): ScreenSummarySyntax {\n const target = line.content.substring('summary'.length).trim();\n const fields: ScreenFieldSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const match = field.exec(child.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownSummaryDirective, `Unexpected '${child.content}' in summary - expected 'field <property> label \"...\"'`, locationOf(child));\n continue;\n }\n fields.push({ kind: 'ScreenFieldSyntax', property: match[1], label: operandText(match, 2), location: locationOf(child) });\n }\n return { kind: 'ScreenSummarySyntax', target, fields, location: locationOf(line) };\n}\n\n\nfunction parseComponent(context: ParserContext, line: SourceLine): ScreenComponentSyntax | undefined {\n const match = component.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component directive '${line.content}' - expected 'component <Package.Component> <name>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n\n let dataContext = null;\n let componentStableId = null;\n let icon = null;\n const properties: ComponentPropertySyntax[] = [];\n const exposedValues: ComponentExposedValueSyntax[] = [];\n const presentationValues: PresentationValueSyntax[] = [];\n const outlets: ComponentOutletSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n switch (firstWord(child.content)) {\n case 'context':\n dataContext = parseUiContext(context, child);\n break;\n case 'id':\n componentStableId = parseStableId(context, child);\n break;\n case 'property':\n parseComponentProperty(context, child, properties);\n break;\n case 'icon':\n icon = child.content.substring('icon'.length).trim();\n break;\n case 'presentation':\n parsePresentationValue(context, child, presentationValues);\n break;\n case 'exposes':\n parseExposedValue(context, child, exposedValues);\n break;\n case 'outlet':\n outlets.push({ kind: 'ComponentOutletSyntax', name: child.content.substring('outlet'.length).trim(), directives: parseDirectives(context, child), location: locationOf(child) });\n break;\n case 'on':\n collectInputUses(context, child);\n break;\n case 'uses':\n context.skipOpaqueBlock(child.indent);\n break;\n default:\n context.error(DiagnosticCodes.UnknownScreenDirective, `Unexpected '${child.content}' in component - expected context, id, property, icon, presentation, exposes, outlet, on or uses`, locationOf(child));\n context.skipBlock(child.indent);\n break;\n }\n }\n\n return { kind: 'ScreenComponentSyntax', component: match[1], name: match[2], stableId: componentStableId, context: dataContext, properties, exposes: exposedValues, presentation: presentationValues, icon, outlets, location: locationOf(line) };\n}\n\nfunction parseUiContext(context: ParserContext, line: SourceLine) {\n return parseUiBindingValue(context, line.content.substring('context'.length).trim(), line);\n}\n\nfunction parseComponentProperty(context: ParserContext, line: SourceLine, properties: ComponentPropertySyntax[]): void {\n const bound = componentPropertyBinding.exec(line.content);\n if (bound !== null) {\n properties.push({ kind: 'ComponentPropertySyntax', property: bound[1], binding: parseFromClause(context, bound[2], locationOf(line)), value: null, location: locationOf(line) });\n return;\n }\n const literal = componentPropertyLiteral.exec(line.content);\n if (literal !== null) {\n properties.push({ kind: 'ComponentPropertySyntax', property: literal[1], binding: null, value: parseMappingSource(literal[2], locationOf(line), context), location: locationOf(line) });\n return;\n }\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component property '${line.content}' - expected 'property <path> from <binding>' or 'property <path> = <literal|object|array|null>'`, locationOf(line));\n}\n\nfunction parseStableId(context: ParserContext, line: SourceLine): string | null {\n const match = stableId.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid component id '${line.content}' - expected 'id \"stable-id\"'`, locationOf(line));\n return null;\n }\n return operandText(match, 1);\n}\n\nfunction parseExposedValue(context: ParserContext, line: SourceLine, values: ComponentExposedValueSyntax[]): void {\n const match = exposes.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid exposed value '${line.content}' - expected 'exposes <name> from <binding>'`, locationOf(line));\n return;\n }\n values.push({ kind: 'ComponentExposedValueSyntax', name: match[1], binding: parseFromClause(context, match[2], locationOf(line)), location: locationOf(line) });\n}\n\nfunction parsePresentationValue(context: ParserContext, line: SourceLine, values: PresentationValueSyntax[]): void {\n const match = presentation.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid presentation value '${line.content}' - expected 'presentation <key> \"value\"'`, locationOf(line));\n return;\n }\n values.push({ kind: 'PresentationValueSyntax', name: match[1], value: operandText(match, 2), location: locationOf(line) });\n}\n\nfunction parseToolbar(context: ParserContext, line: SourceLine): ScreenToolbarSyntax {\n const name = line.content.substring('toolbar'.length).trim();\n const items: ToolbarItemSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const item = parseToolbarItem(context, child);\n if (item !== undefined) items.push(item);\n }\n return { kind: 'ScreenToolbarSyntax', name, items, location: locationOf(line) };\n}\n\nfunction parseToolbarItem(context: ParserContext, line: SourceLine): ToolbarItemSyntax | undefined {\n const match = toolbarItem.exec(line.content);\n if (match === null) {\n context.error(DiagnosticCodes.UnknownScreenDirective, `Invalid toolbar item '${line.content}' - expected 'item <name> action <Command>', 'item <name> navigate to <Screen>' or 'item <name> dialog <DialogTemplate>'`, locationOf(line));\n context.skipBlock(line.indent);\n return undefined;\n }\n let itemLabel = null;\n let icon = null;\n const parameters: ScreenNavigationParameterSyntax[] = [];\n const presentationValues: PresentationValueSyntax[] = [];\n for (let child = context.peekChild(line.indent); child !== undefined; child = context.peekChild(line.indent)) {\n context.reader.takeSignificant();\n const labelMatch = label.exec(child.content);\n if (labelMatch !== null) {\n itemLabel = operandText(labelMatch, 1);\n continue;\n }\n const parameterMatch = parameter.exec(child.content);\n if (parameterMatch !== null) {\n parameters.push({ kind: 'ScreenNavigationParameterSyntax', name: parameterMatch[1], binding: parseFromClause(context, parameterMatch[2], locationOf(child)), location: locationOf(child) });\n continue;\n }\n if (firstWord(child.content) === 'icon') {\n icon = child.content.substring('icon'.length).trim();\n continue;\n }\n parsePresentationValue(context, child, presentationValues);\n }\n const syntaxKind: ToolbarItemKind = match[2] === 'navigate' ? 'Navigate' : match[2] === 'dialog' ? 'Dialog' : 'Action';\n return { kind: 'ToolbarItemSyntax', name: match[1], syntaxKind, target: match[3], label: itemLabel, icon, parameters, presentation: presentationValues, location: locationOf(line) };\n}\n\nfunction parseUiBindingValue(context: ParserContext, text: string, line: SourceLine) {\n return parseFromClause(context, text, locationOf(line));\n}\n\nfunction parseCode(context: ParserContext, line: SourceLine): ScreenCodeSyntax | undefined {\n const language = line.content.startsWith('```') ? line.content.substring(3) : line.content;\n if (!context.languages.has(language)) {\n context.error(DiagnosticCodes.ExpectedCodeFence, `Expected a registered language on the opening fence, not '${line.content}'`, locationOf(line));\n return undefined;\n }\n if (!line.content.startsWith('```')) {\n context.warning(DiagnosticCodes.LegacyInlineCodeFence, `'${language}' on its own line is deprecated - use '\\`\\`\\`${language}' instead`, locationOf(line));\n }\n const code = parseFencedText(context, language, line);\n return code === null ? undefined : {\n kind: 'ScreenCodeSyntax',\n code: { kind: 'CodeBlockSyntax', language, code, location: locationOf(line) },\n location: locationOf(line),\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{stringBodyPattern as e,unescapeString as t}from"../Text/StringLiteral.js";import{pattern as n}from"../Text/patterns.js";const r=n(`^blueprint\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)\\s+([A-Za-z_]\\w*(?:\\.\\w+)*)(?:\\s+version\\s+"(${e})")?$`),i=[`>=`,`<=`,`^`,`~`,`>`,`<`,`=`];function startsBlueprintReference(e){return e.startsWith(`blueprint `)}function parseBlueprintReference(e){let n=r.exec(e);if(n!==null)return{blueprint:n[1],name:n[2],version:n[3]===void 0?null:t(n[3])}}function isValidTemplateVersionRange(e){let t=e.trim();if(t.length===0||t===`*`)return!0;let n=t;for(let e of i)if(t.startsWith(e)){n=t.substring(e.length).trim();break}let r=n.search(/[-+]/),a=(r>=0?n.substring(0,r):n).trim().split(`.`);return a.length>=1&&a.length<=3&&a.every(e=>/^[0-9]+$/.test(e))}export{isValidTemplateVersionRange,parseBlueprintReference,startsBlueprintReference};
2
+ //# sourceMappingURL=TemplateReferenceText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateReferenceText.js","names":["blueprintReference","pattern","stringBodyPattern","rangeOperators","text","match","unescapeString","trimmed","range","literal","operator","suffix","parts","part"],"sources":["../../../../../../Compiler/Parsing/TemplateReferenceText.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 { pattern } from '../Text/patterns';\nimport { stringBodyPattern, unescapeString } from '../Text/StringLiteral';\n\n// 'template blueprint <Blueprint> <Name> [version \"<range>\"]': a template a blueprint package ships, with the\n// semver range of the blueprint the author accepts. The port of the C# TemplateReferenceText.\nconst blueprintReference = pattern(`^blueprint\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)\\\\s+([A-Za-z_]\\\\w*(?:\\\\.\\\\w+)*)(?:\\\\s+version\\\\s+\"(${stringBodyPattern})\")?$`);\n\nconst rangeOperators = ['>=', '<=', '^', '~', '>', '<', '='];\n\nexport interface TemplateReferenceParts {\n readonly blueprint: string;\n readonly name: string;\n readonly version: string | null;\n}\n\n// Whether the text after 'template' starts the blueprint form, whether or not it is well formed.\nexport function startsBlueprintReference(text: string): boolean {\n return text.startsWith('blueprint ');\n}\n\n// Reads the blueprint form, or undefined when it is malformed.\nexport function parseBlueprintReference(text: string): TemplateReferenceParts | undefined {\n const match = blueprintReference.exec(text);\n if (match === null) return undefined;\n return { blueprint: match[1], name: match[2], version: match[3] === undefined ? null : unescapeString(match[3]) };\n}\n\n// Whether a template reference's version is a range Scene understands - the same subset as Scene's\n// isValidVersionRange and PackageVersionRange.IsValidRange. Whether the installed blueprint satisfies it is\n// decided where the blueprint is known, in Stage and Scene.\nexport function isValidTemplateVersionRange(range: string): boolean {\n const trimmed = range.trim();\n if (trimmed.length === 0 || trimmed === '*') return true;\n let literal = trimmed;\n for (const operator of rangeOperators) {\n if (trimmed.startsWith(operator)) {\n literal = trimmed.substring(operator.length).trim();\n break;\n }\n }\n const suffix = literal.search(/[-+]/);\n const numeric = (suffix >= 0 ? literal.substring(0, suffix) : literal).trim();\n const parts = numeric.split('.');\n return parts.length >= 1 && parts.length <= 3 && parts.every(part => /^[0-9]+$/.test(part));\n}\n"],"mappings":"oLAQA,MAAMA,EAAqBC,EAAQ,+FAA+FC,EAAkB,MAAM,EAEpJC,EAAiB,CAAC,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAG,EAS3D,SAAgB,yBAAyB,EAAuB,CAC5D,OAAOC,EAAK,WAAW,YAAY,CACvC,CAGA,SAAgB,wBAAwB,EAAkD,CACtF,IAAMC,EAAQL,EAAmB,KAAKI,CAAI,EAC1C,GAAIC,IAAU,KACd,MAAO,CAAE,UAAWA,EAAM,GAAI,KAAMA,EAAM,GAAI,QAASA,EAAM,KAAO,IAAA,GAAY,KAAOC,EAAeD,EAAM,EAAE,CAAE,CACpH,CAKA,SAAgB,4BAA4B,EAAwB,CAChE,IAAME,EAAUC,EAAM,KAAK,EAC3B,GAAID,EAAQ,SAAW,GAAKA,IAAY,IAAK,MAAO,GACpD,IAAIE,EAAUF,EACd,IAAK,IAAMG,KAAYP,EACnB,GAAII,EAAQ,WAAWG,CAAQ,EAAG,CAC9B,EAAUH,EAAQ,UAAUG,EAAS,MAAM,CAAC,CAAC,KAAK,EAClD,KACJ,CAEJ,IAAMC,EAASF,EAAQ,OAAO,MAAM,EAE9BG,GADWD,GAAU,EAAIF,EAAQ,UAAU,EAAGE,CAAM,EAAIF,EAAA,CAAS,KACnD,CAAC,CAAC,MAAM,GAAG,EAC/B,OAAOG,EAAM,QAAU,GAAKA,EAAM,QAAU,GAAKA,EAAM,MAAM,GAAQ,WAAW,KAAKC,CAAI,CAAC,CAC9F"}