owndesign 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/server/index.js +109 -71
  3. package/dist/server/prompts/agents/component-audit.md +1 -1
  4. package/dist/web/assets/{angular-html-DCGj6j9k.js → angular-html-BC-ehZ2Z.js} +1 -1
  5. package/dist/web/assets/{angular-ts-_jS5FvKQ.js → angular-ts-CbNdIQVH.js} +1 -1
  6. package/dist/web/assets/{apl-COUiMcRO.js → apl-CKXIPXmN.js} +1 -1
  7. package/dist/web/assets/{arc-DO65316F.js → arc-DCbsmfyT.js} +1 -1
  8. package/dist/web/assets/architecture-7EHR7CIX-Dy_x80xD.js +1 -0
  9. package/dist/web/assets/{architectureDiagram-3BPJPVTR-4QTI95py.js → architectureDiagram-3BPJPVTR-C3CSEDbb.js} +1 -1
  10. package/dist/web/assets/{astro-DBm7xN0H.js → astro-0YgDtFyB.js} +1 -1
  11. package/dist/web/assets/{blade-BrcGRjeD.js → blade-DCBz6o9i.js} +1 -1
  12. package/dist/web/assets/{blockDiagram-GPEHLZMM-DyW2gTLi.js → blockDiagram-GPEHLZMM-Wy4mtab2.js} +1 -1
  13. package/dist/web/assets/{c-DAqlvgYb.js → c-B_5YfUT4.js} +1 -1
  14. package/dist/web/assets/{c4Diagram-AAUBKEIU-D7VLn3UY.js → c4Diagram-AAUBKEIU-DvAQK-yr.js} +1 -1
  15. package/dist/web/assets/channel-CNy21oVR.js +1 -0
  16. package/dist/web/assets/{chunk-2J33WTMH-ZI7iZmam.js → chunk-2J33WTMH-D12BmulM.js} +1 -1
  17. package/dist/web/assets/{chunk-4BX2VUAB-BXZ1tYtp.js → chunk-4BX2VUAB-CUsT6Yoy.js} +1 -1
  18. package/dist/web/assets/{chunk-55IACEB6-BruFuyzh.js → chunk-55IACEB6-B1fNBh7K.js} +1 -1
  19. package/dist/web/assets/{chunk-727SXJPM-WfltwAyi.js → chunk-727SXJPM-BNwBLitG.js} +1 -1
  20. package/dist/web/assets/{chunk-AQP2D5EJ-m-6Oqccg.js → chunk-AQP2D5EJ-Cj6w8RRN.js} +1 -1
  21. package/dist/web/assets/{chunk-FMBD7UC4-CTpop8z0.js → chunk-FMBD7UC4-DZQMeOiP.js} +1 -1
  22. package/dist/web/assets/{chunk-ND2GUHAM-DXbYu7j4.js → chunk-ND2GUHAM-BDZZZpgK.js} +1 -1
  23. package/dist/web/assets/chunk-QZHKN3VN-ZvBMuvS3.js +1 -0
  24. package/dist/web/assets/classDiagram-4FO5ZUOK-CdVQzF3q.js +1 -0
  25. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CdVQzF3q.js +1 -0
  26. package/dist/web/assets/{cobol-CV8XIe3g.js → cobol-B7rjWy71.js} +1 -1
  27. package/dist/web/assets/{coffee-CjS-bqem.js → coffee-327Z21kX.js} +1 -1
  28. package/dist/web/assets/{cose-bilkent-S5V4N54A-qeF_aTDs.js → cose-bilkent-S5V4N54A-D1c4YrLP.js} +1 -1
  29. package/dist/web/assets/{cpp-BWTrby03.js → cpp-76QBVYPh.js} +1 -1
  30. package/dist/web/assets/{crystal-B4jSurfu.js → crystal-B4heXbZm.js} +1 -1
  31. package/dist/web/assets/{css-CXDKo6HN.js → css-CzEdf7OR.js} +1 -1
  32. package/dist/web/assets/{dagre-BM42HDAG-mtpIrAd-.js → dagre-BM42HDAG-ET87-tzF.js} +1 -1
  33. package/dist/web/assets/{diagram-2AECGRRQ-C2daXqRz.js → diagram-2AECGRRQ-CBQXEPqZ.js} +1 -1
  34. package/dist/web/assets/{diagram-5GNKFQAL-Yn3Kkd1e.js → diagram-5GNKFQAL-CtNzeaR4.js} +1 -1
  35. package/dist/web/assets/{diagram-KO2AKTUF-BSZBlF1_.js → diagram-KO2AKTUF-DKv9ewpj.js} +1 -1
  36. package/dist/web/assets/{diagram-LMA3HP47-C-o1wwy4.js → diagram-LMA3HP47-BdL7Q4hm.js} +1 -1
  37. package/dist/web/assets/{diagram-OG6HWLK6-BadUuiav.js → diagram-OG6HWLK6-BTYYRviK.js} +1 -1
  38. package/dist/web/assets/{edge-IP3F2dQ8.js → edge-CbifZx89.js} +1 -1
  39. package/dist/web/assets/{elixir-DNv4dzV2.js → elixir-D7epo7XU.js} +1 -1
  40. package/dist/web/assets/{elm-DGlxwCzv.js → elm-CDnfHiSW.js} +1 -1
  41. package/dist/web/assets/{erDiagram-TEJ5UH35-uLYwqFWM.js → erDiagram-TEJ5UH35-DoS_g6rc.js} +1 -1
  42. package/dist/web/assets/{erb-Cx4MSh15.js → erb-CJPDtktp.js} +1 -1
  43. package/dist/web/assets/eventmodeling-FCH6USID-dHNYNvhr.js +1 -0
  44. package/dist/web/assets/{flowDiagram-I6XJVG4X-C-JzpWfx.js → flowDiagram-I6XJVG4X-INqAi_9A.js} +1 -1
  45. package/dist/web/assets/{ganttDiagram-6RSMTGT7-Be3WGPbk.js → ganttDiagram-6RSMTGT7-BtV9RfaV.js} +1 -1
  46. package/dist/web/assets/{git-rebase-C_0JGP0g.js → git-rebase-XN1VAGxD.js} +1 -1
  47. package/dist/web/assets/gitGraph-WXDBUCRP-BTlPmENP.js +1 -0
  48. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DqJ0yj3L.js → gitGraphDiagram-PVQCEYII-Bg7oxgNx.js} +1 -1
  49. package/dist/web/assets/{glimmer-js-B7LRT5BS.js → glimmer-js-jAUeYMlX.js} +1 -1
  50. package/dist/web/assets/{glimmer-ts-CojGZlfZ.js → glimmer-ts-wcJbAc9L.js} +1 -1
  51. package/dist/web/assets/{glsl-CbmtoTb8.js → glsl-CqkwmhMS.js} +1 -1
  52. package/dist/web/assets/{graphql-qYEIhTt7.js → graphql-MSHUJ_J9.js} +1 -1
  53. package/dist/web/assets/{hack-DxHXCCdq.js → hack-o9VcDxFX.js} +1 -1
  54. package/dist/web/assets/{haml-CiwrkJ8T.js → haml-yMII7dOY.js} +1 -1
  55. package/dist/web/assets/{handlebars-Cn5UPYUQ.js → handlebars-DqywSDps.js} +1 -1
  56. package/dist/web/assets/{highlighted-body-OFNGDK62-ehiuxKzz.js → highlighted-body-OFNGDK62-DZUhBEEf.js} +1 -1
  57. package/dist/web/assets/{html-Cst8cPsk.js → html-D8D_RndX.js} +1 -1
  58. package/dist/web/assets/{html-derivative-lnPAgvry.js → html-derivative-Db1SyKg8.js} +1 -1
  59. package/dist/web/assets/{http-C5VDSUzW.js → http-Bqs_GAGw.js} +1 -1
  60. package/dist/web/assets/{hurl-BFlMJrL0.js → hurl-j0mDeRMp.js} +1 -1
  61. package/dist/web/assets/index-BMuMlfUY.css +2 -0
  62. package/dist/web/assets/{index-Ai406YO8.js → index-DlSOjemg.js} +153 -153
  63. package/dist/web/assets/info-J43DQDTF-Dk_AfWti.js +1 -0
  64. package/dist/web/assets/{infoDiagram-5YYISTIA-CIanyf0S.js → infoDiagram-5YYISTIA-D4cmnLLV.js} +1 -1
  65. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH--1RL7uDF.js → ishikawaDiagram-YF4QCWOH-BY9yvtJK.js} +1 -1
  66. package/dist/web/assets/{java-BGahCCe1.js → java-CegvNhLh.js} +1 -1
  67. package/dist/web/assets/{javascript-D5uMI8kB.js → javascript-DhcUAesx.js} +1 -1
  68. package/dist/web/assets/{jinja-B4krr1-l.js → jinja-BdSDD1Q-.js} +1 -1
  69. package/dist/web/assets/{jison-BMMSlNZQ.js → jison-CarYqmfq.js} +1 -1
  70. package/dist/web/assets/{journeyDiagram-JHISSGLW-lkcDMGR5.js → journeyDiagram-JHISSGLW-rDquyMpx.js} +1 -1
  71. package/dist/web/assets/{json-DXJMlo78.js → json-wCF8Ai7e.js} +1 -1
  72. package/dist/web/assets/{jsx-C_bl3hBI.js → jsx-Ct3LR2iE.js} +1 -1
  73. package/dist/web/assets/{julia-Sc_vYT5t.js → julia-Brh5r__6.js} +1 -1
  74. package/dist/web/assets/{just-CILkVz1n.js → just-CK9u7rV8.js} +1 -1
  75. package/dist/web/assets/{kanban-definition-UN3LZRKU-Bi_hSUym.js → kanban-definition-UN3LZRKU-DRY4BHuX.js} +1 -1
  76. package/dist/web/assets/{latex-DUmFelG8.js → latex-CnioxxTZ.js} +1 -1
  77. package/dist/web/assets/{linear-Dpnh4Vbv.js → linear-DdVYArrQ.js} +1 -1
  78. package/dist/web/assets/{liquid-BnB6JKD1.js → liquid-CWr27PHL.js} +1 -1
  79. package/dist/web/assets/{lua-DhxAQE0G.js → lua-BHz_f72B.js} +1 -1
  80. package/dist/web/assets/{marko-CyzzY1hm.js → marko-DYZOkg7A.js} +1 -1
  81. package/dist/web/assets/{mdc-BptK7sXI.js → mdc-a5KQMe4S.js} +1 -1
  82. package/dist/web/assets/mermaid-GHXKKRXX-DsECfWij.js +1 -0
  83. package/dist/web/assets/{mermaid-parser.core-DShH95hL.js → mermaid-parser.core-BAsHbYUQ.js} +2 -2
  84. package/dist/web/assets/{mindmap-definition-RKZ34NQL-LqYVQ-zW.js → mindmap-definition-RKZ34NQL-C1ndv4OX.js} +1 -1
  85. package/dist/web/assets/{nginx-CR9TIk16.js → nginx-DYjAek21.js} +1 -1
  86. package/dist/web/assets/{nim-DzWiwbcf.js → nim-BY3DE5rh.js} +1 -1
  87. package/dist/web/assets/packet-YPE3B663-C6X9xd7B.js +1 -0
  88. package/dist/web/assets/{perl-CgrDNBt5.js → perl-Q7rsz5p8.js} +1 -1
  89. package/dist/web/assets/{php-DtuJQDgr.js → php-wkLOOMEB.js} +1 -1
  90. package/dist/web/assets/pie-LRSECV5Y-B7m9jxWQ.js +1 -0
  91. package/dist/web/assets/{pieDiagram-4H26LBE5-B7_i9XPe.js → pieDiagram-4H26LBE5-hbmKZkAo.js} +1 -1
  92. package/dist/web/assets/{pug--9BJCC2D.js → pug-DBjGFTz6.js} +1 -1
  93. package/dist/web/assets/{qml-C3iH27Ik.js → qml-6JbnGGh-.js} +1 -1
  94. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-C2tSamWU.js → quadrantDiagram-W4KKPZXB-Ce3Tyy1v.js} +1 -1
  95. package/dist/web/assets/{r-CqKTpWRo.js → r-CpWosUkA.js} +1 -1
  96. package/dist/web/assets/radar-GUYGQ44K-CNV--1hE.js +1 -0
  97. package/dist/web/assets/{razor-BNavdAx6.js → razor-VaRLosil.js} +1 -1
  98. package/dist/web/assets/{regexp-zwVenqvj.js → regexp-BXX0dR0g.js} +1 -1
  99. package/dist/web/assets/{requirementDiagram-4Y6WPE33-iIbtgBoU.js → requirementDiagram-4Y6WPE33-BvuMdAA_.js} +1 -1
  100. package/dist/web/assets/{rst-BHNeA4na.js → rst-B5mAlZz_.js} +1 -1
  101. package/dist/web/assets/{ruby-CkHs-w2j.js → ruby-CuJVGKz0.js} +1 -1
  102. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-B05ECsV0.js → sankeyDiagram-5OEKKPKP-9vzIUX0R.js} +1 -1
  103. package/dist/web/assets/{sas-COQs-ItK.js → sas-CVzjXYMr.js} +1 -1
  104. package/dist/web/assets/{scss-DVsO7q0E.js → scss-WQpgeU5g.js} +1 -1
  105. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CHtmtTcK.js → sequenceDiagram-3UESZ5HK-q6rXjDsy.js} +1 -1
  106. package/dist/web/assets/{shellscript-DoNwQ9Oz.js → shellscript-CycmgFgs.js} +1 -1
  107. package/dist/web/assets/{shellsession-DvIRWuae.js → shellsession-CSmahWBB.js} +1 -1
  108. package/dist/web/assets/{soy--AEUdRNF.js → soy-E8MJKPgz.js} +1 -1
  109. package/dist/web/assets/{sql-BVv9DbTm.js → sql-ChzFHxMA.js} +1 -1
  110. package/dist/web/assets/{stata-Bzv07ePm.js → stata-D-Voeimj.js} +1 -1
  111. package/dist/web/assets/{stateDiagram-AJRCARHV-COllcCkO.js → stateDiagram-AJRCARHV-QkbVYicl.js} +1 -1
  112. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-CemwCoPd.js +1 -0
  113. package/dist/web/assets/{surrealql-ChG0u1_y.js → surrealql-CDreHe5D.js} +1 -1
  114. package/dist/web/assets/{svelte-CTk-krYk.js → svelte-UtC71yfS.js} +1 -1
  115. package/dist/web/assets/{templ-CIOvt0Gn.js → templ-DI5vQSP6.js} +1 -1
  116. package/dist/web/assets/{tex-BLbgub0O.js → tex-B1pg-O0j.js} +1 -1
  117. package/dist/web/assets/{timeline-definition-PNZ67QCA-Dj0aLVCY.js → timeline-definition-PNZ67QCA-hOb9CPgd.js} +1 -1
  118. package/dist/web/assets/treeView-BLDUP644-4kzz9e5T.js +1 -0
  119. package/dist/web/assets/treemap-LRROVOQU-CUGlq2kA.js +1 -0
  120. package/dist/web/assets/{ts-tags-Cjp84wCR.js → ts-tags-DDRBQd18.js} +1 -1
  121. package/dist/web/assets/{tsx-BYXwwi4R.js → tsx-BNOyqGp9.js} +1 -1
  122. package/dist/web/assets/{twig-CJXgadPB.js → twig-zClWYmrr.js} +1 -1
  123. package/dist/web/assets/{typescript-SkJO5gXX.js → typescript-Bywfx-vz.js} +1 -1
  124. package/dist/web/assets/{vennDiagram-CIIHVFJN-DotTRq6i.js → vennDiagram-CIIHVFJN-Cx7yBOK-.js} +1 -1
  125. package/dist/web/assets/{vue-DnNvWsLF.js → vue-Bp_voCJR.js} +1 -1
  126. package/dist/web/assets/{vue-html-BtDfjhCy.js → vue-html-C43GF5Id.js} +1 -1
  127. package/dist/web/assets/{vue-vine-87qc9dJ9.js → vue-vine-CSRbNOMz.js} +1 -1
  128. package/dist/web/assets/wardley-L42UT6IY-NTb3kln2.js +1 -0
  129. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-C4mIx6nt.js → wardleyDiagram-YWT4CUSO-Cwiuub7b.js} +1 -1
  130. package/dist/web/assets/{xml-BwxGZI3_.js → xml-rhD_p6eK.js} +1 -1
  131. package/dist/web/assets/{xsl-V11HisfD.js → xsl-B-H8kR_6.js} +1 -1
  132. package/dist/web/assets/{xychartDiagram-2RQKCTM6-CR2seeGg.js → xychartDiagram-2RQKCTM6-DAix_-GG.js} +1 -1
  133. package/dist/web/assets/{yaml-DoTdQeS-.js → yaml-CRIMWRGF.js} +1 -1
  134. package/dist/web/index.html +2 -2
  135. package/package.json +6 -1
  136. package/dist/web/assets/architecture-7EHR7CIX-D10X4FnP.js +0 -1
  137. package/dist/web/assets/channel-D4A7yvhc.js +0 -1
  138. package/dist/web/assets/chunk-QZHKN3VN-JoHxC1mG.js +0 -1
  139. package/dist/web/assets/classDiagram-4FO5ZUOK-D2XS2ai4.js +0 -1
  140. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-D2XS2ai4.js +0 -1
  141. package/dist/web/assets/eventmodeling-FCH6USID-CHKTnhfi.js +0 -1
  142. package/dist/web/assets/gitGraph-WXDBUCRP-aSGYLvSW.js +0 -1
  143. package/dist/web/assets/index-Cy3xCQ0m.css +0 -2
  144. package/dist/web/assets/info-J43DQDTF-C945CGZU.js +0 -1
  145. package/dist/web/assets/mermaid-GHXKKRXX-DOJ_Dro4.js +0 -1
  146. package/dist/web/assets/packet-YPE3B663-DuGIOCMW.js +0 -1
  147. package/dist/web/assets/pie-LRSECV5Y-BYeTdyfo.js +0 -1
  148. package/dist/web/assets/radar-GUYGQ44K-Cqw7n4df.js +0 -1
  149. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-D9SuEs4r.js +0 -1
  150. package/dist/web/assets/treeView-BLDUP644-Bsp-7xCN.js +0 -1
  151. package/dist/web/assets/treemap-LRROVOQU-BsTzhV2b.js +0 -1
  152. package/dist/web/assets/wardley-L42UT6IY-BtXwfgcx.js +0 -1
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ async function main(argv) {
15
15
  return;
16
16
  }
17
17
  if (options === "version") {
18
- console.log("0.1.9");
18
+ console.log("0.2.0");
19
19
  return;
20
20
  }
21
21
  const cliRoot = path.dirname(fileURLToPath(import.meta.url));
@@ -56675,7 +56675,7 @@ function elapsedWallTime(startedAt) {
56675
56675
  return Math.max(0, Math.round((performance.now() - startedAt) * 100) / 100);
56676
56676
  }
56677
56677
 
56678
- // ../core/src/agent/tools/cdn-guard.ts
56678
+ // ../core/src/agent/tools/tool-paths.ts
56679
56679
  import path2 from "node:path";
56680
56680
  async function readProjectWorkspaceFileIfExists(workspaceStore, projectId, relativePath) {
56681
56681
  try {
@@ -56724,7 +56724,11 @@ function createCopyFileToolDefinition() {
56724
56724
  projectId,
56725
56725
  normalizedSourcePath
56726
56726
  );
56727
- return workspaceStore.writeProjectWorkspaceFile(projectId, normalizedTargetPath, sourceContent);
56727
+ return workspaceStore.writeProjectWorkspaceFile(
56728
+ projectId,
56729
+ normalizedTargetPath,
56730
+ sourceContent
56731
+ );
56728
56732
  }
56729
56733
  };
56730
56734
  }
@@ -56830,14 +56834,32 @@ function createDeleteToolDefinition() {
56830
56834
  }
56831
56835
 
56832
56836
  // ../core/src/agent/tools/edit.ts
56837
+ var DESCRIPTION = [
56838
+ "Performs exact string replacements in Project Workspace files.",
56839
+ "",
56840
+ "Usage:",
56841
+ "- You must use the read tool before editing an existing file so you can match the current contents exactly.",
56842
+ "- The path parameter must be a relative file path inside the Project Workspace.",
56843
+ "- When editing text from read tool output, preserve the exact indentation after the line number prefix.",
56844
+ "- The line number prefix format is `<line>: `. Everything after that prefix is the actual file content to match.",
56845
+ "- Never include any part of the line number prefix in oldString or newString.",
56846
+ "- Prefer editing existing files. Only create new files when the user request explicitly requires it.",
56847
+ "- Only use emojis if the user explicitly requests them.",
56848
+ "- The edit will fail if oldString is not found in the file.",
56849
+ "- The edit will fail if oldString is found multiple times unless replaceAll is true.",
56850
+ "- Provide more surrounding context in oldString when you need to identify one specific match.",
56851
+ "- Use replaceAll for replacing or renaming every occurrence of a string across the file."
56852
+ ].join("\n");
56833
56853
  function createEditToolDefinition() {
56834
56854
  return {
56835
- description: "Edit one UTF-8 text file by replacing oldString with newString. By default oldString must occur exactly once; set replaceAll to replace every occurrence.",
56855
+ description: DESCRIPTION,
56836
56856
  inputSchema: external_exports.object({
56837
- newString: external_exports.string().describe("Replacement text."),
56838
- oldString: external_exports.string().describe("Text to replace."),
56839
- path: external_exports.string().describe("Relative file path inside the Project Workspace."),
56840
- replaceAll: external_exports.boolean().describe("Replace every occurrence of oldString instead of requiring exactly one match.").optional()
56857
+ newString: external_exports.string().describe("Replacement text. Must be different from oldString."),
56858
+ oldString: external_exports.string().describe("Exact text to replace from the current file contents."),
56859
+ path: external_exports.string().describe("Relative file path inside the Project Workspace to modify."),
56860
+ replaceAll: external_exports.boolean().describe(
56861
+ "Replace every occurrence of oldString instead of requiring exactly one match. Default false."
56862
+ ).optional()
56841
56863
  }).strict(),
56842
56864
  name: "edit",
56843
56865
  parallelSafe: false,
@@ -56846,12 +56868,24 @@ function createEditToolDefinition() {
56846
56868
  }
56847
56869
 
56848
56870
  // ../core/src/agent/tools/glob.ts
56871
+ var DESCRIPTION2 = [
56872
+ "- Fast file pattern matching tool for the current Project Workspace.",
56873
+ '- Supports glob patterns like "**/*.html" or "assets/*.{css,js}".',
56874
+ "- Returns matching Project Workspace relative file and directory paths.",
56875
+ "- Use this tool when you need to find files by name patterns.",
56876
+ "- The optional path parameter must be a relative directory path inside the Project Workspace.",
56877
+ "- You can call multiple read, glob, and grep tools in parallel when several searches are useful."
56878
+ ].join("\n");
56849
56879
  function createGlobToolDefinition() {
56850
56880
  return {
56851
- description: "Find files and directories in the current Project Workspace by glob pattern, sorted by most recently modified first.",
56881
+ description: DESCRIPTION2,
56852
56882
  inputSchema: external_exports.object({
56853
- path: external_exports.string().describe("Optional relative directory path inside the Project Workspace to search from.").optional(),
56854
- pattern: external_exports.string().describe('Glob pattern such as "**/*.html", "assets/*.{css,js}", or "index.html".')
56883
+ path: external_exports.string().describe(
56884
+ "Optional relative directory path inside the Project Workspace to search from. Omit this field to search from the workspace root."
56885
+ ).optional(),
56886
+ pattern: external_exports.string().describe(
56887
+ 'Glob pattern to match Project Workspace files against, such as "**/*.html", "assets/*.{css,js}", or "index.html".'
56888
+ )
56855
56889
  }).strict(),
56856
56890
  name: "glob",
56857
56891
  parallelSafe: true,
@@ -56862,15 +56896,26 @@ function createGlobToolDefinition() {
56862
56896
  }
56863
56897
 
56864
56898
  // ../core/src/agent/tools/grep.ts
56899
+ var DESCRIPTION3 = [
56900
+ "- Fast content search tool for UTF-8 text files in the current Project Workspace.",
56901
+ "- Searches file contents using JavaScript regular expressions.",
56902
+ '- Supports regex patterns such as "log.*Error" or "function\\s+\\w+".',
56903
+ '- Filter files by pattern with the include parameter, such as "*.html" or "**/*.{css,js}".',
56904
+ "- Returns Project Workspace relative file paths and line numbers with matching lines.",
56905
+ "- Use this tool when you need to find files containing specific patterns.",
56906
+ "- Use a more specific path or include pattern if the result is too broad or truncated."
56907
+ ].join("\n");
56865
56908
  function createGrepToolDefinition() {
56866
56909
  return {
56867
- description: "Search UTF-8 text files in the current Project Workspace using a JavaScript regular expression.",
56910
+ description: DESCRIPTION3,
56868
56911
  inputSchema: external_exports.object({
56869
- include: external_exports.string().describe('Optional file glob to include, such as "*.html" or "**/*.{css,js}".').optional(),
56912
+ include: external_exports.string().describe(
56913
+ 'Optional Project Workspace file glob to include, such as "*.html" or "**/*.{css,js}".'
56914
+ ).optional(),
56870
56915
  path: external_exports.string().describe(
56871
- "Optional relative file or directory path inside the Project Workspace to search."
56916
+ "Optional relative file or directory path inside the Project Workspace to search. Omit this field to search the workspace root."
56872
56917
  ).optional(),
56873
- pattern: external_exports.string().describe("JavaScript regular expression pattern to search for.")
56918
+ pattern: external_exports.string().describe("JavaScript regular expression pattern to search for in file contents.")
56874
56919
  }).strict(),
56875
56920
  name: "grep",
56876
56921
  parallelSafe: true,
@@ -56883,43 +56928,6 @@ function createGrepToolDefinition() {
56883
56928
  };
56884
56929
  }
56885
56930
 
56886
- // ../core/src/agent/tools/patch.ts
56887
- function createPatchToolDefinition() {
56888
- return {
56889
- description: "Apply coordinated UTF-8 file changes inside the current Project Workspace. Supports add/write, edit, and delete changes.",
56890
- inputSchema: external_exports.object({
56891
- changes: external_exports.array(
56892
- external_exports.discriminatedUnion("operation", [
56893
- external_exports.object({
56894
- content: external_exports.string().describe("Complete file content for add operations."),
56895
- operation: external_exports.literal("add"),
56896
- path: external_exports.string().describe("Relative file or directory path inside the Project Workspace.")
56897
- }).strict(),
56898
- external_exports.object({
56899
- content: external_exports.string().describe("Complete file content for write operations."),
56900
- operation: external_exports.literal("write"),
56901
- path: external_exports.string().describe("Relative file or directory path inside the Project Workspace.")
56902
- }).strict(),
56903
- external_exports.object({
56904
- newString: external_exports.string().describe("Replacement text for edit operations."),
56905
- oldString: external_exports.string().describe("Text to replace for edit operations."),
56906
- operation: external_exports.literal("edit"),
56907
- path: external_exports.string().describe("Relative file or directory path inside the Project Workspace."),
56908
- replaceAll: external_exports.boolean().describe("For edit operations, replace every occurrence of oldString.").optional()
56909
- }).strict(),
56910
- external_exports.object({
56911
- operation: external_exports.literal("delete"),
56912
- path: external_exports.string().describe("Relative file or directory path inside the Project Workspace.")
56913
- }).strict()
56914
- ])
56915
- ).min(1)
56916
- }).strict(),
56917
- name: "patch",
56918
- parallelSafe: false,
56919
- execute: async ({ changes }, { projectId, workspaceStore }) => workspaceStore.applyProjectWorkspacePatch(projectId, changes)
56920
- };
56921
- }
56922
-
56923
56931
  // ../core/src/realtime/frontend-command-bus.ts
56924
56932
  var KEEPALIVE_INTERVAL_MS = 15e3;
56925
56933
  var FrontendCommandBus = class {
@@ -57062,9 +57070,25 @@ function createPreviewRefreshToolDefinition() {
57062
57070
  }
57063
57071
 
57064
57072
  // ../core/src/agent/tools/read.ts
57073
+ var DESCRIPTION4 = [
57074
+ "Read a file or directory from the current Project Workspace. If the path does not exist, an error is returned.",
57075
+ "",
57076
+ "Usage:",
57077
+ "- The path parameter must be a relative file or directory path inside the Project Workspace.",
57078
+ "- By default, this tool returns up to 2000 lines or directory entries from the start of the target.",
57079
+ "- The offset parameter is the line number or directory-entry number to start from (1-indexed).",
57080
+ "- To read later sections, call this tool again with a larger offset.",
57081
+ "- Use the grep tool to find specific content in large files or files with long lines.",
57082
+ "- If you are unsure of the correct path, use the glob tool to look up filenames by glob pattern.",
57083
+ "- File contents are returned with each line prefixed by its line number as `<line>: <content>`.",
57084
+ "- Directory entries are returned as Project Workspace relative paths.",
57085
+ "- Long lines and large files may be truncated. Use offset and limit to inspect the needed section.",
57086
+ "- Call this tool in parallel when you know there are multiple files you want to read.",
57087
+ "- Avoid tiny repeated slices. If you need more context, read a larger window."
57088
+ ].join("\n");
57065
57089
  function createReadToolDefinition() {
57066
57090
  return {
57067
- description: "Read one UTF-8 file or directory from the current Project Workspace. Files are returned with 1-indexed line numbers.",
57091
+ description: DESCRIPTION4,
57068
57092
  inputSchema: external_exports.object({
57069
57093
  limit: external_exports.number().describe("Maximum number of lines or directory entries to read. Defaults to 2000.").optional(),
57070
57094
  offset: external_exports.number().describe(
@@ -57084,12 +57108,24 @@ function createReadToolDefinition() {
57084
57108
  }
57085
57109
 
57086
57110
  // ../core/src/agent/tools/write.ts
57111
+ var DESCRIPTION5 = [
57112
+ "Writes a file in the current Project Workspace.",
57113
+ "",
57114
+ "Usage:",
57115
+ "- This tool will overwrite the existing file if there is one at the provided path.",
57116
+ "- The path parameter must be a relative file path inside the Project Workspace.",
57117
+ "- If this is an existing file, you must use the read tool first to read the file contents.",
57118
+ "- Prefer editing existing files with the edit tool. Only write full files when intentional.",
57119
+ "- Do not use write to create the initial index.html; use createHtml first.",
57120
+ "- Never proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the user.",
57121
+ "- Only use emojis if the user explicitly requests them."
57122
+ ].join("\n");
57087
57123
  function createWriteToolDefinition() {
57088
57124
  return {
57089
- description: "Create or overwrite one UTF-8 text file in the current Project Workspace.",
57125
+ description: DESCRIPTION5,
57090
57126
  inputSchema: external_exports.object({
57091
- content: external_exports.string().describe("Complete UTF-8 text file content."),
57092
- path: external_exports.string().describe("Relative file path inside the Project Workspace.")
57127
+ content: external_exports.string().describe("Complete UTF-8 text file content to write."),
57128
+ path: external_exports.string().describe("Relative file path inside the Project Workspace to create or overwrite.")
57093
57129
  }).strict(),
57094
57130
  name: "write",
57095
57131
  parallelSafe: false,
@@ -57106,7 +57142,6 @@ function createProjectWorkspaceToolDefinitions() {
57106
57142
  createEditToolDefinition(),
57107
57143
  createGlobToolDefinition(),
57108
57144
  createGrepToolDefinition(),
57109
- createPatchToolDefinition(),
57110
57145
  createPreviewRefreshToolDefinition(),
57111
57146
  createReadToolDefinition(),
57112
57147
  createWriteToolDefinition()
@@ -57175,7 +57210,7 @@ function buildFrontendCapabilityPrompt() {
57175
57210
  }
57176
57211
 
57177
57212
  // ../core/src/agent/design-page-agent.ts
57178
- var DESIGN_PAGE_AGENT_PROMPT_VERSION = 1;
57213
+ var DESIGN_PAGE_AGENT_PROMPT_VERSION = 2;
57179
57214
  var AiSdkDesignPageAgent = class {
57180
57215
  constructor(workspaceStore) {
57181
57216
  this.workspaceStore = workspaceStore;
@@ -57246,7 +57281,6 @@ function createDesignPageAgent(context2) {
57246
57281
  function createDesignPageWorkspaceTools(context2) {
57247
57282
  const { frontendTabId, projectId, resources, workspaceStore } = context2;
57248
57283
  return createWorkspaceToolRegistry(createProjectWorkspaceToolDefinitions(), {
57249
- approvedCdnUrls: buildApprovedCdnUrls(resources),
57250
57284
  frontendTabId,
57251
57285
  model: context2.model,
57252
57286
  projectId,
@@ -57383,7 +57417,6 @@ function buildToolWorkflowPrompt() {
57383
57417
  "Choose tools by intent:",
57384
57418
  "- Use `createHtml` only to create a missing `index.html` file.",
57385
57419
  "- Use `edit` for small, focused replacements in one existing file.",
57386
- "- Use `patch` for coordinated changes or repeated replacements.",
57387
57420
  "- Use `write` only for deliberate full-file replacement of `index.html`.",
57388
57421
  "- Do not use `write` to create the initial `index.html`; use `createHtml` first.",
57389
57422
  "- Use `copyFile` only when the current user message explicitly asks you to duplicate an existing file.",
@@ -57394,7 +57427,8 @@ function buildToolWorkflowPrompt() {
57394
57427
  "- When `index.html` exists, read it before editing and do not call `createHtml`.",
57395
57428
  "",
57396
57429
  "Recover from tool failures:",
57397
- "- If an edit fails, read the file again and retry with a smaller edit or patch.",
57430
+ "- If an edit fails, read the file again and retry with a smaller, exact edit.",
57431
+ "- If repeated focused edits would be more fragile than replacing the file, use `write` for an intentional full-file replacement.",
57398
57432
  "- If a generated prototype becomes too large or brittle, simplify the file while preserving visible quality."
57399
57433
  ].join("\n");
57400
57434
  }
@@ -57426,12 +57460,6 @@ function buildResourcePolicyPrompt(resources) {
57426
57460
  "Use regular inline CSS as the primary styling method."
57427
57461
  ].join("\n");
57428
57462
  }
57429
- function buildApprovedCdnUrls(resources) {
57430
- return [
57431
- ...resources.fontLibraries.map((library) => library.cdn),
57432
- ...resources.iconLibraries.map((library) => library.cdn)
57433
- ].map((url2) => url2.trim()).filter(Boolean);
57434
- }
57435
57463
  function getDefaultResourceLibrary(libraries) {
57436
57464
  return libraries.find((library) => library.isDefault) ?? libraries[0];
57437
57465
  }
@@ -60273,6 +60301,7 @@ function createOwnDesignApp(options = {}) {
60273
60301
  agentContext.agentInstructions = conversation.agentInstructions;
60274
60302
  const agent = createDesignPageAgent(agentContext);
60275
60303
  let latestStepUsage;
60304
+ const runStartedAt = (/* @__PURE__ */ new Date()).toISOString();
60276
60305
  const run = chatRunManager.startRun({
60277
60306
  conversationId,
60278
60307
  createStream: async (abortSignal) => {
@@ -60291,18 +60320,27 @@ function createOwnDesignApp(options = {}) {
60291
60320
  latestStepUsage = step.usage;
60292
60321
  },
60293
60322
  messageMetadata: ({ part }) => {
60294
- if (part.type !== "finish" || !latestStepUsage) {
60323
+ if (part.type !== "finish") {
60295
60324
  return void 0;
60296
60325
  }
60297
- return {
60298
- contextUsage: {
60326
+ const completedAt = (/* @__PURE__ */ new Date()).toISOString();
60327
+ const metadata = {
60328
+ taskTiming: {
60329
+ completedAt,
60330
+ elapsedMs: Math.max(0, Date.parse(completedAt) - Date.parse(runStartedAt)),
60331
+ startedAt: runStartedAt
60332
+ }
60333
+ };
60334
+ if (latestStepUsage) {
60335
+ metadata.contextUsage = {
60299
60336
  inputTokens: latestStepUsage.inputTokens,
60300
60337
  outputTokens: latestStepUsage.outputTokens,
60301
60338
  totalTokens: latestStepUsage.totalTokens,
60302
60339
  reasoningTokens: latestStepUsage.outputTokenDetails?.reasoningTokens ?? latestStepUsage.reasoningTokens,
60303
60340
  cachedInputTokens: latestStepUsage.inputTokenDetails?.cacheReadTokens ?? latestStepUsage.cachedInputTokens
60304
- }
60305
- };
60341
+ };
60342
+ }
60343
+ return metadata;
60306
60344
  },
60307
60345
  onError: (error51) => error51 instanceof Error ? `\u751F\u6210\u5931\u8D25\uFF1A${error51.message}` : "\u751F\u6210\u5931\u8D25\uFF1AUnknown error"
60308
60346
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  You are a read-only design consistency auditor for OwnDesign HTML workspaces.
4
4
  Inspect the final workspace state after the main design agent finishes a user task.
5
- Use only read, glob, and grep tools. Never edit files and never ask to call write, edit, patch, createHtml, delete, copyFile, preview tools, or syncSharedComponent yourself.
5
+ Use only read, glob, and grep tools. Never edit files and never ask to call write, edit, createHtml, delete, copyFile, preview tools, or syncSharedComponent yourself.
6
6
 
7
7
  Return JSON only with this shape:
8
8
  {"passed": boolean, "findings": [{"type": string, "severity": "high" | "medium" | "low", "message": string, "path"?: string, "recommendedAction"?: string}], "summary": string}
@@ -1 +1 @@
1
- import{Bn as e}from"./index-Ai406YO8.js";import{t}from"./html-Cst8cPsk.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};
1
+ import{Bn as e}from"./index-DlSOjemg.js";import{t}from"./html-D8D_RndX.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};