@cratis/screenplay-language 4.256.0 → 4.258.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.
- package/dist/bundles/compiler/Authoring/QuickFixes.js +2 -2
- package/dist/bundles/compiler/Authoring/QuickFixes.js.map +1 -1
- package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js +1 -1
- package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayFolderMerge.js +1 -1
- package/dist/bundles/compiler/Parsing/AuthorizeParser.js +1 -1
- package/dist/bundles/compiler/Parsing/AuthorizeParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandParser.js +1 -1
- package/dist/bundles/compiler/Parsing/CommandParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/FeatureBody.js +1 -1
- package/dist/bundles/compiler/Parsing/ModuleBody.js +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/QueryParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ScreenParser.js +1 -1
- package/dist/bundles/compiler/index.js +1 -1
- package/dist/bundles/validation.js +1 -1
- package/dist/bundles/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{checkPortableMatchPattern as t}from"../Parsing/checkPortableMatchPattern.js";import{stringBodyPattern as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{complianceWireName as i}from"../Parsing/ConceptComplianceParser.js";import{commentStart as a,splitLines as o}from"../Parsing/SourceLineSplitter.js";import{
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{checkPortableMatchPattern as t}from"../Parsing/checkPortableMatchPattern.js";import{stringBodyPattern as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{complianceWireName as i}from"../Parsing/ConceptComplianceParser.js";import{commentStart as a,splitLines as o}from"../Parsing/SourceLineSplitter.js";import{implicitConjunctionTokens as s,isAuthorizeContinuation as c}from"../Parsing/AuthorizeParser.js";import{ScreenplaySyntaxWalker as l}from"../Syntax/ScreenplaySyntaxWalker.js";import{parseForAuthoring as u}from"../ScreenplayCompiler.js";import{prepareTimelineQuickFixes as d}from"./TimelineQuickFixes.js";import{prepareActionSubjectQuickFixes as f}from"./ActionSubjectQuickFixes.js";const p=/* @__PURE__ */ new Set([e.InferredActionSubject,e.ChangedActionSubject,e.EventFromLaterSlice,e.DeprecatedStudioTextRulePattern,e.DuplicateComplianceMarker,e.LegacyOptionalSuffix,e.LegacyComplianceMarker,e.RedundantEventId,e.PublicTranslationRequiresDirection,e.LegacyProfileLayout,e.RedundantCompositeKeyBraces,e.ImplicitAuthorizationConjunction]);function isQuickFixDiagnostic(e){return p.has(e)}function legacyOptionalTypeLength(t,n){return n.code===e.LegacyOptionalSuffix?/^[\p{L}\p{Mn}\p{Nd}\p{Pc}.]+(?:\[\])?\?/u.exec(t.slice(n.location.column-1))?.[0].length??0:0}function prepareQuickFixes(t,n={}){let r=prepareLocalQuickFixes(t,n),i,a,subjectFixes=(e,r)=>(a??=f(t,n))(e,r);return(a,o)=>{let s=typeof a==`number`?[{line:a,diagnosticCode:o}]:a??[],c=r(a,o),l=s.filter(t=>t.diagnosticCode===e.EventFromLaterSlice||t.diagnosticCode===void 0&&c.length===0),u=l.length===0?[]:[...new Set(l.map(e=>e.line))].flatMap(e=>(i??=d(t,n))(e)),f=s.filter(t=>t.diagnosticCode===void 0||t.diagnosticCode===e.InferredActionSubject||t.diagnosticCode===e.ChangedActionSubject),p=s.length===0?subjectFixes(void 0,o):f.flatMap(e=>subjectFixes(e.line,e.diagnosticCode));return[...c,...u,...p]}}function prepareLocalQuickFixes(r,i){let s=u(r,void 0,i.placement),c=new Set(Array.from({length:14},(e,t)=>`PLAY0${607+t}`)),acceptable=e=>e.success||e.diagnostics.every(e=>e.severity!==`error`||c.has(e.code)),errorCodes=e=>new Set(e.diagnostics.filter(e=>e.severity===`error`).map(e=>e.code));if(!acceptable(s))return()=>[];let d=o(r),f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map;new class extends l{visitValidationRule(e){m.set(e.location.line,e),super.visitValidationRule(e)}visitEvent(e){f.set(e.location.line,e)}visitSlice(e){p.set(e.location.line,e),super.visitSlice(e)}}().visitApplication(s.value);let h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Map,v=/* @__PURE__ */ new Map,y=/* @__PURE__ */ new Map,b;for(let e of d)b=f.get(e.number)??b,b!==void 0&&y.set(e.number,b);for(let o of s.diagnostics){h.set(o.code,(h.get(o.code)??0)+1);let c=d[o.location.line-1];if(o.code===e.DuplicateComplianceMarker){let e=duplicateComplianceMarkerEdit(c.raw,c.startOffset);e!==void 0&&_.set(c.number,{diagnosticCode:o.code,title:`Remove duplicate compliance markers`,scope:`occurrence`,edits:[e]})}let l=legacyOptionalTypeLength(c.raw,o);if(l>0)g.set(c.number,{line:c.number,fix:{diagnosticCode:o.code,title:`Use 'optional' instead of '?'`,scope:`occurrence`,edits:[{start:c.startOffset+o.location.column+l-2,length:1,text:` optional`}]}});else if(o.code===e.DeprecatedStudioTextRulePattern){let e=m.get(c.number);if(e?.rule!==`Matches`||e.value?.kind!==`LiteralExpressionSyntax`||typeof e.value.value!=`string`)continue;let r=t(e.value.value).replacement,i=RegExp(`\\bmatches\\s+"${n}"`).exec(c.raw);if(r===void 0||i===null)continue;let a={Equal:`==`,NotEqual:`!=`,Contains:`contains`,NotContains:`not contains`,StartsWith:`starts with`,EndsWith:`ends with`},s=`"`+r.value.replace(/["\\\n\r\t]/g,e=>JSON.stringify(e).slice(1,-1))+`"`;g.set(c.number,{line:c.number,fix:{diagnosticCode:o.code,title:`Use the equivalent ordinal text rule`,scope:`occurrence`,edits:[{start:c.startOffset+i.index,length:i[0].length,text:a[r.kind]+` `+s}]},change:{node:e,replacement:{...e,rule:r.kind,value:{...e.value,value:r.value}}}})}else if(o.code===e.LegacyComplianceMarker){let e=complianceMarkerEdit(c.raw,c.startOffset);e!==void 0&&g.set(c.number,{line:c.number,fix:{diagnosticCode:o.code,title:`Use bare pii and secret compliance markers`,scope:`occurrence`,edits:[e]}})}else if(o.code===e.PublicTranslationRequiresDirection){let t=p.get(c.number),n=/^\s*/.exec(c.raw)[0],a=r.includes(`\r
|
|
2
2
|
`)?`\r
|
|
3
3
|
`:`
|
|
4
|
-
`,
|
|
4
|
+
`,l=[`Inbound`,`Outbound`].map(e=>({direction:e,text:`${a}${n} direction ${e===`Inbound`?`inbound`:`outbound`}`})).filter(t=>{let n=applyQuickFixEdits(r,[{start:c.startOffset+c.raw.length,length:0,text:t.text}]),a=u(n,void 0,i.placement),o=errorCodes(s);return acceptable(a)&&![...errorCodes(a)].some(t=>t===e.PublicTranslationRequiresDirection||!o.has(t))});if(l.length===1){let[{direction:e,text:n}]=l;g.set(c.number,{line:c.number,fix:{diagnosticCode:o.code,title:`Declare 'direction ${e===`Inbound`?`inbound`:`outbound`}'`,scope:`occurrence`,edits:[{start:c.startOffset+c.raw.length,length:0,text:n}]},change:{node:t,replacement:{...t,direction:e}}})}}else if(o.code===e.LegacyProfileLayout){let e=legacyProfileLayoutFix(d,c.number-1,o.code);e!==void 0&&g.set(c.number,{line:c.number,fix:e})}else if(o.code===e.RedundantCompositeKeyBraces||o.code===e.ImplicitAuthorizationConjunction){let t=o.code===e.RedundantCompositeKeyBraces?redundantKeyBracesFix(r,d,c.number-1,o.code):implicitAuthorizationFix(r,d,c.number-1,o.code);t!==void 0&&g.set(c.number,{line:c.number,fix:t})}else if(o.code===e.RedundantEventId&&a(c.raw)<0){let e=y.get(c.number);if(e?.id!==e?.name||e===void 0)continue;g.set(c.number,{line:c.number,fix:{diagnosticCode:o.code,title:`Remove the redundant event id`,scope:`occurrence`,edits:[{start:c.startOffset,length:(d[c.number]?.startOffset??r.length)-c.startOffset,text:``}]},change:{node:e,replacement:{...e,id:null}}})}}let x=[e.LegacyOptionalSuffix,e.LegacyComplianceMarker],S=verificationShape(s),C=/* @__PURE__ */ new Map,w,T=/* @__PURE__ */ new Set,E=/* @__PURE__ */ new Map,verify=(e,t)=>{let n=applyQuickFixEdits(r,e.edits);if(n===void 0)return;let a=u(n,void 0,i.placement);if(acceptable(a)&&verificationShape(a)===(t===void 0?S:verificationShape(s,[t])))return a.diagnostics.filter(t=>t.code===e.diagnosticCode).length===(h.get(e.diagnosticCode)??0)-e.edits.length?e:void 0};return(t,n)=>{let a=typeof t==`number`||t===void 0?void 0:t,o=a===void 0?typeof t==`number`&&(n===void 0||n===e.DuplicateComplianceMarker)?[t]:[]:a.filter(t=>t.diagnosticCode===e.DuplicateComplianceMarker).map(e=>e.line),c=[...new Set(o)].flatMap(e=>{let t=_.get(e);if(t===void 0)return[];v.has(e)||v.set(e,verify(t));let n=v.get(e);return n===void 0?[]:[n]}),l=x.filter(e=>a===void 0?n===void 0||n===e:a.some(t=>t.diagnosticCode===e));for(let t of l.filter(e=>!T.has(e))){let n=[...g.values()].filter(e=>e.fix.diagnosticCode===t);if(n.length>0){let r=verify({diagnosticCode:t,title:t===e.LegacyOptionalSuffix?`Use 'optional' throughout this document`:`Use bare pii and secret throughout this document`,scope:`document`,edits:n.flatMap(e=>e.fix.edits)});r!==void 0&&E.set(t,r)}T.add(t)}let f=l.flatMap(e=>E.has(e)?[E.get(e)]:[]);if(a!==void 0){if(w===void 0){w=/* @__PURE__ */ new Map;let e=d.flatMap(e=>g.has(e.number)?[g.get(e.number)]:[]),t=e.flatMap(e=>e.fix.edits),n=applyQuickFixEdits(r,t);if(t.length>0&&n!==void 0){let t=u(n,void 0,i.placement),r=e.flatMap(e=>e.change===void 0?[]:[e.change]);if(acceptable(t)&&verificationShape(t)===verificationShape(s,r)){let n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Map;for(let e of t.diagnostics)n.set(e.code,(n.get(e.code)??0)+1);for(let t of e)r.set(t.fix.diagnosticCode,(r.get(t.fix.diagnosticCode)??0)+t.fix.edits.length);if([...r].every(([e,t])=>(n.get(e)??0)===(h.get(e)??0)-t))for(let t of e)w.set(t.line,t.fix)}}}let e=/* @__PURE__ */ new Map;for(let t of a){let n=w.get(t.line);n?.diagnosticCode===t.diagnosticCode&&e.set(t.line,n)}return[...e.values(),...c,...f]}let p=typeof t==`number`?t:void 0,m=p===void 0?void 0:g.get(p),y;return m!==void 0&&p!==void 0&&(n===void 0||m.fix.diagnosticCode===n)&&(C.has(p)||(C.size===32&&C.delete(C.keys().next().value),C.set(p,verify(m.fix,m.change))),y=C.get(p)),[...y===void 0?[]:[y],...c,...f]}}function legacyProfileLayoutFix(e,t,n){let indentOf=e=>/^\s*/.exec(e)[0].length,r=indentOf(e[t].raw),i,a=!1;for(let n=t+1;n<e.length;n++){let t=e[n].raw;if(t.trim().length!==0){if(indentOf(t)<=r)break;i===void 0&&/^\s*layout\s+[A-Za-z_]\w*\s*$/.test(t)&&(i={index:n,indent:indentOf(t)}),/^\s*root\s+template(\s|$)/.test(t)&&(a=!0)}}if(i===void 0)return;let o=e[i.index];return a?{diagnosticCode:n,title:`Remove the ignored layout line`,scope:`occurrence`,edits:[{start:o.startOffset,length:(e[i.index+1]?.startOffset??o.startOffset+o.raw.length)-o.startOffset,text:``}]}:{diagnosticCode:n,title:`Use 'root template' instead of 'layout'`,scope:`occurrence`,edits:[{start:o.startOffset+i.indent,length:6,text:`root template`}]}}function redundantKeyBracesFix(e,t,n,r){let i=t[n];if(!i.content.endsWith(`{`))return;let a=i.indent+i.content.length-1,o=i.raw.slice(0,a).trimEnd().length;for(let s=n+1;s<t.length;s++){let n=t[s];if(n.content.length===0||n.indent>i.indent)continue;if(n.indent!==i.indent||n.content!==`}`||n.raw.trim()!==`}`)return;let c=t[s+1],l=e.slice(i.startOffset+i.raw.length,n.startOffset),u=i.raw.slice(a+1)+(c===void 0?l.replace(/\r?\n$/,``):l),d=i.startOffset+o;return{diagnosticCode:r,title:`Remove the redundant composite key braces`,scope:`occurrence`,edits:[{start:d,length:(c?.startOffset??e.length)-d,text:u}]}}}function implicitAuthorizationFix(e,t,n,r){let i=t[n];if(!i.content.startsWith(`authorize`))return;let a=[],o,visit=(e,t)=>{let n=s(e.content.slice(t),o);o=n.previous;for(let r of n.tokens)a.push({index:e.startOffset+e.indent+t+r.index,length:r.length})};visit(i,9);for(let e=n+1;e<t.length;e++){let n=t[e];if(n.content.length!==0){if(n.indent<=i.indent||!c(n.content))break;visit(n,0)}}if(a.length===0)return;let l=a[a.length-1],u=a.map((t,n)=>`and `+e.slice(t.index,n<a.length-1?a[n+1].index:t.index+t.length)).join(``);return{diagnosticCode:r,title:`Write 'and' between the adjacent authorize policies`,scope:`occurrence`,edits:[{start:a[0].index,length:l.index+l.length-a[0].index,text:u}]}}function duplicateComplianceMarkerEdit(e,t){let n=r(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(n===null)return;let a=n[2],o=/* @__PURE__ */ new Set,s=a.replace(new RegExp(r(`[^\\S\\r\\n]+(@?\\w+)`).source,`gu`),(e,t)=>{let n=i(t);return o.has(n)?``:(o.add(n),e)});return s===a?void 0:{start:t+n[1].length,length:a.length,text:s}}function complianceMarkerEdit(e,t){let n=r(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(n!==null){let e=n[2],r=e.replace(/@pii\b|@?sensitive\b/g,e=>e===`@pii`?`pii`:`secret`);return r===e?void 0:{start:t+n[1].length,length:e.length,text:r}}let i=r(`^(\\s*)(@pii|@?sensitive)\\b`).exec(e);return i===null?void 0:{start:t+i[1].length,length:i[2].length,text:i[2]===`@pii`?`pii`:`secret`}}function verificationShape(e,t=[]){let n=new Map(t.map(e=>[e.node,e.replacement]));return JSON.stringify([e.value,e.triggerData],(e,t)=>[`location`,`usesLocation`,`targetLocation`].includes(e)?void 0:n.get(t)??t)}function applyQuickFixEdits(e,t){let n=[],r=0;for(let i of t){if(i.start<r||i.start<0||i.length<0||i.start+i.length>e.length)return;n.push(e.slice(r,i.start),i.text),r=i.start+i.length}return n.push(e.slice(r)),n.join(``)}export{applyQuickFixEdits,isQuickFixDiagnostic,legacyOptionalTypeLength,prepareQuickFixes};
|
|
5
5
|
//# sourceMappingURL=QuickFixes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickFixes.js","names":["quickFixDiagnosticCodes","DiagnosticCodes","code","diagnostic","line","local","source","options","timeline","subjects","prepareActionSubjectQuickFixes","requests","localFixes","diagnosticCode","selected","request","fixes","prepareTimelineQuickFixes","subjectRequests","actions","original","parseForAuthoring","publicEventCodes","index","parsed","lines","splitLines","eventsByLine","slicesByLine","rulesByLine","ScreenplaySyntaxWalker","rule","event","slice","counts","byLine","duplicateByLine","duplicateVerdicts","events","edit","length","replacement","checkPortableMatchPattern","match","stringBodyPattern","spellings","quoted","character","indent","ending","candidates","direction","edited","candidate","originalCodes","fix","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","change","duplicateLines","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","occurrenceLine","occurrenceFix","raw","headerIndent","headerIndex","layout","hasRoot","header","pattern","suffix","seen","text","wire","complianceWireName","marker","token","startOffset","directive","replacements","key","value","parts","end"],"sources":["../../../../../../Compiler/Authoring/QuickFixes.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 { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { PlayPlacement } from '../Files/PlayPlacement';\nimport { checkPortableMatchPattern } from '../Parsing/checkPortableMatchPattern';\nimport { ValidationRuleSyntax } from '../Syntax/Commands';\nimport { stringBodyPattern } from '../Text/StringLiteral';\nimport { complianceWireName } from '../Parsing/ConceptComplianceParser';\nimport { commentStart, splitLines } from '../Parsing/SourceLineSplitter';\nimport { parseForAuthoring } from '../ScreenplayCompiler';\nimport { EventSyntax } from '../Syntax/Declarations';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { TranslationDirection } from '../Syntax/TranslationDirection';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { pattern } from '../Text/patterns';\nimport { QuickFixCandidate } from './QuickFixCandidate';\nimport { prepareTimelineQuickFixes } from './TimelineQuickFixes';\nimport { prepareActionSubjectQuickFixes } from './ActionSubjectQuickFixes';\n\nexport interface QuickFixEdit {\n /** Destination document for an application-snapshot repair; absent for a buffer-local edit. */\n readonly path?: string;\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\n /** Original diagnostic line, which may differ from the edited import's line. */\n readonly line?: number;\n readonly diagnosticCode: string;\n readonly title: string;\n readonly scope: 'occurrence' | 'document';\n readonly edits: readonly QuickFixEdit[];\n}\n\nexport interface QuickFixOptions {\n readonly path?: string;\n readonly documents?: ReadonlyMap<string, string>;\n readonly line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nconst quickFixDiagnosticCodes: ReadonlySet<unknown> = new Set([\n DiagnosticCodes.InferredActionSubject,\n DiagnosticCodes.ChangedActionSubject,\n DiagnosticCodes.EventFromLaterSlice,\n DiagnosticCodes.DeprecatedStudioTextRulePattern,\n DiagnosticCodes.DuplicateComplianceMarker,\n DiagnosticCodes.LegacyOptionalSuffix,\n DiagnosticCodes.LegacyComplianceMarker,\n DiagnosticCodes.RedundantEventId,\n DiagnosticCodes.PublicTranslationRequiresDirection,\n DiagnosticCodes.LegacyProfileLayout,\n]);\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return quickFixDiagnosticCodes.has(code);\n}\n\n// Diagnostics point at the complete type, not at the suffix. Never derive edits from message text.\nexport function legacyOptionalTypeLength(line: string, diagnostic: Diagnostic): number {\n if (diagnostic.code !== DiagnosticCodes.LegacyOptionalSuffix) return 0;\n return /^[\\p{L}\\p{Mn}\\p{Nd}\\p{Pc}.]+(?:\\[\\])?\\?/u.exec(line.slice(diagnostic.location.column - 1))?.[0].length ?? 0;\n}\n\nexport function findQuickFixes(source: string, options: QuickFixOptions = {}): QuickFix[] {\n return prepareQuickFixes(source, options)(options.line, options.diagnosticCode);\n}\n\n// One immutable buffer version owns the analysis and document verdict. Cursor moves reuse them;\n// single-occurrence verdicts have a bounded cache. Range requests verify the independent recipes\n// together once per version, rather than reparsing N times for N intersecting markers.\nexport function prepareQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement' | 'path' | 'documents'> = {}): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const local = prepareLocalQuickFixes(source, options);\n let timeline: ReturnType<typeof prepareTimelineQuickFixes> | undefined;\n let subjects: ReturnType<typeof prepareActionSubjectQuickFixes> | undefined;\n const subjectFixes = (line?: number, code?: string) => (subjects ??= prepareActionSubjectQuickFixes(source, options))(line, code);\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' ? [{ line, diagnosticCode }] : line ?? [];\n const localFixes = local(line, diagnosticCode);\n const selected = requests.filter(request => request.diagnosticCode === DiagnosticCodes.EventFromLaterSlice || (request.diagnosticCode === undefined && localFixes.length === 0));\n const fixes = selected.length === 0 ? [] : [...new Set(selected.map(request => request.line))].flatMap(line => (timeline ??= prepareTimelineQuickFixes(source, options))(line));\n const subjectRequests = requests.filter(request => request.diagnosticCode === undefined || request.diagnosticCode === DiagnosticCodes.InferredActionSubject || request.diagnosticCode === DiagnosticCodes.ChangedActionSubject);\n const actions = requests.length === 0 ? subjectFixes(undefined, diagnosticCode) : subjectRequests.flatMap(request => subjectFixes(request.line, request.diagnosticCode));\n return [...localFixes, ...fixes, ...actions];\n };\n}\n\nfunction prepareLocalQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement'>): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const original = parseForAuthoring(source, undefined, options.placement);\n // PLAY0614 and the public-event boundary errors that follow from a missing direction are errors the repair itself removes,\n // so a document whose only errors are public-event boundary errors stays repairable.\n const publicEventCodes: ReadonlySet<string> = new Set(Array.from({ length: 14 }, (_, index) => `PLAY0${607 + index}`));\n const acceptable = (parsed: ReturnType<typeof parseForAuthoring>): boolean => parsed.success || parsed.diagnostics.every(diagnostic => diagnostic.severity !== 'error' || publicEventCodes.has(diagnostic.code));\n const errorCodes = (parsed: ReturnType<typeof parseForAuthoring>): Set<string> => new Set(parsed.diagnostics.filter(diagnostic => diagnostic.severity === 'error').map(diagnostic => diagnostic.code));\n if (!acceptable(original)) return () => [];\n const lines = splitLines(source);\n const eventsByLine = new Map<number, EventSyntax>();\n const slicesByLine = new Map<number, SliceSyntax>();\n const rulesByLine = new Map<number, ValidationRuleSyntax>();\n // Index inline and standalone declarations once, without scanning the tree per diagnostic.\n const walker = new class extends ScreenplaySyntaxWalker {\n override visitValidationRule(rule: ValidationRuleSyntax): void { rulesByLine.set(rule.location.line, rule); super.visitValidationRule(rule); }\n override visitEvent(event: EventSyntax): void { eventsByLine.set(event.location.line, event); }\n override visitSlice(slice: SliceSyntax): void { slicesByLine.set(slice.location.line, slice); super.visitSlice(slice); }\n }();\n walker.visitApplication(original.value);\n const counts = new Map<string, number>();\n const byLine = new Map<number, QuickFixCandidate>();\n // Duplicate removal and legacy spelling can share a header. Keep their independently verified recipes separate.\n const duplicateByLine = new Map<number, QuickFix>();\n const duplicateVerdicts = new Map<number, QuickFix | undefined>();\n const events = new Map<number, EventSyntax>();\n let event: EventSyntax | undefined;\n for (const line of lines) {\n event = eventsByLine.get(line.number) ?? event;\n if (event !== undefined) events.set(line.number, event);\n }\n for (const diagnostic of original.diagnostics) {\n counts.set(diagnostic.code, (counts.get(diagnostic.code) ?? 0) + 1);\n const line = lines[diagnostic.location.line - 1];\n if (diagnostic.code === DiagnosticCodes.DuplicateComplianceMarker) {\n const edit = duplicateComplianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) duplicateByLine.set(line.number, { diagnosticCode: diagnostic.code, title: 'Remove duplicate compliance markers', scope: 'occurrence', edits: [edit] });\n }\n const length = legacyOptionalTypeLength(line.raw, diagnostic);\n if (length > 0) {\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: \"Use 'optional' instead of '?'\", scope: 'occurrence', edits: [{ start: line.startOffset + diagnostic.location.column + length - 2, length: 1, text: ' optional' }] } });\n } else if (diagnostic.code === DiagnosticCodes.DeprecatedStudioTextRulePattern) {\n const rule = rulesByLine.get(line.number);\n if (rule?.rule !== 'Matches' || rule.value?.kind !== 'LiteralExpressionSyntax' || typeof rule.value.value !== 'string') continue;\n const replacement = checkPortableMatchPattern(rule.value.value).replacement;\n const match = new RegExp(`\\\\bmatches\\\\s+\"${stringBodyPattern}\"`).exec(line.raw);\n if (replacement === undefined || match === null) continue;\n const spellings = { Equal: '==', NotEqual: '!=', Contains: 'contains', NotContains: 'not contains', StartsWith: 'starts with', EndsWith: 'ends with' };\n const quoted = '\"' + replacement.value.replace(/[\"\\\\\\n\\r\\t]/g, character => JSON.stringify(character).slice(1, -1)) + '\"';\n byLine.set(line.number, { line: line.number,\n fix: { diagnosticCode: diagnostic.code, title: 'Use the equivalent ordinal text rule', scope: 'occurrence', edits: [{ start: line.startOffset + match.index, length: match[0].length, text: spellings[replacement.kind] + ' ' + quoted }] },\n change: { node: rule, replacement: { ...rule, rule: replacement.kind, value: { ...rule.value, value: replacement.value } } as ValidationRuleSyntax } });\n } else if (diagnostic.code === DiagnosticCodes.LegacyComplianceMarker) {\n const edit = complianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Use bare pii and secret compliance markers', scope: 'occurrence', edits: [edit] } });\n } else if (diagnostic.code === DiagnosticCodes.PublicTranslationRequiresDirection) {\n // PLAY0614 is only reported on the declaration line of a Translate slice that has no direction.\n const slice = slicesByLine.get(line.number)!;\n // Offer a direction only when exactly one is consistent with the slice: the other would add errors.\n const indent = /^\\s*/.exec(line.raw)![0];\n const ending = source.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const candidates = [TranslationDirection.Inbound, TranslationDirection.Outbound].map(direction => ({ direction, text: `${ending}${indent} direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}` }))\n .filter(candidate => {\n // The insertion point is the end of an existing line, so the edit is always in bounds.\n const edited = applyQuickFixEdits(source, [{ start: line.startOffset + line.raw.length, length: 0, text: candidate.text }])!;\n const parsed = parseForAuthoring(edited, undefined, options.placement);\n const originalCodes = errorCodes(original);\n // Valid when the missing-direction error is gone and the direction introduces no kind of error the document lacked.\n return acceptable(parsed) && ![...errorCodes(parsed)].some(code => code === DiagnosticCodes.PublicTranslationRequiresDirection || !originalCodes.has(code));\n });\n if (candidates.length === 1) {\n const [{ direction, text }] = candidates;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: `Declare 'direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}'`, scope: 'occurrence', edits: [{ start: line.startOffset + line.raw.length, length: 0, text }] },\n change: { node: slice, replacement: { ...slice, direction } as SliceSyntax } });\n }\n } else if (diagnostic.code === DiagnosticCodes.LegacyProfileLayout) {\n const fix = legacyProfileLayoutFix(lines, line.number - 1, diagnostic.code);\n if (fix !== undefined) byLine.set(line.number, { line: line.number, fix });\n } else if (diagnostic.code === DiagnosticCodes.RedundantEventId && commentStart(line.raw) < 0) {\n const declaration = events.get(line.number);\n if (declaration?.id !== declaration?.name || declaration === undefined) continue;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Remove the redundant event id', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[line.number]?.startOffset ?? source.length) - line.startOffset, text: '' }] },\n change: { node: declaration, replacement: { ...declaration, id: null } as EventSyntax } });\n }\n }\n const spellingCodes = [DiagnosticCodes.LegacyOptionalSuffix, DiagnosticCodes.LegacyComplianceMarker];\n const syntax = verificationShape(original);\n const verified = new Map<number, QuickFix | undefined>();\n let rangeVerdicts: Map<number, QuickFix> | undefined;\n const documentChecked = new Set<string>();\n const documentFixes = new Map<string, QuickFix>();\n const verify = (fix: QuickFix, change?: QuickFixCandidate['change']): QuickFix | undefined => {\n const candidate = applyQuickFixEdits(source, fix.edits);\n if (candidate === undefined) return undefined;\n const parsed = parseForAuthoring(candidate, undefined, options.placement);\n if (!acceptable(parsed) || verificationShape(parsed) !== (change === undefined ? syntax : verificationShape(original, [change]))) return undefined;\n return parsed.diagnostics.filter(diagnostic => diagnostic.code === fix.diagnosticCode).length === (counts.get(fix.diagnosticCode) ?? 0) - fix.edits.length ? fix : undefined;\n };\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' || line === undefined ? undefined : line;\n const duplicateLines = requests === undefined\n ? typeof line === 'number' && (diagnosticCode === undefined || diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker) ? [line] : []\n : requests.filter(request => request.diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker).map(request => request.line);\n const duplicates = [...new Set(duplicateLines)].flatMap(number => {\n const fix = duplicateByLine.get(number);\n if (fix === undefined) return [];\n if (!duplicateVerdicts.has(number)) duplicateVerdicts.set(number, verify(fix));\n const verified = duplicateVerdicts.get(number);\n return verified === undefined ? [] : [verified];\n });\n const selectedCodes = spellingCodes.filter(code => requests === undefined ? diagnosticCode === undefined || diagnosticCode === code : requests.some(request => request.diagnosticCode === code));\n for (const code of selectedCodes.filter(code => !documentChecked.has(code))) {\n const candidates = [...byLine.values()].filter(candidate => candidate.fix.diagnosticCode === code);\n if (candidates.length > 0) {\n const fix = verify({ diagnosticCode: code, title: code === DiagnosticCodes.LegacyOptionalSuffix ? \"Use 'optional' throughout this document\" : 'Use bare pii and secret throughout this document', scope: 'document', edits: candidates.flatMap(candidate => candidate.fix.edits) });\n if (fix !== undefined) documentFixes.set(code, fix);\n }\n documentChecked.add(code);\n }\n const documents = selectedCodes.flatMap(code => documentFixes.has(code) ? [documentFixes.get(code)!] : []);\n if (requests !== undefined) {\n if (rangeVerdicts === undefined) {\n rangeVerdicts = new Map();\n // Source order gives ordered, non-overlapping edits without sorting. Recipes replace\n // distinct nodes/lines; the batch must preserve every other modeled member and remove\n // exactly the expected diagnostics before any of its occurrence edits can be offered.\n const candidates = lines.flatMap(line => byLine.has(line.number) ? [byLine.get(line.number)!] : []);\n const edits = candidates.flatMap(candidate => candidate.fix.edits);\n const candidateSource = applyQuickFixEdits(source, edits);\n if (edits.length > 0 && candidateSource !== undefined) {\n const parsed = parseForAuthoring(candidateSource, undefined, options.placement);\n const changes = candidates.flatMap(candidate => candidate.change === undefined ? [] : [candidate.change]);\n if (acceptable(parsed) && verificationShape(parsed) === verificationShape(original, changes)) {\n const remaining = new Map<string, number>();\n const removed = new Map<string, number>();\n for (const diagnostic of parsed.diagnostics) remaining.set(diagnostic.code, (remaining.get(diagnostic.code) ?? 0) + 1);\n for (const candidate of candidates) removed.set(candidate.fix.diagnosticCode, (removed.get(candidate.fix.diagnosticCode) ?? 0) + candidate.fix.edits.length);\n if ([...removed].every(([code, count]) => (remaining.get(code) ?? 0) === (counts.get(code) ?? 0) - count)) {\n for (const candidate of candidates) rangeVerdicts.set(candidate.line, candidate.fix);\n }\n }\n }\n }\n const selected = new Map<number, QuickFix>();\n for (const request of requests) {\n const fix = rangeVerdicts.get(request.line);\n if (fix?.diagnosticCode === request.diagnosticCode) selected.set(request.line, fix);\n }\n return [...selected.values(), ...duplicates, ...documents];\n }\n const occurrenceLine = typeof line === 'number' ? line : undefined;\n const selected = occurrenceLine === undefined ? undefined : byLine.get(occurrenceLine);\n let occurrenceFix: QuickFix | undefined;\n if (selected !== undefined && occurrenceLine !== undefined && (diagnosticCode === undefined || selected.fix.diagnosticCode === diagnosticCode)) {\n if (!verified.has(occurrenceLine)) {\n if (verified.size === 32) verified.delete(verified.keys().next().value!);\n verified.set(occurrenceLine, verify(selected.fix, selected.change));\n }\n occurrenceFix = verified.get(occurrenceLine);\n }\n return [...(occurrenceFix === undefined ? [] : [occurrenceFix]), ...duplicates, ...documents];\n };\n}\n\n// PLAY0791 is reported on the `ui profile` line. The canonical form is `root template <Name>`; beside a root template the legacy line is ignored, so it is removed.\nfunction legacyProfileLayoutFix(lines: readonly { readonly number: number; readonly raw: string; readonly startOffset: number }[], headerIndex: number, diagnosticCode: string): QuickFix | undefined {\n const indentOf = (raw: string): number => /^\\s*/.exec(raw)![0].length;\n const headerIndent = indentOf(lines[headerIndex].raw);\n let layout: { readonly index: number; readonly indent: number } | undefined;\n let hasRoot = false;\n for (let index = headerIndex + 1; index < lines.length; index++) {\n const raw = lines[index].raw;\n if (raw.trim().length === 0) continue;\n if (indentOf(raw) <= headerIndent) break;\n if (layout === undefined && /^\\s*layout\\s+[A-Za-z_]\\w*\\s*$/.test(raw)) layout = { index, indent: indentOf(raw) };\n if (/^\\s*root\\s+template(\\s|$)/.test(raw)) hasRoot = true;\n }\n if (layout === undefined) return undefined;\n const line = lines[layout.index];\n return hasRoot\n ? { diagnosticCode, title: 'Remove the ignored layout line', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[layout.index + 1]?.startOffset ?? line.startOffset + line.raw.length) - line.startOffset, text: '' }] }\n : { diagnosticCode, title: \"Use 'root template' instead of 'layout'\", scope: 'occurrence', edits: [{ start: line.startOffset + layout.indent, length: 'layout'.length, text: 'root template' }] };\n}\n\nfunction duplicateComplianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header === null) return undefined;\n const suffix = header[2];\n const seen = new Set<string>();\n const text = suffix.replace(new RegExp(pattern('[^\\\\S\\\\r\\\\n]+(@?\\\\w+)').source, 'gu'), (token, marker: string) => {\n const wire = complianceWireName(marker);\n if (seen.has(wire)) return '';\n seen.add(wire);\n return token;\n });\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n}\n\nfunction complianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n // Restrict rewriting to the suffix or leading directive marker, never comments or quoted reasons.\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header !== null) {\n const suffix = header[2];\n const text = suffix.replace(/@pii\\b|@?sensitive\\b/g, marker => marker === '@pii' ? 'pii' : 'secret');\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n }\n const directive = pattern('^(\\\\s*)(@pii|@?sensitive)\\\\b').exec(raw);\n return directive === null ? undefined : { start: startOffset + directive[1].length, length: directive[2].length, text: directive[2] === '@pii' ? 'pii' : 'secret' };\n}\n\nfunction verificationShape(parsed: ReturnType<typeof parseForAuthoring>, changes: readonly NonNullable<QuickFixCandidate['change']>[] = []): string {\n // Compare every modeled member (including trigger data), ignoring only source locations. A recipe\n // may replace only its original node; no other id or destination is normalized away.\n const replacements = new Map(changes.map(change => [change.node, change.replacement]));\n return JSON.stringify([parsed.value, parsed.triggerData], (key, value: unknown) => ['location', 'usesLocation', 'targetLocation'].includes(key) ? undefined : replacements.get(value as NonNullable<QuickFixCandidate['change']>['node']) ?? value);\n}\n\n// One forward pass; applying N edits by repeatedly slicing the document would be quadratic.\nexport function applyQuickFixEdits(source: string, edits: readonly QuickFixEdit[]): string | undefined {\n const parts: string[] = [];\n let end = 0;\n for (const edit of edits) {\n if (edit.start < end || edit.start < 0 || edit.length < 0 || edit.start + edit.length > source.length) return undefined;\n parts.push(source.slice(end, edit.start), edit.text);\n end = edit.start + edit.length;\n }\n parts.push(source.slice(end));\n return parts.join('');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QuickFixes.js","names":["quickFixDiagnosticCodes","DiagnosticCodes","code","diagnostic","line","local","source","options","timeline","subjects","prepareActionSubjectQuickFixes","requests","localFixes","diagnosticCode","selected","request","fixes","prepareTimelineQuickFixes","subjectRequests","actions","original","parseForAuthoring","publicEventCodes","index","parsed","lines","splitLines","eventsByLine","slicesByLine","rulesByLine","ScreenplaySyntaxWalker","rule","event","slice","counts","byLine","duplicateByLine","duplicateVerdicts","events","edit","length","replacement","checkPortableMatchPattern","match","stringBodyPattern","spellings","quoted","character","indent","ending","candidates","direction","edited","candidate","originalCodes","fix","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","change","duplicateLines","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","occurrenceLine","occurrenceFix","raw","headerIndent","headerIndex","layout","hasRoot","key","keyIndex","brace","prefix","next","keep","text","start","first","authorizeIndex","found","previous","result","implicitConjunctionTokens","from","token","isAuthorizeContinuation","last","header","pattern","suffix","seen","wire","complianceWireName","marker","startOffset","directive","replacements","value","parts","end"],"sources":["../../../../../../Compiler/Authoring/QuickFixes.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 { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { PlayPlacement } from '../Files/PlayPlacement';\nimport { checkPortableMatchPattern } from '../Parsing/checkPortableMatchPattern';\nimport { ValidationRuleSyntax } from '../Syntax/Commands';\nimport { stringBodyPattern } from '../Text/StringLiteral';\nimport { complianceWireName } from '../Parsing/ConceptComplianceParser';\nimport { commentStart, splitLines } from '../Parsing/SourceLineSplitter';\nimport { implicitConjunctionTokens, isAuthorizeContinuation } from '../Parsing/AuthorizeParser';\nimport { parseForAuthoring } from '../ScreenplayCompiler';\nimport { EventSyntax } from '../Syntax/Declarations';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { TranslationDirection } from '../Syntax/TranslationDirection';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { pattern } from '../Text/patterns';\nimport { QuickFixCandidate } from './QuickFixCandidate';\nimport { prepareTimelineQuickFixes } from './TimelineQuickFixes';\nimport { prepareActionSubjectQuickFixes } from './ActionSubjectQuickFixes';\n\nexport interface QuickFixEdit {\n /** Destination document for an application-snapshot repair; absent for a buffer-local edit. */\n readonly path?: string;\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\n /** Original diagnostic line, which may differ from the edited import's line. */\n readonly line?: number;\n readonly diagnosticCode: string;\n readonly title: string;\n readonly scope: 'occurrence' | 'document';\n readonly edits: readonly QuickFixEdit[];\n}\n\nexport interface QuickFixOptions {\n readonly path?: string;\n readonly documents?: ReadonlyMap<string, string>;\n readonly line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nconst quickFixDiagnosticCodes: ReadonlySet<unknown> = new Set([\n DiagnosticCodes.InferredActionSubject,\n DiagnosticCodes.ChangedActionSubject,\n DiagnosticCodes.EventFromLaterSlice,\n DiagnosticCodes.DeprecatedStudioTextRulePattern,\n DiagnosticCodes.DuplicateComplianceMarker,\n DiagnosticCodes.LegacyOptionalSuffix,\n DiagnosticCodes.LegacyComplianceMarker,\n DiagnosticCodes.RedundantEventId,\n DiagnosticCodes.PublicTranslationRequiresDirection,\n DiagnosticCodes.LegacyProfileLayout,\n DiagnosticCodes.RedundantCompositeKeyBraces,\n DiagnosticCodes.ImplicitAuthorizationConjunction,\n]);\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return quickFixDiagnosticCodes.has(code);\n}\n\n// Diagnostics point at the complete type, not at the suffix. Never derive edits from message text.\nexport function legacyOptionalTypeLength(line: string, diagnostic: Diagnostic): number {\n if (diagnostic.code !== DiagnosticCodes.LegacyOptionalSuffix) return 0;\n return /^[\\p{L}\\p{Mn}\\p{Nd}\\p{Pc}.]+(?:\\[\\])?\\?/u.exec(line.slice(diagnostic.location.column - 1))?.[0].length ?? 0;\n}\n\nexport function findQuickFixes(source: string, options: QuickFixOptions = {}): QuickFix[] {\n return prepareQuickFixes(source, options)(options.line, options.diagnosticCode);\n}\n\n// One immutable buffer version owns the analysis and document verdict. Cursor moves reuse them;\n// single-occurrence verdicts have a bounded cache. Range requests verify the independent recipes\n// together once per version, rather than reparsing N times for N intersecting markers.\nexport function prepareQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement' | 'path' | 'documents'> = {}): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const local = prepareLocalQuickFixes(source, options);\n let timeline: ReturnType<typeof prepareTimelineQuickFixes> | undefined;\n let subjects: ReturnType<typeof prepareActionSubjectQuickFixes> | undefined;\n const subjectFixes = (line?: number, code?: string) => (subjects ??= prepareActionSubjectQuickFixes(source, options))(line, code);\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' ? [{ line, diagnosticCode }] : line ?? [];\n const localFixes = local(line, diagnosticCode);\n const selected = requests.filter(request => request.diagnosticCode === DiagnosticCodes.EventFromLaterSlice || (request.diagnosticCode === undefined && localFixes.length === 0));\n const fixes = selected.length === 0 ? [] : [...new Set(selected.map(request => request.line))].flatMap(line => (timeline ??= prepareTimelineQuickFixes(source, options))(line));\n const subjectRequests = requests.filter(request => request.diagnosticCode === undefined || request.diagnosticCode === DiagnosticCodes.InferredActionSubject || request.diagnosticCode === DiagnosticCodes.ChangedActionSubject);\n const actions = requests.length === 0 ? subjectFixes(undefined, diagnosticCode) : subjectRequests.flatMap(request => subjectFixes(request.line, request.diagnosticCode));\n return [...localFixes, ...fixes, ...actions];\n };\n}\n\nfunction prepareLocalQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement'>): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const original = parseForAuthoring(source, undefined, options.placement);\n // PLAY0614 and the public-event boundary errors that follow from a missing direction are errors the repair itself removes,\n // so a document whose only errors are public-event boundary errors stays repairable.\n const publicEventCodes: ReadonlySet<string> = new Set(Array.from({ length: 14 }, (_, index) => `PLAY0${607 + index}`));\n const acceptable = (parsed: ReturnType<typeof parseForAuthoring>): boolean => parsed.success || parsed.diagnostics.every(diagnostic => diagnostic.severity !== 'error' || publicEventCodes.has(diagnostic.code));\n const errorCodes = (parsed: ReturnType<typeof parseForAuthoring>): Set<string> => new Set(parsed.diagnostics.filter(diagnostic => diagnostic.severity === 'error').map(diagnostic => diagnostic.code));\n if (!acceptable(original)) return () => [];\n const lines = splitLines(source);\n const eventsByLine = new Map<number, EventSyntax>();\n const slicesByLine = new Map<number, SliceSyntax>();\n const rulesByLine = new Map<number, ValidationRuleSyntax>();\n // Index inline and standalone declarations once, without scanning the tree per diagnostic.\n const walker = new class extends ScreenplaySyntaxWalker {\n override visitValidationRule(rule: ValidationRuleSyntax): void { rulesByLine.set(rule.location.line, rule); super.visitValidationRule(rule); }\n override visitEvent(event: EventSyntax): void { eventsByLine.set(event.location.line, event); }\n override visitSlice(slice: SliceSyntax): void { slicesByLine.set(slice.location.line, slice); super.visitSlice(slice); }\n }();\n walker.visitApplication(original.value);\n const counts = new Map<string, number>();\n const byLine = new Map<number, QuickFixCandidate>();\n // Duplicate removal and legacy spelling can share a header. Keep their independently verified recipes separate.\n const duplicateByLine = new Map<number, QuickFix>();\n const duplicateVerdicts = new Map<number, QuickFix | undefined>();\n const events = new Map<number, EventSyntax>();\n let event: EventSyntax | undefined;\n for (const line of lines) {\n event = eventsByLine.get(line.number) ?? event;\n if (event !== undefined) events.set(line.number, event);\n }\n for (const diagnostic of original.diagnostics) {\n counts.set(diagnostic.code, (counts.get(diagnostic.code) ?? 0) + 1);\n const line = lines[diagnostic.location.line - 1];\n if (diagnostic.code === DiagnosticCodes.DuplicateComplianceMarker) {\n const edit = duplicateComplianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) duplicateByLine.set(line.number, { diagnosticCode: diagnostic.code, title: 'Remove duplicate compliance markers', scope: 'occurrence', edits: [edit] });\n }\n const length = legacyOptionalTypeLength(line.raw, diagnostic);\n if (length > 0) {\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: \"Use 'optional' instead of '?'\", scope: 'occurrence', edits: [{ start: line.startOffset + diagnostic.location.column + length - 2, length: 1, text: ' optional' }] } });\n } else if (diagnostic.code === DiagnosticCodes.DeprecatedStudioTextRulePattern) {\n const rule = rulesByLine.get(line.number);\n if (rule?.rule !== 'Matches' || rule.value?.kind !== 'LiteralExpressionSyntax' || typeof rule.value.value !== 'string') continue;\n const replacement = checkPortableMatchPattern(rule.value.value).replacement;\n const match = new RegExp(`\\\\bmatches\\\\s+\"${stringBodyPattern}\"`).exec(line.raw);\n if (replacement === undefined || match === null) continue;\n const spellings = { Equal: '==', NotEqual: '!=', Contains: 'contains', NotContains: 'not contains', StartsWith: 'starts with', EndsWith: 'ends with' };\n const quoted = '\"' + replacement.value.replace(/[\"\\\\\\n\\r\\t]/g, character => JSON.stringify(character).slice(1, -1)) + '\"';\n byLine.set(line.number, { line: line.number,\n fix: { diagnosticCode: diagnostic.code, title: 'Use the equivalent ordinal text rule', scope: 'occurrence', edits: [{ start: line.startOffset + match.index, length: match[0].length, text: spellings[replacement.kind] + ' ' + quoted }] },\n change: { node: rule, replacement: { ...rule, rule: replacement.kind, value: { ...rule.value, value: replacement.value } } as ValidationRuleSyntax } });\n } else if (diagnostic.code === DiagnosticCodes.LegacyComplianceMarker) {\n const edit = complianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Use bare pii and secret compliance markers', scope: 'occurrence', edits: [edit] } });\n } else if (diagnostic.code === DiagnosticCodes.PublicTranslationRequiresDirection) {\n // PLAY0614 is only reported on the declaration line of a Translate slice that has no direction.\n const slice = slicesByLine.get(line.number)!;\n // Offer a direction only when exactly one is consistent with the slice: the other would add errors.\n const indent = /^\\s*/.exec(line.raw)![0];\n const ending = source.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const candidates = [TranslationDirection.Inbound, TranslationDirection.Outbound].map(direction => ({ direction, text: `${ending}${indent} direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}` }))\n .filter(candidate => {\n // The insertion point is the end of an existing line, so the edit is always in bounds.\n const edited = applyQuickFixEdits(source, [{ start: line.startOffset + line.raw.length, length: 0, text: candidate.text }])!;\n const parsed = parseForAuthoring(edited, undefined, options.placement);\n const originalCodes = errorCodes(original);\n // Valid when the missing-direction error is gone and the direction introduces no kind of error the document lacked.\n return acceptable(parsed) && ![...errorCodes(parsed)].some(code => code === DiagnosticCodes.PublicTranslationRequiresDirection || !originalCodes.has(code));\n });\n if (candidates.length === 1) {\n const [{ direction, text }] = candidates;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: `Declare 'direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}'`, scope: 'occurrence', edits: [{ start: line.startOffset + line.raw.length, length: 0, text }] },\n change: { node: slice, replacement: { ...slice, direction } as SliceSyntax } });\n }\n } else if (diagnostic.code === DiagnosticCodes.LegacyProfileLayout) {\n const fix = legacyProfileLayoutFix(lines, line.number - 1, diagnostic.code);\n if (fix !== undefined) byLine.set(line.number, { line: line.number, fix });\n } else if (diagnostic.code === DiagnosticCodes.RedundantCompositeKeyBraces || diagnostic.code === DiagnosticCodes.ImplicitAuthorizationConjunction) {\n const fix = diagnostic.code === DiagnosticCodes.RedundantCompositeKeyBraces ? redundantKeyBracesFix(source, lines, line.number - 1, diagnostic.code) : implicitAuthorizationFix(source, lines, line.number - 1, diagnostic.code);\n if (fix !== undefined) byLine.set(line.number, { line: line.number, fix });\n } else if (diagnostic.code === DiagnosticCodes.RedundantEventId && commentStart(line.raw) < 0) {\n const declaration = events.get(line.number);\n if (declaration?.id !== declaration?.name || declaration === undefined) continue;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Remove the redundant event id', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[line.number]?.startOffset ?? source.length) - line.startOffset, text: '' }] },\n change: { node: declaration, replacement: { ...declaration, id: null } as EventSyntax } });\n }\n }\n const spellingCodes = [DiagnosticCodes.LegacyOptionalSuffix, DiagnosticCodes.LegacyComplianceMarker];\n const syntax = verificationShape(original);\n const verified = new Map<number, QuickFix | undefined>();\n let rangeVerdicts: Map<number, QuickFix> | undefined;\n const documentChecked = new Set<string>();\n const documentFixes = new Map<string, QuickFix>();\n const verify = (fix: QuickFix, change?: QuickFixCandidate['change']): QuickFix | undefined => {\n const candidate = applyQuickFixEdits(source, fix.edits);\n if (candidate === undefined) return undefined;\n const parsed = parseForAuthoring(candidate, undefined, options.placement);\n if (!acceptable(parsed) || verificationShape(parsed) !== (change === undefined ? syntax : verificationShape(original, [change]))) return undefined;\n return parsed.diagnostics.filter(diagnostic => diagnostic.code === fix.diagnosticCode).length === (counts.get(fix.diagnosticCode) ?? 0) - fix.edits.length ? fix : undefined;\n };\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' || line === undefined ? undefined : line;\n const duplicateLines = requests === undefined\n ? typeof line === 'number' && (diagnosticCode === undefined || diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker) ? [line] : []\n : requests.filter(request => request.diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker).map(request => request.line);\n const duplicates = [...new Set(duplicateLines)].flatMap(number => {\n const fix = duplicateByLine.get(number);\n if (fix === undefined) return [];\n if (!duplicateVerdicts.has(number)) duplicateVerdicts.set(number, verify(fix));\n const verified = duplicateVerdicts.get(number);\n return verified === undefined ? [] : [verified];\n });\n const selectedCodes = spellingCodes.filter(code => requests === undefined ? diagnosticCode === undefined || diagnosticCode === code : requests.some(request => request.diagnosticCode === code));\n for (const code of selectedCodes.filter(code => !documentChecked.has(code))) {\n const candidates = [...byLine.values()].filter(candidate => candidate.fix.diagnosticCode === code);\n if (candidates.length > 0) {\n const fix = verify({ diagnosticCode: code, title: code === DiagnosticCodes.LegacyOptionalSuffix ? \"Use 'optional' throughout this document\" : 'Use bare pii and secret throughout this document', scope: 'document', edits: candidates.flatMap(candidate => candidate.fix.edits) });\n if (fix !== undefined) documentFixes.set(code, fix);\n }\n documentChecked.add(code);\n }\n const documents = selectedCodes.flatMap(code => documentFixes.has(code) ? [documentFixes.get(code)!] : []);\n if (requests !== undefined) {\n if (rangeVerdicts === undefined) {\n rangeVerdicts = new Map();\n // Source order gives ordered, non-overlapping edits without sorting. Recipes replace\n // distinct nodes/lines; the batch must preserve every other modeled member and remove\n // exactly the expected diagnostics before any of its occurrence edits can be offered.\n const candidates = lines.flatMap(line => byLine.has(line.number) ? [byLine.get(line.number)!] : []);\n const edits = candidates.flatMap(candidate => candidate.fix.edits);\n const candidateSource = applyQuickFixEdits(source, edits);\n if (edits.length > 0 && candidateSource !== undefined) {\n const parsed = parseForAuthoring(candidateSource, undefined, options.placement);\n const changes = candidates.flatMap(candidate => candidate.change === undefined ? [] : [candidate.change]);\n if (acceptable(parsed) && verificationShape(parsed) === verificationShape(original, changes)) {\n const remaining = new Map<string, number>();\n const removed = new Map<string, number>();\n for (const diagnostic of parsed.diagnostics) remaining.set(diagnostic.code, (remaining.get(diagnostic.code) ?? 0) + 1);\n for (const candidate of candidates) removed.set(candidate.fix.diagnosticCode, (removed.get(candidate.fix.diagnosticCode) ?? 0) + candidate.fix.edits.length);\n if ([...removed].every(([code, count]) => (remaining.get(code) ?? 0) === (counts.get(code) ?? 0) - count)) {\n for (const candidate of candidates) rangeVerdicts.set(candidate.line, candidate.fix);\n }\n }\n }\n }\n const selected = new Map<number, QuickFix>();\n for (const request of requests) {\n const fix = rangeVerdicts.get(request.line);\n if (fix?.diagnosticCode === request.diagnosticCode) selected.set(request.line, fix);\n }\n return [...selected.values(), ...duplicates, ...documents];\n }\n const occurrenceLine = typeof line === 'number' ? line : undefined;\n const selected = occurrenceLine === undefined ? undefined : byLine.get(occurrenceLine);\n let occurrenceFix: QuickFix | undefined;\n if (selected !== undefined && occurrenceLine !== undefined && (diagnosticCode === undefined || selected.fix.diagnosticCode === diagnosticCode)) {\n if (!verified.has(occurrenceLine)) {\n if (verified.size === 32) verified.delete(verified.keys().next().value!);\n verified.set(occurrenceLine, verify(selected.fix, selected.change));\n }\n occurrenceFix = verified.get(occurrenceLine);\n }\n return [...(occurrenceFix === undefined ? [] : [occurrenceFix]), ...duplicates, ...documents];\n };\n}\n\n// PLAY0791 is reported on the `ui profile` line. The canonical form is `root template <Name>`; beside a root template the legacy line is ignored, so it is removed.\nfunction legacyProfileLayoutFix(lines: readonly { readonly number: number; readonly raw: string; readonly startOffset: number }[], headerIndex: number, diagnosticCode: string): QuickFix | undefined {\n const indentOf = (raw: string): number => /^\\s*/.exec(raw)![0].length;\n const headerIndent = indentOf(lines[headerIndex].raw);\n let layout: { readonly index: number; readonly indent: number } | undefined;\n let hasRoot = false;\n for (let index = headerIndex + 1; index < lines.length; index++) {\n const raw = lines[index].raw;\n if (raw.trim().length === 0) continue;\n if (indentOf(raw) <= headerIndent) break;\n if (layout === undefined && /^\\s*layout\\s+[A-Za-z_]\\w*\\s*$/.test(raw)) layout = { index, indent: indentOf(raw) };\n if (/^\\s*root\\s+template(\\s|$)/.test(raw)) hasRoot = true;\n }\n if (layout === undefined) return undefined;\n const line = lines[layout.index];\n return hasRoot\n ? { diagnosticCode, title: 'Remove the ignored layout line', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[layout.index + 1]?.startOffset ?? line.startOffset + line.raw.length) - line.startOffset, text: '' }] }\n : { diagnosticCode, title: \"Use 'root template' instead of 'layout'\", scope: 'occurrence', edits: [{ start: line.startOffset + layout.indent, length: 'layout'.length, text: 'root template' }] };\n}\n\ntype QuickFixLine = { readonly number: number; readonly raw: string; readonly indent: number; readonly content: string; readonly startOffset: number };\n\n// One edit from the opening brace to the end of the closing line, so the fix removes exactly one diagnostic. A closing brace that carries a comment is left alone.\nfunction redundantKeyBracesFix(source: string, lines: readonly QuickFixLine[], keyIndex: number, diagnosticCode: string): QuickFix | undefined {\n const key = lines[keyIndex];\n if (!key.content.endsWith('{')) return undefined;\n const brace = key.indent + key.content.length - 1;\n const prefix = key.raw.slice(0, brace).trimEnd().length;\n for (let index = keyIndex + 1; index < lines.length; index++) {\n const candidate = lines[index];\n if (candidate.content.length === 0 || candidate.indent > key.indent) continue;\n if (candidate.indent !== key.indent || candidate.content !== '}' || candidate.raw.trim() !== '}') return undefined;\n const next = lines[index + 1];\n const keep = source.slice(key.startOffset + key.raw.length, candidate.startOffset);\n const text = key.raw.slice(brace + 1) + (next === undefined ? keep.replace(/\\r?\\n$/, '') : keep);\n const start = key.startOffset + prefix;\n return { diagnosticCode, title: 'Remove the redundant composite key braces', scope: 'occurrence', edits: [{ start, length: (next?.startOffset ?? source.length) - start, text }] };\n }\n return undefined;\n}\n\n// One edit from the first to the last operand that needs an 'and', so the fix removes exactly one diagnostic.\nfunction implicitAuthorizationFix(source: string, lines: readonly QuickFixLine[], authorizeIndex: number, diagnosticCode: string): QuickFix | undefined {\n const first = lines[authorizeIndex];\n if (!first.content.startsWith('authorize')) return undefined;\n const found: { index: number; length: number }[] = [];\n let previous: string | undefined;\n const visit = (line: QuickFixLine, from: number): void => {\n const result = implicitConjunctionTokens(line.content.slice(from), previous);\n previous = result.previous;\n for (const token of result.tokens) found.push({ index: line.startOffset + line.indent + from + token.index, length: token.length });\n };\n visit(first, 'authorize'.length);\n for (let index = authorizeIndex + 1; index < lines.length; index++) {\n const line = lines[index];\n if (line.content.length === 0) continue;\n if (line.indent <= first.indent || !isAuthorizeContinuation(line.content)) break;\n visit(line, 0);\n }\n if (found.length === 0) return undefined;\n const last = found[found.length - 1];\n const text = found.map((token, index) => 'and ' + source.slice(token.index, index < found.length - 1 ? found[index + 1].index : token.index + token.length)).join('');\n return { diagnosticCode, title: \"Write 'and' between the adjacent authorize policies\", scope: 'occurrence', edits: [{ start: found[0].index, length: last.index + last.length - found[0].index, text }] };\n}\n\nfunction duplicateComplianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header === null) return undefined;\n const suffix = header[2];\n const seen = new Set<string>();\n const text = suffix.replace(new RegExp(pattern('[^\\\\S\\\\r\\\\n]+(@?\\\\w+)').source, 'gu'), (token, marker: string) => {\n const wire = complianceWireName(marker);\n if (seen.has(wire)) return '';\n seen.add(wire);\n return token;\n });\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n}\n\nfunction complianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n // Restrict rewriting to the suffix or leading directive marker, never comments or quoted reasons.\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header !== null) {\n const suffix = header[2];\n const text = suffix.replace(/@pii\\b|@?sensitive\\b/g, marker => marker === '@pii' ? 'pii' : 'secret');\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n }\n const directive = pattern('^(\\\\s*)(@pii|@?sensitive)\\\\b').exec(raw);\n return directive === null ? undefined : { start: startOffset + directive[1].length, length: directive[2].length, text: directive[2] === '@pii' ? 'pii' : 'secret' };\n}\n\nfunction verificationShape(parsed: ReturnType<typeof parseForAuthoring>, changes: readonly NonNullable<QuickFixCandidate['change']>[] = []): string {\n // Compare every modeled member (including trigger data), ignoring only source locations. A recipe\n // may replace only its original node; no other id or destination is normalized away.\n const replacements = new Map(changes.map(change => [change.node, change.replacement]));\n return JSON.stringify([parsed.value, parsed.triggerData], (key, value: unknown) => ['location', 'usesLocation', 'targetLocation'].includes(key) ? undefined : replacements.get(value as NonNullable<QuickFixCandidate['change']>['node']) ?? value);\n}\n\n// One forward pass; applying N edits by repeatedly slicing the document would be quadratic.\nexport function applyQuickFixEdits(source: string, edits: readonly QuickFixEdit[]): string | undefined {\n const parts: string[] = [];\n let end = 0;\n for (const edit of edits) {\n if (edit.start < end || edit.start < 0 || edit.length < 0 || edit.start + edit.length > source.length) return undefined;\n parts.push(source.slice(end, edit.start), edit.text);\n end = edit.start + edit.length;\n }\n parts.push(source.slice(end));\n return parts.join('');\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e={InvalidSemanticBinding:`PLAY0273`,InvalidActionSubjectClause:`PLAY0817`,InferredActionSubject:`PLAY0818`,ChangedActionSubject:`PLAY0819`,AmbiguousActionInputBinding:`PLAY0820`,UnsupportedActionSubjectContext:`PLAY0821`,DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`,InvalidPossibleEventsDeclaration:`PLAY0822`,InvalidPossibleEventSet:`PLAY0823`};export{e as DiagnosticCodes};
|
|
1
|
+
const e={InvalidSemanticBinding:`PLAY0273`,InvalidActionSubjectClause:`PLAY0817`,InferredActionSubject:`PLAY0818`,ChangedActionSubject:`PLAY0819`,AmbiguousActionInputBinding:`PLAY0820`,UnsupportedActionSubjectContext:`PLAY0821`,DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`,InvalidPossibleEventsDeclaration:`PLAY0822`,InvalidPossibleEventSet:`PLAY0823`,RedundantCompositeKeyBraces:`PLAY0824`,ImplicitAuthorizationConjunction:`PLAY0825`};export{e as DiagnosticCodes};
|
|
2
2
|
//# sourceMappingURL=DiagnosticCodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n InvalidSemanticBinding: 'PLAY0273',\n InvalidActionSubjectClause: 'PLAY0817',\n InferredActionSubject: 'PLAY0818',\n ChangedActionSubject: 'PLAY0819',\n AmbiguousActionInputBinding: 'PLAY0820',\n UnsupportedActionSubjectContext: 'PLAY0821',\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035', // Retired: handlers may declare produces as their result contract. Reserved forever.\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n InvalidPossibleEventsDeclaration: 'PLAY0822',\n InvalidPossibleEventSet: 'PLAY0823',\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n InvalidSemanticBinding: 'PLAY0273',\n InvalidActionSubjectClause: 'PLAY0817',\n InferredActionSubject: 'PLAY0818',\n ChangedActionSubject: 'PLAY0819',\n AmbiguousActionInputBinding: 'PLAY0820',\n UnsupportedActionSubjectContext: 'PLAY0821',\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035', // Retired: handlers may declare produces as their result contract. Reserved forever.\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n InvalidPossibleEventsDeclaration: 'PLAY0822',\n InvalidPossibleEventSet: 'PLAY0823',\n RedundantCompositeKeyBraces: 'PLAY0824',\n ImplicitAuthorizationConjunction: 'PLAY0825',\n} 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{
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{combineAuthorize as t}from"../Parsing/AuthorizeParser.js";import{validateIdentity as n}from"../Parsing/IdentityValidator.js";import{validateApplicationHandlers as r}from"../Parsing/CommandHandlerValidator.js";import{mergeStructuralInteractions as i}from"../Parsing/StructuralInteractionSites.js";import{LineReader as a}from"../Parsing/LineReader.js";import{InvalidSyntaxJson as o}from"../Syntax/InvalidSyntaxJson.js";import{invalidSourceOptions as s,isAuthoredDocument as c,legacySourceOptions as l,validatedSourceOptions as u}from"../Syntax/SourceOptions.js";import{ParserContext as d}from"../Parsing/ParserContext.js";import{toSyntaxJson as f}from"../Syntax/SyntaxJson.js";function mergeDocuments(t){let c=[],f=t.map(e=>e.value),p=/* @__PURE__ */ new Map,m=!1;for(let t of f)try{p.set(t,Object.hasOwn(t,`sourceOptions`)?u(t.sourceOptions):l)}catch(n){if(!(n instanceof o))throw n;m=!0,c.push(error(e.IncompatibleNumericSource,n.message,t.location))}let h=f.filter(e=>p.get(e)?.numericMode===`exact`||hasDeclarations(e)),g=p.get(h[0])??l;for(let t of h.slice(1))p.get(t)?.numericMode!==g.numericMode&&(m=!0,c.push(error(e.MixedNumericModes,`Declaration-bearing documents and marked import barrels must independently select the same numeric mode.`,t.location)));m&&(g=s);let _=/* @__PURE__ */ new Map,v=declaredInOneFile(f.flatMap(e=>e.concepts),`declaration of`,c,void 0,_),y=declaredInOneFile(f.flatMap(e=>e.types),`declaration of`,c,void 0,_),b=f.flatMap(e=>e.identity==null?[]:[e.identity]);for(let t of b.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares an identity block in '${describe(b[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let x=f.filter(e=>e.commandReadMode!=null);for(let t of x.slice(1))c.push(error(e.InvalidCommandReadsDeclaration,`Declare 'command reads protected' once at the application root.`,t.location));let S=f.filter(e=>e.timeZone!=null);for(let t of S.slice(1))c.push(error(e.InvalidTimeZoneDeclaration,`Declare 'time zone' once at the application root.`,t.location));let C=f.filter(e=>e.reactionProductionMode!=null);for(let t of C.slice(1))c.push(error(e.InvalidReactionBatchesDeclaration,`Declare 'reaction batches atomic' once at the application root.`,t.location));let w=f.map(e=>e.domain).filter(e=>e!==null);for(let t of w.slice(1))c.push(error(e.RepeatedSingularDeclarationAcrossFiles,`The folder already declares a domain in '${describe(w[0].location.path)}' - a folder compiles to one application, which can have at most one`,t.location));let T=mergeModules(f.flatMap(e=>e.modules),c),E=declaredInOneFile(f.flatMap(e=>e.personas),`persona`,c),D=f.flatMap(e=>e.policies??[]),O=declaredInOneFile(D,`policy`,c),k=D.filter(e=>!O.includes(e)).map(e=>e.location),A={kind:`ApplicationSyntax`,sourceOptions:g,...C.length===0?{}:{reactionProductionMode:C[0].reactionProductionMode},...x.length===0?{}:{commandReadMode:x[0].commandReadMode},...S.length===0?{}:{timeZone:S[0].timeZone},...b.length===0?{}:{identity:b[0]},domain:w[0]??null,imports:firstOfEach(f.flatMap(e=>e.imports),e=>e.qualifiedName),concepts:v,types:y,examples:f.flatMap(e=>e.examples??[]),systems:f.flatMap(e=>e.systems??[]),purposes:declaredInOneFile(f.flatMap(e=>e.purposes??[]),`purpose`,c),eventSources:f.flatMap(e=>e.eventSources??[]),declaredTriggers:f.flatMap(e=>e.declaredTriggers??[]),modules:T,personas:E,policies:O,seeds:f.flatMap(e=>e.seeds??[]),fileImports:f.flatMap(e=>e.fileImports),...presentOnly(`stickyNotes`,f.flatMap(e=>e.stickyNotes??[])),...presentOnly(`exposures`,f.flatMap(e=>e.exposures??[])),...presentOnly(`instanceContributions`,f.flatMap(e=>e.instanceContributions??[])),location:f[0]?.location??{line:1,column:1}};i(A,f);let j=new d(new a([]));r(A,j),n(A,j),c.push(...j.diagnostics);let M=[...t.flatMap(e=>e.diagnostics).filter(t=>t.code!==e.DuplicateDeclaration||!k.some(e=>sameLocation(e,t.location))),...c];return{value:A,diagnostics:M,success:!M.some(e=>e.severity===`error`)}}function hasDeclarations(e){if(c(e)||e.identity!=null||e.domain!==null||e.concepts.length>0||e.types.length>0||e.personas.length>0||(e.policies?.length??0)>0||(e.purposes?.length??0)>0||(e.seeds?.length??0)>0||(e.systems?.length??0)>0||(e.eventSources?.length??0)>0||(e.examples?.length??0)>0||(e.stickyNotes?.length??0)>0)return!0;let feature=e=>!e.isPlacement||(e.examples?.length??0)>0||e.slices.length>0||e.features.some(feature);return e.modules.some(e=>!e.isPlacement||(e.examples?.length??0)>0||e.features.some(feature))}function mergeModules(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return i({...e[0],isPlacement:!1,features:e[0].features.map(unplaced)},e);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`module '${e[0].name}'`,t),documentation:firstDocumentation(e,`module '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`module '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t)},[n])})}function mergeFeatures(e,t){return groupByName(e).map(placedLast).map(e=>{if(e.length===1)return unplaced(e[0]);let n=i({...e[0],isPlacement:!1,fileImports:e.flatMap(e=>e.fileImports),examples:e.flatMap(e=>e.examples??[]),purposes:firstOfEach(e.flatMap(e=>e.purposes??[]),e=>e.name),description:firstDescription(e,`feature '${e[0].name}'`,t),documentation:firstDocumentation(e,`feature '${e[0].name}'`,t),authorize:combineAuthorization(e.map(e=>e.authorize),`feature '${e[0].name}'`,t),dependsOn:groupDependencies(e)},e,t);return i({...n,features:mergeFeatures(e.flatMap(e=>e.features),t),slices:declaredInOneFile(e.flatMap(e=>e.slices),`slice`,t,`feature '${e[0].name}'`)},[n])})}function groupDependencies(e){return[...e].sort((e,t)=>(e.location.path??``)<(t.location.path??``)?-1:+((e.location.path??``)>(t.location.path??``))).flatMap(e=>e.dependsOn??[])}function placedLast(e){return[...e.filter(e=>!e.isPlacement),...e.filter(e=>e.isPlacement)]}function unplaced(e){return i({...e,isPlacement:!1,features:e.features.map(unplaced)},[e])}function combineAuthorization(n,r,i){let a=[];for(let t of n.filter(e=>e!==null)){let n=a.find(e=>e.location.path!==t.location.path&&JSON.stringify(f(e))===JSON.stringify(f(t)));n===void 0?a.push(t):i.push(warning(e.DuplicateAuthorizationAcrossFiles,`An identical authorization is already declared on the ${r} in '${describe(n.location.path)}' - this repeated gate is ignored`,t.location))}return a.reduce((e,n)=>t(e,n),null)}function firstOfEach(e,t){let n=/* @__PURE__ */ new Set;return e.filter(e=>!n.has(t(e))&&n.add(t(e))!==void 0)}function groupByName(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(n.name,[...t.get(n.name)??[],n]);return[...t.values()]}function firstDocumentation(t,n,r){let i=t.filter(e=>e.documentation!=null);for(let t of i.slice(1).filter(e=>e.documentation!==i[0].documentation))r.push(warning(e.ConflictingDocumentationAcrossFiles,`The ${n} is already documented in '${describe(i[0].location.path)}' - keeping that documentation`,t.location));return i[0]?.documentation??null}function firstDescription(t,n,r){let i=t.filter(e=>e.description!==null);for(let t of i.slice(1).filter(e=>e.description!==i[0].description))r.push(warning(e.ConflictingDescriptionAcrossFiles,`The ${n} is already described in '${describe(i[0].location.path)}' - keeping that description`,t.location));return i[0]?.description??null}function declaredInOneFile(t,n,r,i,a=/* @__PURE__ */ new Map){let o=[];for(let s of t){let t=a.get(s.name);t!==void 0&&t.path!==s.location.path?r.push(error(e.RepeatedDeclarationAcrossFiles,`Duplicate ${n} '${s.name}'${i===void 0?``:` in ${i}`} - already declared in '${describe(t.path)}'`,s.location)):(t===void 0&&a.set(s.name,s.location),o.push(s))}return o}const describe=e=>e??`another file`,sameLocation=(e,t)=>e.path===t.path&&e.line===t.line&&e.column===t.column,error=(e,t,n)=>({severity:`error`,code:e,message:t,location:n}),warning=(e,t,n)=>({severity:`warning`,code:e,message:t,location:n});function presentOnly(e,t){return t.length===0?{}:{[e]:t}}export{mergeDocuments};
|
|
2
2
|
//# sourceMappingURL=PlayFolderMerge.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{pattern as t}from"../Text/patterns.js";import{locationOf as n}from"./SourceLine.js";const r=t(`^(?:(?:or|and)\\s+)?[A-Za-z_(][\\w\\s()]*$`),i=new RegExp(t(`\\(|\\)|[A-Za-z_]\\w*`).source,`gu`),a=t(`^[A-Z]\\w*$`);function parseAuthorize(t,i){let a=i.content.substring(9);for(let e=t.peekChild(i.indent);e!==void 0&&r.test(e.content);e=t.peekChild(i.indent))t.reader.takeSignificant(),a+=` ${e.content}`;let o=tokenize(a),s=n(i);if(o.length===0)return t.error(e.AuthorizeWithoutPolicy,`Expected at least one policy after 'authorize'`,s),null;let c=new RequirementParser(t,o,s).parse();return c===null?null:{kind:`AuthorizeSyntax`,requirement:c,location:s}}function combineAuthorize(e,t){return e===null?t:t===null?e:{kind:`AuthorizeSyntax`,requirement:{kind:`LogicalPolicyRequirementSyntax`,left:e.requirement,operator:`And`,right:t.requirement,location:e.location},location:e.location}}function tokenize(e){let t=[];for(let n of e.match(i)??[])t.length>0&&isOperandEnd(t[t.length-1])&&isOperandStart(n)&&t.push(`and`),t.push(n);return t}const isName=e=>e!==`(`&&e!==`)`&&e!==`and`&&e!==`or`,isOperandEnd=e=>e===`)`||isName(e),isOperandStart=e=>e===`(`||isName(e);var RequirementParser=class{context;tokens;location;#e=0;constructor(e,t,n){this.context=e,this.tokens=t,this.location=n}parse(){let t=this.#t();return t!==null&&this.#e<this.tokens.length&&this.context.error(e.UnexpectedTokenInAuthorize,`Unexpected '${this.tokens[this.#e]}' in authorize`,this.location),t}#t(){return this.#r(`or`,`Or`,()=>this.#n())}#n(){return this.#r(`and`,`And`,()=>this.#i())}#r(e,t,n){let r=n();for(;r!==null&&this.tokens[this.#e]===e;){this.#e++;let e=n();if(e===null)return null;r={kind:`LogicalPolicyRequirementSyntax`,left:r,operator:t,right:e,location:this.location}}return r}#i(){if(this.tokens[this.#e]!==`(`)return this.#a();this.#e++;let t=this.#t();return this.tokens[this.#e]===`)`?this.#e++:this.context.error(e.UnclosedAuthorizeGroup,`Expected ')' in authorize`,this.location),t}#a(){if(this.#e>=this.tokens.length)return this.context.error(e.AuthorizeWithoutPolicy,`Expected a policy name`,this.location),null;let t=this.tokens[this.#e++];return a.test(t)?{kind:`PolicyReferenceSyntax`,name:t,location:this.location}:(this.context.error(e.InvalidPolicyReference,`Invalid policy reference '${t}' - policy names are PascalCase identifiers`,this.location),null)}};export{combineAuthorize,parseAuthorize};
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{pattern as t}from"../Text/patterns.js";import{locationOf as n}from"./SourceLine.js";const r=t(`^(?:(?:or|and)\\s+)?[A-Za-z_(][\\w\\s()]*$`),i=new RegExp(t(`\\(|\\)|[A-Za-z_]\\w*`).source,`gu`),a=t(`^[A-Z]\\w*$`);function parseAuthorize(t,i){let a=i.content.substring(9);for(let e=t.peekChild(i.indent);e!==void 0&&r.test(e.content);e=t.peekChild(i.indent))t.reader.takeSignificant(),a+=` ${e.content}`;let o=tokenize(a),s=n(i);if(o.length===0)return t.error(e.AuthorizeWithoutPolicy,`Expected at least one policy after 'authorize'`,s),null;hasImplicitConjunction(a)&&t.information(e.ImplicitAuthorizationConjunction,`Write 'and' between adjacent policies in 'authorize'.`,s);let c=new RequirementParser(t,o,s).parse();return c===null?null:{kind:`AuthorizeSyntax`,requirement:c,location:s}}function combineAuthorize(e,t){return e===null?t:t===null?e:{kind:`AuthorizeSyntax`,requirement:{kind:`LogicalPolicyRequirementSyntax`,left:e.requirement,operator:`And`,right:t.requirement,location:e.location},location:e.location}}function tokenize(e){let t=[];for(let n of e.match(i)??[])t.length>0&&isOperandEnd(t[t.length-1])&&isOperandStart(n)&&t.push(`and`),t.push(n);return t}function isAuthorizeContinuation(e){return r.test(e)}function implicitConjunctionTokens(e,t){let n=[];for(let r of e.matchAll(i))t!==void 0&&isOperandEnd(t)&&isOperandStart(r[0])&&n.push({index:r.index,length:r[0].length}),t=r[0];return{tokens:n,previous:t}}function hasImplicitConjunction(e){return implicitConjunctionTokens(e,void 0).tokens.length>0}const isName=e=>e!==`(`&&e!==`)`&&e!==`and`&&e!==`or`,isOperandEnd=e=>e===`)`||isName(e),isOperandStart=e=>e===`(`||isName(e);var RequirementParser=class{context;tokens;location;#e=0;constructor(e,t,n){this.context=e,this.tokens=t,this.location=n}parse(){let t=this.#t();return t!==null&&this.#e<this.tokens.length&&this.context.error(e.UnexpectedTokenInAuthorize,`Unexpected '${this.tokens[this.#e]}' in authorize`,this.location),t}#t(){return this.#r(`or`,`Or`,()=>this.#n())}#n(){return this.#r(`and`,`And`,()=>this.#i())}#r(e,t,n){let r=n();for(;r!==null&&this.tokens[this.#e]===e;){this.#e++;let e=n();if(e===null)return null;r={kind:`LogicalPolicyRequirementSyntax`,left:r,operator:t,right:e,location:this.location}}return r}#i(){if(this.tokens[this.#e]!==`(`)return this.#a();this.#e++;let t=this.#t();return this.tokens[this.#e]===`)`?this.#e++:this.context.error(e.UnclosedAuthorizeGroup,`Expected ')' in authorize`,this.location),t}#a(){if(this.#e>=this.tokens.length)return this.context.error(e.AuthorizeWithoutPolicy,`Expected a policy name`,this.location),null;let t=this.tokens[this.#e++];return a.test(t)?{kind:`PolicyReferenceSyntax`,name:t,location:this.location}:(this.context.error(e.InvalidPolicyReference,`Invalid policy reference '${t}' - policy names are PascalCase identifiers`,this.location),null)}};export{combineAuthorize,implicitConjunctionTokens,isAuthorizeContinuation,parseAuthorize};
|
|
2
2
|
//# sourceMappingURL=AuthorizeParser.js.map
|