@edenapp/sdk 0.1.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 (432) hide show
  1. package/apps/com/eden/editor/dist/assets/css-DQU6DXDx.js +3 -0
  2. package/apps/com/eden/editor/dist/assets/editor-BRA9licV.css +1 -0
  3. package/apps/com/eden/editor/dist/assets/editor.main-DAsyVptA.js +677 -0
  4. package/apps/com/eden/editor/dist/assets/editor.worker-B4pQIWZD.js +12 -0
  5. package/apps/com/eden/editor/dist/assets/html-CTBLac3N.js +1 -0
  6. package/apps/com/eden/editor/dist/assets/index-B7GgDQ9I.css +1 -0
  7. package/apps/com/eden/editor/dist/assets/index-BWJI9cyM.js +2 -0
  8. package/apps/com/eden/editor/dist/assets/ini-BvajGCUy.js +1 -0
  9. package/apps/com/eden/editor/dist/assets/javascript-DJ6Ya8pi.js +1 -0
  10. package/apps/com/eden/editor/dist/assets/jsonMode-BA0kYRDI.js +10 -0
  11. package/apps/com/eden/editor/dist/assets/less-GGFNNJHn.js +2 -0
  12. package/apps/com/eden/editor/dist/assets/markdown-B811l8j2.js +1 -0
  13. package/apps/com/eden/editor/dist/assets/shell-CsDZo4DB.js +1 -0
  14. package/apps/com/eden/editor/dist/assets/typescript-C7BsmV0J.js +1 -0
  15. package/apps/com/eden/editor/dist/assets/yaml-QL02lm_B.js +1 -0
  16. package/apps/com/eden/editor/dist/index.html +13 -0
  17. package/apps/com/eden/editor/icon.svg +22 -0
  18. package/apps/com/eden/editor/index.html +12 -0
  19. package/apps/com/eden/editor/manifest.json +58 -0
  20. package/apps/com/eden/editor/node_modules/.bin/browserslist +21 -0
  21. package/apps/com/eden/editor/node_modules/.bin/tsc +21 -0
  22. package/apps/com/eden/editor/node_modules/.bin/tsserver +21 -0
  23. package/apps/com/eden/editor/node_modules/.bin/vite +21 -0
  24. package/apps/com/eden/editor/package.json +21 -0
  25. package/apps/com/eden/editor/src/App.tsx +212 -0
  26. package/apps/com/eden/editor/src/components/ErrorBanner.tsx +13 -0
  27. package/apps/com/eden/editor/src/components/LazyMonacoEditor.tsx +154 -0
  28. package/apps/com/eden/editor/src/components/TabBar.tsx +36 -0
  29. package/apps/com/eden/editor/src/components/Toolbar.tsx +39 -0
  30. package/apps/com/eden/editor/src/components/WelcomeScreen.tsx +49 -0
  31. package/apps/com/eden/editor/src/components/index.ts +11 -0
  32. package/apps/com/eden/editor/src/index.tsx +10 -0
  33. package/apps/com/eden/editor/src/styles.css +319 -0
  34. package/apps/com/eden/editor/src/types.ts +69 -0
  35. package/apps/com/eden/editor/tsconfig.json +24 -0
  36. package/apps/com/eden/editor/vite.config.mts +67 -0
  37. package/apps/com/eden/eveshell/assets/apps-grid-icon.svg +17 -0
  38. package/apps/com/eden/eveshell/assets/default-icon.svg +17 -0
  39. package/apps/com/eden/eveshell/dist/assets/index-BS2yCXxK.css +1 -0
  40. package/apps/com/eden/eveshell/dist/assets/index-De0NEh_d.js +1 -0
  41. package/apps/com/eden/eveshell/dist/index.html +13 -0
  42. package/apps/com/eden/eveshell/index.html +12 -0
  43. package/apps/com/eden/eveshell/manifest.json +28 -0
  44. package/apps/com/eden/eveshell/node_modules/.bin/tsc +21 -0
  45. package/apps/com/eden/eveshell/node_modules/.bin/tsserver +21 -0
  46. package/apps/com/eden/eveshell/node_modules/.bin/vite +21 -0
  47. package/apps/com/eden/eveshell/package.json +20 -0
  48. package/apps/com/eden/eveshell/src/components/AllApps.tsx +228 -0
  49. package/apps/com/eden/eveshell/src/components/AppContextMenu.tsx +125 -0
  50. package/apps/com/eden/eveshell/src/components/AppIcon.tsx +40 -0
  51. package/apps/com/eden/eveshell/src/components/Clock.tsx +35 -0
  52. package/apps/com/eden/eveshell/src/components/Dock.tsx +147 -0
  53. package/apps/com/eden/eveshell/src/components/ShellOverlay.tsx +343 -0
  54. package/apps/com/eden/eveshell/src/icon-cache.ts +38 -0
  55. package/apps/com/eden/eveshell/src/index.tsx +11 -0
  56. package/apps/com/eden/eveshell/src/styles.css +409 -0
  57. package/apps/com/eden/eveshell/src/types.ts +5 -0
  58. package/apps/com/eden/eveshell/tsconfig.json +37 -0
  59. package/apps/com/eden/eveshell/vite.config.mts +23 -0
  60. package/apps/com/eden/example/appbus/client-a/app.js +239 -0
  61. package/apps/com/eden/example/appbus/client-a/index.html +48 -0
  62. package/apps/com/eden/example/appbus/client-a/manifest.json +27 -0
  63. package/apps/com/eden/example/appbus/client-a/styles.css +52 -0
  64. package/apps/com/eden/example/appbus/client-b/app.js +130 -0
  65. package/apps/com/eden/example/appbus/client-b/index.html +35 -0
  66. package/apps/com/eden/example/appbus/client-b/manifest.json +27 -0
  67. package/apps/com/eden/example/appbus/client-b/styles.css +48 -0
  68. package/apps/com/eden/example/appbus/hub/README.md +18 -0
  69. package/apps/com/eden/example/appbus/hub/backend.js +121 -0
  70. package/apps/com/eden/example/appbus/hub/manifest.json +17 -0
  71. package/apps/com/eden/example/appbus/isolated/app.js +107 -0
  72. package/apps/com/eden/example/appbus/isolated/index.html +35 -0
  73. package/apps/com/eden/example/appbus/isolated/manifest.json +27 -0
  74. package/apps/com/eden/example/appbus/isolated/styles.css +52 -0
  75. package/apps/com/eden/example/calculator/.dev-manifest.json +5 -0
  76. package/apps/com/eden/example/calculator/app.js +95 -0
  77. package/apps/com/eden/example/calculator/icon.svg +19 -0
  78. package/apps/com/eden/example/calculator/index.html +39 -0
  79. package/apps/com/eden/example/calculator/manifest.json +30 -0
  80. package/apps/com/eden/example/calculator/styles.css +83 -0
  81. package/apps/com/eden/example/hello/README.md +3 -0
  82. package/apps/com/eden/example/hello/backend/dist/backend.js +47 -0
  83. package/apps/com/eden/example/hello/backend/node_modules/.bin/tsc +21 -0
  84. package/apps/com/eden/example/hello/backend/node_modules/.bin/tsserver +21 -0
  85. package/apps/com/eden/example/hello/backend/package.json +13 -0
  86. package/apps/com/eden/example/hello/backend/src/backend.ts +58 -0
  87. package/apps/com/eden/example/hello/backend/tsconfig.json +19 -0
  88. package/apps/com/eden/example/hello/frontend/dist/assets/index-D2WAwW3g.css +1 -0
  89. package/apps/com/eden/example/hello/frontend/dist/assets/index-D4bTq3-Q.js +1 -0
  90. package/apps/com/eden/example/hello/frontend/dist/index.html +59 -0
  91. package/apps/com/eden/example/hello/frontend/index.html +59 -0
  92. package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsc +21 -0
  93. package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsserver +21 -0
  94. package/apps/com/eden/example/hello/frontend/node_modules/.bin/vite +21 -0
  95. package/apps/com/eden/example/hello/frontend/package.json +15 -0
  96. package/apps/com/eden/example/hello/frontend/src/App.ts +191 -0
  97. package/apps/com/eden/example/hello/frontend/styles.css +96 -0
  98. package/apps/com/eden/example/hello/frontend/tsconfig.json +16 -0
  99. package/apps/com/eden/example/hello/frontend/vite.config.mts +21 -0
  100. package/apps/com/eden/example/hello/manifest.json +34 -0
  101. package/apps/com/eden/example/hello/shared/protocol.d.ts +38 -0
  102. package/apps/com/eden/example/showcase/app.js +186 -0
  103. package/apps/com/eden/example/showcase/index.html +637 -0
  104. package/apps/com/eden/example/showcase/manifest.json +24 -0
  105. package/apps/com/eden/example/showcase/styles.css +195 -0
  106. package/apps/com/eden/files/.dev-manifest.json +5 -0
  107. package/apps/com/eden/files/dist/assets/index-BOw4ESi3.js +1 -0
  108. package/apps/com/eden/files/dist/assets/index-BPH5FvSW.css +1 -0
  109. package/apps/com/eden/files/dist/index.html +13 -0
  110. package/apps/com/eden/files/icon.svg +15 -0
  111. package/apps/com/eden/files/index.html +12 -0
  112. package/apps/com/eden/files/manifest.json +28 -0
  113. package/apps/com/eden/files/node_modules/.bin/tsc +21 -0
  114. package/apps/com/eden/files/node_modules/.bin/tsserver +21 -0
  115. package/apps/com/eden/files/node_modules/.bin/vite +21 -0
  116. package/apps/com/eden/files/node_modules/.vite/deps/_metadata.json +46 -0
  117. package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js +1253 -0
  118. package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js.map +7 -0
  119. package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js +1809 -0
  120. package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js.map +7 -0
  121. package/apps/com/eden/files/node_modules/.vite/deps/package.json +3 -0
  122. package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js +112 -0
  123. package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js.map +7 -0
  124. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js +122 -0
  125. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js.map +7 -0
  126. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js +606 -0
  127. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js.map +7 -0
  128. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js +455 -0
  129. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js.map +7 -0
  130. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js +147 -0
  131. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js.map +7 -0
  132. package/apps/com/eden/files/package-lock.json +1754 -0
  133. package/apps/com/eden/files/package.json +20 -0
  134. package/apps/com/eden/files/src/App.tsx +387 -0
  135. package/apps/com/eden/files/src/components/FileExplorerHeader.tsx +90 -0
  136. package/apps/com/eden/files/src/components/FileItem.tsx +70 -0
  137. package/apps/com/eden/files/src/components/FileList.tsx +77 -0
  138. package/apps/com/eden/files/src/components/Modal.tsx +48 -0
  139. package/apps/com/eden/files/src/components/Omnibox.tsx +241 -0
  140. package/apps/com/eden/files/src/dialogs/CreateFileDialog.tsx +71 -0
  141. package/apps/com/eden/files/src/dialogs/CreateFolderDialog.tsx +68 -0
  142. package/apps/com/eden/files/src/dialogs/DeleteConfirmDialog.tsx +35 -0
  143. package/apps/com/eden/files/src/dialogs/DisplayOptionsModal.tsx +122 -0
  144. package/apps/com/eden/files/src/dialogs/ErrorDialog.tsx +28 -0
  145. package/apps/com/eden/files/src/index.tsx +9 -0
  146. package/apps/com/eden/files/src/styles.css +595 -0
  147. package/apps/com/eden/files/src/types.ts +20 -0
  148. package/apps/com/eden/files/src/utils.ts +44 -0
  149. package/apps/com/eden/files/tsconfig.json +27 -0
  150. package/apps/com/eden/files/vite.config.mts +23 -0
  151. package/apps/com/eden/settings/dist/assets/index-CTkJneTg.js +1 -0
  152. package/apps/com/eden/settings/dist/assets/index-GIMJANTM.css +1 -0
  153. package/apps/com/eden/settings/dist/index.html +13 -0
  154. package/apps/com/eden/settings/icon.svg +15 -0
  155. package/apps/com/eden/settings/index.html +12 -0
  156. package/apps/com/eden/settings/manifest.json +28 -0
  157. package/apps/com/eden/settings/node_modules/.bin/tsc +21 -0
  158. package/apps/com/eden/settings/node_modules/.bin/tsserver +21 -0
  159. package/apps/com/eden/settings/node_modules/.bin/vite +21 -0
  160. package/apps/com/eden/settings/package.json +21 -0
  161. package/apps/com/eden/settings/src/App.css +168 -0
  162. package/apps/com/eden/settings/src/App.tsx +301 -0
  163. package/apps/com/eden/settings/src/components/SettingInput.tsx +131 -0
  164. package/apps/com/eden/settings/src/index.tsx +9 -0
  165. package/apps/com/eden/settings/tsconfig.json +21 -0
  166. package/apps/com/eden/settings/vite.config.mts +22 -0
  167. package/apps/com/eden/toaster/README.md +89 -0
  168. package/apps/com/eden/toaster/dist/assets/index-8JMcmBCJ.css +1 -0
  169. package/apps/com/eden/toaster/dist/assets/index-C4cVyh7j.js +16 -0
  170. package/apps/com/eden/toaster/dist/index.html +16 -0
  171. package/apps/com/eden/toaster/index.html +16 -0
  172. package/apps/com/eden/toaster/manifest.json +28 -0
  173. package/apps/com/eden/toaster/node_modules/.bin/vite +21 -0
  174. package/apps/com/eden/toaster/package.json +15 -0
  175. package/apps/com/eden/toaster/src/styles.css +159 -0
  176. package/apps/com/eden/toaster/src/toaster.ts +470 -0
  177. package/apps/com/eden/toaster/tsconfig.json +28 -0
  178. package/apps/com/eden/toaster/vite.config.mts +18 -0
  179. package/apps/com/eden/webbrowser/.dev-manifest.json +5 -0
  180. package/apps/com/eden/webbrowser/icon.svg +20 -0
  181. package/apps/com/eden/webbrowser/index.html +141 -0
  182. package/apps/com/eden/webbrowser/manifest.json +23 -0
  183. package/apps/com/eden/webbrowser/node_modules/.bin/vite +21 -0
  184. package/apps/com/eden/webbrowser/node_modules/.vite/deps/_metadata.json +8 -0
  185. package/apps/com/eden/webbrowser/node_modules/.vite/deps/package.json +3 -0
  186. package/apps/com/eden/webbrowser/package.json +13 -0
  187. package/apps/com/eden/webbrowser/vite.config.mts +11 -0
  188. package/dist/Eden.d.ts +40 -0
  189. package/dist/Eden.d.ts.map +1 -0
  190. package/dist/Eden.js +186 -0
  191. package/dist/Eden.js.map +1 -0
  192. package/dist/SystemHandler.d.ts +11 -0
  193. package/dist/SystemHandler.d.ts.map +1 -0
  194. package/dist/SystemHandler.js +53 -0
  195. package/dist/SystemHandler.js.map +1 -0
  196. package/dist/app-frame/frame-injector.js +19 -0
  197. package/dist/app-frame/frame-injector.js.map +7 -0
  198. package/dist/app-frame/frame.css +186 -0
  199. package/dist/app-runtime/app-preload.js +2 -0
  200. package/dist/app-runtime/app-preload.js.map +7 -0
  201. package/dist/app-runtime/backend-preload.js +2 -0
  202. package/dist/app-runtime/backend-preload.js.map +7 -0
  203. package/dist/appbus/AppChannelHandler.d.ts +65 -0
  204. package/dist/appbus/AppChannelHandler.d.ts.map +1 -0
  205. package/dist/appbus/AppChannelHandler.js +120 -0
  206. package/dist/appbus/AppChannelHandler.js.map +1 -0
  207. package/dist/appbus/AppChannelManager.d.ts +80 -0
  208. package/dist/appbus/AppChannelManager.d.ts.map +1 -0
  209. package/dist/appbus/AppChannelManager.js +312 -0
  210. package/dist/appbus/AppChannelManager.js.map +1 -0
  211. package/dist/appbus/index.d.ts +2 -0
  212. package/dist/appbus/index.d.ts.map +1 -0
  213. package/dist/appbus/index.js +18 -0
  214. package/dist/appbus/index.js.map +1 -0
  215. package/dist/db/DbHandler.d.ts +119 -0
  216. package/dist/db/DbHandler.d.ts.map +1 -0
  217. package/dist/db/DbHandler.js +204 -0
  218. package/dist/db/DbHandler.js.map +1 -0
  219. package/dist/db/DbManager.d.ts +49 -0
  220. package/dist/db/DbManager.d.ts.map +1 -0
  221. package/dist/db/DbManager.js +172 -0
  222. package/dist/db/DbManager.js.map +1 -0
  223. package/dist/db/index.d.ts +3 -0
  224. package/dist/db/index.d.ts.map +1 -0
  225. package/dist/db/index.js +8 -0
  226. package/dist/db/index.js.map +1 -0
  227. package/dist/edencss/eden-tokens.css +1 -0
  228. package/dist/edencss/eden.css +1 -0
  229. package/dist/file-open/FileOpenHandler.d.ts +59 -0
  230. package/dist/file-open/FileOpenHandler.d.ts.map +1 -0
  231. package/dist/file-open/FileOpenHandler.js +122 -0
  232. package/dist/file-open/FileOpenHandler.js.map +1 -0
  233. package/dist/file-open/FileOpenManager.d.ts +91 -0
  234. package/dist/file-open/FileOpenManager.d.ts.map +1 -0
  235. package/dist/file-open/FileOpenManager.js +411 -0
  236. package/dist/file-open/FileOpenManager.js.map +1 -0
  237. package/dist/file-open/index.d.ts +3 -0
  238. package/dist/file-open/index.d.ts.map +1 -0
  239. package/dist/file-open/index.js +8 -0
  240. package/dist/file-open/index.js.map +1 -0
  241. package/dist/filesystem/FilesystemHandler.d.ts +65 -0
  242. package/dist/filesystem/FilesystemHandler.d.ts.map +1 -0
  243. package/dist/filesystem/FilesystemHandler.js +134 -0
  244. package/dist/filesystem/FilesystemHandler.js.map +1 -0
  245. package/dist/filesystem/FilesystemManager.d.ts +70 -0
  246. package/dist/filesystem/FilesystemManager.d.ts.map +1 -0
  247. package/dist/filesystem/FilesystemManager.js +236 -0
  248. package/dist/filesystem/FilesystemManager.js.map +1 -0
  249. package/dist/filesystem/index.d.ts +3 -0
  250. package/dist/filesystem/index.d.ts.map +1 -0
  251. package/dist/filesystem/index.js +8 -0
  252. package/dist/filesystem/index.js.map +1 -0
  253. package/dist/foundation/foundation-preload.js +15 -0
  254. package/dist/foundation/foundation.css +40 -0
  255. package/dist/foundation/foundation.html +22 -0
  256. package/dist/foundation/foundation.js +69 -0
  257. package/dist/hotreload-config.d.ts +8 -0
  258. package/dist/hotreload-config.d.ts.map +1 -0
  259. package/dist/hotreload-config.js +73 -0
  260. package/dist/hotreload-config.js.map +1 -0
  261. package/dist/index.d.ts +7 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +20 -0
  264. package/dist/index.js.map +1 -0
  265. package/dist/ipc/CommandDecorators.d.ts +72 -0
  266. package/dist/ipc/CommandDecorators.d.ts.map +1 -0
  267. package/dist/ipc/CommandDecorators.js +49 -0
  268. package/dist/ipc/CommandDecorators.js.map +1 -0
  269. package/dist/ipc/CommandRegistry.d.ts +77 -0
  270. package/dist/ipc/CommandRegistry.d.ts.map +1 -0
  271. package/dist/ipc/CommandRegistry.js +175 -0
  272. package/dist/ipc/CommandRegistry.js.map +1 -0
  273. package/dist/ipc/EdenEmitter.d.ts +54 -0
  274. package/dist/ipc/EdenEmitter.d.ts.map +1 -0
  275. package/dist/ipc/EdenEmitter.js +81 -0
  276. package/dist/ipc/EdenEmitter.js.map +1 -0
  277. package/dist/ipc/EventHandler.d.ts +21 -0
  278. package/dist/ipc/EventHandler.d.ts.map +1 -0
  279. package/dist/ipc/EventHandler.js +87 -0
  280. package/dist/ipc/EventHandler.js.map +1 -0
  281. package/dist/ipc/EventSubscriberManager.d.ts +67 -0
  282. package/dist/ipc/EventSubscriberManager.d.ts.map +1 -0
  283. package/dist/ipc/EventSubscriberManager.js +204 -0
  284. package/dist/ipc/EventSubscriberManager.js.map +1 -0
  285. package/dist/ipc/IPCBridge.d.ts +60 -0
  286. package/dist/ipc/IPCBridge.d.ts.map +1 -0
  287. package/dist/ipc/IPCBridge.js +186 -0
  288. package/dist/ipc/IPCBridge.js.map +1 -0
  289. package/dist/ipc/PermissionRegistry.d.ts +52 -0
  290. package/dist/ipc/PermissionRegistry.d.ts.map +1 -0
  291. package/dist/ipc/PermissionRegistry.js +120 -0
  292. package/dist/ipc/PermissionRegistry.js.map +1 -0
  293. package/dist/ipc/index.d.ts +7 -0
  294. package/dist/ipc/index.d.ts.map +1 -0
  295. package/dist/ipc/index.js +23 -0
  296. package/dist/ipc/index.js.map +1 -0
  297. package/dist/main.d.ts +2 -0
  298. package/dist/main.d.ts.map +1 -0
  299. package/dist/main.js +15 -0
  300. package/dist/main.js.map +1 -0
  301. package/dist/notification/NotificationHandler.d.ts +16 -0
  302. package/dist/notification/NotificationHandler.d.ts.map +1 -0
  303. package/dist/notification/NotificationHandler.js +39 -0
  304. package/dist/notification/NotificationHandler.js.map +1 -0
  305. package/dist/notification/NotificationManager.d.ts +32 -0
  306. package/dist/notification/NotificationManager.d.ts.map +1 -0
  307. package/dist/notification/NotificationManager.js +66 -0
  308. package/dist/notification/NotificationManager.js.map +1 -0
  309. package/dist/notification/index.d.ts +3 -0
  310. package/dist/notification/index.d.ts.map +1 -0
  311. package/dist/notification/index.js +19 -0
  312. package/dist/notification/index.js.map +1 -0
  313. package/dist/package-manager/PackageHandler.d.ts +50 -0
  314. package/dist/package-manager/PackageHandler.d.ts.map +1 -0
  315. package/dist/package-manager/PackageHandler.js +107 -0
  316. package/dist/package-manager/PackageHandler.js.map +1 -0
  317. package/dist/package-manager/PackageManager.d.ts +73 -0
  318. package/dist/package-manager/PackageManager.d.ts.map +1 -0
  319. package/dist/package-manager/PackageManager.js +373 -0
  320. package/dist/package-manager/PackageManager.js.map +1 -0
  321. package/dist/package-manager/index.d.ts +3 -0
  322. package/dist/package-manager/index.d.ts.map +1 -0
  323. package/dist/package-manager/index.js +8 -0
  324. package/dist/package-manager/index.js.map +1 -0
  325. package/dist/process-manager/AutostartManager.d.ts +15 -0
  326. package/dist/process-manager/AutostartManager.d.ts.map +1 -0
  327. package/dist/process-manager/AutostartManager.js +56 -0
  328. package/dist/process-manager/AutostartManager.js.map +1 -0
  329. package/dist/process-manager/BackendManager.d.ts +63 -0
  330. package/dist/process-manager/BackendManager.d.ts.map +1 -0
  331. package/dist/process-manager/BackendManager.js +272 -0
  332. package/dist/process-manager/BackendManager.js.map +1 -0
  333. package/dist/process-manager/ProcessHandler.d.ts +29 -0
  334. package/dist/process-manager/ProcessHandler.d.ts.map +1 -0
  335. package/dist/process-manager/ProcessHandler.js +66 -0
  336. package/dist/process-manager/ProcessHandler.js.map +1 -0
  337. package/dist/process-manager/ProcessManager.d.ts +94 -0
  338. package/dist/process-manager/ProcessManager.d.ts.map +1 -0
  339. package/dist/process-manager/ProcessManager.js +286 -0
  340. package/dist/process-manager/ProcessManager.js.map +1 -0
  341. package/dist/process-manager/index.d.ts +5 -0
  342. package/dist/process-manager/index.d.ts.map +1 -0
  343. package/dist/process-manager/index.js +12 -0
  344. package/dist/process-manager/index.js.map +1 -0
  345. package/dist/settings/EdenSettings.d.ts +8 -0
  346. package/dist/settings/EdenSettings.d.ts.map +1 -0
  347. package/dist/settings/EdenSettings.js +148 -0
  348. package/dist/settings/EdenSettings.js.map +1 -0
  349. package/dist/settings/SettingsHandler.d.ts +117 -0
  350. package/dist/settings/SettingsHandler.d.ts.map +1 -0
  351. package/dist/settings/SettingsHandler.js +199 -0
  352. package/dist/settings/SettingsHandler.js.map +1 -0
  353. package/dist/settings/SettingsManager.d.ts +64 -0
  354. package/dist/settings/SettingsManager.d.ts.map +1 -0
  355. package/dist/settings/SettingsManager.js +221 -0
  356. package/dist/settings/SettingsManager.js.map +1 -0
  357. package/dist/settings/index.d.ts +4 -0
  358. package/dist/settings/index.d.ts.map +1 -0
  359. package/dist/settings/index.js +11 -0
  360. package/dist/settings/index.js.map +1 -0
  361. package/dist/utils/cachedFileReader.d.ts +46 -0
  362. package/dist/utils/cachedFileReader.d.ts.map +1 -0
  363. package/dist/utils/cachedFileReader.js +100 -0
  364. package/dist/utils/cachedFileReader.js.map +1 -0
  365. package/dist/view-manager/DevToolsManager.d.ts +29 -0
  366. package/dist/view-manager/DevToolsManager.d.ts.map +1 -0
  367. package/dist/view-manager/DevToolsManager.js +88 -0
  368. package/dist/view-manager/DevToolsManager.js.map +1 -0
  369. package/dist/view-manager/FloatingWindowController.d.ts +44 -0
  370. package/dist/view-manager/FloatingWindowController.d.ts.map +1 -0
  371. package/dist/view-manager/FloatingWindowController.js +124 -0
  372. package/dist/view-manager/FloatingWindowController.js.map +1 -0
  373. package/dist/view-manager/LayoutCalculator.d.ts +49 -0
  374. package/dist/view-manager/LayoutCalculator.d.ts.map +1 -0
  375. package/dist/view-manager/LayoutCalculator.js +94 -0
  376. package/dist/view-manager/LayoutCalculator.js.map +1 -0
  377. package/dist/view-manager/MouseTracker.d.ts +65 -0
  378. package/dist/view-manager/MouseTracker.d.ts.map +1 -0
  379. package/dist/view-manager/MouseTracker.js +114 -0
  380. package/dist/view-manager/MouseTracker.js.map +1 -0
  381. package/dist/view-manager/TilingManager.d.ts +61 -0
  382. package/dist/view-manager/TilingManager.d.ts.map +1 -0
  383. package/dist/view-manager/TilingManager.js +142 -0
  384. package/dist/view-manager/TilingManager.js.map +1 -0
  385. package/dist/view-manager/ViewCreator.d.ts +72 -0
  386. package/dist/view-manager/ViewCreator.d.ts.map +1 -0
  387. package/dist/view-manager/ViewCreator.js +277 -0
  388. package/dist/view-manager/ViewCreator.js.map +1 -0
  389. package/dist/view-manager/ViewHandler.d.ts +112 -0
  390. package/dist/view-manager/ViewHandler.d.ts.map +1 -0
  391. package/dist/view-manager/ViewHandler.js +307 -0
  392. package/dist/view-manager/ViewHandler.js.map +1 -0
  393. package/dist/view-manager/ViewLifecycle.d.ts +66 -0
  394. package/dist/view-manager/ViewLifecycle.d.ts.map +1 -0
  395. package/dist/view-manager/ViewLifecycle.js +142 -0
  396. package/dist/view-manager/ViewLifecycle.js.map +1 -0
  397. package/dist/view-manager/ViewManager.d.ts +112 -0
  398. package/dist/view-manager/ViewManager.d.ts.map +1 -0
  399. package/dist/view-manager/ViewManager.js +422 -0
  400. package/dist/view-manager/ViewManager.js.map +1 -0
  401. package/dist/view-manager/index.d.ts +11 -0
  402. package/dist/view-manager/index.d.ts.map +1 -0
  403. package/dist/view-manager/index.js +23 -0
  404. package/dist/view-manager/index.js.map +1 -0
  405. package/dist/view-manager/types.d.ts +24 -0
  406. package/dist/view-manager/types.d.ts.map +1 -0
  407. package/dist/view-manager/types.js +11 -0
  408. package/dist/view-manager/types.js.map +1 -0
  409. package/edencss/README.md +214 -0
  410. package/edencss/components/badges.css +180 -0
  411. package/edencss/components/buttons.css +221 -0
  412. package/edencss/components/cards.css +201 -0
  413. package/edencss/components/inputs.css +424 -0
  414. package/edencss/components/lists.css +242 -0
  415. package/edencss/components/modals.css +207 -0
  416. package/edencss/components/progress.css +186 -0
  417. package/edencss/components/sidebar.css +232 -0
  418. package/edencss/components/tabs.css +189 -0
  419. package/edencss/eden.css +16 -0
  420. package/edencss/index.ts +11 -0
  421. package/edencss/style-dictionary.config.mjs +75 -0
  422. package/edencss/tokens-pink.json +163 -0
  423. package/edencss/tokens.css +121 -0
  424. package/edencss/tokens.d.ts +111 -0
  425. package/edencss/tokens.json +369 -0
  426. package/edencss/tokens.ts +125 -0
  427. package/edencss/utilities.css +423 -0
  428. package/foundation/foundation-preload.js +15 -0
  429. package/foundation/foundation.css +40 -0
  430. package/foundation/foundation.html +22 -0
  431. package/foundation/foundation.js +69 -0
  432. package/package.json +55 -0
@@ -0,0 +1,5 @@
1
+ {
2
+ "devMode": true,
3
+ "devUrl": "http://localhost:5173",
4
+ "port": 5173
5
+ }
@@ -0,0 +1,20 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <linearGradient id="bg" x1="32" y1="4" x2="32" y2="60" gradientUnits="userSpaceOnUse">
4
+ <stop stop-color="#404040"/>
5
+ <stop offset="1" stop-color="#202020"/>
6
+ </linearGradient>
7
+ <filter id="dropShadow" x="0" y="0" width="64" height="64" filterUnits="userSpaceOnUse">
8
+ <feDropShadow dx="0" dy="4" stdDeviation="4" flood-color="#000000" flood-opacity="0.25"/>
9
+ </filter>
10
+ </defs>
11
+ <rect x="4" y="4" width="56" height="56" rx="14" fill="url(#bg)"/>
12
+ <g transform="translate(14, 14) scale(1.5)" fill="#ffffff">
13
+ <!-- Globe/Web icon -->
14
+ <circle cx="12" cy="12" r="9" stroke="#ffffff" stroke-width="1.5" fill="none"/>
15
+ <ellipse cx="12" cy="12" rx="4" ry="9" stroke="#ffffff" stroke-width="1.5" fill="none"/>
16
+ <line x1="3" y1="12" x2="21" y2="12" stroke="#ffffff" stroke-width="1.5"/>
17
+ <path d="M4.5 7.5 C7 7.5 9.5 7 12 7 C14.5 7 17 7.5 19.5 7.5" stroke="#ffffff" stroke-width="1.5" fill="none"/>
18
+ <path d="M4.5 16.5 C7 16.5 9.5 17 12 17 C14.5 17 17 16.5 19.5 16.5" stroke="#ffffff" stroke-width="1.5" fill="none"/>
19
+ </g>
20
+ </svg>
@@ -0,0 +1,141 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Web Browser</title>
7
+ <style>
8
+ .eden-framed {
9
+ margin: 0;
10
+ padding: 0;
11
+ width: 100%;
12
+ height: 100%;
13
+ overflow: hidden;
14
+ background: var(--eden-color-bg-glass-medium);
15
+ backdrop-filter: var(--eden-glass-light);
16
+ }
17
+
18
+ .browser-container {
19
+ display: flex;
20
+ flex-direction: column;
21
+ height: 100%;
22
+ }
23
+
24
+ .address-bar {
25
+ height: 40px;
26
+ display: flex;
27
+ align-items: center;
28
+ padding: 0 var(--eden-space-sm);
29
+ gap: var(--eden-space-sm);
30
+
31
+ border-bottom: 1px solid var(--eden-color-border-light);
32
+ }
33
+
34
+ .address-input {
35
+ flex: 1;
36
+ }
37
+
38
+ .nav-btn {
39
+ width: 28px;
40
+ height: 28px;
41
+ padding: 0;
42
+ border: none;
43
+ border-radius: var(--eden-radius-sm);
44
+ background: transparent;
45
+ color: var(--eden-color-text-secondary);
46
+ cursor: pointer;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ font-size: 16px;
51
+ transition: all var(--eden-transition-fast);
52
+ }
53
+
54
+ .nav-btn:hover {
55
+ background: var(--eden-color-surface-hover);
56
+ color: var(--eden-color-text-primary);
57
+ }
58
+
59
+ .browser-frame {
60
+ flex: 1;
61
+ width: 100%;
62
+ border: none;
63
+ }
64
+ </style>
65
+ </head>
66
+ <body>
67
+ <div class="browser-container">
68
+ <div class="address-bar">
69
+ <button class="nav-btn" id="back" title="Back">←</button>
70
+ <button class="nav-btn" id="forward" title="Forward">→</button>
71
+ <button class="nav-btn" id="reload" title="Reload">⟳</button>
72
+ <input type="text" class="eden-input eden-input-sm address-input" id="url" placeholder="Enter URL..." value="https://www.google.com">
73
+ <button class="nav-btn" id="go" title="Go">↵</button>
74
+ </div>
75
+ <iframe class="browser-frame" id="frame" src="https://www.google.com" allow="accelerometer; camera; encrypted-media; geolocation; gyroscope; microphone; payment; picture-in-picture" allowfullscreen></iframe>
76
+ </div>
77
+
78
+ <script>
79
+ const frame = document.getElementById('frame');
80
+ const urlInput = document.getElementById('url');
81
+ const backBtn = document.getElementById('back');
82
+ const forwardBtn = document.getElementById('forward');
83
+
84
+ // Track history ourselves since cross-origin iframes block history access
85
+ const history = ['https://www.google.com'];
86
+ let historyIndex = 0;
87
+
88
+ function updateButtons() {
89
+ backBtn.disabled = historyIndex <= 0;
90
+ forwardBtn.disabled = historyIndex >= history.length - 1;
91
+ backBtn.style.opacity = backBtn.disabled ? '0.3' : '1';
92
+ forwardBtn.style.opacity = forwardBtn.disabled ? '0.3' : '1';
93
+ }
94
+
95
+ function loadUrl(url, addToHistory = true) {
96
+ if (!url.startsWith('http://') && !url.startsWith('https://')) {
97
+ url = 'https://' + url;
98
+ }
99
+
100
+ if (addToHistory) {
101
+ // Remove any forward history when navigating to a new page
102
+ history.splice(historyIndex + 1);
103
+ history.push(url);
104
+ historyIndex = history.length - 1;
105
+ }
106
+
107
+ frame.src = url;
108
+ urlInput.value = url;
109
+ updateButtons();
110
+ }
111
+
112
+
113
+ // TODO: nothing here works
114
+
115
+ document.getElementById('go').addEventListener('click', () => loadUrl(urlInput.value));
116
+ urlInput.addEventListener('keydown', (e) => {
117
+ if (e.key === 'Enter') loadUrl(urlInput.value);
118
+ });
119
+
120
+ backBtn.addEventListener('click', () => {
121
+ if (historyIndex > 0) {
122
+ historyIndex--;
123
+ loadUrl(history[historyIndex], false);
124
+ }
125
+ });
126
+
127
+ forwardBtn.addEventListener('click', () => {
128
+ if (historyIndex < history.length - 1) {
129
+ historyIndex++;
130
+ loadUrl(history[historyIndex], false);
131
+ }
132
+ });
133
+
134
+ document.getElementById('reload').addEventListener('click', () => {
135
+ frame.src = frame.src;
136
+ });
137
+
138
+ updateButtons();
139
+ </script>
140
+ </body>
141
+ </html>
@@ -0,0 +1,23 @@
1
+ {
2
+ "id": "com.eden.webbrowser",
3
+ "name": "Web Browser",
4
+ "version": "1.0.0",
5
+ "description": "Eden web browser",
6
+ "icon": "icon.svg",
7
+ "frontend": {
8
+ "entry": "index.html",
9
+ "allowEmbedding": true,
10
+ "options": {
11
+ "nodeIntegration": false,
12
+ "contextIsolation": true
13
+ }
14
+ },
15
+ "window": {
16
+ "mode": "both",
17
+ "injections": {
18
+ "css": "full",
19
+ "appFrame": true
20
+ },
21
+ "showTitle": true
22
+ }
23
+ }
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
19
+ else
20
+ exec node "$basedir/../vite/bin/vite.js" "$@"
21
+ fi
@@ -0,0 +1,8 @@
1
+ {
2
+ "hash": "e95c58fc",
3
+ "configHash": "85045a53",
4
+ "lockfileHash": "625d1c8a",
5
+ "browserHash": "145798f1",
6
+ "optimized": {},
7
+ "chunks": {}
8
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "com.eden.webbrowser",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vite build",
8
+ "preview": "vite preview"
9
+ },
10
+ "devDependencies": {
11
+ "vite": "^7.2.4"
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from "vite";
2
+
3
+ export default defineConfig({
4
+ server: {
5
+ port: 5173,
6
+ strictPort: false,
7
+ },
8
+ build: {
9
+ outDir: "dist",
10
+ },
11
+ });
package/dist/Eden.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ import "reflect-metadata";
2
+ import { EdenConfig } from "@edenapp/types";
3
+ export declare class Eden {
4
+ private mainWindow;
5
+ private viewManager;
6
+ private ipcBridge;
7
+ private appsDirectory;
8
+ private userDirectory;
9
+ private config;
10
+ private packageManager;
11
+ private processManager;
12
+ private fileOpenManager;
13
+ private autostartManager;
14
+ constructor(config?: EdenConfig);
15
+ /**
16
+ * Setup Electron app event handlers
17
+ */
18
+ private setupAppEventHandlers;
19
+ /**
20
+ * Handle app ready event
21
+ */
22
+ private onReady;
23
+ /**
24
+ * Create the main Eden window with foundation layer
25
+ */
26
+ private createMainWindow;
27
+ /**
28
+ * Handle all windows closed
29
+ */
30
+ private onWindowAllClosed;
31
+ /**
32
+ * Handle app activate (macOS)
33
+ */
34
+ private onActivate;
35
+ /**
36
+ * Handle app quit
37
+ */
38
+ private onBeforeQuit;
39
+ }
40
+ //# sourceMappingURL=Eden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Eden.d.ts","sourceRoot":"","sources":["../src/Eden.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAM1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiB5C,qBAAa,IAAI;IACf,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,MAAM,GAAE,UAAe;IA+CnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;YACW,OAAO;IAerB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;YACW,YAAY;CAkB3B"}
package/dist/Eden.js ADDED
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Eden = void 0;
27
+ require("reflect-metadata");
28
+ const electron_1 = require("electron");
29
+ const path = __importStar(require("path"));
30
+ const ipc_1 = require("./ipc");
31
+ const appbus_1 = require("./appbus");
32
+ const SystemHandler_1 = require("./SystemHandler");
33
+ // Managers and Handlers
34
+ const package_manager_1 = require("./package-manager");
35
+ const process_manager_1 = require("./process-manager");
36
+ const view_manager_1 = require("./view-manager");
37
+ const filesystem_1 = require("./filesystem");
38
+ const file_open_1 = require("./file-open");
39
+ const notification_1 = require("./notification");
40
+ const db_1 = require("./db");
41
+ const settings_1 = require("./settings");
42
+ const tsyringe_1 = require("tsyringe");
43
+ class Eden {
44
+ mainWindow = null;
45
+ viewManager;
46
+ ipcBridge;
47
+ appsDirectory;
48
+ userDirectory;
49
+ config;
50
+ // New components
51
+ packageManager;
52
+ processManager;
53
+ fileOpenManager;
54
+ autostartManager;
55
+ constructor(config = {}) {
56
+ this.config = config;
57
+ electron_1.app.commandLine.appendSwitch("enable-features", "V8CodeCache");
58
+ // Set apps directory to user data + /eden-apps or custom path
59
+ this.appsDirectory =
60
+ config.appsDirectory || path.join(electron_1.app.getPath("userData"), "eden-apps");
61
+ // Set user directory to user data + /eden-user or custom path
62
+ this.userDirectory =
63
+ config.userDirectory || path.join(electron_1.app.getPath("userData"), "eden-user");
64
+ // Set dist path for runtime assets (preloads, css, apps, etc.) - consumer's dist
65
+ const distPath = path.join(process.cwd(), "dist");
66
+ // 1. Fundamental registries and config
67
+ tsyringe_1.container.registerInstance("EdenConfig", this.config);
68
+ tsyringe_1.container.registerInstance("appsDirectory", this.appsDirectory);
69
+ tsyringe_1.container.registerInstance("distPath", distPath);
70
+ tsyringe_1.container.registerInstance("userDirectory", this.userDirectory);
71
+ tsyringe_1.container.resolve(ipc_1.CommandRegistry);
72
+ // 2. Main communication bridge
73
+ tsyringe_1.container.resolve(process_manager_1.BackendManager);
74
+ this.ipcBridge = tsyringe_1.container.resolve(ipc_1.IPCBridge);
75
+ // 3. UI and Application layer
76
+ this.viewManager = tsyringe_1.container.resolve(view_manager_1.ViewManager);
77
+ // 4. Feature managers
78
+ tsyringe_1.container.resolve(appbus_1.AppChannelManager);
79
+ this.packageManager = tsyringe_1.container.resolve(package_manager_1.PackageManager);
80
+ this.processManager = tsyringe_1.container.resolve(process_manager_1.ProcessManager);
81
+ tsyringe_1.container.resolve(SystemHandler_1.SystemHandler);
82
+ tsyringe_1.container.resolve(filesystem_1.FilesystemManager);
83
+ this.fileOpenManager = tsyringe_1.container.resolve(file_open_1.FileOpenManager);
84
+ this.autostartManager = tsyringe_1.container.resolve(process_manager_1.AutostartManager);
85
+ tsyringe_1.container.resolve(notification_1.NotificationManager);
86
+ tsyringe_1.container.resolve(db_1.DbManager);
87
+ tsyringe_1.container.resolve(settings_1.SettingsManager);
88
+ this.setupAppEventHandlers();
89
+ }
90
+ /**
91
+ * Setup Electron app event handlers
92
+ */
93
+ setupAppEventHandlers() {
94
+ electron_1.app.on("ready", () => this.onReady());
95
+ electron_1.app.on("window-all-closed", () => this.onWindowAllClosed());
96
+ electron_1.app.on("activate", () => this.onActivate());
97
+ electron_1.app.on("before-quit", () => this.onBeforeQuit());
98
+ }
99
+ /**
100
+ * Handle app ready event
101
+ */
102
+ async onReady() {
103
+ console.log("Eden starting...");
104
+ // Initialize package manager
105
+ await this.packageManager.initialize();
106
+ // Initialize file open manager (load user preferences)
107
+ await this.fileOpenManager.initialize();
108
+ // Create main window
109
+ this.createMainWindow();
110
+ console.log("Eden ready!");
111
+ }
112
+ /**
113
+ * Create the main Eden window with foundation layer
114
+ */
115
+ createMainWindow() {
116
+ const windowConfig = this.config.window || {};
117
+ const distPath = path.join(process.cwd(), "dist");
118
+ this.mainWindow = new electron_1.BrowserWindow({
119
+ width: windowConfig.width || 1280,
120
+ height: windowConfig.height || 800,
121
+ title: windowConfig.title || "Eden",
122
+ webPreferences: {
123
+ nodeIntegration: false,
124
+ contextIsolation: true,
125
+ sandbox: false,
126
+ preload: path.join(distPath, "foundation/foundation-preload.js"),
127
+ },
128
+ backgroundColor: windowConfig.backgroundColor || "#1e1e1e",
129
+ autoHideMenuBar: true,
130
+ show: false, // Don't show until ready
131
+ });
132
+ // Set managers to use this window
133
+ this.viewManager.setMainWindow(this.mainWindow);
134
+ this.ipcBridge.setMainWindow(this.mainWindow);
135
+ // Load the foundation layer (not eveshell!)
136
+ const foundationPath = path.join(distPath, "foundation/foundation.html");
137
+ this.mainWindow.loadFile(foundationPath);
138
+ // Launch autostart apps after foundation loads
139
+ this.mainWindow.webContents.once("did-finish-load", () => {
140
+ this.autostartManager.launchAll();
141
+ });
142
+ // Show window when foundation and overlay are ready
143
+ this.mainWindow.once("ready-to-show", () => {
144
+ this.mainWindow?.show();
145
+ });
146
+ // Handle window close
147
+ this.mainWindow.on("closed", () => {
148
+ this.mainWindow = null;
149
+ });
150
+ }
151
+ /**
152
+ * Handle all windows closed
153
+ */
154
+ onWindowAllClosed() {
155
+ electron_1.app.quit();
156
+ }
157
+ /**
158
+ * Handle app activate (macOS)
159
+ */
160
+ onActivate() {
161
+ // On macOS, recreate window when dock icon is clicked
162
+ if (this.mainWindow === null) {
163
+ this.createMainWindow();
164
+ }
165
+ }
166
+ /**
167
+ * Handle app quit
168
+ */
169
+ async onBeforeQuit() {
170
+ console.log("Eden shutting down...");
171
+ try {
172
+ // Shutdown all apps and wait for them to stop
173
+ await this.processManager.shutdown();
174
+ // Brief delay to ensure all cleanup completes
175
+ await new Promise((resolve) => setTimeout(resolve, 100));
176
+ // Cleanup IPC bridge
177
+ this.ipcBridge.destroy();
178
+ console.log("Eden shutdown complete");
179
+ }
180
+ catch (error) {
181
+ console.error("Error during shutdown:", error);
182
+ }
183
+ }
184
+ }
185
+ exports.Eden = Eden;
186
+ //# sourceMappingURL=Eden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Eden.js","sourceRoot":"","sources":["../src/Eden.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAC1B,uCAA8C;AAC9C,2CAA6B;AAC7B,+BAAmD;AACnD,qCAA6C;AAC7C,mDAAgD;AAGhD,wBAAwB;AACxB,uDAAmD;AACnD,uDAI2B;AAC3B,iDAA6C;AAC7C,6CAAiD;AACjD,2CAA8C;AAC9C,iDAAqD;AACrD,6BAAiC;AACjC,yCAA6C;AAC7C,uCAAqC;AAErC,MAAa,IAAI;IACP,UAAU,GAAyB,IAAI,CAAC;IACxC,WAAW,CAAc;IACzB,SAAS,CAAY;IACrB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,MAAM,CAAa;IAE3B,iBAAiB;IACT,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAC/B,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IAE3C,YAAY,SAAqB,EAAE;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,cAAG,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAE/D,8DAA8D;QAC9D,IAAI,CAAC,aAAa;YAChB,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,cAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;QAE1E,8DAA8D;QAC9D,IAAI,CAAC,aAAa;YAChB,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,cAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;QAE1E,iFAAiF;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAElD,uCAAuC;QACvC,oBAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,oBAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,oBAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjD,oBAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhE,oBAAS,CAAC,OAAO,CAAC,qBAAe,CAAC,CAAC;QAEnC,+BAA+B;QAC/B,oBAAS,CAAC,OAAO,CAAC,gCAAc,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,oBAAS,CAAC,OAAO,CAAC,eAAS,CAAC,CAAC;QAE9C,8BAA8B;QAC9B,IAAI,CAAC,WAAW,GAAG,oBAAS,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAC;QAElD,sBAAsB;QACtB,oBAAS,CAAC,OAAO,CAAC,0BAAiB,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,oBAAS,CAAC,OAAO,CAAC,gCAAc,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,oBAAS,CAAC,OAAO,CAAC,gCAAc,CAAC,CAAC;QACxD,oBAAS,CAAC,OAAO,CAAC,6BAAa,CAAC,CAAC;QACjC,oBAAS,CAAC,OAAO,CAAC,8BAAiB,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,oBAAS,CAAC,OAAO,CAAC,2BAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,oBAAS,CAAC,OAAO,CAAC,kCAAgB,CAAC,CAAC;QAC5D,oBAAS,CAAC,OAAO,CAAC,kCAAmB,CAAC,CAAC;QACvC,oBAAS,CAAC,OAAO,CAAC,cAAS,CAAC,CAAC;QAE7B,oBAAS,CAAC,OAAO,CAAC,0BAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,cAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,cAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5D,cAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,cAAG,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO;QACnB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhC,6BAA6B;QAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAEvC,uDAAuD;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAExC,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAa,CAAC;YAClC,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;YACjC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,GAAG;YAClC,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,MAAM;YACnC,cAAc,EAAE;gBACd,eAAe,EAAE,KAAK;gBACtB,gBAAgB,EAAE,IAAI;gBACtB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kCAAkC,CAAC;aACjE;YACD,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,SAAS;YAC1D,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,KAAK,EAAE,yBAAyB;SACvC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,4CAA4C;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEzC,+CAA+C;QAC/C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,cAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,sDAAsD;QACtD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACxB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAErC,8CAA8C;YAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEzD,qBAAqB;YACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AA7KD,oBA6KC"}
@@ -0,0 +1,11 @@
1
+ import { IPCBridge, CommandRegistry } from "./ipc";
2
+ import { SystemInfo } from "@edenapp/types";
3
+ export declare class SystemHandler {
4
+ private ipcBridge;
5
+ constructor(ipcBridge: IPCBridge, commandRegistry: CommandRegistry);
6
+ /**
7
+ * Get system information including platform, versions, and running apps.
8
+ */
9
+ handleSystemInfo(): Promise<SystemInfo>;
10
+ }
11
+ //# sourceMappingURL=SystemHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemHandler.d.ts","sourceRoot":"","sources":["../src/SystemHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,qBAGa,aAAa;IAEH,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS,EACtB,eAAe,EAAE,eAAe;IAK3D;;OAEG;IAEG,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;CAS9C"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SystemHandler = void 0;
16
+ const ipc_1 = require("./ipc");
17
+ const tsyringe_1 = require("tsyringe");
18
+ let SystemHandler = class SystemHandler {
19
+ ipcBridge;
20
+ constructor(ipcBridge, commandRegistry) {
21
+ this.ipcBridge = ipcBridge;
22
+ commandRegistry.registerManager(this);
23
+ }
24
+ /**
25
+ * Get system information including platform, versions, and running apps.
26
+ */
27
+ async handleSystemInfo() {
28
+ return {
29
+ platform: process.platform,
30
+ arch: process.arch,
31
+ nodeVersion: process.version,
32
+ electronVersion: process.versions.electron,
33
+ runningApps: this.ipcBridge.getRunningAppIds(),
34
+ };
35
+ }
36
+ };
37
+ exports.SystemHandler = SystemHandler;
38
+ __decorate([
39
+ (0, ipc_1.EdenHandler)("info"),
40
+ __metadata("design:type", Function),
41
+ __metadata("design:paramtypes", []),
42
+ __metadata("design:returntype", Promise)
43
+ ], SystemHandler.prototype, "handleSystemInfo", null);
44
+ exports.SystemHandler = SystemHandler = __decorate([
45
+ (0, tsyringe_1.singleton)(),
46
+ (0, tsyringe_1.injectable)(),
47
+ (0, ipc_1.EdenNamespace)("system"),
48
+ __param(0, (0, tsyringe_1.inject)(ipc_1.IPCBridge)),
49
+ __param(1, (0, tsyringe_1.inject)(ipc_1.CommandRegistry)),
50
+ __metadata("design:paramtypes", [ipc_1.IPCBridge,
51
+ ipc_1.CommandRegistry])
52
+ ], SystemHandler);
53
+ //# sourceMappingURL=SystemHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemHandler.js","sourceRoot":"","sources":["../src/SystemHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+E;AAC/E,uCAAyD;AAMlD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEK;IAD7B,YAC6B,SAAoB,EACtB,eAAgC;QAD9B,cAAS,GAAT,SAAS,CAAW;QAG/C,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,gBAAgB;QACpB,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;SAC/C,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,sCAAa;AAYlB;IADL,IAAA,iBAAW,EAAC,MAAM,CAAC;;;;qDASnB;wBApBU,aAAa;IAHzB,IAAA,oBAAS,GAAE;IACX,IAAA,qBAAU,GAAE;IACZ,IAAA,mBAAa,EAAC,QAAQ,CAAC;IAGnB,WAAA,IAAA,iBAAM,EAAC,eAAS,CAAC,CAAA;IACjB,WAAA,IAAA,iBAAM,EAAC,qBAAe,CAAC,CAAA;qCADc,eAAS;QACL,qBAAe;GAHhD,aAAa,CAqBzB"}
@@ -0,0 +1,19 @@
1
+ "use strict";(()=>{function x(t){let e=document.createElement("div");e.id="eden-app-frame-overlay";let n=t.mode==="both",l=t.showTitle!==!1,p=n?'<button class="eden-app-frame-button toggle-mode" id="eden-toggle-mode-btn" title="Toggle Window Mode">\u229E</button>':"",c=l?'<div id="eden-app-frame-title">App</div>':"";return e.innerHTML=`
2
+ ${c}
3
+ <div id="eden-app-frame-controls">
4
+ ${p}
5
+ <button class="eden-app-frame-button minimize" id="eden-minimize-btn" title="Minimize">\u2212</button>
6
+ <button class="eden-app-frame-button close" id="eden-close-btn" title="Close">\xD7</button>
7
+ </div>
8
+ `,e}function z(t,e){let n=()=>{console.log("[Eden Frame] injectOverlay called, body exists:",!!document.body),document.body?(document.body.insertBefore(t,document.body.firstChild),document.body.classList.add("eden-framed"),console.log("[Eden Frame] Overlay injected into body"),e&&e()):(console.log("[Eden Frame] Body not ready, retrying..."),setTimeout(n,10))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n):n()}function I(t){let e=window.matchMedia("(prefers-color-scheme: dark)"),n=l=>{l.matches?t.classList.add("dark"):t.classList.remove("dark")};n(e),e.addEventListener("change",n)}function y(t){let e=document.getElementById("eden-app-frame-title");e&&(e.textContent=t)}function M(t){let e=t.split("."),n=e[e.length-1]||t;return n.charAt(0).toUpperCase()+n.slice(1)}function _(){let t=document.getElementById("eden-close-btn");t&&t.addEventListener("click",()=>{let e=()=>{let n=window.edenFrame?._internal.appId;console.log("[Eden Frame] Stopping app:",n),n?window.edenAPI.shellCommand("process/stop",{appId:n}).catch(console.error):setTimeout(e,100)};e()})}function T(){let t=document.getElementById("eden-minimize-btn");t&&t.addEventListener("click",()=>{let e=()=>{let n=window.edenFrame?._internal.appId;n?window.edenAPI.shellCommand("view/set-view-visibility",{appId:n,visible:!1}).catch(console.error):setTimeout(e,100)};e()})}function L(){let t=document.getElementById("eden-toggle-mode-btn");t&&t.addEventListener("click",()=>{let e=()=>{let n=window.edenFrame?._internal.appId;n?window.edenAPI.shellCommand("view/toggle-view-mode",{appId:n}).then(()=>{console.log("[Eden Frame] View mode toggled")}).catch(console.error):setTimeout(e,100)};e()})}function b(t){if("screenX"in t&&t.screenX!==void 0&&t.screenY!==void 0)return{x:t.screenX,y:t.screenY};if("touches"in t&&t.touches&&t.touches[0]){let e=t.touches[0];if(e.screenX!==void 0&&e.screenY!==void 0)return{x:e.screenX,y:e.screenY};let n=window.edenFrame?._internal.bounds;return n?{x:n.x+e.clientX,y:n.y+e.clientY}:{x:e.clientX+(window.screenX||0),y:e.clientY+(window.screenY||0)}}return{x:0,y:0}}function A(t,e){let n=!1,l=0,p=0,c=null,o=!1,r=null,d=null,u=()=>{let s=window.edenFrame?._internal.appId;d&&s&&(window.edenAPI.shellCommand("view/update-view-bounds",{appId:s,bounds:d}).catch(console.error),d=null),n&&(r=requestAnimationFrame(u))},g=s=>{if(s.target.closest(".eden-app-frame-button"))return;console.log("[Eden Frame] startDrag called, event type:",s.type),console.log("[Eden Frame] currentBounds before refresh:",e.current);let i=window.edenFrame?._internal.bounds;if(i&&i.x!==void 0)e.current={...i},console.log("[Eden Frame] Refreshed currentBounds from edenFrame._internal.bounds:",e.current);else if(!e.current){console.warn("[Eden Frame] Cannot start drag - currentBounds not initialized!");return}n=!0,o=s.type.startsWith("touch");let a=b(s);l=a.x,p=a.y,c={...e.current},console.log("[Eden Frame] Drag started at:",a,"isTouch:",o),s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation(),o&&(r=requestAnimationFrame(u));let m=window.edenFrame?._internal.appId;!o&&m&&window.edenAPI.shellCommand("view/focus-app",{appId:m}).catch(console.error),!o&&m&&window.edenAPI.shellCommand("view/start-drag",{appId:m,startX:a.x,startY:a.y}).catch(console.error),o||window.addEventListener("mouseup",h)},E=s=>{if(s.preventDefault(),s.stopPropagation(),!n||!c)return;let i=b(s),a=i.x-l,m=i.y-p,w={x:c.x+a,y:c.y+m,width:c.width,height:c.height};e.current=w,d=w},h=s=>{if(s.type.startsWith("touch")&&s.touches&&s.touches.length>0||!n)return;console.log("[Eden Frame] Drag ended, final currentBounds:",e.current),n=!1,c=null,window.removeEventListener("mouseup",h);let i=window.edenFrame?._internal.appId;r&&(cancelAnimationFrame(r),r=null,d&&i&&(window.edenAPI.shellCommand("view/update-view-bounds",{appId:i,bounds:d}).catch(console.error),window.edenFrame._internal.bounds={...d},d=null)),o&&e.current&&(window.edenFrame._internal.bounds={...e.current},console.log("[Eden Frame] Updated edenFrame._internal.bounds after touch drag:",window.edenFrame?._internal.bounds)),!o&&i&&window.edenAPI.shellCommand("view/end-drag",{appId:i}).catch(console.error)};t.addEventListener("mousedown",g),t.addEventListener("touchstart",g,{passive:!1}),document.addEventListener("touchmove",E,{passive:!1,capture:!0}),document.addEventListener("touchend",h,{passive:!1}),document.addEventListener("touchcancel",h,{passive:!1}),console.log("[Eden Frame] Drag event listeners registered")}function B(t,e){let n=document.createElement("div");n.id="eden-resize-handle",n.style.cssText=`
9
+ position: fixed;
10
+ bottom: 0;
11
+ right: 0;
12
+ width: 20px;
13
+ height: 20px;
14
+ cursor: nwse-resize;
15
+ z-index: 2147483647;
16
+ -webkit-app-region: no-drag;
17
+ touch-action: none;
18
+ `,document.body.appendChild(n);let l=!1,p=0,c=0,o=null,r=!1,d=null,u=null,g=()=>{let i=window.edenFrame?._internal.appId;u&&i&&(window.edenAPI.shellCommand("view/update-view-bounds",{appId:i,bounds:u}).catch(console.error),u=null),l&&(d=requestAnimationFrame(g))},E=i=>{if(console.log("[Eden Frame] startResize called, event type:",i.type),!e.current){let w=window.edenFrame?._internal.bounds;if(w&&w.x!==void 0)e.current={...w},console.log("[Eden Frame] Initialized currentBounds from edenFrame._internal.bounds:",e.current);else{console.warn("[Eden Frame] Cannot start resize - currentBounds not initialized!");return}}l=!0,r=i.type.startsWith("touch");let a=b(i);p=a.x,c=a.y,o={...e.current},console.log("[Eden Frame] Resize started at:",a,"isTouch:",r),i.preventDefault(),i.stopPropagation(),r&&(d=requestAnimationFrame(g));let m=window.edenFrame?._internal.appId;!r&&m&&window.edenAPI.shellCommand("view/focus-app",{appId:m}).catch(console.error),!r&&m&&window.edenAPI.shellCommand("view/start-resize",{appId:m,startX:a.x,startY:a.y}).catch(console.error),r||window.addEventListener("mouseup",s)},h=i=>{if(console.log("[Eden Frame] moveResize called, isResizing:",l,"event type:",i.type),i.preventDefault(),i.stopPropagation(),!l||!o){console.log("[Eden Frame] moveResize returning early - isResizing:",l,"resizeStartBounds:",o);return}let a=b(i),m=a.x-p,w=a.y-c;console.log("[Eden Frame] moveResize coords:",a,"delta:",{deltaX:m,deltaY:w});let f=o.width+m,v=o.height+w;t.minSize?(f=Math.max(f,t.minSize.width||200),v=Math.max(v,t.minSize.height||200)):(f=Math.max(f,200),v=Math.max(v,200)),t.maxSize&&(f=Math.min(f,t.maxSize.width||2e3),v=Math.min(v,t.maxSize.height||2e3));let F={x:o.x,y:o.y,width:Math.round(f),height:Math.round(v)};console.log("[Eden Frame] moveResize newBounds:",F),e.current=F,u=F},s=i=>{if(!l)return;console.log("[Eden Frame] Resize ended, final currentBounds:",e.current),l=!1,o=null,window.removeEventListener("mouseup",s);let a=window.edenFrame?._internal.appId;d&&(cancelAnimationFrame(d),d=null,u&&a&&(window.edenAPI.shellCommand("view/update-view-bounds",{appId:a,bounds:u}).catch(console.error),window.edenFrame._internal.bounds={...u},u=null)),r&&e.current&&(window.edenFrame._internal.bounds={...e.current},console.log("[Eden Frame] Updated edenFrame._internal.bounds after touch resize:",window.edenFrame?._internal.bounds)),!r&&a&&window.edenAPI.shellCommand("view/end-resize",{appId:a}).catch(console.error)};n.addEventListener("mousedown",E),n.addEventListener("touchstart",E,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1,capture:!0}),document.addEventListener("touchend",s,{passive:!1}),document.addEventListener("touchcancel",s,{passive:!1}),console.log("[Eden Frame] Resize event listeners registered")}(function(){if(console.log("[Eden Frame] Injection script started"),window.edenFrame||(window.edenFrame={setTitle:o=>{},_internal:{appId:"",injected:!1,config:{},currentMode:"tiled",bounds:{x:0,y:0,width:0,height:0}}}),window.edenFrame._internal.injected){console.log("[Eden Frame] Already injected, skipping");return}window.edenFrame._internal.injected=!0;let t=null,e="App",n={current:null},l=x(window.edenFrame._internal.config),p=()=>{window.edenFrame&&window.edenFrame._internal.appId&&(t=window.edenFrame._internal.appId,e=M(t),y(e)),_(),T(),L(),c(),window.edenAPI.subscribe("view/mode-changed",o=>{let{mode:r,bounds:d}=o;console.log("[Eden Frame] View mode changed to:",r,"with bounds:",d),window.edenFrame._internal.currentMode=r,d&&d.x!==void 0&&(window.edenFrame._internal.bounds=d,n.current={...d}),c()}),console.log("[Eden Frame] Subscribed to view/mode-changed")},c=()=>{let o=window.edenFrame._internal.currentMode,r=window.edenFrame._internal.config,d=window.edenFrame._internal.bounds;if(console.log("[Eden Frame] Window mode:",o,"Config:",r,"Initial bounds:",d),o!=="floating")return;if(d&&d.x!==void 0)n.current={...d},console.log("[Eden Frame] Initialized bounds from backend:",n.current);else if(r.defaultSize){let s=r.defaultPosition?.x||0,i=r.defaultPosition?.y||0;n.current={x:0+s,y:0+i,width:r.defaultSize.width||800,height:r.defaultSize.height||600},console.log("[Eden Frame] Initialized bounds from config:",n.current)}let u=r.movable!==!1,g=r.resizable!==!1;console.log("[Eden Frame] Movable:",u,"Resizable:",g),u&&A(l,n),g&&B(r,n)};window.edenAPI.subscribe("view/bounds-updated",o=>{n.current={...o},window.edenFrame._internal.bounds={...o}}),console.log("[Eden Frame] Subscribed to view/bounds-updated"),document.addEventListener("touchstart",o=>{console.log("[Eden Frame] Global touchstart on:",o.target)},{passive:!1,capture:!0}),document.addEventListener("touchcancel",o=>{console.log("[Eden Frame] Global touchcancel on:",o.target),console.log("[Eden Frame] Stack trace:",new Error().stack)},{capture:!0}),z(l,()=>{I(l),p()}),window.edenFrame.setTitle=o=>{y(o)}})();})();
19
+ //# sourceMappingURL=frame-injector.js.map