@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.
- package/apps/com/eden/editor/dist/assets/css-DQU6DXDx.js +3 -0
- package/apps/com/eden/editor/dist/assets/editor-BRA9licV.css +1 -0
- package/apps/com/eden/editor/dist/assets/editor.main-DAsyVptA.js +677 -0
- package/apps/com/eden/editor/dist/assets/editor.worker-B4pQIWZD.js +12 -0
- package/apps/com/eden/editor/dist/assets/html-CTBLac3N.js +1 -0
- package/apps/com/eden/editor/dist/assets/index-B7GgDQ9I.css +1 -0
- package/apps/com/eden/editor/dist/assets/index-BWJI9cyM.js +2 -0
- package/apps/com/eden/editor/dist/assets/ini-BvajGCUy.js +1 -0
- package/apps/com/eden/editor/dist/assets/javascript-DJ6Ya8pi.js +1 -0
- package/apps/com/eden/editor/dist/assets/jsonMode-BA0kYRDI.js +10 -0
- package/apps/com/eden/editor/dist/assets/less-GGFNNJHn.js +2 -0
- package/apps/com/eden/editor/dist/assets/markdown-B811l8j2.js +1 -0
- package/apps/com/eden/editor/dist/assets/shell-CsDZo4DB.js +1 -0
- package/apps/com/eden/editor/dist/assets/typescript-C7BsmV0J.js +1 -0
- package/apps/com/eden/editor/dist/assets/yaml-QL02lm_B.js +1 -0
- package/apps/com/eden/editor/dist/index.html +13 -0
- package/apps/com/eden/editor/icon.svg +22 -0
- package/apps/com/eden/editor/index.html +12 -0
- package/apps/com/eden/editor/manifest.json +58 -0
- package/apps/com/eden/editor/node_modules/.bin/browserslist +21 -0
- package/apps/com/eden/editor/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/editor/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/editor/node_modules/.bin/vite +21 -0
- package/apps/com/eden/editor/package.json +21 -0
- package/apps/com/eden/editor/src/App.tsx +212 -0
- package/apps/com/eden/editor/src/components/ErrorBanner.tsx +13 -0
- package/apps/com/eden/editor/src/components/LazyMonacoEditor.tsx +154 -0
- package/apps/com/eden/editor/src/components/TabBar.tsx +36 -0
- package/apps/com/eden/editor/src/components/Toolbar.tsx +39 -0
- package/apps/com/eden/editor/src/components/WelcomeScreen.tsx +49 -0
- package/apps/com/eden/editor/src/components/index.ts +11 -0
- package/apps/com/eden/editor/src/index.tsx +10 -0
- package/apps/com/eden/editor/src/styles.css +319 -0
- package/apps/com/eden/editor/src/types.ts +69 -0
- package/apps/com/eden/editor/tsconfig.json +24 -0
- package/apps/com/eden/editor/vite.config.mts +67 -0
- package/apps/com/eden/eveshell/assets/apps-grid-icon.svg +17 -0
- package/apps/com/eden/eveshell/assets/default-icon.svg +17 -0
- package/apps/com/eden/eveshell/dist/assets/index-BS2yCXxK.css +1 -0
- package/apps/com/eden/eveshell/dist/assets/index-De0NEh_d.js +1 -0
- package/apps/com/eden/eveshell/dist/index.html +13 -0
- package/apps/com/eden/eveshell/index.html +12 -0
- package/apps/com/eden/eveshell/manifest.json +28 -0
- package/apps/com/eden/eveshell/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/eveshell/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/eveshell/node_modules/.bin/vite +21 -0
- package/apps/com/eden/eveshell/package.json +20 -0
- package/apps/com/eden/eveshell/src/components/AllApps.tsx +228 -0
- package/apps/com/eden/eveshell/src/components/AppContextMenu.tsx +125 -0
- package/apps/com/eden/eveshell/src/components/AppIcon.tsx +40 -0
- package/apps/com/eden/eveshell/src/components/Clock.tsx +35 -0
- package/apps/com/eden/eveshell/src/components/Dock.tsx +147 -0
- package/apps/com/eden/eveshell/src/components/ShellOverlay.tsx +343 -0
- package/apps/com/eden/eveshell/src/icon-cache.ts +38 -0
- package/apps/com/eden/eveshell/src/index.tsx +11 -0
- package/apps/com/eden/eveshell/src/styles.css +409 -0
- package/apps/com/eden/eveshell/src/types.ts +5 -0
- package/apps/com/eden/eveshell/tsconfig.json +37 -0
- package/apps/com/eden/eveshell/vite.config.mts +23 -0
- package/apps/com/eden/example/appbus/client-a/app.js +239 -0
- package/apps/com/eden/example/appbus/client-a/index.html +48 -0
- package/apps/com/eden/example/appbus/client-a/manifest.json +27 -0
- package/apps/com/eden/example/appbus/client-a/styles.css +52 -0
- package/apps/com/eden/example/appbus/client-b/app.js +130 -0
- package/apps/com/eden/example/appbus/client-b/index.html +35 -0
- package/apps/com/eden/example/appbus/client-b/manifest.json +27 -0
- package/apps/com/eden/example/appbus/client-b/styles.css +48 -0
- package/apps/com/eden/example/appbus/hub/README.md +18 -0
- package/apps/com/eden/example/appbus/hub/backend.js +121 -0
- package/apps/com/eden/example/appbus/hub/manifest.json +17 -0
- package/apps/com/eden/example/appbus/isolated/app.js +107 -0
- package/apps/com/eden/example/appbus/isolated/index.html +35 -0
- package/apps/com/eden/example/appbus/isolated/manifest.json +27 -0
- package/apps/com/eden/example/appbus/isolated/styles.css +52 -0
- package/apps/com/eden/example/calculator/.dev-manifest.json +5 -0
- package/apps/com/eden/example/calculator/app.js +95 -0
- package/apps/com/eden/example/calculator/icon.svg +19 -0
- package/apps/com/eden/example/calculator/index.html +39 -0
- package/apps/com/eden/example/calculator/manifest.json +30 -0
- package/apps/com/eden/example/calculator/styles.css +83 -0
- package/apps/com/eden/example/hello/README.md +3 -0
- package/apps/com/eden/example/hello/backend/dist/backend.js +47 -0
- package/apps/com/eden/example/hello/backend/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/example/hello/backend/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/example/hello/backend/package.json +13 -0
- package/apps/com/eden/example/hello/backend/src/backend.ts +58 -0
- package/apps/com/eden/example/hello/backend/tsconfig.json +19 -0
- package/apps/com/eden/example/hello/frontend/dist/assets/index-D2WAwW3g.css +1 -0
- package/apps/com/eden/example/hello/frontend/dist/assets/index-D4bTq3-Q.js +1 -0
- package/apps/com/eden/example/hello/frontend/dist/index.html +59 -0
- package/apps/com/eden/example/hello/frontend/index.html +59 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/vite +21 -0
- package/apps/com/eden/example/hello/frontend/package.json +15 -0
- package/apps/com/eden/example/hello/frontend/src/App.ts +191 -0
- package/apps/com/eden/example/hello/frontend/styles.css +96 -0
- package/apps/com/eden/example/hello/frontend/tsconfig.json +16 -0
- package/apps/com/eden/example/hello/frontend/vite.config.mts +21 -0
- package/apps/com/eden/example/hello/manifest.json +34 -0
- package/apps/com/eden/example/hello/shared/protocol.d.ts +38 -0
- package/apps/com/eden/example/showcase/app.js +186 -0
- package/apps/com/eden/example/showcase/index.html +637 -0
- package/apps/com/eden/example/showcase/manifest.json +24 -0
- package/apps/com/eden/example/showcase/styles.css +195 -0
- package/apps/com/eden/files/.dev-manifest.json +5 -0
- package/apps/com/eden/files/dist/assets/index-BOw4ESi3.js +1 -0
- package/apps/com/eden/files/dist/assets/index-BPH5FvSW.css +1 -0
- package/apps/com/eden/files/dist/index.html +13 -0
- package/apps/com/eden/files/icon.svg +15 -0
- package/apps/com/eden/files/index.html +12 -0
- package/apps/com/eden/files/manifest.json +28 -0
- package/apps/com/eden/files/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/files/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/files/node_modules/.bin/vite +21 -0
- package/apps/com/eden/files/node_modules/.vite/deps/_metadata.json +46 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js +1253 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js +1809 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/package.json +3 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js +112 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js +122 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js +606 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js +455 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js +147 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js.map +7 -0
- package/apps/com/eden/files/package-lock.json +1754 -0
- package/apps/com/eden/files/package.json +20 -0
- package/apps/com/eden/files/src/App.tsx +387 -0
- package/apps/com/eden/files/src/components/FileExplorerHeader.tsx +90 -0
- package/apps/com/eden/files/src/components/FileItem.tsx +70 -0
- package/apps/com/eden/files/src/components/FileList.tsx +77 -0
- package/apps/com/eden/files/src/components/Modal.tsx +48 -0
- package/apps/com/eden/files/src/components/Omnibox.tsx +241 -0
- package/apps/com/eden/files/src/dialogs/CreateFileDialog.tsx +71 -0
- package/apps/com/eden/files/src/dialogs/CreateFolderDialog.tsx +68 -0
- package/apps/com/eden/files/src/dialogs/DeleteConfirmDialog.tsx +35 -0
- package/apps/com/eden/files/src/dialogs/DisplayOptionsModal.tsx +122 -0
- package/apps/com/eden/files/src/dialogs/ErrorDialog.tsx +28 -0
- package/apps/com/eden/files/src/index.tsx +9 -0
- package/apps/com/eden/files/src/styles.css +595 -0
- package/apps/com/eden/files/src/types.ts +20 -0
- package/apps/com/eden/files/src/utils.ts +44 -0
- package/apps/com/eden/files/tsconfig.json +27 -0
- package/apps/com/eden/files/vite.config.mts +23 -0
- package/apps/com/eden/settings/dist/assets/index-CTkJneTg.js +1 -0
- package/apps/com/eden/settings/dist/assets/index-GIMJANTM.css +1 -0
- package/apps/com/eden/settings/dist/index.html +13 -0
- package/apps/com/eden/settings/icon.svg +15 -0
- package/apps/com/eden/settings/index.html +12 -0
- package/apps/com/eden/settings/manifest.json +28 -0
- package/apps/com/eden/settings/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/settings/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/settings/node_modules/.bin/vite +21 -0
- package/apps/com/eden/settings/package.json +21 -0
- package/apps/com/eden/settings/src/App.css +168 -0
- package/apps/com/eden/settings/src/App.tsx +301 -0
- package/apps/com/eden/settings/src/components/SettingInput.tsx +131 -0
- package/apps/com/eden/settings/src/index.tsx +9 -0
- package/apps/com/eden/settings/tsconfig.json +21 -0
- package/apps/com/eden/settings/vite.config.mts +22 -0
- package/apps/com/eden/toaster/README.md +89 -0
- package/apps/com/eden/toaster/dist/assets/index-8JMcmBCJ.css +1 -0
- package/apps/com/eden/toaster/dist/assets/index-C4cVyh7j.js +16 -0
- package/apps/com/eden/toaster/dist/index.html +16 -0
- package/apps/com/eden/toaster/index.html +16 -0
- package/apps/com/eden/toaster/manifest.json +28 -0
- package/apps/com/eden/toaster/node_modules/.bin/vite +21 -0
- package/apps/com/eden/toaster/package.json +15 -0
- package/apps/com/eden/toaster/src/styles.css +159 -0
- package/apps/com/eden/toaster/src/toaster.ts +470 -0
- package/apps/com/eden/toaster/tsconfig.json +28 -0
- package/apps/com/eden/toaster/vite.config.mts +18 -0
- package/apps/com/eden/webbrowser/.dev-manifest.json +5 -0
- package/apps/com/eden/webbrowser/icon.svg +20 -0
- package/apps/com/eden/webbrowser/index.html +141 -0
- package/apps/com/eden/webbrowser/manifest.json +23 -0
- package/apps/com/eden/webbrowser/node_modules/.bin/vite +21 -0
- package/apps/com/eden/webbrowser/node_modules/.vite/deps/_metadata.json +8 -0
- package/apps/com/eden/webbrowser/node_modules/.vite/deps/package.json +3 -0
- package/apps/com/eden/webbrowser/package.json +13 -0
- package/apps/com/eden/webbrowser/vite.config.mts +11 -0
- package/dist/Eden.d.ts +40 -0
- package/dist/Eden.d.ts.map +1 -0
- package/dist/Eden.js +186 -0
- package/dist/Eden.js.map +1 -0
- package/dist/SystemHandler.d.ts +11 -0
- package/dist/SystemHandler.d.ts.map +1 -0
- package/dist/SystemHandler.js +53 -0
- package/dist/SystemHandler.js.map +1 -0
- package/dist/app-frame/frame-injector.js +19 -0
- package/dist/app-frame/frame-injector.js.map +7 -0
- package/dist/app-frame/frame.css +186 -0
- package/dist/app-runtime/app-preload.js +2 -0
- package/dist/app-runtime/app-preload.js.map +7 -0
- package/dist/app-runtime/backend-preload.js +2 -0
- package/dist/app-runtime/backend-preload.js.map +7 -0
- package/dist/appbus/AppChannelHandler.d.ts +65 -0
- package/dist/appbus/AppChannelHandler.d.ts.map +1 -0
- package/dist/appbus/AppChannelHandler.js +120 -0
- package/dist/appbus/AppChannelHandler.js.map +1 -0
- package/dist/appbus/AppChannelManager.d.ts +80 -0
- package/dist/appbus/AppChannelManager.d.ts.map +1 -0
- package/dist/appbus/AppChannelManager.js +312 -0
- package/dist/appbus/AppChannelManager.js.map +1 -0
- package/dist/appbus/index.d.ts +2 -0
- package/dist/appbus/index.d.ts.map +1 -0
- package/dist/appbus/index.js +18 -0
- package/dist/appbus/index.js.map +1 -0
- package/dist/db/DbHandler.d.ts +119 -0
- package/dist/db/DbHandler.d.ts.map +1 -0
- package/dist/db/DbHandler.js +204 -0
- package/dist/db/DbHandler.js.map +1 -0
- package/dist/db/DbManager.d.ts +49 -0
- package/dist/db/DbManager.d.ts.map +1 -0
- package/dist/db/DbManager.js +172 -0
- package/dist/db/DbManager.js.map +1 -0
- package/dist/db/index.d.ts +3 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +8 -0
- package/dist/db/index.js.map +1 -0
- package/dist/edencss/eden-tokens.css +1 -0
- package/dist/edencss/eden.css +1 -0
- package/dist/file-open/FileOpenHandler.d.ts +59 -0
- package/dist/file-open/FileOpenHandler.d.ts.map +1 -0
- package/dist/file-open/FileOpenHandler.js +122 -0
- package/dist/file-open/FileOpenHandler.js.map +1 -0
- package/dist/file-open/FileOpenManager.d.ts +91 -0
- package/dist/file-open/FileOpenManager.d.ts.map +1 -0
- package/dist/file-open/FileOpenManager.js +411 -0
- package/dist/file-open/FileOpenManager.js.map +1 -0
- package/dist/file-open/index.d.ts +3 -0
- package/dist/file-open/index.d.ts.map +1 -0
- package/dist/file-open/index.js +8 -0
- package/dist/file-open/index.js.map +1 -0
- package/dist/filesystem/FilesystemHandler.d.ts +65 -0
- package/dist/filesystem/FilesystemHandler.d.ts.map +1 -0
- package/dist/filesystem/FilesystemHandler.js +134 -0
- package/dist/filesystem/FilesystemHandler.js.map +1 -0
- package/dist/filesystem/FilesystemManager.d.ts +70 -0
- package/dist/filesystem/FilesystemManager.d.ts.map +1 -0
- package/dist/filesystem/FilesystemManager.js +236 -0
- package/dist/filesystem/FilesystemManager.js.map +1 -0
- package/dist/filesystem/index.d.ts +3 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +8 -0
- package/dist/filesystem/index.js.map +1 -0
- package/dist/foundation/foundation-preload.js +15 -0
- package/dist/foundation/foundation.css +40 -0
- package/dist/foundation/foundation.html +22 -0
- package/dist/foundation/foundation.js +69 -0
- package/dist/hotreload-config.d.ts +8 -0
- package/dist/hotreload-config.d.ts.map +1 -0
- package/dist/hotreload-config.js +73 -0
- package/dist/hotreload-config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/CommandDecorators.d.ts +72 -0
- package/dist/ipc/CommandDecorators.d.ts.map +1 -0
- package/dist/ipc/CommandDecorators.js +49 -0
- package/dist/ipc/CommandDecorators.js.map +1 -0
- package/dist/ipc/CommandRegistry.d.ts +77 -0
- package/dist/ipc/CommandRegistry.d.ts.map +1 -0
- package/dist/ipc/CommandRegistry.js +175 -0
- package/dist/ipc/CommandRegistry.js.map +1 -0
- package/dist/ipc/EdenEmitter.d.ts +54 -0
- package/dist/ipc/EdenEmitter.d.ts.map +1 -0
- package/dist/ipc/EdenEmitter.js +81 -0
- package/dist/ipc/EdenEmitter.js.map +1 -0
- package/dist/ipc/EventHandler.d.ts +21 -0
- package/dist/ipc/EventHandler.d.ts.map +1 -0
- package/dist/ipc/EventHandler.js +87 -0
- package/dist/ipc/EventHandler.js.map +1 -0
- package/dist/ipc/EventSubscriberManager.d.ts +67 -0
- package/dist/ipc/EventSubscriberManager.d.ts.map +1 -0
- package/dist/ipc/EventSubscriberManager.js +204 -0
- package/dist/ipc/EventSubscriberManager.js.map +1 -0
- package/dist/ipc/IPCBridge.d.ts +60 -0
- package/dist/ipc/IPCBridge.d.ts.map +1 -0
- package/dist/ipc/IPCBridge.js +186 -0
- package/dist/ipc/IPCBridge.js.map +1 -0
- package/dist/ipc/PermissionRegistry.d.ts +52 -0
- package/dist/ipc/PermissionRegistry.d.ts.map +1 -0
- package/dist/ipc/PermissionRegistry.js +120 -0
- package/dist/ipc/PermissionRegistry.js.map +1 -0
- package/dist/ipc/index.d.ts +7 -0
- package/dist/ipc/index.d.ts.map +1 -0
- package/dist/ipc/index.js +23 -0
- package/dist/ipc/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +15 -0
- package/dist/main.js.map +1 -0
- package/dist/notification/NotificationHandler.d.ts +16 -0
- package/dist/notification/NotificationHandler.d.ts.map +1 -0
- package/dist/notification/NotificationHandler.js +39 -0
- package/dist/notification/NotificationHandler.js.map +1 -0
- package/dist/notification/NotificationManager.d.ts +32 -0
- package/dist/notification/NotificationManager.d.ts.map +1 -0
- package/dist/notification/NotificationManager.js +66 -0
- package/dist/notification/NotificationManager.js.map +1 -0
- package/dist/notification/index.d.ts +3 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +19 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/package-manager/PackageHandler.d.ts +50 -0
- package/dist/package-manager/PackageHandler.d.ts.map +1 -0
- package/dist/package-manager/PackageHandler.js +107 -0
- package/dist/package-manager/PackageHandler.js.map +1 -0
- package/dist/package-manager/PackageManager.d.ts +73 -0
- package/dist/package-manager/PackageManager.d.ts.map +1 -0
- package/dist/package-manager/PackageManager.js +373 -0
- package/dist/package-manager/PackageManager.js.map +1 -0
- package/dist/package-manager/index.d.ts +3 -0
- package/dist/package-manager/index.d.ts.map +1 -0
- package/dist/package-manager/index.js +8 -0
- package/dist/package-manager/index.js.map +1 -0
- package/dist/process-manager/AutostartManager.d.ts +15 -0
- package/dist/process-manager/AutostartManager.d.ts.map +1 -0
- package/dist/process-manager/AutostartManager.js +56 -0
- package/dist/process-manager/AutostartManager.js.map +1 -0
- package/dist/process-manager/BackendManager.d.ts +63 -0
- package/dist/process-manager/BackendManager.d.ts.map +1 -0
- package/dist/process-manager/BackendManager.js +272 -0
- package/dist/process-manager/BackendManager.js.map +1 -0
- package/dist/process-manager/ProcessHandler.d.ts +29 -0
- package/dist/process-manager/ProcessHandler.d.ts.map +1 -0
- package/dist/process-manager/ProcessHandler.js +66 -0
- package/dist/process-manager/ProcessHandler.js.map +1 -0
- package/dist/process-manager/ProcessManager.d.ts +94 -0
- package/dist/process-manager/ProcessManager.d.ts.map +1 -0
- package/dist/process-manager/ProcessManager.js +286 -0
- package/dist/process-manager/ProcessManager.js.map +1 -0
- package/dist/process-manager/index.d.ts +5 -0
- package/dist/process-manager/index.d.ts.map +1 -0
- package/dist/process-manager/index.js +12 -0
- package/dist/process-manager/index.js.map +1 -0
- package/dist/settings/EdenSettings.d.ts +8 -0
- package/dist/settings/EdenSettings.d.ts.map +1 -0
- package/dist/settings/EdenSettings.js +148 -0
- package/dist/settings/EdenSettings.js.map +1 -0
- package/dist/settings/SettingsHandler.d.ts +117 -0
- package/dist/settings/SettingsHandler.d.ts.map +1 -0
- package/dist/settings/SettingsHandler.js +199 -0
- package/dist/settings/SettingsHandler.js.map +1 -0
- package/dist/settings/SettingsManager.d.ts +64 -0
- package/dist/settings/SettingsManager.d.ts.map +1 -0
- package/dist/settings/SettingsManager.js +221 -0
- package/dist/settings/SettingsManager.js.map +1 -0
- package/dist/settings/index.d.ts +4 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +11 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/utils/cachedFileReader.d.ts +46 -0
- package/dist/utils/cachedFileReader.d.ts.map +1 -0
- package/dist/utils/cachedFileReader.js +100 -0
- package/dist/utils/cachedFileReader.js.map +1 -0
- package/dist/view-manager/DevToolsManager.d.ts +29 -0
- package/dist/view-manager/DevToolsManager.d.ts.map +1 -0
- package/dist/view-manager/DevToolsManager.js +88 -0
- package/dist/view-manager/DevToolsManager.js.map +1 -0
- package/dist/view-manager/FloatingWindowController.d.ts +44 -0
- package/dist/view-manager/FloatingWindowController.d.ts.map +1 -0
- package/dist/view-manager/FloatingWindowController.js +124 -0
- package/dist/view-manager/FloatingWindowController.js.map +1 -0
- package/dist/view-manager/LayoutCalculator.d.ts +49 -0
- package/dist/view-manager/LayoutCalculator.d.ts.map +1 -0
- package/dist/view-manager/LayoutCalculator.js +94 -0
- package/dist/view-manager/LayoutCalculator.js.map +1 -0
- package/dist/view-manager/MouseTracker.d.ts +65 -0
- package/dist/view-manager/MouseTracker.d.ts.map +1 -0
- package/dist/view-manager/MouseTracker.js +114 -0
- package/dist/view-manager/MouseTracker.js.map +1 -0
- package/dist/view-manager/TilingManager.d.ts +61 -0
- package/dist/view-manager/TilingManager.d.ts.map +1 -0
- package/dist/view-manager/TilingManager.js +142 -0
- package/dist/view-manager/TilingManager.js.map +1 -0
- package/dist/view-manager/ViewCreator.d.ts +72 -0
- package/dist/view-manager/ViewCreator.d.ts.map +1 -0
- package/dist/view-manager/ViewCreator.js +277 -0
- package/dist/view-manager/ViewCreator.js.map +1 -0
- package/dist/view-manager/ViewHandler.d.ts +112 -0
- package/dist/view-manager/ViewHandler.d.ts.map +1 -0
- package/dist/view-manager/ViewHandler.js +307 -0
- package/dist/view-manager/ViewHandler.js.map +1 -0
- package/dist/view-manager/ViewLifecycle.d.ts +66 -0
- package/dist/view-manager/ViewLifecycle.d.ts.map +1 -0
- package/dist/view-manager/ViewLifecycle.js +142 -0
- package/dist/view-manager/ViewLifecycle.js.map +1 -0
- package/dist/view-manager/ViewManager.d.ts +112 -0
- package/dist/view-manager/ViewManager.d.ts.map +1 -0
- package/dist/view-manager/ViewManager.js +422 -0
- package/dist/view-manager/ViewManager.js.map +1 -0
- package/dist/view-manager/index.d.ts +11 -0
- package/dist/view-manager/index.d.ts.map +1 -0
- package/dist/view-manager/index.js +23 -0
- package/dist/view-manager/index.js.map +1 -0
- package/dist/view-manager/types.d.ts +24 -0
- package/dist/view-manager/types.d.ts.map +1 -0
- package/dist/view-manager/types.js +11 -0
- package/dist/view-manager/types.js.map +1 -0
- package/edencss/README.md +214 -0
- package/edencss/components/badges.css +180 -0
- package/edencss/components/buttons.css +221 -0
- package/edencss/components/cards.css +201 -0
- package/edencss/components/inputs.css +424 -0
- package/edencss/components/lists.css +242 -0
- package/edencss/components/modals.css +207 -0
- package/edencss/components/progress.css +186 -0
- package/edencss/components/sidebar.css +232 -0
- package/edencss/components/tabs.css +189 -0
- package/edencss/eden.css +16 -0
- package/edencss/index.ts +11 -0
- package/edencss/style-dictionary.config.mjs +75 -0
- package/edencss/tokens-pink.json +163 -0
- package/edencss/tokens.css +121 -0
- package/edencss/tokens.d.ts +111 -0
- package/edencss/tokens.json +369 -0
- package/edencss/tokens.ts +125 -0
- package/edencss/utilities.css +423 -0
- package/foundation/foundation-preload.js +15 -0
- package/foundation/foundation.css +40 -0
- package/foundation/foundation.html +22 -0
- package/foundation/foundation.js +69 -0
- 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"}
|