@elyx-code/project-logic-tree 0.0.7223 → 0.0.7225
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.
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IComposableCommand, ICommandStepResolution, ICommandPart } from './extensions';
|
|
2
|
+
|
|
3
|
+
export declare function getSubcommandsList(cmd: IComposableCommand): IComposableCommand[];
|
|
4
|
+
export declare function getSubcommandsMap(cmd: IComposableCommand): Record<string, IComposableCommand>;
|
|
5
|
+
/**
|
|
6
|
+
* Dynamically resolves the active step, placeholder, ghost hint, and completion state
|
|
7
|
+
* for a composable command based on the sequence of confirmed parts and active input.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveCommandStep(command: IComposableCommand | null | undefined, confirmedParts: ICommandPart[], activeSegmentText: string, _ctx?: any): ICommandStepResolution;
|
|
@@ -83,10 +83,170 @@ export interface ICommandDefinition {
|
|
|
83
83
|
description?: string;
|
|
84
84
|
category: string;
|
|
85
85
|
executionType: CommandExecutionType | 'client-process' | 'agent-process';
|
|
86
|
-
hasRichEditor?: boolean;
|
|
87
86
|
subcommands?: ICommandSubcommandOption[];
|
|
88
87
|
args?: ICommandArgDef[];
|
|
89
88
|
}
|
|
89
|
+
export declare enum NamedColor {
|
|
90
|
+
MainGrey = "main-grey",
|
|
91
|
+
LightGrey = "light-grey",
|
|
92
|
+
DarkGrey = "dark-grey",
|
|
93
|
+
LighterGrey = "lighter-grey",
|
|
94
|
+
BackgroundGrey = "background-grey",
|
|
95
|
+
MainPrimary = "main-primary",
|
|
96
|
+
SupportPrimary = "support-primary",
|
|
97
|
+
TextPrimary = "text-primary",
|
|
98
|
+
ContrastPrimary = "contrast-primary",
|
|
99
|
+
LightContrastPrimary = "light-contrast-primary",
|
|
100
|
+
BackgroundPrimary = "background-primary",
|
|
101
|
+
MainError = "main-error",
|
|
102
|
+
MainDarkError = "main-dark-error",
|
|
103
|
+
SupportError = "support-error",
|
|
104
|
+
TextError = "text-error",
|
|
105
|
+
ContrastError = "contrast-error",
|
|
106
|
+
BackgroundError = "background-error",
|
|
107
|
+
MainSuccess = "main-success",
|
|
108
|
+
MainDarkSuccess = "main-dark-success",
|
|
109
|
+
SupportSuccess = "support-success",
|
|
110
|
+
TextSuccess = "text-success",
|
|
111
|
+
ContrastSuccess = "contrast-success",
|
|
112
|
+
BackgroundSuccess = "background-success",
|
|
113
|
+
MainWarning = "main-warning",
|
|
114
|
+
SupportWarning = "support-warning",
|
|
115
|
+
TextWarning = "text-warning",
|
|
116
|
+
ContrastWarning = "contrast-warning",
|
|
117
|
+
BackgroundWarning = "background-warning",
|
|
118
|
+
BackgroundDefinitionEntity = "background--definition-entity",
|
|
119
|
+
BackgroundSupportDefinitionEntity = "background-support--definition-entity",
|
|
120
|
+
BackgroundSuggestionDefinitionEntity = "background-suggestion--definition-entity",
|
|
121
|
+
BackgroundSupportSuggestionDefinitionEntity = "background-support-suggestion--definition-entity",
|
|
122
|
+
BackgroundDisabledDefinitionEntity = "background-disabled--definition-entity",
|
|
123
|
+
IconDefinitionEntity = "icon--definition-entity",
|
|
124
|
+
TextDefinitionEntity = "text--definition-entity",
|
|
125
|
+
BackgroundProperty = "background--property",
|
|
126
|
+
BackgroundSupportProperty = "background-support--property",
|
|
127
|
+
IconProperty = "icon--property",
|
|
128
|
+
TextProperty = "text--property",
|
|
129
|
+
BackgroundFunctionCall = "background--function-call",
|
|
130
|
+
BackgroundOperation = "background--operation",
|
|
131
|
+
BackgroundSupportFunctionCall = "background-support--function-call",
|
|
132
|
+
BackgroundSupportOperation = "background-support--operation",
|
|
133
|
+
BackgroundSuggestionFunctionCall = "background-suggestion--function-call",
|
|
134
|
+
BackgroundSuggestionOperation = "background-suggestion--operation",
|
|
135
|
+
BackgroundSupportSuggestionFunctionCall = "background-support-suggestion--function-call",
|
|
136
|
+
BackgroundSupportSuggestionOperation = "background-support-suggestion--operation",
|
|
137
|
+
BackgroundDisabledFunctionCall = "background-disabled--function-call",
|
|
138
|
+
BackgroundDisabledOperation = "background-disabled--operation",
|
|
139
|
+
IconFunctionCall = "icon--function-call",
|
|
140
|
+
IconOperation = "icon--operation",
|
|
141
|
+
TextFunctionCall = "text--function-call",
|
|
142
|
+
TextOperation = "text--operation",
|
|
143
|
+
BackgroundInternalCall = "background--internal-call",
|
|
144
|
+
BackgroundSupportInternalCall = "background-support--internal-call",
|
|
145
|
+
BackgroundSuggestionInternalCall = "background-suggestion--internal-call",
|
|
146
|
+
BackgroundSupportSuggestionInternalCall = "background-support-suggestion--internal-call",
|
|
147
|
+
BackgroundDisabledInternalCall = "background-disabled--internal-call",
|
|
148
|
+
IconInternalCall = "icon--internal-call",
|
|
149
|
+
TextInternalCall = "text--internal-call",
|
|
150
|
+
BackgroundGlobalEvent = "background--global-event",
|
|
151
|
+
BackgroundFunctionDeclaration = "background--function-declaration",
|
|
152
|
+
BackgroundSupportGlobalEvent = "background-support--global-event",
|
|
153
|
+
BackgroundSupportFunctionDeclaration = "background-support--function-declaration",
|
|
154
|
+
BackgroundSuggestionFunctionDeclaration = "background-suggestion--function-declaration",
|
|
155
|
+
BackgroundSuggestionGlobalEvent = "background-suggestion--global-event",
|
|
156
|
+
BackgroundSupportSuggestionFunctionDeclaration = "background-support-suggestion--function-declaration",
|
|
157
|
+
BackgroundSupportSuggestionGlobalEvent = "background-support-suggestion--global-event",
|
|
158
|
+
BackgroundDisabledGlobalEvent = "background-disabled--global-event",
|
|
159
|
+
BackgroundDisabledFunctionDeclaration = "background-disabled--function-declaration",
|
|
160
|
+
IconGlobalEvent = "icon--global-event",
|
|
161
|
+
IconFunctionDeclaration = "icon--function-declaration",
|
|
162
|
+
TextGlobalEvent = "text--global-event",
|
|
163
|
+
TextFunctionDeclaration = "text--function-declaration",
|
|
164
|
+
BackgroundProject = "background--project",
|
|
165
|
+
BackgroundSupportProject = "background-support--project",
|
|
166
|
+
BackgroundSuggestionProject = "background-suggestion--project",
|
|
167
|
+
BackgroundSupportSuggestionProject = "background-support-suggestion--project",
|
|
168
|
+
BackgroundDisabledProject = "background-disabled--project",
|
|
169
|
+
IconProject = "icon--project",
|
|
170
|
+
TextProject = "text--project",
|
|
171
|
+
BackgroundCondition = "background--condition",
|
|
172
|
+
BackgroundSupportCondition = "background-support--condition",
|
|
173
|
+
BackgroundSuggestionCondition = "background-suggestion--condition",
|
|
174
|
+
BackgroundSupportSuggestionCondition = "background-support-suggestion--condition",
|
|
175
|
+
BackgroundDisabledCondition = "background-disabled--condition",
|
|
176
|
+
IconCondition = "icon--condition",
|
|
177
|
+
TextCondition = "text--condition",
|
|
178
|
+
BackgroundReturnStatement = "background--return-statement",
|
|
179
|
+
BackgroundLightReturnStatement = "background-light--return-statement",
|
|
180
|
+
BackgroundContinueStatement = "background--continue-statement",
|
|
181
|
+
BackgroundLightContinueStatement = "background-light--continue-statement",
|
|
182
|
+
BackgroundBreakStatement = "background--break-statement",
|
|
183
|
+
BackgroundLightBreakStatement = "background-light--break-statement",
|
|
184
|
+
BackgroundSupportReturnStatement = "background-support--return-statement",
|
|
185
|
+
BackgroundSupportContinueStatement = "background-support--continue-statement",
|
|
186
|
+
BackgroundSupportBreakStatement = "background-support--break-statement",
|
|
187
|
+
BackgroundSuggestionReturnStatement = "background-suggestion--return-statement",
|
|
188
|
+
BackgroundSuggestionContinueStatement = "background-suggestion--continue-statement",
|
|
189
|
+
BackgroundSuggestionBreakStatement = "background-suggestion--break-statement",
|
|
190
|
+
BackgroundSupportSuggestionReturnStatement = "background-support-suggestion--return-statement",
|
|
191
|
+
BackgroundSupportSuggestionContinueStatement = "background-support-suggestion--continue-statement",
|
|
192
|
+
BackgroundSupportSuggestionBreakStatement = "background-support-suggestion--break-statement",
|
|
193
|
+
BackgroundDisabledReturnStatement = "background-disabled--return-statement",
|
|
194
|
+
BackgroundDisabledContinueStatement = "background-disabled--continue-statement",
|
|
195
|
+
BackgroundDisabledBreakStatement = "background-disabled--break-statement",
|
|
196
|
+
IconReturnStatement = "icon--return-statement",
|
|
197
|
+
IconContinueStatement = "icon--continue-statement",
|
|
198
|
+
IconBreakStatement = "icon--break-statement",
|
|
199
|
+
TextReturnStatement = "text--return-statement",
|
|
200
|
+
TextContinueStatement = "text--continue-statement",
|
|
201
|
+
TextBreakStatement = "text--break-statement",
|
|
202
|
+
BackgroundVariableDeclaration = "background--variable-declaration",
|
|
203
|
+
BackgroundVariableInstance = "background--variable-instance",
|
|
204
|
+
BackgroundSupportVariableDeclaration = "background-support--variable-declaration",
|
|
205
|
+
BackgroundSupportVariableInstance = "background-support--variable-instance",
|
|
206
|
+
BackgroundSuggestionVariableDeclaration = "background-suggestion--variable-declaration",
|
|
207
|
+
BackgroundSuggestionVariableInstance = "background-suggestion--variable-instance",
|
|
208
|
+
BackgroundSupportSuggestionVariableDeclaration = "background-support-suggestion--variable-declaration",
|
|
209
|
+
BackgroundSupportSuggestionVariableInstance = "background-support-suggestion--variable-instance",
|
|
210
|
+
BackgroundDisabledVariableDeclaration = "background-disabled--variable-declaration",
|
|
211
|
+
BackgroundDisabledVariableInstance = "background-disabled--variable-instance",
|
|
212
|
+
IconVariableDeclaration = "icon--variable-declaration",
|
|
213
|
+
IconVariableInstance = "icon--variable-instance",
|
|
214
|
+
TextVariableDeclaration = "text--variable-declaration",
|
|
215
|
+
TextVariableInstance = "text--variable-instance",
|
|
216
|
+
BackgroundLoop = "background--loop",
|
|
217
|
+
BackgroundSupportLoop = "background-support--loop",
|
|
218
|
+
BackgroundSuggestionLoop = "background-suggestion--loop",
|
|
219
|
+
BackgroundSupportSuggestionLoop = "background-support-suggestion--loop",
|
|
220
|
+
BackgroundDisabledLoop = "background-disabled--loop",
|
|
221
|
+
IconLoop = "icon--loop",
|
|
222
|
+
TextLoop = "text--loop",
|
|
223
|
+
BackgroundSearch = "background--search",
|
|
224
|
+
BackgroundSupportSearch = "background-support--search",
|
|
225
|
+
BackgroundSuggestionSearch = "background-suggestion--search",
|
|
226
|
+
BackgroundSupportSuggestionSearch = "background-support-suggestion--search",
|
|
227
|
+
BackgroundDisabledSearch = "background-disabled--search",
|
|
228
|
+
IconSearch = "icon--search",
|
|
229
|
+
TextSearch = "text--search",
|
|
230
|
+
StringValue = "string--value",
|
|
231
|
+
NumberValue = "number--value",
|
|
232
|
+
BooleanValue = "boolean--value",
|
|
233
|
+
ListValue = "list--value",
|
|
234
|
+
ObjectValue = "object--value"
|
|
235
|
+
}
|
|
236
|
+
export interface ICommandPart {
|
|
237
|
+
index: number;
|
|
238
|
+
type: 'command' | 'subcommand' | 'option' | 'argument' | 'text' | 'node';
|
|
239
|
+
label: string;
|
|
240
|
+
sublabel?: string;
|
|
241
|
+
value: string;
|
|
242
|
+
color?: string;
|
|
243
|
+
namedColor?: NamedColor | string;
|
|
244
|
+
icon?: string;
|
|
245
|
+
metadata?: {
|
|
246
|
+
entity?: any;
|
|
247
|
+
[key: string]: unknown;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
90
250
|
export interface ICommandExecutionContext {
|
|
91
251
|
project?: any;
|
|
92
252
|
conversationId: string;
|
|
@@ -95,6 +255,18 @@ export interface ICommandExecutionContext {
|
|
|
95
255
|
option?: string;
|
|
96
256
|
args: Record<string, any>;
|
|
97
257
|
rawInput: string;
|
|
258
|
+
parts?: ICommandPart[];
|
|
259
|
+
}
|
|
260
|
+
export interface ICommandAutocompleteContext {
|
|
261
|
+
project?: any;
|
|
262
|
+
conversationId?: string;
|
|
263
|
+
command?: string;
|
|
264
|
+
subcommand?: string;
|
|
265
|
+
option?: string;
|
|
266
|
+
args?: Record<string, any>;
|
|
267
|
+
rawInput?: string;
|
|
268
|
+
parts?: ICommandPart[];
|
|
269
|
+
[key: string]: unknown;
|
|
98
270
|
}
|
|
99
271
|
export interface IBeforeSubmitResult {
|
|
100
272
|
canProceed: boolean;
|
|
@@ -109,17 +281,74 @@ export interface IBeforeSubmitResult {
|
|
|
109
281
|
export interface ICommandExecutionResult {
|
|
110
282
|
success: boolean;
|
|
111
283
|
message?: string;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
284
|
+
payload?: {
|
|
285
|
+
command?: string;
|
|
286
|
+
parts?: ICommandPart[];
|
|
287
|
+
changeSetId?: string;
|
|
288
|
+
publicationId?: string;
|
|
289
|
+
createdEntityId?: string;
|
|
290
|
+
createdEntityName?: string;
|
|
291
|
+
icons?: Record<string, string>;
|
|
292
|
+
[key: string]: unknown;
|
|
293
|
+
};
|
|
294
|
+
metadata?: Record<string, unknown>;
|
|
117
295
|
}
|
|
118
296
|
export type CommandStage = 'normal' | 'command' | 'subcommand' | 'option' | 'args';
|
|
297
|
+
export type CommandStepType = 'subcommand' | 'option' | 'argument' | 'custom';
|
|
298
|
+
export interface ICommandOptionItem<TMetadata = any> {
|
|
299
|
+
id: string;
|
|
300
|
+
label: string;
|
|
301
|
+
sublabel?: string;
|
|
302
|
+
categoryTag?: string;
|
|
303
|
+
icon?: string;
|
|
304
|
+
color?: string;
|
|
305
|
+
namedColor?: NamedColor | string;
|
|
306
|
+
colorType?: string;
|
|
307
|
+
rendererId?: string;
|
|
308
|
+
metadata?: TMetadata;
|
|
309
|
+
rawEntity?: any;
|
|
310
|
+
}
|
|
311
|
+
export interface ICommandStep<TContext = any> {
|
|
312
|
+
id: string;
|
|
313
|
+
type: CommandStepType;
|
|
314
|
+
label: string;
|
|
315
|
+
placeholder?: string;
|
|
316
|
+
ghostHint?: string;
|
|
317
|
+
required?: boolean;
|
|
318
|
+
allowFreeText?: boolean;
|
|
319
|
+
isEnabled?: (confirmedParts: ICommandPart[], ctx?: TContext) => boolean;
|
|
320
|
+
getOptions?: (query: string, ctx: TContext) => Promise<ICommandOptionItem[]>;
|
|
321
|
+
resolvePart: (valueOrOption: any, ctx: TContext, partIndex: number) => ICommandPart;
|
|
322
|
+
isStepSatisfied?: (value: string | ICommandPart, ctx: TContext) => boolean;
|
|
323
|
+
}
|
|
324
|
+
export interface IComposableCommand<TContext = any> {
|
|
325
|
+
name: string;
|
|
326
|
+
label?: string;
|
|
327
|
+
description?: string;
|
|
328
|
+
category?: string;
|
|
329
|
+
icon?: string;
|
|
330
|
+
namedColor?: NamedColor | string;
|
|
331
|
+
subcommands?: Record<string, IComposableCommand<TContext>> | IComposableCommand<TContext>[];
|
|
332
|
+
steps?: ICommandStep<TContext>[] | ((confirmedParts: ICommandPart[], ctx?: TContext) => ICommandStep<TContext>[]);
|
|
333
|
+
beforeSubmit?: (ctx: ICommandExecutionContext) => Promise<IBeforeSubmitResult>;
|
|
334
|
+
execute?: (ctx: ICommandExecutionContext) => Promise<ICommandExecutionResult>;
|
|
335
|
+
getOptions?: (stage: CommandStage, query: string, ctx: ICommandAutocompleteContext) => Promise<any[]>;
|
|
336
|
+
}
|
|
337
|
+
export interface ICommandStepResolution<TContext = any> {
|
|
338
|
+
activeCommand: IComposableCommand<TContext> | ICommandExtension | null;
|
|
339
|
+
activeSubcommand?: IComposableCommand<TContext> | null;
|
|
340
|
+
currentStep: ICommandStep<TContext> | null;
|
|
341
|
+
stepIndex: number;
|
|
342
|
+
isComplete: boolean;
|
|
343
|
+
placeholder: string;
|
|
344
|
+
ghostHint?: string;
|
|
345
|
+
allowFreeText: boolean;
|
|
346
|
+
stage: CommandStage;
|
|
347
|
+
}
|
|
119
348
|
export interface ICommandExtensionModule extends IExtensionModuleCore {
|
|
120
349
|
beforeSubmit?: (ctx: ICommandExecutionContext) => Promise<IBeforeSubmitResult>;
|
|
121
350
|
execute: (ctx: ICommandExecutionContext) => Promise<ICommandExecutionResult>;
|
|
122
|
-
getOptions?: (stage: CommandStage, query: string, ctx:
|
|
351
|
+
getOptions?: (stage: CommandStage, query: string, ctx: ICommandAutocompleteContext) => Promise<any[]>;
|
|
123
352
|
}
|
|
124
353
|
export interface IExtensionModuleCore {
|
|
125
354
|
/** Called once on editor startup */
|
|
@@ -147,17 +376,17 @@ export declare class ExtensionState extends BaseExtensionState implements IExten
|
|
|
147
376
|
export interface IRegisteredExtension<T = any> extends IExecutionClient {
|
|
148
377
|
extensionsRegistry: ExtensionsRegistry;
|
|
149
378
|
manifest: ExtensionManifest;
|
|
150
|
-
command?: ICommandDefinition;
|
|
379
|
+
command?: ICommandDefinition | IComposableCommand;
|
|
151
380
|
module: ExtensionModule<T>;
|
|
152
381
|
state: IExtensionState;
|
|
153
382
|
}
|
|
154
383
|
export interface ICommandExtension extends IRegisteredExtension<ICommandExtensionModule> {
|
|
155
|
-
command: ICommandDefinition;
|
|
384
|
+
command: ICommandDefinition | IComposableCommand;
|
|
156
385
|
}
|
|
157
386
|
export declare class BaseRegisteredExtension<T = any> implements IRegisteredExtension<T> {
|
|
158
387
|
readonly extensionsRegistry: ExtensionsRegistry;
|
|
159
388
|
manifest: ExtensionManifest;
|
|
160
|
-
command?: ICommandDefinition;
|
|
389
|
+
command?: ICommandDefinition | IComposableCommand;
|
|
161
390
|
module: ExtensionModule<T>;
|
|
162
391
|
state: ExtensionState;
|
|
163
392
|
constructor(extensionsRegistry: ExtensionsRegistry, initialState?: Record<string, any>);
|