@cryptiklemur/lattice 4.0.1 → 5.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 (394) hide show
  1. package/bin/lattice +1 -9
  2. package/dist/client/assets/{angular-html-N8PCEquT.js → angular-html-DKTL-XDO.js} +1 -1
  3. package/dist/client/assets/{angular-ts-CJ8RJIPD.js → angular-ts-tvBzOwQR.js} +1 -1
  4. package/dist/client/assets/{apl-BD6tCLWN.js → apl-CCzl5qFl.js} +1 -1
  5. package/dist/client/assets/{astro-CpIIfBs6.js → astro-DNQTpO2Y.js} +1 -1
  6. package/dist/client/assets/{blade-D3qgnjiV.js → blade-CyJoIMeJ.js} +1 -1
  7. package/dist/client/assets/{c-Dr6ADN_t.js → c-OEwk5KN8.js} +1 -1
  8. package/dist/client/assets/{cobol-BIfDE0Hr.js → cobol-DpHyJzz2.js} +1 -1
  9. package/dist/client/assets/{coffee-DHQ57vfY.js → coffee-BX5dbDzZ.js} +1 -1
  10. package/dist/client/assets/{cpp-CEBY6JOp.js → cpp-BTBjNg2U.js} +1 -1
  11. package/dist/client/assets/{crystal-D125CSmP.js → crystal-CNzZd6DW.js} +1 -1
  12. package/dist/client/assets/{css-CBmrkYSr.js → css-BuKsNmms.js} +1 -1
  13. package/dist/client/assets/{dist-A_mCRD1f.js → dist-CKpDHMy6.js} +2 -2
  14. package/dist/client/assets/{edge-Ccsz7cJW.js → edge-DzhnGgJE.js} +1 -1
  15. package/dist/client/assets/{elixir-Do6gk14X.js → elixir-Dqs0waqF.js} +1 -1
  16. package/dist/client/assets/{elm-Db22zT4C.js → elm-BtWwjxWn.js} +1 -1
  17. package/dist/client/assets/{erb-MXVqAAJD.js → erb-iPD89b4v.js} +1 -1
  18. package/dist/client/assets/{git-rebase-B-LLWBOA.js → git-rebase-BxVNXJL4.js} +1 -1
  19. package/dist/client/assets/{glimmer-js-eWszRU73.js → glimmer-js-BlyCupwF.js} +1 -1
  20. package/dist/client/assets/{glimmer-ts-VQmwGqUp.js → glimmer-ts-DjIxWOS9.js} +1 -1
  21. package/dist/client/assets/{glsl-B8ilOfAl.js → glsl-CGIL-65r.js} +1 -1
  22. package/dist/client/assets/{graphql-DnTqxeOc.js → graphql-DeOn6mNV.js} +1 -1
  23. package/dist/client/assets/{hack-XJsHYSQb.js → hack-DVppeCmS.js} +1 -1
  24. package/dist/client/assets/{haml-CQ7Vqzwp.js → haml-WDhua0Mp.js} +1 -1
  25. package/dist/client/assets/{handlebars-C4szooBf.js → handlebars-i2Fu_9HI.js} +1 -1
  26. package/dist/client/assets/{html-B6EgAiSd.js → html-B1e6oxzK.js} +1 -1
  27. package/dist/client/assets/{html-derivative-DdinogQX.js → html-derivative-MofKXIVd.js} +1 -1
  28. package/dist/client/assets/{http-BSLxCgRq.js → http-Dk6S5pRD.js} +1 -1
  29. package/dist/client/assets/{hurl-pOsTwNfp.js → hurl-CroFYYJG.js} +1 -1
  30. package/dist/client/assets/{index-BHQ_8mvl.js → index-CVu-S6Yk.js} +2 -2
  31. package/dist/client/assets/{java-DRQLiiST.js → java-B89FYjqS.js} +1 -1
  32. package/dist/client/assets/{javascript-DvEK2-47.js → javascript-m6CO1Uiy.js} +1 -1
  33. package/dist/client/assets/{jinja-D2NYJ25y.js → jinja-DC9Wi41X.js} +1 -1
  34. package/dist/client/assets/{jison-DDZaLNAp.js → jison-6xiegwDk.js} +1 -1
  35. package/dist/client/assets/{json-TGR0NIWd.js → json-HA-96-qr.js} +1 -1
  36. package/dist/client/assets/{jsx-BjUoPYga.js → jsx-Wt1a8i8U.js} +1 -1
  37. package/dist/client/assets/{julia-C4gjSpFu.js → julia-7M93VBON.js} +1 -1
  38. package/dist/client/assets/{just-H351x5u_.js → just-CjfDLYLv.js} +1 -1
  39. package/dist/client/assets/{latex-BiTmf6gf.js → latex-CitsJ46x.js} +1 -1
  40. package/dist/client/assets/{liquid-86ufjRy-.js → liquid-C8VIFin8.js} +1 -1
  41. package/dist/client/assets/{lua-BNxR0F_8.js → lua-Ba2N7esc.js} +1 -1
  42. package/dist/client/assets/{marko-CvRxpRjM.js → marko-lTLvb2wu.js} +1 -1
  43. package/dist/client/assets/{mdc-CYbAIy2C.js → mdc-D6IV-8FD.js} +1 -1
  44. package/dist/client/assets/{nginx-egdgMq-F.js → nginx-Ch5AjE6S.js} +1 -1
  45. package/dist/client/assets/{nim-CXBJVz_w.js → nim-WmDDC6LW.js} +1 -1
  46. package/dist/client/assets/{perl-XRfMobzg.js → perl-CQv0gYuq.js} +1 -1
  47. package/dist/client/assets/{php-Br7a8uil.js → php-BJmH0qOB.js} +1 -1
  48. package/dist/client/assets/{pug-BVbbUVvy.js → pug-CsHPkzc9.js} +1 -1
  49. package/dist/client/assets/{qml-ByKvrL1j.js → qml-B36ecArG.js} +1 -1
  50. package/dist/client/assets/{r-mVoV0Ni6.js → r-D5Yi5Z4y.js} +1 -1
  51. package/dist/client/assets/{razor-T5O-9UJL.js → razor-CHAxVq4R.js} +1 -1
  52. package/dist/client/assets/{regexp-CioRuhuN.js → regexp-gfs--3M7.js} +1 -1
  53. package/dist/client/assets/{rst-V__uTudD.js → rst-ugdlp-hl.js} +1 -1
  54. package/dist/client/assets/{ruby-C_PuKPTI.js → ruby-CDRRW37j.js} +1 -1
  55. package/dist/client/assets/{sas-D_DqqQH4.js → sas-DZaNQaIP.js} +1 -1
  56. package/dist/client/assets/{scss-D-TjzZ4c.js → scss-CzWQEplj.js} +1 -1
  57. package/dist/client/assets/{shellscript-E5759VHu.js → shellscript-fgYvpu9N.js} +1 -1
  58. package/dist/client/assets/{shellsession-AESTM-Pv.js → shellsession-BoAohHh7.js} +1 -1
  59. package/dist/client/assets/{soy-QrbrrcDv.js → soy-DBzVgv9x.js} +1 -1
  60. package/dist/client/assets/{sql-0M8VcDHD.js → sql-BYXpAYTs.js} +1 -1
  61. package/dist/client/assets/{stata-CgeIpGtc.js → stata-I71MMY3p.js} +1 -1
  62. package/dist/client/assets/{surrealql-DBGwnZbw.js → surrealql-C9U8_1VO.js} +1 -1
  63. package/dist/client/assets/{svelte-Cv0PvUc_.js → svelte-VOFrPnWT.js} +1 -1
  64. package/dist/client/assets/{templ-B9t7xRE4.js → templ-BIaxAEtC.js} +1 -1
  65. package/dist/client/assets/{tex-DhZZ8dr2.js → tex-D1dwnBE5.js} +1 -1
  66. package/dist/client/assets/{ts-tags-BFv8sbnd.js → ts-tags-C0L2Q0r5.js} +1 -1
  67. package/dist/client/assets/{tsx-CXC9KSbY.js → tsx-BqcycEv1.js} +1 -1
  68. package/dist/client/assets/{twig-CM_OO66r.js → twig-vyWqOhpM.js} +1 -1
  69. package/dist/client/assets/{typescript-BdgOTaoD.js → typescript-B2YbovqG.js} +1 -1
  70. package/dist/client/assets/{vue-BnQhjnCm.js → vue-CbXxGdjo.js} +1 -1
  71. package/dist/client/assets/{vue-html-CNnGecRI.js → vue-html-DDX4KXW7.js} +1 -1
  72. package/dist/client/assets/{vue-vine-DCuMkRhK.js → vue-vine-DsyY1LR5.js} +1 -1
  73. package/dist/client/assets/{xml-CbTD7cB8.js → xml-Ddi0-r0D.js} +1 -1
  74. package/dist/client/assets/{xsl-uOqqo7cf.js → xsl-CsFcZHFS.js} +1 -1
  75. package/dist/client/assets/{yaml-BNrLoH59.js → yaml-tGJWoH6Y.js} +1 -1
  76. package/dist/client/index.html +1 -1
  77. package/dist/client/sw.js +1 -1
  78. package/dist/server/analytics/engine.js +832 -0
  79. package/dist/server/assets.js +39 -0
  80. package/dist/server/auth/passphrase.js +70 -0
  81. package/dist/server/config.js +47 -0
  82. package/dist/server/daemon.js +535 -0
  83. package/dist/server/features/ralph-loop.js +138 -0
  84. package/dist/server/features/scheduler.js +260 -0
  85. package/dist/server/features/sticky-notes.js +99 -0
  86. package/dist/server/handlers/analytics.js +28 -0
  87. package/dist/server/handlers/attachment.js +158 -0
  88. package/dist/server/handlers/bookmarks.js +41 -0
  89. package/dist/server/handlers/chat.js +350 -0
  90. package/dist/server/handlers/editor.js +72 -0
  91. package/dist/server/handlers/fs.js +234 -0
  92. package/dist/server/handlers/loop.js +33 -0
  93. package/dist/server/handlers/memory.js +181 -0
  94. package/dist/server/handlers/mesh.js +322 -0
  95. package/dist/server/handlers/notes.js +36 -0
  96. package/dist/server/handlers/plugins.js +593 -0
  97. package/dist/server/handlers/project-settings.js +166 -0
  98. package/dist/server/handlers/scheduler.js +52 -0
  99. package/dist/server/handlers/session.js +194 -0
  100. package/dist/server/handlers/settings.js +148 -0
  101. package/dist/server/handlers/skills.js +360 -0
  102. package/dist/server/handlers/terminal.js +75 -0
  103. package/dist/server/handlers/themes.js +102 -0
  104. package/dist/server/handlers/update.js +124 -0
  105. package/dist/server/identity.js +45 -0
  106. package/dist/server/index.js +435 -0
  107. package/dist/server/logger.js +20 -0
  108. package/dist/server/mesh/connector.js +355 -0
  109. package/dist/server/mesh/crypto.js +88 -0
  110. package/dist/server/mesh/discovery.js +95 -0
  111. package/dist/server/mesh/pairing.js +104 -0
  112. package/dist/server/mesh/peers.js +54 -0
  113. package/dist/server/mesh/proxy.js +86 -0
  114. package/dist/server/mesh/session-sync.js +85 -0
  115. package/dist/server/project/bookmarks.js +77 -0
  116. package/dist/server/project/context-breakdown.js +279 -0
  117. package/dist/server/project/file-browser.js +97 -0
  118. package/dist/server/project/project-files.js +274 -0
  119. package/dist/server/project/registry.js +51 -0
  120. package/dist/server/project/sdk-bridge.js +960 -0
  121. package/dist/server/project/session.js +696 -0
  122. package/dist/server/project/terminal.js +87 -0
  123. package/dist/server/project/warmup.js +242 -0
  124. package/dist/server/push.js +87 -0
  125. package/dist/server/tls.js +50 -0
  126. package/dist/server/tui.js +83 -0
  127. package/dist/server/update-checker.js +119 -0
  128. package/dist/server/ws/broadcast.js +50 -0
  129. package/dist/server/ws/router.js +105 -0
  130. package/dist/server/ws/server.js +2 -0
  131. package/dist/shared/analytics.js +1 -0
  132. package/dist/shared/messages.js +1 -0
  133. package/dist/shared/models.js +1 -0
  134. package/dist/shared/project-settings.js +1 -0
  135. package/package.json +5 -8
  136. package/themes/alabaster.json +9 -0
  137. package/themes/amoled.json +20 -0
  138. package/themes/ayu-light.json +9 -0
  139. package/themes/catppuccin-latte.json +9 -0
  140. package/themes/catppuccin-mocha.json +9 -0
  141. package/themes/clay-light.json +10 -0
  142. package/themes/clay.json +10 -0
  143. package/themes/dracula.json +9 -0
  144. package/themes/everforest-light.json +9 -0
  145. package/themes/everforest.json +9 -0
  146. package/themes/github-light.json +9 -0
  147. package/themes/gruvbox-dark.json +9 -0
  148. package/themes/gruvbox-light.json +9 -0
  149. package/themes/horizon-light.json +9 -0
  150. package/themes/kanagawa-lotus.json +9 -0
  151. package/themes/kanagawa.json +9 -0
  152. package/themes/modus-operandi.json +9 -0
  153. package/themes/monokai.json +9 -0
  154. package/themes/nightfox.json +9 -0
  155. package/themes/nord-light.json +9 -0
  156. package/themes/nord.json +9 -0
  157. package/themes/one-dark.json +9 -0
  158. package/themes/one-light.json +9 -0
  159. package/themes/palenight.json +9 -0
  160. package/themes/paper.json +9 -0
  161. package/themes/penumbra-light.json +9 -0
  162. package/themes/poimandres.json +9 -0
  163. package/themes/quiet-light.json +9 -0
  164. package/themes/rose-pine-dawn.json +9 -0
  165. package/themes/rose-pine.json +9 -0
  166. package/themes/solarized-dark.json +9 -0
  167. package/themes/solarized-light.json +9 -0
  168. package/themes/synthwave84.json +9 -0
  169. package/themes/tokyo-night-light.json +9 -0
  170. package/themes/tokyo-night.json +9 -0
  171. package/themes/vesper.json +9 -0
  172. package/index.html +0 -20
  173. package/public/icons/icon-192.svg +0 -11
  174. package/public/icons/icon-512.svg +0 -11
  175. package/public/sw-push.js +0 -53
  176. package/src/client/App.tsx +0 -42
  177. package/src/client/commands.ts +0 -36
  178. package/src/client/components/analytics/AnalyticsView.tsx +0 -244
  179. package/src/client/components/analytics/ChartCard.tsx +0 -194
  180. package/src/client/components/analytics/PeriodSelector.tsx +0 -42
  181. package/src/client/components/analytics/QuickStats.tsx +0 -122
  182. package/src/client/components/analytics/chartTokens.ts +0 -188
  183. package/src/client/components/analytics/charts/ActivityCalendar.tsx +0 -204
  184. package/src/client/components/analytics/charts/CacheEfficiencyChart.tsx +0 -56
  185. package/src/client/components/analytics/charts/ContextUtilizationChart.tsx +0 -106
  186. package/src/client/components/analytics/charts/CostAreaChart.tsx +0 -79
  187. package/src/client/components/analytics/charts/CostDistributionChart.tsx +0 -59
  188. package/src/client/components/analytics/charts/CostDonutChart.tsx +0 -84
  189. package/src/client/components/analytics/charts/CumulativeCostChart.tsx +0 -59
  190. package/src/client/components/analytics/charts/DailySummaryCards.tsx +0 -86
  191. package/src/client/components/analytics/charts/HourlyHeatmap.tsx +0 -133
  192. package/src/client/components/analytics/charts/NodeFleetOverview.tsx +0 -89
  193. package/src/client/components/analytics/charts/PermissionBreakdown.tsx +0 -98
  194. package/src/client/components/analytics/charts/ProjectRadar.tsx +0 -126
  195. package/src/client/components/analytics/charts/ResponseTimeScatter.tsx +0 -96
  196. package/src/client/components/analytics/charts/SessionBubbleChart.tsx +0 -114
  197. package/src/client/components/analytics/charts/SessionComplexityList.tsx +0 -65
  198. package/src/client/components/analytics/charts/SessionTimeline.tsx +0 -107
  199. package/src/client/components/analytics/charts/TokenFlowChart.tsx +0 -78
  200. package/src/client/components/analytics/charts/TokenSankeyChart.tsx +0 -93
  201. package/src/client/components/analytics/charts/ToolSunburst.tsx +0 -123
  202. package/src/client/components/analytics/charts/ToolTreemap.tsx +0 -110
  203. package/src/client/components/auth/PassphrasePrompt.tsx +0 -70
  204. package/src/client/components/chat/AttachmentChips.tsx +0 -116
  205. package/src/client/components/chat/ChatInput.tsx +0 -533
  206. package/src/client/components/chat/ChatView.tsx +0 -1076
  207. package/src/client/components/chat/CommandPalette.tsx +0 -162
  208. package/src/client/components/chat/ElicitationCard.tsx +0 -238
  209. package/src/client/components/chat/Message.tsx +0 -825
  210. package/src/client/components/chat/ModelSelector.tsx +0 -108
  211. package/src/client/components/chat/PermissionModeSelector.tsx +0 -41
  212. package/src/client/components/chat/PromptQuestion.tsx +0 -271
  213. package/src/client/components/chat/StatusBar.tsx +0 -50
  214. package/src/client/components/chat/TodoCard.tsx +0 -57
  215. package/src/client/components/chat/ToolGroup.tsx +0 -129
  216. package/src/client/components/chat/ToolResultRenderer.tsx +0 -348
  217. package/src/client/components/chat/VoiceRecorder.tsx +0 -85
  218. package/src/client/components/chat/toolSummary.ts +0 -41
  219. package/src/client/components/dashboard/DashboardView.tsx +0 -200
  220. package/src/client/components/dashboard/ProjectDashboardView.tsx +0 -179
  221. package/src/client/components/mesh/NodeBadge.tsx +0 -24
  222. package/src/client/components/mesh/PairingDialog.tsx +0 -340
  223. package/src/client/components/project-settings/ProjectClaude.tsx +0 -318
  224. package/src/client/components/project-settings/ProjectEnvironment.tsx +0 -235
  225. package/src/client/components/project-settings/ProjectGeneral.tsx +0 -76
  226. package/src/client/components/project-settings/ProjectMcp.tsx +0 -232
  227. package/src/client/components/project-settings/ProjectMemory.tsx +0 -488
  228. package/src/client/components/project-settings/ProjectNotifications.tsx +0 -48
  229. package/src/client/components/project-settings/ProjectPermissions.tsx +0 -209
  230. package/src/client/components/project-settings/ProjectPlugins.tsx +0 -117
  231. package/src/client/components/project-settings/ProjectRules.tsx +0 -286
  232. package/src/client/components/project-settings/ProjectSettingsView.tsx +0 -117
  233. package/src/client/components/project-settings/ProjectSkills.tsx +0 -91
  234. package/src/client/components/settings/Appearance.tsx +0 -275
  235. package/src/client/components/settings/BudgetSettings.tsx +0 -165
  236. package/src/client/components/settings/ClaudeSettings.tsx +0 -175
  237. package/src/client/components/settings/Editor.tsx +0 -123
  238. package/src/client/components/settings/Environment.tsx +0 -185
  239. package/src/client/components/settings/GlobalMcp.tsx +0 -216
  240. package/src/client/components/settings/GlobalMemory.tsx +0 -19
  241. package/src/client/components/settings/GlobalPlugins.tsx +0 -806
  242. package/src/client/components/settings/GlobalRules.tsx +0 -149
  243. package/src/client/components/settings/GlobalSkills.tsx +0 -140
  244. package/src/client/components/settings/MeshStatus.tsx +0 -183
  245. package/src/client/components/settings/Notifications.tsx +0 -123
  246. package/src/client/components/settings/SettingsView.tsx +0 -75
  247. package/src/client/components/settings/SkillMarketplace.tsx +0 -175
  248. package/src/client/components/settings/ThemePreview.tsx +0 -140
  249. package/src/client/components/settings/ThemeWizard.tsx +0 -405
  250. package/src/client/components/settings/mcp-shared.tsx +0 -194
  251. package/src/client/components/settings/skill-shared.tsx +0 -186
  252. package/src/client/components/setup/SetupWizard.tsx +0 -755
  253. package/src/client/components/sidebar/AddProjectModal.tsx +0 -438
  254. package/src/client/components/sidebar/NodeSettingsModal.tsx +0 -206
  255. package/src/client/components/sidebar/ProjectDropdown.tsx +0 -211
  256. package/src/client/components/sidebar/ProjectRail.tsx +0 -353
  257. package/src/client/components/sidebar/SearchFilter.tsx +0 -52
  258. package/src/client/components/sidebar/SessionList.tsx +0 -599
  259. package/src/client/components/sidebar/SettingsSidebar.tsx +0 -139
  260. package/src/client/components/sidebar/Sidebar.tsx +0 -469
  261. package/src/client/components/sidebar/UserIsland.tsx +0 -282
  262. package/src/client/components/sidebar/UserMenu.tsx +0 -107
  263. package/src/client/components/ui/CommandPalette.tsx +0 -321
  264. package/src/client/components/ui/ContextMenu.tsx +0 -153
  265. package/src/client/components/ui/ErrorBoundary.tsx +0 -56
  266. package/src/client/components/ui/IconPicker.tsx +0 -184
  267. package/src/client/components/ui/KeyboardShortcuts.tsx +0 -129
  268. package/src/client/components/ui/LatticeLogomark.tsx +0 -19
  269. package/src/client/components/ui/NodeDisconnectedOverlay.tsx +0 -35
  270. package/src/client/components/ui/PopupMenu.tsx +0 -120
  271. package/src/client/components/ui/SaveFooter.tsx +0 -63
  272. package/src/client/components/ui/Toast.tsx +0 -132
  273. package/src/client/components/ui/UpdateBanner.tsx +0 -110
  274. package/src/client/components/ui/UpdatePrompt.tsx +0 -47
  275. package/src/client/components/workspace/BookmarksView.tsx +0 -156
  276. package/src/client/components/workspace/FileBrowser.tsx +0 -174
  277. package/src/client/components/workspace/FileTree.tsx +0 -129
  278. package/src/client/components/workspace/FileViewer.tsx +0 -211
  279. package/src/client/components/workspace/NoteCard.tsx +0 -120
  280. package/src/client/components/workspace/NotesView.tsx +0 -102
  281. package/src/client/components/workspace/ScheduledTasksView.tsx +0 -117
  282. package/src/client/components/workspace/SplitPane.tsx +0 -81
  283. package/src/client/components/workspace/TabBar.tsx +0 -170
  284. package/src/client/components/workspace/TaskCard.tsx +0 -159
  285. package/src/client/components/workspace/TaskEditModal.tsx +0 -129
  286. package/src/client/components/workspace/TerminalInstance.tsx +0 -171
  287. package/src/client/components/workspace/TerminalView.tsx +0 -110
  288. package/src/client/components/workspace/WorkspaceView.tsx +0 -141
  289. package/src/client/hooks/useAnalytics.ts +0 -84
  290. package/src/client/hooks/useAttachments.ts +0 -313
  291. package/src/client/hooks/useBookmarks.ts +0 -57
  292. package/src/client/hooks/useEditorConfig.ts +0 -28
  293. package/src/client/hooks/useFocusTrap.ts +0 -74
  294. package/src/client/hooks/useIdleDetection.ts +0 -50
  295. package/src/client/hooks/useInstallPrompt.ts +0 -53
  296. package/src/client/hooks/useMesh.ts +0 -89
  297. package/src/client/hooks/useNotifications.ts +0 -54
  298. package/src/client/hooks/useOnline.ts +0 -6
  299. package/src/client/hooks/useProjectSettings.ts +0 -56
  300. package/src/client/hooks/useProjects.ts +0 -98
  301. package/src/client/hooks/usePushNotifications.ts +0 -92
  302. package/src/client/hooks/useSaveState.ts +0 -65
  303. package/src/client/hooks/useSession.ts +0 -580
  304. package/src/client/hooks/useSidebar.ts +0 -90
  305. package/src/client/hooks/useSkills.ts +0 -30
  306. package/src/client/hooks/useSpinnerVerb.ts +0 -36
  307. package/src/client/hooks/useSwipeDrawer.ts +0 -299
  308. package/src/client/hooks/useTheme.ts +0 -114
  309. package/src/client/hooks/useTimeTick.ts +0 -35
  310. package/src/client/hooks/useVoiceRecorder.ts +0 -169
  311. package/src/client/hooks/useWebSocket.ts +0 -27
  312. package/src/client/hooks/useWorkspace.ts +0 -57
  313. package/src/client/lib/theme-derive.ts +0 -196
  314. package/src/client/lib/workspace-url.ts +0 -219
  315. package/src/client/main.tsx +0 -10
  316. package/src/client/providers/WebSocketProvider.tsx +0 -186
  317. package/src/client/router.tsx +0 -578
  318. package/src/client/stores/analytics.ts +0 -68
  319. package/src/client/stores/bookmarks.ts +0 -45
  320. package/src/client/stores/mesh.ts +0 -78
  321. package/src/client/stores/session.ts +0 -569
  322. package/src/client/stores/sidebar.ts +0 -530
  323. package/src/client/stores/theme.ts +0 -44
  324. package/src/client/stores/workspace.ts +0 -518
  325. package/src/client/styles/global.css +0 -391
  326. package/src/client/styles/theme-vars.css +0 -18
  327. package/src/client/themes/index.ts +0 -105
  328. package/src/client/utils/editorUrl.ts +0 -55
  329. package/src/client/utils/findDuplicateKeys.ts +0 -12
  330. package/src/client/utils/formatSessionTitle.ts +0 -17
  331. package/src/client/vite-env.d.ts +0 -6
  332. package/src/server/analytics/engine.ts +0 -920
  333. package/src/server/assets.ts +0 -45
  334. package/src/server/auth/passphrase.ts +0 -78
  335. package/src/server/config.ts +0 -55
  336. package/src/server/daemon.ts +0 -567
  337. package/src/server/features/ralph-loop.ts +0 -173
  338. package/src/server/features/scheduler.ts +0 -304
  339. package/src/server/features/sticky-notes.ts +0 -104
  340. package/src/server/handlers/analytics.ts +0 -39
  341. package/src/server/handlers/attachment.ts +0 -189
  342. package/src/server/handlers/bookmarks.ts +0 -50
  343. package/src/server/handlers/chat.ts +0 -381
  344. package/src/server/handlers/editor.ts +0 -76
  345. package/src/server/handlers/fs.ts +0 -251
  346. package/src/server/handlers/loop.ts +0 -37
  347. package/src/server/handlers/memory.ts +0 -182
  348. package/src/server/handlers/mesh.ts +0 -362
  349. package/src/server/handlers/notes.ts +0 -47
  350. package/src/server/handlers/plugins.ts +0 -655
  351. package/src/server/handlers/project-settings.ts +0 -180
  352. package/src/server/handlers/scheduler.ts +0 -64
  353. package/src/server/handlers/session.ts +0 -226
  354. package/src/server/handlers/settings.ts +0 -157
  355. package/src/server/handlers/skills.ts +0 -378
  356. package/src/server/handlers/terminal.ts +0 -88
  357. package/src/server/handlers/themes.ts +0 -121
  358. package/src/server/handlers/update.ts +0 -133
  359. package/src/server/identity.ts +0 -56
  360. package/src/server/index.ts +0 -454
  361. package/src/server/logger.ts +0 -21
  362. package/src/server/mesh/connector.ts +0 -419
  363. package/src/server/mesh/crypto.ts +0 -106
  364. package/src/server/mesh/discovery.ts +0 -126
  365. package/src/server/mesh/pairing.ts +0 -123
  366. package/src/server/mesh/peers.ts +0 -60
  367. package/src/server/mesh/proxy.ts +0 -106
  368. package/src/server/mesh/session-sync.ts +0 -107
  369. package/src/server/project/bookmarks.ts +0 -83
  370. package/src/server/project/context-breakdown.ts +0 -307
  371. package/src/server/project/file-browser.ts +0 -106
  372. package/src/server/project/project-files.ts +0 -267
  373. package/src/server/project/pty-worker.cjs +0 -83
  374. package/src/server/project/registry.ts +0 -57
  375. package/src/server/project/sdk-bridge.ts +0 -1100
  376. package/src/server/project/session.ts +0 -723
  377. package/src/server/project/terminal.ts +0 -111
  378. package/src/server/project/warmup.ts +0 -285
  379. package/src/server/push.ts +0 -121
  380. package/src/server/tls.ts +0 -65
  381. package/src/server/tui.ts +0 -103
  382. package/src/server/update-checker.ts +0 -147
  383. package/src/server/ws/broadcast.ts +0 -61
  384. package/src/server/ws/router.ts +0 -123
  385. package/src/server/ws/server.ts +0 -2
  386. package/src/shared/analytics.ts +0 -40
  387. package/src/shared/messages.ts +0 -1302
  388. package/src/shared/models.ts +0 -255
  389. package/src/shared/project-settings.ts +0 -45
  390. package/tsconfig.json +0 -25
  391. package/vite.config.ts +0 -71
  392. /package/{src/server/runtime.ts → dist/server/runtime.js} +0 -0
  393. /package/{src/shared/constants.ts → dist/shared/constants.js} +0 -0
  394. /package/{src/shared/index.ts → dist/shared/index.js} +0 -0
@@ -1,391 +0,0 @@
1
- @import "tailwindcss";
2
- @plugin "daisyui";
3
- @plugin "@tailwindcss/typography";
4
-
5
- @layer base {
6
- button:not(:disabled),
7
- a[href],
8
- [role="button"]:not([aria-disabled="true"]) {
9
- cursor: pointer;
10
- }
11
- }
12
- @plugin "daisyui/theme" {
13
- name: "lattice-dark";
14
- default: true;
15
- prefersdark: true;
16
- color-scheme: dark;
17
- --color-base-100: oklch(13% 0.02 280);
18
- --color-base-200: oklch(16% 0.02 280);
19
- --color-base-300: oklch(20% 0.02 280);
20
- --color-base-content: oklch(90% 0.02 280);
21
- --color-primary: oklch(55% 0.25 280);
22
- --color-primary-content: oklch(98% 0.01 280);
23
- --color-secondary: oklch(60% 0.2 280);
24
- --color-secondary-content: oklch(98% 0.01 280);
25
- --color-accent: oklch(65% 0.25 150);
26
- --color-accent-content: oklch(98% 0.01 150);
27
- --color-neutral: oklch(25% 0.02 280);
28
- --color-neutral-content: oklch(85% 0.02 280);
29
- --color-info: oklch(65% 0.2 240);
30
- --color-info-content: oklch(98% 0.01 240);
31
- --color-success: oklch(70% 0.2 150);
32
- --color-success-content: oklch(98% 0.01 150);
33
- --color-warning: oklch(80% 0.2 85);
34
- --color-warning-content: oklch(20% 0.05 85);
35
- --color-error: oklch(65% 0.25 25);
36
- --color-error-content: oklch(98% 0.01 25);
37
- --radius-selector: 0.5rem;
38
- --radius-field: 0.25rem;
39
- --radius-box: 0.5rem;
40
- --size-selector: 0.25rem;
41
- --size-field: 0.25rem;
42
- --border: 1px;
43
- --depth: 1;
44
- --noise: 0;
45
- }
46
-
47
- :root {
48
- --sidebar-width: 260px;
49
- --node-rail-width: 52px;
50
-
51
- --font-ui: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
52
- --font-mono: "JetBrains Mono", "Berkeley Mono", "Geist Mono", ui-monospace, monospace;
53
- --font-heading: "JetBrains Mono", "Berkeley Mono", ui-monospace, monospace;
54
- }
55
-
56
- html, body {
57
- height: 100%;
58
- width: 100%;
59
- max-width: 100vw;
60
- overflow-x: hidden;
61
- font-family: var(--font-ui);
62
- -webkit-font-smoothing: antialiased;
63
- -moz-osx-font-smoothing: grayscale;
64
- }
65
-
66
- #root {
67
- height: 100%;
68
- width: 100%;
69
- max-width: 100vw;
70
- display: flex;
71
- overflow: hidden;
72
- position: relative;
73
- }
74
-
75
- ::-webkit-scrollbar {
76
- width: 6px;
77
- height: 6px;
78
- }
79
-
80
- ::-webkit-scrollbar-track {
81
- background: transparent;
82
- }
83
-
84
- ::-webkit-scrollbar-thumb {
85
- background: oklch(from var(--color-base-content) l c h / 0.15);
86
- border-radius: 3px;
87
- }
88
-
89
- ::-webkit-scrollbar-thumb:hover {
90
- background: oklch(from var(--color-base-content) l c h / 0.25);
91
- }
92
-
93
- * {
94
- scrollbar-width: thin;
95
- scrollbar-color: oklch(from var(--color-base-content) l c h / 0.15) transparent;
96
- }
97
-
98
- .prose pre {
99
- border-radius: 0.5rem;
100
- border: 1px solid oklch(from var(--color-base-content) l c h / 0.1);
101
- font-family: var(--font-mono);
102
- font-size: 13px;
103
- line-height: 1.6;
104
- overflow-x: auto;
105
- max-width: 100%;
106
- }
107
-
108
- .prose {
109
- overflow-wrap: break-word;
110
- word-break: break-word;
111
- }
112
-
113
- .prose code {
114
- font-family: var(--font-mono);
115
- font-size: 13px;
116
- padding: 0.15em 0.3em;
117
- border-radius: 0.25rem;
118
- background: oklch(from var(--color-base-content) l c h / 0.08);
119
- }
120
-
121
- .prose pre code {
122
- padding: 0;
123
- background: transparent;
124
- }
125
-
126
- .prose .table-wrapper {
127
- position: relative;
128
- overflow-x: auto;
129
- margin: 0.75em 0;
130
- border-radius: 0.5rem;
131
- border: 1px solid oklch(from var(--color-base-content) l c h / 0.08);
132
- background: oklch(from var(--color-base-100) l c h / 0.6);
133
- scrollbar-width: thin;
134
- }
135
-
136
- /* Horizontal scroll fade indicator */
137
- .prose .table-wrapper::after {
138
- content: "";
139
- position: absolute;
140
- top: 0;
141
- right: 0;
142
- bottom: 0;
143
- width: 24px;
144
- background: linear-gradient(to right, transparent, oklch(from var(--color-base-100) l c h / 0.8));
145
- pointer-events: none;
146
- opacity: 1;
147
- transition: opacity 150ms;
148
- border-radius: 0 0.5rem 0.5rem 0;
149
- }
150
-
151
- /* Hide fade when scrolled to end (JS adds this class) or when content fits */
152
- .prose .table-wrapper.scrolled-end::after,
153
- .prose .table-wrapper:not(.has-overflow)::after {
154
- opacity: 0;
155
- }
156
-
157
- .prose table {
158
- border-collapse: collapse;
159
- width: 100%;
160
- font-size: 12px;
161
- font-family: var(--font-mono);
162
- margin: 0;
163
- border: none;
164
- line-height: 1.5;
165
- }
166
-
167
- .prose thead {
168
- background: oklch(from var(--color-base-content) l c h / 0.04);
169
- position: sticky;
170
- top: 0;
171
- z-index: 1;
172
- }
173
-
174
- .prose th {
175
- text-align: left;
176
- font-weight: 600;
177
- font-size: 10px;
178
- text-transform: uppercase;
179
- letter-spacing: 0.06em;
180
- padding: 8px 14px;
181
- color: oklch(from var(--color-base-content) l c h / 0.35);
182
- border-bottom: 1px solid oklch(from var(--color-base-content) l c h / 0.1);
183
- white-space: nowrap;
184
- user-select: none;
185
- }
186
-
187
- .prose td {
188
- padding: 8px 14px;
189
- color: oklch(from var(--color-base-content) l c h / 0.65);
190
- border-bottom: 1px solid oklch(from var(--color-base-content) l c h / 0.04);
191
- vertical-align: top;
192
- white-space: normal;
193
- min-width: 60px;
194
- }
195
-
196
- .prose td code {
197
- font-size: 11px;
198
- white-space: nowrap;
199
- padding: 1px 5px;
200
- border-radius: 3px;
201
- background: oklch(from var(--color-primary) l c h / 0.08);
202
- color: oklch(from var(--color-primary) l c h / 0.8);
203
- }
204
-
205
- .prose tbody tr:last-child td {
206
- border-bottom: none;
207
- }
208
-
209
- .prose tbody tr {
210
- transition: background-color 150ms ease;
211
- }
212
-
213
- .prose tbody tr:nth-child(even) {
214
- background: oklch(from var(--color-base-content) l c h / 0.015);
215
- }
216
-
217
- .prose tbody tr:hover {
218
- background: oklch(from var(--color-primary) l c h / 0.04);
219
- }
220
-
221
- .bg-lattice-grid {
222
- background-color: transparent;
223
- }
224
-
225
- @media (min-width: 640px) {
226
- .bg-lattice-grid {
227
- background-image: radial-gradient(circle, oklch(90% 0.02 280 / 0.05) 1px, transparent 1px);
228
- background-size: 24px 24px;
229
- }
230
- }
231
-
232
- .fullscreen-chart-container {
233
- display: flex;
234
- flex-direction: column;
235
- }
236
-
237
- .fullscreen-chart-container > * {
238
- flex: 1;
239
- min-height: 0;
240
- }
241
-
242
- .fullscreen-chart-container .recharts-responsive-container {
243
- height: 100% !important;
244
- min-height: 0 !important;
245
- }
246
-
247
- @keyframes pulse {
248
- 0%, 80%, 100% { opacity: 0.2; transform: scale(0.8); }
249
- 40% { opacity: 1; transform: scale(1); }
250
- }
251
-
252
- @keyframes spin {
253
- to { transform: rotate(360deg); }
254
- }
255
-
256
- @keyframes toast-in {
257
- from { opacity: 0; transform: translateX(12px); }
258
- to { opacity: 1; transform: translateX(0); }
259
- }
260
-
261
- @media (pointer: coarse) {
262
- .btn-xs,
263
- .btn-sm,
264
- .select-xs,
265
- .select-sm {
266
- min-height: 44px;
267
- min-width: 44px;
268
- }
269
-
270
- .btn-xs.min-h-0 {
271
- min-height: 44px;
272
- }
273
-
274
- .select-xs,
275
- .select-sm {
276
- min-width: unset;
277
- }
278
-
279
- [role="radiogroup"] > button {
280
- min-height: 44px;
281
- min-width: 36px;
282
- padding: 10px 12px;
283
- }
284
-
285
- .icon-action {
286
- min-height: 44px;
287
- min-width: 44px;
288
- display: inline-flex;
289
- align-items: center;
290
- justify-content: center;
291
- }
292
- }
293
-
294
- /* Neutralize DaisyUI 5's root scroll lock for the drawer.
295
- DaisyUI sets --page-overflow:hidden on :root when a drawer-toggle is
296
- checked, which applies overflow:hidden to <html> and kills ALL
297
- scrolling — including nested overflow-y:auto containers on mobile
298
- browsers. Our app manages its own scroll containers, so we always
299
- want the page overflow to stay as defined in our html/body rules. */
300
- :root:has(.drawer-toggle:checked) {
301
- --page-overflow: unset !important;
302
- --page-scroll-gutter: unset !important;
303
- }
304
-
305
- /* Override DaisyUI drawer for smooth slide transitions on mobile.
306
- DaisyUI defaults use opacity on the whole drawer-side which causes
307
- an instant vanish. We keep drawer-side always opacity:1 and instead
308
- slide the content panel + fade the overlay independently. */
309
- @media (max-width: 1023px) {
310
- /* Keep the container itself always fully opaque so the slide is visible.
311
- Use visibility + pointer-events to control interactivity. */
312
- .drawer-side {
313
- opacity: 1 !important;
314
- transition: visibility 0s linear 0.25s !important;
315
- }
316
-
317
- .drawer-toggle:checked ~ .drawer-side {
318
- transition: visibility 0s linear 0s !important;
319
- }
320
-
321
- /* Sidebar content: slide in/out using translate (matches DaisyUI's property) */
322
- .drawer-side > *:not(.drawer-overlay) {
323
- will-change: translate;
324
- transition: translate 0.25s cubic-bezier(0.4, 0, 0.2, 1);
325
- }
326
-
327
- /* Overlay: fade in/out */
328
- .drawer-side > .drawer-overlay {
329
- will-change: opacity;
330
- opacity: 0;
331
- transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
332
- }
333
-
334
- .drawer-toggle:checked ~ .drawer-side > .drawer-overlay {
335
- opacity: 1;
336
- }
337
- }
338
-
339
- .scrollbar-hidden {
340
- scrollbar-width: none;
341
- -ms-overflow-style: none;
342
- }
343
-
344
- .scrollbar-hidden::-webkit-scrollbar {
345
- display: none;
346
- }
347
-
348
- .skill-content-scroll {
349
- scrollbar-width: thin;
350
- scrollbar-color: oklch(from var(--color-primary-content) l c h / 0.2) transparent;
351
- mask-image: linear-gradient(to bottom, black calc(100% - 32px), transparent 100%);
352
- -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 32px), transparent 100%);
353
- padding-bottom: 8px;
354
- }
355
-
356
- .skill-content-scroll::-webkit-scrollbar {
357
- width: 4px;
358
- }
359
-
360
- .skill-content-scroll::-webkit-scrollbar-track {
361
- background: transparent;
362
- }
363
-
364
- .skill-content-scroll::-webkit-scrollbar-thumb {
365
- background: oklch(from var(--color-primary-content) l c h / 0.2);
366
- border-radius: 2px;
367
- }
368
-
369
- .skill-content-scroll::-webkit-scrollbar-thumb:hover {
370
- background: oklch(from var(--color-primary-content) l c h / 0.35);
371
- }
372
-
373
- @keyframes waveform {
374
- 0%, 100% { transform: scaleY(0.25); opacity: 0.3; }
375
- 50% { transform: scaleY(1); opacity: 0.8; }
376
- }
377
-
378
- .animate-waveform {
379
- height: 16px;
380
- transform-origin: bottom;
381
- animation: waveform 0.6s ease-in-out infinite;
382
- }
383
-
384
- @media (prefers-reduced-motion: reduce) {
385
- *, *::before, *::after {
386
- animation-duration: 0.01ms !important;
387
- animation-iteration-count: 1 !important;
388
- transition-duration: 0.01ms !important;
389
- scroll-behavior: auto !important;
390
- }
391
- }
@@ -1,18 +0,0 @@
1
- :root {
2
- --bg-primary: var(--base00);
3
- --bg-secondary: var(--base01);
4
- --bg-tertiary: var(--base02);
5
- --text-muted: var(--base03);
6
- --text-secondary: var(--base04);
7
- --text-primary: var(--base05);
8
- --text-bright: var(--base06);
9
- --text-accent: var(--base07);
10
- --red: var(--base08);
11
- --orange: var(--base09);
12
- --yellow: var(--base0A);
13
- --green: var(--base0B);
14
- --cyan: var(--base0C);
15
- --blue: var(--base0D);
16
- --purple: var(--base0E);
17
- --magenta: var(--base0F);
18
- }
@@ -1,105 +0,0 @@
1
- import alabaster from "../../../themes/alabaster.json";
2
- import amoled from "../../../themes/amoled.json";
3
- import ayuLight from "../../../themes/ayu-light.json";
4
- import catppuccinLatte from "../../../themes/catppuccin-latte.json";
5
- import catppuccinMocha from "../../../themes/catppuccin-mocha.json";
6
- import clayLight from "../../../themes/clay-light.json";
7
- import clay from "../../../themes/clay.json";
8
- import dracula from "../../../themes/dracula.json";
9
- import everforestLight from "../../../themes/everforest-light.json";
10
- import everforest from "../../../themes/everforest.json";
11
- import githubLight from "../../../themes/github-light.json";
12
- import gruvboxDark from "../../../themes/gruvbox-dark.json";
13
- import gruvboxLight from "../../../themes/gruvbox-light.json";
14
- import horizonLight from "../../../themes/horizon-light.json";
15
- import kanagawaLotus from "../../../themes/kanagawa-lotus.json";
16
- import kanagawa from "../../../themes/kanagawa.json";
17
- import modusOperandi from "../../../themes/modus-operandi.json";
18
- import monokai from "../../../themes/monokai.json";
19
- import nightfox from "../../../themes/nightfox.json";
20
- import nordLight from "../../../themes/nord-light.json";
21
- import nord from "../../../themes/nord.json";
22
- import oneDark from "../../../themes/one-dark.json";
23
- import oneLight from "../../../themes/one-light.json";
24
- import palenight from "../../../themes/palenight.json";
25
- import paper from "../../../themes/paper.json";
26
- import penumbraLight from "../../../themes/penumbra-light.json";
27
- import poimandres from "../../../themes/poimandres.json";
28
- import quietLight from "../../../themes/quiet-light.json";
29
- import rosePineDawn from "../../../themes/rose-pine-dawn.json";
30
- import rosePine from "../../../themes/rose-pine.json";
31
- import solarizedDark from "../../../themes/solarized-dark.json";
32
- import solarizedLight from "../../../themes/solarized-light.json";
33
- import synthwave84 from "../../../themes/synthwave84.json";
34
- import tokyoNightLight from "../../../themes/tokyo-night-light.json";
35
- import tokyoNight from "../../../themes/tokyo-night.json";
36
- import vesper from "../../../themes/vesper.json";
37
-
38
- export interface ThemeColors {
39
- base00: string;
40
- base01: string;
41
- base02: string;
42
- base03: string;
43
- base04: string;
44
- base05: string;
45
- base06: string;
46
- base07: string;
47
- base08: string;
48
- base09: string;
49
- base0A: string;
50
- base0B: string;
51
- base0C: string;
52
- base0D: string;
53
- base0E: string;
54
- base0F: string;
55
- }
56
-
57
- export interface Theme extends ThemeColors {
58
- name: string;
59
- author: string;
60
- variant: "dark" | "light";
61
- }
62
-
63
- export interface ThemeEntry {
64
- id: string;
65
- theme: Theme;
66
- }
67
-
68
- export var themes: ThemeEntry[] = [
69
- { id: "alabaster", theme: alabaster as Theme },
70
- { id: "amoled", theme: amoled as Theme },
71
- { id: "ayu-light", theme: ayuLight as Theme },
72
- { id: "catppuccin-latte", theme: catppuccinLatte as Theme },
73
- { id: "catppuccin-mocha", theme: catppuccinMocha as Theme },
74
- { id: "clay-light", theme: clayLight as Theme },
75
- { id: "clay", theme: clay as Theme },
76
- { id: "dracula", theme: dracula as Theme },
77
- { id: "everforest-light", theme: everforestLight as Theme },
78
- { id: "everforest", theme: everforest as Theme },
79
- { id: "github-light", theme: githubLight as Theme },
80
- { id: "gruvbox-dark", theme: gruvboxDark as Theme },
81
- { id: "gruvbox-light", theme: gruvboxLight as Theme },
82
- { id: "horizon-light", theme: horizonLight as Theme },
83
- { id: "kanagawa-lotus", theme: kanagawaLotus as Theme },
84
- { id: "kanagawa", theme: kanagawa as Theme },
85
- { id: "modus-operandi", theme: modusOperandi as Theme },
86
- { id: "monokai", theme: monokai as Theme },
87
- { id: "nightfox", theme: nightfox as Theme },
88
- { id: "nord-light", theme: nordLight as Theme },
89
- { id: "nord", theme: nord as Theme },
90
- { id: "one-dark", theme: oneDark as Theme },
91
- { id: "one-light", theme: oneLight as Theme },
92
- { id: "palenight", theme: palenight as Theme },
93
- { id: "paper", theme: paper as Theme },
94
- { id: "penumbra-light", theme: penumbraLight as Theme },
95
- { id: "poimandres", theme: poimandres as Theme },
96
- { id: "quiet-light", theme: quietLight as Theme },
97
- { id: "rose-pine-dawn", theme: rosePineDawn as Theme },
98
- { id: "rose-pine", theme: rosePine as Theme },
99
- { id: "solarized-dark", theme: solarizedDark as Theme },
100
- { id: "solarized-light", theme: solarizedLight as Theme },
101
- { id: "synthwave84", theme: synthwave84 as Theme },
102
- { id: "tokyo-night-light", theme: tokyoNightLight as Theme },
103
- { id: "tokyo-night", theme: tokyoNight as Theme },
104
- { id: "vesper", theme: vesper as Theme },
105
- ];
@@ -1,55 +0,0 @@
1
- export var JETBRAINS_IDS: Record<string, string> = {
2
- webstorm: "web-storm",
3
- intellij: "idea",
4
- pycharm: "py-charm",
5
- goland: "go-land",
6
- };
7
-
8
- function toWindowsPath(linuxPath: string, wslDistro: string): string {
9
- return "\\\\" + "wsl.localhost\\" + wslDistro + linuxPath.replace(/\//g, "\\");
10
- }
11
-
12
- function buildJetBrainsUrl(ideId: string, relativePath: string, line?: number, projectName?: string): string {
13
- var url = "jetbrains://" + ideId + "/navigate/reference?";
14
- var params: string[] = [];
15
- if (projectName) {
16
- params.push("project=" + encodeURIComponent(projectName));
17
- }
18
- if (relativePath) {
19
- params.push("path=" + encodeURIComponent(relativePath));
20
- }
21
- if (line) {
22
- params.push("line=" + String(line));
23
- }
24
- return url + params.join("&");
25
- }
26
-
27
- export function isJetBrainsEditor(editorType: string): boolean {
28
- return editorType in JETBRAINS_IDS;
29
- }
30
-
31
- export function getEditorUrl(editorType: string, projectPath: string, filePath: string, line?: number, wslDistro?: string, ideProjectName?: string): string | null {
32
- var fullPath = filePath === "." ? projectPath : projectPath + "/" + filePath;
33
- var resolvedPath = wslDistro ? toWindowsPath(fullPath, wslDistro) : fullPath;
34
-
35
- var jetbrainsId = JETBRAINS_IDS[editorType];
36
- if (jetbrainsId) {
37
- var jbRelativePath = filePath === "." ? "" : filePath;
38
- return buildJetBrainsUrl(jetbrainsId, jbRelativePath, line, ideProjectName || undefined);
39
- }
40
-
41
- if (editorType === "vscode" || editorType === "vscode-insiders" || editorType === "cursor") {
42
- var scheme = editorType;
43
- var isFile = filePath !== ".";
44
- var lineSuffix = isFile ? ":" + (line || 1) : "";
45
- if (wslDistro) {
46
- return scheme + "://vscode-remote/wsl+" + wslDistro + fullPath + lineSuffix;
47
- }
48
- return scheme + "://file/" + resolvedPath + lineSuffix;
49
- }
50
- if (editorType === "sublime") {
51
- return "subl://open?url=file://" + encodeURIComponent(resolvedPath) + (line ? "&line=" + line : "");
52
- }
53
-
54
- return null;
55
- }
@@ -1,12 +0,0 @@
1
- export function findDuplicateKeys(entries: Array<{ key: string }>): Set<string> {
2
- var seen = new Map<string, number>();
3
- var dupes = new Set<string>();
4
- for (var i = 0; i < entries.length; i++) {
5
- var k = entries[i].key.trim();
6
- if (!k) continue;
7
- var count = (seen.get(k) || 0) + 1;
8
- seen.set(k, count);
9
- if (count > 1) dupes.add(k);
10
- }
11
- return dupes;
12
- }
@@ -1,17 +0,0 @@
1
- export function formatSessionTitle(title: string | null | undefined): string | null {
2
- if (!title) return null;
3
- if (title.startsWith("<skill-name>")) {
4
- var endTag = title.indexOf("</skill-name>");
5
- if (endTag !== -1) {
6
- return "/" + title.slice(12, endTag);
7
- }
8
- }
9
- var firstNewline = title.search(/\r?\n/);
10
- if (firstNewline !== -1) {
11
- var firstLine = title.slice(0, firstNewline).trim();
12
- if (firstLine.indexOf(":") !== -1 && /\n---[\r\n]/.test(title)) {
13
- return "/" + firstLine;
14
- }
15
- }
16
- return title;
17
- }
@@ -1,6 +0,0 @@
1
- /// <reference types="vite/client" />
2
-
3
- declare module "*.css" {
4
- var content: string;
5
- export default content;
6
- }