@vellumai/web 0.0.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 (585) hide show
  1. package/README.md +226 -0
  2. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  3. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  4. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  5. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  6. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  10. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  11. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  12. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  16. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  17. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  18. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  19. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  20. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  21. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  22. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  23. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  24. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  25. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  26. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  27. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  28. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  29. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  30. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  31. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  32. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  33. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  34. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  35. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  36. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  43. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  44. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  45. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  46. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  47. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  48. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  49. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  50. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  51. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  52. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  53. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  54. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  55. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  56. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  57. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  58. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  59. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  60. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  61. package/dist/assets/QueryClientProvider-3h1PDgiK.js +1 -0
  62. package/dist/assets/abap-S720j6HC.js +1 -0
  63. package/dist/assets/account-page-mLTPbjvL.js +1 -0
  64. package/dist/assets/account-shell-Dw8jAeLG.js +1 -0
  65. package/dist/assets/actionscript-3-BJvigUfR.js +1 -0
  66. package/dist/assets/ada-DQ2OWYpf.js +1 -0
  67. package/dist/assets/add-credits-modal-Bl0Bh2Go.js +1 -0
  68. package/dist/assets/advanced-page-FCPOBhRy.js +1 -0
  69. package/dist/assets/ai-page-CQnqBX-M.js +1 -0
  70. package/dist/assets/andromeeda-_EhmqsVp.js +1 -0
  71. package/dist/assets/angular-html-DhOd7AN5.js +1 -0
  72. package/dist/assets/angular-ts-xGO-_6Bd.js +1 -0
  73. package/dist/assets/apache-BsyG71ag.js +1 -0
  74. package/dist/assets/apex-Ccw0eeCe.js +1 -0
  75. package/dist/assets/api-Du21iE99.js +1 -0
  76. package/dist/assets/api-errors-BK1-O3Nx.js +1 -0
  77. package/dist/assets/apl-BVUryqD5.js +1 -0
  78. package/dist/assets/app-html-cache-BuUjtDuD.js +1 -0
  79. package/dist/assets/applescript-ha7qmUXh.js +1 -0
  80. package/dist/assets/ara-BgWiE2ox.js +1 -0
  81. package/dist/assets/archive-CVmkE0UZ.js +1 -0
  82. package/dist/assets/archive-page-gPcbutQd.js +1 -0
  83. package/dist/assets/arrow-up-tR4McxO9.js +1 -0
  84. package/dist/assets/asciidoc-Dn70l7h4.js +1 -0
  85. package/dist/assets/asm-DR7r0jUw.js +1 -0
  86. package/dist/assets/assistant-context-BFnqXVaa.js +1 -0
  87. package/dist/assets/assistant-identity-store-ouefMZDR.js +1 -0
  88. package/dist/assets/assistant-status-panel-83EaWImU.js +1 -0
  89. package/dist/assets/astro-D96BhhwV.js +1 -0
  90. package/dist/assets/aurora-x-B9nEusFo.js +1 -0
  91. package/dist/assets/auth-store-Dy6ebqwf.js +1 -0
  92. package/dist/assets/avatar-api-IlDWh3Gv.js +1 -0
  93. package/dist/assets/avatar-bundled-components-zv0dj2l3.js +1 -0
  94. package/dist/assets/avatar-svg-compositor-CwF7LSJ9.js +1 -0
  95. package/dist/assets/awk-BJdTQ5Hx.js +1 -0
  96. package/dist/assets/ayu-dark-DqQbu2-w.js +1 -0
  97. package/dist/assets/ayu-light--8qST3j8.js +1 -0
  98. package/dist/assets/ayu-mirage-DrJzVJ_F.js +1 -0
  99. package/dist/assets/ballerina-BYRinlHo.js +1 -0
  100. package/dist/assets/bat-CUMUh9XV.js +1 -0
  101. package/dist/assets/beancount-CsLlzN8M.js +1 -0
  102. package/dist/assets/bell-D6safcBY.js +1 -0
  103. package/dist/assets/berry-CdPki7q8.js +1 -0
  104. package/dist/assets/bibtex-B8xm9XLj.js +1 -0
  105. package/dist/assets/bicep-CnLpnmf8.js +1 -0
  106. package/dist/assets/billing-page-DiItxvfm.js +34 -0
  107. package/dist/assets/bird2-Cqt8sSVG.js +1 -0
  108. package/dist/assets/blade-CYOVT3-Y.js +1 -0
  109. package/dist/assets/book-open-BprZriYY.js +1 -0
  110. package/dist/assets/bsl-p34U-2Lx.js +1 -0
  111. package/dist/assets/bug-CqWa4aqP.js +1 -0
  112. package/dist/assets/button-aOWst_o4.js +1 -0
  113. package/dist/assets/c-VnVOqj0C.js +1 -0
  114. package/dist/assets/c3-DpiHWuuX.js +1 -0
  115. package/dist/assets/cadence-DgcVki5R.js +1 -0
  116. package/dist/assets/cairo-Cd8z051b.js +1 -0
  117. package/dist/assets/calendar-BIR8yc1r.js +1 -0
  118. package/dist/assets/card-DnfZJiuP.js +1 -0
  119. package/dist/assets/catppuccin-frappe-C_yfKP-L.js +1 -0
  120. package/dist/assets/catppuccin-latte-CtoBMVdv.js +1 -0
  121. package/dist/assets/catppuccin-macchiato-xFP5yO7O.js +1 -0
  122. package/dist/assets/catppuccin-mocha-60sqJvv0.js +1 -0
  123. package/dist/assets/check-R2i_nIpE.js +1 -0
  124. package/dist/assets/checkbox-DKXy3MWj.js +1 -0
  125. package/dist/assets/chevron-up-DPJUr6aL.js +1 -0
  126. package/dist/assets/chunk-5KNZJZUH-DdB2N3P3.js +4 -0
  127. package/dist/assets/chunk-jRWAZmH_.js +1 -0
  128. package/dist/assets/clarity-Rka6Ibys.js +1 -0
  129. package/dist/assets/client-BRb8najC.js +1 -0
  130. package/dist/assets/client-ChXJae8j.js +1 -0
  131. package/dist/assets/client.gen-ywbejrz1.js +6 -0
  132. package/dist/assets/clojure-CQ5DpGM1.js +1 -0
  133. package/dist/assets/clsx-D1MxZxYX.js +1 -0
  134. package/dist/assets/cmake-DsAm9QpO.js +1 -0
  135. package/dist/assets/cn-CjywcAuq.js +1 -0
  136. package/dist/assets/cobol-CJjZVzvm.js +1 -0
  137. package/dist/assets/codeowners-BDBDyRC_.js +1 -0
  138. package/dist/assets/codeql-CZfFhTX0.js +1 -0
  139. package/dist/assets/coffee-CfZkBTrB.js +1 -0
  140. package/dist/assets/command-palette-BlS50uTB.js +1 -0
  141. package/dist/assets/common-lisp-Dz6SVlfw.js +1 -0
  142. package/dist/assets/community-page-CqzBRDpi.js +1 -0
  143. package/dist/assets/connect-page-DxmIoKzq.js +1 -0
  144. package/dist/assets/contacts-page-route-D6Krd6C5.js +1 -0
  145. package/dist/assets/conversation-id-wire-field-1lxFUhFO.js +39 -0
  146. package/dist/assets/conversations-DsLnxwFV.js +1 -0
  147. package/dist/assets/coq-D2tyWqdS.js +1 -0
  148. package/dist/assets/cpp-DbB_FtMQ.js +1 -0
  149. package/dist/assets/create-selectors-DoMh4y1G.js +1 -0
  150. package/dist/assets/createLucideIcon-BsE6w02i.js +1 -0
  151. package/dist/assets/createLucideIcon-Btk32rD9.js +1 -0
  152. package/dist/assets/crystal-Hmeas4cw.js +1 -0
  153. package/dist/assets/csharp-B6wLYKms.js +1 -0
  154. package/dist/assets/css-Cs4MPfhN.js +1 -0
  155. package/dist/assets/csv-D3H5ikhE.js +1 -0
  156. package/dist/assets/cue-Lq7mpKOq.js +1 -0
  157. package/dist/assets/cypher-CODl5eKV.js +1 -0
  158. package/dist/assets/d-DZC76yx1.js +1 -0
  159. package/dist/assets/danger-zone-redirect-page-Do365LOh.js +1 -0
  160. package/dist/assets/dark-plus-CBASO-cg.js +1 -0
  161. package/dist/assets/dart-CmrdZv7c.js +1 -0
  162. package/dist/assets/dax-R1bAmQ_D.js +1 -0
  163. package/dist/assets/debug-page-CsRe4giP.js +3 -0
  164. package/dist/assets/debug-page-TdnZ7DQy.css +1 -0
  165. package/dist/assets/definitions-DNF_njzj.js +1 -0
  166. package/dist/assets/deploy-dialogs-M04VhTt7.js +1 -0
  167. package/dist/assets/desktop-5nM7o7HH.js +1 -0
  168. package/dist/assets/detail-card-CzJ5gLcw.js +1 -0
  169. package/dist/assets/developer-page-CP5daBen.js +1 -0
  170. package/dist/assets/devices-page-CDcmwZ7U.js +1 -0
  171. package/dist/assets/diff-CcKimul9.js +1 -0
  172. package/dist/assets/dist-B2HM0OLN2.js +1 -0
  173. package/dist/assets/dist-Bsw_3G-z.js +1 -0
  174. package/dist/assets/dist-CuKiMkvX.js +1 -0
  175. package/dist/assets/dist-Cz1Xi5ZX.js +1 -0
  176. package/dist/assets/dist-D52VCGJ3.js +45 -0
  177. package/dist/assets/dist-mYLcZ3ps.js +153 -0
  178. package/dist/assets/docker-TG47LLyN.js +1 -0
  179. package/dist/assets/document-viewer-page-DLI8SRag.js +1 -0
  180. package/dist/assets/dollar-sign-Cm87Rklw.js +1 -0
  181. package/dist/assets/domain-field-CXJQDRmA.js +1 -0
  182. package/dist/assets/dotenv-CiUEiZKH.js +1 -0
  183. package/dist/assets/dracula-CT0oGdNT.js +1 -0
  184. package/dist/assets/dracula-soft-BXFmyviC.js +1 -0
  185. package/dist/assets/dream-maker-CAM2D_UX.js +1 -0
  186. package/dist/assets/dropdown-GgPqNVMy.js +1 -0
  187. package/dist/assets/edge-BgPXu-UE.js +1 -0
  188. package/dist/assets/elixir-DM6-ccDJ.js +1 -0
  189. package/dist/assets/ellipsis-vertical-DxSLIqf8.js +1 -0
  190. package/dist/assets/elm-9gnJ98w0.js +1 -0
  191. package/dist/assets/emacs-lisp-CzK3ExcO.js +1 -0
  192. package/dist/assets/emails-page-1R_kLl2Z.js +1 -0
  193. package/dist/assets/emoji-catalog-data-CmIAmDSt.js +1 -0
  194. package/dist/assets/erb-DtlP8jgO.js +1 -0
  195. package/dist/assets/erlang-DsE57DRS.js +1 -0
  196. package/dist/assets/error-report-C0plV8M2.js +1 -0
  197. package/dist/assets/esm-BPIIkf0Q.js +2 -0
  198. package/dist/assets/esm-Cvsy6Km4.js +2 -0
  199. package/dist/assets/esm-DUi7Rn40.js +2 -0
  200. package/dist/assets/esm-FGLqm2MN.js +2 -0
  201. package/dist/assets/esm-XjY7or7q.js +2 -0
  202. package/dist/assets/event-bus-store-Bi6GfBog.js +1 -0
  203. package/dist/assets/everforest-dark-CQlB3mCO.js +1 -0
  204. package/dist/assets/everforest-light-BA4ay6iM.js +1 -0
  205. package/dist/assets/exports-rSCybWxk.js +4 -0
  206. package/dist/assets/external-link-BFBjpAS9.js +1 -0
  207. package/dist/assets/feature-flag-catalog-CSWHhMDD.js +1 -0
  208. package/dist/assets/fennel-eG2_iaTI.js +1 -0
  209. package/dist/assets/file-markdown-CEnRkeWg.js +1 -0
  210. package/dist/assets/fish-zI3emtm-.js +1 -0
  211. package/dist/assets/fluent-BZo6aiNu.js +1 -0
  212. package/dist/assets/format-date-CQpXfTVd.js +1 -0
  213. package/dist/assets/format-hyvuWewV.js +1 -0
  214. package/dist/assets/fortran-fixed-form-D5hdDjfh.js +1 -0
  215. package/dist/assets/fortran-free-form-57r0sG8y.js +1 -0
  216. package/dist/assets/fsharp-Bfi3XTPy.js +1 -0
  217. package/dist/assets/gdresource-BSaMHim7.js +1 -0
  218. package/dist/assets/gdscript-1YmxJL3Q.js +1 -0
  219. package/dist/assets/gdshader-BfYwvVWN.js +1 -0
  220. package/dist/assets/general-page-BuBX2YwQ.js +1 -0
  221. package/dist/assets/genie-CWE9MH2Z.js +1 -0
  222. package/dist/assets/gherkin-DylFqTNM.js +1 -0
  223. package/dist/assets/git-commit-Cz5QKywc.js +1 -0
  224. package/dist/assets/git-rebase-BMQ0Bk9S.js +1 -0
  225. package/dist/assets/github-dark-default-BK9X8oxX.js +1 -0
  226. package/dist/assets/github-dark-dimmed-CurnRG13.js +1 -0
  227. package/dist/assets/github-dark-high-contrast-DxF4Jnoi.js +1 -0
  228. package/dist/assets/github-dark-xIytAWi0.js +1 -0
  229. package/dist/assets/github-light-DAfSDMwO.js +1 -0
  230. package/dist/assets/github-light-default-CCtzMk6P.js +1 -0
  231. package/dist/assets/github-light-high-contrast-KEzODQXH.js +1 -0
  232. package/dist/assets/gleam-DdIPhrNi.js +1 -0
  233. package/dist/assets/glimmer-js-BN-NGpp_.js +1 -0
  234. package/dist/assets/glimmer-ts-C9VChylV.js +1 -0
  235. package/dist/assets/globe-7UmDuKqs.js +1 -0
  236. package/dist/assets/glsl-CpFEXvu-.js +1 -0
  237. package/dist/assets/gn-pxGNTpNA.js +1 -0
  238. package/dist/assets/gnuplot-CGxnsTQL.js +1 -0
  239. package/dist/assets/go-DkMdryeU.js +1 -0
  240. package/dist/assets/graphql-V09t51SF.js +1 -0
  241. package/dist/assets/groovy-Dd5mdG4N.js +1 -0
  242. package/dist/assets/gruvbox-dark-hard-B20DGFjy.js +1 -0
  243. package/dist/assets/gruvbox-dark-medium-DQ-yywkT.js +1 -0
  244. package/dist/assets/gruvbox-dark-soft-CKAoLyhO.js +1 -0
  245. package/dist/assets/gruvbox-light-hard-DTReY2fY.js +1 -0
  246. package/dist/assets/gruvbox-light-medium-3mzIc6xO.js +1 -0
  247. package/dist/assets/gruvbox-light-soft-D41InbYG.js +1 -0
  248. package/dist/assets/hack-oitWBBvW.js +1 -0
  249. package/dist/assets/haml-CV2rgaHM.js +1 -0
  250. package/dist/assets/handlebars-BgAPxny7.js +1 -0
  251. package/dist/assets/haskell-I8C-JODX.js +1 -0
  252. package/dist/assets/hatching-screen-BYbFCv5M.js +1 -0
  253. package/dist/assets/haxe-CvAJ9gVe.js +1 -0
  254. package/dist/assets/hcl-COD-gUFt.js +1 -0
  255. package/dist/assets/hjson-BB-7M6Aw.js +1 -0
  256. package/dist/assets/hlsl-evA1LyhB.js +1 -0
  257. package/dist/assets/home-page-route-CW4m4-Ja.js +1 -0
  258. package/dist/assets/horizon-DiEWIIog.js +1 -0
  259. package/dist/assets/horizon-bright-ClSn0MBy.js +1 -0
  260. package/dist/assets/hosting-screen-Cl6VkyWS.js +1 -0
  261. package/dist/assets/houston-CL8GXgL9.js +1 -0
  262. package/dist/assets/html-B_nL9zO9.js +1 -0
  263. package/dist/assets/html-derivative-BWIcZuDp.js +1 -0
  264. package/dist/assets/http-CrTxb7et.js +1 -0
  265. package/dist/assets/hurl-B-EymzsD.js +1 -0
  266. package/dist/assets/hxml-CXbAEQJQ.js +1 -0
  267. package/dist/assets/hy-CLelu6yL.js +1 -0
  268. package/dist/assets/identity-page-route-BBY720B5.js +1 -0
  269. package/dist/assets/imba-DQ72tITW.js +1 -0
  270. package/dist/assets/index-C8e7KvxW.css +2 -0
  271. package/dist/assets/index-aLxsGtfC.js +119 -0
  272. package/dist/assets/ini-BXuaV21y.js +1 -0
  273. package/dist/assets/input-Wbm6eptw.js +1 -0
  274. package/dist/assets/inspect-page-sZtDl3Y1.js +2 -0
  275. package/dist/assets/integrations-page-B8SCBk4Y.js +1 -0
  276. package/dist/assets/intelligence-layout-3b4qm2Kl.js +1 -0
  277. package/dist/assets/java-BTrCroH7.js +1 -0
  278. package/dist/assets/javascript-CvaqMKLK.js +1 -0
  279. package/dist/assets/jinja-Dl-w9ndv.js +1 -0
  280. package/dist/assets/jison-DqiJxacS.js +1 -0
  281. package/dist/assets/json-BPes1XR5.js +1 -0
  282. package/dist/assets/json5-Bra3_FRS.js +1 -0
  283. package/dist/assets/jsonc-BfapMXPh.js +1 -0
  284. package/dist/assets/jsonl-BqVSdGk9.js +1 -0
  285. package/dist/assets/jsonnet-mH4WdtrV.js +1 -0
  286. package/dist/assets/jssm-BxRMgAQF.js +1 -0
  287. package/dist/assets/jsx-Geb0rb06.js +1 -0
  288. package/dist/assets/jsx-runtime-2-RJdKf7.js +1 -0
  289. package/dist/assets/julia-CRSYmK9Q.js +1 -0
  290. package/dist/assets/just-DwPU65eq.js +1 -0
  291. package/dist/assets/kanagawa-dragon-Tgm3mfbN.js +1 -0
  292. package/dist/assets/kanagawa-lotus-dJMGjVhA.js +1 -0
  293. package/dist/assets/kanagawa-wave-Ci4QO7t9.js +1 -0
  294. package/dist/assets/kdl-MiMB75si.js +1 -0
  295. package/dist/assets/kotlin-gUlkTc0q.js +1 -0
  296. package/dist/assets/kusto-CN_8kOel.js +1 -0
  297. package/dist/assets/laserwave-BOEefu-D.js +1 -0
  298. package/dist/assets/latex-kFHU0AiV.js +1 -0
  299. package/dist/assets/lean-BO7mZZoh.js +1 -0
  300. package/dist/assets/less-BBnf20HC.js +1 -0
  301. package/dist/assets/lib-CreNldEg.js +29 -0
  302. package/dist/assets/lib-DXeTRAgG.js +1 -0
  303. package/dist/assets/library-detail-page-V05KsJng.js +1 -0
  304. package/dist/assets/library-page-CP4sGQ5J.js +1 -0
  305. package/dist/assets/light-plus-CL09gsxH.js +1 -0
  306. package/dist/assets/link-2-nd9oRqHR.js +1 -0
  307. package/dist/assets/liquid-BqJmG_-p.js +1 -0
  308. package/dist/assets/llm-dimension-B9qfQX3Y.js +1 -0
  309. package/dist/assets/llvm-CeY51NZh.js +1 -0
  310. package/dist/assets/loader-circle-DaEOga2S.js +1 -0
  311. package/dist/assets/local-mode-BO8mMNsq.js +1 -0
  312. package/dist/assets/local-settings-CS-DDnd1.js +1 -0
  313. package/dist/assets/log-BdCwBbX4.js +1 -0
  314. package/dist/assets/login-flow-C9O7X98K.js +1 -0
  315. package/dist/assets/login-page-BPJpblPt.js +1 -0
  316. package/dist/assets/logo-BoxZga1S.js +1 -0
  317. package/dist/assets/logout-page-BOesBxfe.js +1 -0
  318. package/dist/assets/logs-layout-B43V0N93.js +1 -0
  319. package/dist/assets/lua-Bm8pAWjJ.js +1 -0
  320. package/dist/assets/luau-BDLcP78o.js +1 -0
  321. package/dist/assets/make-BACowfgt.js +1 -0
  322. package/dist/assets/markdown-Dhb8xNDt.js +1 -0
  323. package/dist/assets/marko-CtYsAbA9.js +1 -0
  324. package/dist/assets/material-theme-Ez0bd6Np.js +1 -0
  325. package/dist/assets/material-theme-darker-BrTZKIk1.js +1 -0
  326. package/dist/assets/material-theme-lighter-GBL_nuBb.js +1 -0
  327. package/dist/assets/material-theme-ocean-W4K6pv_o.js +1 -0
  328. package/dist/assets/material-theme-palenight-CE5pyPkh.js +1 -0
  329. package/dist/assets/matlab-oLNWLDxt.js +1 -0
  330. package/dist/assets/mdc-CIWadW2_.js +1 -0
  331. package/dist/assets/mdx-CCShXdHK.js +1 -0
  332. package/dist/assets/memory-router-playground-page-pa7bYqYJ.js +3 -0
  333. package/dist/assets/mermaid-iMeSjHhd.js +1 -0
  334. package/dist/assets/middleware-B7I04D_Q.js +1 -0
  335. package/dist/assets/min-dark-2BIYkZDD.js +1 -0
  336. package/dist/assets/min-light-D7jRpC7L.js +1 -0
  337. package/dist/assets/mipsasm-D32ZHktK.js +1 -0
  338. package/dist/assets/misc-C48PHiZA.js +1 -0
  339. package/dist/assets/mobile-sidebar-drawer-BPjlJDFT.js +1 -0
  340. package/dist/assets/modal-1PrCjlTg.js +1 -0
  341. package/dist/assets/mojo-DTv7azE-.js +1 -0
  342. package/dist/assets/monokai-C69QrEpq.js +1 -0
  343. package/dist/assets/moonbit-Drvpmm67.js +1 -0
  344. package/dist/assets/move-BoJQbLBf.js +1 -0
  345. package/dist/assets/narrat-CGvHu8pV.js +1 -0
  346. package/dist/assets/native-biometric-BPPNP_Sl.js +6 -0
  347. package/dist/assets/native-deep-link-ic-1ub-k.js +1 -0
  348. package/dist/assets/native-file-DAT4q2dZ.js +2 -0
  349. package/dist/assets/nextflow-CfF50ZWD.js +1 -0
  350. package/dist/assets/nextflow-groovy-TrjQfV-x.js +1 -0
  351. package/dist/assets/nginx-DolsBkZw.js +1 -0
  352. package/dist/assets/night-owl-Cm3tKSTe.js +1 -0
  353. package/dist/assets/night-owl-light-DL1zFuhS.js +1 -0
  354. package/dist/assets/nim-C2UmDq2M.js +1 -0
  355. package/dist/assets/nix-gE49qUYl.js +1 -0
  356. package/dist/assets/nord-hcMUEYjI.js +1 -0
  357. package/dist/assets/notice-whIbTA0N.js +1 -0
  358. package/dist/assets/notifications-page-BVWqstpZ.js +1 -0
  359. package/dist/assets/nushell-YGZpsKrm.js +1 -0
  360. package/dist/assets/oauth-complete-page-BKhMJwKk.js +105 -0
  361. package/dist/assets/oauth-popup-BD5GDUMi.js +1 -0
  362. package/dist/assets/oauth-popup-complete-page-BEJRVVVY.js +105 -0
  363. package/dist/assets/objective-c-C8_U-Oq6.js +1 -0
  364. package/dist/assets/objective-cpp-CTnjRelq.js +1 -0
  365. package/dist/assets/ocaml-CIH-y4RO.js +1 -0
  366. package/dist/assets/octagon-x-JZskQa-B.js +1 -0
  367. package/dist/assets/odin-xNGfOpBm.js +1 -0
  368. package/dist/assets/onboarding-layout-9Hg63IFb.js +1 -0
  369. package/dist/assets/one-dark-pro-vcbuKlOy.js +1 -0
  370. package/dist/assets/one-light-BVcy1mYE.js +1 -0
  371. package/dist/assets/openscad-ryRBrPrD.js +1 -0
  372. package/dist/assets/page-shell-CFZbOuiy.js +1 -0
  373. package/dist/assets/panel-item-ChHVXS-W.js +1 -0
  374. package/dist/assets/pascal-Dtt9frDg.js +1 -0
  375. package/dist/assets/password-reset-page-C-dZStkw.js +1 -0
  376. package/dist/assets/pdf-D2iKihRr.js +56 -0
  377. package/dist/assets/pencil-obxZd0L0.js +1 -0
  378. package/dist/assets/perl-bEEhNNIc.js +1 -0
  379. package/dist/assets/php-lzz2TUwQ.js +1 -0
  380. package/dist/assets/pkl-BPOm0CDI.js +1 -0
  381. package/dist/assets/plastic-BvPiAeG8.js +1 -0
  382. package/dist/assets/plsql-C0n-sewY.js +1 -0
  383. package/dist/assets/plugins-page-CH_Vocd5.js +1 -0
  384. package/dist/assets/po-DNpQeTYU.js +1 -0
  385. package/dist/assets/poimandres-CkMSnt1R.js +1 -0
  386. package/dist/assets/polar-DhQvttpS.js +1 -0
  387. package/dist/assets/portal-container-CYxfRy4f.js +1 -0
  388. package/dist/assets/postcss-CDzao07y.js +1 -0
  389. package/dist/assets/powerquery-0yv17wtC.js +1 -0
  390. package/dist/assets/powershell-CoAU4s9Q.js +1 -0
  391. package/dist/assets/pre-chat-flow-DLHzM5QY.js +1 -0
  392. package/dist/assets/prechat-D2oqOkVm.js +1 -0
  393. package/dist/assets/preload-helper-S68_7Byc.js +1 -0
  394. package/dist/assets/prisma-BT02a--B.js +1 -0
  395. package/dist/assets/privacy-page-C-Vj_p8l.js +1 -0
  396. package/dist/assets/privacy-screen-DWFpv0Fo.js +1 -0
  397. package/dist/assets/progress-bar-CgM2b0gB.js +1 -0
  398. package/dist/assets/prolog-H1D05Gz_.js +1 -0
  399. package/dist/assets/proto-CxS8PWa-.js +1 -0
  400. package/dist/assets/provider-callback-page-VFddaky4.js +1 -0
  401. package/dist/assets/provider-signup-page-CgDYbapA.js +1 -0
  402. package/dist/assets/public-asset-BYzGMAVy.js +1 -0
  403. package/dist/assets/pug-Du3Nit4O.js +1 -0
  404. package/dist/assets/puppet-B3d9-q2A.js +1 -0
  405. package/dist/assets/purescript-D_BNdk7z.js +1 -0
  406. package/dist/assets/python-Bex1-Oq0.js +1 -0
  407. package/dist/assets/qml-4L72CoUN.js +1 -0
  408. package/dist/assets/qmldir-DeiHaMqx.js +1 -0
  409. package/dist/assets/qss-DLk0oe6x.js +1 -0
  410. package/dist/assets/query-tags-D8ub83Qe.js +1 -0
  411. package/dist/assets/queryOptions-C9SyzZF9.js +1 -0
  412. package/dist/assets/r-DrmzhlcM.js +1 -0
  413. package/dist/assets/racket-4J6CwdmV.js +1 -0
  414. package/dist/assets/raku-DM8GLjLA.js +1 -0
  415. package/dist/assets/razor-nRRX0DFG.js +1 -0
  416. package/dist/assets/react-BD5vCCEH.js +1 -0
  417. package/dist/assets/react-dom-S1h5pQqq.js +1 -0
  418. package/dist/assets/react-query.gen-CaeZaVZK.js +1 -0
  419. package/dist/assets/react-query.gen-DA3VkUYA.js +1 -0
  420. package/dist/assets/red-C7bJmhtt.js +1 -0
  421. package/dist/assets/reg-DtQSbcdw.js +1 -0
  422. package/dist/assets/regexp-D1yQk9KY.js +1 -0
  423. package/dist/assets/rel-B5cTLqnC.js +1 -0
  424. package/dist/assets/resize-errors-DGTY2nAB.js +1 -0
  425. package/dist/assets/riscv-Bs7uVNV2.js +1 -0
  426. package/dist/assets/ron-DnVQvg3N.js +1 -0
  427. package/dist/assets/rose-pine-ClM-MJKX.js +1 -0
  428. package/dist/assets/rose-pine-dawn-ByNDqq_L.js +1 -0
  429. package/dist/assets/rose-pine-moon-CTzvG4V8.js +1 -0
  430. package/dist/assets/rosmsg-Dyz4B4pk.js +1 -0
  431. package/dist/assets/routes-CHnF8N9D.js +1 -0
  432. package/dist/assets/rst--ZORQ5yS.js +1 -0
  433. package/dist/assets/ruby-BfMO6qcI.js +1 -0
  434. package/dist/assets/rust-DO_lfDWX.js +1 -0
  435. package/dist/assets/sas-DZ8XHRjc.js +1 -0
  436. package/dist/assets/sass-D0v6FpTm.js +1 -0
  437. package/dist/assets/save-Df8bLDyG.js +1 -0
  438. package/dist/assets/scala-Cv_C__Vn.js +1 -0
  439. package/dist/assets/schedules-page-CYguL66k.js +1 -0
  440. package/dist/assets/scheme-Tf_7H8Hg.js +1 -0
  441. package/dist/assets/scss-hLIrK7lC.js +1 -0
  442. package/dist/assets/sdbl-D7AqUQ1Z.js +1 -0
  443. package/dist/assets/sdk.gen-LsY3RZ9d.js +6 -0
  444. package/dist/assets/sdk.gen-ONnYjEkg.js +1 -0
  445. package/dist/assets/semver-D9bo-f7O.js +1 -0
  446. package/dist/assets/settings-layout-CTEOskoj.js +1 -0
  447. package/dist/assets/shaderlab-D9aDW2b6.js +1 -0
  448. package/dist/assets/share-feedback-modal-B2uHY8-X.js +1 -0
  449. package/dist/assets/shellscript-CkL9lXSm.js +1 -0
  450. package/dist/assets/shellsession-BUDRJq28.js +1 -0
  451. package/dist/assets/sidebar-tree-BEaTbIwA.js +1 -0
  452. package/dist/assets/signals-B8JnlKDT.js +1 -0
  453. package/dist/assets/signup-page-DEuLzFY7.js +1 -0
  454. package/dist/assets/skill-detail-DgRyktTW.js +1 -0
  455. package/dist/assets/skills-page-BYdkBLR0.js +1 -0
  456. package/dist/assets/slack-dark-BZYmSreQ.js +1 -0
  457. package/dist/assets/slack-ochin-141qUvWP.js +1 -0
  458. package/dist/assets/smalltalk-BpKhbXk9.js +1 -0
  459. package/dist/assets/snazzy-light-C6W3FDJs.js +1 -0
  460. package/dist/assets/solarized-dark-CvRYuMr5.js +1 -0
  461. package/dist/assets/solarized-light-BrZYeWGp.js +1 -0
  462. package/dist/assets/solidity-BEwj5bU5.js +1 -0
  463. package/dist/assets/sounds-page-Duno_f9p.js +1 -0
  464. package/dist/assets/soy-dsk6RE9u.js +1 -0
  465. package/dist/assets/sparql-C95gzauI.js +1 -0
  466. package/dist/assets/splunk-X43VxyaD.js +1 -0
  467. package/dist/assets/sql-BbM3W9qz.js +1 -0
  468. package/dist/assets/src-D18r15rs.css +1 -0
  469. package/dist/assets/src-DzD6V_-s.js +292 -0
  470. package/dist/assets/ssh-config-xEesUMnx.js +1 -0
  471. package/dist/assets/stat-square-Di_bhDMh.js +1 -0
  472. package/dist/assets/stata-5DLAJEsU.js +1 -0
  473. package/dist/assets/step-indicator-dots-C5bemV-h.js +1 -0
  474. package/dist/assets/stylus-kaERDi0y.js +1 -0
  475. package/dist/assets/subagent-detail-panel-DIWBSLWn.js +4 -0
  476. package/dist/assets/surrealql-Bd5MMIOc.js +1 -0
  477. package/dist/assets/svelte-Db0PLX4z.js +1 -0
  478. package/dist/assets/swift-BauIFypW.js +1 -0
  479. package/dist/assets/synthwave-84-C8sViQ2U.js +1 -0
  480. package/dist/assets/system-events-page-DC6mlB3O.js +1 -0
  481. package/dist/assets/system-events-redirect-page-S94e1yM8.js +1 -0
  482. package/dist/assets/system-verilog-CpFKRfen.js +1 -0
  483. package/dist/assets/systemd-qI6s8zvr.js +1 -0
  484. package/dist/assets/tag-D_G_KF4_.js +1 -0
  485. package/dist/assets/talonscript-NlxFbnqo.js +1 -0
  486. package/dist/assets/target-uRVZvIcc.js +1 -0
  487. package/dist/assets/tasl-zK97s-oI.js +1 -0
  488. package/dist/assets/tcl-CyGMFep3.js +1 -0
  489. package/dist/assets/templ-DqszTP4R.js +1 -0
  490. package/dist/assets/terraform-ru__bYLC.js +1 -0
  491. package/dist/assets/tex-BKxy02eW.js +1 -0
  492. package/dist/assets/tiptap-document-editor-DqrxIFNH.js +274 -0
  493. package/dist/assets/toast-B74YN17b.js +1 -0
  494. package/dist/assets/toggle-Brqq7_4W.js +1 -0
  495. package/dist/assets/tokyo-night-DkrZxYbM.js +1 -0
  496. package/dist/assets/toml-CqdhxcbT.js +1 -0
  497. package/dist/assets/tool-detail-panel-CtJ0Mc2d.js +1 -0
  498. package/dist/assets/trace-page-Cw-wj7A7.js +1 -0
  499. package/dist/assets/ts-tags-CdR5yq4h.js +1 -0
  500. package/dist/assets/tsv-DzGUqBRN.js +1 -0
  501. package/dist/assets/tsx-BnfMflsQ.js +1 -0
  502. package/dist/assets/turtle-qlP_hCPz.js +1 -0
  503. package/dist/assets/twig-uOUM9nP_.js +1 -0
  504. package/dist/assets/typescript-DzaF40lK.js +1 -0
  505. package/dist/assets/typespec-DxkwZz32.js +1 -0
  506. package/dist/assets/typography-DEzNhGy_.js +1 -0
  507. package/dist/assets/typst-CjRZvpar.js +1 -0
  508. package/dist/assets/upgrade-cancel-page-DvdPrIVz.js +1 -0
  509. package/dist/assets/upgrade-success-page-Bawb68MQ.js +1 -0
  510. package/dist/assets/usage-page-BnW56hOn.js +1 -0
  511. package/dist/assets/use-current-platform-assistant-B8PKBExd.js +1 -0
  512. package/dist/assets/use-is-mobile-Dkb-QHwX.js +1 -0
  513. package/dist/assets/use-oauth-complete-deep-link-listener-CdJy7YJb.js +1 -0
  514. package/dist/assets/use-reduced-motion-C8MjY0gt.js +1 -0
  515. package/dist/assets/useMutation-DO5gkGJX.js +1 -0
  516. package/dist/assets/useQuery-Cihv2Mys.js +1 -0
  517. package/dist/assets/v-BHw8aKkn.js +1 -0
  518. package/dist/assets/vala-62mcSMXh.js +1 -0
  519. package/dist/assets/vb-R9JRY5dv.js +1 -0
  520. package/dist/assets/verilog-CBb5pO04.js +1 -0
  521. package/dist/assets/vesper-3VOUMDB2.js +1 -0
  522. package/dist/assets/vhdl-C_FT61W-.js +1 -0
  523. package/dist/assets/viml-DEQKYU1P.js +1 -0
  524. package/dist/assets/vitesse-black-Rgn8kizg.js +1 -0
  525. package/dist/assets/vitesse-dark-CfPYcErz.js +1 -0
  526. package/dist/assets/vitesse-light-DHXkidwh.js +1 -0
  527. package/dist/assets/voice-page-B4bYnhST.js +1 -0
  528. package/dist/assets/vue-BlLLuGzo.js +1 -0
  529. package/dist/assets/vue-html-qXCpw_5J.js +1 -0
  530. package/dist/assets/vue-vine-p-PcMUu-.js +1 -0
  531. package/dist/assets/vyper-rhxQa2DT.js +1 -0
  532. package/dist/assets/wand-sparkles-jBh4Oi5W.js +1 -0
  533. package/dist/assets/wasm-Wg1MAZEP.js +1 -0
  534. package/dist/assets/wasm-mG28qlcp.js +1 -0
  535. package/dist/assets/weather-forecast-display-BGHYvMUU.js +1 -0
  536. package/dist/assets/web-BUTlZuwF.js +1 -0
  537. package/dist/assets/web-BtTWxP77.js +1 -0
  538. package/dist/assets/web-DMfbmsYR.js +1 -0
  539. package/dist/assets/web-DV3iiXuP.js +1 -0
  540. package/dist/assets/web-DwEQfgUn.js +1 -0
  541. package/dist/assets/web-am9pHjIz.js +1 -0
  542. package/dist/assets/web-oo3gTRUT.js +1 -0
  543. package/dist/assets/welcome-screen-Csb7OEuR.js +1 -0
  544. package/dist/assets/wenyan-BZqJVxWr.js +1 -0
  545. package/dist/assets/wgsl-BwR2WZrW.js +1 -0
  546. package/dist/assets/wikitext-DJWsiwoA.js +1 -0
  547. package/dist/assets/wit-DVlt00VB.js +1 -0
  548. package/dist/assets/with-selector-CLdxmz2Q.js +1 -0
  549. package/dist/assets/wolfram-QTkYOFmX.js +1 -0
  550. package/dist/assets/workspace-page-Wx3-2mgb.js +1 -0
  551. package/dist/assets/x-CUFf_mCR.js +1 -0
  552. package/dist/assets/x-DMasRVxp.js +1 -0
  553. package/dist/assets/xml-ZpZBIidV.js +1 -0
  554. package/dist/assets/xsl-DLmLvndi.js +1 -0
  555. package/dist/assets/xterm-DQdPOO_X.js +7 -0
  556. package/dist/assets/xterm-addon-fit-hTsMfDk1.js +1 -0
  557. package/dist/assets/yaml-GNU-2TIP.js +1 -0
  558. package/dist/assets/zenscript-DIZc3H0b.js +1 -0
  559. package/dist/assets/zig-Br5kHs8v.js +1 -0
  560. package/dist/favicon.svg +28 -0
  561. package/dist/images/integrations/apple-notes.svg +1 -0
  562. package/dist/images/integrations/excel.svg +1 -0
  563. package/dist/images/integrations/figma.svg +8 -0
  564. package/dist/images/integrations/github-dark.svg +1 -0
  565. package/dist/images/integrations/github.svg +1 -0
  566. package/dist/images/integrations/gmail.svg +7 -0
  567. package/dist/images/integrations/google-calendar.svg +11 -0
  568. package/dist/images/integrations/google-drive.svg +8 -0
  569. package/dist/images/integrations/jira.svg +4 -0
  570. package/dist/images/integrations/linear-light-logo.svg +1 -0
  571. package/dist/images/integrations/notion.svg +4 -0
  572. package/dist/images/integrations/outlook.png +0 -0
  573. package/dist/images/integrations/slack.svg +22 -0
  574. package/dist/images/prior-assistants/chatgpt.svg +3 -0
  575. package/dist/images/prior-assistants/claude.svg +3 -0
  576. package/dist/images/prior-assistants/copilot.svg +3 -0
  577. package/dist/images/prior-assistants/gemini.svg +10 -0
  578. package/dist/images/prior-assistants/hermes.png +0 -0
  579. package/dist/images/prior-assistants/manus.svg +6 -0
  580. package/dist/images/prior-assistants/openclaw.png +0 -0
  581. package/dist/index.html +119 -0
  582. package/dist/login-background-characters.svg +41 -0
  583. package/dist/vellum-logo-white.svg +10 -0
  584. package/dist/vellum-logo.svg +8 -0
  585. package/package.json +10 -0
package/README.md ADDED
@@ -0,0 +1,226 @@
1
+ # apps/web
2
+
3
+ Vite + [React Router v7](https://reactrouter.com/) SPA for the
4
+ Vellum assistant web app (chat, settings, library, docs).
5
+
6
+ ## Stack
7
+
8
+ - [Vite](https://vite.dev/) for dev server and build.
9
+ - [React 19](https://react.dev/) +
10
+ [React Router v7](https://reactrouter.com/start/modes) in
11
+ **library / data-router mode** (`createBrowserRouter` +
12
+ `<RouterProvider>`).
13
+ - [Zustand](https://zustand.docs.pmnd.rs/) for shared client state
14
+ (messages, streaming, interactions, conversations). See
15
+ [`docs/STATE_MANAGEMENT.md`](./docs/STATE_MANAGEMENT.md) for store patterns.
16
+ - [TanStack React Query](https://tanstack.com/query/latest) for server
17
+ state (API calls, caching, mutations).
18
+ - [HeyAPI](https://heyapi.dev/) for OpenAPI client generation with
19
+ React Query plugin.
20
+ - TypeScript with `NodeNext` module resolution — relative imports use
21
+ `.js` extensions even for `.tsx` sources.
22
+ - Bun for dependency management; self-contained `bun.lock` per
23
+ [`apps/AGENTS.md`](../AGENTS.md).
24
+
25
+ ## Local development
26
+
27
+ ```bash
28
+ cd apps/web
29
+ bun install
30
+ bun run openapi-ts # generate API client (required before typecheck/dev)
31
+ bun run dev # Vite dev server on localhost:3000
32
+ ```
33
+
34
+ ### Connecting to a backend
35
+
36
+ The Vite dev server includes a built-in
37
+ [reverse proxy](https://vite.dev/config/server-options#server-proxy)
38
+ that forwards API paths (`/v1/*`, `/_allauth/*`, `/accounts/*`) to the
39
+ Django backend. This keeps all requests same-origin so session cookies
40
+ work automatically — no CORS configuration or HTTPS setup needed.
41
+
42
+ By default the proxy targets `http://localhost:8000`. To change it,
43
+ set `API_PROXY_TARGET` in a `.env` file (see
44
+ [`.env.example`](./.env.example)):
45
+
46
+ ```bash
47
+ # .env (not committed)
48
+ API_PROXY_TARGET=http://localhost:8000
49
+ ```
50
+
51
+ Browse to **http://localhost:3000** and log in normally.
52
+
53
+ > **Note:** Some API endpoints (avatar, feed, assistant state) return
54
+ > 404 unless the assistant daemon is running. This is expected in
55
+ > frontend-only mode — the core UI and auth flow work without the
56
+ > daemon.
57
+
58
+ ### How the proxy works
59
+
60
+ The client makes relative API requests (e.g. `fetch("/v1/feed")`).
61
+ In development, Vite's proxy intercepts these and forwards them to
62
+ the backend. In production, an infrastructure reverse proxy (nginx,
63
+ cloud LB, etc.) does the same routing. The client code is identical
64
+ in both environments — no environment-specific base URLs.
65
+
66
+ ```
67
+ Development: Browser ─► Vite :3000 ─(proxy)─► Django :8000
68
+ Production: Browser ─► Reverse proxy ─► Django
69
+ ```
70
+
71
+ Reference: [Vite server.proxy docs](https://vite.dev/config/server-options#server-proxy)
72
+
73
+ ### Other commands
74
+
75
+ ```bash
76
+ bun run build # Production build to dist/
77
+ bun run preview # Serve the production build locally
78
+ bun run typecheck # bunx tsc --noEmit
79
+ bun run lint # eslint
80
+ ```
81
+
82
+ ## Storybook
83
+
84
+ [Storybook](https://storybook.js.org/) provides isolated component
85
+ development for `apps/web` components — the ones tied to the app
86
+ (routing, stores, layout) that don't belong in
87
+ `@vellum/design-library`. Design-system primitives live in their own
88
+ Storybook (`packages/design-library`, port 6006).
89
+
90
+ ```bash
91
+ cd apps/web
92
+ bun run storybook # dev server → http://localhost:6007
93
+ bun run build-storybook # static build → storybook-static/
94
+ ```
95
+
96
+ Stories are colocated next to their components (`*.stories.tsx`).
97
+ Autodocs generates prop tables from TypeScript types automatically.
98
+
99
+ Use the **Theme** toolbar to switch between Light, Dark, and Velvet —
100
+ the wiring matches the design library Storybook so components render
101
+ with the same `data-theme` tokens they get in the running app. A
102
+ `MemoryRouter` decorator wraps every story so components using
103
+ `react-router` work without setup.
104
+
105
+ The Storybook also runs automatically as part of `vel up` (alongside
106
+ the design library Storybook on `:6006`) — see the
107
+ [`vel` README](https://github.com/vellum-ai/vellum-assistant-platform/blob/main/vel/README.md)
108
+ for the multi-service workflow.
109
+
110
+ ## Testing
111
+
112
+ ```bash
113
+ bun test # run all tests (single process, fast)
114
+ bun test src/path/to/file.test.ts # run one file
115
+ bun run test:ci # run each file in its own process (CI)
116
+ ```
117
+
118
+ Tests use [Bun's built-in test runner](https://bun.sh/docs/test) with
119
+ [happy-dom](https://github.com/nicedoc/happy-dom) providing browser
120
+ globals (`window`, `document`, `localStorage`, `fetch`, etc.) so
121
+ component and hook tests run without a real browser.
122
+
123
+ ### Why `test:ci`?
124
+
125
+ Bun's
126
+ [`mock.module()`](https://bun.sh/docs/test/mocking#mock-module)
127
+ mutates a process-global module registry — mocks set in one test file
128
+ leak into every subsequent file in the same process. `bun run test:ci`
129
+ runs each file in its own subprocess for full isolation. Use it when
130
+ the standard `bun test` shows cross-file contamination, or in CI where
131
+ deterministic results are required.
132
+
133
+ ## Architecture
134
+
135
+ See [`docs/CONVENTIONS.md`](./docs/CONVENTIONS.md) for code organization
136
+ (domain-based architecture), component conventions, and framework strategy.
137
+ See [`docs/STATE_MANAGEMENT.md`](./docs/STATE_MANAGEMENT.md) for state
138
+ patterns (Zustand + TanStack Query).
139
+
140
+ See [`docs/STYLE_GUIDE.md`](./docs/STYLE_GUIDE.md) for naming, imports,
141
+ TypeScript rules, and formatting.
142
+
143
+ **Feature boundaries are enforced by lint.** Each folder under
144
+ `src/domains/` is meant to be a self-contained feature — its own data,
145
+ components, hooks, and tests. When one feature reaches into another's
146
+ internals, that creates a hidden coupling: changing the source can
147
+ break the consumer, even though they're supposed to be independent.
148
+ The custom ESLint rule [`local/no-cross-domain-imports`](./eslint-rules/no-cross-domain-imports.mjs)
149
+ fails CI on any new `@/domains/<y>/...` import from inside
150
+ `src/domains/<x>/...` when `x !== y`. Existing legacy imports are
151
+ listed in [`.cross-domain-allowlist.json`](./.cross-domain-allowlist.json)
152
+ while we lift the shared pieces up to the top-level shared directories
153
+ (`hooks/`, `stores/`, `utils/`, `types/`, `components/`). That file
154
+ shrinks toward zero over time — fix violations rather than adding
155
+ entries to it. See [docs/CONVENTIONS.md](./docs/CONVENTIONS.md#how-to-decide-where-the-domain-split-is)
156
+ for the full reasoning and the lift-vs-compose decision tree.
157
+
158
+ ## Directory structure
159
+
160
+ ```
161
+ src/
162
+ App.tsx # root layout component
163
+ main.tsx # entry point (createRoot, RouterProvider)
164
+ routes.tsx # route tree (createBrowserRouter)
165
+ assistant/ # core domain — the assistant itself
166
+ stores/ # app-level Zustand stores (cross-domain)
167
+ domains/ # feature modules
168
+ messages/ # message lifecycle
169
+ conversations/ # conversation CRUD, grouping, selection
170
+ streaming/ # SSE transport, event parsing
171
+ interactions/ # user-facing prompts
172
+ hooks/ # cross-domain shared hooks
173
+ utils/ # cross-domain shared utilities
174
+ types/ # cross-domain shared types
175
+ lib/ # configured third-party wrappers
176
+ runtime/ # framework adapters, platform bridges
177
+ components/ # cross-domain shared UI
178
+ pages/ # route-level page components
179
+ generated/ # auto-generated code (HeyAPI) — gitignored
180
+ ```
181
+
182
+ ## Path alias
183
+
184
+ Use `@/` to import from `src/`:
185
+
186
+ ```ts
187
+ import { useMessageStore } from "@/domains/messages/message-store.js";
188
+ ```
189
+
190
+ Configured in both `vite.config.ts` (`resolve.alias`) and
191
+ `tsconfig.json` (`paths`) for editor support.
192
+
193
+ ## Why library mode?
194
+
195
+ React Router v7 ships two
196
+ [modes](https://reactrouter.com/start/modes): _library / data-router_
197
+ mode (pure-client SPA built around `createBrowserRouter`) and
198
+ _framework_ mode (file-based routes, generated types, per-route code
199
+ splitting).
200
+
201
+ Library mode is the established React SPA pattern. Fewer conventions
202
+ to learn, fewer build-time plugins, no generated types directory — the
203
+ more recognizable shape for contributors. Framework mode is a
204
+ defensible alternative when the app grows enough that per-route code
205
+ splitting becomes worth its conventions; the React Router API used in
206
+ day-to-day code (`<Link>`, `<Outlet>`, `useParams`, `useNavigate`) is
207
+ the same in both modes, so switching later is a restructure rather
208
+ than a rewrite.
209
+
210
+ ## Runtime/auth adapter seam
211
+
212
+ [`src/runtime/auth-adapter.ts`](src/runtime/auth-adapter.ts) defines a
213
+ typed `RuntimeAuthAdapter` interface (`ensureSession` +
214
+ `getAuthHeader`) so the shell does not hard-code hosted Vellum login.
215
+ Hosted, local, self-hosted, and Electron runtimes plug in via the same
216
+ interface from their respective hosts.
217
+
218
+ ## SSR/build-safe rendering
219
+
220
+ Even though this is an SPA, route and layout components must not
221
+ access `window` / `localStorage` / `document` during synchronous
222
+ render. Client-only reads belong in `useEffect` or in a runtime
223
+ adapter implementation. This keeps the door open for future static
224
+ prerendering or hybrid runtimes. See Vite's
225
+ [SSR guidance](https://vite.dev/guide/ssr.html) for the underlying
226
+ reasoning.
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BD5vCCEH.js";import{t as n}from"./jsx-runtime-2-RJdKf7.js";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},a=new class{#e=i;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function o(e){setTimeout(e,0)}var s=typeof window>`u`||`Deno`in globalThis;function c(){}function l(e,t){return typeof e==`function`?e(t):e}function u(e){return typeof e==`number`&&e>=0&&e!==1/0}function d(e,t){return Math.max(e+(t||0)-Date.now(),0)}function f(e,t){return typeof e==`function`?e(t):e}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==g(o,t.options))return!1}else if(!v(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function h(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(_(t.options.mutationKey)!==_(a))return!1}else if(!v(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function g(e,t){return(t?.queryKeyHashFn||_)(e)}function _(e){return JSON.stringify(e,(e,t)=>C(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function v(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>v(e[n],t[n])):!1}var y=Object.prototype.hasOwnProperty;function b(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=S(e)&&S(t);if(!r&&!(C(e)&&C(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:y.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=b(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function x(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function S(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function C(e){if(!w(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!w(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function w(e){return Object.prototype.toString.call(e)===`[object Object]`}function T(e){return new Promise(t=>{a.setTimeout(t,e)})}function E(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:b(e,t)}function D(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function O(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var k=Symbol();function A(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===k?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function j(e,t){return typeof e==`function`?e(...t):!!e}function M(e,t,n){let r=!1,i;return Object.defineProperty(e,`signal`,{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var N=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(!s&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}};function P(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var F=o;function I(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=F,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var L=I(),R=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(!s&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function z(e){return Math.min(1e3*2**e,3e4)}function B(e){return(e??`online`)===`online`?R.isOnline():!0}var V=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function H(e){let t=!1,n=0,r,i=P(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new V(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>N.isFocused()&&(e.networkMode===`always`||R.isOnline())&&e.canRun(),d=()=>B(e.networkMode)&&e.canRun(),f=e=>{a()||(r?.(),i.resolve(e))},p=e=>{a()||(r?.(),i.reject(e))},m=()=>new Promise(t=>{r=e=>{(a()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),h=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(a())return;let i=e.retry??(s?0:3),o=e.retryDelay??z,c=typeof o==`function`?o(n,r):o,l=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!l){p(r);return}n++,e.onFail?.(n,r),T(c).then(()=>u()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),i)}}var U=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),u(this.gcTime)&&(this.#e=a.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(s?1/0:300*1e3))}clearGcTimeout(){this.#e&&=(a.clearTimeout(this.#e),void 0)}},W=e(t(),1),G=n(),K=W.createContext(void 0),q=e=>{let t=W.useContext(K);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},J=({client:e,children:t})=>(W.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,G.jsx)(K.Provider,{value:e,children:t}));export{d as A,v as C,x as D,f as E,r as M,j as O,c as S,p as T,g as _,B as a,h as b,L as c,M as d,D as f,_ as g,l as h,V as i,a as j,k,P as l,A as m,q as n,H as o,O as p,U as r,R as s,J as t,N as u,s as v,E as w,m as x,u as y};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"ABAP","fileTypes":["abap","ABAP"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"abap","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"^\\\\*.*\\\\n?","name":"comment.line.full.abap"},{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"\\".*\\\\n?","name":"comment.line.partial.abap"},{"match":"(?<!\\\\S)##.*?(?=([,.:\\\\s]))","name":"comment.line.pragma.abap"},{"match":"(?i)(?<=[-~\\\\s])(?<=[-=]>)([/_a-z][/-9_a-z]*)(?=\\\\s+(?:|[-*+/]|&&?)=\\\\s+)","name":"variable.other.abap"},{"match":"\\\\b[0-9]+(\\\\b|[,.])","name":"constant.numeric.abap"},{"match":"(?i)(^|\\\\s+)((P(?:UBLIC|RIVATE|ROTECTED))\\\\sSECTION)(?=\\\\s+|[.:])","name":"storage.modifier.class.abap"},{"begin":"(?<!\\\\\\\\)(\\\\|)(.*?)","beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"end":"(?<!\\\\\\\\)(\\\\||(\\\\\\\\\\\\\\\\\\\\|))","endCaptures":{"1":{"name":"constant.character.escape.abap"}},"name":"string.interpolated.abap","patterns":[{"match":"(\\\\{ )|( })","name":"constant.character.escape"},{"match":"\\\\\\\\\\\\|","name":"constant.character.escape.abap"},{"match":"(?i)(?<=\\\\s)(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\\\\s=)","name":"entity.name.property.stringtemplate.abap"},{"match":"(?i)(?<==\\\\s)(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\\\\s)","name":"entity.value.property.stringtemplate.abap"}]},{"begin":"'","end":"'","name":"string.quoted.single.abap","patterns":[{"match":"''","name":"constant.character.escape.abap"}]},{"begin":"\`","end":"\`","name":"string.quoted.single.abap","patterns":[{"match":"\`\`","name":"constant.character.escape.abap"}]},{"begin":"(?i)^\\\\s*(class)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","name":"meta.block.begin.implementation.abap","patterns":[{"match":"(?i)(^|\\\\s+)(definition|implementation|public|inheriting\\\\s+from|final|deferred|abstract|shared\\\\s+memory\\\\s+enabled|(global|local)*\\\\s*friends|(create\\\\s+(p(?:ublic|rotected|rivate)))|for\\\\s+behavior\\\\s+of|for\\\\s+testing|risk\\\\s+level\\\\s+(critical|dangerous|harmless))|duration\\\\s(short|medium|long)(?=\\\\s+|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","contentName":"entity.name.type.block.abap","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(method)\\\\s(?:([/_a-z][/-9_a-z]*)~)?([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(BY(?:\\\\s+DATABASE(\\\\s+PROCEDURE|\\\\s+FUNCTION|\\\\s+GRAPH\\\\s+WORKSPACE)|\\\\s+KERNEL\\\\s+MODULE))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(FOR\\\\s+(HDB|LLANG))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=\\\\s)(OPTIONS\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\s+SYNTAX\\\\s+ERRORS))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(LANGUAGE\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"captures":{"1":{"name":"storage.modifier.method.abap"}},"match":"(?i)(?<=\\\\s)(USING)\\\\s+([/_a-z][/-9=>_a-z]*)+(?=\\\\s+|\\\\.)"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(INTERFACE)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(DEFERRED|PUBLIC)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"}]},{"begin":"(?i)^\\\\s*(FORM)\\\\s([/_a-z][-/-9?_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\s+|\\\\.)","name":"storage.modifier.form.abap"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}]},{"match":"(?i)(end(?:class|method|form|interface))","name":"storage.type.block.end.abap"},{"match":"(?i)(<[A-Z_a-z][0-9A-Z_a-z]*>)","name":"variable.other.field.symbol.abap"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"},{"include":"#sql_functions"},{"include":"#sql_types"}],"repository":{"abap_constants":{"match":"(?i)(?<=\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=[,.\\\\s])","name":"constant.language.abap"},"abaptypes":{"patterns":[{"match":"(?i)\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[,.\\\\s])","name":"support.type.abap"},{"match":"(?i)\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[,.\\\\s])","name":"keyword.control.simple.abap"}]},"arithmetic_operator":{"match":"(?i)(?<=\\\\s)([-*+]|\\\\*\\\\*|[%/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\s)","name":"keyword.control.simple.abap"},"builtin_functions":{"match":"(?i)(?<=\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\()","name":"entity.name.function.builtin.abap"},"comparison_operator":{"match":"(?i)(?<=\\\\s)([<>]|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|[moz])(?=\\\\s)","name":"keyword.control.simple.abap"},"control_keywords":{"match":"(?i)(^|\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[.:\\\\s])","name":"keyword.control.flow.abap"},"generic_names":{"match":"[A-Z_a-z][0-9A-Z_a-z]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}},"match":"(?i)\\\\b(data|value|field-symbol|final|reference|resumable)\\\\((<?[/_a-z][/-9_a-z]*>?)\\\\)"},"logical_operator":{"match":"(?i)(?<=\\\\s)(not|or|and)(?=\\\\s)","name":"keyword.control.simple.abap"},"main_keywords":{"match":"(?i)(?<=^|\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blanks??|blocks??|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-methods??|class-pool|cleanup|clear|clients??|clock|clone|close|cnt|code|collect|color|column|comments??|commit|common|communication|comparing|components??|compression|compute|concatenate|cond|condense|condition|connection|constants??|contexts??|controls??|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicates??|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|equiv|errors|escape|escaping|events??|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filters??|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frames??|free|from|full|function|function-pool|generate|get|giving|graph|groups??|handler??|hashed|having|headers??|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|includes??|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instances??|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|job|join|keep|keeping|kernel|keys??|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|legacy|length|let|levels??|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|locale??|locks??|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|methods??|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no-display|no-extension|no-gaps??|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|objects??|objmgr|obligatory|occurences??|occurrences??|occurs|of|offset|on|only|open|optional|options??|order|others|out|outer|output|output-length|overflow|overlay|pack|package|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|ranges??|read|read-only|received??|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|results??|resumable|resume|retry|return|returning|right|right-justified|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-sets??|selection-table|selections|send|separated??|session|set|shared|shift|shortdump|shortdump-id|sign|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statements??|statics??|statusinfo|step|step-loop|stop|structures??|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|tables??|tableview|tabstrip|target|tasks??|test|test-injection|test-seam|testing|text|textpool|then|throw|times??|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pools??|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|windows??|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[,.:\\\\s])","name":"keyword.control.simple.abap"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"match":"(?<=\\\\s)(&&?|\\\\?=|\\\\+=|-=|/=|\\\\*=|&&=|&=)(?=\\\\s)","name":"keyword.control.simple.abap"},"reserved_names":{"match":"(?i)(?<=\\\\s)(me|super)(?=[,.\\\\s]|->)","name":"constant.language.abap"},"sql_functions":{"match":"(?i)(?<=\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\()","name":"entity.name.function.sql.abap"},"sql_types":{"match":"(?i)(?<=\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[()\\\\s])","name":"entity.name.type.sql.abap"},"system_fields":{"captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}},"match":"(?i)\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=[.\\\\s])"},"text_symbols":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}},"match":"(?i)(?<=^|\\\\s)(text)-([0-9A-Z]{1,3})(?=[,.:\\\\s])"}},"scopeName":"source.abap"}`))];export{e as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BD5vCCEH.js";import{t as n}from"./chunk-5KNZJZUH-DdB2N3P3.js";import{d as r}from"./native-biometric-BPPNP_Sl.js";import{r as i}from"./routes-CHnF8N9D.js";import{n as a}from"./auth-store-Dy6ebqwf.js";import{t as o}from"./jsx-runtime-2-RJdKf7.js";import{tt as s}from"./index-aLxsGtfC.js";import{r as c,t as l}from"./account-shell-Dw8jAeLG.js";import{n as u,t as d}from"./login-flow-C9O7X98K.js";var f=e(t(),1),p=o();function m(){let e=a.use.isLoggedIn(),t=a.use.isLoading(),o=a.use.user(),m=a.use.logout(),[h,g]=(0,f.useState)(null),[_,v]=(0,f.useState)(!1),y=async()=>{g(null),v(!0);try{await r(u,d)}catch(e){console.error(`[account] auth flow failed:`,e),g(`Something went wrong. Please try again.`),v(!1)}};return t?(0,p.jsx)(l,{children:(0,p.jsx)(c,{title:`Loading...`})}):e?(0,p.jsxs)(l,{children:[(0,p.jsx)(c,{title:`Welcome${o?.username?`, ${o.username}`:``}!`,subtitle:`You are signed in.`}),(0,p.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,p.jsx)(n,{to:i.assistant,className:`inline-flex w-full items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Go to your assistant`}),(0,p.jsx)(`button`,{type:`button`,onClick:async()=>{await m(),s(i.account.login)},className:`cursor-pointer bg-transparent text-sm font-normal text-stone-400 transition-colors hover:text-stone-300`,children:`Sign out`})]})]}):(0,p.jsxs)(l,{children:[(0,p.jsx)(c,{title:`Welcome to Vellum`,subtitle:`Sign in to get started.`}),h&&(0,p.jsx)(`p`,{className:`text-center text-sm text-[var(--system-negative-strong)]`,children:h}),(0,p.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,p.jsx)(`button`,{type:`button`,onClick:()=>void y(),disabled:_,className:`inline-flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white transition-colors hover:bg-[var(--primary-hover)] disabled:opacity-50`,children:`Sign in`})})]})}export{m as AccountPage};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-2-RJdKf7.js";import"./src-DzD6V_-s.js";import{t}from"./notice-whIbTA0N.js";var n=e(),r=(0,n.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,n.jsx)(`path`,{d:`M7.5 15L12.5 10L7.5 5`,stroke:`currentColor`,strokeWidth:`1.67`,strokeLinecap:`round`,strokeLinejoin:`round`})});function i({onSubmit:e,error:i,children:a,submitLabel:o,submittingLabel:s,isSubmitting:c,footer:l}){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`form`,{onSubmit:e,className:`flex flex-col gap-4`,children:[i&&(0,n.jsx)(t,{tone:`error`,children:i}),(0,n.jsx)(`div`,{className:`flex flex-col gap-3`,children:a}),(0,n.jsxs)(`button`,{type:`submit`,disabled:c,className:`mt-2 inline-flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-white transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-wait disabled:opacity-50`,children:[c?s:o,r]})]}),l&&(0,n.jsx)(`div`,{className:`mt-8 text-center`,children:l})]})}function a(e){return(0,n.jsx)(`input`,{...e,className:`w-full rounded-lg border border-white/10 bg-white/5 px-4 py-3 text-sm text-white outline-none placeholder:text-stone-500 focus:border-forest-600/50`})}function o({title:e,subtitle:t}){return(0,n.jsxs)(`div`,{className:`mb-8 text-center`,children:[(0,n.jsx)(`h1`,{className:`mb-2 font-serif text-[2rem] font-bold italic text-white`,children:e}),t&&(0,n.jsx)(`p`,{className:`text-sm text-stone-400`,children:t})]})}function s({children:e}){return(0,n.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[#0d0d0d]`,children:(0,n.jsx)(`div`,{className:`w-full max-w-[480px] px-6`,children:(0,n.jsx)(`div`,{className:`flex flex-col items-center gap-10`,children:(0,n.jsx)(`div`,{className:`w-full`,children:e})})})})}export{a as i,i as n,o as r,s as t};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"ActionScript","fileTypes":["as"],"name":"actionscript-3","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"},{"include":"#import"},{"include":"#mxml"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"}],"repository":{"arithmetic_operators":{"match":"([-%+/]|(?<!:)\\\\*)","name":"keyword.operator.actionscript.3"},"array_access_operators":{"match":"([]\\\\[])","name":"keyword.operator.actionscript.3"},"class":{"begin":"(^|\\\\s+|;)(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(\\\\b(internal|public)\\\\b\\\\s+)?(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(?=\\\\bclass\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.class.actionscript.3","patterns":[{"include":"#class_declaration"},{"include":"#declaration_code_block"},{"include":"#metadata"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_operators"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"},{"include":"#object_literal"},{"include":"#conditional_compilation"}]},"class_declaration":{"begin":"\\\\b(class)\\\\b\\\\s+([$.0-9A-Z_a-z]+|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#implements"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","end":"\\\\*/","name":"comment.block.documentation.actionscript.3","patterns":[{"match":"@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\\\b","name":"keyword.other.documentation.actionscript.3.asdoc"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.actionscript.3"},{"match":"//.*","name":"comment.line.actionscript.3"}]},"conditional_compilation":{"captures":{"2":{"name":"constant.other.actionscript.3"},"3":{"name":"constant.other.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(\\\\w+)\\\\b::\\\\b(\\\\w+)\\\\b","name":"meta.conditional.actionscript.3"},"control_keywords":{"match":"\\\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\\\b","name":"keyword.control.actionscript.3"},"declaration_code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#method"},{"include":"#variable_declaration"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"dynamic_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"(?<=:)\\\\s*(\\\\*)"},"escapes":{"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.actionscript.3"},"extends":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(extends)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.extends.actionscript.3"},"function_arguments":{"begin":"\\\\(","end":"\\\\)","name":"meta.function_arguments.actionscript.3","patterns":[{"include":"#parameters"},{"include":"#comments"}]},"functions":{"begin":"\\\\b(function)\\\\b(?:\\\\s+\\\\b([gs]et)\\\\b\\\\s+)?\\\\s*([$0-9A-Z_a-z]+\\\\b)?","beginCaptures":{"1":{"name":"storage.type.function.actionscript.3"},"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"entity.name.function.actionscript.3"}},"end":"($|;|(?=\\\\{))","name":"meta.function.actionscript.3","patterns":[{"include":"#function_arguments"},{"include":"#return_type"},{"include":"#comments"}]},"guess_constant":{"captures":{"1":{"name":"constant.other.actionscript.3"}},"match":"\\\\b([$A-Z][0-9A-Z_]+)\\\\b"},"guess_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"\\\\b((?:[$0-9A-Z_a-z]+\\\\.)*[A-Z][0-9A-Z]*[a-z]+[$0-9A-Z_a-z]*)\\\\b"},"implements":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(implements)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.implements.actionscript.3"},"import":{"captures":{"2":{"name":"keyword.control.import.actionscript.3"},"3":{"name":"support.type.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(import)\\\\b\\\\s+([$.0-9A-Z_a-z]+(?:\\\\.\\\\*)?)\\\\s*(?=;|$)","name":"meta.import.actionscript.3"},"interface":{"begin":"(^|\\\\s+|;)(\\\\b(internal|public)\\\\b\\\\s+)?(?=\\\\binterface\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.interface.actionscript.3","patterns":[{"include":"#interface_declaration"},{"include":"#metadata"},{"include":"#functions"},{"include":"#comments"}]},"interface_declaration":{"begin":"\\\\b(interface)\\\\b\\\\s+([$.0-9A-Z_a-z]+)","beginCaptures":{"1":{"name":"storage.type.interface.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#comments"}]},"language_constants":{"match":"\\\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\\\b","name":"constant.language.actionscript.3"},"language_variables":{"match":"\\\\b(super|this|arguments)\\\\b","name":"variable.language.actionscript.3"},"local_code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#local_code_block"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"logical_operators":{"match":"([!\\\\&<>?^|~])","name":"keyword.operator.actionscript.3"},"metadata":{"begin":"(?<=(?:^|[;{}]|\\\\*/)\\\\s*)\\\\[\\\\s*\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.actionscript.3"}},"end":"]","name":"meta.metadata_info.actionscript.3","patterns":[{"include":"#metadata_info"}]},"metadata_info":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#strings"},{"captures":{"1":{"name":"variable.parameter.actionscript.3"},"2":{"name":"keyword.operator.actionscript.3"}},"match":"(\\\\w+)\\\\s*(=)"}]},"method":{"begin":"(^|\\\\s+)((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?(?=\\\\bfunction\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"storage.modifier.actionscript.3"}},"end":"(?<=([;}]))","name":"meta.method.actionscript.3","patterns":[{"include":"#functions"},{"include":"#local_code_block"}]},"mxml":{"begin":"<!\\\\[CDATA\\\\[","end":"]]>","name":"meta.cdata.actionscript.3","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#metadata"},{"include":"#class"},{"include":"#namespace_declaration"},{"include":"#use_namespace"},{"include":"#class_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_keywords"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"}]},"namespace_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"storage.modifier.actionscript.3"}},"match":"((\\\\w+)\\\\s+)?(namespace)\\\\s+[$0-9A-Z_a-z]+","name":"meta.namespace_declaration.actionscript.3"},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.actionscript.3"},"object_literal":{"begin":"\\\\{","end":"}","name":"meta.object_literal.actionscript.3","patterns":[{"include":"#object_literal"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#functions"}]},"other_keywords":{"match":"\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\b","name":"keyword.other.actionscript.3"},"other_operators":{"match":"([.=])","name":"keyword.operator.actionscript.3"},"package":{"begin":"(^|\\\\s+)(package)\\\\b","beginCaptures":{"2":{"name":"keyword.other.actionscript.3"}},"end":"}","name":"meta.package.actionscript.3","patterns":[{"include":"#package_name"},{"include":"#variable_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#return_type"},{"include":"#import"},{"include":"#use_namespace"},{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#metadata"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"}]},"package_name":{"begin":"(?<=package)\\\\s+([._\\\\w]*)\\\\b","end":"\\\\{","name":"meta.package_name.actionscript.3"},"parameters":{"begin":"(\\\\.\\\\.\\\\.)?\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\s*(:)\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)))?(?:\\\\s*(=))?","beginCaptures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"variable.parameter.actionscript.3"},"3":{"name":"keyword.operator.actionscript.3"},"4":{"name":"support.type.actionscript.3"},"5":{"name":"support.type.actionscript.3"},"6":{"name":"support.type.actionscript.3"},"7":{"name":"keyword.operator.actionscript.3"}},"end":",|(?=\\\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#comments"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#guess_type"},{"include":"#guess_constant"}]},"primitive_error_types":{"captures":{"1":{"name":"support.class.error.actionscript.3"}},"match":"\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\b"},"primitive_functions":{"captures":{"1":{"name":"support.function.actionscript.3"}},"match":"\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\s*\\\\()"},"primitive_types":{"captures":{"1":{"name":"support.class.builtin.actionscript.3"}},"match":"\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\*(?<=a))\\\\b"},"regexp":{"begin":"(?<=[(,:=\\\\[]|^|return|&&|\\\\|\\\\||!)\\\\s*(/)(?![*+/?{}])","end":"$|(/)[gim]*","name":"string.regex.actionscript.3","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.actionscript.3"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.character.class.actionscript.3"}]},"return_type":{"captures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"support.type.actionscript.3"},"3":{"name":"support.type.actionscript.3"},"4":{"name":"support.type.actionscript.3"}},"match":"(:)\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)"},"strings":{"patterns":[{"begin":"@\\"","end":"\\"","name":"string.quoted.verbatim.actionscript.3"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.actionscript.3","patterns":[{"include":"#escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.actionscript.3","patterns":[{"include":"#escapes"}]}]},"use_namespace":{"captures":{"2":{"name":"keyword.other.actionscript.3"},"3":{"name":"keyword.other.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"}},"match":"(^|\\\\s+|;)(use\\\\s+)?(namespace)\\\\s+(\\\\w+)\\\\s*(;|$)"},"variable_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"},"6":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"keyword.operator.actionscript.3"}},"match":"((static)\\\\s+)?((\\\\w+)\\\\s+)?((static)\\\\s+)?(const|var)\\\\s+[$0-9A-Z_a-z]+(?:\\\\s*(:))?","name":"meta.variable_declaration.actionscript.3"},"vector_creation_operators":{"match":"([<>])","name":"keyword.operator.actionscript.3"}},"scopeName":"source.actionscript.3"}`))];export{e as default};