@bytespell/shella 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/bundled-plugins/agent/README.md +3 -0
  2. package/bundled-plugins/agent/components.json +24 -0
  3. package/bundled-plugins/agent/dist/assets/index-BGeDYr6P.css +1 -0
  4. package/bundled-plugins/agent/dist/assets/index-J14lI3Er.js +49 -0
  5. package/bundled-plugins/agent/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  6. package/bundled-plugins/agent/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  7. package/bundled-plugins/agent/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  8. package/bundled-plugins/agent/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  9. package/bundled-plugins/agent/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  10. package/bundled-plugins/agent/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  11. package/bundled-plugins/agent/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  12. package/bundled-plugins/agent/dist/index.html +14 -0
  13. package/bundled-plugins/agent/dist/vite.svg +1 -0
  14. package/bundled-plugins/agent/eslint.config.js +23 -0
  15. package/bundled-plugins/agent/index.html +13 -0
  16. package/bundled-plugins/agent/package-lock.json +11034 -0
  17. package/bundled-plugins/agent/package.json +52 -0
  18. package/bundled-plugins/agent/public/vite.svg +1 -0
  19. package/bundled-plugins/agent/server.js +240 -0
  20. package/bundled-plugins/agent/src/App.tsx +586 -0
  21. package/bundled-plugins/agent/src/assets/react.svg +1 -0
  22. package/bundled-plugins/agent/src/components/ui/alert-dialog.tsx +182 -0
  23. package/bundled-plugins/agent/src/components/ui/badge.tsx +45 -0
  24. package/bundled-plugins/agent/src/components/ui/button.tsx +60 -0
  25. package/bundled-plugins/agent/src/components/ui/card.tsx +94 -0
  26. package/bundled-plugins/agent/src/components/ui/combobox.tsx +294 -0
  27. package/bundled-plugins/agent/src/components/ui/dropdown-menu.tsx +253 -0
  28. package/bundled-plugins/agent/src/components/ui/field.tsx +225 -0
  29. package/bundled-plugins/agent/src/components/ui/input-group.tsx +147 -0
  30. package/bundled-plugins/agent/src/components/ui/input.tsx +19 -0
  31. package/bundled-plugins/agent/src/components/ui/label.tsx +24 -0
  32. package/bundled-plugins/agent/src/components/ui/select.tsx +185 -0
  33. package/bundled-plugins/agent/src/components/ui/separator.tsx +26 -0
  34. package/bundled-plugins/agent/src/components/ui/switch.tsx +31 -0
  35. package/bundled-plugins/agent/src/components/ui/textarea.tsx +18 -0
  36. package/bundled-plugins/agent/src/index.css +131 -0
  37. package/bundled-plugins/agent/src/lib/utils.ts +6 -0
  38. package/bundled-plugins/agent/src/main.tsx +11 -0
  39. package/bundled-plugins/agent/tsconfig.app.json +32 -0
  40. package/bundled-plugins/agent/tsconfig.json +13 -0
  41. package/bundled-plugins/agent/tsconfig.node.json +26 -0
  42. package/bundled-plugins/agent/vite.config.ts +14 -0
  43. package/bundled-plugins/terminal/index.html +24 -0
  44. package/bundled-plugins/terminal/package-lock.json +3316 -0
  45. package/bundled-plugins/terminal/package.json +37 -0
  46. package/bundled-plugins/terminal/server.ts +169 -0
  47. package/bundled-plugins/terminal/src/App.tsx +168 -0
  48. package/bundled-plugins/terminal/src/main.tsx +9 -0
  49. package/bundled-plugins/terminal/tsconfig.json +22 -0
  50. package/bundled-plugins/terminal/vite.config.ts +10 -0
  51. package/dist/bin/shella-init.js +2 -2
  52. package/dist/bin/shella-init.js.map +1 -1
  53. package/dist/src/api.d.ts.map +1 -1
  54. package/dist/src/api.js +51 -10
  55. package/dist/src/api.js.map +1 -1
  56. package/dist/src/bonjour.d.ts +3 -0
  57. package/dist/src/bonjour.d.ts.map +1 -0
  58. package/dist/src/bonjour.js +42 -0
  59. package/dist/src/bonjour.js.map +1 -0
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +7 -0
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/logger.d.ts +19 -2
  64. package/dist/src/logger.d.ts.map +1 -1
  65. package/dist/src/logger.js +96 -16
  66. package/dist/src/logger.js.map +1 -1
  67. package/dist/src/paths.d.ts +1 -0
  68. package/dist/src/paths.d.ts.map +1 -1
  69. package/dist/src/paths.js +24 -0
  70. package/dist/src/paths.js.map +1 -1
  71. package/dist/src/plugin-manager.d.ts +14 -0
  72. package/dist/src/plugin-manager.d.ts.map +1 -1
  73. package/dist/src/plugin-manager.js +115 -7
  74. package/dist/src/plugin-manager.js.map +1 -1
  75. package/dist/src/sse.d.ts +45 -0
  76. package/dist/src/sse.d.ts.map +1 -0
  77. package/dist/src/sse.js +108 -0
  78. package/dist/src/sse.js.map +1 -0
  79. package/dist/src/types.d.ts +1 -0
  80. package/dist/src/types.d.ts.map +1 -1
  81. package/dist/src/types.js.map +1 -1
  82. package/package.json +4 -2
@@ -0,0 +1,45 @@
1
+ import type { Response } from 'express';
2
+ import type { LayoutState, PluginInfo } from './types.js';
3
+ declare class SSEManager {
4
+ private clients;
5
+ private clientIdCounter;
6
+ /**
7
+ * Add a new SSE client connection
8
+ */
9
+ addClient(res: Response): string;
10
+ /**
11
+ * Remove a client connection
12
+ */
13
+ removeClient(clientId: string): void;
14
+ /**
15
+ * Send an event to a specific client
16
+ */
17
+ private sendToClient;
18
+ /**
19
+ * Broadcast an event to all connected clients
20
+ */
21
+ broadcast(event: string, data: unknown): void;
22
+ /**
23
+ * Broadcast layout update to all clients
24
+ */
25
+ broadcastLayout(layout: LayoutState): void;
26
+ /**
27
+ * Broadcast plugins update to all clients
28
+ */
29
+ broadcastPlugins(plugins: PluginInfo[], requestHost?: string): void;
30
+ /**
31
+ * Send initial state to a newly connected client
32
+ */
33
+ sendInitialState(clientId: string, layout: LayoutState, plugins: PluginInfo[], requestHost?: string): void;
34
+ /**
35
+ * Rewrite plugin URLs for remote clients
36
+ */
37
+ private rewritePluginUrls;
38
+ /**
39
+ * Get number of connected clients
40
+ */
41
+ getClientCount(): number;
42
+ }
43
+ export declare const sseManager: SSEManager;
44
+ export {};
45
+ //# sourceMappingURL=sse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO1D,cAAM,UAAU;IACd,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,eAAe,CAAK;IAE5B;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM;IAmBhC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAa7C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI1C;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAQnE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ1G;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { logger } from './logger.js';
2
+ class SSEManager {
3
+ clients = new Map();
4
+ clientIdCounter = 0;
5
+ /**
6
+ * Add a new SSE client connection
7
+ */
8
+ addClient(res) {
9
+ const clientId = `client-${++this.clientIdCounter}`;
10
+ // Set SSE headers
11
+ res.setHeader('Content-Type', 'text/event-stream');
12
+ res.setHeader('Cache-Control', 'no-cache');
13
+ res.setHeader('Connection', 'keep-alive');
14
+ res.setHeader('Access-Control-Allow-Origin', '*');
15
+ res.flushHeaders();
16
+ this.clients.set(clientId, { id: clientId, res });
17
+ logger.info({ clientId, totalClients: this.clients.size }, 'SSE client connected');
18
+ // Send connected event
19
+ this.sendToClient(clientId, 'connected', { clientId });
20
+ return clientId;
21
+ }
22
+ /**
23
+ * Remove a client connection
24
+ */
25
+ removeClient(clientId) {
26
+ this.clients.delete(clientId);
27
+ logger.info({ clientId, totalClients: this.clients.size }, 'SSE client disconnected');
28
+ }
29
+ /**
30
+ * Send an event to a specific client
31
+ */
32
+ sendToClient(clientId, event, data) {
33
+ const client = this.clients.get(clientId);
34
+ if (client) {
35
+ try {
36
+ client.res.write(`event: ${event}\n`);
37
+ client.res.write(`data: ${JSON.stringify(data)}\n\n`);
38
+ }
39
+ catch (err) {
40
+ logger.error({ err, clientId }, 'Failed to send SSE event');
41
+ this.removeClient(clientId);
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * Broadcast an event to all connected clients
47
+ */
48
+ broadcast(event, data) {
49
+ logger.debug({ event, totalClients: this.clients.size }, 'Broadcasting SSE event');
50
+ for (const [clientId, client] of this.clients) {
51
+ try {
52
+ client.res.write(`event: ${event}\n`);
53
+ client.res.write(`data: ${JSON.stringify(data)}\n\n`);
54
+ }
55
+ catch (err) {
56
+ logger.error({ err, clientId }, 'Failed to broadcast SSE event');
57
+ this.removeClient(clientId);
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Broadcast layout update to all clients
63
+ */
64
+ broadcastLayout(layout) {
65
+ this.broadcast('layout', layout);
66
+ }
67
+ /**
68
+ * Broadcast plugins update to all clients
69
+ */
70
+ broadcastPlugins(plugins, requestHost) {
71
+ // Rewrite URLs if host provided
72
+ const rewrittenPlugins = requestHost
73
+ ? plugins.map((p) => this.rewritePluginUrls(p, requestHost))
74
+ : plugins;
75
+ this.broadcast('plugins', { plugins: rewrittenPlugins });
76
+ }
77
+ /**
78
+ * Send initial state to a newly connected client
79
+ */
80
+ sendInitialState(clientId, layout, plugins, requestHost) {
81
+ this.sendToClient(clientId, 'layout', layout);
82
+ const rewrittenPlugins = requestHost
83
+ ? plugins.map((p) => this.rewritePluginUrls(p, requestHost))
84
+ : plugins;
85
+ this.sendToClient(clientId, 'plugins', { plugins: rewrittenPlugins });
86
+ }
87
+ /**
88
+ * Rewrite plugin URLs for remote clients
89
+ */
90
+ rewritePluginUrls(plugin, requestHost) {
91
+ const hostname = requestHost.split(':')[0] ?? 'localhost';
92
+ return {
93
+ ...plugin,
94
+ instances: plugin.instances.map((instance) => ({
95
+ ...instance,
96
+ url: instance.url?.replace('localhost', hostname) ?? null,
97
+ })),
98
+ };
99
+ }
100
+ /**
101
+ * Get number of connected clients
102
+ */
103
+ getClientCount() {
104
+ return this.clients.size;
105
+ }
106
+ }
107
+ export const sseManager = new SSEManager();
108
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export interface RegistryData {
34
34
  }
35
35
  export interface PackageJson {
36
36
  name?: string;
37
+ version?: string;
37
38
  main?: string;
38
39
  shella?: PluginMetadata;
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAGrC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAGrC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytespell/shella",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "description": "Hot-reloadable plugin-based UI platform",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,8 @@
10
10
  },
11
11
  "files": [
12
12
  "dist",
13
- "templates"
13
+ "templates",
14
+ "bundled-plugins"
14
15
  ],
15
16
  "publishConfig": {
16
17
  "access": "public"
@@ -38,6 +39,7 @@
38
39
  "license": "MIT",
39
40
  "dependencies": {
40
41
  "@clack/prompts": "^0.11.0",
42
+ "bonjour-service": "^1.3.0",
41
43
  "express": "^4.21.0",
42
44
  "pino": "^9.4.0",
43
45
  "pino-pretty": "^11.2.0",