owndesign 0.3.0 → 0.3.1

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 +64 -173
  3. package/dist/web/assets/{angular-html-lxSCvhwL.js → angular-html-BdqUTOSr.js} +1 -1
  4. package/dist/web/assets/{angular-ts-9o8VjWJ-.js → angular-ts-CHVPl0K2.js} +1 -1
  5. package/dist/web/assets/{apl-DuLaPdsd.js → apl-Cdj8xhOr.js} +1 -1
  6. package/dist/web/assets/{arc-CjGPEYrp.js → arc-CQzLFt8P.js} +1 -1
  7. package/dist/web/assets/architecture-7EHR7CIX-D_1q3iHJ.js +1 -0
  8. package/dist/web/assets/{architectureDiagram-3BPJPVTR-DXUCjZTp.js → architectureDiagram-3BPJPVTR-DQRev6P0.js} +1 -1
  9. package/dist/web/assets/{astro-BLEByV-M.js → astro-CqvP6Sm9.js} +1 -1
  10. package/dist/web/assets/{blade-r5Qq9yG3.js → blade-AHcrF7FJ.js} +1 -1
  11. package/dist/web/assets/{blockDiagram-GPEHLZMM-szUpP9rJ.js → blockDiagram-GPEHLZMM-wWr1jqbH.js} +1 -1
  12. package/dist/web/assets/{c-CzQsHsw4.js → c-L6BASEY4.js} +1 -1
  13. package/dist/web/assets/{c4Diagram-AAUBKEIU-sGWxqwi0.js → c4Diagram-AAUBKEIU-QcoxyP1-.js} +1 -1
  14. package/dist/web/assets/channel-CKLAyPXF.js +1 -0
  15. package/dist/web/assets/{chunk-2J33WTMH-CqdFceta.js → chunk-2J33WTMH-Rt8Y9qQM.js} +1 -1
  16. package/dist/web/assets/{chunk-4BX2VUAB-I1UxlQnz.js → chunk-4BX2VUAB-DgnUshBl.js} +1 -1
  17. package/dist/web/assets/{chunk-55IACEB6-CwvstDc-.js → chunk-55IACEB6-C4VtZ0S1.js} +1 -1
  18. package/dist/web/assets/{chunk-727SXJPM-0_NekkrO.js → chunk-727SXJPM-pX8vxQBM.js} +1 -1
  19. package/dist/web/assets/{chunk-AQP2D5EJ-BiHMFa1g.js → chunk-AQP2D5EJ-CtASt0uL.js} +1 -1
  20. package/dist/web/assets/{chunk-FMBD7UC4-js8HpZNA.js → chunk-FMBD7UC4-AYbdnBZ-.js} +1 -1
  21. package/dist/web/assets/{chunk-ND2GUHAM-Czpg14g1.js → chunk-ND2GUHAM-Bi2LmhY7.js} +1 -1
  22. package/dist/web/assets/chunk-QZHKN3VN-_jfeFdsU.js +1 -0
  23. package/dist/web/assets/classDiagram-4FO5ZUOK-CPA3GyTp.js +1 -0
  24. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CPA3GyTp.js +1 -0
  25. package/dist/web/assets/{cobol-CO945rlT.js → cobol-2mv2h2I-.js} +1 -1
  26. package/dist/web/assets/{coffee-DR5URqlg.js → coffee-WyF-3t43.js} +1 -1
  27. package/dist/web/assets/{cose-bilkent-S5V4N54A-DSZLYll7.js → cose-bilkent-S5V4N54A-DM6dd-q1.js} +1 -1
  28. package/dist/web/assets/{cpp-DJsg-1jS.js → cpp-CAEbN4Ya.js} +1 -1
  29. package/dist/web/assets/{crystal-Cpiu5DT-.js → crystal-DyRNEnWF.js} +1 -1
  30. package/dist/web/assets/{css-BvfiII1w.js → css-CG0mYlL5.js} +1 -1
  31. package/dist/web/assets/{dagre-BM42HDAG-CjJdbFCi.js → dagre-BM42HDAG-D_NqzEVm.js} +1 -1
  32. package/dist/web/assets/{diagram-2AECGRRQ-JYvMW6LE.js → diagram-2AECGRRQ-Bgm-_Eko.js} +1 -1
  33. package/dist/web/assets/{diagram-5GNKFQAL-6XKjuAuS.js → diagram-5GNKFQAL-C_9mv9Qd.js} +1 -1
  34. package/dist/web/assets/{diagram-KO2AKTUF-BK3rNdGB.js → diagram-KO2AKTUF-BHQT9JgD.js} +1 -1
  35. package/dist/web/assets/{diagram-LMA3HP47-DlPAqEVU.js → diagram-LMA3HP47-B48NzL_Q.js} +1 -1
  36. package/dist/web/assets/{diagram-OG6HWLK6-0Pced80T.js → diagram-OG6HWLK6-DKk01CLS.js} +1 -1
  37. package/dist/web/assets/{edge-p1gAtDPm.js → edge-WFDIDqY1.js} +1 -1
  38. package/dist/web/assets/{elixir-BT6-A55A.js → elixir-CP1ajsZR.js} +1 -1
  39. package/dist/web/assets/{elm-C0lI6FJm.js → elm-oora7HJE.js} +1 -1
  40. package/dist/web/assets/{erDiagram-TEJ5UH35-BpVBPFfw.js → erDiagram-TEJ5UH35-ClLJSrwL.js} +1 -1
  41. package/dist/web/assets/{erb-kUlX6b6S.js → erb-DpZNjJ9_.js} +1 -1
  42. package/dist/web/assets/eventmodeling-FCH6USID-1ivGez78.js +1 -0
  43. package/dist/web/assets/{flowDiagram-I6XJVG4X-CatDP1yZ.js → flowDiagram-I6XJVG4X-m1zK1OOI.js} +1 -1
  44. package/dist/web/assets/{ganttDiagram-6RSMTGT7-OvSsoSR1.js → ganttDiagram-6RSMTGT7-R7B6FFxw.js} +1 -1
  45. package/dist/web/assets/{git-rebase-yqFdSVIN.js → git-rebase-Dg9skXJz.js} +1 -1
  46. package/dist/web/assets/gitGraph-WXDBUCRP-Dpi4pm_y.js +1 -0
  47. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DOWtAnoh.js → gitGraphDiagram-PVQCEYII-rvpKbkxm.js} +1 -1
  48. package/dist/web/assets/{glimmer-js-D0UD9rcE.js → glimmer-js-BM1sc5ia.js} +1 -1
  49. package/dist/web/assets/{glimmer-ts-DUheOO_R.js → glimmer-ts-BJ5aeU1p.js} +1 -1
  50. package/dist/web/assets/{glsl-CKLYL0E0.js → glsl-DAXCJ1Bs.js} +1 -1
  51. package/dist/web/assets/{graphql-WoIjRaKW.js → graphql-_HTUmoJJ.js} +1 -1
  52. package/dist/web/assets/{hack-B81_I6v1.js → hack-Bbw_IBNu.js} +1 -1
  53. package/dist/web/assets/{haml-BGP9aNzI.js → haml-BElCN2ig.js} +1 -1
  54. package/dist/web/assets/{handlebars-COAB2Q5J.js → handlebars-PfBBM4Ul.js} +1 -1
  55. package/dist/web/assets/{highlighted-body-OFNGDK62-BJGO2ESA.js → highlighted-body-OFNGDK62-B7shmJas.js} +1 -1
  56. package/dist/web/assets/{html-DOBY_OMj.js → html-BF5zzurH.js} +1 -1
  57. package/dist/web/assets/{html-derivative-BS49r9Go.js → html-derivative-oPCMAlhR.js} +1 -1
  58. package/dist/web/assets/{http-DeF9uCGR.js → http-B3FNtPG9.js} +1 -1
  59. package/dist/web/assets/{hurl-TEKOd5S2.js → hurl-Dp2M6dIg.js} +1 -1
  60. package/dist/web/assets/index-YSa89xAk.js +977 -0
  61. package/dist/web/assets/index-qzT4Spui.css +2 -0
  62. package/dist/web/assets/info-J43DQDTF-CCIIC-lT.js +1 -0
  63. package/dist/web/assets/{infoDiagram-5YYISTIA-A6NZdqqr.js → infoDiagram-5YYISTIA-DUiIIzSJ.js} +1 -1
  64. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-DSGUVJWc.js → ishikawaDiagram-YF4QCWOH-BDoM1IJ1.js} +1 -1
  65. package/dist/web/assets/{java-BLrckjg2.js → java-D8VYPdmO.js} +1 -1
  66. package/dist/web/assets/{javascript-ssJ9SNc3.js → javascript-8l7nZMBo.js} +1 -1
  67. package/dist/web/assets/{jinja-DF3ACZGF.js → jinja-CTV42GN6.js} +1 -1
  68. package/dist/web/assets/{jison-9yBqOy3u.js → jison-DOEd3yQu.js} +1 -1
  69. package/dist/web/assets/{journeyDiagram-JHISSGLW-DmKkMGZ2.js → journeyDiagram-JHISSGLW-o_K8r6Fc.js} +1 -1
  70. package/dist/web/assets/{json-DfJ4qO82.js → json-BJP4ONN0.js} +1 -1
  71. package/dist/web/assets/{jsx-CK-Q2qYF.js → jsx-kpZBrH4w.js} +1 -1
  72. package/dist/web/assets/{julia-BmFjT6_n.js → julia-H9ccs9iA.js} +1 -1
  73. package/dist/web/assets/{just-CiOlx5Ph.js → just-hj2UAEFQ.js} +1 -1
  74. package/dist/web/assets/{kanban-definition-UN3LZRKU-DQWJpaEQ.js → kanban-definition-UN3LZRKU-QwMAKT_f.js} +1 -1
  75. package/dist/web/assets/{latex-CMdEB67N.js → latex-CyO33iPb.js} +1 -1
  76. package/dist/web/assets/{linear-CbdXFXyj.js → linear-o7e5jEgw.js} +1 -1
  77. package/dist/web/assets/{liquid-DKqpNl0q.js → liquid-_mek6fOE.js} +1 -1
  78. package/dist/web/assets/{lua-Baadel1U.js → lua-C2DhJyVI.js} +1 -1
  79. package/dist/web/assets/{marko-Q6JAVvxB.js → marko-CZEiD-NB.js} +1 -1
  80. package/dist/web/assets/{mdc-BghotbDO.js → mdc-A90dq1MH.js} +1 -1
  81. package/dist/web/assets/mermaid-GHXKKRXX-BHX3ego2.js +1 -0
  82. package/dist/web/assets/{mermaid-parser.core-CmFBgrUR.js → mermaid-parser.core-CwzV1M_V.js} +2 -2
  83. package/dist/web/assets/{mindmap-definition-RKZ34NQL-DwyFXWnl.js → mindmap-definition-RKZ34NQL-BMri-V6y.js} +1 -1
  84. package/dist/web/assets/{nginx-olXc_Opl.js → nginx-DOMnJ23j.js} +1 -1
  85. package/dist/web/assets/{nim-BdObeQj2.js → nim-zbR5LDAV.js} +1 -1
  86. package/dist/web/assets/packet-YPE3B663-ByXdjZNB.js +1 -0
  87. package/dist/web/assets/{perl-BDeQ9lt1.js → perl-DdSkRoeE.js} +1 -1
  88. package/dist/web/assets/{php-BXbyZSzy.js → php-BpQLZPHO.js} +1 -1
  89. package/dist/web/assets/pie-LRSECV5Y-B4cm_9Re.js +1 -0
  90. package/dist/web/assets/{pieDiagram-4H26LBE5-DvZXSYlE.js → pieDiagram-4H26LBE5-DFad80u4.js} +1 -1
  91. package/dist/web/assets/{pug-BS3j9KKR.js → pug-C_fdPtH-.js} +1 -1
  92. package/dist/web/assets/{qml-CGzTxrPg.js → qml-CNXBf8kx.js} +1 -1
  93. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-DHSOfQDh.js → quadrantDiagram-W4KKPZXB-CXH7Ps0K.js} +1 -1
  94. package/dist/web/assets/{r-FBfLPkFQ.js → r-BCVwx55G.js} +1 -1
  95. package/dist/web/assets/radar-GUYGQ44K-BfTLimWm.js +1 -0
  96. package/dist/web/assets/{razor-CNrTMVrl.js → razor-4UnzbliN.js} +1 -1
  97. package/dist/web/assets/{regexp-CzgXjeSd.js → regexp-Cx44IXhZ.js} +1 -1
  98. package/dist/web/assets/{requirementDiagram-4Y6WPE33-B5wcv6Wh.js → requirementDiagram-4Y6WPE33-jgMAzOs_.js} +1 -1
  99. package/dist/web/assets/{rst-CkjxTdXx.js → rst-BQ98T0pl.js} +1 -1
  100. package/dist/web/assets/{ruby-By72S_XS.js → ruby-CQe2_1Mx.js} +1 -1
  101. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-Dyg9t31Q.js → sankeyDiagram-5OEKKPKP-D_3RedGH.js} +1 -1
  102. package/dist/web/assets/{sas-CrLLYGxO.js → sas-Df1AewjZ.js} +1 -1
  103. package/dist/web/assets/{scss-DXUucmC3.js → scss-Mnube1Aq.js} +1 -1
  104. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-D0oklOHI.js → sequenceDiagram-3UESZ5HK-C1836wpQ.js} +1 -1
  105. package/dist/web/assets/{shellscript-BLhatR0O.js → shellscript-CDszjMg6.js} +1 -1
  106. package/dist/web/assets/{shellsession-C3Grq5vB.js → shellsession-CnjHVqYh.js} +1 -1
  107. package/dist/web/assets/{soy-BvIYKLmE.js → soy-B5asYSZT.js} +1 -1
  108. package/dist/web/assets/{sql-C-6VgHu3.js → sql-BFrC3Vi5.js} +1 -1
  109. package/dist/web/assets/{stata-Lq9YpmVS.js → stata-KlFU2EjN.js} +1 -1
  110. package/dist/web/assets/{stateDiagram-AJRCARHV-CbPfq-ek.js → stateDiagram-AJRCARHV-S48Ai71o.js} +1 -1
  111. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-bf5jD_zW.js +1 -0
  112. package/dist/web/assets/{surrealql-CUpfqFyA.js → surrealql-rIRDXr_v.js} +1 -1
  113. package/dist/web/assets/{svelte-aaHw--ao.js → svelte-BQftzg5X.js} +1 -1
  114. package/dist/web/assets/{templ-B6ttvTvV.js → templ-DfQQPqaN.js} +1 -1
  115. package/dist/web/assets/{tex-IjkKlmjr.js → tex-8LsiEF9g.js} +1 -1
  116. package/dist/web/assets/{timeline-definition-PNZ67QCA-b_m82sMF.js → timeline-definition-PNZ67QCA-C9H3XLfz.js} +1 -1
  117. package/dist/web/assets/treeView-BLDUP644-mOvRjQhT.js +1 -0
  118. package/dist/web/assets/treemap-LRROVOQU--QiNmmi5.js +1 -0
  119. package/dist/web/assets/{ts-tags-DiNwcqaK.js → ts-tags-i6Dbvl26.js} +1 -1
  120. package/dist/web/assets/{tsx-DNvcRt2N.js → tsx-BMATElFg.js} +1 -1
  121. package/dist/web/assets/{twig-BiWBTrZ5.js → twig-Cy6dMspl.js} +1 -1
  122. package/dist/web/assets/{typescript-B2a9v7eN.js → typescript-BMNfloOQ.js} +1 -1
  123. package/dist/web/assets/{vennDiagram-CIIHVFJN-DBWygoiI.js → vennDiagram-CIIHVFJN-DGW7CatZ.js} +1 -1
  124. package/dist/web/assets/{vue-DQABsf--.js → vue-DRQ1Vnbf.js} +1 -1
  125. package/dist/web/assets/{vue-html-ft-vQ2lC.js → vue-html-BbCBEXlS.js} +1 -1
  126. package/dist/web/assets/{vue-vine-CdovOaJw.js → vue-vine-CgyY7JdC.js} +1 -1
  127. package/dist/web/assets/wardley-L42UT6IY-CX5eMTMw.js +1 -0
  128. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-CaXIM5p_.js → wardleyDiagram-YWT4CUSO-DCGzfbps.js} +1 -1
  129. package/dist/web/assets/{xml-BF0Lyn0J.js → xml-95qkb9yN.js} +1 -1
  130. package/dist/web/assets/{xsl-CYDKiNV0.js → xsl-D6gyo8CK.js} +1 -1
  131. package/dist/web/assets/{xychartDiagram-2RQKCTM6-DM4HA_fE.js → xychartDiagram-2RQKCTM6-YEjKJtlZ.js} +1 -1
  132. package/dist/web/assets/{yaml-BzwVxm9L.js → yaml-KYdypczj.js} +1 -1
  133. package/dist/web/index.html +2 -2
  134. package/package.json +1 -1
  135. package/dist/web/assets/architecture-7EHR7CIX-BDvFsvWB.js +0 -1
  136. package/dist/web/assets/channel-yL53-SgV.js +0 -1
  137. package/dist/web/assets/chunk-QZHKN3VN-CkNcXM2b.js +0 -1
  138. package/dist/web/assets/classDiagram-4FO5ZUOK-C_kxQ6P_.js +0 -1
  139. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-C_kxQ6P_.js +0 -1
  140. package/dist/web/assets/eventmodeling-FCH6USID-DvBFFU4g.js +0 -1
  141. package/dist/web/assets/gitGraph-WXDBUCRP-8ssz__QZ.js +0 -1
  142. package/dist/web/assets/index-Cq__lNgb.js +0 -977
  143. package/dist/web/assets/index-qc4m8KkF.css +0 -2
  144. package/dist/web/assets/info-J43DQDTF-Bk2BMRfI.js +0 -1
  145. package/dist/web/assets/mermaid-GHXKKRXX-DX2Vms3c.js +0 -1
  146. package/dist/web/assets/packet-YPE3B663-BYyg9wJW.js +0 -1
  147. package/dist/web/assets/pie-LRSECV5Y-DYk0KvX0.js +0 -1
  148. package/dist/web/assets/radar-GUYGQ44K-wSXHBdlE.js +0 -1
  149. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DYjRcQ9g.js +0 -1
  150. package/dist/web/assets/treeView-BLDUP644-CIwaftey.js +0 -1
  151. package/dist/web/assets/treemap-LRROVOQU-ix98cTe2.js +0 -1
  152. package/dist/web/assets/wardley-L42UT6IY-2IOBMKyh.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.3.0");
18
+ console.log("0.3.1");
19
19
  return;
20
20
  }
21
21
  const cliRoot = path.dirname(fileURLToPath(import.meta.url));
@@ -57332,7 +57332,6 @@ var AiSdkDesignPageAgent = class {
57332
57332
  }
57333
57333
  };
57334
57334
  async function createDesignPageAgentContext({
57335
- currentPreviewPath,
57336
57335
  frontendTabId,
57337
57336
  modelConfigurationId,
57338
57337
  outputType,
@@ -57352,7 +57351,6 @@ async function createDesignPageAgentContext({
57352
57351
  settingsService.resolveModelConfiguration(modelConfigurationId)
57353
57352
  ]);
57354
57353
  return {
57355
- currentPreviewPath,
57356
57354
  frontendTabId,
57357
57355
  model: buildLanguageModel(modelConfiguration),
57358
57356
  projectType,
@@ -57601,29 +57599,20 @@ var PreviewServerManager = class {
57601
57599
  this.now = options.now ?? Date.now;
57602
57600
  this.workspaceStore = options.workspaceStore;
57603
57601
  }
57604
- async ensure(projectId, clientId, previewPath) {
57602
+ async ensure(projectId, clientId) {
57605
57603
  const entry = await this.getOrStartEntry(projectId, clientId);
57606
- const [files, pageManifest] = await Promise.all([
57607
- this.workspaceStore.listProjectHtmlFiles(projectId),
57608
- this.workspaceStore.readProjectHtmlPageManifest(projectId)
57609
- ]);
57610
- const activePath = resolveActivePreviewPath(
57611
- files,
57612
- pageManifest,
57613
- previewPath ?? entry.activePath
57604
+ const previewFileExists = await indexHtmlExists(
57605
+ this.workspaceStore.getProjectWorkspaceDirectory(projectId)
57614
57606
  );
57615
- entry.activePath = activePath;
57616
57607
  this.touchLease(entry);
57617
57608
  this.ensureCleanupTimer();
57618
57609
  return {
57619
- ...activePath ? { activePath } : {},
57620
- files,
57621
- pageManifest,
57622
- url: buildPreviewUrl(entry.baseUrl, activePath)
57610
+ previewFileExists,
57611
+ ...previewFileExists ? { url: buildPreviewUrl(entry.baseUrl) } : {}
57623
57612
  };
57624
57613
  }
57625
- async heartbeat(projectId, clientId, previewPath) {
57626
- return this.ensure(projectId, clientId, previewPath);
57614
+ async heartbeat(projectId, clientId) {
57615
+ return this.ensure(projectId, clientId);
57627
57616
  }
57628
57617
  async release(projectId, clientId) {
57629
57618
  const entry = this.entries.get(buildEntryKey(projectId, clientId));
@@ -57692,18 +57681,26 @@ var PreviewServerManager = class {
57692
57681
  key,
57693
57682
  projectId
57694
57683
  };
57695
- app2.get("/", async () => readIndexHtmlOrNotFound(workspaceDirectory, entry));
57696
- app2.get("/index.html", async () => readIndexHtmlOrNotFound(workspaceDirectory, entry));
57684
+ app2.get("/", async () => readIndexHtmlOrNotFound(workspaceDirectory));
57685
+ app2.get("/index.html", async () => readIndexHtmlOrNotFound(workspaceDirectory));
57697
57686
  app2.use("*", async (context2, next) => {
57698
57687
  context2.header("Cache-Control", PREVIEW_CACHE_CONTROL);
57699
57688
  await next();
57700
57689
  });
57690
+ app2.use("*", async (context2, next) => {
57691
+ if (context2.req.path.toLowerCase().endsWith(".html")) {
57692
+ return new Response(null, {
57693
+ headers: {
57694
+ "Cache-Control": PREVIEW_CACHE_CONTROL
57695
+ },
57696
+ status: 404
57697
+ });
57698
+ }
57699
+ await next();
57700
+ });
57701
57701
  app2.use(
57702
57702
  "*",
57703
57703
  serveStatic({
57704
- onFound: (filePath) => {
57705
- recordServedStaticPath(entry, workspaceDirectory, filePath);
57706
- },
57707
57704
  root: workspaceDirectory
57708
57705
  })
57709
57706
  );
@@ -57785,11 +57782,10 @@ function getPreviewServerManager(workspaceStore) {
57785
57782
  });
57786
57783
  return globalThis.__owndesignPreviewServerManager;
57787
57784
  }
57788
- async function readIndexHtmlOrNotFound(workspaceDirectory, entry) {
57785
+ async function readIndexHtmlOrNotFound(workspaceDirectory) {
57789
57786
  const indexPath = path4.join(workspaceDirectory, "index.html");
57790
57787
  try {
57791
57788
  await access(indexPath);
57792
- entry.activePath = "index.html";
57793
57789
  return htmlResponse(await readFile2(indexPath, "utf8"));
57794
57790
  } catch {
57795
57791
  return new Response(null, {
@@ -57800,56 +57796,29 @@ async function readIndexHtmlOrNotFound(workspaceDirectory, entry) {
57800
57796
  });
57801
57797
  }
57802
57798
  }
57803
- function resolveActivePreviewPath(files, pageManifest, previewPath) {
57804
- if (previewPath && files.includes(previewPath)) {
57805
- return previewPath;
57806
- }
57807
- if (files.includes("index.html")) {
57808
- return "index.html";
57809
- }
57810
- const manifestPath = pageManifest.pages.find((page) => files.includes(page.htmlPath))?.htmlPath;
57811
- if (manifestPath) {
57812
- return manifestPath;
57799
+ async function indexHtmlExists(workspaceDirectory) {
57800
+ try {
57801
+ await access(path4.join(workspaceDirectory, "index.html"));
57802
+ return true;
57803
+ } catch {
57804
+ return false;
57813
57805
  }
57814
- return files[0];
57815
57806
  }
57816
- function buildPreviewUrl(baseUrl, previewPath) {
57817
- if (!previewPath) {
57818
- return baseUrl;
57819
- }
57820
- return `${baseUrl}/${previewPath.split("/").map(encodeURIComponent).join("/")}`;
57807
+ function buildPreviewUrl(baseUrl) {
57808
+ return `${baseUrl}/index.html`;
57821
57809
  }
57822
57810
  function buildEntryKey(projectId, clientId) {
57823
57811
  return `${projectId}:${clientId}`;
57824
57812
  }
57825
- function recordServedHtmlPath(entry, workspaceDirectory, filePath) {
57826
- if (!filePath.toLowerCase().endsWith(".html")) {
57827
- return;
57828
- }
57829
- const relativePath = path4.relative(workspaceDirectory, filePath).split(path4.sep).join("/");
57830
- if (!relativePath || relativePath.startsWith("..")) {
57831
- return;
57832
- }
57833
- entry.activePath = relativePath;
57834
- }
57835
- function recordServedStaticPath(entry, workspaceDirectory, servedPath) {
57836
- const filePath = path4.isAbsolute(servedPath) ? servedPath : path4.join(workspaceDirectory, servedPath.replace(/^[/\\]+/, ""));
57837
- recordServedHtmlPath(entry, workspaceDirectory, filePath);
57838
- }
57839
57813
 
57840
57814
  // ../core/src/navigation.ts
57841
- function buildWorkspaceHref({ conversationId, previewPath, projectId }) {
57815
+ function buildWorkspaceHref({ conversationId, projectId }) {
57842
57816
  if (!projectId) {
57843
57817
  return "/";
57844
57818
  }
57845
- const pathname = conversationId ? `/projects/${encodeURIComponent(projectId)}/conversations/${encodeURIComponent(
57819
+ return conversationId ? `/projects/${encodeURIComponent(projectId)}/conversations/${encodeURIComponent(
57846
57820
  conversationId
57847
57821
  )}` : `/projects/${encodeURIComponent(projectId)}`;
57848
- if (!previewPath) {
57849
- return pathname;
57850
- }
57851
- const params = new URLSearchParams({ previewPath });
57852
- return `${pathname}?${params.toString()}`;
57853
57822
  }
57854
57823
 
57855
57824
  // ../core/src/conversations/conversation-service.ts
@@ -58103,39 +58072,6 @@ import os5 from "node:os";
58103
58072
  import path12 from "node:path";
58104
58073
  import process12 from "node:process";
58105
58074
 
58106
- // ../core/src/html-page-manifest.ts
58107
- var HTML_PAGE_MANIFEST_PATH = ".owndesign-pages.json";
58108
- var EMPTY_HTML_PAGE_MANIFEST = {
58109
- pages: []
58110
- };
58111
- function parseHtmlPageManifest(content) {
58112
- if (!content) {
58113
- return EMPTY_HTML_PAGE_MANIFEST;
58114
- }
58115
- let value;
58116
- try {
58117
- value = JSON.parse(content);
58118
- } catch {
58119
- return EMPTY_HTML_PAGE_MANIFEST;
58120
- }
58121
- if (!isRecord2(value) || !Array.isArray(value.pages)) {
58122
- return EMPTY_HTML_PAGE_MANIFEST;
58123
- }
58124
- const pages = value.pages.filter(isRecord2).map((page) => ({
58125
- componentSource: typeof page.componentSource === "string" ? page.componentSource.trim() : "",
58126
- componentTag: typeof page.componentTag === "string" ? page.componentTag.trim() : "",
58127
- displayName: typeof page.displayName === "string" ? page.displayName.trim() : "",
58128
- htmlPath: typeof page.htmlPath === "string" ? page.htmlPath.trim() : "",
58129
- slug: typeof page.slug === "string" ? page.slug.trim() : ""
58130
- })).filter(
58131
- (page) => page.slug && page.displayName && page.htmlPath && page.componentTag && page.componentSource
58132
- );
58133
- return { pages };
58134
- }
58135
- function isRecord2(value) {
58136
- return typeof value === "object" && value !== null;
58137
- }
58138
-
58139
58075
  // ../core/src/workspace-store/files.ts
58140
58076
  import { open, readFile as readFile3, stat as stat2 } from "node:fs/promises";
58141
58077
  async function readTextFileIfExists(filePath) {
@@ -59054,35 +58990,6 @@ var WorkspaceStore = class {
59054
58990
  });
59055
58991
  return entries.sort((left, right) => left.path.localeCompare(right.path));
59056
58992
  }
59057
- async listProjectHtmlFiles(projectId) {
59058
- const entries = [];
59059
- await this.walkProjectWorkspace(projectId, "", async (entry) => {
59060
- if (entry.type === "file" && entry.path.toLowerCase().endsWith(".html")) {
59061
- entries.push(entry);
59062
- }
59063
- });
59064
- return entries.map((entry) => entry.path).sort((left, right) => {
59065
- if (left === "index.html") {
59066
- return -1;
59067
- }
59068
- if (right === "index.html") {
59069
- return 1;
59070
- }
59071
- return left.localeCompare(right);
59072
- });
59073
- }
59074
- async readProjectHtmlPageManifest(projectId) {
59075
- try {
59076
- return parseHtmlPageManifest(
59077
- await this.readProjectWorkspaceFile(projectId, HTML_PAGE_MANIFEST_PATH)
59078
- );
59079
- } catch (error51) {
59080
- if (isMissingPathError2(error51)) {
59081
- return parseHtmlPageManifest(void 0);
59082
- }
59083
- throw error51;
59084
- }
59085
- }
59086
58993
  async readProjectWorkspaceEntry(projectId, relativePath, options = {}) {
59087
58994
  const offset = normalizePositiveInteger(options.offset, 1, "offset");
59088
58995
  const limit = normalizePositiveInteger(options.limit, DEFAULT_READ_LIMIT, "limit");
@@ -60363,18 +60270,12 @@ function createOwnDesignApp(options = {}) {
60363
60270
  const body = await context2.req.json();
60364
60271
  const projectId = asNonEmptyString(body.projectId);
60365
60272
  const conversationId = asNonEmptyString(body.conversationId);
60366
- const requestedPreviewPath = asNonEmptyString(body.previewPath);
60367
60273
  const currentUserMessage = createCurrentUserMessage(body.message);
60368
60274
  if (!projectId || !conversationId || !currentUserMessage) {
60369
60275
  return context2.text("Invalid chat request.", 400);
60370
60276
  }
60371
60277
  const workspaceStore = createWorkspaceStore(options);
60372
60278
  const project = await workspaceStore.getProject(projectId);
60373
- const previewPath = await resolveExistingPreviewPath(
60374
- workspaceStore,
60375
- projectId,
60376
- requestedPreviewPath
60377
- );
60378
60279
  if (chatRunManager.getActiveRun(projectId)) {
60379
60280
  return context2.text("\u5F53\u524D\u9879\u76EE\u5DF2\u6709\u4EFB\u52A1\u6B63\u5728\u6267\u884C\u3002", 409);
60380
60281
  }
@@ -60394,7 +60295,6 @@ function createOwnDesignApp(options = {}) {
60394
60295
  let agentContext;
60395
60296
  try {
60396
60297
  agentContext = await createDesignPageAgentContext({
60397
- currentPreviewPath: previewPath,
60398
60298
  frontendTabId: asNonEmptyString(body.frontendTabId),
60399
60299
  modelConfigurationId: asNonEmptyString(body.modelConfigurationId),
60400
60300
  projectType: project.projectType ?? "single_html",
@@ -60569,13 +60469,12 @@ function createOwnDesignApp(options = {}) {
60569
60469
  if (!clientId) {
60570
60470
  return context2.text("Invalid preview session request.", 400);
60571
60471
  }
60472
+ if (hasPreviewPath(body)) {
60473
+ return context2.text("Invalid preview session request.", 400);
60474
+ }
60572
60475
  const workspaceStore = createWorkspaceStore(options);
60573
60476
  const manager = getPreviewServerManager(workspaceStore);
60574
- const session = await manager.ensure(
60575
- context2.req.param("projectId"),
60576
- clientId,
60577
- asNonEmptyString(body?.previewPath)
60578
- );
60477
+ const session = await manager.ensure(context2.req.param("projectId"), clientId);
60579
60478
  return context2.json(session);
60580
60479
  });
60581
60480
  app2.delete("/api/projects/:projectId/preview-session", async (context2) => {
@@ -60595,13 +60494,12 @@ function createOwnDesignApp(options = {}) {
60595
60494
  if (!clientId) {
60596
60495
  return context2.text("Invalid preview heartbeat request.", 400);
60597
60496
  }
60497
+ if (hasPreviewPath(body)) {
60498
+ return context2.text("Invalid preview heartbeat request.", 400);
60499
+ }
60598
60500
  const workspaceStore = createWorkspaceStore(options);
60599
60501
  const manager = getPreviewServerManager(workspaceStore);
60600
- const session = await manager.heartbeat(
60601
- context2.req.param("projectId"),
60602
- clientId,
60603
- asNonEmptyString(body?.previewPath)
60604
- );
60502
+ const session = await manager.heartbeat(context2.req.param("projectId"), clientId);
60605
60503
  return context2.json(session);
60606
60504
  });
60607
60505
  app2.get("/api/projects/:projectId/frontend-capabilities/stream", async (context2) => {
@@ -60639,16 +60537,18 @@ function createOwnDesignApp(options = {}) {
60639
60537
  const projectId = context2.req.param("projectId");
60640
60538
  const kind = context2.req.query("kind");
60641
60539
  if (kind === "current-html") {
60642
- return downloadCurrentHtml(
60643
- workspaceStore,
60644
- projectId,
60645
- context2.req.query("previewPath") ?? null
60646
- );
60540
+ if (context2.req.query("previewPath") !== void 0) {
60541
+ return context2.text("Invalid download request.", 400);
60542
+ }
60543
+ return downloadCurrentHtml(workspaceStore, projectId);
60647
60544
  }
60648
60545
  if (kind === "workspace-zip") {
60649
60546
  return downloadWorkspaceZip(workspaceStore, projectId);
60650
60547
  }
60651
60548
  if (kind === "current-screenshot") {
60549
+ if (context2.req.query("previewPath") !== void 0) {
60550
+ return context2.text("Invalid download request.", 400);
60551
+ }
60652
60552
  const route = parseScreenshotRoute(context2.req.query("route"));
60653
60553
  if (!route.ok) {
60654
60554
  return context2.text("Invalid download request.", 400);
@@ -60656,7 +60556,6 @@ function createOwnDesignApp(options = {}) {
60656
60556
  return downloadCurrentScreenshot(
60657
60557
  workspaceStore,
60658
60558
  projectId,
60659
- context2.req.query("previewPath") ?? null,
60660
60559
  parseScreenshotDevice(context2.req.query("device")),
60661
60560
  route.value
60662
60561
  );
@@ -60721,15 +60620,12 @@ function htmlResponse2(html) {
60721
60620
  headers: { "Content-Type": "text/html; charset=utf-8" }
60722
60621
  });
60723
60622
  }
60724
- async function downloadCurrentHtml(workspaceStore, projectId, previewPath) {
60725
- if (!previewPath?.trim() || !previewPath.toLowerCase().endsWith(".html")) {
60726
- return new Response("Invalid download request.", { status: 400 });
60727
- }
60623
+ async function downloadCurrentHtml(workspaceStore, projectId) {
60728
60624
  try {
60729
- const content = await workspaceStore.readProjectWorkspaceFileBuffer(projectId, previewPath);
60625
+ const content = await workspaceStore.readProjectWorkspaceFileBuffer(projectId, "index.html");
60730
60626
  return new Response(new Uint8Array(content), {
60731
60627
  headers: {
60732
- "Content-Disposition": createAttachmentDisposition(path13.basename(previewPath)),
60628
+ "Content-Disposition": createAttachmentDisposition("index.html"),
60733
60629
  "Content-Type": "text/html; charset=utf-8"
60734
60630
  },
60735
60631
  status: 200
@@ -60766,16 +60662,16 @@ async function downloadWorkspaceZip(workspaceStore, projectId) {
60766
60662
  return mapWorkspaceErrorToResponse(error51);
60767
60663
  }
60768
60664
  }
60769
- async function downloadCurrentScreenshot(workspaceStore, projectId, previewPath, device, route) {
60770
- if (!previewPath?.trim() || !previewPath.toLowerCase().endsWith(".html") || !device) {
60665
+ async function downloadCurrentScreenshot(workspaceStore, projectId, device, route) {
60666
+ if (!device) {
60771
60667
  return new Response("Invalid download request.", { status: 400 });
60772
60668
  }
60773
60669
  const clientId = `screenshot-${randomUUID3()}`;
60774
60670
  const previewManager = getPreviewServerManager(workspaceStore);
60775
60671
  try {
60776
- await workspaceStore.readProjectWorkspaceFileBuffer(projectId, previewPath);
60777
- const session = await previewManager.ensure(projectId, clientId, previewPath);
60778
- if (!session.activePath || session.activePath !== previewPath) {
60672
+ await workspaceStore.readProjectWorkspaceFileBuffer(projectId, "index.html");
60673
+ const session = await previewManager.ensure(projectId, clientId);
60674
+ if (!session.previewFileExists || !session.url) {
60779
60675
  return new Response("Project file not found.", { status: 404 });
60780
60676
  }
60781
60677
  const content = await captureProjectScreenshot({
@@ -60785,7 +60681,7 @@ async function downloadCurrentScreenshot(workspaceStore, projectId, previewPath,
60785
60681
  return new Response(new Uint8Array(content), {
60786
60682
  headers: {
60787
60683
  "Content-Disposition": createAttachmentDisposition(
60788
- createScreenshotDownloadFilename(previewPath, route)
60684
+ createScreenshotDownloadFilename(route)
60789
60685
  ),
60790
60686
  "Content-Type": "image/png"
60791
60687
  },
@@ -60859,9 +60755,8 @@ function buildScreenshotUrl(url2, route) {
60859
60755
  screenshotUrl.hash = route;
60860
60756
  return screenshotUrl.toString();
60861
60757
  }
60862
- function createScreenshotDownloadFilename(previewPath, route) {
60863
- const extension = path13.extname(previewPath);
60864
- const basename = path13.basename(previewPath, extension) || "screenshot";
60758
+ function createScreenshotDownloadFilename(route) {
60759
+ const basename = "index";
60865
60760
  if (!route) {
60866
60761
  return `${basename}.png`;
60867
60762
  }
@@ -60911,7 +60806,7 @@ async function readJson(request) {
60911
60806
  }
60912
60807
  }
60913
60808
  function createCurrentUserMessage(value) {
60914
- if (!isRecord3(value)) {
60809
+ if (!isRecord2(value)) {
60915
60810
  return void 0;
60916
60811
  }
60917
60812
  const id = asNonEmptyString(value.id);
@@ -60928,21 +60823,17 @@ function createCurrentUserMessage(value) {
60928
60823
  };
60929
60824
  }
60930
60825
  function isFileUIPart2(value) {
60931
- return isRecord3(value) && value.type === "file";
60826
+ return isRecord2(value) && value.type === "file";
60932
60827
  }
60933
- function isRecord3(value) {
60828
+ function isRecord2(value) {
60934
60829
  return typeof value === "object" && value !== null;
60935
60830
  }
60936
- async function resolveExistingPreviewPath(workspaceStore, projectId, previewPath) {
60937
- if (!previewPath) {
60938
- return void 0;
60939
- }
60940
- const htmlFiles = await workspaceStore.listProjectHtmlFiles(projectId);
60941
- return htmlFiles.includes(previewPath) ? previewPath : void 0;
60942
- }
60943
60831
  function asNonEmptyString(value) {
60944
60832
  return typeof value === "string" && value.trim() ? value.trim() : void 0;
60945
60833
  }
60834
+ function hasPreviewPath(value) {
60835
+ return isRecord2(value) && Object.hasOwn(value, "previewPath");
60836
+ }
60946
60837
  function parseProjectType(value) {
60947
60838
  if (value === void 0 || value === null || value === "") {
60948
60839
  return "single_html";
@@ -60956,7 +60847,7 @@ function parseCheckpointRestoreMode(value) {
60956
60847
  return value === "files" || value === "conversation" || value === "both" ? value : void 0;
60957
60848
  }
60958
60849
  function parseProviderOptionsSelection(value) {
60959
- if (!isRecord3(value)) {
60850
+ if (!isRecord2(value)) {
60960
60851
  return void 0;
60961
60852
  }
60962
60853
  const deepseek2 = parseDeepSeekThinkingMode(value.deepseek);
@@ -1 +1 @@
1
- import{Bn as e}from"./index-Cq__lNgb.js";import{t}from"./html-DOBY_OMj.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-YSa89xAk.js";import{t}from"./html-BF5zzurH.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};