@nimbalyst/extension-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +151 -0
  3. package/dist/MaterialSymbol.d.ts +2 -0
  4. package/dist/MaterialSymbol.d.ts.map +1 -0
  5. package/dist/MaterialSymbol.js +1 -0
  6. package/dist/clipboard.d.ts +14 -0
  7. package/dist/clipboard.d.ts.map +1 -0
  8. package/dist/clipboard.js +27 -0
  9. package/dist/createReadOnlyHost.d.ts +45 -0
  10. package/dist/createReadOnlyHost.d.ts.map +1 -0
  11. package/dist/createReadOnlyHost.js +81 -0
  12. package/dist/documentPath.d.ts +6 -0
  13. package/dist/documentPath.d.ts.map +1 -0
  14. package/dist/documentPath.js +4 -0
  15. package/dist/externals.d.ts +23 -0
  16. package/dist/externals.d.ts.map +1 -0
  17. package/dist/externals.js +42 -0
  18. package/dist/externalsPlugin.d.ts +39 -0
  19. package/dist/externalsPlugin.d.ts.map +1 -0
  20. package/dist/externalsPlugin.js +251 -0
  21. package/dist/index.d.ts +33 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +39 -0
  24. package/dist/tailwind.d.ts +112 -0
  25. package/dist/tailwind.d.ts.map +1 -0
  26. package/dist/tailwind.js +129 -0
  27. package/dist/testing.d.ts +122 -0
  28. package/dist/testing.d.ts.map +1 -0
  29. package/dist/testing.js +199 -0
  30. package/dist/types/editor.d.ts +385 -0
  31. package/dist/types/editor.d.ts.map +1 -0
  32. package/dist/types/editor.js +15 -0
  33. package/dist/types/editors.d.ts +56 -0
  34. package/dist/types/editors.d.ts.map +1 -0
  35. package/dist/types/editors.js +19 -0
  36. package/dist/types/extension.d.ts +744 -0
  37. package/dist/types/extension.d.ts.map +1 -0
  38. package/dist/types/extension.js +4 -0
  39. package/dist/types/index.d.ts +9 -0
  40. package/dist/types/index.d.ts.map +1 -0
  41. package/dist/types/index.js +8 -0
  42. package/dist/types/panel.d.ts +575 -0
  43. package/dist/types/panel.d.ts.map +1 -0
  44. package/dist/types/panel.js +14 -0
  45. package/dist/types/theme.d.ts +148 -0
  46. package/dist/types/theme.d.ts.map +1 -0
  47. package/dist/types/theme.js +7 -0
  48. package/dist/useEditorLifecycle.d.ts +166 -0
  49. package/dist/useEditorLifecycle.d.ts.map +1 -0
  50. package/dist/useEditorLifecycle.js +327 -0
  51. package/dist/validate.d.ts +31 -0
  52. package/dist/validate.d.ts.map +1 -0
  53. package/dist/validate.js +128 -0
  54. package/dist/vite.d.ts +92 -0
  55. package/dist/vite.d.ts.map +1 -0
  56. package/dist/vite.js +179 -0
  57. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/types/extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Core types for Nimbalyst extensions.
3
+ */
4
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Type exports for Nimbalyst extensions.
3
+ */
4
+ export * from './extension.js';
5
+ export * from './editor.js';
6
+ export * from './editors.js';
7
+ export * from './panel.js';
8
+ export * from './theme.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type exports for Nimbalyst extensions.
3
+ */
4
+ export * from './extension.js';
5
+ export * from './editor.js';
6
+ export * from './editors.js';
7
+ export * from './panel.js';
8
+ export * from './theme.js';
@@ -0,0 +1,575 @@
1
+ /**
2
+ * Panel Types for Nimbalyst Extensions
3
+ *
4
+ * Panels are non-file-based UIs that extensions can contribute to Nimbalyst.
5
+ * Unlike custom editors (which are tied to file types), panels provide
6
+ * persistent interfaces for things like database browsers, deployment
7
+ * dashboards, home automation controls, etc.
8
+ *
9
+ * Panels integrate with:
10
+ * - Navigation gutter (sidebar/fullscreen buttons)
11
+ * - AI tools (shared state between UI and agent)
12
+ * - Extension storage (namespaced configuration persistence)
13
+ */
14
+ import type { ComponentType } from 'react';
15
+ /**
16
+ * Panel contribution declared in manifest.json.
17
+ *
18
+ * @example
19
+ * ```json
20
+ * {
21
+ * "contributions": {
22
+ * "panels": [{
23
+ * "id": "database-browser",
24
+ * "title": "Database",
25
+ * "icon": "database",
26
+ * "placement": "sidebar",
27
+ * "aiSupported": true
28
+ * }]
29
+ * }
30
+ * }
31
+ * ```
32
+ */
33
+ export interface PanelContribution {
34
+ /**
35
+ * Unique identifier within the extension.
36
+ * Full panel ID will be `${extensionId}.${id}`.
37
+ */
38
+ id: string;
39
+ /**
40
+ * Display title shown in gutter tooltip and panel header.
41
+ */
42
+ title: string;
43
+ /**
44
+ * Icon for the gutter button.
45
+ * Can be a Material icon name (e.g., "database"), emoji, or relative path to icon file.
46
+ */
47
+ icon: string;
48
+ /**
49
+ * Where and how the panel is displayed.
50
+ *
51
+ * - `"sidebar"`: Panel appears in the sidebar area, alongside or replacing the file tree.
52
+ * Extension gets a gutter button in the middle section.
53
+ *
54
+ * - `"fullscreen"`: Panel takes over the entire main content area.
55
+ * Extension gets a gutter button that switches to this mode.
56
+ *
57
+ * - `"floating"`: Panel renders at app level (like modals/popovers).
58
+ * No gutter button - extension controls visibility via callbacks.
59
+ *
60
+ * - `"bottom"`: Panel appears as a resizable horizontal panel below the main editor area,
61
+ * similar to the terminal and tracker panels. Gets a gutter button in the bottom section.
62
+ * Mutually exclusive with other bottom panels (terminal, tracker).
63
+ */
64
+ placement: 'sidebar' | 'fullscreen' | 'floating' | 'bottom';
65
+ /**
66
+ * Whether this panel exposes AI tools that share state with the UI.
67
+ * When true, the panel receives a PanelAIContext for coordinating with AI tools.
68
+ * @default false
69
+ */
70
+ aiSupported?: boolean;
71
+ /**
72
+ * When to activate this panel.
73
+ *
74
+ * - `"onStartup"`: Activate when extension loads
75
+ * - `"onPanel"`: Activate when panel is first opened (default)
76
+ * - `"onCommand:xyz"`: Activate when command xyz is invoked
77
+ *
78
+ * @default ["onPanel"]
79
+ */
80
+ activationEvents?: string[];
81
+ /**
82
+ * Sort order for gutter buttons.
83
+ * Lower numbers appear higher/earlier.
84
+ * @default 100
85
+ */
86
+ order?: number;
87
+ /**
88
+ * Help tooltip text shown when hovering the gutter button.
89
+ * Replaces the need to manually add an entry in HelpContent.ts.
90
+ *
91
+ * @example "Browse commit history, inspect diffs, push/pull, and manage branches."
92
+ */
93
+ tooltip?: string;
94
+ }
95
+ /**
96
+ * Settings panel contribution for the Settings screen.
97
+ *
98
+ * @example
99
+ * ```json
100
+ * {
101
+ * "contributions": {
102
+ * "settingsPanel": {
103
+ * "component": "DatabaseSettings",
104
+ * "title": "Database Connections",
105
+ * "icon": "database"
106
+ * }
107
+ * }
108
+ * }
109
+ * ```
110
+ */
111
+ export interface SettingsPanelContribution {
112
+ /**
113
+ * Name of the exported component from the extension module.
114
+ */
115
+ component: string;
116
+ /**
117
+ * Title shown in the Settings sidebar.
118
+ */
119
+ title: string;
120
+ /**
121
+ * Icon for the Settings sidebar.
122
+ */
123
+ icon?: string;
124
+ /**
125
+ * Sort order in the Extensions settings section.
126
+ * @default 100
127
+ */
128
+ order?: number;
129
+ }
130
+ /**
131
+ * Panel export from extension module.
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * export const panels = {
136
+ * 'database-browser': {
137
+ * component: DatabaseBrowserPanel,
138
+ * settingsComponent: DatabaseQuickSettings,
139
+ * }
140
+ * };
141
+ * ```
142
+ */
143
+ export interface PanelExport {
144
+ /**
145
+ * Main panel component.
146
+ * Receives PanelHostProps.
147
+ */
148
+ component: ComponentType<PanelHostProps>;
149
+ /**
150
+ * Optional custom gutter button component.
151
+ * Receives PanelGutterButtonProps.
152
+ * If not provided, a default button with the icon is used.
153
+ */
154
+ gutterButton?: ComponentType<PanelGutterButtonProps>;
155
+ /**
156
+ * Optional quick settings component rendered in the panel header.
157
+ * Receives PanelHostProps (same as main component).
158
+ */
159
+ settingsComponent?: ComponentType<PanelHostProps>;
160
+ }
161
+ /**
162
+ * Props passed to panel components.
163
+ */
164
+ export interface PanelHostProps {
165
+ /**
166
+ * Host service for panel-host communication.
167
+ */
168
+ host: PanelHost;
169
+ }
170
+ /**
171
+ * Props passed to custom gutter button components.
172
+ */
173
+ export interface PanelGutterButtonProps {
174
+ /**
175
+ * Whether this panel is currently active/visible.
176
+ */
177
+ isActive: boolean;
178
+ /**
179
+ * Callback to activate/show this panel.
180
+ */
181
+ onActivate: () => void;
182
+ /**
183
+ * Current application theme.
184
+ */
185
+ theme: string;
186
+ }
187
+ /**
188
+ * Host service for panels.
189
+ *
190
+ * Provides communication between panel and host application.
191
+ * Panels receive this as a prop and use it for navigation, state, and AI coordination.
192
+ */
193
+ export interface PanelHost {
194
+ /**
195
+ * Full panel ID (extensionId.panelId).
196
+ */
197
+ readonly panelId: string;
198
+ /**
199
+ * Extension that provides this panel.
200
+ */
201
+ readonly extensionId: string;
202
+ /**
203
+ * Current application theme.
204
+ */
205
+ readonly theme: string;
206
+ /**
207
+ * Absolute path to current workspace.
208
+ */
209
+ readonly workspacePath: string;
210
+ /**
211
+ * Subscribe to theme changes.
212
+ *
213
+ * @param callback Called with new theme when it changes
214
+ * @returns Unsubscribe function
215
+ */
216
+ onThemeChanged(callback: (theme: string) => void): () => void;
217
+ /**
218
+ * Open a file in the editor.
219
+ *
220
+ * @param path Absolute or workspace-relative path
221
+ */
222
+ openFile(path: string): void;
223
+ /**
224
+ * Switch to another panel.
225
+ *
226
+ * @param panelId Full panel ID (extensionId.panelId) or just panelId for same extension
227
+ */
228
+ openPanel(panelId: string): void;
229
+ /**
230
+ * Close this panel (for floating panels).
231
+ */
232
+ close(): void;
233
+ /**
234
+ * Whether the panel's settings view is currently open.
235
+ */
236
+ readonly isSettingsOpen: boolean;
237
+ /**
238
+ * Open the panel's settings view.
239
+ */
240
+ openSettings(): void;
241
+ /**
242
+ * Close the panel's settings view.
243
+ */
244
+ closeSettings(): void;
245
+ /**
246
+ * AI context for coordinating with AI tools.
247
+ * Only available if panel has `aiSupported: true`.
248
+ */
249
+ readonly ai?: PanelAIContext;
250
+ /**
251
+ * Subscribe to workspace-level IPC events.
252
+ *
253
+ * Events are filtered to the current workspace path automatically.
254
+ * Subscriptions are cleaned up when the panel host is disposed.
255
+ *
256
+ * @param event IPC event name (e.g., 'git:status-changed')
257
+ * @param callback Called with event data when fired for this workspace
258
+ * @returns Unsubscribe function
259
+ */
260
+ onWorkspaceEvent(event: string, callback: (data: unknown) => void): () => void;
261
+ /**
262
+ * Namespaced storage for persisting panel state.
263
+ * Automatically scoped to this extension.
264
+ */
265
+ readonly storage: ExtensionStorage;
266
+ /**
267
+ * Sandboxed file storage for this extension.
268
+ * Provides a dedicated directory for storing files (screenshots, reports, etc.).
269
+ * All paths are relative to the extension's data directory.
270
+ *
271
+ * Requires the extension to declare `"filesystem": true` permission in manifest.json.
272
+ */
273
+ readonly files: ExtensionFileStorage;
274
+ /**
275
+ * Execute a shell command in the workspace context.
276
+ *
277
+ * Requires the extension to declare `"filesystem": true` permission in manifest.json.
278
+ * Commands execute in the workspace directory with inherited environment.
279
+ *
280
+ * @param command Shell command to execute
281
+ * @param options Execution options
282
+ * @returns Promise resolving to exec result with stdout, stderr, and exit code
283
+ */
284
+ exec(command: string, options?: ExecOptions): Promise<ExecResult>;
285
+ }
286
+ /**
287
+ * Options for PanelHost.exec() subprocess execution.
288
+ */
289
+ export interface ExecOptions {
290
+ /** Working directory (defaults to workspace root) */
291
+ cwd?: string;
292
+ /** Environment variables to merge with process.env */
293
+ env?: Record<string, string>;
294
+ /** Timeout in milliseconds (default: 60000) */
295
+ timeout?: number;
296
+ /** Max buffer size for stdout/stderr in bytes (default: 10MB) */
297
+ maxBuffer?: number;
298
+ }
299
+ /**
300
+ * Result from PanelHost.exec() subprocess execution.
301
+ */
302
+ export interface ExecResult {
303
+ success: boolean;
304
+ stdout: string;
305
+ stderr: string;
306
+ exitCode: number;
307
+ }
308
+ /**
309
+ * Sandboxed file storage for extensions.
310
+ *
311
+ * Provides a dedicated directory per extension for storing files like
312
+ * screenshots, reports, traces, and other artifacts. All operations are
313
+ * confined to the extension's data directory -- path traversal is blocked.
314
+ *
315
+ * Two scopes are available:
316
+ * - **Workspace**: per-project data (test results, screenshots for this project)
317
+ * - **Global**: shared across all projects (cached downloads, config)
318
+ *
319
+ * Directory layout:
320
+ * ```
321
+ * <userData>/extension-data/<extensionId>/
322
+ * global/ # getGlobalBasePath()
323
+ * workspaces/<hash>/ # getBasePath() (workspace-scoped)
324
+ * ```
325
+ */
326
+ export interface ExtensionFileStorage {
327
+ /**
328
+ * Absolute path to the workspace-scoped data directory.
329
+ * Use this when you need to pass a path to external tools (e.g. Playwright output dir).
330
+ */
331
+ getBasePath(): Promise<string>;
332
+ /**
333
+ * Absolute path to the global (workspace-independent) data directory.
334
+ */
335
+ getGlobalBasePath(): Promise<string>;
336
+ /**
337
+ * Write a file. Creates parent directories as needed.
338
+ * @param relativePath Path relative to workspace base dir
339
+ * @param data String or binary data
340
+ */
341
+ write(relativePath: string, data: string | Uint8Array): Promise<void>;
342
+ /**
343
+ * Read a file as a UTF-8 string.
344
+ * @param relativePath Path relative to workspace base dir
345
+ */
346
+ readText(relativePath: string): Promise<string>;
347
+ /**
348
+ * Read a file as binary data.
349
+ * @param relativePath Path relative to workspace base dir
350
+ */
351
+ read(relativePath: string): Promise<Uint8Array>;
352
+ /**
353
+ * Check if a file or directory exists.
354
+ * @param relativePath Path relative to workspace base dir
355
+ */
356
+ exists(relativePath: string): Promise<boolean>;
357
+ /**
358
+ * Delete a file or directory.
359
+ * @param relativePath Path relative to workspace base dir
360
+ */
361
+ delete(relativePath: string): Promise<void>;
362
+ /**
363
+ * List files and directories at a path.
364
+ * @param relativePath Path relative to workspace base dir (default: root)
365
+ * @returns Array of entry names
366
+ */
367
+ list(relativePath?: string): Promise<string[]>;
368
+ /**
369
+ * Get disk usage for this extension's data directory.
370
+ */
371
+ getUsage(): Promise<{
372
+ usedBytes: number;
373
+ limitBytes: number;
374
+ }>;
375
+ }
376
+ /**
377
+ * AI context for panels to coordinate with AI tools.
378
+ *
379
+ * Panels use this to share state with AI tools. For example, a database browser
380
+ * panel can expose the active connection so AI tools can query it.
381
+ *
382
+ * @example
383
+ * ```typescript
384
+ * function DatabasePanel({ host }: PanelHostProps) {
385
+ * const [activeConnection, setActiveConnection] = useState<Connection | null>(null);
386
+ *
387
+ * useEffect(() => {
388
+ * // Update AI context when selection changes
389
+ * host.ai?.setContext({
390
+ * activeConnection: activeConnection?.name,
391
+ * database: activeConnection?.database,
392
+ * });
393
+ * }, [activeConnection, host.ai]);
394
+ *
395
+ * return <div>...</div>;
396
+ * }
397
+ * ```
398
+ */
399
+ export interface PanelAIContext {
400
+ /**
401
+ * Set dynamic context that AI tools can access.
402
+ *
403
+ * This context is available to the extension's AI tool handlers
404
+ * and is included in the tool execution context.
405
+ *
406
+ * @param context Key-value pairs of context data
407
+ */
408
+ setContext(context: Record<string, unknown>): void;
409
+ /**
410
+ * Get the current context.
411
+ */
412
+ getContext(): Record<string, unknown>;
413
+ /**
414
+ * Clear all context.
415
+ */
416
+ clearContext(): void;
417
+ /**
418
+ * Notify that panel state changed.
419
+ *
420
+ * This can be used to trigger proactive AI suggestions or
421
+ * update any subscribers to panel state.
422
+ *
423
+ * @param event Event name (e.g., "queryExecuted", "connectionChanged")
424
+ * @param data Optional event data
425
+ */
426
+ notifyChange(event: string, data?: unknown): void;
427
+ /**
428
+ * Subscribe to context changes from AI tools.
429
+ *
430
+ * AI tools can update context (e.g., to show query results in the panel).
431
+ *
432
+ * @param callback Called when context is updated
433
+ * @returns Unsubscribe function
434
+ */
435
+ onContextChanged(callback: (context: Record<string, unknown>) => void): () => void;
436
+ }
437
+ /**
438
+ * Namespaced storage service for extensions.
439
+ *
440
+ * All keys are automatically namespaced by extension ID.
441
+ * Extensions cannot access each other's storage.
442
+ *
443
+ * @example
444
+ * ```typescript
445
+ * // In extension code:
446
+ * const connections = await storage.getGlobal<Connection[]>('connections') ?? [];
447
+ * await storage.setGlobal('connections', [...connections, newConnection]);
448
+ *
449
+ * // Password stored securely in system keychain
450
+ * await storage.setSecret('conn-123-password', password);
451
+ * ```
452
+ */
453
+ export interface ExtensionStorage {
454
+ /**
455
+ * Get a value from workspace-scoped storage.
456
+ * Workspace storage is specific to the current project.
457
+ *
458
+ * @param key Storage key (automatically namespaced)
459
+ * @returns The stored value, or undefined if not set
460
+ */
461
+ get<T>(key: string): T | undefined;
462
+ /**
463
+ * Set a value in workspace-scoped storage.
464
+ *
465
+ * @param key Storage key (automatically namespaced)
466
+ * @param value Value to store (must be JSON-serializable)
467
+ */
468
+ set<T>(key: string, value: T): Promise<void>;
469
+ /**
470
+ * Delete a value from workspace-scoped storage.
471
+ *
472
+ * @param key Storage key to delete
473
+ */
474
+ delete(key: string): Promise<void>;
475
+ /**
476
+ * Get a value from global storage.
477
+ * Global storage is shared across all workspaces.
478
+ *
479
+ * @param key Storage key (automatically namespaced)
480
+ * @returns The stored value, or undefined if not set
481
+ */
482
+ getGlobal<T>(key: string): T | undefined;
483
+ /**
484
+ * Set a value in global storage.
485
+ *
486
+ * @param key Storage key (automatically namespaced)
487
+ * @param value Value to store (must be JSON-serializable)
488
+ */
489
+ setGlobal<T>(key: string, value: T): Promise<void>;
490
+ /**
491
+ * Delete a value from global storage.
492
+ *
493
+ * @param key Storage key to delete
494
+ */
495
+ deleteGlobal(key: string): Promise<void>;
496
+ /**
497
+ * Get a secret from secure storage (system keychain).
498
+ * Secrets are never synced or logged.
499
+ *
500
+ * @param key Secret key (automatically namespaced)
501
+ * @returns The secret value, or undefined if not set
502
+ */
503
+ getSecret(key: string): Promise<string | undefined>;
504
+ /**
505
+ * Set a secret in secure storage (system keychain).
506
+ *
507
+ * @param key Secret key (automatically namespaced)
508
+ * @param value Secret value to store
509
+ */
510
+ setSecret(key: string, value: string): Promise<void>;
511
+ /**
512
+ * Delete a secret from secure storage.
513
+ *
514
+ * @param key Secret key to delete
515
+ */
516
+ deleteSecret(key: string): Promise<void>;
517
+ }
518
+ /**
519
+ * A loaded panel instance.
520
+ * Internal type used by the extension system.
521
+ */
522
+ export interface LoadedPanel {
523
+ /**
524
+ * Full panel ID (extensionId.panelId).
525
+ */
526
+ id: string;
527
+ /**
528
+ * Extension that provides this panel.
529
+ */
530
+ extensionId: string;
531
+ /**
532
+ * Panel contribution from manifest.
533
+ */
534
+ contribution: PanelContribution;
535
+ /**
536
+ * Panel exports from module.
537
+ */
538
+ exports: PanelExport;
539
+ /**
540
+ * Whether the panel is currently active/visible.
541
+ */
542
+ isActive: boolean;
543
+ }
544
+ /**
545
+ * A loaded settings panel instance.
546
+ * Internal type used by the extension system.
547
+ */
548
+ export interface LoadedSettingsPanel {
549
+ /**
550
+ * Extension that provides this panel.
551
+ */
552
+ extensionId: string;
553
+ /**
554
+ * Settings panel contribution from manifest.
555
+ */
556
+ contribution: SettingsPanelContribution;
557
+ /**
558
+ * Settings panel component.
559
+ */
560
+ component: ComponentType<SettingsPanelProps>;
561
+ }
562
+ /**
563
+ * Props passed to settings panel components.
564
+ */
565
+ export interface SettingsPanelProps {
566
+ /**
567
+ * Extension storage service.
568
+ */
569
+ storage: ExtensionStorage;
570
+ /**
571
+ * Current application theme.
572
+ */
573
+ theme: string;
574
+ }
575
+ //# sourceMappingURL=panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/types/panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Panel Types for Nimbalyst Extensions
3
+ *
4
+ * Panels are non-file-based UIs that extensions can contribute to Nimbalyst.
5
+ * Unlike custom editors (which are tied to file types), panels provide
6
+ * persistent interfaces for things like database browsers, deployment
7
+ * dashboards, home automation controls, etc.
8
+ *
9
+ * Panels integrate with:
10
+ * - Navigation gutter (sidebar/fullscreen buttons)
11
+ * - AI tools (shared state between UI and agent)
12
+ * - Extension storage (namespaced configuration persistence)
13
+ */
14
+ export {};