@cratis/screenplay-language 4.183.0 → 4.184.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/bundles/compiler/Authoring/QuickFixes.js +2 -2
  2. package/dist/bundles/compiler/Authoring/QuickFixes.js.map +1 -1
  3. package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js +1 -1
  4. package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js.map +1 -1
  5. package/dist/bundles/compiler/Generation/FiniteGenerationRules.js +1 -1
  6. package/dist/bundles/compiler/Generation/RuleConsistency.js +1 -1
  7. package/dist/bundles/compiler/Generation/TextRuleExpression.js +1 -0
  8. package/dist/bundles/compiler/Parsing/CommandParser.js +1 -1
  9. package/dist/bundles/compiler/Parsing/CommandParser.js.map +1 -1
  10. package/dist/bundles/compiler/Parsing/LegacyTextRulePatterns.js +3 -0
  11. package/dist/bundles/compiler/Parsing/LegacyTextRulePatterns.js.map +1 -0
  12. package/dist/bundles/compiler/Parsing/MatchOperandValidation.js +1 -1
  13. package/dist/bundles/compiler/Parsing/MatchOperandValidation.js.map +1 -1
  14. package/dist/bundles/compiler/Parsing/checkPortableMatchPattern.js +2 -0
  15. package/dist/bundles/compiler/Parsing/checkPortableMatchPattern.js.map +1 -0
  16. package/dist/bundles/compiler/Syntax/SyntaxCollections.js +1 -1
  17. package/dist/bundles/compiler/Syntax/SyntaxCollections.js.map +1 -1
  18. package/dist/bundles/compiler/index.js +1 -1
  19. package/dist/bundles/completion-items.js +1 -1
  20. package/dist/bundles/completion-items.js.map +1 -1
  21. package/dist/bundles/diagnostic-codes.js +1 -1
  22. package/dist/bundles/diagnostic-codes.js.map +1 -1
  23. package/dist/bundles/keyword-docs.js +1 -1
  24. package/dist/bundles/keyword-docs.js.map +1 -1
  25. package/dist/bundles/language.js +1 -1
  26. package/dist/bundles/language.js.map +1 -1
  27. package/dist/bundles/validation.js +1 -1
  28. package/dist/bundles/validation.js.map +1 -1
  29. package/dist/completion-items.d.ts.map +1 -1
  30. package/dist/diagnostic-codes.d.ts +1 -0
  31. package/dist/diagnostic-codes.d.ts.map +1 -1
  32. package/dist/keyword-docs.d.ts.map +1 -1
  33. package/dist/language.d.ts.map +1 -1
  34. 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{pattern as t}from"../Text/patterns.js";import{complianceWireName as n}from"../Parsing/ConceptComplianceParser.js";import{commentStart as r,splitLines as i}from"../Parsing/SourceLineSplitter.js";import{ScreenplaySyntaxWalker as a}from"../Syntax/ScreenplaySyntaxWalker.js";import{parseForAuthoring as o}from"../ScreenplayCompiler.js";function isQuickFixDiagnostic(t){return t===e.DuplicateComplianceMarker||t===e.LegacyOptionalSuffix||t===e.LegacyComplianceMarker||t===e.RedundantEventId||t===e.PublicTranslationRequiresDirection}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 s=o(t,void 0,n.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 l=i(t),u=/* @__PURE__ */ new Map,d=/* @__PURE__ */ new Map;new class extends a{visitEvent(e){u.set(e.location.line,e)}visitSlice(e){d.set(e.location.line,e),super.visitSlice(e)}}().visitApplication(s.value);let f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_;for(let e of l)_=u.get(e.number)??_,_!==void 0&&g.set(e.number,_);for(let i of s.diagnostics){f.set(i.code,(f.get(i.code)??0)+1);let a=l[i.location.line-1];if(i.code===e.DuplicateComplianceMarker){let e=duplicateComplianceMarkerEdit(a.raw,a.startOffset);e!==void 0&&m.set(a.number,{diagnosticCode:i.code,title:`Remove duplicate compliance markers`,scope:`occurrence`,edits:[e]})}let c=legacyOptionalTypeLength(a.raw,i);if(c>0)p.set(a.number,{line:a.number,fix:{diagnosticCode:i.code,title:`Use 'optional' instead of '?'`,scope:`occurrence`,edits:[{start:a.startOffset+i.location.column+c-2,length:1,text:` optional`}]}});else if(i.code===e.LegacyComplianceMarker){let e=complianceMarkerEdit(a.raw,a.startOffset);e!==void 0&&p.set(a.number,{line:a.number,fix:{diagnosticCode:i.code,title:`Use bare pii and secret compliance markers`,scope:`occurrence`,edits:[e]}})}else if(i.code===e.PublicTranslationRequiresDirection){let r=d.get(a.number),c=/^\s*/.exec(a.raw)[0],l=t.includes(`\r
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{ScreenplaySyntaxWalker as s}from"../Syntax/ScreenplaySyntaxWalker.js";import{parseForAuthoring as c}from"../ScreenplayCompiler.js";function isQuickFixDiagnostic(t){return t===e.DeprecatedStudioTextRulePattern||t===e.DuplicateComplianceMarker||t===e.LegacyOptionalSuffix||t===e.LegacyComplianceMarker||t===e.RedundantEventId||t===e.PublicTranslationRequiresDirection}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(r,i={}){let l=c(r,void 0,i.placement),u=new Set(Array.from({length:14},(e,t)=>`PLAY0${607+t}`)),acceptable=e=>e.success||e.diagnostics.every(e=>e.severity!==`error`||u.has(e.code)),errorCodes=e=>new Set(e.diagnostics.filter(e=>e.severity===`error`).map(e=>e.code));if(!acceptable(l))return()=>[];let d=o(r),f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map;new class extends s{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(l.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 l.diagnostics){h.set(o.code,(h.get(o.code)??0)+1);let s=d[o.location.line-1];if(o.code===e.DuplicateComplianceMarker){let e=duplicateComplianceMarkerEdit(s.raw,s.startOffset);e!==void 0&&_.set(s.number,{diagnosticCode:o.code,title:`Remove duplicate compliance markers`,scope:`occurrence`,edits:[e]})}let u=legacyOptionalTypeLength(s.raw,o);if(u>0)g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Use 'optional' instead of '?'`,scope:`occurrence`,edits:[{start:s.startOffset+o.location.column+u-2,length:1,text:` optional`}]}});else if(o.code===e.DeprecatedStudioTextRulePattern){let e=m.get(s.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(s.raw);if(r===void 0||i===null)continue;let a={Equal:`==`,NotEqual:`!=`,Contains:`contains`,NotContains:`not contains`,StartsWith:`starts with`,EndsWith:`ends with`},c=`"`+r.value.replace(/["\\\n\r\t]/g,e=>JSON.stringify(e).slice(1,-1))+`"`;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Use the equivalent ordinal text rule`,scope:`occurrence`,edits:[{start:s.startOffset+i.index,length:i[0].length,text:a[r.kind]+` `+c}]},change:{node:e,replacement:{...e,rule:r.kind,value:{...e.value,value:r.value}}}})}else if(o.code===e.LegacyComplianceMarker){let e=complianceMarkerEdit(s.raw,s.startOffset);e!==void 0&&g.set(s.number,{line:s.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(s.number),n=/^\s*/.exec(s.raw)[0],a=r.includes(`\r
2
2
  `)?`\r
3
3
  `:`
4
- `,u=[`Inbound`,`Outbound`].map(e=>({direction:e,text:`${l}${c} direction ${e===`Inbound`?`inbound`:`outbound`}`})).filter(r=>{let i=applyQuickFixEdits(t,[{start:a.startOffset+a.raw.length,length:0,text:r.text}]),c=o(i,void 0,n.placement),l=errorCodes(s);return acceptable(c)&&![...errorCodes(c)].some(t=>t===e.PublicTranslationRequiresDirection||!l.has(t))});if(u.length===1){let[{direction:e,text:t}]=u;p.set(a.number,{line:a.number,fix:{diagnosticCode:i.code,title:`Declare 'direction ${e===`Inbound`?`inbound`:`outbound`}'`,scope:`occurrence`,edits:[{start:a.startOffset+a.raw.length,length:0,text:t}]},change:{node:r,replacement:{...r,direction:e}}})}}else if(i.code===e.RedundantEventId&&r(a.raw)<0){let e=g.get(a.number);if(e?.id!==e?.name||e===void 0)continue;p.set(a.number,{line:a.number,fix:{diagnosticCode:i.code,title:`Remove the redundant event id`,scope:`occurrence`,edits:[{start:a.startOffset,length:(l[a.number]?.startOffset??t.length)-a.startOffset,text:``}]},change:{node:e,replacement:{...e,id:null}}})}}let v=[e.LegacyOptionalSuffix,e.LegacyComplianceMarker],y=verificationShape(s),b=/* @__PURE__ */ new Map,x,S=/* @__PURE__ */ new Set,C=/* @__PURE__ */ new Map,verify=(e,r)=>{let i=applyQuickFixEdits(t,e.edits);if(i===void 0)return;let a=o(i,void 0,n.placement);if(acceptable(a)&&verificationShape(a)===(r===void 0?y:verificationShape(s,[r])))return a.diagnostics.filter(t=>t.code===e.diagnosticCode).length===(f.get(e.diagnosticCode)??0)-e.edits.length?e:void 0};return(r,i)=>{let a=typeof r==`number`||r===void 0?void 0:r,c=a===void 0?typeof r==`number`&&(i===void 0||i===e.DuplicateComplianceMarker)?[r]:[]:a.filter(t=>t.diagnosticCode===e.DuplicateComplianceMarker).map(e=>e.line),u=[...new Set(c)].flatMap(e=>{let t=m.get(e);if(t===void 0)return[];h.has(e)||h.set(e,verify(t));let n=h.get(e);return n===void 0?[]:[n]}),d=v.filter(e=>a===void 0?i===void 0||i===e:a.some(t=>t.diagnosticCode===e));for(let t of d.filter(e=>!S.has(e))){let n=[...p.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&&C.set(t,r)}S.add(t)}let g=d.flatMap(e=>C.has(e)?[C.get(e)]:[]);if(a!==void 0){if(x===void 0){x=/* @__PURE__ */ new Map;let e=l.flatMap(e=>p.has(e.number)?[p.get(e.number)]:[]),r=e.flatMap(e=>e.fix.edits),i=applyQuickFixEdits(t,r);if(r.length>0&&i!==void 0){let t=o(i,void 0,n.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)===(f.get(e)??0)-t))for(let t of e)x.set(t.line,t.fix)}}}let e=/* @__PURE__ */ new Map;for(let t of a){let n=x.get(t.line);n?.diagnosticCode===t.diagnosticCode&&e.set(t.line,n)}return[...e.values(),...u,...g]}let _=typeof r==`number`?r:void 0,y=_===void 0?void 0:p.get(_),w;return y!==void 0&&_!==void 0&&(i===void 0||y.fix.diagnosticCode===i)&&(b.has(_)||(b.size===32&&b.delete(b.keys().next().value),b.set(_,verify(y.fix,y.change))),w=b.get(_)),[...w===void 0?[]:[w],...u,...g]}}function duplicateComplianceMarkerEdit(e,r){let i=t(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(i===null)return;let a=i[2],o=/* @__PURE__ */ new Set,s=a.replace(new RegExp(t(`[^\\S\\r\\n]+(@?\\w+)`).source,`gu`),(e,t)=>{let r=n(t);return o.has(r)?``:(o.add(r),e)});return s===a?void 0:{start:r+i[1].length,length:a.length,text:s}}function complianceMarkerEdit(e,n){let r=t(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(r!==null){let e=r[2],t=e.replace(/@pii\b|@?sensitive\b/g,e=>e===`@pii`?`pii`:`secret`);return t===e?void 0:{start:n+r[1].length,length:e.length,text:t}}let i=t(`^(\\s*)(@pii|@?sensitive)\\b`).exec(e);return i===null?void 0:{start:n+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};
4
+ `,u=[`Inbound`,`Outbound`].map(e=>({direction:e,text:`${a}${n} direction ${e===`Inbound`?`inbound`:`outbound`}`})).filter(t=>{let n=applyQuickFixEdits(r,[{start:s.startOffset+s.raw.length,length:0,text:t.text}]),a=c(n,void 0,i.placement),o=errorCodes(l);return acceptable(a)&&![...errorCodes(a)].some(t=>t===e.PublicTranslationRequiresDirection||!o.has(t))});if(u.length===1){let[{direction:e,text:n}]=u;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Declare 'direction ${e===`Inbound`?`inbound`:`outbound`}'`,scope:`occurrence`,edits:[{start:s.startOffset+s.raw.length,length:0,text:n}]},change:{node:t,replacement:{...t,direction:e}}})}}else if(o.code===e.RedundantEventId&&a(s.raw)<0){let e=y.get(s.number);if(e?.id!==e?.name||e===void 0)continue;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Remove the redundant event id`,scope:`occurrence`,edits:[{start:s.startOffset,length:(d[s.number]?.startOffset??r.length)-s.startOffset,text:``}]},change:{node:e,replacement:{...e,id:null}}})}}let x=[e.LegacyOptionalSuffix,e.LegacyComplianceMarker],S=verificationShape(l),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=c(n,void 0,i.placement);if(acceptable(a)&&verificationShape(a)===(t===void 0?S:verificationShape(l,[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),s=[...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]}),u=x.filter(e=>a===void 0?n===void 0||n===e:a.some(t=>t.diagnosticCode===e));for(let t of u.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=u.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=c(n,void 0,i.placement),r=e.flatMap(e=>e.change===void 0?[]:[e.change]);if(acceptable(t)&&verificationShape(t)===verificationShape(l,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(),...s,...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],...s,...f]}}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":["code","DiagnosticCodes","diagnostic","line","original","parseForAuthoring","source","options","publicEventCodes","index","parsed","lines","splitLines","eventsByLine","slicesByLine","ScreenplaySyntaxWalker","event","slice","counts","byLine","duplicateByLine","duplicateVerdicts","events","edit","length","indent","ending","candidates","direction","edited","candidate","originalCodes","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","fix","change","requests","duplicateLines","diagnosticCode","request","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","selected","occurrenceLine","occurrenceFix","header","pattern","raw","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 { 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';\n\nexport interface QuickFixEdit {\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\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 line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return code === DiagnosticCodes.DuplicateComplianceMarker || code === DiagnosticCodes.LegacyOptionalSuffix || code === DiagnosticCodes.LegacyComplianceMarker || code === DiagnosticCodes.RedundantEventId || code === DiagnosticCodes.PublicTranslationRequiresDirection;\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'> = {}): (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 // Index inline and standalone declarations once, without scanning the tree per diagnostic.\n const walker = new class extends ScreenplaySyntaxWalker {\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.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.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\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":["code","DiagnosticCodes","diagnostic","line","original","parseForAuthoring","source","options","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","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","fix","change","requests","duplicateLines","diagnosticCode","request","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","selected","occurrenceLine","occurrenceFix","header","pattern","raw","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';\n\nexport interface QuickFixEdit {\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\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 line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return code === DiagnosticCodes.DeprecatedStudioTextRulePattern || code === DiagnosticCodes.DuplicateComplianceMarker || code === DiagnosticCodes.LegacyOptionalSuffix || code === DiagnosticCodes.LegacyComplianceMarker || code === DiagnosticCodes.RedundantEventId || code === DiagnosticCodes.PublicTranslationRequiresDirection;\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'> = {}): (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.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\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={UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,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`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,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`};export{e as DiagnosticCodes};
1
+ const e={UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,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`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,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`};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 UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\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 DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035',\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\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} 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 UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\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 DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035',\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\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} as const;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- import"./RegexExpression.js";import"./GenerationRuleProof.js";import"./FinitePatternContainment.js";
1
+ import"./RegexExpression.js";import"./GenerationRuleProof.js";import"./TextRuleExpression.js";import"./FinitePatternContainment.js";
@@ -1 +1 @@
1
- import"./RegexExpression.js";import"./GenerationRuleProof.js";
1
+ import"./RegexExpression.js";import"./GenerationRuleProof.js";import"./TextRuleExpression.js";
@@ -0,0 +1 @@
1
+ import"./RegexExpression.js";
@@ -1,2 +1,2 @@
1
- import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{stringBodyPattern as t,unescapeString as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{locationOf as i}from"./SourceLine.js";import{dependencySources as a}from"../Syntax/DependencySources.js";import{parseMappingSource as o}from"./ExpressionParser.js";import{isPendingHandler as s,validateHandlerOccurrences as c}from"./CommandHandlerValidator.js";import{firstWord as l}from"./LineText.js";import{reportInvalidModifierOrder as u,reportLegacyOptionalSuffix as d,tryParseProperty as f}from"./PropertyLineParser.js";import{combineAuthorize as p,parseAuthorize as m}from"./AuthorizeParser.js";import{parseDescription as h}from"./DescriptionParser.js";import{parseDocumentation as g}from"./DocumentationParser.js";import{parseCondition as _}from"./ConditionParser.js";import{ParserContext as v}from"./ParserContext.js";import{isReactionIdentityLine as y,misplacedReactionIdentity as b}from"./ReactionIdentityParser.js";import{sourceStreamPattern as x}from"../Text/SourceStreamNames.js";import{parseCommandStream as S}from"./EventSourceParser.js";import{isCode as C,isFile as w,parseCode as T,parseFile as E,parseHandler as D,parseImplementationWrapper as O}from"./ImplementationParser.js";import{parseCommandResponse as k,scalarResponsePattern as A}from"./CommandResponseParser.js";import{validateMatchOperand as j}from"./MatchOperandValidation.js";import{commandReadSources as M}from"./CommandReadSources.js";import{captureConcurrency as N}from"./DependencySourceParser.js";import{parseReads as P}from"./ReadsParser.js";import{parseProduces as F}from"./ProducesParser.js";const I=r(`^command\\s+([A-Za-z_]\\w*)$`),L=x(`^stream\\s+[A-Za-z_]\\w*\\.[A-Za-z_]\\w*$`),R=r(`\\bseverity\\s+(\\S+)$`),z=r(`\\bmessage\\s+(?:"(${t})"|(\\$strings\\.\\S*))$`),B=r(`^([\\w.]+)\\s+(.+)$`),V=r(`^(not empty|length ==|all >=|all >|matches|max|min|rule|>=|<=|==|!=|>|<)\\s*(.*)$`),H=x(`^[A-Za-z_]\\w*$`),U=r(`^reads\\s+[A-Z]\\w*\\s+optional(?:\\s|$)`),W={max:`Max`,min:`Min`,">":`GreaterThan`,">=":`GreaterThanOrEqual`,"<":`LessThan`,"<=":`LessThanOrEqual`,"==":`Equal`,"!=":`NotEqual`,"length ==":`Length`,matches:`Matches`,"all >":`AllGreaterThan`,"all >=":`AllGreaterThanOrEqual`},G={information:`Information`,warning:`Warning`,error:`Error`},K=/* @__PURE__ */ new Set([`reads`,`concurrency`]),q=/* @__PURE__ */ new Set([`description`,`documentation`,`handler`,`concurrency`]);function parseCommand(e,t){let n=/* @__PURE__ */ new Set,r=new v(e.reader.fork(),e.path,e.languages);return r.sourceOptions=e.sourceOptions,r.streamCandidates=e.streamCandidates,parseCommandBody(r,t,void 0,n),parseCommandBody(e,t,n)}function parseCommandBody(t,n,r,o){let d=I.exec(n.content)?.[1]??``;d===``&&t.error(e.InvalidCommandDeclaration,`Invalid command declaration '${n.content}' - expected 'command <Name>'`,i(n));let _=[],v=[],x,C=[],w=[],T=[],E=[],O,j=null,R=null,z=null,B=null,V=[],H=null,W=[];for(let a=t.peekChild(n.indent);a!==void 0;a=t.peekChild(n.indent)){t.reader.takeSignificant();let n=l(a.content),o=f(a);if(o!==void 0&&(q.has(n)||n===`validate`&&a.content!==`validate csharp`))x=addProperty(t,_,o,d,a,x);else if(n===`returns`){let e=A.exec(a.content);e!==null&&!e[1].startsWith(`@`)&&o!==void 0?r===void 0?(_.push(o),v.push({line:a,candidate:o,response:null})):r.has(o.type.name)?v.push({line:a,candidate:null,response:k(t,a)}):x=addProperty(t,_,o,d,a,x):o===void 0?u(t,a)?t.skipBlock(a.indent):v.push({line:a,candidate:null,response:k(t,a)}):x=addProperty(t,_,o,d,a,x)}else if(n===`stream`&&L.test(a.content)&&o!==void 0&&t.streamCandidates?.hasSource(o.type.name.split(`.`)[0])===!0){let[n,r]=o.type.name.split(`.`),s=t.streamCandidates.hasPropertyType(o.type.name)&&t.streamCandidates.hasUniqueStream(n,r),c=S(t,a,o,s);(H!==null||W.length>0)&&t.error(e.InvalidCommandStream,`A command declares at most one stream route.`,i(a)),s||H!==null?W.push(c):H=c}else if(n===`runs`&&y(a))b(t,a);else if(n===`description`)j=h(t,a,j,`Command '${d}'`);else if(n===`documentation`)R=g(t,a,R,`Command '${d}'`);else if(n===`authorize`)z=p(z,m(t,a));else if(n===`validate`){let e=parseValidate(t,a,`command`);e!==void 0&&C.push(e)}else if(n===`produces`){let e=F(t,a,!0);e!==void 0&&w.push(e)}else if(n===`handler`)B=D(t,a),V.push({handler:B,location:i(a)});else if(K.has(n)){let r=n===`reads`?P(t,a):void 0;r!==void 0&&E.push(r),n===`concurrency`&&O===void 0&&(O=N(t,a));let o=/^reads\s+([A-Z]\w*)(?:\s+as\s+([a-z_]\w*))?(?:\s+by\s+([a-z_]\w*))?$/.exec(a.content);o!==null&&T.push({readModel:o[1],alias:o[2]??null}),U.test(a.content)&&t.error(e.OptionalReadsNotSupported,`Optional reads are not yet supported (see #308).`,i(a)),t.skipOpaqueBlock(a.indent)}else o===void 0?(u(t,a),t.error(e.UnknownCommandDirective,`Unexpected '${a.content}' in command body`,i(a)),t.skipBlock(a.indent)):x=addProperty(t,_,o,d,a,x)}let G=new Set(v.flatMap(e=>e.candidate===null?[]:[e.candidate])),J=new Set(_.filter(e=>!G.has(e)).map(e=>e.name));v.some(e=>e.candidate!==null&&!J.has(e.candidate.type.name)&&e.candidate.type.name!==`returns`)&&J.add(`returns`);for(let e of J)o?.add(e);let Y=null,X=/* @__PURE__ */ new Set;for(let n of v){let r=n.response;if(n.candidate!==null){if(!J.has(n.candidate.type.name))continue;X.add(n.candidate),r={kind:`ScalarCommandResponseSyntax`,source:{kind:`PropertyResponseSourceSyntax`,property:n.candidate.type.name,location:n.candidate.type.location},location:i(n.line)}}r!==null&&(Y===null?Y=r:t.error(e.InvalidCommandResponse,`A command declares at most one unconditional response.`,i(n.line)))}c(V,t),B!==null&&!s(B)&&w.length>0&&t.error(e.CommandWithProducesAndHandler,`Command '${d}' cannot declare both 'produces' and 'handler'`,i(n));let Z={kind:`CommandSyntax`,name:d,description:j,documentation:R,authorize:z,properties:_.filter(e=>!X.has(e)),validations:C,produces:w,handler:B,response:Y,stream:H,streamCandidates:W,location:i(n)};return M.set(Z,T),a.set(Z,{reads:E,concurrency:O}),Z}function addProperty(t,n,r,i,a,o){return d(t,r.type,a),r.isIdentifier&&o!==void 0&&(t.error(e.DuplicateCommandIdentifier,`Command '${i}' already marks '${o.name}' as identifier - only one property can be the identifier`,r.location),r={...r,isIdentifier:!1}),n.push(r),o??(r.isIdentifier?r:void 0)}function parseValidate(t,r,a){if(r.content===`validate`){let o=t.peekChild(r.indent);if(o!==void 0&&o.content.startsWith("```")){t.reader.takeSignificant();let e=T(t.valueContext,o);return e===null&&t.skipFencedBody(),{kind:`CodeValidateSyntax`,code:e,location:i(r)}}let s=[],c=[],u;for(let o=t.peekChild(r.indent);o!==void 0;o=t.peekChild(r.indent)){if(t.reader.takeSignificant(),a===`concept`){if(t.sourceOptions.numericMode===`legacy`&&o.content.startsWith("```")){t.skipFencedBody();continue}if(u!==void 0&&o.indent<=u&&(u=void 0),u!==void 0||l(o.content)===`implementation`){t.error(e.InvalidValidationRule,`Invalid validation rule '${o.content}'`,i(o)),u??=o.indent;continue}}if(l(o.content)===`require`){let e=_(a===`concept`?t.valueContext:t,o.content.substring(7).trim(),i(o)),r=null,s=`Error`,u=!1;for(let e=t.peekChild(o.indent);e!==void 0;e=t.peekChild(o.indent)){t.reader.takeSignificant();let i=z.exec(e.content);i!==null&&i.index===0?r=i[1]===void 0?i[2]:n(i[1]):l(e.content)===`severity`?(u||(s=G[e.content.substring(8).trim()]??`Error`),u=!0):t.skipOpaqueBlock(e.indent)}e!==null&&c.push({kind:`RequirementSyntax`,condition:e,message:r,severity:s,location:i(o)});continue}let r=parseValidationRule(t,a===`concept`?{...o,content:`value ${o.content}`}:o,a);r!==void 0&&s.push(r)}return{kind:`DeclarativeValidateSyntax`,rules:s,requirements:c,location:i(r)}}if(a===`concept`&&l(r.content.substring(8).trimStart())===`checksum`){let e=parseValidationRule(t,{...r,content:`value ${r.content.substring(8).trimStart()}`},a);return e===void 0?void 0:{kind:`DeclarativeValidateSyntax`,rules:[e],requirements:[],location:i(r)}}if(r.content===`validate csharp`){let e=T(t.valueContext,{...r,content:`csharp`});return e===null&&t.skipOpaqueBlock(r.indent),{kind:`CodeValidateSyntax`,code:e,location:i(r)}}t.error(e.InvalidValidateDeclaration,`Invalid validate declaration '${r.content}' - expected 'validate' or 'validate csharp'`,i(r)),t.skipBlock(r.indent)}function parseValidationRule(t,n,r){let a=l(B.exec(n.content)?.[2]??``)===`checksum`,o=r===`concept`&&!a?t.valueContext:t,{content:s,message:c}=splitMessage(n.content),u=splitSeverity(o,n,s);if(u===void 0)return;let d=B.exec(u.content);if(d===null){o.error(e.InvalidValidationRule,`Invalid validation rule '${n.content}'`,i(n));return}let f=parseRule(o,d[2],n);if(f===void 0)return;f.kind===`Matches`&&f.value!==null&&j(t,f.value,i(n),n.raw);let p=f.kind===`Rule`?parseRuleImplementation(t,n,r===`command`):{file:null,code:null,implementation:null};return{kind:`ValidationRuleSyntax`,property:d[1],rule:f.kind,value:f.value,message:c,severity:u.severity,...p,location:i(n)}}function parseRuleImplementation(t,n,r){let a=t.peekChild(n.indent);if(a===void 0)return{file:null,code:null,implementation:null};t.reader.takeSignificant();let o=r&&l(a.content)===`implementation`,s=o?O(t,a):{file:w(a)?E(t,a):null,code:!w(a)&&C(t,a)?T(t,a):null,implementation:null};!o&&s.file===null&&s.code===null&&(t.error(e.UnknownRuleImplementationDirective,`Unexpected '${a.content}' in rule implementation - expected 'file <path>' or an inline code block`,i(a)),t.skipBlock(a.indent));for(let a=t.peekChild(n.indent);a!==void 0&&(o||r&&l(a.content)===`implementation`);a=t.peekChild(n.indent))t.reader.takeSignificant(),t.error(o&&l(a.content)===`implementation`?e.InvalidImplementationBlock:e.ConflictingImplementationSources,`A named rule has one implementation wrapper and cannot mix wrapped and direct sources.`,i(a)),C(t,a)?T(t,a):t.skipBlock(a.indent);return s}function splitMessage(e){let t=z.exec(e);if(t===null)return{content:e,message:null};let r=t[1]===void 0?t[2]:n(t[1]);return{content:e.substring(0,t.index).trimEnd(),message:r}}function splitSeverity(t,n,r){let a=R.exec(r);if(a===null)return{content:r,severity:`Error`};let o=G[a[1]];if(o===void 0)t.error(e.InvalidValidationSeverity,`Unknown validation severity '${a[1]}' - expected information, warning or error`,i(n));else return{content:r.substring(0,a.index).trimEnd(),severity:o}}function parseRule(t,n,r){if(n===`not empty`)return{kind:`NotEmpty`,value:null};if(l(n)===`checksum`){let a=n.substring(8).trim();if(a!==`luhn`&&a!==`mod11`&&a!==`mod97`){t.error(e.InvalidGenerationArgument,`Checksum validation requires luhn, mod11 or mod97.`,i(r));return}return{kind:`Checksum`,value:{kind:`LiteralExpressionSyntax`,value:a,location:i(r)}}}let a=V.exec(n);if(a===null)t.error(e.InvalidValidationRule,`Invalid validation rule '${r.content}'`,i(r));else{if(a[1]===`rule`){let n=a[2].trim();if(!H.test(n)){t.error(e.InvalidRuleName,`Invalid rule name '${n}' in '${r.content}' - expected 'rule <Name>' with an identifier`,i(r));return}return{kind:`Rule`,value:{kind:`PathExpressionSyntax`,path:n,location:i(r)}}}return{kind:W[a[1]],value:o(a[2],i(r),t)}}}export{parseCommand,parseValidate};
1
+ import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{stringBodyPattern as t,unescapeString as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{locationOf as i}from"./SourceLine.js";import{dependencySources as a}from"../Syntax/DependencySources.js";import{parseMappingSource as o}from"./ExpressionParser.js";import{isPendingHandler as s,validateHandlerOccurrences as c}from"./CommandHandlerValidator.js";import{firstWord as l}from"./LineText.js";import{reportInvalidModifierOrder as u,reportLegacyOptionalSuffix as d,tryParseProperty as f}from"./PropertyLineParser.js";import{combineAuthorize as p,parseAuthorize as m}from"./AuthorizeParser.js";import{parseDescription as h}from"./DescriptionParser.js";import{parseDocumentation as g}from"./DocumentationParser.js";import{parseCondition as _}from"./ConditionParser.js";import{ParserContext as v}from"./ParserContext.js";import{isReactionIdentityLine as y,misplacedReactionIdentity as b}from"./ReactionIdentityParser.js";import{sourceStreamPattern as x}from"../Text/SourceStreamNames.js";import{parseCommandStream as S}from"./EventSourceParser.js";import{isCode as C,isFile as w,parseCode as T,parseFile as E,parseHandler as D,parseImplementationWrapper as O}from"./ImplementationParser.js";import{parseCommandResponse as k,scalarResponsePattern as A}from"./CommandResponseParser.js";import{validateMatchOperand as j}from"./MatchOperandValidation.js";import{commandReadSources as M}from"./CommandReadSources.js";import{captureConcurrency as N}from"./DependencySourceParser.js";import{parseReads as P}from"./ReadsParser.js";import{parseProduces as F}from"./ProducesParser.js";const I=r(`^command\\s+([A-Za-z_]\\w*)$`),L=x(`^stream\\s+[A-Za-z_]\\w*\\.[A-Za-z_]\\w*$`),R=r(`\\bseverity\\s+(\\S+)$`),z=r(`\\bmessage\\s+(?:"(${t})"|(\\$strings\\.\\S*))$`),B=r(`^([\\w.]+)\\s+(.+)$`),V=r(`^(not empty|length ==|all >=|all >|matches|not contains|contains|starts with|ends with|max|min|rule|>=|<=|==|!=|>|<)\\s*(.*)$`),H=x(`^[A-Za-z_]\\w*$`),U=r(`^reads\\s+[A-Z]\\w*\\s+optional(?:\\s|$)`),W={max:`Max`,min:`Min`,">":`GreaterThan`,">=":`GreaterThanOrEqual`,"<":`LessThan`,"<=":`LessThanOrEqual`,"==":`Equal`,"!=":`NotEqual`,"length ==":`Length`,matches:`Matches`,contains:`Contains`,"not contains":`NotContains`,"starts with":`StartsWith`,"ends with":`EndsWith`,"all >":`AllGreaterThan`,"all >=":`AllGreaterThanOrEqual`},G={information:`Information`,warning:`Warning`,error:`Error`},K=/* @__PURE__ */ new Set([`reads`,`concurrency`]),q=/* @__PURE__ */ new Set([`description`,`documentation`,`handler`,`concurrency`]);function parseCommand(e,t){let n=/* @__PURE__ */ new Set,r=new v(e.reader.fork(),e.path,e.languages);return r.sourceOptions=e.sourceOptions,r.streamCandidates=e.streamCandidates,parseCommandBody(r,t,void 0,n),parseCommandBody(e,t,n)}function parseCommandBody(t,n,r,o){let d=I.exec(n.content)?.[1]??``;d===``&&t.error(e.InvalidCommandDeclaration,`Invalid command declaration '${n.content}' - expected 'command <Name>'`,i(n));let _=[],v=[],x,C=[],w=[],T=[],E=[],O,j=null,R=null,z=null,B=null,V=[],H=null,W=[];for(let a=t.peekChild(n.indent);a!==void 0;a=t.peekChild(n.indent)){t.reader.takeSignificant();let n=l(a.content),o=f(a);if(o!==void 0&&(q.has(n)||n===`validate`&&a.content!==`validate csharp`))x=addProperty(t,_,o,d,a,x);else if(n===`returns`){let e=A.exec(a.content);e!==null&&!e[1].startsWith(`@`)&&o!==void 0?r===void 0?(_.push(o),v.push({line:a,candidate:o,response:null})):r.has(o.type.name)?v.push({line:a,candidate:null,response:k(t,a)}):x=addProperty(t,_,o,d,a,x):o===void 0?u(t,a)?t.skipBlock(a.indent):v.push({line:a,candidate:null,response:k(t,a)}):x=addProperty(t,_,o,d,a,x)}else if(n===`stream`&&L.test(a.content)&&o!==void 0&&t.streamCandidates?.hasSource(o.type.name.split(`.`)[0])===!0){let[n,r]=o.type.name.split(`.`),s=t.streamCandidates.hasPropertyType(o.type.name)&&t.streamCandidates.hasUniqueStream(n,r),c=S(t,a,o,s);(H!==null||W.length>0)&&t.error(e.InvalidCommandStream,`A command declares at most one stream route.`,i(a)),s||H!==null?W.push(c):H=c}else if(n===`runs`&&y(a))b(t,a);else if(n===`description`)j=h(t,a,j,`Command '${d}'`);else if(n===`documentation`)R=g(t,a,R,`Command '${d}'`);else if(n===`authorize`)z=p(z,m(t,a));else if(n===`validate`){let e=parseValidate(t,a,`command`);e!==void 0&&C.push(e)}else if(n===`produces`){let e=F(t,a,!0);e!==void 0&&w.push(e)}else if(n===`handler`)B=D(t,a),V.push({handler:B,location:i(a)});else if(K.has(n)){let r=n===`reads`?P(t,a):void 0;r!==void 0&&E.push(r),n===`concurrency`&&O===void 0&&(O=N(t,a));let o=/^reads\s+([A-Z]\w*)(?:\s+as\s+([a-z_]\w*))?(?:\s+by\s+([a-z_]\w*))?$/.exec(a.content);o!==null&&T.push({readModel:o[1],alias:o[2]??null}),U.test(a.content)&&t.error(e.OptionalReadsNotSupported,`Optional reads are not yet supported (see #308).`,i(a)),t.skipOpaqueBlock(a.indent)}else o===void 0?(u(t,a),t.error(e.UnknownCommandDirective,`Unexpected '${a.content}' in command body`,i(a)),t.skipBlock(a.indent)):x=addProperty(t,_,o,d,a,x)}let G=new Set(v.flatMap(e=>e.candidate===null?[]:[e.candidate])),J=new Set(_.filter(e=>!G.has(e)).map(e=>e.name));v.some(e=>e.candidate!==null&&!J.has(e.candidate.type.name)&&e.candidate.type.name!==`returns`)&&J.add(`returns`);for(let e of J)o?.add(e);let Y=null,X=/* @__PURE__ */ new Set;for(let n of v){let r=n.response;if(n.candidate!==null){if(!J.has(n.candidate.type.name))continue;X.add(n.candidate),r={kind:`ScalarCommandResponseSyntax`,source:{kind:`PropertyResponseSourceSyntax`,property:n.candidate.type.name,location:n.candidate.type.location},location:i(n.line)}}r!==null&&(Y===null?Y=r:t.error(e.InvalidCommandResponse,`A command declares at most one unconditional response.`,i(n.line)))}c(V,t),B!==null&&!s(B)&&w.length>0&&t.error(e.CommandWithProducesAndHandler,`Command '${d}' cannot declare both 'produces' and 'handler'`,i(n));let Z={kind:`CommandSyntax`,name:d,description:j,documentation:R,authorize:z,properties:_.filter(e=>!X.has(e)),validations:C,produces:w,handler:B,response:Y,stream:H,streamCandidates:W,location:i(n)};return M.set(Z,T),a.set(Z,{reads:E,concurrency:O}),Z}function addProperty(t,n,r,i,a,o){return d(t,r.type,a),r.isIdentifier&&o!==void 0&&(t.error(e.DuplicateCommandIdentifier,`Command '${i}' already marks '${o.name}' as identifier - only one property can be the identifier`,r.location),r={...r,isIdentifier:!1}),n.push(r),o??(r.isIdentifier?r:void 0)}function parseValidate(t,r,a){if(r.content===`validate`){let o=t.peekChild(r.indent);if(o!==void 0&&o.content.startsWith("```")){t.reader.takeSignificant();let e=T(t.valueContext,o);return e===null&&t.skipFencedBody(),{kind:`CodeValidateSyntax`,code:e,location:i(r)}}let s=[],c=[],u;for(let o=t.peekChild(r.indent);o!==void 0;o=t.peekChild(r.indent)){if(t.reader.takeSignificant(),a===`concept`){if(t.sourceOptions.numericMode===`legacy`&&o.content.startsWith("```")){t.skipFencedBody();continue}if(u!==void 0&&o.indent<=u&&(u=void 0),u!==void 0||l(o.content)===`implementation`){t.error(e.InvalidValidationRule,`Invalid validation rule '${o.content}'`,i(o)),u??=o.indent;continue}}if(l(o.content)===`require`){let e=_(a===`concept`?t.valueContext:t,o.content.substring(7).trim(),i(o)),r=null,s=`Error`,u=!1;for(let e=t.peekChild(o.indent);e!==void 0;e=t.peekChild(o.indent)){t.reader.takeSignificant();let i=z.exec(e.content);i!==null&&i.index===0?r=i[1]===void 0?i[2]:n(i[1]):l(e.content)===`severity`?(u||(s=G[e.content.substring(8).trim()]??`Error`),u=!0):t.skipOpaqueBlock(e.indent)}e!==null&&c.push({kind:`RequirementSyntax`,condition:e,message:r,severity:s,location:i(o)});continue}let r=parseValidationRule(t,a===`concept`?{...o,content:`value ${o.content}`}:o,a);r!==void 0&&s.push(r)}return{kind:`DeclarativeValidateSyntax`,rules:s,requirements:c,location:i(r)}}if(a===`concept`&&l(r.content.substring(8).trimStart())===`checksum`){let e=parseValidationRule(t,{...r,content:`value ${r.content.substring(8).trimStart()}`},a);return e===void 0?void 0:{kind:`DeclarativeValidateSyntax`,rules:[e],requirements:[],location:i(r)}}if(r.content===`validate csharp`){let e=T(t.valueContext,{...r,content:`csharp`});return e===null&&t.skipOpaqueBlock(r.indent),{kind:`CodeValidateSyntax`,code:e,location:i(r)}}t.error(e.InvalidValidateDeclaration,`Invalid validate declaration '${r.content}' - expected 'validate' or 'validate csharp'`,i(r)),t.skipBlock(r.indent)}function parseValidationRule(t,n,r){let a=l(B.exec(n.content)?.[2]??``)===`checksum`,o=r===`concept`&&!a?t.valueContext:t,{content:s,message:c}=splitMessage(n.content),u=splitSeverity(o,n,s);if(u===void 0)return;let d=B.exec(u.content);if(d===null){o.error(e.InvalidValidationRule,`Invalid validation rule '${n.content}'`,i(n));return}let f=parseRule(o,d[2],n);if(f===void 0)return;f.kind===`Matches`&&f.value!==null&&j(t,f.value,i(n),n.raw);let p=f.kind===`Rule`?parseRuleImplementation(t,n,r===`command`):{file:null,code:null,implementation:null};return{kind:`ValidationRuleSyntax`,property:d[1],rule:f.kind,value:f.value,message:c,severity:u.severity,...p,location:i(n)}}function parseRuleImplementation(t,n,r){let a=t.peekChild(n.indent);if(a===void 0)return{file:null,code:null,implementation:null};t.reader.takeSignificant();let o=r&&l(a.content)===`implementation`,s=o?O(t,a):{file:w(a)?E(t,a):null,code:!w(a)&&C(t,a)?T(t,a):null,implementation:null};!o&&s.file===null&&s.code===null&&(t.error(e.UnknownRuleImplementationDirective,`Unexpected '${a.content}' in rule implementation - expected 'file <path>' or an inline code block`,i(a)),t.skipBlock(a.indent));for(let a=t.peekChild(n.indent);a!==void 0&&(o||r&&l(a.content)===`implementation`);a=t.peekChild(n.indent))t.reader.takeSignificant(),t.error(o&&l(a.content)===`implementation`?e.InvalidImplementationBlock:e.ConflictingImplementationSources,`A named rule has one implementation wrapper and cannot mix wrapped and direct sources.`,i(a)),C(t,a)?T(t,a):t.skipBlock(a.indent);return s}function splitMessage(e){let t=z.exec(e);if(t===null)return{content:e,message:null};let r=t[1]===void 0?t[2]:n(t[1]);return{content:e.substring(0,t.index).trimEnd(),message:r}}function splitSeverity(t,n,r){let a=R.exec(r);if(a===null)return{content:r,severity:`Error`};let o=G[a[1]];if(o===void 0)t.error(e.InvalidValidationSeverity,`Unknown validation severity '${a[1]}' - expected information, warning or error`,i(n));else return{content:r.substring(0,a.index).trimEnd(),severity:o}}function parseRule(t,n,r){if(n===`not empty`)return{kind:`NotEmpty`,value:null};if(l(n)===`checksum`){let a=n.substring(8).trim();if(a!==`luhn`&&a!==`mod11`&&a!==`mod97`){t.error(e.InvalidGenerationArgument,`Checksum validation requires luhn, mod11 or mod97.`,i(r));return}return{kind:`Checksum`,value:{kind:`LiteralExpressionSyntax`,value:a,location:i(r)}}}let a=V.exec(n);if(a===null)t.error(e.InvalidValidationRule,`Invalid validation rule '${r.content}'`,i(r));else{if(a[1]===`rule`){let n=a[2].trim();if(!H.test(n)){t.error(e.InvalidRuleName,`Invalid rule name '${n}' in '${r.content}' - expected 'rule <Name>' with an identifier`,i(r));return}return{kind:`Rule`,value:{kind:`PathExpressionSyntax`,path:n,location:i(r)}}}return{kind:W[a[1]],value:o(a[2],i(r),t)}}}export{parseCommand,parseValidate};
2
2
  //# sourceMappingURL=CommandParser.js.map