@thaut/claude-ide 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/bin/claude-ide.js +23 -0
  2. package/package.json +75 -4
  3. package/server/add-dirs.ts +126 -0
  4. package/server/auth.test.ts +148 -0
  5. package/server/auth.ts +235 -0
  6. package/server/bang.ts +54 -0
  7. package/server/btw-instructions.ts +19 -0
  8. package/server/btw-policy.ts +17 -0
  9. package/server/btw.ts +143 -0
  10. package/server/child-env.ts +29 -0
  11. package/server/cli-control.ts +255 -0
  12. package/server/cli-files.ts +55 -0
  13. package/server/cli-info.ts +73 -0
  14. package/server/config/account.ts +65 -0
  15. package/server/config/agents.ts +186 -0
  16. package/server/config/mcp.ts +86 -0
  17. package/server/config/memory.ts +193 -0
  18. package/server/config/paths.ts +156 -0
  19. package/server/config/plugins.ts +204 -0
  20. package/server/config/routes.ts +95 -0
  21. package/server/config/settings.ts +246 -0
  22. package/server/config.ts +46 -0
  23. package/server/db.ts +121 -0
  24. package/server/directories.test.ts +180 -0
  25. package/server/directories.ts +87 -0
  26. package/server/dist-version.ts +69 -0
  27. package/server/durable-tasks.ts +61 -0
  28. package/server/file-transfers.ts +79 -0
  29. package/server/files.test.ts +127 -0
  30. package/server/files.ts +386 -0
  31. package/server/fs-queue.ts +14 -0
  32. package/server/fsutil.ts +144 -0
  33. package/server/git.ts +86 -0
  34. package/server/goal-state.test.ts +64 -0
  35. package/server/goal-state.ts +78 -0
  36. package/server/history-pages.test.ts +619 -0
  37. package/server/history-pages.ts +513 -0
  38. package/server/http-channel-manager.ts +468 -0
  39. package/server/http-channel-pull.test.ts +314 -0
  40. package/server/http-channel-push.test.ts +364 -0
  41. package/server/http-channel-registration.test.ts +291 -0
  42. package/server/http-channel-routes.ts +73 -0
  43. package/server/http-channel-store.ts +142 -0
  44. package/server/http-channel-test-fixture.ts +103 -0
  45. package/server/ide-messages-mcp.test.ts +82 -0
  46. package/server/ide-messages-mcp.ts +47 -0
  47. package/server/idecron-mcp.ts +65 -0
  48. package/server/idecron.test.ts +79 -0
  49. package/server/idecron.ts +271 -0
  50. package/server/index.ts +336 -0
  51. package/server/live-session.test.ts +1126 -0
  52. package/server/live-session.ts +1165 -0
  53. package/server/project-routes.ts +46 -0
  54. package/server/projects.test.ts +28 -0
  55. package/server/push.ts +315 -0
  56. package/server/report-cache.ts +28 -0
  57. package/server/session-aliases.test.ts +57 -0
  58. package/server/session-aliases.ts +50 -0
  59. package/server/session-branch.ts +71 -0
  60. package/server/session-dirs.ts +189 -0
  61. package/server/session-file.test.ts +134 -0
  62. package/server/session-file.ts +113 -0
  63. package/server/session-messaging.test.ts +297 -0
  64. package/server/session-messaging.ts +165 -0
  65. package/server/sessions.ts +638 -0
  66. package/server/subagents.test.ts +43 -0
  67. package/server/subagents.ts +58 -0
  68. package/server/tool-images.test.ts +76 -0
  69. package/server/tool-images.ts +45 -0
  70. package/server/turn-changes.ts +308 -0
  71. package/server/worktree-git.ts +87 -0
  72. package/server/worktrees.ts +138 -0
  73. package/server/ws.test.ts +195 -0
  74. package/server/ws.ts +197 -0
  75. package/shared/agent-model.ts +15 -0
  76. package/shared/agent-tasks.ts +12 -0
  77. package/shared/config.ts +175 -0
  78. package/shared/directories.ts +12 -0
  79. package/shared/files.ts +51 -0
  80. package/shared/http-channels.ts +63 -0
  81. package/shared/message-window.ts +189 -0
  82. package/shared/project.ts +77 -0
  83. package/shared/protocol.ts +203 -0
  84. package/shared/task-types.ts +4 -0
  85. package/shared/todos.ts +40 -0
  86. package/shared/write-policy.ts +9 -0
  87. package/web/dist/assets/AgentView-wrTKgcJ3.js +1 -0
  88. package/web/dist/assets/AnnotationSelection-BZmNmwVW.js +7 -0
  89. package/web/dist/assets/ChangesView-G1WTzh4q.js +2 -0
  90. package/web/dist/assets/FilesView-DPgAbYt_.js +6 -0
  91. package/web/dist/assets/Form-BKTwiYyw.js +1 -0
  92. package/web/dist/assets/HomePage-Dq2apjBe.js +1 -0
  93. package/web/dist/assets/Markdown-IwP-xF29.js +67 -0
  94. package/web/dist/assets/MessageList-DD9GypSy.js +15 -0
  95. package/web/dist/assets/Modal-g2rv8I_n.js +1 -0
  96. package/web/dist/assets/NotificationSettings-DpuLO_Bv.js +1 -0
  97. package/web/dist/assets/OverviewPage-Dx6miabE.js +1 -0
  98. package/web/dist/assets/ProjectHome-CousyTLL.js +1 -0
  99. package/web/dist/assets/SessionView-CPVL7_HO.js +2 -0
  100. package/web/dist/assets/SettingsPage-D_oYSnW2.js +7 -0
  101. package/web/dist/assets/WorktreesView-C7e0HV__.js +1 -0
  102. package/web/dist/assets/abap-CLvhMVsD.js +1 -0
  103. package/web/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
  104. package/web/dist/assets/ada-X3Y2mlq2.js +1 -0
  105. package/web/dist/assets/ahk-DwADkxyd.js +1 -0
  106. package/web/dist/assets/ahk2-_6rzW9BS.js +1 -0
  107. package/web/dist/assets/andromeeda-vGVdxbeo.js +1 -0
  108. package/web/dist/assets/angular-html-Cw29lun8.js +1 -0
  109. package/web/dist/assets/angular-ts-BXz-O3SJ.js +1 -0
  110. package/web/dist/assets/apache-U0d_L8uA.js +1 -0
  111. package/web/dist/assets/apex-KFGFyKwG.js +1 -0
  112. package/web/dist/assets/apl-xBchdRhy.js +1 -0
  113. package/web/dist/assets/applescript-CCn79oCD.js +1 -0
  114. package/web/dist/assets/ara-4CJ0cIlV.js +1 -0
  115. package/web/dist/assets/asciidoc-SCjQUq34.js +1 -0
  116. package/web/dist/assets/asm-Cmm7eHzH.js +1 -0
  117. package/web/dist/assets/astro-1q6DGuN3.js +1 -0
  118. package/web/dist/assets/aurora-x-CDeNXAV0.js +1 -0
  119. package/web/dist/assets/awk-BWXHIvNe.js +1 -0
  120. package/web/dist/assets/ayu-dark-DluEY0Gj.js +1 -0
  121. package/web/dist/assets/ayu-light-C3h-C4tm.js +1 -0
  122. package/web/dist/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  123. package/web/dist/assets/ballerina-B7ZEbQpA.js +1 -0
  124. package/web/dist/assets/bat-qdxAdBWQ.js +1 -0
  125. package/web/dist/assets/beancount-C2IN4Vk8.js +1 -0
  126. package/web/dist/assets/berry-DKpUyyne.js +1 -0
  127. package/web/dist/assets/bibtex-Ci_nEsc7.js +1 -0
  128. package/web/dist/assets/bicep-CUHmPFLl.js +1 -0
  129. package/web/dist/assets/bird2-CYIUgYqB.js +1 -0
  130. package/web/dist/assets/blade-Cqdv4oZN.js +1 -0
  131. package/web/dist/assets/bsl-CVED6lJ1.js +1 -0
  132. package/web/dist/assets/c-D9gIxSfx.js +1 -0
  133. package/web/dist/assets/c3-D0apG41V.js +1 -0
  134. package/web/dist/assets/cadence-CQ2zXKGN.js +1 -0
  135. package/web/dist/assets/cairo-DRAZz75c.js +1 -0
  136. package/web/dist/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  137. package/web/dist/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  138. package/web/dist/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  139. package/web/dist/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  140. package/web/dist/assets/chapel-CuseGurG.js +1 -0
  141. package/web/dist/assets/clarity-CtfBBspg.js +1 -0
  142. package/web/dist/assets/clojure-DqKBuwfJ.js +1 -0
  143. package/web/dist/assets/cmake-Bj61d0ZC.js +1 -0
  144. package/web/dist/assets/cobol-Bdpj3Qoh.js +1 -0
  145. package/web/dist/assets/codeowners-C8r90Shi.js +1 -0
  146. package/web/dist/assets/codeql-oeQT6MSM.js +1 -0
  147. package/web/dist/assets/coffee-Sk8pHFjs.js +1 -0
  148. package/web/dist/assets/common-lisp-Cv5bFMCO.js +1 -0
  149. package/web/dist/assets/coq-CGaSfhwR.js +1 -0
  150. package/web/dist/assets/core-BxI4V4-T.js +12 -0
  151. package/web/dist/assets/cpp-BQfBYKx3.js +1 -0
  152. package/web/dist/assets/crystal-B3j7DoOZ.js +1 -0
  153. package/web/dist/assets/csharp-dmMxLVLW.js +1 -0
  154. package/web/dist/assets/css-DpFbYmRh.js +1 -0
  155. package/web/dist/assets/csv-Dx-8-gkx.js +1 -0
  156. package/web/dist/assets/cue-CE9AQfxI.js +1 -0
  157. package/web/dist/assets/cypher-ClKdZ_lG.js +1 -0
  158. package/web/dist/assets/d-qD-0Kul2.js +1 -0
  159. package/web/dist/assets/dark-plus-Cs2F2srj.js +1 -0
  160. package/web/dist/assets/dart-CHZY9Xhz.js +1 -0
  161. package/web/dist/assets/dax-BkyTk9wS.js +1 -0
  162. package/web/dist/assets/desktop-Dlh5hvp9.js +1 -0
  163. package/web/dist/assets/diff-woXpYk--.js +1 -0
  164. package/web/dist/assets/docker-IyjqRm3v.js +1 -0
  165. package/web/dist/assets/dotenv-CuH5my32.js +1 -0
  166. package/web/dist/assets/dracula-BHWKrbxM.js +1 -0
  167. package/web/dist/assets/dracula-soft-5eyTD99u.js +1 -0
  168. package/web/dist/assets/dream-maker-DW3nJb8Q.js +1 -0
  169. package/web/dist/assets/edge-DXQWmXTB.js +1 -0
  170. package/web/dist/assets/elixir-CrDIY2Vo.js +1 -0
  171. package/web/dist/assets/elm-BslFEg8K.js +1 -0
  172. package/web/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  173. package/web/dist/assets/engine-javascript-DJg3-Vu2.js +141 -0
  174. package/web/dist/assets/erb-CUYhg0Ws.js +1 -0
  175. package/web/dist/assets/erlang-BXdgHVfi.js +1 -0
  176. package/web/dist/assets/everforest-dark-sB-x3p7T.js +1 -0
  177. package/web/dist/assets/everforest-light-Df2xbC6M.js +1 -0
  178. package/web/dist/assets/fennel-DQxkIbk2.js +1 -0
  179. package/web/dist/assets/fish-BJitypiv.js +1 -0
  180. package/web/dist/assets/fluent-C03EYrpw.js +1 -0
  181. package/web/dist/assets/format-DrBC7w0A.js +1 -0
  182. package/web/dist/assets/fortran-fixed-form-D6mN0kjy.js +1 -0
  183. package/web/dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
  184. package/web/dist/assets/fsharp-CwoEF39o.js +1 -0
  185. package/web/dist/assets/gdresource-CZkFGo3B.js +1 -0
  186. package/web/dist/assets/gdscript-DYvRD3hg.js +1 -0
  187. package/web/dist/assets/gdshader-CBce3t8t.js +1 -0
  188. package/web/dist/assets/genie-CV2tkWYe.js +1 -0
  189. package/web/dist/assets/gherkin-DExj1W_8.js +1 -0
  190. package/web/dist/assets/git-commit-dUGrvm6Q.js +1 -0
  191. package/web/dist/assets/git-rebase-4zCRqF28.js +1 -0
  192. package/web/dist/assets/github-dark-C-LZuMrd.js +1 -0
  193. package/web/dist/assets/github-dark-default-DXG-b-1a.js +1 -0
  194. package/web/dist/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  195. package/web/dist/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  196. package/web/dist/assets/github-light-EUqPIrTm.js +1 -0
  197. package/web/dist/assets/github-light-default-BXViO-2h.js +1 -0
  198. package/web/dist/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  199. package/web/dist/assets/gleam-CSRkHgEL.js +1 -0
  200. package/web/dist/assets/glimmer-js-7adTRvH4.js +1 -0
  201. package/web/dist/assets/glimmer-ts-IdSskDYw.js +1 -0
  202. package/web/dist/assets/glsl-Qzy53KDt.js +1 -0
  203. package/web/dist/assets/gn-CAXYAgV-.js +1 -0
  204. package/web/dist/assets/gnuplot-7GGW24-e.js +1 -0
  205. package/web/dist/assets/go-rLFTqkRN.js +1 -0
  206. package/web/dist/assets/graphql-CV_puxbB.js +1 -0
  207. package/web/dist/assets/groovy-CacY0gHj.js +1 -0
  208. package/web/dist/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  209. package/web/dist/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  210. package/web/dist/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  211. package/web/dist/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  212. package/web/dist/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  213. package/web/dist/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  214. package/web/dist/assets/hack-C5GPjiLV.js +1 -0
  215. package/web/dist/assets/haml-BQ5YR1DQ.js +1 -0
  216. package/web/dist/assets/handlebars-DnhRK9A1.js +1 -0
  217. package/web/dist/assets/haskell-D8IpX4py.js +1 -0
  218. package/web/dist/assets/haxe-C8oCnwJJ.js +1 -0
  219. package/web/dist/assets/hcl-Dh228itO.js +1 -0
  220. package/web/dist/assets/highlight.worker-CY-ZeDAl.js +1 -0
  221. package/web/dist/assets/hjson-CxZEssPk.js +1 -0
  222. package/web/dist/assets/hlsl-Cvrh5tZx.js +1 -0
  223. package/web/dist/assets/horizon-CE9ld1lL.js +1 -0
  224. package/web/dist/assets/horizon-bright-DSNQnXHK.js +1 -0
  225. package/web/dist/assets/houston-CsvMBhTu.js +1 -0
  226. package/web/dist/assets/html-CmHiEKV9.js +1 -0
  227. package/web/dist/assets/html-derivative-BXE-rYIK.js +1 -0
  228. package/web/dist/assets/http-DPjjqtcL.js +1 -0
  229. package/web/dist/assets/hurl-AMBpSloO.js +1 -0
  230. package/web/dist/assets/hxml-D7Y24wKF.js +1 -0
  231. package/web/dist/assets/hy-CZbG8q4J.js +1 -0
  232. package/web/dist/assets/imba-DsUTQ-LC.js +1 -0
  233. package/web/dist/assets/index-DNPnl4sh.css +2 -0
  234. package/web/dist/assets/index-DQh72lEx.js +14 -0
  235. package/web/dist/assets/ini-B5eOa1yu.js +1 -0
  236. package/web/dist/assets/java-CEM7Tdw_.js +1 -0
  237. package/web/dist/assets/javascript-CU3PLowd.js +1 -0
  238. package/web/dist/assets/jinja-fR0x_9Xy.js +1 -0
  239. package/web/dist/assets/jison-BoKsxs5M.js +1 -0
  240. package/web/dist/assets/json-BM2FWsRB.js +1 -0
  241. package/web/dist/assets/json5-BR5RXkoi.js +1 -0
  242. package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
  243. package/web/dist/assets/jsonl-CmCQp5Yx.js +1 -0
  244. package/web/dist/assets/jsonnet-CJTPZ8u_.js +1 -0
  245. package/web/dist/assets/jssm-DXw9l8Rf.js +1 -0
  246. package/web/dist/assets/jsx-B5fTecQP.js +1 -0
  247. package/web/dist/assets/julia-DGyDG39_.js +1 -0
  248. package/web/dist/assets/just-B-RyLcSR.js +1 -0
  249. package/web/dist/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  250. package/web/dist/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  251. package/web/dist/assets/kanagawa-wave-BML5mF2J.js +1 -0
  252. package/web/dist/assets/kdl-CsD5j6eV.js +1 -0
  253. package/web/dist/assets/kotlin-DhhofPvG.js +1 -0
  254. package/web/dist/assets/kusto-C7mF5XQf.js +1 -0
  255. package/web/dist/assets/langs-CciPKqaF.js +1 -0
  256. package/web/dist/assets/laserwave-C_8bwKvT.js +1 -0
  257. package/web/dist/assets/latex-CV1pQelm.js +1 -0
  258. package/web/dist/assets/lean-CewbzKMR.js +1 -0
  259. package/web/dist/assets/less-DVTAwKKz.js +1 -0
  260. package/web/dist/assets/lib-DlcVMUqT.js +1 -0
  261. package/web/dist/assets/light-plus-DVQuIRkW.js +1 -0
  262. package/web/dist/assets/liquid-9p05RSzQ.js +1 -0
  263. package/web/dist/assets/llvm-DqHOMS-s.js +1 -0
  264. package/web/dist/assets/log-BNLmms1o.js +1 -0
  265. package/web/dist/assets/logo-Cluzi2Zq.js +1 -0
  266. package/web/dist/assets/lua-CIPVh0S-.js +1 -0
  267. package/web/dist/assets/luau-VGWVLoqX.js +1 -0
  268. package/web/dist/assets/make-Dixweg8N.js +1 -0
  269. package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
  270. package/web/dist/assets/marko-h2h6YUMS.js +1 -0
  271. package/web/dist/assets/material-theme-Bm3Qr25_.js +1 -0
  272. package/web/dist/assets/material-theme-darker-2IIEA8gg.js +1 -0
  273. package/web/dist/assets/material-theme-lighter-uhdI0v04.js +1 -0
  274. package/web/dist/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  275. package/web/dist/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  276. package/web/dist/assets/matlab-D7qyCx1q.js +1 -0
  277. package/web/dist/assets/mdc-yAyZMdoC.js +1 -0
  278. package/web/dist/assets/mdx-DQZ5AkYe.js +1 -0
  279. package/web/dist/assets/mermaid-BxpfTIzt.js +1 -0
  280. package/web/dist/assets/message-font-size-DoaZfwkT.js +1 -0
  281. package/web/dist/assets/min-dark-BSWPekZh.js +1 -0
  282. package/web/dist/assets/min-light-DDpmG2fV.js +1 -0
  283. package/web/dist/assets/mipsasm-BMqwQI7S.js +1 -0
  284. package/web/dist/assets/mojo-fg40_ntQ.js +1 -0
  285. package/web/dist/assets/monokai-BscAjiQZ.js +1 -0
  286. package/web/dist/assets/moonbit-D9W784E_.js +1 -0
  287. package/web/dist/assets/move-BYnGhZoM.js +1 -0
  288. package/web/dist/assets/narrat-_X_XdTYD.js +1 -0
  289. package/web/dist/assets/nextflow-BoTnSBQ_.js +1 -0
  290. package/web/dist/assets/nextflow-groovy-D7IRt6Pp.js +1 -0
  291. package/web/dist/assets/nginx-jWINucNT.js +1 -0
  292. package/web/dist/assets/night-owl-DhmEMT88.js +1 -0
  293. package/web/dist/assets/night-owl-light-eJ-hLW7d.js +1 -0
  294. package/web/dist/assets/nim-Dtt9DZ0t.js +1 -0
  295. package/web/dist/assets/nix-Cl_7024t.js +1 -0
  296. package/web/dist/assets/nord-Cb4Vim4T.js +1 -0
  297. package/web/dist/assets/nsis-CjNLYCLg.js +1 -0
  298. package/web/dist/assets/nushell--0fT3PI1.js +1 -0
  299. package/web/dist/assets/objective-c-D1A_Heim.js +1 -0
  300. package/web/dist/assets/objective-cpp-BsSzOQcm.js +1 -0
  301. package/web/dist/assets/ocaml-O90oeIOV.js +1 -0
  302. package/web/dist/assets/odin-B1RWQWA5.js +1 -0
  303. package/web/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
  304. package/web/dist/assets/one-light-D7Lr4KcI.js +1 -0
  305. package/web/dist/assets/openscad-BUDT5pXO.js +1 -0
  306. package/web/dist/assets/org-ClD5huOa.js +1 -0
  307. package/web/dist/assets/pascal-4ZHwLPI5.js +1 -0
  308. package/web/dist/assets/perl-BFegxyeJ.js +1 -0
  309. package/web/dist/assets/php-B-qOA3Y4.js +1 -0
  310. package/web/dist/assets/pkl-ot-7Btpt.js +1 -0
  311. package/web/dist/assets/plastic-DQwYfKfQ.js +1 -0
  312. package/web/dist/assets/plsql-DGHpHOYJ.js +1 -0
  313. package/web/dist/assets/po-BiJDBrnU.js +1 -0
  314. package/web/dist/assets/poimandres-DRFjx7u4.js +1 -0
  315. package/web/dist/assets/polar-C7UOKdEL.js +1 -0
  316. package/web/dist/assets/postcss-BXeXVLqQ.js +1 -0
  317. package/web/dist/assets/powerquery-DNMTfnFr.js +1 -0
  318. package/web/dist/assets/powershell-QtSnmXcu.js +1 -0
  319. package/web/dist/assets/prisma-DMgNhnYS.js +1 -0
  320. package/web/dist/assets/prolog-iXnhIJG7.js +1 -0
  321. package/web/dist/assets/proto-DB4EqR-F.js +1 -0
  322. package/web/dist/assets/pug-Cq0NBPu-.js +1 -0
  323. package/web/dist/assets/puppet-CDv2pdJW.js +1 -0
  324. package/web/dist/assets/purescript-9MfHhQsQ.js +1 -0
  325. package/web/dist/assets/python-gzcpVVnB.js +1 -0
  326. package/web/dist/assets/qml-CYUsa87k.js +1 -0
  327. package/web/dist/assets/qmldir-DCQb3MpD.js +1 -0
  328. package/web/dist/assets/qss-Fe1Jh2GI.js +1 -0
  329. package/web/dist/assets/r-4xJhgbOf.js +1 -0
  330. package/web/dist/assets/racket-DcIDlBhZ.js +1 -0
  331. package/web/dist/assets/raku-B3gFvitq.js +1 -0
  332. package/web/dist/assets/razor-BlHaOHx8.js +1 -0
  333. package/web/dist/assets/rbs-C0MpOrj4.js +1 -0
  334. package/web/dist/assets/react-B4UGpcWC.js +1 -0
  335. package/web/dist/assets/red-CYlAq2b0.js +1 -0
  336. package/web/dist/assets/reg-CRGYupPL.js +1 -0
  337. package/web/dist/assets/regexp-BUSxjv2o.js +1 -0
  338. package/web/dist/assets/rel-BtDbiS_P.js +1 -0
  339. package/web/dist/assets/riscv-Ckw8ddFX.js +1 -0
  340. package/web/dist/assets/ron-VUp2lXgN.js +1 -0
  341. package/web/dist/assets/rose-pine-aMsaMD1D.js +1 -0
  342. package/web/dist/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  343. package/web/dist/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  344. package/web/dist/assets/rosmsg-CAekHB0j.js +1 -0
  345. package/web/dist/assets/rst-zjfguEh7.js +1 -0
  346. package/web/dist/assets/ruby-4oR9waBK.js +1 -0
  347. package/web/dist/assets/rust-DpiIf5JO.js +1 -0
  348. package/web/dist/assets/sas-Do4V_2i9.js +1 -0
  349. package/web/dist/assets/sass-DXrisJhu.js +1 -0
  350. package/web/dist/assets/scala-BiFt_7mu.js +1 -0
  351. package/web/dist/assets/scheme-DQCgrYNe.js +1 -0
  352. package/web/dist/assets/scss-CW6JPtag.js +1 -0
  353. package/web/dist/assets/sdbl-bTVj8UrX.js +1 -0
  354. package/web/dist/assets/shaderlab-C4rnI7x0.js +1 -0
  355. package/web/dist/assets/shellscript-zBmOMFJh.js +1 -0
  356. package/web/dist/assets/shellsession-DxGUTWaf.js +1 -0
  357. package/web/dist/assets/slack-dark-DnToyrRv.js +1 -0
  358. package/web/dist/assets/slack-ochin-B2OO5cIa.js +1 -0
  359. package/web/dist/assets/smalltalk-BHpQb5nM.js +1 -0
  360. package/web/dist/assets/smithy-Dgaz7aur.js +1 -0
  361. package/web/dist/assets/snazzy-light-4G7pJPwS.js +1 -0
  362. package/web/dist/assets/solarized-dark-b97czJOk.js +1 -0
  363. package/web/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
  364. package/web/dist/assets/solidity-Bj7E1mRn.js +1 -0
  365. package/web/dist/assets/soy-DVtw20Yn.js +1 -0
  366. package/web/dist/assets/sparql-C0ia5K60.js +1 -0
  367. package/web/dist/assets/splunk-BC2Px7Mm.js +1 -0
  368. package/web/dist/assets/sql-DGCM-jag.js +1 -0
  369. package/web/dist/assets/ssh-config-BgfXC-Er.js +1 -0
  370. package/web/dist/assets/stata-DfuMOXna.js +1 -0
  371. package/web/dist/assets/stylus-B6D30XZt.js +1 -0
  372. package/web/dist/assets/surrealql-CBoRWxfR.js +1 -0
  373. package/web/dist/assets/svelte-g_uCUem5.js +1 -0
  374. package/web/dist/assets/swift-CyEgAFGc.js +1 -0
  375. package/web/dist/assets/synthwave-84-nFMaYfgc.js +1 -0
  376. package/web/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
  377. package/web/dist/assets/systemd-BxMlprV5.js +1 -0
  378. package/web/dist/assets/talonscript-CohzipZa.js +1 -0
  379. package/web/dist/assets/tasl-DMoTqEGO.js +1 -0
  380. package/web/dist/assets/tcl-CZd0xW_V.js +1 -0
  381. package/web/dist/assets/templ-N5C1hJ4Y.js +1 -0
  382. package/web/dist/assets/terraform-DswuEJGm.js +1 -0
  383. package/web/dist/assets/tex-mx6xDwuK.js +1 -0
  384. package/web/dist/assets/themes-CNElGaXw.js +1 -0
  385. package/web/dist/assets/tokyo-night-oM2G3aXe.js +1 -0
  386. package/web/dist/assets/toml-CcmNWLt0.js +1 -0
  387. package/web/dist/assets/ts-tags-C-j71FRb.js +1 -0
  388. package/web/dist/assets/tsv-sltzmVWM.js +1 -0
  389. package/web/dist/assets/tsx-z04y7qR9.js +1 -0
  390. package/web/dist/assets/turtle-ByJddavk.js +1 -0
  391. package/web/dist/assets/twig-Bz57G_nl.js +1 -0
  392. package/web/dist/assets/typescript-RMqVTmzR.js +1 -0
  393. package/web/dist/assets/typespec-BGhR2SqG.js +1 -0
  394. package/web/dist/assets/typst-BgkqA2Pg.js +1 -0
  395. package/web/dist/assets/v-DBj4K9d_.js +1 -0
  396. package/web/dist/assets/vala-zf12oZj6.js +1 -0
  397. package/web/dist/assets/vb-DOwzaHZ0.js +1 -0
  398. package/web/dist/assets/verilog-B2gwz-sJ.js +1 -0
  399. package/web/dist/assets/vesper-DdrHHSXu.js +1 -0
  400. package/web/dist/assets/vhdl-BroJfC0k.js +1 -0
  401. package/web/dist/assets/viml-DvXPmvsu.js +1 -0
  402. package/web/dist/assets/vitesse-black-fwtXNY1n.js +1 -0
  403. package/web/dist/assets/vitesse-dark-BZCL-v6S.js +1 -0
  404. package/web/dist/assets/vitesse-light-VbXTXTou.js +1 -0
  405. package/web/dist/assets/vue-CQgvQytb.js +1 -0
  406. package/web/dist/assets/vue-html-Dhl6fh9l.js +1 -0
  407. package/web/dist/assets/vue-vine-Dw_uU59K.js +1 -0
  408. package/web/dist/assets/vyper-CgoNMtux.js +1 -0
  409. package/web/dist/assets/wasm-ByWQv1Qj.js +1 -0
  410. package/web/dist/assets/wenyan-C8pVoKbM.js +1 -0
  411. package/web/dist/assets/wgsl-BsKzXJz4.js +1 -0
  412. package/web/dist/assets/wikitext-ClFFjSW2.js +1 -0
  413. package/web/dist/assets/wit-DdvCle-K.js +1 -0
  414. package/web/dist/assets/wolfram-DLL8P-h_.js +1 -0
  415. package/web/dist/assets/xml-B49klYQ3.js +1 -0
  416. package/web/dist/assets/xsl-D7tnD3qq.js +1 -0
  417. package/web/dist/assets/yaml-DNQ5_xkL.js +1 -0
  418. package/web/dist/assets/zenscript-BnlCZFoB.js +1 -0
  419. package/web/dist/assets/zig-CMLA9XwU.js +1 -0
  420. package/web/dist/icons/apple-touch-icon.png +0 -0
  421. package/web/dist/icons/badge-96.png +0 -0
  422. package/web/dist/icons/icon-192.png +0 -0
  423. package/web/dist/icons/icon-512.png +0 -0
  424. package/web/dist/icons/icon.svg +4 -0
  425. package/web/dist/icons/maskable-192.png +0 -0
  426. package/web/dist/icons/maskable-512.png +0 -0
  427. package/web/dist/index.html +30 -0
  428. package/web/dist/manifest.webmanifest +20 -0
  429. package/web/dist/sw.js +176 -0
  430. package/web/dist/version.json +1 -0
  431. package/web/src/App.tsx +97 -0
  432. package/web/src/agent-history-flow.test.ts +191 -0
  433. package/web/src/agent-history-flow.ts +58 -0
  434. package/web/src/agent-owners.ts +30 -0
  435. package/web/src/annotation-selection.test.ts +36 -0
  436. package/web/src/annotation-selection.ts +123 -0
  437. package/web/src/annotations.test.ts +279 -0
  438. package/web/src/annotations.ts +191 -0
  439. package/web/src/api.ts +27 -0
  440. package/web/src/auth-events.ts +11 -0
  441. package/web/src/auth-lifecycle.test.ts +105 -0
  442. package/web/src/clipboard.ts +32 -0
  443. package/web/src/components/ActivityNotifier.tsx +22 -0
  444. package/web/src/components/AnnotationEditor.tsx +135 -0
  445. package/web/src/components/AnnotationSelection.tsx +122 -0
  446. package/web/src/components/Automation.tsx +390 -0
  447. package/web/src/components/CodeView.tsx +121 -0
  448. package/web/src/components/Composer.tsx +552 -0
  449. package/web/src/components/ComposerAnnotations.tsx +45 -0
  450. package/web/src/components/Confirmation.tsx +91 -0
  451. package/web/src/components/CopyButton.tsx +23 -0
  452. package/web/src/components/DiffView.tsx +94 -0
  453. package/web/src/components/DirectoryPicker.tsx +230 -0
  454. package/web/src/components/FileCopyMenu.tsx +58 -0
  455. package/web/src/components/FileEntryActions.tsx +95 -0
  456. package/web/src/components/ImagePreview.tsx +68 -0
  457. package/web/src/components/Items.tsx +608 -0
  458. package/web/src/components/Markdown.tsx +73 -0
  459. package/web/src/components/MessageList.tsx +458 -0
  460. package/web/src/components/Modal.tsx +72 -0
  461. package/web/src/components/NotificationEntry.tsx +31 -0
  462. package/web/src/components/NotificationSettings.tsx +226 -0
  463. package/web/src/components/NotificationToasts.tsx +59 -0
  464. package/web/src/components/OpenTabs.tsx +112 -0
  465. package/web/src/components/Pending.tsx +175 -0
  466. package/web/src/components/ProjectExtras.tsx +299 -0
  467. package/web/src/components/ProjectNav.tsx +47 -0
  468. package/web/src/components/SessionActions.tsx +271 -0
  469. package/web/src/components/SessionChannels.tsx +288 -0
  470. package/web/src/components/SessionExtras.tsx +263 -0
  471. package/web/src/components/SettingsLink.tsx +21 -0
  472. package/web/src/components/Shell.tsx +320 -0
  473. package/web/src/components/SvgPreview.tsx +18 -0
  474. package/web/src/components/TodoPanel.tsx +37 -0
  475. package/web/src/components/VersionNotice.tsx +40 -0
  476. package/web/src/components/icons.tsx +43 -0
  477. package/web/src/diff.ts +62 -0
  478. package/web/src/drafts.test.ts +80 -0
  479. package/web/src/drafts.ts +64 -0
  480. package/web/src/format.ts +5 -0
  481. package/web/src/highlight.worker.ts +49 -0
  482. package/web/src/hooks.ts +59 -0
  483. package/web/src/item-view-state.test.ts +51 -0
  484. package/web/src/item-view-state.ts +43 -0
  485. package/web/src/live-history-flow.test.ts +77 -0
  486. package/web/src/live-merge.test.ts +64 -0
  487. package/web/src/live-merge.ts +50 -0
  488. package/web/src/live-message-hydration.test.ts +253 -0
  489. package/web/src/live.ts +404 -0
  490. package/web/src/main.tsx +27 -0
  491. package/web/src/markdown-assets.test.ts +70 -0
  492. package/web/src/markdown-assets.ts +78 -0
  493. package/web/src/markdown-html.test.ts +84 -0
  494. package/web/src/markdown-html.ts +60 -0
  495. package/web/src/markdown-svg.test.ts +37 -0
  496. package/web/src/markdown-svg.ts +42 -0
  497. package/web/src/markdown-tables.test.ts +34 -0
  498. package/web/src/markdown-tables.ts +17 -0
  499. package/web/src/message-bodies.ts +117 -0
  500. package/web/src/message-cache.test.ts +208 -0
  501. package/web/src/message-cache.ts +158 -0
  502. package/web/src/message-font-size.test.ts +41 -0
  503. package/web/src/message-font-size.ts +57 -0
  504. package/web/src/message-time.test.ts +32 -0
  505. package/web/src/message-time.ts +26 -0
  506. package/web/src/notify.ts +132 -0
  507. package/web/src/open-tabs.test.ts +69 -0
  508. package/web/src/open-tabs.ts +110 -0
  509. package/web/src/pages/AgentView.tsx +138 -0
  510. package/web/src/pages/ChangesView.tsx +193 -0
  511. package/web/src/pages/FilesView.tsx +406 -0
  512. package/web/src/pages/HomePage.tsx +96 -0
  513. package/web/src/pages/LoginPage.tsx +56 -0
  514. package/web/src/pages/OverviewPage.tsx +124 -0
  515. package/web/src/pages/ProjectHome.tsx +136 -0
  516. package/web/src/pages/SessionView.tsx +238 -0
  517. package/web/src/pages/WorktreesView.tsx +197 -0
  518. package/web/src/pages/settings/AccountPage.tsx +149 -0
  519. package/web/src/pages/settings/AgentsPage.tsx +182 -0
  520. package/web/src/pages/settings/ConfigPage.tsx +181 -0
  521. package/web/src/pages/settings/GeneralPage.tsx +27 -0
  522. package/web/src/pages/settings/HooksPage.tsx +244 -0
  523. package/web/src/pages/settings/McpPage.tsx +310 -0
  524. package/web/src/pages/settings/MemoryPage.tsx +309 -0
  525. package/web/src/pages/settings/PermissionsPage.tsx +160 -0
  526. package/web/src/pages/settings/PluginsPage.tsx +251 -0
  527. package/web/src/pages/settings/SettingsPage.tsx +141 -0
  528. package/web/src/pages/settings/SkillsPage.tsx +142 -0
  529. package/web/src/pages/settings/ui.tsx +165 -0
  530. package/web/src/preference-document.ts +133 -0
  531. package/web/src/project-actions.ts +18 -0
  532. package/web/src/project-files-state.test.ts +49 -0
  533. package/web/src/project-files-state.ts +64 -0
  534. package/web/src/project-images.ts +13 -0
  535. package/web/src/pwa.ts +33 -0
  536. package/web/src/queryClient.ts +5 -0
  537. package/web/src/reasoning-preference.test.ts +39 -0
  538. package/web/src/reasoning-preference.ts +42 -0
  539. package/web/src/session-confirmations.ts +36 -0
  540. package/web/src/stream-replay.test.ts +163 -0
  541. package/web/src/styles.css +231 -0
  542. package/web/src/tool-result-body.test.ts +115 -0
  543. package/web/src/transcript.test.ts +186 -0
  544. package/web/src/transcript.ts +583 -0
  545. package/web/src/turns.test.ts +338 -0
  546. package/web/src/turns.ts +178 -0
  547. package/web/src/ui/Button.tsx +60 -0
  548. package/web/src/ui/Controls.tsx +227 -0
  549. package/web/src/ui/Form.tsx +203 -0
  550. package/web/src/ui/MenuPopover.tsx +144 -0
  551. package/web/src/ui/Popover.tsx +147 -0
  552. package/web/src/ui/ResizablePane.tsx +110 -0
  553. package/web/src/ui/Select.tsx +150 -0
  554. package/web/src/ui/icons.tsx +270 -0
  555. package/web/src/unsaved.tsx +99 -0
  556. package/web/src/user-text.test.ts +60 -0
  557. package/web/src/user-text.ts +35 -0
  558. package/web/src/uuid.ts +12 -0
  559. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ import{t as e}from"./java-CEM7Tdw_.js";import{t}from"./core-BxI4V4-T.js";var n=/* @__PURE__ */ t({default:()=>i});const r=Object.freeze(JSON.parse(`{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\\\s+(%\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\s+(?:SYSTEM|PUBLIC)\\\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`));var i=[...e,r];export{n,i as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./xml-B49klYQ3.js";const t=Object.freeze(JSON.parse(`{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`));var n=[...e,t];export{n as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./core-BxI4V4-T.js";var t=/* @__PURE__ */ e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`))];export{t as n,n as t};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"ZenScript","fileTypes":["zs"],"name":"zenscript","patterns":[{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\b","name":"constant.numeric.zenscript"},{"match":"\\\\b-?(0[BOXbox])(0|[1-9A-Fa-f][_\\\\h]*)[A-Z_a-z]*\\\\b","name":"constant.numeric.zenscript"},{"include":"#code"},{"match":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)(?=\\\\[)","name":"storage.type.object.array.zenscript"}],"repository":{"brackets":{"patterns":[{"captures":{"1":{"name":"keyword.control.zenscript"},"2":{"name":"keyword.other.zenscript"},"3":{"name":"keyword.control.zenscript"},"4":{"name":"variable.other.zenscript"},"5":{"name":"keyword.control.zenscript"},"6":{"name":"constant.numeric.zenscript"},"7":{"name":"keyword.control.zenscript"}},"match":"(<)\\\\b(.*?)(:(.*?(:(\\\\*|\\\\d+)?)?)?)(>)","name":"keyword.other.zenscript"}]},"class":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"entity.name.type.class.zenscript"}},"match":"(zenClass)\\\\s+(\\\\w+)","name":"meta.class.zenscript"},"code":{"patterns":[{"include":"#class"},{"include":"#functions"},{"include":"#dots"},{"include":"#quotes"},{"include":"#brackets"},{"include":"#comments"},{"include":"#var"},{"include":"#keywords"},{"include":"#constants"},{"include":"#operators"}]},"comments":{"patterns":[{"match":"//[^\\\\n]*","name":"comment.line.double=slash"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"comment.block"}},"end":"\\\\*/","endCaptures":{"0":{"name":"comment.block"}},"name":"comment.block"}]},"dots":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"keyword.control.zenscript"},"5":{"name":"keyword.control.zenscript"}},"match":"\\\\b(\\\\w+)(\\\\.)(\\\\w+)((\\\\.)(\\\\w+))*","name":"plain.text.zenscript"},"functions":{"captures":{"0":{"name":"storage.type.function.zenscript"},"1":{"name":"entity.name.function.zenscript"}},"match":"function\\\\s+([$A-Z_a-z][$\\\\w]*)\\\\s*(?=\\\\()","name":"meta.function.zenscript"},"keywords":{"patterns":[{"match":"\\\\b(instanceof|get|implements|set|import|function|override|const|if|else|do|while|for|throw|panic|lock|try|catch|finally|return|break|continue|switch|case|default|in|is|as|match|throws|super|new)\\\\b","name":"keyword.control.zenscript"},{"match":"\\\\b(zenClass|zenConstructor|alias|class|interface|enum|struct|expand|variant|set|void|bool|byte|sbyte|short|ushort|int|uint|long|ulong|usize|float|double|char|string)\\\\b","name":"storage.type.zenscript"},{"match":"\\\\b(variant|abstract|final|private|public|export|internal|static|protected|implicit|virtual|extern|immutable)\\\\b","name":"storage.modifier.zenscript"},{"match":"\\\\b(Native|Precondition)\\\\b","name":"entity.other.attribute-name"},{"match":"\\\\b(null|true|false)\\\\b","name":"constant.language"}]},"operators":{"patterns":[{"match":"\\\\b(\\\\.\\\\.??|\\\\.\\\\.\\\\.|[+,]|\\\\+=|\\\\+\\\\+|-=??|--|~=??|\\\\*=??|/=??|%=??|\\\\|=??|\\\\|\\\\||&=??|&&|\\\\^=??|\\\\?\\\\.??|\\\\?\\\\?|<=??|<<=??|>=??|>>=??|>>>=??|=>?|===??|!=??|!==|[$\`])\\\\b","name":"keyword.control"},{"match":"\\\\b([:;])\\\\b","name":"keyword.control"}]},"quotes":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.double.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.single.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]}]},"var":{"match":"\\\\b(va[lr])\\\\b","name":"storage.type"}},"scopeName":"source.zenscript"}`))];export{e as default};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"Zig","fileTypes":["zig","zon"],"name":"zig","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#operators"},{"include":"#punctuation"},{"include":"#numbers"},{"include":"#support"},{"include":"#variables"}],"repository":{"commentContents":{"patterns":[{"match":"\\\\b(TODO|FIXME|XXX|NOTE)\\\\b:?","name":"keyword.todo.zig"}]},"comments":{"patterns":[{"begin":"//[!/](?=[^/])","end":"$","name":"comment.line.documentation.zig","patterns":[{"include":"#commentContents"}]},{"begin":"//","end":"$","name":"comment.line.double-slash.zig","patterns":[{"include":"#commentContents"}]}]},"keywords":{"patterns":[{"match":"\\\\binline\\\\b(?!\\\\s*\\\\bfn\\\\b)","name":"keyword.control.repeat.zig"},{"match":"\\\\b(while|for)\\\\b","name":"keyword.control.repeat.zig"},{"match":"\\\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\\\b","name":"keyword.storage.zig"},{"match":"\\\\b(struct|enum|union|opaque)\\\\b","name":"keyword.structure.zig"},{"match":"\\\\b(asm|unreachable)\\\\b","name":"keyword.statement.zig"},{"match":"\\\\b(break|return|continue|defer|errdefer)\\\\b","name":"keyword.control.flow.zig"},{"match":"\\\\b(resume|suspend|nosuspend)\\\\b","name":"keyword.control.async.zig"},{"match":"\\\\b(try|catch)\\\\b","name":"keyword.control.trycatch.zig"},{"match":"\\\\b(if|else|switch|orelse)\\\\b","name":"keyword.control.conditional.zig"},{"match":"\\\\b(null|undefined)\\\\b","name":"keyword.constant.default.zig"},{"match":"\\\\b(true|false)\\\\b","name":"keyword.constant.bool.zig"},{"match":"\\\\b(test|and|or)\\\\b","name":"keyword.default.zig"},{"match":"\\\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\\\b","name":"keyword.type.zig"},{"match":"\\\\b(f16|f32|f64|f80|f128|u\\\\d+|i\\\\d+|isize|usize|comptime_int|comptime_float)\\\\b","name":"keyword.type.integer.zig"},{"match":"\\\\b(c_(?:char|short|ushort|int|uint|long|ulong|longlong|ulonglong|longdouble))\\\\b","name":"keyword.type.c.zig"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h[_\\\\h]*(\\\\.\\\\h[_\\\\h]*)?([Pp][-+]?[_\\\\h]+)?\\\\b","name":"constant.numeric.hexfloat.zig"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?\\\\b","name":"constant.numeric.float.zig"},{"match":"\\\\b[0-9][0-9_]*\\\\b","name":"constant.numeric.decimal.zig"},{"match":"\\\\b0x[_\\\\h]+\\\\b","name":"constant.numeric.hexadecimal.zig"},{"match":"\\\\b0o[0-7_]+\\\\b","name":"constant.numeric.octal.zig"},{"match":"\\\\b0b[01_]+\\\\b","name":"constant.numeric.binary.zig"},{"match":"\\\\b[0-9](([EPep][-+])|[0-9A-Z_a-z])*(\\\\.(([EPep][-+])|[0-9A-Z_a-z])*)?([EPep][-+])?[0-9A-Z_a-z]*\\\\b","name":"constant.numeric.invalid.zig"}]},"operators":{"patterns":[{"match":"(?<=\\\\[)\\\\*c(?=])","name":"keyword.operator.c-pointer.zig"},{"match":"\\\\b((and|or))\\\\b|(==|!=|<=|>=|[<>])","name":"keyword.operator.comparison.zig"},{"match":"(-%?|\\\\+%?|\\\\*%?|[%/])=?","name":"keyword.operator.arithmetic.zig"},{"match":"(<<%?|>>|[!\\\\&^|~])=?","name":"keyword.operator.bitwise.zig"},{"match":"(==|\\\\+\\\\+|\\\\*\\\\*|->)","name":"keyword.operator.special.zig"},{"match":"=","name":"keyword.operator.assignment.zig"},{"match":"\\\\?","name":"keyword.operator.question.zig"}]},"punctuation":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.zig"},{"match":",","name":"punctuation.comma.zig"},{"match":":","name":"punctuation.separator.key-value.zig"},{"match":";","name":"punctuation.terminator.statement.zig"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\([\\"'\\\\\\\\nrt]|(x\\\\h{2})|(u\\\\{\\\\h+}))","name":"constant.character.escape.zig"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.zig"}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.zig","patterns":[{"include":"#stringcontent"}]},{"begin":"\\\\\\\\\\\\\\\\","end":"$","name":"string.multiline.zig"},{"match":"'([^'\\\\\\\\]|\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'","name":"string.quoted.single.zig"}]},"support":{"patterns":[{"match":"@[A-Z_a-z][0-9A-Z_a-z]*","name":"support.function.builtin.zig"}]},"variables":{"patterns":[{"name":"meta.function.declaration.zig","patterns":[{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.type.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z][0-9A-Za-z]*)\\\\b"},{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.function.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"begin":"\\\\b(fn)\\\\s+@\\"","beginCaptures":{"1":{"name":"storage.type.function.zig"}},"end":"\\"","name":"entity.name.function.string.zig","patterns":[{"include":"#stringcontent"}]},{"match":"\\\\b(const|var|fn)\\\\b","name":"keyword.default.zig"}]},{"name":"meta.function.call.zig","patterns":[{"match":"([A-Z][0-9A-Za-z]*)(?=\\\\s*\\\\()","name":"entity.name.type.zig"},{"match":"([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\s*\\\\()","name":"entity.name.function.zig"}]},{"name":"meta.variable.zig","patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.zig"},{"begin":"@\\"","end":"\\"","name":"variable.string.zig","patterns":[{"include":"#stringcontent"}]}]}]}},"scopeName":"source.zig"}`))];export{e as default};
Binary file
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><rect width="512" height="512" rx="116" fill="#c96442"/><g transform="translate(256 256) scale(1) translate(-256 -256)" fill="none" stroke="#faf9f5" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M160 176 L252 256 L160 336" stroke-width="46"/>
3
+ <path d="M286 336 H360" stroke-width="46"/>
4
+ </g></svg>
Binary file
Binary file
@@ -0,0 +1,30 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content" />
6
+ <meta name="theme-color" content="#faf9f5" media="(prefers-color-scheme: light)" />
7
+ <meta name="theme-color" content="#1f1e1d" media="(prefers-color-scheme: dark)" />
8
+ <link rel="manifest" href="/manifest.webmanifest" />
9
+ <link rel="icon" href="/icons/icon.svg" type="image/svg+xml" />
10
+ <link rel="icon" href="/icons/icon-192.png" type="image/png" sizes="192x192" />
11
+ <link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
12
+ <meta name="mobile-web-app-capable" content="yes" />
13
+ <meta name="apple-mobile-web-app-capable" content="yes" />
14
+ <meta name="apple-mobile-web-app-title" content="Claude IDE" />
15
+ <meta name="apple-mobile-web-app-status-bar-style" content="default" />
16
+ <meta name="application-name" content="Claude IDE" />
17
+ <meta name="format-detection" content="telephone=no" />
18
+ <title>Claude IDE</title>
19
+ <script type="module" crossorigin src="/assets/index-DQh72lEx.js"></script>
20
+ <link rel="modulepreload" crossorigin href="/assets/Form-BKTwiYyw.js">
21
+ <link rel="modulepreload" crossorigin href="/assets/lib-DlcVMUqT.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/Modal-g2rv8I_n.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/react-B4UGpcWC.js">
24
+ <link rel="stylesheet" crossorigin href="/assets/index-DNPnl4sh.css">
25
+ <meta name="cide-build" content="abe9b22c-a4e9-4084-a8e1-c8326a33c2a8">
26
+ </head>
27
+ <body>
28
+ <div id="root"></div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "/",
3
+ "name": "Claude IDE",
4
+ "short_name": "Claude IDE",
5
+ "description": "自托管的 Claude Code 网页工作台",
6
+ "lang": "zh-CN",
7
+ "start_url": "/",
8
+ "scope": "/",
9
+ "display": "standalone",
10
+ "orientation": "any",
11
+ "background_color": "#faf9f5",
12
+ "theme_color": "#faf9f5",
13
+ "icons": [
14
+ { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
15
+ { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
16
+ { "src": "/icons/maskable-192.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" },
17
+ { "src": "/icons/maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" },
18
+ { "src": "/icons/icon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" }
19
+ ]
20
+ }
package/web/dist/sw.js ADDED
@@ -0,0 +1,176 @@
1
+ /* Claude IDE service worker. Built by web/pwa-plugin.ts, which fills in the build id and precache list. */
2
+ /// <reference lib="webworker" />
3
+ /** @type {ServiceWorkerGlobalScope} */
4
+ // @ts-ignore
5
+ const sw = self;
6
+
7
+ const BUILD = "795a717631e8";
8
+ /** @type {string[]} */
9
+ const PRECACHE = ["/assets/Form-BKTwiYyw.js","/assets/Modal-g2rv8I_n.js","/assets/index-DNPnl4sh.css","/assets/index-DQh72lEx.js","/assets/lib-DlcVMUqT.js","/assets/react-B4UGpcWC.js","/icons/badge-96.png","/icons/icon-192.png","/index.html","/manifest.webmanifest"];
10
+ const CACHE = `cide-${BUILD}`;
11
+ const INDEX = "/index.html";
12
+
13
+ sw.addEventListener("install", (event) => {
14
+ event.waitUntil(
15
+ (async () => {
16
+ const cache = await caches.open(CACHE);
17
+ // One failed asset must not block installation; it is fetched at runtime instead.
18
+ await Promise.all(PRECACHE.map((u) => cache.add(new Request(u, { cache: "reload" })).catch(() => {})));
19
+ await sw.skipWaiting();
20
+ })(),
21
+ );
22
+ });
23
+
24
+ sw.addEventListener("activate", (event) => {
25
+ event.waitUntil(
26
+ (async () => {
27
+ for (const key of await caches.keys()) if (key.startsWith("cide-") && key !== CACHE) await caches.delete(key);
28
+ await sw.clients.claim();
29
+ })(),
30
+ );
31
+ });
32
+
33
+ /** Never touch the API, the WebSocket or the worker itself. */
34
+ function bypass(url) {
35
+ return url.origin !== sw.location.origin || url.pathname.startsWith("/api/") || url.pathname === "/ws" || url.pathname === "/sw.js";
36
+ }
37
+
38
+ sw.addEventListener("fetch", (event) => {
39
+ const req = event.request;
40
+ if (req.method !== "GET") return;
41
+ const url = new URL(req.url);
42
+ if (bypass(url)) return;
43
+
44
+ if (req.mode === "navigate") {
45
+ // HTML is network-first so a new build is picked up immediately; the cache is only an offline fallback.
46
+ event.respondWith(
47
+ (async () => {
48
+ try {
49
+ const res = await fetch(req);
50
+ if (res.ok && (res.headers.get("content-type") ?? "").includes("text/html")) {
51
+ const copy = res.clone();
52
+ event.waitUntil(caches.open(CACHE).then((c) => c.put(INDEX, copy)));
53
+ }
54
+ return res;
55
+ } catch (err) {
56
+ const cached = await caches.match(INDEX);
57
+ if (cached) return cached;
58
+ throw err;
59
+ }
60
+ })(),
61
+ );
62
+ return;
63
+ }
64
+
65
+ if (url.pathname.startsWith("/assets/")) {
66
+ // Hashed file names never change content: cache-first.
67
+ event.respondWith(
68
+ (async () => {
69
+ const cached = await caches.match(req);
70
+ if (cached) return cached;
71
+ const res = await fetch(req);
72
+ if (res.ok) {
73
+ const copy = res.clone();
74
+ event.waitUntil(caches.open(CACHE).then((c) => c.put(req, copy)));
75
+ }
76
+ return res;
77
+ })(),
78
+ );
79
+ return;
80
+ }
81
+
82
+ // Icons, manifest: stale-while-revalidate.
83
+ event.respondWith(
84
+ (async () => {
85
+ const cached = await caches.match(req);
86
+ const network = fetch(req).then((res) => {
87
+ if (res.ok) {
88
+ const copy = res.clone();
89
+ event.waitUntil(caches.open(CACHE).then((c) => c.put(req, copy)));
90
+ }
91
+ return res;
92
+ });
93
+ if (cached) {
94
+ event.waitUntil(network.catch(() => {}));
95
+ return cached;
96
+ }
97
+ return network;
98
+ })(),
99
+ );
100
+ });
101
+
102
+ // ---------- push ----------
103
+
104
+ sw.addEventListener("push", (event) => {
105
+ /** @type {{ kind?: string, title?: string, body?: string, url?: string, tag?: string }} */
106
+ let data = {};
107
+ try {
108
+ data = event.data ? event.data.json() : {};
109
+ } catch {
110
+ data = { body: event.data ? event.data.text() : "" };
111
+ }
112
+ // Every push must show a notification (iOS and Chrome penalise silent pushes) — except when a
113
+ // window of the app has focus: the page already shows its own toast for it.
114
+ event.waitUntil(
115
+ sw.clients.matchAll({ type: "window", includeUncontrolled: true }).then((wins) => {
116
+ if (wins.some((w) => w.focused)) return;
117
+ return sw.registration.showNotification(data.title || "Claude IDE", {
118
+ body: data.body || "",
119
+ tag: data.tag || undefined,
120
+ // @ts-ignore renotify is not in every lib.dom version
121
+ renotify: !!data.tag,
122
+ icon: "/icons/icon-192.png",
123
+ badge: "/icons/badge-96.png",
124
+ data: { url: data.url || "/", kind: data.kind },
125
+ });
126
+ }),
127
+ );
128
+ });
129
+
130
+ sw.addEventListener("notificationclick", (event) => {
131
+ event.notification.close();
132
+ const target = new URL(event.notification.data?.url || "/", sw.location.origin).href;
133
+ event.waitUntil(
134
+ (async () => {
135
+ const windows = await sw.clients.matchAll({ type: "window", includeUncontrolled: true });
136
+ const exact = windows.find((w) => w.url === target);
137
+ const client = exact ?? windows[0];
138
+ if (client) {
139
+ await client.focus();
140
+ // The app navigates with its router (no reload); see web/src/notify.ts.
141
+ if (!exact) client.postMessage({ type: "cide:navigate", url: new URL(target).pathname + new URL(target).search });
142
+ return;
143
+ }
144
+ await sw.clients.openWindow(target);
145
+ })(),
146
+ );
147
+ });
148
+
149
+ sw.addEventListener("pushsubscriptionchange", (event) => {
150
+ // The browser rotated the subscription: re-subscribe with the same key and tell the server.
151
+ // @ts-ignore oldSubscription/newSubscription are not in every lib.dom version
152
+ const { oldSubscription, newSubscription } = event;
153
+ event.waitUntil(
154
+ (async () => {
155
+ let sub = newSubscription;
156
+ if (!sub && oldSubscription) {
157
+ sub = await sw.registration.pushManager.subscribe({ userVisibleOnly: true, applicationServerKey: oldSubscription.options.applicationServerKey });
158
+ }
159
+ if (!sub) return;
160
+ await fetch("/api/push/subscribe", {
161
+ method: "POST",
162
+ credentials: "same-origin",
163
+ headers: { "content-type": "application/json" },
164
+ body: JSON.stringify({ subscription: sub.toJSON() }),
165
+ });
166
+ if (oldSubscription && oldSubscription.endpoint !== sub.endpoint) {
167
+ await fetch("/api/push/subscribe", {
168
+ method: "DELETE",
169
+ credentials: "same-origin",
170
+ headers: { "content-type": "application/json" },
171
+ body: JSON.stringify({ endpoint: oldSubscription.endpoint }),
172
+ });
173
+ }
174
+ })(),
175
+ );
176
+ });
@@ -0,0 +1 @@
1
+ {"version":"abe9b22c-a4e9-4084-a8e1-c8326a33c2a8","files":[{"path":"assets/index-DQh72lEx.js","size":305458},{"path":"assets/AgentView-wrTKgcJ3.js","size":4426},{"path":"assets/AnnotationSelection-BZmNmwVW.js","size":13990},{"path":"assets/ChangesView-G1WTzh4q.js","size":8503},{"path":"assets/FilesView-DPgAbYt_.js","size":22764},{"path":"assets/Form-BKTwiYyw.js","size":23144},{"path":"assets/HomePage-Dq2apjBe.js","size":3600},{"path":"assets/Markdown-IwP-xF29.js","size":371737},{"path":"assets/MessageList-DD9GypSy.js","size":64768},{"path":"assets/Modal-g2rv8I_n.js","size":24118},{"path":"assets/NotificationSettings-DpuLO_Bv.js","size":6728},{"path":"assets/OverviewPage-Dx6miabE.js","size":4314},{"path":"assets/ProjectHome-CousyTLL.js","size":5086},{"path":"assets/SessionView-CPVL7_HO.js","size":85636},{"path":"assets/SettingsPage-D_oYSnW2.js","size":70347},{"path":"assets/WorktreesView-C7e0HV__.js","size":7704},{"path":"assets/format-DrBC7w0A.js","size":123},{"path":"assets/lib-DlcVMUqT.js","size":118128},{"path":"assets/message-font-size-DoaZfwkT.js","size":1687},{"path":"assets/react-B4UGpcWC.js","size":646},{"path":"assets/highlight.worker-CY-ZeDAl.js","size":893},{"path":"assets/index-DNPnl4sh.css","size":61369},{"path":"assets/abap-CLvhMVsD.js","size":15845},{"path":"assets/actionscript-3-Cs6JJXT5.js","size":15534},{"path":"assets/ada-X3Y2mlq2.js","size":48075},{"path":"assets/ahk-DwADkxyd.js","size":31442},{"path":"assets/ahk2-_6rzW9BS.js","size":45058},{"path":"assets/andromeeda-vGVdxbeo.js","size":9012},{"path":"assets/angular-html-Cw29lun8.js","size":24293},{"path":"assets/angular-ts-BXz-O3SJ.js","size":183757},{"path":"assets/apache-U0d_L8uA.js","size":12449},{"path":"assets/apex-KFGFyKwG.js","size":47883},{"path":"assets/apl-xBchdRhy.js","size":24035},{"path":"assets/applescript-CCn79oCD.js","size":29564},{"path":"assets/ara-4CJ0cIlV.js","size":6355},{"path":"assets/asciidoc-SCjQUq34.js","size":136044},{"path":"assets/asm-Cmm7eHzH.js","size":40710},{"path":"assets/astro-1q6DGuN3.js","size":24031},{"path":"assets/aurora-x-CDeNXAV0.js","size":13656},{"path":"assets/awk-BWXHIvNe.js","size":5454},{"path":"assets/ayu-dark-DluEY0Gj.js","size":20078},{"path":"assets/ayu-light-C3h-C4tm.js","size":20149},{"path":"assets/ayu-mirage-Bqwy1Gya.js","size":20082},{"path":"assets/ballerina-B7ZEbQpA.js","size":58686},{"path":"assets/bat-qdxAdBWQ.js","size":12887},{"path":"assets/beancount-C2IN4Vk8.js","size":12848},{"path":"assets/berry-DKpUyyne.js","size":2998},{"path":"assets/bibtex-Ci_nEsc7.js","size":4788},{"path":"assets/bicep-CUHmPFLl.js","size":5375},{"path":"assets/bird2-CYIUgYqB.js","size":38674},{"path":"assets/blade-Cqdv4oZN.js","size":104982},{"path":"assets/bsl-CVED6lJ1.js","size":33955},{"path":"assets/c-D9gIxSfx.js","size":72183},{"path":"assets/c3-D0apG41V.js","size":26379},{"path":"assets/cadence-CQ2zXKGN.js","size":23662},{"path":"assets/cairo-DRAZz75c.js","size":2939},{"path":"assets/catppuccin-frappe-C9Q5zVZY.js","size":50850},{"path":"assets/catppuccin-latte-CtsyrtPq.js","size":50848},{"path":"assets/catppuccin-macchiato-R8nAf1vR.js","size":50855},{"path":"assets/catppuccin-mocha-DjuaAJKi.js","size":50847},{"path":"assets/chapel-CuseGurG.js","size":6631},{"path":"assets/clarity-CtfBBspg.js","size":14355},{"path":"assets/clojure-DqKBuwfJ.js","size":6406},{"path":"assets/cmake-Bj61d0ZC.js","size":9848},{"path":"assets/cobol-Bdpj3Qoh.js","size":39078},{"path":"assets/codeowners-C8r90Shi.js","size":540},{"path":"assets/codeql-oeQT6MSM.js","size":26876},{"path":"assets/coffee-Sk8pHFjs.js","size":27430},{"path":"assets/common-lisp-Cv5bFMCO.js","size":22574},{"path":"assets/coq-CGaSfhwR.js","size":6040},{"path":"assets/core-BxI4V4-T.js","size":112887},{"path":"assets/cpp-BQfBYKx3.js","size":785561},{"path":"assets/crystal-B3j7DoOZ.js","size":29416},{"path":"assets/csharp-dmMxLVLW.js","size":91435},{"path":"assets/css-DpFbYmRh.js","size":53435},{"path":"assets/csv-Dx-8-gkx.js","size":1136},{"path":"assets/cue-CE9AQfxI.js","size":16197},{"path":"assets/cypher-ClKdZ_lG.js","size":5949},{"path":"assets/d-qD-0Kul2.js","size":43788},{"path":"assets/dark-plus-Cs2F2srj.js","size":9094},{"path":"assets/dart-CHZY9Xhz.js","size":8608},{"path":"assets/dax-BkyTk9wS.js","size":5358},{"path":"assets/desktop-Dlh5hvp9.js","size":1826},{"path":"assets/diff-woXpYk--.js","size":2562},{"path":"assets/docker-IyjqRm3v.js","size":1734},{"path":"assets/dotenv-CuH5my32.js","size":1743},{"path":"assets/dracula-BHWKrbxM.js","size":21063},{"path":"assets/dracula-soft-5eyTD99u.js","size":21073},{"path":"assets/dream-maker-DW3nJb8Q.js","size":10462},{"path":"assets/edge-DXQWmXTB.js","size":2312},{"path":"assets/elixir-CrDIY2Vo.js","size":16270},{"path":"assets/elm-BslFEg8K.js","size":10952},{"path":"assets/emacs-lisp-DR2vtWaj.js","size":790010},{"path":"assets/engine-javascript-DJg3-Vu2.js","size":58669},{"path":"assets/erb-CUYhg0Ws.js","size":2142},{"path":"assets/erlang-BXdgHVfi.js","size":37483},{"path":"assets/everforest-dark-sB-x3p7T.js","size":53742},{"path":"assets/everforest-light-Df2xbC6M.js","size":53745},{"path":"assets/fennel-DQxkIbk2.js","size":4761},{"path":"assets/fish-BJitypiv.js","size":13031},{"path":"assets/fluent-C03EYrpw.js","size":3603},{"path":"assets/fortran-fixed-form-D6mN0kjy.js","size":1668},{"path":"assets/fortran-free-form-CYNrtFtB.js","size":88962},{"path":"assets/fsharp-CwoEF39o.js","size":25308},{"path":"assets/gdresource-CZkFGo3B.js","size":5288},{"path":"assets/gdscript-DYvRD3hg.js","size":19081},{"path":"assets/gdshader-CBce3t8t.js","size":6319},{"path":"assets/genie-CV2tkWYe.js","size":3349},{"path":"assets/gherkin-DExj1W_8.js","size":11939},{"path":"assets/git-commit-dUGrvm6Q.js","size":1233},{"path":"assets/git-rebase-4zCRqF28.js","size":991},{"path":"assets/github-dark-C-LZuMrd.js","size":11402},{"path":"assets/github-dark-default-DXG-b-1a.js","size":14432},{"path":"assets/github-dark-dimmed-Bx1FflLF.js","size":14430},{"path":"assets/github-dark-high-contrast-B_tTalzw.js","size":14592},{"path":"assets/github-light-EUqPIrTm.js","size":11181},{"path":"assets/github-light-default-BXViO-2h.js","size":14153},{"path":"assets/github-light-high-contrast-B68TUdTA.js","size":14272},{"path":"assets/gleam-CSRkHgEL.js","size":2570},{"path":"assets/glimmer-js-7adTRvH4.js","size":20089},{"path":"assets/glimmer-ts-IdSskDYw.js","size":20089},{"path":"assets/glsl-Qzy53KDt.js","size":3713},{"path":"assets/gn-CAXYAgV-.js","size":4012},{"path":"assets/gnuplot-7GGW24-e.js","size":14776},{"path":"assets/go-rLFTqkRN.js","size":46811},{"path":"assets/graphql-CV_puxbB.js","size":18101},{"path":"assets/groovy-CacY0gHj.js","size":19172},{"path":"assets/gruvbox-dark-hard-C820rvS2.js","size":22630},{"path":"assets/gruvbox-dark-medium-BPjhmG05.js","size":22634},{"path":"assets/gruvbox-dark-soft-MrdJrrXF.js","size":22630},{"path":"assets/gruvbox-light-hard-BC_s9l72.js","size":22633},{"path":"assets/gruvbox-light-medium-BAWPOn9u.js","size":22637},{"path":"assets/gruvbox-light-soft-BSMLrYjP.js","size":22633},{"path":"assets/hack-C5GPjiLV.js","size":81080},{"path":"assets/haml-BQ5YR1DQ.js","size":8352},{"path":"assets/handlebars-DnhRK9A1.js","size":12494},{"path":"assets/haskell-D8IpX4py.js","size":41483},{"path":"assets/haxe-C8oCnwJJ.js","size":35946},{"path":"assets/hcl-Dh228itO.js","size":10046},{"path":"assets/hjson-CxZEssPk.js","size":12046},{"path":"assets/hlsl-Cvrh5tZx.js","size":7257},{"path":"assets/horizon-CE9ld1lL.js","size":8777},{"path":"assets/horizon-bright-DSNQnXHK.js","size":8784},{"path":"assets/houston-CsvMBhTu.js","size":35419},{"path":"assets/html-CmHiEKV9.js","size":57336},{"path":"assets/html-derivative-BXE-rYIK.js","size":849},{"path":"assets/http-DPjjqtcL.js","size":4422},{"path":"assets/hurl-AMBpSloO.js","size":3520},{"path":"assets/hxml-D7Y24wKF.js","size":1897},{"path":"assets/hy-CZbG8q4J.js","size":2641},{"path":"assets/imba-DsUTQ-LC.js","size":49923},{"path":"assets/ini-B5eOa1yu.js","size":1518},{"path":"assets/java-CEM7Tdw_.js","size":27289},{"path":"assets/javascript-CU3PLowd.js","size":174897},{"path":"assets/jinja-fR0x_9Xy.js","size":5644},{"path":"assets/jison-BoKsxs5M.js","size":9698},{"path":"assets/json-BM2FWsRB.js","size":2894},{"path":"assets/json5-BR5RXkoi.js","size":3247},{"path":"assets/jsonc-CYpm1nAK.js","size":3102},{"path":"assets/jsonl-CmCQp5Yx.js","size":3004},{"path":"assets/jsonnet-CJTPZ8u_.js","size":3611},{"path":"assets/jssm-DXw9l8Rf.js","size":2231},{"path":"assets/jsx-B5fTecQP.js","size":177862},{"path":"assets/julia-DGyDG39_.js","size":31227},{"path":"assets/just-B-RyLcSR.js","size":10846},{"path":"assets/kanagawa-dragon-Bozd7klA.js","size":17120},{"path":"assets/kanagawa-lotus-BmuOG9ZW.js","size":17119},{"path":"assets/kanagawa-wave-BML5mF2J.js","size":17116},{"path":"assets/kdl-CsD5j6eV.js","size":3622},{"path":"assets/kotlin-DhhofPvG.js","size":8778},{"path":"assets/kusto-C7mF5XQf.js","size":15166},{"path":"assets/langs-CciPKqaF.js","size":19564},{"path":"assets/laserwave-C_8bwKvT.js","size":11496},{"path":"assets/latex-CV1pQelm.js","size":73254},{"path":"assets/lean-CewbzKMR.js","size":5777},{"path":"assets/less-DVTAwKKz.js","size":97626},{"path":"assets/light-plus-DVQuIRkW.js","size":9938},{"path":"assets/liquid-9p05RSzQ.js","size":18107},{"path":"assets/llvm-DqHOMS-s.js","size":5033},{"path":"assets/log-BNLmms1o.js","size":2845},{"path":"assets/logo-Cluzi2Zq.js","size":3120},{"path":"assets/lua-CIPVh0S-.js","size":15614},{"path":"assets/luau-VGWVLoqX.js","size":16295},{"path":"assets/make-Dixweg8N.js","size":8954},{"path":"assets/markdown-BYOwaDjH.js","size":59328},{"path":"assets/marko-h2h6YUMS.js","size":25732},{"path":"assets/material-theme-Bm3Qr25_.js","size":18612},{"path":"assets/material-theme-darker-2IIEA8gg.js","size":18626},{"path":"assets/material-theme-lighter-uhdI0v04.js","size":18631},{"path":"assets/material-theme-ocean-CHQ94UKr.js","size":18626},{"path":"assets/material-theme-palenight-B5W6OYN7.js","size":18632},{"path":"assets/matlab-D7qyCx1q.js","size":16079},{"path":"assets/mdc-yAyZMdoC.js","size":20092},{"path":"assets/mdx-DQZ5AkYe.js","size":136107},{"path":"assets/mermaid-BxpfTIzt.js","size":54807},{"path":"assets/min-dark-BSWPekZh.js","size":6288},{"path":"assets/min-light-DDpmG2fV.js","size":6966},{"path":"assets/mipsasm-BMqwQI7S.js","size":3252},{"path":"assets/mojo-fg40_ntQ.js","size":69510},{"path":"assets/monokai-BscAjiQZ.js","size":8249},{"path":"assets/moonbit-D9W784E_.js","size":6071},{"path":"assets/move-BYnGhZoM.js","size":17650},{"path":"assets/narrat-_X_XdTYD.js","size":3665},{"path":"assets/nextflow-BoTnSBQ_.js","size":4512},{"path":"assets/nextflow-groovy-D7IRt6Pp.js","size":10522},{"path":"assets/nginx-jWINucNT.js","size":35358},{"path":"assets/night-owl-DhmEMT88.js","size":28910},{"path":"assets/night-owl-light-eJ-hLW7d.js","size":25899},{"path":"assets/nim-Dtt9DZ0t.js","size":22461},{"path":"assets/nix-Cl_7024t.js","size":15514},{"path":"assets/nord-Cb4Vim4T.js","size":26720},{"path":"assets/nsis-CjNLYCLg.js","size":13119},{"path":"assets/nushell--0fT3PI1.js","size":21760},{"path":"assets/objective-c-D1A_Heim.js","size":105406},{"path":"assets/objective-cpp-BsSzOQcm.js","size":171965},{"path":"assets/ocaml-O90oeIOV.js","size":62442},{"path":"assets/odin-B1RWQWA5.js","size":16506},{"path":"assets/one-dark-pro-C6YyR8OD.js","size":37053},{"path":"assets/one-light-D7Lr4KcI.js","size":25297},{"path":"assets/openscad-BUDT5pXO.js","size":2817},{"path":"assets/org-ClD5huOa.js","size":36268},{"path":"assets/pascal-4ZHwLPI5.js","size":4143},{"path":"assets/perl-BFegxyeJ.js","size":43152},{"path":"assets/php-B-qOA3Y4.js","size":113130},{"path":"assets/pkl-ot-7Btpt.js","size":10365},{"path":"assets/plastic-DQwYfKfQ.js","size":9292},{"path":"assets/plsql-DGHpHOYJ.js","size":8505},{"path":"assets/po-BiJDBrnU.js","size":3232},{"path":"assets/poimandres-DRFjx7u4.js","size":33491},{"path":"assets/polar-C7UOKdEL.js","size":4664},{"path":"assets/postcss-BXeXVLqQ.js","size":6410},{"path":"assets/powerquery-DNMTfnFr.js","size":5896},{"path":"assets/powershell-QtSnmXcu.js","size":20147},{"path":"assets/prisma-DMgNhnYS.js","size":7737},{"path":"assets/prolog-iXnhIJG7.js","size":11349},{"path":"assets/proto-DB4EqR-F.js","size":6541},{"path":"assets/pug-Cq0NBPu-.js","size":13855},{"path":"assets/puppet-CDv2pdJW.js","size":11430},{"path":"assets/purescript-9MfHhQsQ.js","size":24679},{"path":"assets/python-gzcpVVnB.js","size":69945},{"path":"assets/qml-CYUsa87k.js","size":5344},{"path":"assets/qmldir-DCQb3MpD.js","size":995},{"path":"assets/qss-Fe1Jh2GI.js","size":7465},{"path":"assets/r-4xJhgbOf.js","size":6805},{"path":"assets/racket-DcIDlBhZ.js","size":92382},{"path":"assets/raku-B3gFvitq.js","size":10465},{"path":"assets/razor-BlHaOHx8.js","size":27459},{"path":"assets/rbs-C0MpOrj4.js","size":3304},{"path":"assets/red-CYlAq2b0.js","size":6736},{"path":"assets/reg-CRGYupPL.js","size":2338},{"path":"assets/regexp-BUSxjv2o.js","size":8058},{"path":"assets/rel-BtDbiS_P.js","size":3361},{"path":"assets/riscv-Ckw8ddFX.js","size":6907},{"path":"assets/ron-VUp2lXgN.js","size":3907},{"path":"assets/rose-pine-aMsaMD1D.js","size":21738},{"path":"assets/rose-pine-dawn-8PwUyIlP.js","size":21749},{"path":"assets/rose-pine-moon-DO-qXg-I.js","size":21748},{"path":"assets/rosmsg-CAekHB0j.js","size":4516},{"path":"assets/rst-zjfguEh7.js","size":10316},{"path":"assets/ruby-4oR9waBK.js","size":46645},{"path":"assets/rust-DpiIf5JO.js","size":15161},{"path":"assets/sas-Do4V_2i9.js","size":9070},{"path":"assets/sass-DXrisJhu.js","size":9282},{"path":"assets/scala-BiFt_7mu.js","size":28882},{"path":"assets/scheme-DQCgrYNe.js","size":7162},{"path":"assets/scss-CW6JPtag.js","size":27283},{"path":"assets/sdbl-bTVj8UrX.js","size":4695},{"path":"assets/shaderlab-C4rnI7x0.js","size":5925},{"path":"assets/shellscript-zBmOMFJh.js","size":41549},{"path":"assets/shellsession-DxGUTWaf.js","size":719},{"path":"assets/slack-dark-DnToyrRv.js","size":9114},{"path":"assets/slack-ochin-B2OO5cIa.js","size":9428},{"path":"assets/smalltalk-BHpQb5nM.js","size":14119},{"path":"assets/smithy-Dgaz7aur.js","size":9127},{"path":"assets/snazzy-light-4G7pJPwS.js","size":20770},{"path":"assets/solarized-dark-b97czJOk.js","size":7391},{"path":"assets/solarized-light-DFPxpIYQ.js","size":6935},{"path":"assets/solidity-Bj7E1mRn.js","size":16400},{"path":"assets/soy-DVtw20Yn.js","size":6930},{"path":"assets/sparql-C0ia5K60.js","size":1483},{"path":"assets/splunk-BC2Px7Mm.js","size":3429},{"path":"assets/sql-DGCM-jag.js","size":23740},{"path":"assets/ssh-config-BgfXC-Er.js","size":3610},{"path":"assets/stata-DfuMOXna.js","size":56999},{"path":"assets/stylus-B6D30XZt.js","size":31067},{"path":"assets/surrealql-CBoRWxfR.js","size":12067},{"path":"assets/svelte-g_uCUem5.js","size":18263},{"path":"assets/swift-CyEgAFGc.js","size":87224},{"path":"assets/synthwave-84-nFMaYfgc.js","size":14033},{"path":"assets/system-verilog-Dh5ihWbf.js","size":26549},{"path":"assets/systemd-BxMlprV5.js","size":7862},{"path":"assets/talonscript-CohzipZa.js","size":6750},{"path":"assets/tasl-DMoTqEGO.js","size":3281},{"path":"assets/tcl-CZd0xW_V.js","size":4422},{"path":"assets/templ-N5C1hJ4Y.js","size":24072},{"path":"assets/terraform-DswuEJGm.js","size":11382},{"path":"assets/tex-mx6xDwuK.js","size":9748},{"path":"assets/themes-CNElGaXw.js","size":7477},{"path":"assets/tokyo-night-oM2G3aXe.js","size":35662},{"path":"assets/toml-CcmNWLt0.js","size":6419},{"path":"assets/ts-tags-C-j71FRb.js","size":16603},{"path":"assets/tsv-sltzmVWM.js","size":732},{"path":"assets/tsx-z04y7qR9.js","size":175606},{"path":"assets/turtle-ByJddavk.js","size":3693},{"path":"assets/twig-Bz57G_nl.js","size":24857},{"path":"assets/typescript-RMqVTmzR.js","size":181150},{"path":"assets/typespec-BGhR2SqG.js","size":26990},{"path":"assets/typst-BgkqA2Pg.js","size":163494},{"path":"assets/v-DBj4K9d_.js","size":13323},{"path":"assets/vala-zf12oZj6.js","size":3363},{"path":"assets/vb-DOwzaHZ0.js","size":6068},{"path":"assets/verilog-B2gwz-sJ.js","size":6400},{"path":"assets/vesper-DdrHHSXu.js","size":12730},{"path":"assets/vhdl-BroJfC0k.js","size":24257},{"path":"assets/viml-DvXPmvsu.js","size":20358},{"path":"assets/vitesse-black-fwtXNY1n.js","size":13674},{"path":"assets/vitesse-dark-BZCL-v6S.js","size":13756},{"path":"assets/vitesse-light-VbXTXTou.js","size":13613},{"path":"assets/vue-CQgvQytb.js","size":24981},{"path":"assets/vue-html-Dhl6fh9l.js","size":8480},{"path":"assets/vue-vine-Dw_uU59K.js","size":190064},{"path":"assets/vyper-CgoNMtux.js","size":74641},{"path":"assets/wasm-ByWQv1Qj.js","size":12000},{"path":"assets/wenyan-C8pVoKbM.js","size":2150},{"path":"assets/wgsl-BsKzXJz4.js","size":5137},{"path":"assets/wikitext-ClFFjSW2.js","size":55878},{"path":"assets/wit-DdvCle-K.js","size":21460},{"path":"assets/wolfram-DLL8P-h_.js","size":262384},{"path":"assets/xml-B49klYQ3.js","size":5463},{"path":"assets/xsl-D7tnD3qq.js","size":1366},{"path":"assets/yaml-DNQ5_xkL.js","size":10576},{"path":"assets/zenscript-BnlCZFoB.js","size":3905},{"path":"assets/zig-CMLA9XwU.js","size":5333},{"path":"sw.js","size":6193},{"path":"index.html","size":1666}]}
@@ -0,0 +1,97 @@
1
+ import { lazy, Suspense, useEffect } from "react";
2
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
3
+ import { Navigate, Route, Routes, useParams } from "react-router";
4
+ import { api } from "./api.ts";
5
+ import { startLive } from "./live.ts";
6
+ import { LoginPage } from "./pages/LoginPage.tsx";
7
+ import { ActivityNotifier } from "./components/ActivityNotifier.tsx";
8
+ import { SessionList, Shell } from "./components/Shell.tsx";
9
+ import { VersionNotice } from "./components/VersionNotice.tsx";
10
+
11
+ // Pages are separate chunks so the first screen (login, or the page in the URL) loads
12
+ // only what it shows. The chunk for the current URL starts downloading right away,
13
+ // in parallel with the auth check.
14
+ const pages = {
15
+ home: () => import("./pages/HomePage.tsx").then((m) => ({ default: m.HomePage })),
16
+ session: () => import("./pages/SessionView.tsx").then((m) => ({ default: m.SessionView })),
17
+ agent: () => import("./pages/AgentView.tsx").then((m) => ({ default: m.AgentView })),
18
+ overview: () => import("./pages/OverviewPage.tsx").then((m) => ({ default: m.OverviewPage })),
19
+ files: () => import("./pages/FilesView.tsx").then((m) => ({ default: m.FilesView })),
20
+ changes: () => import("./pages/ChangesView.tsx").then((m) => ({ default: m.ChangesView })),
21
+ worktrees: () => import("./pages/WorktreesView.tsx").then((m) => ({ default: m.WorktreesView })),
22
+ settings: () => import("./pages/settings/SettingsPage.tsx").then((m) => ({ default: m.SettingsPage })),
23
+ projectHome: () => import("./pages/ProjectHome.tsx").then((m) => ({ default: m.ProjectHome })),
24
+ };
25
+ const HomePage = lazy(pages.home);
26
+ const ProjectHome = lazy(pages.projectHome);
27
+ const SessionView = lazy(pages.session);
28
+ const AgentView = lazy(pages.agent);
29
+ const OverviewPage = lazy(pages.overview);
30
+ const FilesView = lazy(pages.files);
31
+ const ChangesView = lazy(pages.changes);
32
+ const WorktreesView = lazy(pages.worktrees);
33
+ const SettingsPage = lazy(pages.settings);
34
+
35
+ function preloadCurrentPage() {
36
+ const p = location.pathname;
37
+ if (/^\/p\/[^/]+\/s\/[^/]+\/agent\//.test(p)) void pages.agent();
38
+ else if (/^\/p\/[^/]+\/s\//.test(p)) void pages.session();
39
+ else if (/^\/p\/[^/]+\/files/.test(p)) void pages.files();
40
+ else if (/^\/p\/[^/]+\/changes/.test(p)) void pages.changes();
41
+ else if (/^\/p\/[^/]+\/worktrees/.test(p)) void pages.worktrees();
42
+ else if (p.startsWith("/settings")) void pages.settings();
43
+ else if (p.startsWith("/overview")) void pages.overview();
44
+ else if (p === "/") void pages.home();
45
+ }
46
+ preloadCurrentPage();
47
+
48
+ export function App() {
49
+ const queryClient = useQueryClient();
50
+ const auth = useQuery({ queryKey: ["auth"], queryFn: () => api<{ authed: boolean }>("/api/auth") });
51
+ const authed = !!auth.data?.authed;
52
+
53
+ useEffect(() => {
54
+ if (authed) startLive();
55
+ }, [authed]);
56
+
57
+ if (auth.isPending) return null;
58
+ if (!authed) {
59
+ return <LoginPage onLoggedIn={() => queryClient.invalidateQueries({ queryKey: ["auth"] })} />;
60
+ }
61
+ return (
62
+ <Shell>
63
+ <VersionNotice />
64
+ <ActivityNotifier />
65
+ <Suspense fallback={null}>
66
+ <Routes>
67
+ <Route path="/" element={<HomePage />} />
68
+ <Route path="/overview" element={<OverviewPage />} />
69
+ <Route path="/p/:pid" element={<ProjectPage />} />
70
+ <Route path="/p/:pid/s/:sid" element={<SessionView />} />
71
+ <Route path="/p/:pid/s/:sid/agent/:tid" element={<AgentView />} />
72
+ <Route path="/p/:pid/files/*" element={<FilesView />} />
73
+ <Route path="/p/:pid/changes" element={<ChangesView />} />
74
+ <Route path="/settings/*" element={<SettingsPage />} />
75
+ <Route path="/p/:pid/worktrees" element={<WorktreesView />} />
76
+ <Route path="*" element={<Navigate to="/" replace />} />
77
+ </Routes>
78
+ </Suspense>
79
+ </Shell>
80
+ );
81
+ }
82
+
83
+ /** On phones the session list is the page; on desktop it lives in the sidebar. */
84
+ function ProjectPage() {
85
+ const { pid } = useParams() as { pid: string };
86
+ return (
87
+ <>
88
+ <div className="flex min-h-0 flex-1 flex-col md:hidden">
89
+ <SessionList projectId={pid} />
90
+ </div>
91
+ <div className="hidden min-h-0 flex-1 md:flex">
92
+ <ProjectHome pid={pid} />
93
+ </div>
94
+ </>
95
+ );
96
+ }
97
+