@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,72 @@
1
+ import "reflect-metadata";
2
+ /**
3
+ * Options for the EdenNamespace decorator
4
+ */
5
+ export interface EdenNamespaceOptions {
6
+ /**
7
+ * Optional event interface name for this namespace
8
+ * The interface should define events without the namespace prefix
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * interface ProcessNamespaceEvents {
13
+ * "launched": { instance: AppInstance };
14
+ * "stopped": { appId: string };
15
+ * }
16
+ *
17
+ * @EdenNamespace("process", { events: "ProcessNamespaceEvents" })
18
+ * class ProcessManager {
19
+ * // ...
20
+ * }
21
+ * ```
22
+ */
23
+ events?: string;
24
+ }
25
+ /**
26
+ * Class decorator to set the namespace for all command handlers and events in a manager
27
+ * @param namespace - The namespace for this manager (e.g., "process", "view")
28
+ * @param options - Optional configuration including event interface
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * interface ProcessEvents {
33
+ * "launched": { appId: string };
34
+ * }
35
+ *
36
+ * @EdenNamespace("process", { events: ProcessEvents })
37
+ * class ProcessManager {
38
+ * @EdenHandler("launch")
39
+ * async handleLaunch(args: { appId: string }) {
40
+ * // This becomes "process/launch"
41
+ * }
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function EdenNamespace(namespace: string, options?: EdenNamespaceOptions): <T extends {
46
+ new (...args: any[]): {};
47
+ }>(constructor: T) => T;
48
+ /**
49
+ * Method decorator to register a method as a command handler
50
+ * @param command - The command name (will be prefixed with the class namespace)
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * @EdenNamespace("process")
55
+ * class ProcessManager {
56
+ * @EdenHandler("launch")
57
+ * async handleLaunch(args: { appId: string }) {
58
+ * // Registered as "process/launch"
59
+ * }
60
+ * }
61
+ * ```
62
+ */
63
+ export interface EdenHandlerOptions {
64
+ /**
65
+ * Permission required to execute this handler.
66
+ * Specified without namespace prefix (e.g., "read" not "fs/read").
67
+ * The full permission will be "namespace/permission".
68
+ */
69
+ permission?: string;
70
+ }
71
+ export declare function EdenHandler(command: string, options?: EdenHandlerOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
72
+ //# sourceMappingURL=CommandDecorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandDecorators.d.ts","sourceRoot":"","sources":["../../src/ipc/CommandDecorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAM1B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,IAC5D,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,eAAe,CAAC,OAWxE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,YAE7D,GAAG,eACE,MAAM,cACP,kBAAkB,wBAYjC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EdenNamespace = EdenNamespace;
4
+ exports.EdenHandler = EdenHandler;
5
+ require("reflect-metadata");
6
+ const CommandRegistry_1 = require("./CommandRegistry");
7
+ /**
8
+ * Class decorator to set the namespace for all command handlers and events in a manager
9
+ * @param namespace - The namespace for this manager (e.g., "process", "view")
10
+ * @param options - Optional configuration including event interface
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * interface ProcessEvents {
15
+ * "launched": { appId: string };
16
+ * }
17
+ *
18
+ * @EdenNamespace("process", { events: ProcessEvents })
19
+ * class ProcessManager {
20
+ * @EdenHandler("launch")
21
+ * async handleLaunch(args: { appId: string }) {
22
+ * // This becomes "process/launch"
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ function EdenNamespace(namespace, options) {
28
+ return function (constructor) {
29
+ (0, CommandRegistry_1.setManagerNamespace)(constructor, namespace);
30
+ Reflect.defineMetadata("eden:namespace", namespace, constructor);
31
+ // Store events interface name if provided for codegen
32
+ if (options?.events) {
33
+ Reflect.defineMetadata("eden:events", options.events, constructor);
34
+ }
35
+ return constructor;
36
+ };
37
+ }
38
+ function EdenHandler(command, options) {
39
+ return function (target, propertyKey, descriptor) {
40
+ // Register this handler in metadata
41
+ (0, CommandRegistry_1.addCommandHandler)(target.constructor, command, propertyKey);
42
+ // Store permission metadata if provided
43
+ if (options?.permission) {
44
+ Reflect.defineMetadata("eden:handler:permission", options.permission, target, propertyKey);
45
+ }
46
+ return descriptor;
47
+ };
48
+ }
49
+ //# sourceMappingURL=CommandDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandDecorators.js","sourceRoot":"","sources":["../../src/ipc/CommandDecorators.ts"],"names":[],"mappings":";;AAkDA,sCAYC;AA0BD,kCAgBC;AAxGD,4BAA0B;AAC1B,uDAG2B;AA0B3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,OAA8B;IAC7E,OAAO,UAAkD,WAAc;QACrE,IAAA,qCAAmB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAEjE,sDAAsD;QACtD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AA0BD,SAAgB,WAAW,CAAC,OAAe,EAAE,OAA4B;IACvE,OAAO,UACL,MAAW,EACX,WAAmB,EACnB,UAA8B;QAE9B,oCAAoC;QACpC,IAAA,mCAAiB,EAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,wCAAwC;QACxC,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import "reflect-metadata";
2
+ import { PermissionRegistry } from "./PermissionRegistry";
3
+ /**
4
+ * CommandRegistry
5
+ *
6
+ * Central registry for namespaced command handlers.
7
+ * Similar to FastAPI's APIRouter pattern - allows multiple managers
8
+ * to register their own command handlers under namespaces.
9
+ */
10
+ export type CommandHandler<TArgs = any, TResult = any> = (args: TArgs) => Promise<TResult> | TResult;
11
+ export interface CommandMetadata {
12
+ namespace: string;
13
+ command: string;
14
+ handler: CommandHandler;
15
+ target: any;
16
+ permission?: string;
17
+ methodName: string;
18
+ }
19
+ export declare class CommandRegistry {
20
+ private permissionRegistry;
21
+ private handlers;
22
+ constructor(permissionRegistry: PermissionRegistry);
23
+ /**
24
+ * Register a command handler under a namespace
25
+ * @param namespace - The namespace (e.g., "app", "view")
26
+ * @param command - The command name (e.g., "launch", "update-bounds")
27
+ * @param handler - The handler function
28
+ * @param target - The instance that owns the handler (for proper `this` binding)
29
+ * @param methodName - The original method name for metadata lookup
30
+ */
31
+ register(namespace: string, command: string, handler: CommandHandler, target: any, methodName?: string): void;
32
+ /**
33
+ * Register multiple handlers from a manager instance
34
+ * @param manager - The manager instance to register handlers from
35
+ */
36
+ registerManager(manager: any): void;
37
+ /**
38
+ * Execute a command by its full name
39
+ * @param fullCommand - The full command name (e.g., "process/launch")
40
+ * @param args - The command arguments
41
+ * @param appId - Optional app ID for permission checking
42
+ * @returns The command result
43
+ */
44
+ execute<TResult = any>(fullCommand: string, args: any, appId?: string): Promise<TResult>;
45
+ /**
46
+ * Check if a command is registered
47
+ */
48
+ has(fullCommand: string): boolean;
49
+ /**
50
+ * Get all registered command names
51
+ */
52
+ getCommands(): string[];
53
+ /**
54
+ * Get commands for a specific namespace
55
+ */
56
+ getNamespaceCommands(namespace: string): string[];
57
+ /**
58
+ * Clear all handlers (useful for testing)
59
+ */
60
+ clear(): void;
61
+ }
62
+ /**
63
+ * Get manager metadata (namespace and handlers)
64
+ */
65
+ export declare function getManagerMetadata(instance: any): {
66
+ namespace: string;
67
+ handlers: Map<string, string>;
68
+ } | undefined;
69
+ /**
70
+ * Set manager namespace
71
+ */
72
+ export declare function setManagerNamespace(target: any, namespace: string): void;
73
+ /**
74
+ * Add command handler to manager metadata
75
+ */
76
+ export declare function addCommandHandler(target: any, command: string, methodName: string): void;
77
+ //# sourceMappingURL=CommandRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandRegistry.d.ts","sourceRoot":"","sources":["../../src/ipc/CommandRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AAEH,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,CACvD,IAAI,EAAE,KAAK,KACR,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAEa,eAAe;IAII,OAAO,CAAC,kBAAkB;IAHxD,OAAO,CAAC,QAAQ,CAAsC;gBAGhB,kBAAkB,EAAE,kBAAkB;IAG5E;;;;;;;OAOG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAiCP;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAuBnC;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,GAAG,GAAG,EACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAwBnB;;OAEG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAMjD;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,GACZ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,SAAS,CAElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,IAAI,CAUN"}
@@ -0,0 +1,175 @@
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.CommandRegistry = void 0;
16
+ exports.getManagerMetadata = getManagerMetadata;
17
+ exports.setManagerNamespace = setManagerNamespace;
18
+ exports.addCommandHandler = addCommandHandler;
19
+ require("reflect-metadata");
20
+ const tsyringe_1 = require("tsyringe");
21
+ const PermissionRegistry_1 = require("./PermissionRegistry");
22
+ let CommandRegistry = class CommandRegistry {
23
+ permissionRegistry;
24
+ handlers = new Map();
25
+ constructor(permissionRegistry) {
26
+ this.permissionRegistry = permissionRegistry;
27
+ }
28
+ /**
29
+ * Register a command handler under a namespace
30
+ * @param namespace - The namespace (e.g., "app", "view")
31
+ * @param command - The command name (e.g., "launch", "update-bounds")
32
+ * @param handler - The handler function
33
+ * @param target - The instance that owns the handler (for proper `this` binding)
34
+ * @param methodName - The original method name for metadata lookup
35
+ */
36
+ register(namespace, command, handler, target, methodName) {
37
+ const fullCommand = `${namespace}/${command}`;
38
+ if (this.handlers.has(fullCommand)) {
39
+ console.warn(`Command handler for "${fullCommand}" is being overwritten`);
40
+ }
41
+ // Look up permission from decorator metadata
42
+ let permission;
43
+ if (methodName && target) {
44
+ const handlerPermission = Reflect.getMetadata("eden:handler:permission", target.constructor.prototype, methodName);
45
+ if (handlerPermission) {
46
+ permission = `${namespace}/${handlerPermission}`;
47
+ }
48
+ }
49
+ this.handlers.set(fullCommand, {
50
+ namespace,
51
+ command,
52
+ handler,
53
+ target,
54
+ permission,
55
+ methodName: methodName || "",
56
+ });
57
+ const permStr = permission ? ` (requires: ${permission})` : "";
58
+ console.log(`Registered command handler: ${fullCommand}${permStr}`);
59
+ }
60
+ /**
61
+ * Register multiple handlers from a manager instance
62
+ * @param manager - The manager instance to register handlers from
63
+ */
64
+ registerManager(manager) {
65
+ const metadata = getManagerMetadata(manager);
66
+ if (!metadata) {
67
+ console.warn("Manager has no command handlers to register");
68
+ return;
69
+ }
70
+ const { namespace, handlers } = metadata;
71
+ for (const [command, methodName] of handlers.entries()) {
72
+ const handler = manager[methodName];
73
+ if (typeof handler === "function") {
74
+ this.register(namespace, command, handler.bind(manager), manager, methodName);
75
+ }
76
+ }
77
+ }
78
+ /**
79
+ * Execute a command by its full name
80
+ * @param fullCommand - The full command name (e.g., "process/launch")
81
+ * @param args - The command arguments
82
+ * @param appId - Optional app ID for permission checking
83
+ * @returns The command result
84
+ */
85
+ async execute(fullCommand, args, appId) {
86
+ const metadata = this.handlers.get(fullCommand);
87
+ if (!metadata) {
88
+ throw new Error(`Unknown command: ${fullCommand}`);
89
+ }
90
+ // Check permission if required
91
+ if (metadata.permission && appId && this.permissionRegistry) {
92
+ if (!this.permissionRegistry.hasPermission(appId, metadata.permission)) {
93
+ throw new Error(`Permission denied: ${metadata.permission} required for ${fullCommand}`);
94
+ }
95
+ }
96
+ try {
97
+ return await metadata.handler.call(metadata.target, args);
98
+ }
99
+ catch (error) {
100
+ console.error(`Error executing command ${fullCommand}:`, error);
101
+ throw error;
102
+ }
103
+ }
104
+ /**
105
+ * Check if a command is registered
106
+ */
107
+ has(fullCommand) {
108
+ return this.handlers.has(fullCommand);
109
+ }
110
+ /**
111
+ * Get all registered command names
112
+ */
113
+ getCommands() {
114
+ return Array.from(this.handlers.keys());
115
+ }
116
+ /**
117
+ * Get commands for a specific namespace
118
+ */
119
+ getNamespaceCommands(namespace) {
120
+ return Array.from(this.handlers.values())
121
+ .filter((meta) => meta.namespace === namespace)
122
+ .map((meta) => `${meta.namespace}/${meta.command}`);
123
+ }
124
+ /**
125
+ * Clear all handlers (useful for testing)
126
+ */
127
+ clear() {
128
+ this.handlers.clear();
129
+ }
130
+ };
131
+ exports.CommandRegistry = CommandRegistry;
132
+ exports.CommandRegistry = CommandRegistry = __decorate([
133
+ (0, tsyringe_1.singleton)(),
134
+ (0, tsyringe_1.injectable)(),
135
+ __param(0, (0, tsyringe_1.inject)(PermissionRegistry_1.PermissionRegistry)),
136
+ __metadata("design:paramtypes", [PermissionRegistry_1.PermissionRegistry])
137
+ ], CommandRegistry);
138
+ /**
139
+ * Metadata storage for manager namespaces and handlers
140
+ */
141
+ const MANAGER_METADATA = new Map();
142
+ /**
143
+ * Get manager metadata (namespace and handlers)
144
+ */
145
+ function getManagerMetadata(instance) {
146
+ return MANAGER_METADATA.get(instance.constructor);
147
+ }
148
+ /**
149
+ * Set manager namespace
150
+ */
151
+ function setManagerNamespace(target, namespace) {
152
+ if (!MANAGER_METADATA.has(target)) {
153
+ MANAGER_METADATA.set(target, {
154
+ namespace,
155
+ handlers: new Map(),
156
+ });
157
+ }
158
+ else {
159
+ MANAGER_METADATA.get(target).namespace = namespace;
160
+ }
161
+ }
162
+ /**
163
+ * Add command handler to manager metadata
164
+ */
165
+ function addCommandHandler(target, command, methodName) {
166
+ if (!MANAGER_METADATA.has(target)) {
167
+ MANAGER_METADATA.set(target, {
168
+ namespace: "",
169
+ handlers: new Map(),
170
+ });
171
+ }
172
+ const metadata = MANAGER_METADATA.get(target);
173
+ metadata.handlers.set(command, methodName);
174
+ }
175
+ //# sourceMappingURL=CommandRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandRegistry.js","sourceRoot":"","sources":["../../src/ipc/CommandRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import "reflect-metadata";
2
+ import { IPCBridge } from "./IPCBridge";
3
+ /**
4
+ * Base class for managers that emit events within a specific namespace.
5
+ *
6
+ * Provides type-safe event emission where:
7
+ * - Event names are constrained to the namespace's events
8
+ * - Payload types are automatically inferred
9
+ * - Namespace is extracted from the @EdenNamespace decorator
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * interface ProcessNamespaceEvents {
14
+ * "launched": { instance: AppInstance };
15
+ * "stopped": { appId: string };
16
+ * }
17
+ *
18
+ * @EdenNamespace("process")
19
+ * class ProcessManager extends EdenEmitter<ProcessNamespaceEvents> {
20
+ * constructor(ipcBridge: IPCBridge) {
21
+ * super(ipcBridge);
22
+ * }
23
+ *
24
+ * async launchApp() {
25
+ * this.notify("launched", { instance }); // Fully typed!
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ export declare abstract class EdenEmitter<TEvents> {
31
+ protected ipcBridge: IPCBridge;
32
+ constructor(ipcBridge: IPCBridge);
33
+ /**
34
+ * Emit an event within this manager's namespace.
35
+ *
36
+ * The namespace is automatically extracted from the @EdenNamespace decorator.
37
+ * Event names and payloads are type-checked based on the TEvents generic parameter.
38
+ *
39
+ * @param event - Event name (without namespace prefix)
40
+ * @param data - Event payload data
41
+ */
42
+ protected notify<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
43
+ /**
44
+ * Emit an event to a specific subscriber within this manager's namespace.
45
+ *
46
+ * Similar to notify(), but targets a specific view instead of broadcasting.
47
+ *
48
+ * @param viewId - The view ID to send the event to
49
+ * @param event - Event name (without namespace prefix)
50
+ * @param data - Event payload data
51
+ */
52
+ protected notifySubscriber<K extends keyof TEvents>(viewId: number, event: K, data: TEvents[K]): void;
53
+ }
54
+ //# sourceMappingURL=EdenEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdenEmitter.d.ts","sourceRoot":"","sources":["../../src/ipc/EdenEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8BAAsB,WAAW,CAAC,OAAO;IACvC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;gBAEnB,SAAS,EAAE,SAAS;IAIhC;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,OAAO,EACtC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,IAAI;IAkBP;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAAS,MAAM,OAAO,EAChD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,IAAI;CAiBR"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EdenEmitter = void 0;
4
+ require("reflect-metadata");
5
+ /**
6
+ * Base class for managers that emit events within a specific namespace.
7
+ *
8
+ * Provides type-safe event emission where:
9
+ * - Event names are constrained to the namespace's events
10
+ * - Payload types are automatically inferred
11
+ * - Namespace is extracted from the @EdenNamespace decorator
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * interface ProcessNamespaceEvents {
16
+ * "launched": { instance: AppInstance };
17
+ * "stopped": { appId: string };
18
+ * }
19
+ *
20
+ * @EdenNamespace("process")
21
+ * class ProcessManager extends EdenEmitter<ProcessNamespaceEvents> {
22
+ * constructor(ipcBridge: IPCBridge) {
23
+ * super(ipcBridge);
24
+ * }
25
+ *
26
+ * async launchApp() {
27
+ * this.notify("launched", { instance }); // Fully typed!
28
+ * }
29
+ * }
30
+ * ```
31
+ */
32
+ class EdenEmitter {
33
+ ipcBridge;
34
+ constructor(ipcBridge) {
35
+ this.ipcBridge = ipcBridge;
36
+ }
37
+ /**
38
+ * Emit an event within this manager's namespace.
39
+ *
40
+ * The namespace is automatically extracted from the @EdenNamespace decorator.
41
+ * Event names and payloads are type-checked based on the TEvents generic parameter.
42
+ *
43
+ * @param event - Event name (without namespace prefix)
44
+ * @param data - Event payload data
45
+ */
46
+ notify(event, data) {
47
+ // Extract namespace from the @EdenNamespace decorator
48
+ const namespace = Reflect.getMetadata("eden:namespace", this.constructor);
49
+ if (!namespace) {
50
+ throw new Error(`${this.constructor.name} must be decorated with @EdenNamespace to use notify(). ` +
51
+ `Add @EdenNamespace("your-namespace") to the class.`);
52
+ }
53
+ // Construct full event name: "namespace/event"
54
+ const fullEventName = `${namespace}/${String(event)}`;
55
+ // Broadcast to all subscribed views
56
+ this.ipcBridge.eventSubscribers.notify(fullEventName, data);
57
+ }
58
+ /**
59
+ * Emit an event to a specific subscriber within this manager's namespace.
60
+ *
61
+ * Similar to notify(), but targets a specific view instead of broadcasting.
62
+ *
63
+ * @param viewId - The view ID to send the event to
64
+ * @param event - Event name (without namespace prefix)
65
+ * @param data - Event payload data
66
+ */
67
+ notifySubscriber(viewId, event, data) {
68
+ // Extract namespace from the @EdenNamespace decorator
69
+ const namespace = Reflect.getMetadata("eden:namespace", this.constructor);
70
+ if (!namespace) {
71
+ throw new Error(`${this.constructor.name} must be decorated with @EdenNamespace to use notifySubscriber(). ` +
72
+ `Add @EdenNamespace("your-namespace") to the class.`);
73
+ }
74
+ // Construct full event name: "namespace/event"
75
+ const fullEventName = `${namespace}/${String(event)}`;
76
+ // Send to specific view
77
+ this.ipcBridge.eventSubscribers.notifyView(viewId, fullEventName, data);
78
+ }
79
+ }
80
+ exports.EdenEmitter = EdenEmitter;
81
+ //# sourceMappingURL=EdenEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdenEmitter.js","sourceRoot":"","sources":["../../src/ipc/EdenEmitter.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAI1B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAsB,WAAW;IACrB,SAAS,CAAY;IAE/B,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACO,MAAM,CACd,KAAQ,EACR,IAAgB;QAEhB,sDAAsD;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,0DAA0D;gBAClF,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,EAAe,CAAC;QAEnE,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACO,gBAAgB,CACxB,MAAc,EACd,KAAQ,EACR,IAAgB;QAEhB,sDAAsD;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,oEAAoE;gBAC5F,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,EAAe,CAAC;QAEnE,wBAAwB;QACxB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF;AAnED,kCAmEC"}
@@ -0,0 +1,21 @@
1
+ import { EventSubscriberManager } from "./EventSubscriberManager";
2
+ import { ViewManager } from "../view-manager/ViewManager";
3
+ export declare class EventHandler {
4
+ private subscriberManager;
5
+ private viewManager;
6
+ constructor(subscriberManager: EventSubscriberManager, viewManager: ViewManager);
7
+ subscribe(args: {
8
+ eventName: string;
9
+ _callerWebContentsId?: number;
10
+ _callerAppId?: string;
11
+ }): void;
12
+ unsubscribe(args: {
13
+ eventName: string;
14
+ _callerWebContentsId?: number;
15
+ _callerAppId?: string;
16
+ }): void;
17
+ exists(args: {
18
+ eventName: string;
19
+ }): boolean;
20
+ }
21
+ //# sourceMappingURL=EventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventHandler.d.ts","sourceRoot":"","sources":["../../src/ipc/EventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,qBACa,YAAY;IACvB,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,WAAW,CAAc;gBAG/B,iBAAiB,EAAE,sBAAsB,EACzC,WAAW,EAAE,WAAW;IAO1B,SAAS,CAAC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI;IAwBR,WAAW,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI;IAiBR,MAAM,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAG7C"}
@@ -0,0 +1,87 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EventHandler = void 0;
13
+ const CommandDecorators_1 = require("./CommandDecorators");
14
+ const EventSubscriberManager_1 = require("./EventSubscriberManager");
15
+ const runtime_generated_1 = require("@edenapp/types/runtime.generated");
16
+ const ViewManager_1 = require("../view-manager/ViewManager");
17
+ let EventHandler = class EventHandler {
18
+ subscriberManager;
19
+ viewManager;
20
+ constructor(subscriberManager, viewManager) {
21
+ this.subscriberManager = subscriberManager;
22
+ this.viewManager = viewManager;
23
+ }
24
+ subscribe(args) {
25
+ const { eventName, _callerWebContentsId, _callerAppId } = args;
26
+ if (!runtime_generated_1.APP_EVENT_NAMES.includes(eventName)) {
27
+ throw new Error(`Event '${eventName}' is not supported`);
28
+ }
29
+ if (_callerWebContentsId !== undefined) {
30
+ // Request from a view
31
+ const viewId = this.viewManager.getViewIdByWebContentsId(_callerWebContentsId);
32
+ if (viewId === undefined) {
33
+ throw new Error("View not found");
34
+ }
35
+ this.subscriberManager.subscribe(viewId, eventName);
36
+ }
37
+ else if (_callerAppId) {
38
+ // Request from a backend
39
+ this.subscriberManager.subscribeBackend(_callerAppId, eventName);
40
+ }
41
+ else {
42
+ throw new Error("Caller identity not found");
43
+ }
44
+ }
45
+ unsubscribe(args) {
46
+ const { eventName, _callerWebContentsId, _callerAppId } = args;
47
+ if (_callerWebContentsId !== undefined) {
48
+ // Request from a view
49
+ const viewId = this.viewManager.getViewIdByWebContentsId(_callerWebContentsId);
50
+ if (viewId !== undefined) {
51
+ this.subscriberManager.unsubscribe(viewId, eventName);
52
+ }
53
+ }
54
+ else if (_callerAppId) {
55
+ // Request from a backend
56
+ this.subscriberManager.unsubscribeBackend(_callerAppId, eventName);
57
+ }
58
+ }
59
+ exists(args) {
60
+ return runtime_generated_1.APP_EVENT_NAMES.includes(args.eventName);
61
+ }
62
+ };
63
+ exports.EventHandler = EventHandler;
64
+ __decorate([
65
+ (0, CommandDecorators_1.EdenHandler)("subscribe"),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [Object]),
68
+ __metadata("design:returntype", void 0)
69
+ ], EventHandler.prototype, "subscribe", null);
70
+ __decorate([
71
+ (0, CommandDecorators_1.EdenHandler)("unsubscribe"),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [Object]),
74
+ __metadata("design:returntype", void 0)
75
+ ], EventHandler.prototype, "unsubscribe", null);
76
+ __decorate([
77
+ (0, CommandDecorators_1.EdenHandler)("exists"),
78
+ __metadata("design:type", Function),
79
+ __metadata("design:paramtypes", [Object]),
80
+ __metadata("design:returntype", Boolean)
81
+ ], EventHandler.prototype, "exists", null);
82
+ exports.EventHandler = EventHandler = __decorate([
83
+ (0, CommandDecorators_1.EdenNamespace)("event"),
84
+ __metadata("design:paramtypes", [EventSubscriberManager_1.EventSubscriberManager,
85
+ ViewManager_1.ViewManager])
86
+ ], EventHandler);
87
+ //# sourceMappingURL=EventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/ipc/EventHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAiE;AACjE,qEAAkE;AAClE,wEAAmE;AACnE,6DAA0D;AAGnD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACf,iBAAiB,CAAyB;IAC1C,WAAW,CAAc;IAEjC,YACE,iBAAyC,EACzC,WAAwB;QAExB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAGD,SAAS,CAAC,IAIT;QACC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAE/D,IAAI,CAAC,mCAAe,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,oBAAoB,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,sBAAsB;YACtB,MAAM,MAAM,GACV,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,yBAAyB;YACzB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAGD,WAAW,CAAC,IAIX;QACC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAE/D,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,sBAAsB;YACtB,MAAM,MAAM,GACV,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,yBAAyB;YACzB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAGD,MAAM,CAAC,IAA2B;QAChC,OAAO,mCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;IACzD,CAAC;CACF,CAAA;AAjEY,oCAAY;AAavB;IADC,IAAA,+BAAW,EAAC,WAAW,CAAC;;;;6CA0BxB;AAGD;IADC,IAAA,+BAAW,EAAC,aAAa,CAAC;;;;+CAmB1B;AAGD;IADC,IAAA,+BAAW,EAAC,QAAQ,CAAC;;;;0CAGrB;uBAhEU,YAAY;IADxB,IAAA,iCAAa,EAAC,OAAO,CAAC;qCAMA,+CAAsB;QAC5B,yBAAW;GANf,YAAY,CAiExB"}