@markusylisiurunen/tau 0.3.79 → 0.3.80

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 (240) hide show
  1. package/dist/core/agent/agent_runtime.js +68 -76
  2. package/dist/core/agent/agent_runtime.js.map +1 -1
  3. package/dist/core/auth/auth_manager.js +3 -7
  4. package/dist/core/auth/auth_manager.js.map +1 -1
  5. package/dist/core/auth/auth_messages.js +1 -1
  6. package/dist/core/auth/auth_messages.js.map +1 -1
  7. package/dist/core/auth/auth_storage.js +71 -7
  8. package/dist/core/auth/auth_storage.js.map +1 -1
  9. package/dist/core/auth/cli.js +8 -7
  10. package/dist/core/auth/cli.js.map +1 -1
  11. package/dist/core/auth/credential_store.js +88 -186
  12. package/dist/core/auth/credential_store.js.map +1 -1
  13. package/dist/core/auth/index.js +1 -1
  14. package/dist/core/auth/index.js.map +1 -1
  15. package/dist/core/auth/providers/openai_codex.js +51 -229
  16. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  17. package/dist/core/cli.js +1 -2
  18. package/dist/core/cli.js.map +1 -1
  19. package/dist/core/config/content_loader.js +27 -130
  20. package/dist/core/config/content_loader.js.map +1 -1
  21. package/dist/core/config/index.js.map +1 -1
  22. package/dist/core/config/paths.js +0 -1
  23. package/dist/core/config/paths.js.map +1 -1
  24. package/dist/core/config/runtime.js +3 -2
  25. package/dist/core/config/runtime.js.map +1 -1
  26. package/dist/core/config/runtime_config_snapshot.js +23 -9
  27. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  28. package/dist/core/config/schema.js +13 -69
  29. package/dist/core/config/schema.js.map +1 -1
  30. package/dist/core/config/skills_loader.js +6 -2
  31. package/dist/core/config/skills_loader.js.map +1 -1
  32. package/dist/core/debug.js +1 -16
  33. package/dist/core/debug.js.map +1 -1
  34. package/dist/core/index.js +2 -2
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/models/catalog.js +2 -239
  37. package/dist/core/models/catalog.js.map +1 -1
  38. package/dist/core/personas.js +0 -14
  39. package/dist/core/personas.js.map +1 -1
  40. package/dist/core/runtime/agent_model.js +0 -3
  41. package/dist/core/runtime/agent_model.js.map +1 -1
  42. package/dist/core/runtime/chat_runtime.js +16 -13
  43. package/dist/core/runtime/chat_runtime.js.map +1 -1
  44. package/dist/core/runtime/runtime_bootstrap.js +12 -59
  45. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  46. package/dist/core/session/auto_compaction_archive.js +1 -1
  47. package/dist/core/session/auto_compaction_archive.js.map +1 -1
  48. package/dist/core/session/compaction.js +79 -506
  49. package/dist/core/session/compaction.js.map +1 -1
  50. package/dist/core/static/tau_docs/config-reference.md +12 -37
  51. package/dist/core/static/tau_docs/configuration.md +3 -16
  52. package/dist/core/static/tau_docs/credentials.md +20 -50
  53. package/dist/core/static/tau_docs/index.md +2 -1
  54. package/dist/core/static/tau_docs/manifest.json +1 -0
  55. package/dist/core/static/tau_docs/models.md +8 -159
  56. package/dist/core/static/tau_docs/openrouter.md +165 -0
  57. package/dist/core/static/tau_docs/ownership-and-scope.md +3 -3
  58. package/dist/core/static/tau_docs/personas.md +9 -41
  59. package/dist/core/static/tau_docs/prompts-and-project-context.md +10 -44
  60. package/dist/core/static/tau_docs/remote-sessions.md +6 -7
  61. package/dist/core/static/tau_docs/security.md +4 -5
  62. package/dist/core/static/tau_docs/session-protocol-methods.md +0 -1
  63. package/dist/core/static/tau_docs/session-protocol.md +11 -9
  64. package/dist/core/static/tau_docs/sessions.md +8 -6
  65. package/dist/core/static/tau_docs/skills.md +8 -32
  66. package/dist/core/static/tau_docs/subagents.md +2 -2
  67. package/dist/core/static/tau_docs/telegram.md +2 -2
  68. package/dist/core/static/tau_docs/tools.md +2 -1
  69. package/dist/core/static/tau_docs/troubleshooting.md +11 -12
  70. package/dist/core/static/tau_docs/tui.md +4 -2
  71. package/dist/core/subagents/agent_supervisor.js +0 -1
  72. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  73. package/dist/core/telegram/adapter.js +1 -1
  74. package/dist/core/telegram/adapter.js.map +1 -1
  75. package/dist/core/tool/cli.js +10 -2
  76. package/dist/core/tool/cli.js.map +1 -1
  77. package/dist/core/tool/openrouter.js +291 -0
  78. package/dist/core/tool/openrouter.js.map +1 -0
  79. package/dist/core/tool/openrouter_decisions.js +97 -0
  80. package/dist/core/tool/openrouter_decisions.js.map +1 -0
  81. package/dist/core/tool/openrouter_media.js +180 -0
  82. package/dist/core/tool/openrouter_media.js.map +1 -0
  83. package/dist/core/tools/tau_docs.js +1 -0
  84. package/dist/core/tools/tau_docs.js.map +1 -1
  85. package/dist/core/utils/model_stream.js +47 -34
  86. package/dist/core/utils/model_stream.js.map +1 -1
  87. package/dist/core/utils/user_metadata.js +2 -27
  88. package/dist/core/utils/user_metadata.js.map +1 -1
  89. package/dist/core/version.js +2 -2
  90. package/dist/core/version.js.map +1 -1
  91. package/dist/diff_tool/app/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
  93. package/dist/diff_tool/app/dist/assets/{angular-html-CnO8qept.js → angular-html-BbLgbIhq.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{angular-ts-DPXUio9Z.js → angular-ts-DXk17TRM.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/{apl-X8YsymsQ.js → apl-BsvksCXR.js} +1 -1
  96. package/dist/diff_tool/app/dist/assets/{astro-BQ9k8AQ0.js → astro-DH775E4V.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/beancount-C2IN4Vk8.js +1 -0
  98. package/dist/diff_tool/app/dist/assets/{blade-DZ1LYIzB.js → blade-Ck99Rm59.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{c-VLTwNh7z.js → c-DJpHqu5J.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/{chapel-5s-sGN8D.js → chapel-Owff0Csy.js} +1 -1
  101. package/dist/diff_tool/app/dist/assets/{cobol-C9RzwrVu.js → cobol-Cv2gZuhO.js} +1 -1
  102. package/dist/diff_tool/app/dist/assets/{coffee-BHvjZ343.js → coffee-Bji0YCf_.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/coq-CGaSfhwR.js +1 -0
  104. package/dist/diff_tool/app/dist/assets/{cpp-CBTVXbBp.js → cpp-DTjA_yFF.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{crystal-DQJua4y4.js → crystal-Dd00NOeb.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/csharp-dmMxLVLW.js +1 -0
  107. package/dist/diff_tool/app/dist/assets/css-D44TN1V6.js +1 -0
  108. package/dist/diff_tool/app/dist/assets/dart-CHZY9Xhz.js +1 -0
  109. package/dist/diff_tool/app/dist/assets/dotenv-CuH5my32.js +1 -0
  110. package/dist/diff_tool/app/dist/assets/{edge-BmdmXGH4.js → edge-CVmGSi2m.js} +1 -1
  111. package/dist/diff_tool/app/dist/assets/{elixir-oiOLs98L.js → elixir-B8Mq7no2.js} +1 -1
  112. package/dist/diff_tool/app/dist/assets/{elm-BgYuiU4E.js → elm-CXS0I3Z2.js} +1 -1
  113. package/dist/diff_tool/app/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/{erb-CvFrXpyY.js → erb-B9oDKaUo.js} +1 -1
  115. package/dist/diff_tool/app/dist/assets/{git-rebase-D3Zo1BLH.js → git-rebase-DT-YFebH.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{glimmer-js-B4-8E3lJ.js → glimmer-js-s0DXlNjq.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/{glimmer-ts-CtKkD0t_.js → glimmer-ts-QgEB5S2z.js} +1 -1
  118. package/dist/diff_tool/app/dist/assets/{glsl-BAqforx_.js → glsl-NA0icwbY.js} +1 -1
  119. package/dist/diff_tool/app/dist/assets/gn-CAXYAgV-.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/{graphql-DuE1RMyL.js → graphql-0_dOlfV0.js} +1 -1
  121. package/dist/diff_tool/app/dist/assets/{hack-CHBcXjz1.js → hack-D-mr7l1l.js} +1 -1
  122. package/dist/diff_tool/app/dist/assets/{haml-DAs2z3tD.js → haml-B0-oQmz7.js} +1 -1
  123. package/dist/diff_tool/app/dist/assets/handlebars-Yq9bXpWN.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/{html-D5co0BLD.js → html-B8bMmdRK.js} +1 -1
  125. package/dist/diff_tool/app/dist/assets/{html-derivative-BZaWEmAT.js → html-derivative-BpxSlQb_.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/{http-Cii5MjJE.js → http-hS_53mxt.js} +1 -1
  127. package/dist/diff_tool/app/dist/assets/{hurl-Bur-XdJO.js → hurl-B2ST1kwl.js} +1 -1
  128. package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +340 -0
  129. package/dist/diff_tool/app/dist/assets/{java-DN39wI4w.js → java-D4mj0lZJ.js} +1 -1
  130. package/dist/diff_tool/app/dist/assets/{javascript-VUReF1H4.js → javascript-wC7rrKiV.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/{jinja-BcrfV1JB.js → jinja-DbQ3o87F.js} +1 -1
  132. package/dist/diff_tool/app/dist/assets/{jison-Bez5Mtmy.js → jison-CrE9FdvP.js} +1 -1
  133. package/dist/diff_tool/app/dist/assets/{json-ChV8m0Le.js → json-xjicDyWN.js} +1 -1
  134. package/dist/diff_tool/app/dist/assets/{jsx-D0SXNtM0.js → jsx-m28lXojQ.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{julia-DvhpcBwG.js → julia-19xkOmop.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/{just-BGwe8S6x.js → just-Cf7OorTr.js} +1 -1
  137. package/dist/diff_tool/app/dist/assets/latex-DDb7GQOy.js +1 -0
  138. package/dist/diff_tool/app/dist/assets/{liquid-UdnqDjKz.js → liquid-DHOuQ0rf.js} +1 -1
  139. package/dist/diff_tool/app/dist/assets/{lua-CjDHeHEr.js → lua-BGyIvonw.js} +1 -1
  140. package/dist/diff_tool/app/dist/assets/luau-VGWVLoqX.js +1 -0
  141. package/dist/diff_tool/app/dist/assets/marko-DB5OqI1C.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/{mdc-BOLj6Oyq.js → mdc-DTyNMupO.js} +1 -1
  143. package/dist/diff_tool/app/dist/assets/monokai-BscAjiQZ.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/moonbit-D9W784E_.js +1 -0
  145. package/dist/diff_tool/app/dist/assets/nextflow-CSgcYZcx.js +1 -0
  146. package/dist/diff_tool/app/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/{nginx-5r5xPc2T.js → nginx-DfF0fMYD.js} +1 -1
  148. package/dist/diff_tool/app/dist/assets/{nim-9exKQYMz.js → nim-BbwsXuZD.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/nushell--0fT3PI1.js +1 -0
  150. package/dist/diff_tool/app/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
  151. package/dist/diff_tool/app/dist/assets/{org-B2fpAlbt.js → org-BkOBBl1f.js} +1 -1
  152. package/dist/diff_tool/app/dist/assets/{perl-DV2fcwyY.js → perl-BTXTOl4K.js} +1 -1
  153. package/dist/diff_tool/app/dist/assets/php-DIMVQWiA.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
  155. package/dist/diff_tool/app/dist/assets/{pug-DuKcQxFj.js → pug-B_nrb4dJ.js} +1 -1
  156. package/dist/diff_tool/app/dist/assets/{qml-C16b4SYx.js → qml-1PXi8G8Z.js} +1 -1
  157. package/dist/diff_tool/app/dist/assets/{r-B1ZldnJf.js → r-CJrAkc2Z.js} +1 -1
  158. package/dist/diff_tool/app/dist/assets/{razor-TYmslaAB.js → razor-DgPUftNd.js} +1 -1
  159. package/dist/diff_tool/app/dist/assets/red-CYlAq2b0.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/{regexp-dWCffmDD.js → regexp-C2hS8XvL.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/{rst-DEkLr2YR.js → rst-CDouhKnc.js} +1 -1
  162. package/dist/diff_tool/app/dist/assets/{ruby-BJnJzr4u.js → ruby-CAjKW1uO.js} +1 -1
  163. package/dist/diff_tool/app/dist/assets/rust-DpiIf5JO.js +1 -0
  164. package/dist/diff_tool/app/dist/assets/{sas-DeRsDbUE.js → sas-qAHkHLc1.js} +1 -1
  165. package/dist/diff_tool/app/dist/assets/{scss-SGV_CwKm.js → scss-Bfx2Ydid.js} +1 -1
  166. package/dist/diff_tool/app/dist/assets/{shellscript-BI7khmmR.js → shellscript-Bu76R8y2.js} +1 -1
  167. package/dist/diff_tool/app/dist/assets/{shellsession-Nupw_Vvw.js → shellsession-BU8BL0oL.js} +1 -1
  168. package/dist/diff_tool/app/dist/assets/solarized-dark-b97czJOk.js +1 -0
  169. package/dist/diff_tool/app/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/{soy-B96cBzxv.js → soy-FRl8ozP-.js} +1 -1
  171. package/dist/diff_tool/app/dist/assets/sql-BacQgsEs.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/{stata-Dnq48cE6.js → stata-B9kkG-ET.js} +1 -1
  173. package/dist/diff_tool/app/dist/assets/{surrealql-D6lw4TiD.js → surrealql-qvETr7iY.js} +1 -1
  174. package/dist/diff_tool/app/dist/assets/{svelte-ChVoq9tB.js → svelte-B0z1MgHc.js} +1 -1
  175. package/dist/diff_tool/app/dist/assets/{templ-Dh1EXuHD.js → templ-DTnPshKb.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{tex-KTYusNFe.js → tex-Cosab9_H.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/{ts-tags-DC2RU1_R.js → ts-tags-DNYvLFUH.js} +1 -1
  178. package/dist/diff_tool/app/dist/assets/{tsx-DtIM39Jy.js → tsx-Dstq6j1a.js} +1 -1
  179. package/dist/diff_tool/app/dist/assets/twig-BzqZdwaX.js +1 -0
  180. package/dist/diff_tool/app/dist/assets/{typescript-BGAE5iuw.js → typescript-YOQ_oE25.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/typespec-BGhR2SqG.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/{typst-nWoGZ22y.js → typst-DTffwfpc.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{vue-iyHf-l4z.js → vue-D4OMj_C5.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{vue-html-prNdIjLu.js → vue-html-kT4WrHGK.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{vue-vine-KSSlnVeg.js → vue-vine-CxeapeMO.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{xml-DdCC83Xd.js → xml-DWVpuurg.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/{xsl-DSqZxsez.js → xsl-C0ciup5a.js} +1 -1
  188. package/dist/diff_tool/app/dist/assets/{yaml-CZcBUWvf.js → yaml-98Fvyfpc.js} +1 -1
  189. package/dist/diff_tool/app/dist/index.html +1 -1
  190. package/dist/execution/execution_environment.js.map +1 -1
  191. package/dist/execution/fly_sprite_execution_environment.js +5 -10
  192. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  193. package/dist/execution/tool_backend_execution_environment.js +0 -2
  194. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  195. package/dist/host/execution_runtime.js +5 -4
  196. package/dist/host/execution_runtime.js.map +1 -1
  197. package/dist/host/hosted_ephemeral_agent_session.js +0 -2
  198. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  199. package/dist/host/local_session_host.js +15 -31
  200. package/dist/host/local_session_host.js.map +1 -1
  201. package/dist/main.js +14 -29
  202. package/dist/main.js.map +1 -1
  203. package/dist/protocol/session_protocol.d.ts +3 -6
  204. package/dist/protocol/session_protocol.js +3 -6
  205. package/dist/protocol/session_protocol.js.map +1 -1
  206. package/dist/sdk/local_client.js +3 -3
  207. package/dist/sdk/local_client.js.map +1 -1
  208. package/dist/store/session_snapshot_migrations.js +28 -1
  209. package/dist/store/session_snapshot_migrations.js.map +1 -1
  210. package/dist/tui/session_chat_app.js +2 -4
  211. package/dist/tui/session_chat_app.js.map +1 -1
  212. package/dist/tui/session_chat_controller.js +10 -1
  213. package/dist/tui/session_chat_controller.js.map +1 -1
  214. package/package.json +8 -8
  215. package/dist/diff_tool/app/dist/assets/beancount-D-usSTwE.js +0 -1
  216. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +0 -1
  217. package/dist/diff_tool/app/dist/assets/csharp-oqKa8noW.js +0 -1
  218. package/dist/diff_tool/app/dist/assets/css-BQflXFb6.js +0 -1
  219. package/dist/diff_tool/app/dist/assets/dart-CnvKMtbv.js +0 -1
  220. package/dist/diff_tool/app/dist/assets/dotenv-_5a1GRtc.js +0 -1
  221. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
  222. package/dist/diff_tool/app/dist/assets/gn-ilITqXS6.js +0 -1
  223. package/dist/diff_tool/app/dist/assets/handlebars-CfAla6QK.js +0 -1
  224. package/dist/diff_tool/app/dist/assets/index-CZUi_I-p.js +0 -340
  225. package/dist/diff_tool/app/dist/assets/latex-pWSag83P.js +0 -1
  226. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +0 -1
  227. package/dist/diff_tool/app/dist/assets/marko-yLX6iW68.js +0 -1
  228. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +0 -1
  229. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +0 -1
  230. package/dist/diff_tool/app/dist/assets/nextflow-BJtWHP5T.js +0 -1
  231. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +0 -1
  232. package/dist/diff_tool/app/dist/assets/one-dark-pro-CLwyXe_n.js +0 -1
  233. package/dist/diff_tool/app/dist/assets/php-D-AthX_E.js +0 -1
  234. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +0 -1
  235. package/dist/diff_tool/app/dist/assets/rust-Cfkwpbl8.js +0 -1
  236. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +0 -1
  237. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +0 -1
  238. package/dist/diff_tool/app/dist/assets/sql-CsIdKfaO.js +0 -1
  239. package/dist/diff_tool/app/dist/assets/twig-C6D_TA3n.js +0 -1
  240. package/dist/diff_tool/app/dist/assets/typespec-BRdr0IET.js +0 -1
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse('{"displayName":"TypeSpec","fileTypes":["tsp"],"name":"typespec","patterns":[{"include":"#statement"}],"repository":{"alias-id":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.alias-id.typespec","patterns":[{"include":"#expression"}]},"alias-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(alias)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.alias-statement.typespec","patterns":[{"include":"#alias-id"},{"include":"#type-parameters"}]},"augment-decorator-statement":{"begin":"((@@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b","beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}},"end":"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.augment-decorator-statement.typespec","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}]},"block-comment":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.tsp"},"boolean-literal":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.tsp"},"callExpression":{"begin":"\\\\b([$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.tsp"},"2":{"name":"punctuation.parenthesis.open.tsp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}},"name":"meta.callExpression.typespec","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"const-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(const)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"variable.name.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.const-statement.typespec","patterns":[{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}]},"decorator":{"begin":"((@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b","beginCaptures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}},"end":"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.decorator.typespec","patterns":[{"include":"#token"},{"include":"#parenthesized-expression"}]},"decorator-declaration-statement":{"begin":"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(dec)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"keyword.other.tsp"},"4":{"name":"entity.name.function.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.decorator-declaration-statement.typespec","patterns":[{"include":"#token"},{"include":"#operation-parameters"}]},"directive":{"begin":"\\\\s*(#)\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b","beginCaptures":{"1":{"name":"keyword.directive.name.tsp"},"2":{"name":"keyword.directive.name.tsp"}},"end":"$|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.directive.typespec","patterns":[{"include":"#string-literal"},{"include":"#identifier-expression"}]},"doc-comment":{"begin":"/\\\\*\\\\*","beginCaptures":{"0":{"name":"comment.block.tsp"}},"end":"\\\\*/","endCaptures":{"0":{"name":"comment.block.tsp"}},"name":"comment.block.tsp","patterns":[{"include":"#doc-comment-block"}]},"doc-comment-block":{"patterns":[{"include":"#doc-comment-param"},{"include":"#doc-comment-return-tag"},{"include":"#doc-comment-unknown-tag"}]},"doc-comment-param":{"captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"},"3":{"name":"variable.name.tsp"}},"match":"((@)(?:param|template|prop))\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\b","name":"comment.block.tsp"},"doc-comment-return-tag":{"captures":{"1":{"name":"keyword.tag.tspdoc"},"2":{"name":"keyword.tag.tspdoc"}},"match":"((@)returns)\\\\b","name":"comment.block.tsp"},"doc-comment-unknown-tag":{"captures":{"1":{"name":"entity.name.tag.tsp"},"2":{"name":"entity.name.tag.tsp"}},"match":"((@)(?:\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))\\\\b","name":"comment.block.tsp"},"enum-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.enum-body.typespec","patterns":[{"include":"#enum-member"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#punctuation-comma"}]},"enum-expression":{"begin":"\\\\b(enum)\\\\b(?:\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.enum-expression.typespec","patterns":[{"include":"#token"},{"include":"#enum-body"}]},"enum-member":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:?)","beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.enum-member.typespec","patterns":[{"include":"#token"},{"include":"#type-annotation"}]},"enum-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(enum)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.enum-statement.typespec","patterns":[{"include":"#token"},{"include":"#enum-body"}]},"escape-character":{"match":"\\\\\\\\.","name":"constant.character.escape.tsp"},"expression":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#parenthesized-expression"},{"include":"#valueof"},{"include":"#typeof"},{"include":"#type-arguments"},{"include":"#object-literal"},{"include":"#tuple-literal"},{"include":"#tuple-expression"},{"include":"#model-expression-keyword"},{"include":"#scalar-expression"},{"include":"#enum-expression"},{"include":"#union-expression"},{"include":"#model-expression"},{"include":"#callExpression"},{"include":"#identifier-expression"}]},"function-declaration-statement":{"begin":"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(fn)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"keyword.other.tsp"},"4":{"name":"entity.name.function.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.function-declaration-statement.typespec","patterns":[{"include":"#token"},{"include":"#operation-parameters"},{"include":"#type-annotation"}]},"identifier-expression":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`","name":"entity.name.type.tsp"},"import-statement":{"begin":"\\\\b(import)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.import-statement.typespec","patterns":[{"include":"#token"}]},"interface-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.interface-body.typespec","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#interface-member"},{"include":"#punctuation-semicolon"}]},"interface-heritage":{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))","name":"meta.interface-heritage.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-member":{"begin":"(?:\\\\b(op)\\\\b\\\\s+)?(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.interface-member.typespec","patterns":[{"include":"#token"},{"include":"#operation-signature"}]},"interface-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(interface)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.interface-statement.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#interface-heritage"},{"include":"#interface-body"},{"include":"#expression"}]},"line-comment":{"match":"//.*$","name":"comment.line.double-slash.tsp"},"model-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.model-expression.typespec","patterns":[{"include":"#model-property"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#spread-operator"},{"include":"#punctuation-semicolon"}]},"model-expression-keyword":{"begin":"\\\\b(model)\\\\b(?:\\\\s+(?!(?:extend|i)s\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.model-expression-keyword.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#model-heritage"},{"include":"#expression"}]},"model-heritage":{"begin":"\\\\b(extends|is)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))","name":"meta.model-heritage.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"model-property":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)|(\\"(?:[^\\"\\\\\\\\]|\\\\\\\\.)*\\")","beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"string.quoted.double.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.model-property.typespec","patterns":[{"include":"#token"},{"include":"#type-annotation"},{"include":"#operator-assignment"},{"include":"#expression"}]},"model-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(model)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.model-statement.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#model-heritage"},{"include":"#expression"}]},"namespace-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.namespace-body.typespec","patterns":[{"include":"#statement"}]},"namespace-name":{"begin":"(?=([$_`[:alpha:]]))","end":"((?=\\\\{)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))","name":"meta.namespace-name.typespec","patterns":[{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}]},"namespace-statement":{"begin":"\\\\b(namespace)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"((?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))","name":"meta.namespace-statement.typespec","patterns":[{"include":"#token"},{"include":"#namespace-name"},{"include":"#namespace-body"}]},"numeric-literal":{"match":"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)|\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)|(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)","name":"constant.numeric.tsp"},"object-literal":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.hashcurlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.object-literal.typespec","patterns":[{"include":"#token"},{"include":"#object-literal-property"},{"include":"#directive"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}]},"object-literal-property":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.object-literal-property.typespec","patterns":[{"include":"#token"},{"include":"#expression"}]},"operation-heritage":{"begin":"\\\\b(is)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.operation-heritage.typespec","patterns":[{"include":"#expression"}]},"operation-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}},"name":"meta.operation-parameters.typespec","patterns":[{"include":"#token"},{"include":"#decorator"},{"include":"#model-property"},{"include":"#spread-operator"},{"include":"#punctuation-comma"}]},"operation-signature":{"patterns":[{"include":"#type-parameters"},{"include":"#operation-heritage"},{"include":"#operation-parameters"},{"include":"#type-annotation"}]},"operation-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(op)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.function.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.operation-statement.typespec","patterns":[{"include":"#token"},{"include":"#operation-signature"}]},"operator-assignment":{"match":"=","name":"keyword.operator.assignment.tsp"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.tsp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.tsp"}},"name":"meta.parenthesized-expression.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.tsp"},"punctuation-comma":{"match":",","name":"punctuation.comma.tsp"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.tsp"},"scalar-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.scalar-body.typespec","patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#scalar-constructor"},{"include":"#punctuation-semicolon"}]},"scalar-constructor":{"begin":"\\\\b(init)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.function.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.scalar-constructor.typespec","patterns":[{"include":"#token"},{"include":"#operation-parameters"}]},"scalar-expression":{"begin":"\\\\b(scalar)\\\\b(?:\\\\s+(?!extends\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.scalar-expression.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#scalar-extends"},{"include":"#scalar-body"}]},"scalar-extends":{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.scalar-extends.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"scalar-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(scalar)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.scalar-statement.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#scalar-extends"},{"include":"#scalar-body"}]},"spread-operator":{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.spread-operator.typespec","patterns":[{"include":"#expression"}]},"statement":{"patterns":[{"include":"#token"},{"include":"#directive"},{"include":"#augment-decorator-statement"},{"include":"#decorator"},{"include":"#model-statement"},{"include":"#scalar-statement"},{"include":"#union-statement"},{"include":"#interface-statement"},{"include":"#enum-statement"},{"include":"#alias-statement"},{"include":"#const-statement"},{"include":"#namespace-statement"},{"include":"#operation-statement"},{"include":"#import-statement"},{"include":"#using-statement"},{"include":"#decorator-declaration-statement"},{"include":"#function-declaration-statement"},{"include":"#punctuation-semicolon"}]},"string-literal":{"begin":"\\"","end":"\\"|$","name":"string.quoted.double.tsp","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"template-expression":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsp"}},"name":"meta.template-expression.typespec","patterns":[{"include":"#expression"}]},"token":{"patterns":[{"include":"#doc-comment"},{"include":"#line-comment"},{"include":"#block-comment"},{"include":"#triple-quoted-string-literal"},{"include":"#string-literal"},{"include":"#boolean-literal"},{"include":"#numeric-literal"}]},"triple-quoted-string-literal":{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.tsp","patterns":[{"include":"#template-expression"},{"include":"#escape-character"}]},"tuple-expression":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.tsp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}},"name":"meta.tuple-expression.typespec","patterns":[{"include":"#expression"}]},"tuple-literal":{"begin":"#\\\\[","beginCaptures":{"0":{"name":"punctuation.hashsquarebracket.open.tsp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.tsp"}},"name":"meta.tuple-literal.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"type-annotation":{"begin":"\\\\s*(\\\\??)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.optional.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}},"end":"(?=[),;=@}]|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.type-annotation.typespec","patterns":[{"include":"#expression"}]},"type-argument":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(=)","beginCaptures":{"1":{"name":"entity.name.type.tsp"},"2":{"name":"keyword.operator.assignment.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","endCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}},"name":"meta.type-argument.typespec","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}},"name":"meta.type-arguments.typespec","patterns":[{"include":"#type-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"type-parameter":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"entity.name.type.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.type-parameter.typespec","patterns":[{"include":"#token"},{"include":"#type-parameter-constraint"},{"include":"#type-parameter-default"}]},"type-parameter-constraint":{"begin":"extends","beginCaptures":{"0":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.type-parameter-constraint.typespec","patterns":[{"include":"#expression"}]},"type-parameter-default":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.type-parameter-default.typespec","patterns":[{"include":"#expression"}]},"type-parameters":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}},"name":"meta.type-parameters.typespec","patterns":[{"include":"#type-parameter"},{"include":"#punctuation-comma"}]},"typeof":{"begin":"\\\\b(typeof)","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.typeof.typespec","patterns":[{"include":"#expression"}]},"union-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.union-body.typespec","patterns":[{"include":"#union-variant"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"union-expression":{"begin":"\\\\b(union)\\\\b(?:\\\\s+(?!extends\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.union-expression.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#union-extends"},{"include":"#union-body"}]},"union-extends":{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))","name":"meta.union-extends.typespec","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"union-statement":{"begin":"(?:(internal)\\\\s+)?\\\\b(union)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"storage.modifier.tsp"},"2":{"name":"keyword.other.tsp"},"3":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.union-statement.typespec","patterns":[{"include":"#token"},{"include":"#type-parameters"},{"include":"#union-extends"},{"include":"#union-body"}]},"union-variant":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.union-variant.typespec","patterns":[{"include":"#token"},{"include":"#expression"}]},"using-statement":{"begin":"\\\\b(using)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.using-statement.typespec","patterns":[{"include":"#token"},{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}]},"valueof":{"begin":"\\\\b(valueof)","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)","name":"meta.valueof.typespec","patterns":[{"include":"#expression"}]}},"scopeName":"source.tsp","aliases":["tsp"]}'))];export{e as default};