@acorex-platform/extension-ai-formbuilder-client 0.0.37 → 0.0.46

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.
@@ -1,59 +1,217 @@
1
1
  import * as i0 from '@angular/core';
2
- import * as i1 from '@acorex-platform/module-platform-management-client';
3
- import { AXPDistributedEventListenerProvider } from '@acorex-platform/framework-client/core';
4
- import { AXPLayoutDesignerHeaderMenuRootPayload } from '@acorex-platform/framework-client/layout/designer';
2
+ import { DestroyRef } from '@angular/core';
3
+ import { AXPHookProvider } from '@acorex-platform/framework-client/core';
4
+ import { AXPLayoutDesignerHeaderMenuSubmenuPayload, AXPLayoutDesignerFooterEndPayload } from '@acorex-platform/framework-client/layout/designer';
5
5
  import { AXPCommand, AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';
6
6
  import * as _acorex_platform_framework_shared_core from '@acorex-platform/framework-shared/core';
7
7
 
8
- /** Entity type for form-template designer mini chats (`FormTemplateManagement.Template`). */
9
- declare const AXE_AI_FORMBUILDER_DESIGNER_ENTITY_TYPE = "FormTemplateManagement.Template";
10
- /** Fallback entity id when the designer has no persisted template id yet. */
8
+ /** Entity type for form-template designer assist (`AssessmentManagement.Template`). */
9
+ declare const AXE_AI_FORMBUILDER_DESIGNER_ENTITY_TYPE = "AssessmentManagement.Template";
10
+ /** Fallback record id when the designer has no persisted template id yet. */
11
11
  declare const AXE_AI_FORMBUILDER_DESIGNER_DRAFT_ENTITY_ID = "draft";
12
+ /** Launch kind stored on the assist room (generic contextual-assist bag). */
13
+ declare const AXE_AI_FORMBUILDER_ASSIST_KIND = "form-template-designer";
14
+ /** Action name passed into {@link AXMContextualAssistLauncherService}. */
15
+ declare const AXE_AI_FORMBUILDER_ASSIST_ACTION = "form.template.designer.assist";
16
+ /**
17
+ * Launch-context scenario for Form Template designer rooms
18
+ * (hide chat widget trees; page-context canvas edits).
19
+ */
20
+ declare const AXE_AI_FORMBUILDER_ASSIST_SCENARIO = "form-template-designer";
21
+ declare const AXE_AI_FORMBUILDER_VALIDATE_LAYOUT_COMMAND = "AiFormbuilder:ValidateLayoutJsonForAi";
22
+ declare const AXE_AI_FORMBUILDER_APPLY_LAYOUT_COMMAND = "AiFormbuilder:ApplyLayoutJsonForAi";
23
+ declare const AXE_AI_FORMBUILDER_OUTLINE_LAYOUT_COMMAND = "AiFormbuilder:OutlineLayoutForAi";
24
+ declare const AXE_AI_FORMBUILDER_ADD_WIDGET_COMMAND = "AiFormbuilder:AddWidgetForAi";
25
+ declare const AXE_AI_FORMBUILDER_UPDATE_WIDGET_COMMAND = "AiFormbuilder:UpdateWidgetForAi";
26
+ declare const AXE_AI_FORMBUILDER_REMOVE_WIDGET_COMMAND = "AiFormbuilder:RemoveWidgetForAi";
27
+ declare const AXE_AI_FORMBUILDER_MOVE_WIDGET_COMMAND = "AiFormbuilder:MoveWidgetForAi";
28
+ /** Page-context registration id while the form designer is the focused page. */
29
+ declare const AXE_AI_FORMBUILDER_PAGE_CONTEXT_ID = "layout-designer";
30
+ /** Advertised Page:RunAction id that writes the open designer canvas. */
31
+ declare const AXE_AI_FORMBUILDER_PAGE_ACTION_APPLY_LAYOUT = "apply-layout";
32
+ declare const AXE_AI_FORMBUILDER_PAGE_ACTION_ADD_WIDGET = "add-widget";
33
+ declare const AXE_AI_FORMBUILDER_PAGE_ACTION_UPDATE_WIDGET = "update-widget";
34
+ declare const AXE_AI_FORMBUILDER_PAGE_ACTION_REMOVE_WIDGET = "remove-widget";
35
+ declare const AXE_AI_FORMBUILDER_PAGE_ACTION_MOVE_WIDGET = "move-widget";
36
+ /** Seeded Form Designer assist (`AiManagement.Assist.name` = form-designer-assistant). Must match `AXMAiFormDesignerAssistId`. */
37
+ declare const AXE_AI_FORMBUILDER_DESIGNER_ASSIST_ID = "b0000001-0000-4000-8000-000000000004";
12
38
 
39
+ /**
40
+ * Optional AI assist on the form-template designer (Help menu + footer magic icon).
41
+ * Register next to {@link AXEAIConversationExtensionModule} in the application.
42
+ */
13
43
  declare class AXEAIFormBuilderExtensionModule {
14
44
  static ɵfac: i0.ɵɵFactoryDeclaration<AXEAIFormBuilderExtensionModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXEAIFormBuilderExtensionModule, never, [typeof i1.AXMPlatformManagementModule], never>;
45
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXEAIFormBuilderExtensionModule, never, never, never>;
16
46
  static ɵinj: i0.ɵɵInjectorDeclaration<AXEAIFormBuilderExtensionModule>;
17
47
  }
18
48
 
49
+ interface AXEAiFormbuilderDesignerOutlineItem {
50
+ name: string;
51
+ type: string;
52
+ path: string;
53
+ parentName?: string;
54
+ label?: string;
55
+ }
56
+
19
57
  /**
20
- * Form-template designer AI assist entry point: opens the entity-scoped mini chat panel
21
- * bound to the current template (`FormTemplateManagement.Template` + template id).
22
- *
23
- * Layout generation from chat responses is handled separately in the conversation layer.
58
+ * Form-template designer AI assist: opens the dedicated form-designer-assistant
59
+ * and advertises designer API callbacks on page context (Page:GetContext / Page:RunAction).
24
60
  */
25
61
  declare class AXEAiFormbuilderDesignerAiAssistService {
26
- private readonly miniChatPanel;
62
+ private readonly launcher;
27
63
  private readonly translationService;
64
+ private readonly toastService;
65
+ private readonly entityService;
66
+ private readonly pageContext;
67
+ private readonly realtimeBus;
68
+ private readonly destroyRef;
69
+ private designer;
70
+ private lastAppliedJson;
71
+ private pageTitle;
72
+ constructor();
73
+ /**
74
+ * Binds the live designer and advertises add/update/remove/move/apply-layout on page context.
75
+ * Pass the header {@link DestroyRef} so the registration clears when the designer unmounts.
76
+ */
77
+ bindDesigner(designer: unknown, owner?: DestroyRef): void;
28
78
  /**
29
- * Opens (or toggles) the mini chat panel for the designer's current template entity.
79
+ * Toggles contextual assist for the designer's current template (close if open, otherwise open).
30
80
  */
31
- runFromDesigner(designer: unknown): Promise<void>;
81
+ toggleFromDesigner(designer: unknown): Promise<boolean>;
82
+ /**
83
+ * Opens contextual assist for the designer's current template and binds the canvas for apply.
84
+ */
85
+ runFromDesigner(designer: unknown): Promise<boolean>;
86
+ /**
87
+ * Validates designer JSON and loads it onto the bound canvas (does not save).
88
+ */
89
+ applyLayoutJson(json: string, options?: {
90
+ replaceAll?: boolean;
91
+ }): Promise<{
92
+ applied: boolean;
93
+ errors: string[];
94
+ }>;
95
+ outline(): {
96
+ items: AXEAiFormbuilderDesignerOutlineItem[];
97
+ errors: string[];
98
+ };
99
+ addWidget(input: {
100
+ parentName?: string;
101
+ parentPath?: string;
102
+ widget?: unknown;
103
+ index?: unknown;
104
+ }): {
105
+ applied: boolean;
106
+ name?: string;
107
+ path?: string;
108
+ errors: string[];
109
+ };
110
+ updateWidget(input: {
111
+ name?: string;
112
+ path?: string;
113
+ options?: unknown;
114
+ validations?: unknown;
115
+ triggers?: unknown;
116
+ visible?: unknown;
117
+ }): {
118
+ applied: boolean;
119
+ errors: string[];
120
+ };
121
+ removeWidget(input: {
122
+ name?: string;
123
+ path?: string;
124
+ }): {
125
+ applied: boolean;
126
+ errors: string[];
127
+ };
128
+ moveWidget(input: {
129
+ name?: string;
130
+ path?: string;
131
+ parentName?: string;
132
+ parentPath?: string;
133
+ index?: unknown;
134
+ }): {
135
+ applied: boolean;
136
+ errors: string[];
137
+ };
138
+ private buildPageSnapshot;
139
+ private detectApplyWipe;
140
+ private runPageAction;
141
+ private pageActionResult;
142
+ private tryApplyFromAssistMessage;
143
+ private warnConversationUnavailable;
144
+ private loadTemplateColumns;
145
+ private resolveWidgetRef;
146
+ private asAssistDisplayText;
32
147
  static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderDesignerAiAssistService, never>;
33
148
  static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderDesignerAiAssistService>;
34
149
  }
35
150
 
36
- /** Registers the layout designer header root-menu entry for AI assist (wand icon). */
37
- declare const AXEAiFormbuilderDesignerRootMenuHookProvider: AXPDistributedEventListenerProvider<AXPLayoutDesignerHeaderMenuRootPayload, AXPLayoutDesignerHeaderMenuRootPayload>;
151
+ /** Registers the layout designer Help-menu entry for AI assist (wand icon). */
152
+ declare const AXEAiFormbuilderDesignerHelpMenuHookProvider: AXPHookProvider<AXPLayoutDesignerHeaderMenuSubmenuPayload, AXPLayoutDesignerHeaderMenuSubmenuPayload>;
153
+
154
+ /** Registers the layout designer footer-end magic-icon button for AI assist. */
155
+ declare const AXEAiFormbuilderDesignerFooterHookProvider: AXPHookProvider<AXPLayoutDesignerFooterEndPayload, AXPLayoutDesignerFooterEndPayload>;
156
+
157
+ interface AXEAiFormbuilderLayoutJsonOutlineResult {
158
+ items: AXEAiFormbuilderDesignerOutlineItem[];
159
+ errors: string[];
160
+ }
161
+ interface AXEAiFormbuilderLayoutJsonMutationResult {
162
+ applied: boolean;
163
+ json?: string;
164
+ name?: string;
165
+ path?: string;
166
+ errors: string[];
167
+ }
168
+ declare function axeOutlineLayoutJson(input: {
169
+ json?: unknown;
170
+ layoutJson?: unknown;
171
+ }): AXEAiFormbuilderLayoutJsonOutlineResult;
172
+ declare function axeAddWidgetToLayoutJson(input: {
173
+ json?: unknown;
174
+ layoutJson?: unknown;
175
+ parentName?: string;
176
+ parentPath?: string;
177
+ widget?: unknown;
178
+ index?: unknown;
179
+ }): AXEAiFormbuilderLayoutJsonMutationResult;
180
+ declare function axeUpdateWidgetInLayoutJson(input: {
181
+ json?: unknown;
182
+ layoutJson?: unknown;
183
+ name?: string;
184
+ path?: string;
185
+ options?: unknown;
186
+ validations?: unknown;
187
+ triggers?: unknown;
188
+ visible?: unknown;
189
+ }): AXEAiFormbuilderLayoutJsonMutationResult;
190
+ declare function axeRemoveWidgetFromLayoutJson(input: {
191
+ json?: unknown;
192
+ layoutJson?: unknown;
193
+ name?: string;
194
+ path?: string;
195
+ }): AXEAiFormbuilderLayoutJsonMutationResult;
196
+ declare function axeMoveWidgetInLayoutJson(input: {
197
+ json?: unknown;
198
+ layoutJson?: unknown;
199
+ name?: string;
200
+ path?: string;
201
+ parentName?: string;
202
+ parentPath?: string;
203
+ index?: unknown;
204
+ }): AXEAiFormbuilderLayoutJsonMutationResult;
38
205
 
39
206
  /** Result payload for {@link AXEAiFormbuilderValidateLayoutJsonForAiCommand}. */
40
207
  interface AXEAiFormbuilderValidateLayoutJsonForAiCommandData {
41
- /** True when the payload is valid JSON and matches the minimal AXPWidgetNode shape. */
42
208
  valid: boolean;
43
- /** Human-readable issues; empty when valid. */
44
209
  errors: string[];
45
- /**
46
- * Compact canonical JSON for the validated root (only when valid).
47
- * The specialist may paste this verbatim as its final reply.
48
- */
49
210
  normalizedJson?: string;
50
211
  }
51
212
  interface AXEAiFormbuilderValidateLayoutJsonForAiCommandInput {
52
- /**
53
- * Stringified root `AXPWidgetNode`, or a plain object after AI tool-arg normalization
54
- * (nested JSON strings are auto-parsed before `execute`).
55
- */
56
- json: string | unknown;
213
+ json?: string | unknown;
214
+ layoutJson?: string | unknown;
57
215
  }
58
216
  declare class AXEAiFormbuilderValidateLayoutJsonForAiCommand implements AXPCommand<AXEAiFormbuilderValidateLayoutJsonForAiCommandInput, AXEAiFormbuilderValidateLayoutJsonForAiCommandData> {
59
217
  execute(input: AXEAiFormbuilderValidateLayoutJsonForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderValidateLayoutJsonForAiCommandData>;
@@ -93,5 +251,317 @@ declare const axeAiFormbuilderValidateLayoutJsonForAiCommandDefinition: {
93
251
  categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
94
252
  };
95
253
 
96
- export { AXEAIFormBuilderExtensionModule, AXEAiFormbuilderDesignerAiAssistService, AXEAiFormbuilderDesignerRootMenuHookProvider, AXEAiFormbuilderValidateLayoutJsonForAiCommand, AXE_AI_FORMBUILDER_DESIGNER_DRAFT_ENTITY_ID, AXE_AI_FORMBUILDER_DESIGNER_ENTITY_TYPE, axeAiFormbuilderValidateLayoutJsonForAiCommandDefinition };
97
- export type { AXEAiFormbuilderValidateLayoutJsonForAiCommandData, AXEAiFormbuilderValidateLayoutJsonForAiCommandInput };
254
+ interface AXEAiFormbuilderApplyLayoutJsonForAiCommandInput {
255
+ json?: string | unknown;
256
+ layoutJson?: string | unknown;
257
+ }
258
+ interface AXEAiFormbuilderApplyLayoutJsonForAiCommandData {
259
+ applied: boolean;
260
+ errors: string[];
261
+ }
262
+ /** Applies validated designer JSON to the open form-template canvas. */
263
+ declare class AXEAiFormbuilderApplyLayoutJsonForAiCommand implements AXPCommand<AXEAiFormbuilderApplyLayoutJsonForAiCommandInput, AXEAiFormbuilderApplyLayoutJsonForAiCommandData> {
264
+ private readonly assist;
265
+ execute(input: AXEAiFormbuilderApplyLayoutJsonForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderApplyLayoutJsonForAiCommandData>;
266
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderApplyLayoutJsonForAiCommand, never>;
267
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderApplyLayoutJsonForAiCommand>;
268
+ }
269
+
270
+ /**
271
+ * Build-time only. Do not import from Angular modules.
272
+ * Source: apply-layout-json-for-ai.command.ts — AXEAiFormbuilderApplyLayoutJsonForAiCommand.execute
273
+ */
274
+ declare const axeAiFormbuilderApplyLayoutJsonForAiCommandDefinition: {
275
+ key: string;
276
+ title: string;
277
+ description: string;
278
+ executionMode: "frontend";
279
+ inputs: {
280
+ name: string;
281
+ title: string;
282
+ description: string;
283
+ interface: {
284
+ name: string;
285
+ };
286
+ validations: {
287
+ rule: string;
288
+ }[];
289
+ }[];
290
+ outcomes: {
291
+ mode: "static";
292
+ values: string[];
293
+ };
294
+ ai: {
295
+ shortDescription: string;
296
+ tags: string[];
297
+ };
298
+ capabilities: "ai"[];
299
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
300
+ };
301
+
302
+ interface AXEAiFormbuilderOutlineLayoutForAiCommandInput {
303
+ json?: unknown;
304
+ layoutJson?: unknown;
305
+ }
306
+ type AXEAiFormbuilderOutlineLayoutForAiCommandData = AXEAiFormbuilderLayoutJsonOutlineResult;
307
+ declare class AXEAiFormbuilderOutlineLayoutForAiCommand implements AXPCommand<AXEAiFormbuilderOutlineLayoutForAiCommandInput, AXEAiFormbuilderOutlineLayoutForAiCommandData> {
308
+ execute(input?: AXEAiFormbuilderOutlineLayoutForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderOutlineLayoutForAiCommandData>;
309
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderOutlineLayoutForAiCommand, never>;
310
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderOutlineLayoutForAiCommand>;
311
+ }
312
+
313
+ /**
314
+ * Build-time only. Do not import from Angular modules.
315
+ * Source: outline-layout-for-ai.command.ts — AXEAiFormbuilderOutlineLayoutForAiCommand.execute
316
+ */
317
+ declare const axeAiFormbuilderOutlineLayoutForAiCommandDefinition: {
318
+ key: string;
319
+ title: string;
320
+ description: string;
321
+ executionMode: "frontend";
322
+ inputs: {
323
+ name: string;
324
+ title: string;
325
+ description: string;
326
+ interface: {
327
+ name: string;
328
+ };
329
+ validations: {
330
+ rule: string;
331
+ }[];
332
+ }[];
333
+ outcomes: {
334
+ mode: "static";
335
+ values: string[];
336
+ };
337
+ ai: {
338
+ shortDescription: string;
339
+ tags: string[];
340
+ };
341
+ capabilities: "ai"[];
342
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
343
+ };
344
+
345
+ interface AXEAiFormbuilderAddWidgetForAiCommandInput {
346
+ json?: unknown;
347
+ layoutJson?: unknown;
348
+ parentName?: string;
349
+ parentPath?: string;
350
+ widget?: unknown;
351
+ index?: unknown;
352
+ }
353
+ type AXEAiFormbuilderAddWidgetForAiCommandData = AXEAiFormbuilderLayoutJsonMutationResult;
354
+ declare class AXEAiFormbuilderAddWidgetForAiCommand implements AXPCommand<AXEAiFormbuilderAddWidgetForAiCommandInput, AXEAiFormbuilderAddWidgetForAiCommandData> {
355
+ execute(input: AXEAiFormbuilderAddWidgetForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderAddWidgetForAiCommandData>;
356
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderAddWidgetForAiCommand, never>;
357
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderAddWidgetForAiCommand>;
358
+ }
359
+
360
+ /**
361
+ * Build-time only. Do not import from Angular modules.
362
+ * Source: add-widget-for-ai.command.ts — AXEAiFormbuilderAddWidgetForAiCommand.execute
363
+ */
364
+ declare const axeAiFormbuilderAddWidgetForAiCommandDefinition: {
365
+ key: string;
366
+ title: string;
367
+ description: string;
368
+ executionMode: "frontend";
369
+ inputs: ({
370
+ name: string;
371
+ title: string;
372
+ description: string;
373
+ interface: {
374
+ name: string;
375
+ };
376
+ validations: {
377
+ rule: string;
378
+ }[];
379
+ } | {
380
+ name: string;
381
+ title: string;
382
+ description: string;
383
+ interface: {
384
+ name: string;
385
+ };
386
+ validations?: undefined;
387
+ })[];
388
+ outcomes: {
389
+ mode: "static";
390
+ values: string[];
391
+ };
392
+ ai: {
393
+ shortDescription: string;
394
+ tags: string[];
395
+ };
396
+ capabilities: "ai"[];
397
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
398
+ };
399
+
400
+ interface AXEAiFormbuilderUpdateWidgetForAiCommandInput {
401
+ json?: unknown;
402
+ layoutJson?: unknown;
403
+ name?: string;
404
+ path?: string;
405
+ options?: unknown;
406
+ validations?: unknown;
407
+ triggers?: unknown;
408
+ visible?: unknown;
409
+ }
410
+ type AXEAiFormbuilderUpdateWidgetForAiCommandData = AXEAiFormbuilderLayoutJsonMutationResult;
411
+ declare class AXEAiFormbuilderUpdateWidgetForAiCommand implements AXPCommand<AXEAiFormbuilderUpdateWidgetForAiCommandInput, AXEAiFormbuilderUpdateWidgetForAiCommandData> {
412
+ execute(input: AXEAiFormbuilderUpdateWidgetForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderUpdateWidgetForAiCommandData>;
413
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderUpdateWidgetForAiCommand, never>;
414
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderUpdateWidgetForAiCommand>;
415
+ }
416
+
417
+ /**
418
+ * Build-time only. Do not import from Angular modules.
419
+ * Source: update-widget-for-ai.command.ts — AXEAiFormbuilderUpdateWidgetForAiCommand.execute
420
+ */
421
+ declare const axeAiFormbuilderUpdateWidgetForAiCommandDefinition: {
422
+ key: string;
423
+ title: string;
424
+ description: string;
425
+ executionMode: "frontend";
426
+ inputs: ({
427
+ name: string;
428
+ title: string;
429
+ description: string;
430
+ interface: {
431
+ name: string;
432
+ };
433
+ validations: {
434
+ rule: string;
435
+ }[];
436
+ } | {
437
+ name: string;
438
+ title: string;
439
+ description: string;
440
+ interface: {
441
+ name: string;
442
+ };
443
+ validations?: undefined;
444
+ })[];
445
+ outcomes: {
446
+ mode: "static";
447
+ values: string[];
448
+ };
449
+ ai: {
450
+ shortDescription: string;
451
+ tags: string[];
452
+ };
453
+ capabilities: "ai"[];
454
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
455
+ };
456
+
457
+ interface AXEAiFormbuilderRemoveWidgetForAiCommandInput {
458
+ json?: unknown;
459
+ layoutJson?: unknown;
460
+ name?: string;
461
+ path?: string;
462
+ }
463
+ type AXEAiFormbuilderRemoveWidgetForAiCommandData = AXEAiFormbuilderLayoutJsonMutationResult;
464
+ declare class AXEAiFormbuilderRemoveWidgetForAiCommand implements AXPCommand<AXEAiFormbuilderRemoveWidgetForAiCommandInput, AXEAiFormbuilderRemoveWidgetForAiCommandData> {
465
+ execute(input: AXEAiFormbuilderRemoveWidgetForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderRemoveWidgetForAiCommandData>;
466
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderRemoveWidgetForAiCommand, never>;
467
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderRemoveWidgetForAiCommand>;
468
+ }
469
+
470
+ /**
471
+ * Build-time only. Do not import from Angular modules.
472
+ * Source: remove-widget-for-ai.command.ts — AXEAiFormbuilderRemoveWidgetForAiCommand.execute
473
+ */
474
+ declare const axeAiFormbuilderRemoveWidgetForAiCommandDefinition: {
475
+ key: string;
476
+ title: string;
477
+ description: string;
478
+ executionMode: "frontend";
479
+ inputs: ({
480
+ name: string;
481
+ title: string;
482
+ description: string;
483
+ interface: {
484
+ name: string;
485
+ };
486
+ validations: {
487
+ rule: string;
488
+ }[];
489
+ } | {
490
+ name: string;
491
+ title: string;
492
+ description: string;
493
+ interface: {
494
+ name: string;
495
+ };
496
+ validations?: undefined;
497
+ })[];
498
+ outcomes: {
499
+ mode: "static";
500
+ values: string[];
501
+ };
502
+ ai: {
503
+ shortDescription: string;
504
+ tags: string[];
505
+ };
506
+ capabilities: "ai"[];
507
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
508
+ };
509
+
510
+ interface AXEAiFormbuilderMoveWidgetForAiCommandInput {
511
+ json?: unknown;
512
+ layoutJson?: unknown;
513
+ name?: string;
514
+ path?: string;
515
+ parentName?: string;
516
+ parentPath?: string;
517
+ index?: unknown;
518
+ }
519
+ type AXEAiFormbuilderMoveWidgetForAiCommandData = AXEAiFormbuilderLayoutJsonMutationResult;
520
+ declare class AXEAiFormbuilderMoveWidgetForAiCommand implements AXPCommand<AXEAiFormbuilderMoveWidgetForAiCommandInput, AXEAiFormbuilderMoveWidgetForAiCommandData> {
521
+ execute(input: AXEAiFormbuilderMoveWidgetForAiCommandInput): AXPCommandExecuteResultPromise<AXEAiFormbuilderMoveWidgetForAiCommandData>;
522
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEAiFormbuilderMoveWidgetForAiCommand, never>;
523
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEAiFormbuilderMoveWidgetForAiCommand>;
524
+ }
525
+
526
+ /**
527
+ * Build-time only. Do not import from Angular modules.
528
+ * Source: move-widget-for-ai.command.ts — AXEAiFormbuilderMoveWidgetForAiCommand.execute
529
+ */
530
+ declare const axeAiFormbuilderMoveWidgetForAiCommandDefinition: {
531
+ key: string;
532
+ title: string;
533
+ description: string;
534
+ executionMode: "frontend";
535
+ inputs: ({
536
+ name: string;
537
+ title: string;
538
+ description: string;
539
+ interface: {
540
+ name: string;
541
+ };
542
+ validations: {
543
+ rule: string;
544
+ }[];
545
+ } | {
546
+ name: string;
547
+ title: string;
548
+ description: string;
549
+ interface: {
550
+ name: string;
551
+ };
552
+ validations?: undefined;
553
+ })[];
554
+ outcomes: {
555
+ mode: "static";
556
+ values: string[];
557
+ };
558
+ ai: {
559
+ shortDescription: string;
560
+ tags: string[];
561
+ };
562
+ capabilities: "ai"[];
563
+ categories: _acorex_platform_framework_shared_core.AXPDefinitionCategory[];
564
+ };
565
+
566
+ export { AXEAIFormBuilderExtensionModule, AXEAiFormbuilderAddWidgetForAiCommand, AXEAiFormbuilderApplyLayoutJsonForAiCommand, AXEAiFormbuilderDesignerAiAssistService, AXEAiFormbuilderDesignerFooterHookProvider, AXEAiFormbuilderDesignerHelpMenuHookProvider, AXEAiFormbuilderMoveWidgetForAiCommand, AXEAiFormbuilderOutlineLayoutForAiCommand, AXEAiFormbuilderRemoveWidgetForAiCommand, AXEAiFormbuilderUpdateWidgetForAiCommand, AXEAiFormbuilderValidateLayoutJsonForAiCommand, AXE_AI_FORMBUILDER_ADD_WIDGET_COMMAND, AXE_AI_FORMBUILDER_APPLY_LAYOUT_COMMAND, AXE_AI_FORMBUILDER_ASSIST_ACTION, AXE_AI_FORMBUILDER_ASSIST_KIND, AXE_AI_FORMBUILDER_ASSIST_SCENARIO, AXE_AI_FORMBUILDER_DESIGNER_ASSIST_ID, AXE_AI_FORMBUILDER_DESIGNER_DRAFT_ENTITY_ID, AXE_AI_FORMBUILDER_DESIGNER_ENTITY_TYPE, AXE_AI_FORMBUILDER_MOVE_WIDGET_COMMAND, AXE_AI_FORMBUILDER_OUTLINE_LAYOUT_COMMAND, AXE_AI_FORMBUILDER_PAGE_ACTION_ADD_WIDGET, AXE_AI_FORMBUILDER_PAGE_ACTION_APPLY_LAYOUT, AXE_AI_FORMBUILDER_PAGE_ACTION_MOVE_WIDGET, AXE_AI_FORMBUILDER_PAGE_ACTION_REMOVE_WIDGET, AXE_AI_FORMBUILDER_PAGE_ACTION_UPDATE_WIDGET, AXE_AI_FORMBUILDER_PAGE_CONTEXT_ID, AXE_AI_FORMBUILDER_REMOVE_WIDGET_COMMAND, AXE_AI_FORMBUILDER_UPDATE_WIDGET_COMMAND, AXE_AI_FORMBUILDER_VALIDATE_LAYOUT_COMMAND, axeAddWidgetToLayoutJson, axeAiFormbuilderAddWidgetForAiCommandDefinition, axeAiFormbuilderApplyLayoutJsonForAiCommandDefinition, axeAiFormbuilderMoveWidgetForAiCommandDefinition, axeAiFormbuilderOutlineLayoutForAiCommandDefinition, axeAiFormbuilderRemoveWidgetForAiCommandDefinition, axeAiFormbuilderUpdateWidgetForAiCommandDefinition, axeAiFormbuilderValidateLayoutJsonForAiCommandDefinition, axeMoveWidgetInLayoutJson, axeOutlineLayoutJson, axeRemoveWidgetFromLayoutJson, axeUpdateWidgetInLayoutJson };
567
+ export type { AXEAiFormbuilderAddWidgetForAiCommandData, AXEAiFormbuilderAddWidgetForAiCommandInput, AXEAiFormbuilderApplyLayoutJsonForAiCommandData, AXEAiFormbuilderApplyLayoutJsonForAiCommandInput, AXEAiFormbuilderLayoutJsonMutationResult, AXEAiFormbuilderLayoutJsonOutlineResult, AXEAiFormbuilderMoveWidgetForAiCommandData, AXEAiFormbuilderMoveWidgetForAiCommandInput, AXEAiFormbuilderOutlineLayoutForAiCommandData, AXEAiFormbuilderOutlineLayoutForAiCommandInput, AXEAiFormbuilderRemoveWidgetForAiCommandData, AXEAiFormbuilderRemoveWidgetForAiCommandInput, AXEAiFormbuilderUpdateWidgetForAiCommandData, AXEAiFormbuilderUpdateWidgetForAiCommandInput, AXEAiFormbuilderValidateLayoutJsonForAiCommandData, AXEAiFormbuilderValidateLayoutJsonForAiCommandInput };