@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,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "com.eden.example.appbus.isolated",
|
|
3
|
+
"name": "AppBus Isolated",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Frontend app that only talks directly to Client A (not through Hub)",
|
|
6
|
+
"author": "Dariusz Majnert",
|
|
7
|
+
"frontend": {
|
|
8
|
+
"entry": "index.html"
|
|
9
|
+
},
|
|
10
|
+
"window": {
|
|
11
|
+
"mode": "floating",
|
|
12
|
+
"defaultSize": {
|
|
13
|
+
"width": 380,
|
|
14
|
+
"height": 450
|
|
15
|
+
},
|
|
16
|
+
"minSize": {
|
|
17
|
+
"width": 280,
|
|
18
|
+
"height": 320
|
|
19
|
+
},
|
|
20
|
+
"resizable": true,
|
|
21
|
+
"movable": true
|
|
22
|
+
},
|
|
23
|
+
"permissions": [
|
|
24
|
+
"appbus/connect",
|
|
25
|
+
"appbus/expose"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* Isolated - Minimal custom styles (edencss provides the rest) */
|
|
2
|
+
|
|
3
|
+
.app-container {
|
|
4
|
+
height: 100vh;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
font-family: var(--eden-font-family-base);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.chat-section {
|
|
11
|
+
flex: 1;
|
|
12
|
+
min-height: 0;
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.chat-messages {
|
|
18
|
+
flex: 1;
|
|
19
|
+
overflow-y: auto;
|
|
20
|
+
min-height: 100px;
|
|
21
|
+
border-radius: var(--eden-radius-md);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.chat-message {
|
|
25
|
+
margin-bottom: var(--eden-space-sm);
|
|
26
|
+
padding: var(--eden-space-xs) var(--eden-space-sm);
|
|
27
|
+
border-radius: var(--eden-radius-sm);
|
|
28
|
+
background: var(--eden-color-bg-surface);
|
|
29
|
+
font-size: var(--eden-font-size-sm);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.chat-message.own {
|
|
33
|
+
background: var(--eden-color-accent-warning-muted);
|
|
34
|
+
margin-left: 20%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.chat-message.system {
|
|
38
|
+
background: var(--eden-color-bg-glass-light);
|
|
39
|
+
color: var(--eden-color-text-secondary);
|
|
40
|
+
font-style: italic;
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.chat-message .time {
|
|
45
|
+
font-size: var(--eden-font-size-xs);
|
|
46
|
+
color: var(--eden-color-text-tertiary);
|
|
47
|
+
float: right;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.direct-chat {
|
|
51
|
+
border: 1px solid var(--eden-color-accent-warning-muted);
|
|
52
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
let currentInput = '0';
|
|
2
|
+
let operator = null;
|
|
3
|
+
let previousInput = null;
|
|
4
|
+
let shouldResetDisplay = false;
|
|
5
|
+
|
|
6
|
+
const display = document.getElementById('display');
|
|
7
|
+
|
|
8
|
+
function updateDisplay() {
|
|
9
|
+
display.textContent = currentInput;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function appendNumber(number) {
|
|
13
|
+
if (shouldResetDisplay) {
|
|
14
|
+
currentInput = number;
|
|
15
|
+
shouldResetDisplay = false;
|
|
16
|
+
} else {
|
|
17
|
+
if (currentInput === '0' && number !== '.') {
|
|
18
|
+
currentInput = number;
|
|
19
|
+
} else if (number === '.' && currentInput.includes('.')) {
|
|
20
|
+
return;
|
|
21
|
+
} else {
|
|
22
|
+
currentInput += number;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
updateDisplay();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function appendOperator(op) {
|
|
29
|
+
if (operator !== null && !shouldResetDisplay) {
|
|
30
|
+
calculate();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
previousInput = currentInput;
|
|
34
|
+
operator = op;
|
|
35
|
+
shouldResetDisplay = true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function calculate() {
|
|
39
|
+
if (operator === null || previousInput === null) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const prev = parseFloat(previousInput);
|
|
44
|
+
const current = parseFloat(currentInput);
|
|
45
|
+
let result;
|
|
46
|
+
|
|
47
|
+
switch (operator) {
|
|
48
|
+
case '+':
|
|
49
|
+
result = prev + current;
|
|
50
|
+
break;
|
|
51
|
+
case '-':
|
|
52
|
+
result = prev - current;
|
|
53
|
+
break;
|
|
54
|
+
case '*':
|
|
55
|
+
result = prev * current;
|
|
56
|
+
break;
|
|
57
|
+
case '/':
|
|
58
|
+
if (current === 0) {
|
|
59
|
+
alert('Cannot divide by zero!');
|
|
60
|
+
clearDisplay();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
result = prev / current;
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Round to avoid floating point errors
|
|
70
|
+
currentInput = Math.round(result * 100000000) / 100000000 + '';
|
|
71
|
+
operator = null;
|
|
72
|
+
previousInput = null;
|
|
73
|
+
shouldResetDisplay = true;
|
|
74
|
+
updateDisplay();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function clearDisplay() {
|
|
78
|
+
currentInput = '0';
|
|
79
|
+
operator = null;
|
|
80
|
+
previousInput = null;
|
|
81
|
+
shouldResetDisplay = false;
|
|
82
|
+
updateDisplay();
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function deleteLast() {
|
|
86
|
+
if (currentInput.length > 1) {
|
|
87
|
+
currentInput = currentInput.slice(0, -1);
|
|
88
|
+
} else {
|
|
89
|
+
currentInput = '0';
|
|
90
|
+
}
|
|
91
|
+
updateDisplay();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Initialize
|
|
95
|
+
updateDisplay();
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="32" y1="4" x2="32" y2="60" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop stop-color="#404040"/>
|
|
5
|
+
<stop offset="1" stop-color="#202020"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect x="4" y="4" width="56" height="56" rx="14" fill="url(#bg)"/>
|
|
9
|
+
<g stroke-width="3" stroke-linecap="round">
|
|
10
|
+
<!-- Plus -->
|
|
11
|
+
<path d="M22 17V27M17 22H27" stroke="#E0E0E0"/>
|
|
12
|
+
<!-- Minus -->
|
|
13
|
+
<path d="M37 22H47" stroke="#E0E0E0"/>
|
|
14
|
+
<!-- Multiply -->
|
|
15
|
+
<path d="M18.5 38.5L25.5 45.5M25.5 38.5L18.5 45.5" stroke="#E0E0E0"/>
|
|
16
|
+
<!-- Equals -->
|
|
17
|
+
<path d="M37 40H47M37 44H47" stroke="#FF9F0A"/>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Calculator</title>
|
|
7
|
+
<link rel="stylesheet" href="styles.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div class="calculator">
|
|
11
|
+
<div class="display" id="display">0</div>
|
|
12
|
+
<div class="buttons">
|
|
13
|
+
<button class="eden-btn eden-btn-danger" onclick="clearDisplay()">C</button>
|
|
14
|
+
<button class="eden-btn eden-btn-secondary" onclick="deleteLast()">←</button>
|
|
15
|
+
<button class="eden-btn eden-btn-secondary" onclick="appendOperator('/')">/</button>
|
|
16
|
+
<button class="eden-btn eden-btn-primary" onclick="appendOperator('*')">×</button>
|
|
17
|
+
|
|
18
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('7')">7</button>
|
|
19
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('8')">8</button>
|
|
20
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('9')">9</button>
|
|
21
|
+
<button class="eden-btn eden-btn-primary" onclick="appendOperator('-')">-</button>
|
|
22
|
+
|
|
23
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('4')">4</button>
|
|
24
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('5')">5</button>
|
|
25
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('6')">6</button>
|
|
26
|
+
<button class="eden-btn eden-btn-primary" onclick="appendOperator('+')">+</button>
|
|
27
|
+
|
|
28
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('1')">1</button>
|
|
29
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('2')">2</button>
|
|
30
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('3')">3</button>
|
|
31
|
+
<button class="eden-btn eden-btn-success" onclick="calculate()" style="grid-row: span 2">=</button>
|
|
32
|
+
|
|
33
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('0')" style="grid-column: span 2">0</button>
|
|
34
|
+
<button class="eden-btn eden-btn-ghost" onclick="appendNumber('.')">.</button>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<script src="app.js"></script>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "com.eden.example.calculator",
|
|
3
|
+
"name": "Calculator",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "A simple calculator app",
|
|
6
|
+
"author": "Dariusz Majnert",
|
|
7
|
+
"frontend": {
|
|
8
|
+
"entry": "index.html"
|
|
9
|
+
},
|
|
10
|
+
"window": {
|
|
11
|
+
"mode": "floating",
|
|
12
|
+
"defaultSize": {
|
|
13
|
+
"width": 400,
|
|
14
|
+
"height": 600
|
|
15
|
+
},
|
|
16
|
+
"minSize": {
|
|
17
|
+
"width": 300,
|
|
18
|
+
"height": 400
|
|
19
|
+
},
|
|
20
|
+
"maxSize": {
|
|
21
|
+
"width": 600,
|
|
22
|
+
"height": 800
|
|
23
|
+
},
|
|
24
|
+
"resizable": true,
|
|
25
|
+
"movable": true,
|
|
26
|
+
"showTitle": false
|
|
27
|
+
},
|
|
28
|
+
"permissions": {},
|
|
29
|
+
"icon": "icon.svg"
|
|
30
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculator App - Using Eden CSS
|
|
3
|
+
*
|
|
4
|
+
* This app uses the auto-injected CSS
|
|
5
|
+
* All design tokens and component classes are available
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: var(--eden-font-family-base);
|
|
16
|
+
display: flex;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
align-items: center;
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
padding: var(--eden-space-md);
|
|
21
|
+
background: var(--eden-color-bg-primary);
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.calculator {
|
|
26
|
+
background: var(--eden-color-surface-elevated);
|
|
27
|
+
backdrop-filter: var(--eden-glass-medium);
|
|
28
|
+
-webkit-backdrop-filter: var(--eden-glass-medium);
|
|
29
|
+
border-radius: var(--eden-radius-xl);
|
|
30
|
+
padding: var(--eden-space-lg);
|
|
31
|
+
box-shadow: var(--eden-shadow-xl);
|
|
32
|
+
width: 320px;
|
|
33
|
+
border: 1px solid var(--eden-color-border-light);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.display {
|
|
37
|
+
background: var(--eden-color-surface-secondary);
|
|
38
|
+
color: var(--eden-color-text-primary);
|
|
39
|
+
font-size: 2.5rem;
|
|
40
|
+
font-weight: var(--eden-font-weight-semibold);
|
|
41
|
+
padding: var(--eden-space-lg);
|
|
42
|
+
border-radius: var(--eden-radius-md);
|
|
43
|
+
text-align: right;
|
|
44
|
+
margin-bottom: var(--eden-space-md);
|
|
45
|
+
min-height: 80px;
|
|
46
|
+
max-height: 80px;
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: flex-end;
|
|
50
|
+
word-wrap: break-word;
|
|
51
|
+
word-break: break-all;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
border: 1px solid var(--eden-color-border-light);
|
|
54
|
+
font-family: var(--eden-font-family-mono);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.buttons {
|
|
58
|
+
display: grid;
|
|
59
|
+
grid-template-columns: repeat(4, 1fr);
|
|
60
|
+
gap: var(--eden-space-sm);
|
|
61
|
+
width: 100%;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Override button styles for calculator-specific sizing */
|
|
65
|
+
.buttons .eden-btn {
|
|
66
|
+
font-size: 1.25rem;
|
|
67
|
+
font-weight: var(--eden-font-weight-semibold);
|
|
68
|
+
height: 60px;
|
|
69
|
+
width: 100%;
|
|
70
|
+
padding: 0;
|
|
71
|
+
margin: 0;
|
|
72
|
+
border-radius: var(--eden-radius-md);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.buttons .eden-btn[style*="grid-column: span 2"] {
|
|
76
|
+
grid-column: span 2;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.buttons .eden-btn[style*="grid-row: span 2"] {
|
|
80
|
+
grid-row: span 2;
|
|
81
|
+
height: auto;
|
|
82
|
+
min-height: calc(60px * 2 + var(--eden-space-sm));
|
|
83
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hello World Backend
|
|
3
|
+
*
|
|
4
|
+
* This runs in a utility process and uses the global worker API.
|
|
5
|
+
* worker.getAppAPI() returns the connection immediately (ready by the time this runs).
|
|
6
|
+
*/
|
|
7
|
+
const appId = process.env.EDEN_APP_ID;
|
|
8
|
+
console.log(`Hello World backend starting for ${appId}`);
|
|
9
|
+
console.log("Install path:", process.env.EDEN_INSTALL_PATH);
|
|
10
|
+
// State
|
|
11
|
+
let messageCount = 0;
|
|
12
|
+
// Get the typed appAPI connection (Backend = Host)
|
|
13
|
+
const appAPI = worker.getAppAPI();
|
|
14
|
+
// Register request handlers - fully typed!
|
|
15
|
+
appAPI.handle("ping", (_payload) => {
|
|
16
|
+
messageCount++;
|
|
17
|
+
return {
|
|
18
|
+
timestamp: Date.now(),
|
|
19
|
+
messageCount,
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
appAPI.handle("get-status", (_payload) => {
|
|
23
|
+
return {
|
|
24
|
+
status: "running",
|
|
25
|
+
uptime: process.uptime(),
|
|
26
|
+
messageCount,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
appAPI.handle("hello", (payload) => {
|
|
30
|
+
// payload.message is typed as string
|
|
31
|
+
return {
|
|
32
|
+
message: `Hello from backend! You said: ${payload.message}`,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
// Send a startup message - typed!
|
|
36
|
+
appAPI.send("backend-ready", {
|
|
37
|
+
message: "Hello World backend is ready!",
|
|
38
|
+
});
|
|
39
|
+
// Periodic heartbeat
|
|
40
|
+
setInterval(() => {
|
|
41
|
+
appAPI.send("heartbeat", {
|
|
42
|
+
timestamp: Date.now(),
|
|
43
|
+
messageCount,
|
|
44
|
+
});
|
|
45
|
+
}, 10000);
|
|
46
|
+
console.log("Hello World backend initialized");
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hello World Backend
|
|
3
|
+
*
|
|
4
|
+
* This runs in a utility process and uses the global worker API.
|
|
5
|
+
* worker.getAppAPI() returns the connection immediately (ready by the time this runs).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { HostConnection } from "@edenapp/types/ipc";
|
|
9
|
+
import type { HelloProtocol } from "../../shared/protocol";
|
|
10
|
+
|
|
11
|
+
const appId = process.env.EDEN_APP_ID;
|
|
12
|
+
console.log(`Hello World backend starting for ${appId}`);
|
|
13
|
+
console.log("Install path:", process.env.EDEN_INSTALL_PATH);
|
|
14
|
+
|
|
15
|
+
// State
|
|
16
|
+
let messageCount = 0;
|
|
17
|
+
|
|
18
|
+
// Get the typed appAPI connection (Backend = Host)
|
|
19
|
+
const appAPI = worker!.getAppAPI() as HostConnection<HelloProtocol>;
|
|
20
|
+
|
|
21
|
+
// Register request handlers - fully typed!
|
|
22
|
+
appAPI.handle("ping", (_payload) => {
|
|
23
|
+
messageCount++;
|
|
24
|
+
return {
|
|
25
|
+
timestamp: Date.now(),
|
|
26
|
+
messageCount,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
appAPI.handle("get-status", (_payload) => {
|
|
31
|
+
return {
|
|
32
|
+
status: "running",
|
|
33
|
+
uptime: process.uptime(),
|
|
34
|
+
messageCount,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
appAPI.handle("hello", (payload) => {
|
|
39
|
+
// payload.message is typed as string
|
|
40
|
+
return {
|
|
41
|
+
message: `Hello from backend! You said: ${payload.message}`,
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Send a startup message - typed!
|
|
46
|
+
appAPI.send("backend-ready", {
|
|
47
|
+
message: "Hello World backend is ready!",
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// Periodic heartbeat
|
|
51
|
+
setInterval(() => {
|
|
52
|
+
appAPI.send("heartbeat", {
|
|
53
|
+
timestamp: Date.now(),
|
|
54
|
+
messageCount,
|
|
55
|
+
});
|
|
56
|
+
}, 10000);
|
|
57
|
+
|
|
58
|
+
console.log("Hello World backend initialized");
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"lib": ["ES2020"],
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"resolveJsonModule": true,
|
|
8
|
+
"allowSyntheticDefaultImports": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"outDir": "./dist",
|
|
14
|
+
"rootDir": "src",
|
|
15
|
+
"types": ["node", "@edenapp/types/worker"]
|
|
16
|
+
},
|
|
17
|
+
"include": ["src/**/*"],
|
|
18
|
+
"exclude": ["node_modules", "dist"]
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--eden-font-family-base);background:var(--eden-color-bg-secondary);color:var(--eden-color-text-on-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--eden-space-lg)}.container{max-width:600px;text-align:center}h1{font-size:var(--eden-font-size-4xl);margin-bottom:var(--eden-space-md);animation:fadeInDown .6s ease-out;font-weight:var(--eden-font-weight-bold)}p{font-size:var(--eden-font-size-xl);margin-bottom:var(--eden-space-2xl);opacity:.9;animation:fadeInUp .6s ease-out .2s both;line-height:var(--eden-font-line-height-relaxed)}.controls{display:flex;flex-direction:column;gap:var(--eden-space-md);margin-top:var(--eden-space-2xl);animation:fadeInUp .6s ease-out .4s both}#status{margin-top:var(--eden-space-lg);padding:var(--eden-space-md);background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-md);font-size:var(--eden-font-size-md);font-family:var(--eden-font-mono);text-align:left;max-height:200px;overflow-y:auto;animation:fadeInUp .6s ease-out .6s both;-webkit-backdrop-filter:var(--eden-glass-light);backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light)}#status p{margin:var(--eden-space-xs) 0;font-size:var(--eden-font-size-md);animation:none}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))l(t);new MutationObserver(t=>{for(const s of t)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(t){const s={};return t.integrity&&(s.integrity=t.integrity),t.referrerPolicy&&(s.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?s.credentials="include":t.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(t){if(t.ep)return;t.ep=!0;const s=n(t);fetch(t.href,s)}})();class m{constructor(){this.statusDiv=document.getElementById("status"),this.setupEventListeners(),this.setupMessageListeners(),this.log("App initialized")}getAppAPI(){return window.getAppAPI()}setupEventListeners(){document.getElementById("ping-btn")?.addEventListener("click",()=>{this.pingBackend()}),document.getElementById("status-btn")?.addEventListener("click",()=>{this.getBackendStatus()}),document.getElementById("hello-btn")?.addEventListener("click",()=>{this.sayHello()})}setupMessageListeners(){const e=this.getAppAPI();e.on("backend-ready",n=>{this.log(`✓ ${n.message}`)}),e.on("heartbeat",n=>{console.log("Heartbeat from backend:",n)})}async pingBackend(){this.log("Sending ping to backend...");try{const e=await this.getAppAPI().request("ping",{});this.log(`Pong received! Message count: ${e.messageCount}`)}catch(e){this.log(`Error: ${e.message}`)}}async getBackendStatus(){this.log("Requesting backend status...");try{const e=await this.getAppAPI().request("get-status",{});this.log(`Status: ${e.status}`),this.log(`Uptime: ${e.uptime.toFixed(2)}s`),this.log(`Messages: ${e.messageCount}`)}catch(e){this.log(`Error: ${e.message}`)}}async sayHello(){const e=await this.showInputDialog("Say Hello","What would you like to say?","Hello from frontend!");if(e){this.log(`Sending: "${e}"`);try{const n=await this.getAppAPI().request("hello",{message:e});this.log(`Backend says: ${n.message}`)}catch(n){this.log(`Error: ${n.message}`)}}}showInputDialog(e,n="Enter value...",l=""){return new Promise(t=>{const s=document.getElementById("input-dialog"),r=document.getElementById("input-dialog-title"),o=document.getElementById("input-dialog-input"),d=document.getElementById("input-dialog-close"),u=document.getElementById("input-dialog-cancel"),g=document.getElementById("input-dialog-confirm");if(!s||!r||!o||!d||!u||!g){t(null);return}r.textContent=e,o.placeholder=n,o.value=l,s.style.display="flex",setTimeout(()=>o.focus(),100);const p=i=>{s.style.display="none",o.value="",t(i)},h=()=>{const i=o.value.trim();p(i||null)},a=()=>{p(null)};g.onclick=h,u.onclick=a,d.onclick=a;const c=i=>{i.key==="Enter"?(h(),o.removeEventListener("keydown",c)):i.key==="Escape"&&(a(),o.removeEventListener("keydown",c))};o.addEventListener("keydown",c),s.onclick=i=>{i.target===s&&a()}})}log(e){const n=document.createElement("p");if(n.textContent=`[${new Date().toLocaleTimeString()}] ${e}`,this.statusDiv)for(this.statusDiv.appendChild(n),this.statusDiv.scrollTop=this.statusDiv.scrollHeight;this.statusDiv.children.length>20;)this.statusDiv.removeChild(this.statusDiv.firstChild)}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>new m):new m;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Hello World - Eden App</title>
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-D4bTq3-Q.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index-D2WAwW3g.css">
|
|
10
|
+
</head>
|
|
11
|
+
|
|
12
|
+
<body>
|
|
13
|
+
<div class="container">
|
|
14
|
+
<h1>👋 Hello Eden!</h1>
|
|
15
|
+
<p>
|
|
16
|
+
This is an example Eden app demonstrating the modular architecture.
|
|
17
|
+
The frontend (this page) and backend (worker thread) communicate seamlessly.
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<div class="controls">
|
|
21
|
+
<button id="ping-btn" class="eden-btn">Ping Backend</button>
|
|
22
|
+
<button id="status-btn" class="eden-btn">Get Backend Status</button>
|
|
23
|
+
<button id="hello-btn" class="eden-btn eden-btn-primary">Say Hello to Backend</button>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<div id="status">
|
|
27
|
+
<p>Ready. Click a button to interact with the backend.</p>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- Input Dialog Modal -->
|
|
32
|
+
<div id="input-dialog" class="eden-modal-overlay" style="display: none;">
|
|
33
|
+
<div class="eden-modal eden-modal-sm">
|
|
34
|
+
<div class="eden-modal-header">
|
|
35
|
+
<h3 class="eden-modal-title" id="input-dialog-title">Input</h3>
|
|
36
|
+
<button class="eden-modal-close" id="input-dialog-close" aria-label="Close">
|
|
37
|
+
✕
|
|
38
|
+
</button>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="eden-modal-body">
|
|
41
|
+
<div class="eden-form-group">
|
|
42
|
+
<input
|
|
43
|
+
type="text"
|
|
44
|
+
id="input-dialog-input"
|
|
45
|
+
class="eden-input"
|
|
46
|
+
placeholder="Enter value..."
|
|
47
|
+
/>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="eden-modal-footer">
|
|
51
|
+
<button class="eden-btn" id="input-dialog-cancel">Cancel</button>
|
|
52
|
+
<button class="eden-btn eden-btn-primary" id="input-dialog-confirm">OK</button>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
</body>
|
|
58
|
+
|
|
59
|
+
</html>
|