@stina/extension-api 0.7.1 → 0.8.1
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/dist/{chunk-SS4D3JYX.js → chunk-IKJ37ZGB.js} +1 -1
- package/dist/chunk-IKJ37ZGB.js.map +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +33 -6
- package/dist/index.d.ts +33 -6
- package/dist/index.js +1 -1
- package/dist/runtime.cjs +116 -0
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.d.cts +2 -2
- package/dist/runtime.d.ts +2 -2
- package/dist/runtime.js +117 -1
- package/dist/runtime.js.map +1 -1
- package/dist/{types-Brv9O9NY.d.cts → types-Cr8eCJ0G.d.cts} +413 -2
- package/dist/{types-Brv9O9NY.d.ts → types-Cr8eCJ0G.d.ts} +413 -2
- package/package.json +1 -1
- package/src/index.ts +56 -0
- package/src/messages.ts +50 -1
- package/src/runtime.ts +146 -0
- package/src/types.components.ts +236 -0
- package/src/types.ts +234 -0
- package/dist/chunk-SS4D3JYX.js.map +0 -1
|
@@ -1,3 +1,207 @@
|
|
|
1
|
+
/** Base interface for dynamically rendered extension components. */
|
|
2
|
+
interface ExtensionComponentData {
|
|
3
|
+
component: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Iterator for rendering a list of components from data.
|
|
8
|
+
* Used with layout components like VerticalStack, HorizontalStack, Grid.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```json
|
|
12
|
+
* {
|
|
13
|
+
* "each": "$todos",
|
|
14
|
+
* "as": "todo",
|
|
15
|
+
* "items": [{ "component": "Label", "text": "$todo.title" }]
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
interface ExtensionComponentIterator {
|
|
20
|
+
/** Data source to iterate over. Use "$name" for dynamic reference or inline array. */
|
|
21
|
+
each: string | unknown[];
|
|
22
|
+
/** Variable name for current item in scope */
|
|
23
|
+
as: string;
|
|
24
|
+
/** Components to render for each item */
|
|
25
|
+
items: ExtensionComponentData[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Children can be either a static array of components or an iterator.
|
|
29
|
+
*/
|
|
30
|
+
type ExtensionComponentChildren = ExtensionComponentData[] | ExtensionComponentIterator;
|
|
31
|
+
/**
|
|
32
|
+
* Action call with parameters.
|
|
33
|
+
* Used for component events like onClick, onChange, etc.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```json
|
|
37
|
+
* {
|
|
38
|
+
* "action": "deleteTodo",
|
|
39
|
+
* "params": { "todoId": "$todo.id" }
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
interface ExtensionActionCall {
|
|
44
|
+
/** Name of the registered action */
|
|
45
|
+
action: string;
|
|
46
|
+
/** Parameters to pass. Values starting with "$" are resolved from scope. */
|
|
47
|
+
params?: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Action reference - can be a simple string (action name) or full action call.
|
|
51
|
+
*/
|
|
52
|
+
type ExtensionActionRef = string | ExtensionActionCall;
|
|
53
|
+
/**
|
|
54
|
+
* Data source definition for fetching data via an action.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```json
|
|
58
|
+
* {
|
|
59
|
+
* "action": "getProjects",
|
|
60
|
+
* "params": { "includeArchived": false },
|
|
61
|
+
* "refreshOn": ["project.changed"]
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
interface ExtensionDataSource {
|
|
66
|
+
/** Action to call for fetching data */
|
|
67
|
+
action: string;
|
|
68
|
+
/** Parameters to pass to the action */
|
|
69
|
+
params?: Record<string, unknown>;
|
|
70
|
+
/** Event names that should trigger a refresh of this data */
|
|
71
|
+
refreshOn?: string[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Panel definition for extension-contributed panels.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```json
|
|
78
|
+
* {
|
|
79
|
+
* "data": {
|
|
80
|
+
* "projects": { "action": "getProjectsWithTodos", "refreshOn": ["todo.changed"] }
|
|
81
|
+
* },
|
|
82
|
+
* "content": {
|
|
83
|
+
* "component": "VerticalStack",
|
|
84
|
+
* "children": { "each": "$projects", "as": "project", "items": [...] }
|
|
85
|
+
* }
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
interface ExtensionPanelDefinition {
|
|
90
|
+
/** Data sources available in the panel. Keys become variable names (e.g., "$projects"). */
|
|
91
|
+
data?: Record<string, ExtensionDataSource>;
|
|
92
|
+
/** Root component to render */
|
|
93
|
+
content: ExtensionComponentData;
|
|
94
|
+
}
|
|
95
|
+
/** The extension API properties for the Header component. */
|
|
96
|
+
interface HeaderProps extends ExtensionComponentData {
|
|
97
|
+
component: 'Header';
|
|
98
|
+
level: number;
|
|
99
|
+
title: string;
|
|
100
|
+
description?: string | string[];
|
|
101
|
+
icon?: string;
|
|
102
|
+
}
|
|
103
|
+
/** The extension API properties for the Label component. */
|
|
104
|
+
interface LabelProps extends ExtensionComponentData {
|
|
105
|
+
component: 'Label';
|
|
106
|
+
text: string;
|
|
107
|
+
}
|
|
108
|
+
/** The extension API properties for the paragraph component. */
|
|
109
|
+
interface ParagraphProps extends ExtensionComponentData {
|
|
110
|
+
component: 'Paragraph';
|
|
111
|
+
text: string;
|
|
112
|
+
}
|
|
113
|
+
/** The extension API properties for the Button component. */
|
|
114
|
+
interface ButtonProps extends ExtensionComponentData {
|
|
115
|
+
component: 'Button';
|
|
116
|
+
text: string;
|
|
117
|
+
onClickAction: ExtensionActionRef;
|
|
118
|
+
}
|
|
119
|
+
/** The extension API properties for the TextInput component. */
|
|
120
|
+
interface TextInputProps extends ExtensionComponentData {
|
|
121
|
+
component: 'TextInput';
|
|
122
|
+
label: string;
|
|
123
|
+
placeholder?: string;
|
|
124
|
+
value?: string;
|
|
125
|
+
onChangeAction: ExtensionActionRef;
|
|
126
|
+
}
|
|
127
|
+
/** The extension API properties for the Select component. */
|
|
128
|
+
interface SelectProps extends ExtensionComponentData {
|
|
129
|
+
component: 'Select';
|
|
130
|
+
label: string;
|
|
131
|
+
options: Array<{
|
|
132
|
+
label: string;
|
|
133
|
+
value: string;
|
|
134
|
+
}>;
|
|
135
|
+
selectedValue?: string;
|
|
136
|
+
onChangeAction: ExtensionActionRef;
|
|
137
|
+
}
|
|
138
|
+
/** The extension API properties for the VerticalStack component. */
|
|
139
|
+
interface VerticalStackProps extends ExtensionComponentData {
|
|
140
|
+
component: 'VerticalStack';
|
|
141
|
+
gap?: number;
|
|
142
|
+
children: ExtensionComponentChildren;
|
|
143
|
+
}
|
|
144
|
+
/** The extension API properties for the HorizontalStack component. */
|
|
145
|
+
interface HorizontalStackProps extends ExtensionComponentData {
|
|
146
|
+
component: 'HorizontalStack';
|
|
147
|
+
gap?: number;
|
|
148
|
+
children: ExtensionComponentChildren;
|
|
149
|
+
}
|
|
150
|
+
/** The extension API properties for the Grid component. */
|
|
151
|
+
interface GridProps extends ExtensionComponentData {
|
|
152
|
+
component: 'Grid';
|
|
153
|
+
columns: number;
|
|
154
|
+
gap?: number;
|
|
155
|
+
children: ExtensionComponentChildren;
|
|
156
|
+
}
|
|
157
|
+
/** The extension API properties for the Divider component. */
|
|
158
|
+
interface DividerProps extends ExtensionComponentData {
|
|
159
|
+
component: 'Divider';
|
|
160
|
+
}
|
|
161
|
+
/** The extension API properties for the Icon component. */
|
|
162
|
+
interface IconProps extends ExtensionComponentData {
|
|
163
|
+
component: 'Icon';
|
|
164
|
+
name: string;
|
|
165
|
+
title?: string;
|
|
166
|
+
}
|
|
167
|
+
/** Button type for IconButton. */
|
|
168
|
+
type IconButtonType = 'normal' | 'primary' | 'danger' | 'accent';
|
|
169
|
+
/** The extension API properties for the IconButton component. */
|
|
170
|
+
interface IconButtonProps extends ExtensionComponentData {
|
|
171
|
+
component: 'IconButton';
|
|
172
|
+
icon: string;
|
|
173
|
+
tooltip: string;
|
|
174
|
+
active?: boolean;
|
|
175
|
+
disabled?: boolean;
|
|
176
|
+
type?: IconButtonType;
|
|
177
|
+
onClickAction: ExtensionActionRef;
|
|
178
|
+
}
|
|
179
|
+
/** Action button definition for Panel component. */
|
|
180
|
+
interface PanelAction {
|
|
181
|
+
icon: string;
|
|
182
|
+
tooltip: string;
|
|
183
|
+
action: ExtensionActionRef;
|
|
184
|
+
type?: IconButtonType;
|
|
185
|
+
}
|
|
186
|
+
/** The extension API properties for the Panel component. */
|
|
187
|
+
interface PanelProps extends ExtensionComponentData {
|
|
188
|
+
component: 'Panel';
|
|
189
|
+
title: string;
|
|
190
|
+
description?: string | string[];
|
|
191
|
+
icon?: string;
|
|
192
|
+
actions?: PanelAction[];
|
|
193
|
+
content?: ExtensionComponentData;
|
|
194
|
+
}
|
|
195
|
+
/** The extension API properties for the Toggle component. */
|
|
196
|
+
interface ToggleProps extends ExtensionComponentData {
|
|
197
|
+
component: 'Toggle';
|
|
198
|
+
label?: string;
|
|
199
|
+
description?: string;
|
|
200
|
+
checked?: boolean;
|
|
201
|
+
disabled?: boolean;
|
|
202
|
+
onChangeAction: ExtensionActionRef;
|
|
203
|
+
}
|
|
204
|
+
|
|
1
205
|
/**
|
|
2
206
|
* Extension manifest format (manifest.json)
|
|
3
207
|
*/
|
|
@@ -41,6 +245,8 @@ interface ExtensionContributions {
|
|
|
41
245
|
settings?: SettingDefinition[];
|
|
42
246
|
/** Tool settings views for UI */
|
|
43
247
|
toolSettings?: ToolSettingsViewDefinition[];
|
|
248
|
+
/** Right panel contributions */
|
|
249
|
+
panels?: PanelDefinition[];
|
|
44
250
|
/** AI providers */
|
|
45
251
|
providers?: ProviderDefinition[];
|
|
46
252
|
/** Tools for Stina to use */
|
|
@@ -69,6 +275,22 @@ interface SettingDefinition {
|
|
|
69
275
|
value: string;
|
|
70
276
|
label: string;
|
|
71
277
|
}[];
|
|
278
|
+
/** For select type: load options from tool */
|
|
279
|
+
optionsToolId?: string;
|
|
280
|
+
/** Params for options tool */
|
|
281
|
+
optionsParams?: Record<string, unknown>;
|
|
282
|
+
/** Mapping for options tool response */
|
|
283
|
+
optionsMapping?: SettingOptionsMapping;
|
|
284
|
+
/** Tool ID for creating a new option */
|
|
285
|
+
createToolId?: string;
|
|
286
|
+
/** Label for create action */
|
|
287
|
+
createLabel?: string;
|
|
288
|
+
/** Fields for create form */
|
|
289
|
+
createFields?: SettingDefinition[];
|
|
290
|
+
/** Static params always sent to create tool */
|
|
291
|
+
createParams?: Record<string, unknown>;
|
|
292
|
+
/** Mapping for create tool response */
|
|
293
|
+
createMapping?: SettingCreateMapping;
|
|
72
294
|
/** Validation rules */
|
|
73
295
|
validation?: {
|
|
74
296
|
required?: boolean;
|
|
@@ -77,6 +299,28 @@ interface SettingDefinition {
|
|
|
77
299
|
pattern?: string;
|
|
78
300
|
};
|
|
79
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Mapping for select field options from tool response
|
|
304
|
+
*/
|
|
305
|
+
interface SettingOptionsMapping {
|
|
306
|
+
/** Key for items array in tool result data */
|
|
307
|
+
itemsKey: string;
|
|
308
|
+
/** Key for option value */
|
|
309
|
+
valueKey: string;
|
|
310
|
+
/** Key for option label */
|
|
311
|
+
labelKey: string;
|
|
312
|
+
/** Optional key for description */
|
|
313
|
+
descriptionKey?: string;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Mapping for create tool response
|
|
317
|
+
*/
|
|
318
|
+
interface SettingCreateMapping {
|
|
319
|
+
/** Key for result data object */
|
|
320
|
+
resultKey?: string;
|
|
321
|
+
/** Key for option value (defaults to "id") */
|
|
322
|
+
valueKey: string;
|
|
323
|
+
}
|
|
80
324
|
/**
|
|
81
325
|
* Tool settings view definition (UI schema)
|
|
82
326
|
*/
|
|
@@ -138,6 +382,52 @@ interface ToolSettingsListMapping {
|
|
|
138
382
|
/** Key for secondary label */
|
|
139
383
|
secondaryKey?: string;
|
|
140
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* Panel definition for right panel views
|
|
387
|
+
*/
|
|
388
|
+
interface PanelDefinition {
|
|
389
|
+
/** Unique panel ID within the extension */
|
|
390
|
+
id: string;
|
|
391
|
+
/** Display title */
|
|
392
|
+
title: string;
|
|
393
|
+
/** Icon name (from huge-icons) */
|
|
394
|
+
icon?: string;
|
|
395
|
+
/** Panel view schema */
|
|
396
|
+
view: PanelView;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Panel view schema (declarative)
|
|
400
|
+
*/
|
|
401
|
+
type PanelView = PanelComponentView | PanelUnknownView;
|
|
402
|
+
interface PanelUnknownView {
|
|
403
|
+
/** View kind */
|
|
404
|
+
kind: string;
|
|
405
|
+
/** Additional view configuration */
|
|
406
|
+
[key: string]: unknown;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Action-based data source for declarative panels.
|
|
410
|
+
* Uses actions (not tools) to fetch data.
|
|
411
|
+
*/
|
|
412
|
+
interface PanelActionDataSource {
|
|
413
|
+
/** Action ID to call for fetching data */
|
|
414
|
+
action: string;
|
|
415
|
+
/** Parameters to pass to the action */
|
|
416
|
+
params?: Record<string, unknown>;
|
|
417
|
+
/** Event names that should trigger a refresh of this data */
|
|
418
|
+
refreshOn?: string[];
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Component-based panel view using the declarative DSL.
|
|
422
|
+
* Data is fetched via actions, content is rendered via ExtensionComponent.
|
|
423
|
+
*/
|
|
424
|
+
interface PanelComponentView {
|
|
425
|
+
kind: 'component';
|
|
426
|
+
/** Data sources available in the panel. Keys become variable names (e.g., "$projects"). */
|
|
427
|
+
data?: Record<string, PanelActionDataSource>;
|
|
428
|
+
/** Root component to render */
|
|
429
|
+
content: ExtensionComponentData;
|
|
430
|
+
}
|
|
141
431
|
/**
|
|
142
432
|
* Provider definition (metadata only, implementation in code)
|
|
143
433
|
*/
|
|
@@ -262,7 +552,7 @@ type StoragePermission = 'database.own' | 'storage.local';
|
|
|
262
552
|
/** User data permissions */
|
|
263
553
|
type UserDataPermission = 'user.profile.read' | 'user.location.read' | 'chat.history.read' | 'chat.current.read';
|
|
264
554
|
/** Capability permissions */
|
|
265
|
-
type CapabilityPermission = 'provider.register' | 'tools.register' | 'settings.register' | 'commands.register';
|
|
555
|
+
type CapabilityPermission = 'provider.register' | 'tools.register' | 'actions.register' | 'settings.register' | 'commands.register' | 'panels.register' | 'events.emit' | 'scheduler.register' | 'chat.message.write';
|
|
266
556
|
/** System permissions */
|
|
267
557
|
type SystemPermission = 'files.read' | 'files.write' | 'clipboard.read' | 'clipboard.write';
|
|
268
558
|
/**
|
|
@@ -289,6 +579,16 @@ interface ExtensionContext {
|
|
|
289
579
|
readonly providers?: ProvidersAPI;
|
|
290
580
|
/** Tool registration (if permitted) */
|
|
291
581
|
readonly tools?: ToolsAPI;
|
|
582
|
+
/** Action registration (if permitted) */
|
|
583
|
+
readonly actions?: ActionsAPI;
|
|
584
|
+
/** Event emission (if permitted) */
|
|
585
|
+
readonly events?: EventsAPI;
|
|
586
|
+
/** Scheduler access (if permitted) */
|
|
587
|
+
readonly scheduler?: SchedulerAPI;
|
|
588
|
+
/** User data access (if permitted) */
|
|
589
|
+
readonly user?: UserAPI;
|
|
590
|
+
/** Chat access (if permitted) */
|
|
591
|
+
readonly chat?: ChatAPI;
|
|
292
592
|
/** Database access (if permitted) */
|
|
293
593
|
readonly database?: DatabaseAPI;
|
|
294
594
|
/** Local storage (if permitted) */
|
|
@@ -344,6 +644,93 @@ interface ToolsAPI {
|
|
|
344
644
|
*/
|
|
345
645
|
register(tool: Tool): Disposable;
|
|
346
646
|
}
|
|
647
|
+
/**
|
|
648
|
+
* Actions API for registering UI actions
|
|
649
|
+
*/
|
|
650
|
+
interface ActionsAPI {
|
|
651
|
+
/**
|
|
652
|
+
* Register an action that UI components can invoke
|
|
653
|
+
*/
|
|
654
|
+
register(action: Action): Disposable;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Events API for notifying the host
|
|
658
|
+
*/
|
|
659
|
+
interface EventsAPI {
|
|
660
|
+
/**
|
|
661
|
+
* Emit a named event with optional payload
|
|
662
|
+
*/
|
|
663
|
+
emit(name: string, payload?: Record<string, unknown>): Promise<void>;
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Scheduler schedule types
|
|
667
|
+
*/
|
|
668
|
+
type SchedulerSchedule = {
|
|
669
|
+
type: 'at';
|
|
670
|
+
at: string;
|
|
671
|
+
} | {
|
|
672
|
+
type: 'cron';
|
|
673
|
+
cron: string;
|
|
674
|
+
timezone?: string;
|
|
675
|
+
} | {
|
|
676
|
+
type: 'interval';
|
|
677
|
+
everyMs: number;
|
|
678
|
+
};
|
|
679
|
+
/**
|
|
680
|
+
* Scheduler job request
|
|
681
|
+
*/
|
|
682
|
+
interface SchedulerJobRequest {
|
|
683
|
+
id: string;
|
|
684
|
+
schedule: SchedulerSchedule;
|
|
685
|
+
payload?: Record<string, unknown>;
|
|
686
|
+
misfire?: 'run_once' | 'skip';
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Scheduler fire payload
|
|
690
|
+
*/
|
|
691
|
+
interface SchedulerFirePayload {
|
|
692
|
+
id: string;
|
|
693
|
+
payload?: Record<string, unknown>;
|
|
694
|
+
scheduledFor: string;
|
|
695
|
+
firedAt: string;
|
|
696
|
+
delayMs: number;
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* Scheduler API for registering jobs
|
|
700
|
+
*/
|
|
701
|
+
interface SchedulerAPI {
|
|
702
|
+
schedule(job: SchedulerJobRequest): Promise<void>;
|
|
703
|
+
cancel(jobId: string): Promise<void>;
|
|
704
|
+
onFire(callback: (payload: SchedulerFirePayload) => void): Disposable;
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* User profile data
|
|
708
|
+
*/
|
|
709
|
+
interface UserProfile {
|
|
710
|
+
firstName?: string;
|
|
711
|
+
nickname?: string;
|
|
712
|
+
language?: string;
|
|
713
|
+
timezone?: string;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* User API for profile access
|
|
717
|
+
*/
|
|
718
|
+
interface UserAPI {
|
|
719
|
+
getProfile(): Promise<UserProfile>;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* Chat instruction message
|
|
723
|
+
*/
|
|
724
|
+
interface ChatInstructionMessage {
|
|
725
|
+
text: string;
|
|
726
|
+
conversationId?: string;
|
|
727
|
+
}
|
|
728
|
+
/**
|
|
729
|
+
* Chat API for appending instructions
|
|
730
|
+
*/
|
|
731
|
+
interface ChatAPI {
|
|
732
|
+
appendInstruction(message: ChatInstructionMessage): Promise<void>;
|
|
733
|
+
}
|
|
347
734
|
/**
|
|
348
735
|
* Database API for extension-specific tables
|
|
349
736
|
*/
|
|
@@ -523,6 +910,30 @@ interface ToolResult {
|
|
|
523
910
|
/** Error message if failed */
|
|
524
911
|
error?: string;
|
|
525
912
|
}
|
|
913
|
+
/**
|
|
914
|
+
* Action implementation for UI interactions.
|
|
915
|
+
* Actions are invoked by UI components, not by Stina (AI).
|
|
916
|
+
*/
|
|
917
|
+
interface Action {
|
|
918
|
+
/** Action ID (unique within the extension) */
|
|
919
|
+
id: string;
|
|
920
|
+
/**
|
|
921
|
+
* Execute the action
|
|
922
|
+
* @param params Parameters from the UI component (with $-values already resolved)
|
|
923
|
+
*/
|
|
924
|
+
execute(params: Record<string, unknown>): Promise<ActionResult>;
|
|
925
|
+
}
|
|
926
|
+
/**
|
|
927
|
+
* Action execution result
|
|
928
|
+
*/
|
|
929
|
+
interface ActionResult {
|
|
930
|
+
/** Whether the action succeeded */
|
|
931
|
+
success: boolean;
|
|
932
|
+
/** Result data (returned to UI) */
|
|
933
|
+
data?: unknown;
|
|
934
|
+
/** Error message if failed */
|
|
935
|
+
error?: string;
|
|
936
|
+
}
|
|
526
937
|
/**
|
|
527
938
|
* Extension entry point interface
|
|
528
939
|
*/
|
|
@@ -537,4 +948,4 @@ interface ExtensionModule {
|
|
|
537
948
|
deactivate?(): void | Promise<void>;
|
|
538
949
|
}
|
|
539
950
|
|
|
540
|
-
export type {
|
|
951
|
+
export type { ChatInstructionMessage as $, ActionResult as A, StoragePermission as B, ChatMessage as C, CapabilityPermission as D, ExtensionManifest as E, SystemPermission as F, GetModelsOptions as G, ExtensionContext as H, Disposable as I, NetworkAPI as J, SettingsAPI as K, ProvidersAPI as L, ModelInfo as M, NetworkPermission as N, ToolsAPI as O, Platform as P, ActionsAPI as Q, EventsAPI as R, SchedulerFirePayload as S, ToolResult as T, UserDataPermission as U, SchedulerAPI as V, SchedulerJobRequest as W, SchedulerSchedule as X, UserAPI as Y, UserProfile as Z, ChatAPI as _, ChatOptions as a, DatabaseAPI as a0, StorageAPI as a1, LogAPI as a2, AIProvider as a3, ToolCall as a4, Tool as a5, Action as a6, ExtensionModule as a7, ExtensionComponentData as a8, ExtensionComponentIterator as a9, ExtensionComponentChildren as aa, ExtensionActionCall as ab, ExtensionActionRef as ac, ExtensionDataSource as ad, ExtensionPanelDefinition as ae, HeaderProps as af, LabelProps as ag, ParagraphProps as ah, ButtonProps as ai, TextInputProps as aj, SelectProps as ak, VerticalStackProps as al, HorizontalStackProps as am, GridProps as an, DividerProps as ao, IconProps as ap, IconButtonType as aq, IconButtonProps as ar, PanelAction as as, PanelProps as at, ToggleProps as au, StreamEvent as b, ExtensionContributions as c, SettingDefinition as d, SettingOptionsMapping as e, SettingCreateMapping as f, ToolSettingsViewDefinition as g, ToolSettingsView as h, ToolSettingsListView as i, ToolSettingsListMapping as j, PanelDefinition as k, PanelView as l, PanelComponentView as m, PanelActionDataSource as n, PanelUnknownView as o, ProviderDefinition as p, PromptContribution as q, PromptSection as r, ToolDefinition as s, CommandDefinition as t, ProviderConfigSchema as u, ProviderConfigProperty as v, ProviderConfigPropertyType as w, ProviderConfigSelectOption as x, ProviderConfigValidation as y, Permission as z };
|