@memberjunction/ng-core-entity-forms 2.50.0 → 2.52.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 (107) hide show
  1. package/README.md +215 -1
  2. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +171 -11
  3. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  4. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1411 -145
  5. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  6. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +40 -0
  7. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -0
  8. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +965 -0
  9. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -0
  10. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +80 -5
  11. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  12. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +938 -448
  13. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  14. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +40 -0
  15. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -0
  16. package/dist/lib/custom/Actions/action-execution-log-form.component.js +530 -0
  17. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -0
  18. package/dist/lib/custom/Actions/action-form.component.d.ts +90 -0
  19. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -0
  20. package/dist/lib/custom/Actions/action-form.component.js +1579 -0
  21. package/dist/lib/custom/Actions/action-form.component.js.map +1 -0
  22. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts +32 -0
  23. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts.map +1 -0
  24. package/dist/lib/custom/Actions/action-param-dialog.component.js +320 -0
  25. package/dist/lib/custom/Actions/action-param-dialog.component.js.map +1 -0
  26. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts +15 -0
  27. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts.map +1 -0
  28. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js +96 -0
  29. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js.map +1 -0
  30. package/dist/lib/custom/Actions/action-test-harness.component.d.ts +50 -0
  31. package/dist/lib/custom/Actions/action-test-harness.component.d.ts.map +1 -0
  32. package/dist/lib/custom/Actions/action-test-harness.component.js +708 -0
  33. package/dist/lib/custom/Actions/action-test-harness.component.js.map +1 -0
  34. package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts +244 -0
  35. package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts.map +1 -0
  36. package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js +1327 -0
  37. package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js.map +1 -0
  38. package/dist/lib/custom/ai-test-harness/agent-execution-node.component.d.ts +19 -0
  39. package/dist/lib/custom/ai-test-harness/agent-execution-node.component.d.ts.map +1 -0
  40. package/dist/lib/custom/ai-test-harness/agent-execution-node.component.js +458 -0
  41. package/dist/lib/custom/ai-test-harness/agent-execution-node.component.js.map +1 -0
  42. package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.d.ts +78 -0
  43. package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.d.ts.map +1 -0
  44. package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.js +157 -0
  45. package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.js.map +1 -0
  46. package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts +589 -0
  47. package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts.map +1 -0
  48. package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js +3140 -0
  49. package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js.map +1 -0
  50. package/dist/lib/custom/ai-test-harness/json-viewer-window.component.d.ts +8 -0
  51. package/dist/lib/custom/ai-test-harness/json-viewer-window.component.d.ts.map +1 -0
  52. package/dist/lib/custom/ai-test-harness/json-viewer-window.component.js +57 -0
  53. package/dist/lib/custom/ai-test-harness/json-viewer-window.component.js.map +1 -0
  54. package/dist/lib/custom/custom-forms.module.d.ts +33 -21
  55. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  56. package/dist/lib/custom/custom-forms.module.js +97 -18
  57. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  58. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +35 -0
  59. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -0
  60. package/dist/lib/custom/shared/entity-selector-dialog.component.js +290 -0
  61. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -0
  62. package/dist/lib/custom/test-harness-dialog.service.d.ts +111 -0
  63. package/dist/lib/custom/test-harness-dialog.service.d.ts.map +1 -0
  64. package/dist/lib/custom/test-harness-dialog.service.js +211 -0
  65. package/dist/lib/custom/test-harness-dialog.service.js.map +1 -0
  66. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +12 -11
  67. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
  68. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts +54 -0
  69. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts.map +1 -0
  70. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js +492 -0
  71. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js.map +1 -0
  72. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +8 -7
  73. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
  74. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +8 -7
  75. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
  76. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +8 -7
  77. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
  78. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +12 -11
  79. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
  80. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +12 -11
  81. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
  82. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.d.ts.map +1 -1
  83. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.js +94 -4
  84. package/dist/lib/generated/Entities/AIPrompt/sections/details.component.js.map +1 -1
  85. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +12 -11
  86. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
  87. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.d.ts.map +1 -1
  88. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js +103 -4
  89. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js.map +1 -1
  90. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +12 -11
  91. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
  92. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.d.ts.map +1 -1
  93. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js +13 -4
  94. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js.map +1 -1
  95. package/dist/public-api.d.ts +3 -0
  96. package/dist/public-api.d.ts.map +1 -1
  97. package/dist/public-api.js +16 -0
  98. package/dist/public-api.js.map +1 -1
  99. package/package.json +12 -11
  100. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.d.ts +0 -52
  101. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.d.ts.map +0 -1
  102. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.js +0 -590
  103. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.js.map +0 -1
  104. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.d.ts +0 -94
  105. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.d.ts.map +0 -1
  106. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.js +0 -792
  107. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.js.map +0 -1
@@ -0,0 +1,211 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AITestHarnessDialogComponent } from './ai-test-harness/ai-test-harness-dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@progress/kendo-angular-dialog";
5
+ // TODO: Prompt test harness will be added later
6
+ // import { AIPromptTestHarnessDialogComponent, AIPromptTestHarnessDialogData } from './AIPrompts/ai-prompt-test-harness-dialog.component';
7
+ /**
8
+ * Service for managing test harness dialogs for AI Agents and AI Prompts.
9
+ * Provides a centralized way to open test harness dialogs with customizable options
10
+ * including dialog dimensions, initial data, and runtime configuration.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Open AI Agent test harness
15
+ * const dialogRef = this.testHarnessService.openAgentTestHarness({
16
+ * agentId: 'agent-123',
17
+ * title: 'Test My Agent',
18
+ * initialDataContext: { user: 'john', role: 'admin' }
19
+ * });
20
+ *
21
+ * // Open AI Prompt test harness
22
+ * const dialogRef = this.testHarnessService.openPromptTestHarness({
23
+ * promptId: 'prompt-456',
24
+ * selectedModelId: 'gpt-4',
25
+ * initialTemplateVariables: { name: 'Alice', context: 'demo' }
26
+ * });
27
+ * ```
28
+ */
29
+ export class TestHarnessDialogService {
30
+ /**
31
+ * Creates a new TestHarnessDialogService instance.
32
+ * @param dialogService - Kendo Angular dialog service for managing dialogs
33
+ */
34
+ constructor(dialogService) {
35
+ this.dialogService = dialogService;
36
+ }
37
+ /**
38
+ * Opens the AI Agent Test Harness in a dialog with comprehensive configuration options.
39
+ * Supports both loading by agent ID or passing an existing agent entity.
40
+ *
41
+ * @param options - Configuration options for the dialog
42
+ * @param options.agentId - ID of the AI agent to load (alternative to agent parameter)
43
+ * @param options.agent - Pre-loaded AI agent entity (alternative to agentId parameter)
44
+ * @param options.title - Custom title for the dialog (defaults to agent name)
45
+ * @param options.width - Dialog width (CSS units or viewport percentage, defaults to '90vw')
46
+ * @param options.height - Dialog height (CSS units or viewport percentage, defaults to '90vh')
47
+ * @param options.initialDataContext - Initial data context variables for agent execution
48
+ * @param options.initialTemplateData - Initial template data variables for agent execution
49
+ * @param options.preventClose - Whether to prevent dialog closure (currently unused)
50
+ * @returns Reference to the opened dialog for further control
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Load agent by ID with initial context
55
+ * const dialogRef = this.openAgentTestHarness({
56
+ * agentId: 'agent-123',
57
+ * initialDataContext: {
58
+ * userId: 'user-456',
59
+ * department: 'Engineering'
60
+ * },
61
+ * width: '80vw',
62
+ * height: '75vh'
63
+ * });
64
+ *
65
+ * // Use existing agent entity
66
+ * const dialogRef = this.openAgentTestHarness({
67
+ * agent: myAgentEntity,
68
+ * title: 'Custom Test Session'
69
+ * });
70
+ * ```
71
+ */
72
+ openAgentTestHarness(options) {
73
+ const data = {
74
+ agentId: options.agentId,
75
+ agent: options.agent,
76
+ title: options.title,
77
+ width: options.width || '90vw',
78
+ height: options.height || '90vh',
79
+ initialDataContext: options.initialDataContext,
80
+ initialTemplateData: options.initialTemplateData
81
+ };
82
+ const dialogSettings = {
83
+ title: '',
84
+ content: AITestHarnessDialogComponent,
85
+ width: this.convertToNumber(data.width) || 1200,
86
+ height: this.convertToNumber(data.height) || 800,
87
+ minWidth: 800,
88
+ minHeight: 600,
89
+ autoFocusedElement: 'none',
90
+ cssClass: 'test-harness-dialog-wrapper'
91
+ };
92
+ const dialogRef = this.dialogService.open(dialogSettings);
93
+ // Pass data to the component instance
94
+ const componentInstance = dialogRef.content.instance;
95
+ componentInstance.data = data;
96
+ componentInstance.closeDialog.subscribe(() => {
97
+ dialogRef.close();
98
+ });
99
+ return dialogRef;
100
+ }
101
+ // TODO: Prompt test harness will be added later
102
+ // openPromptTestHarness(options: {
103
+ // promptId?: string;
104
+ // prompt?: AIPromptEntity;
105
+ // title?: string;
106
+ // width?: string | number;
107
+ // height?: string | number;
108
+ // initialTemplateVariables?: Record<string, any>;
109
+ // selectedModelId?: string;
110
+ // preventClose?: boolean;
111
+ // }): DialogRef {
112
+ // const data: AIPromptTestHarnessDialogData = {
113
+ // promptId: options.promptId,
114
+ // prompt: options.prompt,
115
+ // title: options.title,
116
+ // width: options.width || '90vw',
117
+ // height: options.height || '90vh',
118
+ // initialTemplateVariables: options.initialTemplateVariables,
119
+ // selectedModelId: options.selectedModelId
120
+ // };
121
+ //
122
+ // const dialogSettings: DialogSettings = {
123
+ // title: '',
124
+ // content: AIPromptTestHarnessDialogComponent,
125
+ // width: this.convertToNumber(data.width) || 1200,
126
+ // height: this.convertToNumber(data.height) || 800,
127
+ // minWidth: 800,
128
+ // minHeight: 600,
129
+ // autoFocusedElement: 'none',
130
+ // cssClass: 'test-harness-dialog-wrapper'
131
+ // };
132
+ //
133
+ // const dialogRef = this.dialogService.open(dialogSettings);
134
+ //
135
+ // // Pass data to the component instance
136
+ // const componentInstance = dialogRef.content.instance as AIPromptTestHarnessDialogComponent;
137
+ // componentInstance.data = data;
138
+ // componentInstance.closeDialog.subscribe(() => {
139
+ // dialogRef.close();
140
+ // });
141
+ //
142
+ // return dialogRef;
143
+ // }
144
+ /**
145
+ * Convenience method to open an AI Agent Test Harness dialog using only the agent ID.
146
+ * Uses default dialog dimensions and no initial data.
147
+ *
148
+ * @param agentId - ID of the AI agent to test
149
+ * @returns Promise resolving to the dialog reference
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * const dialogRef = await this.testHarnessService.openAgentById('agent-123');
154
+ * ```
155
+ */
156
+ async openAgentById(agentId) {
157
+ return this.openAgentTestHarness({ agentId });
158
+ }
159
+ // TODO: Prompt test harness will be added later
160
+ // async openPromptById(promptId: string): Promise<DialogRef> {
161
+ // return this.openPromptTestHarness({ promptId });
162
+ // }
163
+ /**
164
+ * Helper method to convert string dimensions (including viewport units) to pixel numbers.
165
+ * Supports viewport width (vw), viewport height (vh), pixels (px), and plain numbers.
166
+ *
167
+ * @param value - Dimension value as string, number, or undefined
168
+ * @returns Converted pixel value or undefined if conversion fails
169
+ *
170
+ * @private
171
+ * @example
172
+ * ```typescript
173
+ * convertToNumber('90vw') // Returns ~1728 on 1920px screen
174
+ * convertToNumber('500px') // Returns 500
175
+ * convertToNumber(800) // Returns 800
176
+ * convertToNumber('auto') // Returns undefined
177
+ * ```
178
+ */
179
+ convertToNumber(value) {
180
+ if (!value)
181
+ return undefined;
182
+ if (typeof value === 'number')
183
+ return value;
184
+ // Handle percentage values
185
+ if (value.endsWith('vw') || value.endsWith('vh')) {
186
+ const percentage = parseFloat(value) / 100;
187
+ if (value.endsWith('vw')) {
188
+ return window.innerWidth * percentage;
189
+ }
190
+ else {
191
+ return window.innerHeight * percentage;
192
+ }
193
+ }
194
+ // Handle pixel values
195
+ if (value.endsWith('px')) {
196
+ return parseFloat(value);
197
+ }
198
+ // Try to parse as number
199
+ const parsed = parseFloat(value);
200
+ return isNaN(parsed) ? undefined : parsed;
201
+ }
202
+ static { this.ɵfac = function TestHarnessDialogService_Factory(t) { return new (t || TestHarnessDialogService)(i0.ɵɵinject(i1.DialogService)); }; }
203
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TestHarnessDialogService, factory: TestHarnessDialogService.ɵfac, providedIn: 'root' }); }
204
+ }
205
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestHarnessDialogService, [{
206
+ type: Injectable,
207
+ args: [{
208
+ providedIn: 'root'
209
+ }]
210
+ }], () => [{ type: i1.DialogService }], null); })();
211
+ //# sourceMappingURL=test-harness-dialog.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-harness-dialog.service.js","sourceRoot":"","sources":["../../../src/lib/custom/test-harness-dialog.service.ts"],"names":[],"mappings":"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"}
@@ -77,16 +77,17 @@ function AIAgentFormComponent_form_1_Template(rf, ctx) { if (rf & 1) {
77
77
  i0.ɵɵelement(39, "mj-user-view-grid", 9);
78
78
  i0.ɵɵelementEnd();
79
79
  i0.ɵɵelementStart(40, "mj-tab", 17);
80
- i0.ɵɵtext(41, " MJ: AI Prompt Runs ");
80
+ i0.ɵɵelement(41, "span", 18);
81
+ i0.ɵɵtext(42, "MJ: AI Prompt Runs ");
81
82
  i0.ɵɵelementEnd();
82
- i0.ɵɵelementStart(42, "mj-tab-body");
83
- i0.ɵɵelement(43, "mj-user-view-grid", 9);
83
+ i0.ɵɵelementStart(43, "mj-tab-body");
84
+ i0.ɵɵelement(44, "mj-user-view-grid", 9);
84
85
  i0.ɵɵelementEnd();
85
- i0.ɵɵelementStart(44, "mj-tab", 18);
86
- i0.ɵɵtext(45, " AI Agents ");
86
+ i0.ɵɵelementStart(45, "mj-tab", 19);
87
+ i0.ɵɵtext(46, " AI Agents ");
87
88
  i0.ɵɵelementEnd();
88
- i0.ɵɵelementStart(46, "mj-tab-body");
89
- i0.ɵɵelement(47, "mj-user-view-grid", 9);
89
+ i0.ɵɵelementStart(47, "mj-tab-body");
90
+ i0.ɵɵelement(48, "mj-user-view-grid", 9);
90
91
  i0.ɵɵelementEnd()()();
91
92
  } if (rf & 2) {
92
93
  const ctx_r1 = i0.ɵɵnextContext();
@@ -128,7 +129,7 @@ function AIAgentFormComponent_form_1_Template(rf, ctx) { if (rf & 1) {
128
129
  i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("AI Result Cache", "AgentID"))("NewRecordValues", ctx_r1.NewRecordValues("AI Result Cache"))("AllowLoad", ctx_r1.IsCurrentTab("AI Result Cache"))("EditMode", ctx_r1.GridEditMode())("BottomMargin", ctx_r1.GridBottomMargin);
129
130
  i0.ɵɵadvance();
130
131
  i0.ɵɵproperty("Visible", ctx_r1.record.IsSaved);
131
- i0.ɵɵadvance(3);
132
+ i0.ɵɵadvance(4);
132
133
  i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("MJ: AI Prompt Runs", "AgentID"))("NewRecordValues", ctx_r1.NewRecordValues("MJ: AI Prompt Runs"))("AllowLoad", ctx_r1.IsCurrentTab("MJ: AI Prompt Runs"))("EditMode", ctx_r1.GridEditMode())("BottomMargin", ctx_r1.GridBottomMargin);
133
134
  i0.ɵɵadvance();
134
135
  i0.ɵɵproperty("Visible", ctx_r1.record.IsSaved);
@@ -137,9 +138,9 @@ function AIAgentFormComponent_form_1_Template(rf, ctx) { if (rf & 1) {
137
138
  } }
138
139
  let AIAgentFormComponent = class AIAgentFormComponent extends BaseFormComponent {
139
140
  static { this.ɵfac = /*@__PURE__*/ (() => { let ɵAIAgentFormComponent_BaseFactory; return function AIAgentFormComponent_Factory(t) { return (ɵAIAgentFormComponent_BaseFactory || (ɵAIAgentFormComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AIAgentFormComponent)))(t || AIAgentFormComponent); }; })(); }
140
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentFormComponent, selectors: [["gen-aiagent-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 3, consts: [["form", "ngForm"], ["mjFillContainer", "", 1, "record-form-container", 3, "bottomMargin", "rightMargin"], ["class", "record-form", "mjFillContainer", "", 4, "ngIf"], ["mjFillContainer", "", 1, "record-form"], [3, "form"], ["mjFillContainer", "", 3, "TabSelected", "ResizeContainer"], ["Name", "Details"], ["Entity", "AI Agents", "Section", "details", 3, "record", "EditMode"], ["Name", "AI Agent Requests", 3, "Visible"], [3, "Params", "NewRecordValues", "AllowLoad", "EditMode", "BottomMargin"], ["Name", "AIAgent Learning Cycles", 3, "Visible"], ["Name", "AIAgent Models", 3, "Visible"], ["Name", "AIAgent Actions", 3, "Visible"], ["Name", "MJ: AI Agent Prompts", 3, "Visible"], ["Name", "MJ: AI Agent Runs", 3, "Visible"], ["Name", "AIAgent Notes", 3, "Visible"], ["Name", "AI Result Cache", 3, "Visible"], ["Name", "MJ: AI Prompt Runs", 3, "Visible"], ["Name", "AI Agents", 3, "Visible"]], template: function AIAgentFormComponent_Template(rf, ctx) { if (rf & 1) {
141
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentFormComponent, selectors: [["gen-aiagent-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 3, consts: [["form", "ngForm"], ["mjFillContainer", "", 1, "record-form-container", 3, "bottomMargin", "rightMargin"], ["class", "record-form", "mjFillContainer", "", 4, "ngIf"], ["mjFillContainer", "", 1, "record-form"], [3, "form"], ["mjFillContainer", "", 3, "TabSelected", "ResizeContainer"], ["Name", "Details"], ["Entity", "AI Agents", "Section", "details", 3, "record", "EditMode"], ["Name", "AI Agent Requests", 3, "Visible"], [3, "Params", "NewRecordValues", "AllowLoad", "EditMode", "BottomMargin"], ["Name", "AIAgent Learning Cycles", 3, "Visible"], ["Name", "AIAgent Models", 3, "Visible"], ["Name", "AIAgent Actions", 3, "Visible"], ["Name", "MJ: AI Agent Prompts", 3, "Visible"], ["Name", "MJ: AI Agent Runs", 3, "Visible"], ["Name", "AIAgent Notes", 3, "Visible"], ["Name", "AI Result Cache", 3, "Visible"], ["Name", "MJ: AI Prompt Runs", 3, "Visible"], [1, "fa-terminal", "tab-header-icon"], ["Name", "AI Agents", 3, "Visible"]], template: function AIAgentFormComponent_Template(rf, ctx) { if (rf & 1) {
141
142
  i0.ɵɵelementStart(0, "div", 1);
142
- i0.ɵɵtemplate(1, AIAgentFormComponent_form_1_Template, 48, 63, "form", 2);
143
+ i0.ɵɵtemplate(1, AIAgentFormComponent_form_1_Template, 49, 63, "form", 2);
143
144
  i0.ɵɵelementEnd();
144
145
  } if (rf & 2) {
145
146
  i0.ɵɵproperty("bottomMargin", 20)("rightMargin", 5);
@@ -153,7 +154,7 @@ AIAgentFormComponent = __decorate([
153
154
  export { AIAgentFormComponent };
154
155
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentFormComponent, [{
155
156
  type: Component,
156
- args: [{ selector: 'gen-aiagent-form', template: "<div class=\"record-form-container\" mjFillContainer [bottomMargin]=\"20\" [rightMargin]=\"5\">\n <form *ngIf=\"record\" class=\"record-form\" #form=\"ngForm\" mjFillContainer>\n <mj-form-toolbar [form]=\"this\"></mj-form-toolbar>\n\n <mj-tabstrip (TabSelected)=\"onTabSelect($event)\" mjFillContainer (ResizeContainer)=\"InvokeManualResize()\">\n \n <mj-tab Name=\"Details\">\n Details\n </mj-tab>\n <mj-tab-body>\n <mj-form-section \n Entity=\"AI Agents\" \n Section=\"details\" \n [record]=\"record\" \n [EditMode]=\"this.EditMode\">\n </mj-form-section>\n </mj-tab-body>\n \n <mj-tab Name=\"AI Agent Requests\" [Visible]=\"record.IsSaved\"> \n AI Agent Requests\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Requests','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Requests')\"\n [AllowLoad]=\"IsCurrentTab('AI Agent Requests')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Learning Cycles\" [Visible]=\"record.IsSaved\"> \n AIAgent Learning Cycles\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Learning Cycles','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Learning Cycles')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Learning Cycles')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Models\" [Visible]=\"record.IsSaved\"> \n AIAgent Models\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Models','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Models')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Models')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Actions\" [Visible]=\"record.IsSaved\"> \n AIAgent Actions\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Actions','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Actions')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Actions')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Agent Prompts\" [Visible]=\"record.IsSaved\"> \n MJ: AI Agent Prompts\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Agent Prompts','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Agent Prompts')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Agent Prompts')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Agent Runs\" [Visible]=\"record.IsSaved\"> \n MJ: AI Agent Runs\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Agent Runs','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Agent Runs')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Agent Runs')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Notes\" [Visible]=\"record.IsSaved\"> \n AIAgent Notes\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Notes','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Notes')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Notes')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AI Result Cache\" [Visible]=\"record.IsSaved\"> \n AI Result Cache\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Result Cache','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Result Cache')\"\n [AllowLoad]=\"IsCurrentTab('AI Result Cache')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Prompt Runs\" [Visible]=\"record.IsSaved\"> \n MJ: AI Prompt Runs\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompt Runs','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompt Runs')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Prompt Runs')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AI Agents\" [Visible]=\"record.IsSaved\"> \n AI Agents\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agents','ParentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agents')\"\n [AllowLoad]=\"IsCurrentTab('AI Agents')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n </mj-tabstrip>\n </form>\n</div>\n ", styles: [".k-pane {\n background-color: #F5F6FA;\n}\n\n.content-margin {\n margin: 10px;\n} \n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 10px;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \n} */\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n} \n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n \n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n"] }]
157
+ args: [{ selector: 'gen-aiagent-form', template: "<div class=\"record-form-container\" mjFillContainer [bottomMargin]=\"20\" [rightMargin]=\"5\">\n <form *ngIf=\"record\" class=\"record-form\" #form=\"ngForm\" mjFillContainer>\n <mj-form-toolbar [form]=\"this\"></mj-form-toolbar>\n\n <mj-tabstrip (TabSelected)=\"onTabSelect($event)\" mjFillContainer (ResizeContainer)=\"InvokeManualResize()\">\n \n <mj-tab Name=\"Details\">\n Details\n </mj-tab>\n <mj-tab-body>\n <mj-form-section \n Entity=\"AI Agents\" \n Section=\"details\" \n [record]=\"record\" \n [EditMode]=\"this.EditMode\">\n </mj-form-section>\n </mj-tab-body>\n \n <mj-tab Name=\"AI Agent Requests\" [Visible]=\"record.IsSaved\"> \n AI Agent Requests\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Requests','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Requests')\"\n [AllowLoad]=\"IsCurrentTab('AI Agent Requests')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Learning Cycles\" [Visible]=\"record.IsSaved\"> \n AIAgent Learning Cycles\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Learning Cycles','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Learning Cycles')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Learning Cycles')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Models\" [Visible]=\"record.IsSaved\"> \n AIAgent Models\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Models','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Models')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Models')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Actions\" [Visible]=\"record.IsSaved\"> \n AIAgent Actions\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Actions','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Actions')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Actions')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Agent Prompts\" [Visible]=\"record.IsSaved\"> \n MJ: AI Agent Prompts\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Agent Prompts','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Agent Prompts')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Agent Prompts')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Agent Runs\" [Visible]=\"record.IsSaved\"> \n MJ: AI Agent Runs\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Agent Runs','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Agent Runs')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Agent Runs')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AIAgent Notes\" [Visible]=\"record.IsSaved\"> \n AIAgent Notes\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agent Notes','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agent Notes')\"\n [AllowLoad]=\"IsCurrentTab('AIAgent Notes')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AI Result Cache\" [Visible]=\"record.IsSaved\"> \n AI Result Cache\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Result Cache','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Result Cache')\"\n [AllowLoad]=\"IsCurrentTab('AI Result Cache')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"MJ: AI Prompt Runs\" [Visible]=\"record.IsSaved\"> \n <span class=\"fa-terminal tab-header-icon\"></span>MJ: AI Prompt Runs\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompt Runs','AgentID')\" \n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompt Runs')\"\n [AllowLoad]=\"IsCurrentTab('MJ: AI Prompt Runs')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n\n <mj-tab Name=\"AI Agents\" [Visible]=\"record.IsSaved\"> \n AI Agents\n </mj-tab>\n <mj-tab-body>\n <mj-user-view-grid \n [Params]=\"BuildRelationshipViewParamsByEntityName('AI Agents','ParentID')\" \n [NewRecordValues]=\"NewRecordValues('AI Agents')\"\n [AllowLoad]=\"IsCurrentTab('AI Agents')\" \n [EditMode]=\"GridEditMode()\" \n [BottomMargin]=\"GridBottomMargin\">\n </mj-user-view-grid> \n </mj-tab-body>\n </mj-tabstrip>\n </form>\n</div>\n ", styles: [".k-pane {\n background-color: #F5F6FA;\n}\n\n.content-margin {\n margin: 10px;\n} \n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 10px;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \n} */\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n} \n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n \n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n"] }]
157
158
  }], null, null); })();
158
159
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIAgentFormComponent, { className: "AIAgentFormComponent", filePath: "src/lib/generated/Entities/AIAgent/aiagent.form.component.ts", lineNumber: 14 }); })();
159
160
  export function LoadAIAgentFormComponent() {
@@ -1 +1 @@
1
- {"version":3,"file":"aiagent.form.component.js","sourceRoot":"","sources":["../../../../../src/lib/generated/Entities/AIAgent/aiagent.form.component.ts","../../../../../src/lib/generated/Entities/AIAgent/aiagent.form.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;;;;;;;;;;;ICHtE,kCAAyE;IACrE,qCAAiD;IAEzC,sCAA0G;IAAzC,AAApD,wMAAe,0BAAmB,KAAC,6LAAoC,2BAAoB,KAAC;IAErG,iCAAuB;IACnB,yBACJ;IAAA,iBAAS;IACT,mCAAa;IACT,qCAKkB;IACtB,iBAAc;IAEd,iCAA4D;IACxD,mCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAAkE;IAC9D,0CACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAAyD;IACrD,iCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAA0D;IACtD,kCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAA+D;IAC3D,uCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAA4D;IACxD,oCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAAwD;IACpD,gCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAA0D;IACtD,kCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAA6D;IACzD,qCACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IACxB,iBAAc;IAEd,mCAAoD;IAChD,4BACJ;IAAA,iBAAS;IACT,oCAAa;IACT,wCAMoB;IAGxC,AADY,AADI,iBAAc,EACJ,EACnB;;;IAlJc,eAAa;IAAb,6BAAa;IAWV,eAAiB;IACjB,AADA,sCAAiB,6BACS;IAID,cAA0B;IAA1B,+CAA0B;IAKnD,eAAiF;IAIjF,AADA,AADA,AADA,AADA,uGAAiF,gEACzB,uDACT,mCACpB,yCACM;IAIF,cAA0B;IAA1B,+CAA0B;IAKzD,eAAwF;IAIxF,AADA,AADA,AADA,AADA,8GAAwF,uEACzB,6DACV,mCAC1B,yCACM;IAIX,cAA0B;IAA1B,+CAA0B;IAKhD,eAA+E;IAI/E,AADA,AADA,AADA,AADA,qGAA+E,8DACzB,oDACV,mCACjB,yCACM;IAIV,cAA0B;IAA1B,+CAA0B;IAKjD,eAAgF;IAIhF,AADA,AADA,AADA,AADA,sGAAgF,+DACzB,qDACV,mCAClB,yCACM;IAIL,cAA0B;IAA1B,+CAA0B;IAKtD,eAAoF;IAIpF,AADA,AADA,AADA,AADA,0GAAoF,mEACzB,0DACT,mCACvB,yCACM;IAIR,cAA0B;IAA1B,+CAA0B;IAKnD,eAAiF;IAIjF,AADA,AADA,AADA,AADA,uGAAiF,gEACzB,uDACT,mCACpB,yCACM;IAIZ,cAA0B;IAA1B,+CAA0B;IAK/C,eAA8E;IAI9E,AADA,AADA,AADA,AADA,oGAA8E,6DACzB,mDACV,mCAChB,yCACM;IAIV,cAA0B;IAA1B,+CAA0B;IAKjD,eAA+E;IAI/E,AADA,AADA,AADA,AADA,qGAA+E,8DACzB,qDACT,mCAClB,yCACM;IAIP,cAA0B;IAA1B,+CAA0B;IAKpD,eAAkF;IAIlF,AADA,AADA,AADA,AADA,wGAAkF,iEACzB,wDACT,mCACrB,yCACM;IAIhB,cAA0B;IAA1B,+CAA0B;IAK3C,eAA0E;IAI1E,AADA,AADA,AADA,AADA,gGAA0E,wDAC1B,+CACT,mCACZ,yCACM;;ADnItD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,iBAAiB;oPAA9C,oBAAoB,SAApB,oBAAoB;oEAApB,oBAAoB;YCbjC,8BAAyF;YACrF,yEAAyE;YAoJ7E,iBAAM;;YArJiE,AAApB,iCAAmB,kBAAkB;YAC7E,cAAY;YAAZ,iCAAY;;;ADYV,oBAAoB;IANhC,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,uCAAuC;GAMzE,oBAAoB,CAEhC;;iFAFY,oBAAoB;cALhC,SAAS;2BACI,kBAAkB;;kFAInB,oBAAoB;AAIjC,MAAM,UAAU,wBAAwB;IACpC,2BAA2B,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"aiagent.form.component.js","sourceRoot":"","sources":["../../../../../src/lib/generated/Entities/AIAgent/aiagent.form.component.ts","../../../../../src/lib/generated/Entities/AIAgent/aiagent.form.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { BaseFormSectionComponent } from '@memberjunction/ng-base-forms';
4
+ import { AIAgentEntity } from '@memberjunction/core-entities';
5
+ import * as i0 from "@angular/core";
6
+ interface AgentPrompt {
7
+ ID: string;
8
+ Name: string;
9
+ Purpose: string;
10
+ ExecutionOrder: number;
11
+ Status: string;
12
+ ContextBehavior: string;
13
+ }
14
+ interface AgentAction {
15
+ ID: string;
16
+ Name: string;
17
+ Status: string;
18
+ }
19
+ interface SubAgentItem {
20
+ ID: string;
21
+ Name: string;
22
+ Description: string;
23
+ Status: string;
24
+ ExecutionMode: string;
25
+ ExecutionOrder: number;
26
+ }
27
+ export declare class AIAgentFormOverviewComponent extends BaseFormSectionComponent implements OnInit {
28
+ private router;
29
+ record: AIAgentEntity;
30
+ EditMode: boolean;
31
+ agentPrompts: AgentPrompt[];
32
+ agentActions: AgentAction[];
33
+ subAgents: SubAgentItem[];
34
+ loadingPrompts: boolean;
35
+ loadingActions: boolean;
36
+ loadingSubAgents: boolean;
37
+ constructor(router: Router);
38
+ ngOnInit(): void;
39
+ private loadRelatedData;
40
+ private loadAgentPrompts;
41
+ private loadAgentActions;
42
+ private loadSubAgents;
43
+ openPromptRecord(promptId: string): void;
44
+ openActionRecord(actionId: string): void;
45
+ openSubAgentRecord(subAgentId: string): void;
46
+ getContextBehaviorBadgeClass(behavior: string): string;
47
+ getExecutionModeBadgeClass(mode: string): string;
48
+ getStatusClass(status: string): string;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentFormOverviewComponent, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentFormOverviewComponent, "gen-aiagent-form-overview", never, { "record": { "alias": "record"; "required": false; }; "EditMode": { "alias": "EditMode"; "required": false; }; }, {}, never, never, false, never>;
51
+ }
52
+ export declare function LoadAIAgentFormOverviewComponent(): void;
53
+ export {};
54
+ //# sourceMappingURL=aiagent-form-overview.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiagent-form-overview.component.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAA4C,MAAM,+BAA+B,CAAC;;AAGxG,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAMa,4BAA6B,SAAQ,wBAAyB,YAAW,MAAM;IAY5E,OAAO,CAAC,MAAM;IAXR,MAAM,EAAG,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAS;IAErC,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,SAAS,EAAE,YAAY,EAAE,CAAM;IAE/B,cAAc,EAAE,OAAO,CAAS;IAChC,cAAc,EAAE,OAAO,CAAS;IAChC,gBAAgB,EAAE,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAIlC,QAAQ;YAMM,eAAe;YASf,gBAAgB;YA+BhB,gBAAgB;YA4BhB,aAAa;IA+BpB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAM5C,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAYtD,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQhD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;yCA/JpC,4BAA4B;2CAA5B,4BAA4B;CA2KxC;AAED,wBAAgB,gCAAgC,SAE/C"}