@memberjunction/ng-core-entity-forms 6.2.0-edge.3 → 6.2.0-edge.5
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/lib/custom/AIAgents/ai-agent-form.component.d.ts +12 -0
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +43 -26
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +7 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +191 -178
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/prompt-run-data-capture-note.component.d.ts +48 -0
- package/dist/lib/custom/AIPromptRuns/prompt-run-data-capture-note.component.d.ts.map +1 -0
- package/dist/lib/custom/AIPromptRuns/prompt-run-data-capture-note.component.js +195 -0
- package/dist/lib/custom/AIPromptRuns/prompt-run-data-capture-note.component.js.map +1 -0
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +324 -322
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +16 -3
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +103 -43
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +8 -0
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +18 -4
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +5 -5
- package/dist/lib/custom/Files/file-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Files/file-form.component.js +227 -157
- package/dist/lib/custom/Files/file-form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.logic.d.ts +24 -0
- package/dist/lib/custom/Files/file-form.logic.d.ts.map +1 -0
- package/dist/lib/custom/Files/file-form.logic.js +57 -0
- package/dist/lib/custom/Files/file-form.logic.js.map +1 -0
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +3 -2
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +2 -2
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +6 -3
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +3 -3
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +5 -7
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/agent-run-cost-split.d.ts +34 -0
- package/dist/lib/custom/ai-agent-run/agent-run-cost-split.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/agent-run-cost-split.js +33 -0
- package/dist/lib/custom/ai-agent-run/agent-run-cost-split.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +3 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +261 -242
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +8 -8
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +37 -5
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +155 -79
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +8 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +59 -8
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +34 -9
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +164 -43
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js +3 -1
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +82 -79
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +16 -2
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +65 -47
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +115 -117
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +64 -24
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +74 -52
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSessionRecordingShard/mjaiagentsessionrecordingshard.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentSessionRecordingShard/mjaiagentsessionrecordingshard.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentSessionRecordingShard/mjaiagentsessionrecordingshard.form.component.js +86 -0
- package/dist/lib/generated/Entities/MJAIAgentSessionRecordingShard/mjaiagentsessionrecordingshard.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentUserPolicy/mjaiagentuserpolicy.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentUserPolicy/mjaiagentuserpolicy.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentUserPolicy/mjaiagentuserpolicy.form.component.js +132 -0
- package/dist/lib/generated/Entities/MJAIAgentUserPolicy/mjaiagentuserpolicy.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIBridgeAgentIdentity/mjaibridgeagentidentity.form.component.js +12 -10
- package/dist/lib/generated/Entities/MJAIBridgeAgentIdentity/mjaibridgeagentidentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +86 -32
- package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPersona/mjaipersona.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPersona/mjaipersona.form.component.js +25 -7
- package/dist/lib/generated/Entities/MJAIPersona/mjaipersona.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +180 -160
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js +16 -14
- package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js +23 -21
- package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js +21 -19
- package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +30 -20
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +32 -14
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationBranch/mjconversationbranch.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJConversationBranch/mjconversationbranch.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJConversationBranch/mjconversationbranch.form.component.js +111 -0
- package/dist/lib/generated/Entities/MJConversationBranch/mjconversationbranch.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +59 -67
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +35 -17
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +112 -94
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFeaturePipelineVersion/mjfeaturepipelineversion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineVersion/mjfeaturepipelineversion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineVersion/mjfeaturepipelineversion.form.component.js +130 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineVersion/mjfeaturepipelineversion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js +26 -14
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js +23 -19
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +29 -27
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js +17 -15
- package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +27 -9
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJScopedNotificationConfig/mjscopednotificationconfig.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJScopedNotificationConfig/mjscopednotificationconfig.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJScopedNotificationConfig/mjscopednotificationconfig.form.component.js +106 -0
- package/dist/lib/generated/Entities/MJScopedNotificationConfig/mjscopednotificationconfig.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +24 -6
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js +29 -11
- package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTheme/mjtheme.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTheme/mjtheme.form.component.js +13 -3
- package/dist/lib/generated/Entities/MJTheme/mjtheme.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +788 -714
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js +24 -6
- package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js +31 -25
- package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +286 -281
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +15 -0
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/panels/feature-values/feature-values.logic.d.ts +55 -0
- package/dist/lib/panels/feature-values/feature-values.logic.d.ts.map +1 -0
- package/dist/lib/panels/feature-values/feature-values.logic.js +88 -0
- package/dist/lib/panels/feature-values/feature-values.logic.js.map +1 -0
- package/dist/lib/panels/feature-values/feature-values.panel.d.ts +39 -0
- package/dist/lib/panels/feature-values/feature-values.panel.d.ts.map +1 -0
- package/dist/lib/panels/feature-values/feature-values.panel.js +303 -0
- package/dist/lib/panels/feature-values/feature-values.panel.js.map +1 -0
- package/dist/lib/shared/components/template-editor.component.js +2 -2
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +48 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-run-data.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-data.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ai-agent-run-data.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-data.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
2
|
import { Metadata, RunView } from '@memberjunction/core';
|
|
3
|
+
import { ApplyResolvedPayloadAtStart, ApplyResolvedPayloadAtEnd } from '@memberjunction/ai-core-plus';
|
|
3
4
|
import { SortAgentRunStepsByExecutionOrder } from './agent-run-step-order';
|
|
4
5
|
/**
|
|
5
6
|
* Helper class for managing AI Agent Run data per component instance
|
|
@@ -137,6 +138,9 @@ export class AIAgentRunDataHelper {
|
|
|
137
138
|
throw new Error('Failed to load agent run steps');
|
|
138
139
|
}
|
|
139
140
|
const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results || []);
|
|
141
|
+
// Fill PayloadAtEnd and PayloadAtStart on steps that point at an earlier step's PayloadAtEnd.
|
|
142
|
+
ApplyResolvedPayloadAtEnd(steps);
|
|
143
|
+
ApplyResolvedPayloadAtStart(steps);
|
|
140
144
|
// Build filters for batch loading
|
|
141
145
|
const actionLogIds = steps
|
|
142
146
|
.filter(s => s.StepType === 'Actions' && s.TargetLogID)
|
|
@@ -153,11 +157,6 @@ export class AIAgentRunDataHelper {
|
|
|
153
157
|
EntityName: 'MJ: AI Agent Runs',
|
|
154
158
|
ExtraFilter: `ParentRunID='${agentRunId}'`,
|
|
155
159
|
OrderBy: 'StartedAt'
|
|
156
|
-
},
|
|
157
|
-
// Current run query
|
|
158
|
-
{
|
|
159
|
-
EntityName: 'MJ: AI Agent Runs',
|
|
160
|
-
ExtraFilter: `ID='${agentRunId}'`
|
|
161
160
|
}
|
|
162
161
|
];
|
|
163
162
|
// Add action logs query if needed
|
|
@@ -181,12 +180,10 @@ export class AIAgentRunDataHelper {
|
|
|
181
180
|
// Process results
|
|
182
181
|
let resultIndex = 0;
|
|
183
182
|
// Sub-runs
|
|
184
|
-
const subRuns = batchResults[resultIndex]
|
|
183
|
+
const subRuns = batchResults[resultIndex]?.Success
|
|
185
184
|
? (batchResults[resultIndex].Results || [])
|
|
186
185
|
: [];
|
|
187
186
|
resultIndex++;
|
|
188
|
-
// Skip current run result
|
|
189
|
-
resultIndex++;
|
|
190
187
|
// Action logs
|
|
191
188
|
const actionLogs = actionLogIds.length > 0 && batchResults[resultIndex]?.Success
|
|
192
189
|
? (batchResults[resultIndex].Results || [])
|
|
@@ -233,6 +230,9 @@ export class AIAgentRunDataHelper {
|
|
|
233
230
|
return { steps: [], promptRuns: [] };
|
|
234
231
|
}
|
|
235
232
|
const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results);
|
|
233
|
+
// Fill PayloadAtEnd and PayloadAtStart on steps that point at an earlier step's PayloadAtEnd.
|
|
234
|
+
ApplyResolvedPayloadAtEnd(steps);
|
|
235
|
+
ApplyResolvedPayloadAtStart(steps);
|
|
236
236
|
// Get prompt run IDs
|
|
237
237
|
const promptRunIds = steps
|
|
238
238
|
.filter(s => s.StepType === 'Prompt' && s.TargetLogID)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-run-data.service.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-data.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\nimport { IMetadataProvider, Metadata, RunView } from '@memberjunction/core';\nimport { MJAIAgentRunEntity, MJAIAgentRunStepEntity, MJActionExecutionLogEntity, MJAIPromptRunEntity } from '@memberjunction/core-entities';\nimport { SortAgentRunStepsByExecutionOrder } from './agent-run-step-order';\n\nexport interface AgentRunData {\n steps: MJAIAgentRunStepEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n subRuns: MJAIAgentRunEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n actionLogs: MJActionExecutionLogEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n promptRuns: MJAIPromptRunEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n}\n\n/**\n * Helper class for managing AI Agent Run data per component instance\n * No longer a singleton Angular service - instantiated per component\n */\nexport class AIAgentRunDataHelper {\n // Data subjects\n private stepsSubject$ = new BehaviorSubject<MJAIAgentRunStepEntity[]>([]);\n private subRunsSubject$ = new BehaviorSubject<MJAIAgentRunEntity[]>([]);\n private actionLogsSubject$ = new BehaviorSubject<MJActionExecutionLogEntity[]>([]);\n private promptRunsSubject$ = new BehaviorSubject<MJAIPromptRunEntity[]>([]);\n private loadingSubject$ = new BehaviorSubject<boolean>(true);\n private errorSubject$ = new BehaviorSubject<string | null>(null);\n \n // Public observables\n Steps$ = this.stepsSubject$.asObservable();\n\n /** @deprecated Use {@link Steps$}. */\n get steps$() {\n return this.Steps$;\n }\n /** @deprecated Use {@link Steps$}. */\n set steps$(value) {\n this.Steps$ = value;\n }\n SubRuns$ = this.subRunsSubject$.asObservable();\n\n /** @deprecated Use {@link SubRuns$}. */\n get subRuns$() {\n return this.SubRuns$;\n }\n /** @deprecated Use {@link SubRuns$}. */\n set subRuns$(value) {\n this.SubRuns$ = value;\n }\n ActionLogs$ = this.actionLogsSubject$.asObservable();\n\n /** @deprecated Use {@link ActionLogs$}. */\n get actionLogs$() {\n return this.ActionLogs$;\n }\n /** @deprecated Use {@link ActionLogs$}. */\n set actionLogs$(value) {\n this.ActionLogs$ = value;\n }\n PromptRuns$ = this.promptRunsSubject$.asObservable();\n\n /** @deprecated Use {@link PromptRuns$}. */\n get promptRuns$() {\n return this.PromptRuns$;\n }\n /** @deprecated Use {@link PromptRuns$}. */\n set promptRuns$(value) {\n this.PromptRuns$ = value;\n }\n Loading$ = this.loadingSubject$.asObservable();\n\n /** @deprecated Use {@link Loading$}. */\n get loading$() {\n return this.Loading$;\n }\n /** @deprecated Use {@link Loading$}. */\n set loading$(value) {\n this.Loading$ = value;\n }\n Error$ = this.errorSubject$.asObservable();\n\n /** @deprecated Use {@link Error$}. */\n get error$() {\n return this.Error$;\n }\n /** @deprecated Use {@link Error$}. */\n set error$(value) {\n this.Error$ = value;\n }\n \n // Cache for sub-agent data with size limit\n private readonly MAX_CACHE_SIZE = 100; // Maximum 100 sub-agent entries\n private readonly CACHE_TTL_MS = 15 * 60 * 1000; // 15 minute TTL\n \n private subAgentDataCache = new Map<string, {\n steps: MJAIAgentRunStepEntity[];\n promptRuns: MJAIPromptRunEntity[];\n timestamp: number;\n }>();\n \n // Track cache access order for LRU eviction\n private cacheAccessOrder: string[] = [];\n \n private currentAgentRunId: string | null = null;\n\n /**\n * Optional explicit metadata provider. Set via `setProvider()` by the\n * owning component (which has provider context via BaseAngularComponent).\n * Falls back to `Metadata.Provider` when not set.\n */\n private _provider: IMetadataProvider | null = null;\n\n public set Provider(value: IMetadataProvider | null) {\n this._provider = value;\n }\n\n public get Provider(): IMetadataProvider {\n return this._provider ?? Metadata.Provider;\n }\n\n constructor() {}\n \n /**\n * Load all data for an agent run\n */\n async LoadAgentRunData(agentRunId: string, forceReload = false): Promise<void> {\n if (!agentRunId) {\n this.errorSubject$.next('No agent run ID provided');\n return;\n }\n \n // Skip cache check when force reloading\n if (!forceReload && this.currentAgentRunId === agentRunId && this.stepsSubject$.value.length > 0) {\n return;\n }\n \n this.currentAgentRunId = agentRunId;\n this.loadingSubject$.next(true);\n this.errorSubject$.next(null);\n \n // Clear cache when loading new run\n this.subAgentDataCache.clear();\n \n try {\n await this.loadStepsAndSubRuns(agentRunId);\n } catch (error) {\n this.errorSubject$.next('Failed to load agent run data');\n console.error('Error loading agent run data:', error);\n } finally {\n this.loadingSubject$.next(false);\n }\n }\n\n /** @deprecated Use {@link LoadAgentRunData}. */\n async loadAgentRunData(agentRunId: string, forceReload = false): Promise<void> {\n return this.LoadAgentRunData(agentRunId, forceReload);\n }\n \n private async loadStepsAndSubRuns(agentRunId: string) {\n const rv = RunView.FromMetadataProvider(this.Provider);\n \n // First, get all steps to determine what additional data we need\n // StartedAt is execution time (what the timeline paints). __mj_CreatedAt is persist time\n // and inverts for fast sibling steps whose fire-and-forget INSERTs race. StepNumber is\n // the same-millisecond tie-break. Client-sort after the query as well — T-SQL NULLs\n // sort first, and SQL datetime rounding can still disagree with JS Date.getTime().\n const stepsResult = await rv.RunView<MJAIAgentRunStepEntity>({\n EntityName: 'MJ: AI Agent Run Steps',\n ExtraFilter: `AgentRunID='${agentRunId}'`,\n OrderBy: 'StartedAt, StepNumber'\n });\n \n if (!stepsResult.Success) {\n throw new Error('Failed to load agent run steps');\n }\n \n const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results as MJAIAgentRunStepEntity[] || []);\n \n // Build filters for batch loading\n const actionLogIds = steps\n .filter(s => s.StepType === 'Actions' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n const promptRunIds = steps\n .filter(s => s.StepType === 'Prompt' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n // Build batch queries array\n const batchQueries: any[] = [\n // Sub-runs query\n {\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `ParentRunID='${agentRunId}'`,\n OrderBy: 'StartedAt'\n },\n // Current run query\n {\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `ID='${agentRunId}'`\n }\n ];\n \n // Add action logs query if needed\n if (actionLogIds.length > 0) {\n batchQueries.push({\n EntityName: 'MJ: Action Execution Logs',\n ExtraFilter: `ID IN ('${actionLogIds.join(\"','\")}')`,\n OrderBy: 'StartedAt'\n });\n }\n \n // Add prompt runs query if needed\n if (promptRunIds.length > 0) {\n batchQueries.push({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ID IN ('${promptRunIds.join(\"','\")}')`,\n OrderBy: '__mj_CreatedAt'\n });\n }\n \n // Execute all queries in one batch\n const batchResults = await rv.RunViews(batchQueries);\n \n // Process results\n let resultIndex = 0;\n \n // Sub-runs\n const subRuns = batchResults[resultIndex].Success \n ? (batchResults[resultIndex].Results as MJAIAgentRunEntity[] || [])\n : [];\n resultIndex++;\n \n // Skip current run result\n resultIndex++;\n \n // Action logs\n const actionLogs = actionLogIds.length > 0 && batchResults[resultIndex]?.Success\n ? (batchResults[resultIndex].Results as MJActionExecutionLogEntity[] || [])\n : [];\n if (actionLogIds.length > 0) resultIndex++;\n \n // Prompt runs\n const promptRuns = promptRunIds.length > 0 && batchResults[resultIndex]?.Success\n ? (batchResults[resultIndex].Results as MJAIPromptRunEntity[] || [])\n : [];\n \n // Update all subjects\n this.stepsSubject$.next(steps);\n this.subRunsSubject$.next(subRuns);\n this.actionLogsSubject$.next(actionLogs);\n this.promptRunsSubject$.next(promptRuns);\n }\n \n /**\n * Load sub-agent data (for expanding sub-agent nodes)\n */\n async LoadSubAgentData(subAgentRunId: string): Promise<{ steps: MJAIAgentRunStepEntity[], promptRuns: MJAIPromptRunEntity[] }> {\n // Check cache first\n const cachedData = this.subAgentDataCache.get(subAgentRunId);\n if (cachedData) {\n // Check if cache is still valid\n const now = Date.now();\n if (now - cachedData.timestamp < this.CACHE_TTL_MS) {\n // Update access order for LRU\n this.updateCacheAccessOrder(subAgentRunId);\n return { steps: cachedData.steps, promptRuns: cachedData.promptRuns };\n } else {\n // Cache expired, remove it\n this.removeCacheEntry(subAgentRunId);\n }\n }\n \n const rv = RunView.FromMetadataProvider(this.Provider);\n\n // Load steps first to determine what else we need\n const stepsResult = await rv.RunView<MJAIAgentRunStepEntity>({\n EntityName: 'MJ: AI Agent Run Steps',\n ExtraFilter: `AgentRunID = '${subAgentRunId}'`,\n OrderBy: 'StartedAt, StepNumber'\n });\n \n if (!stepsResult.Success || !stepsResult.Results) {\n return { steps: [], promptRuns: [] };\n }\n \n const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results);\n \n // Get prompt run IDs\n const promptRunIds = steps\n .filter(s => s.StepType === 'Prompt' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n let promptRuns: MJAIPromptRunEntity[] = [];\n \n // Load prompt runs if needed\n if (promptRunIds.length > 0) {\n const promptResult = await rv.RunView<MJAIPromptRunEntity>({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ID IN ('${promptRunIds.join(\"','\")}')`,\n OrderBy: '__mj_CreatedAt'\n });\n \n if (promptResult.Success) {\n promptRuns = promptResult.Results || [];\n }\n }\n \n // Cache the data with timestamp\n const data = { steps, promptRuns, timestamp: Date.now() };\n \n // Enforce cache size limit\n if (this.subAgentDataCache.size >= this.MAX_CACHE_SIZE) {\n // Remove least recently used entry\n const lruKey = this.cacheAccessOrder[0];\n if (lruKey && lruKey !== subAgentRunId) {\n this.removeCacheEntry(lruKey);\n }\n }\n \n this.subAgentDataCache.set(subAgentRunId, data);\n this.updateCacheAccessOrder(subAgentRunId);\n \n return data;\n }\n\n /** @deprecated Use {@link LoadSubAgentData}. */\n async loadSubAgentData(subAgentRunId: string): Promise<{ steps: MJAIAgentRunStepEntity[], promptRuns: MJAIPromptRunEntity[] }> {\n return this.LoadSubAgentData(subAgentRunId);\n }\n \n /**\n * Clear all data\n */\n ClearData() {\n this.stepsSubject$.next([]);\n this.subRunsSubject$.next([]);\n this.actionLogsSubject$.next([]);\n this.promptRunsSubject$.next([]);\n this.clearCache();\n this.currentAgentRunId = null;\n }\n\n /** @deprecated Use {@link ClearData}. */\n clearData() {\n return this.ClearData();\n }\n \n /**\n * Clear just the cache for the current agent run\n */\n ClearCurrentRunCache() {\n // Clear all cache entries related to current run\n if (this.currentAgentRunId) {\n const keysToRemove: string[] = [];\n for (const [key, value] of this.subAgentDataCache.entries()) {\n // You might want to add logic here to identify related entries\n keysToRemove.push(key);\n }\n keysToRemove.forEach(key => this.removeCacheEntry(key));\n }\n }\n\n /** @deprecated Use {@link ClearCurrentRunCache}. */\n clearCurrentRunCache() {\n return this.ClearCurrentRunCache();\n }\n \n /**\n * Clear entire cache\n */\n private clearCache() {\n this.subAgentDataCache.clear();\n this.cacheAccessOrder = [];\n }\n \n /**\n * Update cache access order for LRU eviction\n */\n private updateCacheAccessOrder(key: string) {\n const index = this.cacheAccessOrder.indexOf(key);\n if (index > -1) {\n this.cacheAccessOrder.splice(index, 1);\n }\n this.cacheAccessOrder.push(key);\n }\n \n /**\n * Remove a cache entry\n */\n private removeCacheEntry(key: string) {\n this.subAgentDataCache.delete(key);\n const index = this.cacheAccessOrder.indexOf(key);\n if (index > -1) {\n this.cacheAccessOrder.splice(index, 1);\n }\n }\n \n /**\n * Get cache statistics for monitoring\n */\n GetCacheStats() {\n return {\n size: this.subAgentDataCache.size,\n maxSize: this.MAX_CACHE_SIZE,\n ttlMs: this.CACHE_TTL_MS,\n accessOrder: [...this.cacheAccessOrder]\n };\n }\n\n /** @deprecated Use {@link GetCacheStats}. */\n getCacheStats() {\n return this.GetCacheStats();\n }\n \n /**\n * Get current data snapshot\n */\n GetCurrentData(): AgentRunData {\n return {\n steps: this.stepsSubject$.value,\n subRuns: this.subRunsSubject$.value,\n actionLogs: this.actionLogsSubject$.value,\n promptRuns: this.promptRunsSubject$.value\n };\n }\n\n /** @deprecated Use {@link GetCurrentData}. */\n getCurrentData(): AgentRunData {\n return this.GetCurrentData();\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"ai-agent-run-data.service.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-data.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BehaviorSubject, Observable } from 'rxjs';\nimport { IMetadataProvider, Metadata, RunView, RunViewParams } from '@memberjunction/core';\nimport { MJAIAgentRunEntity, MJAIAgentRunStepEntity, MJActionExecutionLogEntity, MJAIPromptRunEntity } from '@memberjunction/core-entities';\nimport { ApplyResolvedPayloadAtStart, ApplyResolvedPayloadAtEnd } from '@memberjunction/ai-core-plus';\nimport { SortAgentRunStepsByExecutionOrder } from './agent-run-step-order';\n\nexport interface AgentRunData {\n steps: MJAIAgentRunStepEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n subRuns: MJAIAgentRunEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n actionLogs: MJActionExecutionLogEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n promptRuns: MJAIPromptRunEntity[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n}\n\n/**\n * Helper class for managing AI Agent Run data per component instance\n * No longer a singleton Angular service - instantiated per component\n */\nexport class AIAgentRunDataHelper {\n // Data subjects\n private stepsSubject$ = new BehaviorSubject<MJAIAgentRunStepEntity[]>([]);\n private subRunsSubject$ = new BehaviorSubject<MJAIAgentRunEntity[]>([]);\n private actionLogsSubject$ = new BehaviorSubject<MJActionExecutionLogEntity[]>([]);\n private promptRunsSubject$ = new BehaviorSubject<MJAIPromptRunEntity[]>([]);\n private loadingSubject$ = new BehaviorSubject<boolean>(true);\n private errorSubject$ = new BehaviorSubject<string | null>(null);\n \n // Public observables\n Steps$ = this.stepsSubject$.asObservable();\n\n /** @deprecated Use {@link Steps$}. */\n get steps$() {\n return this.Steps$;\n }\n /** @deprecated Use {@link Steps$}. */\n set steps$(value) {\n this.Steps$ = value;\n }\n SubRuns$ = this.subRunsSubject$.asObservable();\n\n /** @deprecated Use {@link SubRuns$}. */\n get subRuns$() {\n return this.SubRuns$;\n }\n /** @deprecated Use {@link SubRuns$}. */\n set subRuns$(value) {\n this.SubRuns$ = value;\n }\n ActionLogs$ = this.actionLogsSubject$.asObservable();\n\n /** @deprecated Use {@link ActionLogs$}. */\n get actionLogs$() {\n return this.ActionLogs$;\n }\n /** @deprecated Use {@link ActionLogs$}. */\n set actionLogs$(value) {\n this.ActionLogs$ = value;\n }\n PromptRuns$ = this.promptRunsSubject$.asObservable();\n\n /** @deprecated Use {@link PromptRuns$}. */\n get promptRuns$() {\n return this.PromptRuns$;\n }\n /** @deprecated Use {@link PromptRuns$}. */\n set promptRuns$(value) {\n this.PromptRuns$ = value;\n }\n Loading$ = this.loadingSubject$.asObservable();\n\n /** @deprecated Use {@link Loading$}. */\n get loading$() {\n return this.Loading$;\n }\n /** @deprecated Use {@link Loading$}. */\n set loading$(value) {\n this.Loading$ = value;\n }\n Error$ = this.errorSubject$.asObservable();\n\n /** @deprecated Use {@link Error$}. */\n get error$() {\n return this.Error$;\n }\n /** @deprecated Use {@link Error$}. */\n set error$(value) {\n this.Error$ = value;\n }\n \n // Cache for sub-agent data with size limit\n private readonly MAX_CACHE_SIZE = 100; // Maximum 100 sub-agent entries\n private readonly CACHE_TTL_MS = 15 * 60 * 1000; // 15 minute TTL\n \n private subAgentDataCache = new Map<string, {\n steps: MJAIAgentRunStepEntity[];\n promptRuns: MJAIPromptRunEntity[];\n timestamp: number;\n }>();\n \n // Track cache access order for LRU eviction\n private cacheAccessOrder: string[] = [];\n \n private currentAgentRunId: string | null = null;\n\n /**\n * Optional explicit metadata provider. Set via `setProvider()` by the\n * owning component (which has provider context via BaseAngularComponent).\n * Falls back to `Metadata.Provider` when not set.\n */\n private _provider: IMetadataProvider | null = null;\n\n public set Provider(value: IMetadataProvider | null) {\n this._provider = value;\n }\n\n public get Provider(): IMetadataProvider {\n return this._provider ?? Metadata.Provider;\n }\n\n constructor() {}\n \n /**\n * Load all data for an agent run\n */\n async LoadAgentRunData(agentRunId: string, forceReload = false): Promise<void> {\n if (!agentRunId) {\n this.errorSubject$.next('No agent run ID provided');\n return;\n }\n \n // Skip cache check when force reloading\n if (!forceReload && this.currentAgentRunId === agentRunId && this.stepsSubject$.value.length > 0) {\n return;\n }\n \n this.currentAgentRunId = agentRunId;\n this.loadingSubject$.next(true);\n this.errorSubject$.next(null);\n \n // Clear cache when loading new run\n this.subAgentDataCache.clear();\n \n try {\n await this.loadStepsAndSubRuns(agentRunId);\n } catch (error) {\n this.errorSubject$.next('Failed to load agent run data');\n console.error('Error loading agent run data:', error);\n } finally {\n this.loadingSubject$.next(false);\n }\n }\n\n /** @deprecated Use {@link LoadAgentRunData}. */\n async loadAgentRunData(agentRunId: string, forceReload = false): Promise<void> {\n return this.LoadAgentRunData(agentRunId, forceReload);\n }\n \n private async loadStepsAndSubRuns(agentRunId: string) {\n const rv = RunView.FromMetadataProvider(this.Provider);\n \n // First, get all steps to determine what additional data we need\n // StartedAt is execution time (what the timeline paints). __mj_CreatedAt is persist time\n // and inverts for fast sibling steps whose fire-and-forget INSERTs race. StepNumber is\n // the same-millisecond tie-break. Client-sort after the query as well — T-SQL NULLs\n // sort first, and SQL datetime rounding can still disagree with JS Date.getTime().\n const stepsResult = await rv.RunView<MJAIAgentRunStepEntity>({\n EntityName: 'MJ: AI Agent Run Steps',\n ExtraFilter: `AgentRunID='${agentRunId}'`,\n OrderBy: 'StartedAt, StepNumber'\n });\n \n if (!stepsResult.Success) {\n throw new Error('Failed to load agent run steps');\n }\n \n const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results as MJAIAgentRunStepEntity[] || []);\n // Fill PayloadAtEnd and PayloadAtStart on steps that point at an earlier step's PayloadAtEnd.\n ApplyResolvedPayloadAtEnd(steps);\n ApplyResolvedPayloadAtStart(steps);\n \n // Build filters for batch loading\n const actionLogIds = steps\n .filter(s => s.StepType === 'Actions' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n const promptRunIds = steps\n .filter(s => s.StepType === 'Prompt' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n // Build batch queries array\n const batchQueries: RunViewParams[] = [\n // Sub-runs query\n {\n EntityName: 'MJ: AI Agent Runs',\n ExtraFilter: `ParentRunID='${agentRunId}'`,\n OrderBy: 'StartedAt'\n }\n ];\n \n // Add action logs query if needed\n if (actionLogIds.length > 0) {\n batchQueries.push({\n EntityName: 'MJ: Action Execution Logs',\n ExtraFilter: `ID IN ('${actionLogIds.join(\"','\")}')`,\n OrderBy: 'StartedAt'\n });\n }\n \n // Add prompt runs query if needed\n if (promptRunIds.length > 0) {\n batchQueries.push({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ID IN ('${promptRunIds.join(\"','\")}')`,\n OrderBy: '__mj_CreatedAt'\n });\n }\n \n // Execute all queries in one batch\n const batchResults = await rv.RunViews(batchQueries);\n \n // Process results\n let resultIndex = 0;\n \n // Sub-runs\n const subRuns = batchResults[resultIndex]?.Success \n ? (batchResults[resultIndex].Results as MJAIAgentRunEntity[] || [])\n : [];\n resultIndex++;\n \n // Action logs\n const actionLogs = actionLogIds.length > 0 && batchResults[resultIndex]?.Success\n ? (batchResults[resultIndex].Results as MJActionExecutionLogEntity[] || [])\n : [];\n if (actionLogIds.length > 0) resultIndex++;\n \n // Prompt runs\n const promptRuns = promptRunIds.length > 0 && batchResults[resultIndex]?.Success\n ? (batchResults[resultIndex].Results as MJAIPromptRunEntity[] || [])\n : [];\n \n // Update all subjects\n this.stepsSubject$.next(steps);\n this.subRunsSubject$.next(subRuns);\n this.actionLogsSubject$.next(actionLogs);\n this.promptRunsSubject$.next(promptRuns);\n }\n \n /**\n * Load sub-agent data (for expanding sub-agent nodes)\n */\n async LoadSubAgentData(subAgentRunId: string): Promise<{ steps: MJAIAgentRunStepEntity[], promptRuns: MJAIPromptRunEntity[] }> {\n // Check cache first\n const cachedData = this.subAgentDataCache.get(subAgentRunId);\n if (cachedData) {\n // Check if cache is still valid\n const now = Date.now();\n if (now - cachedData.timestamp < this.CACHE_TTL_MS) {\n // Update access order for LRU\n this.updateCacheAccessOrder(subAgentRunId);\n return { steps: cachedData.steps, promptRuns: cachedData.promptRuns };\n } else {\n // Cache expired, remove it\n this.removeCacheEntry(subAgentRunId);\n }\n }\n \n const rv = RunView.FromMetadataProvider(this.Provider);\n\n // Load steps first to determine what else we need\n const stepsResult = await rv.RunView<MJAIAgentRunStepEntity>({\n EntityName: 'MJ: AI Agent Run Steps',\n ExtraFilter: `AgentRunID = '${subAgentRunId}'`,\n OrderBy: 'StartedAt, StepNumber'\n });\n \n if (!stepsResult.Success || !stepsResult.Results) {\n return { steps: [], promptRuns: [] };\n }\n \n const steps = SortAgentRunStepsByExecutionOrder(stepsResult.Results);\n // Fill PayloadAtEnd and PayloadAtStart on steps that point at an earlier step's PayloadAtEnd.\n ApplyResolvedPayloadAtEnd(steps);\n ApplyResolvedPayloadAtStart(steps);\n \n // Get prompt run IDs\n const promptRunIds = steps\n .filter(s => s.StepType === 'Prompt' && s.TargetLogID)\n .map(s => s.TargetLogID)\n .filter(id => id != null);\n \n let promptRuns: MJAIPromptRunEntity[] = [];\n \n // Load prompt runs if needed\n if (promptRunIds.length > 0) {\n const promptResult = await rv.RunView<MJAIPromptRunEntity>({\n EntityName: 'MJ: AI Prompt Runs',\n ExtraFilter: `ID IN ('${promptRunIds.join(\"','\")}')`,\n OrderBy: '__mj_CreatedAt'\n });\n \n if (promptResult.Success) {\n promptRuns = promptResult.Results || [];\n }\n }\n \n // Cache the data with timestamp\n const data = { steps, promptRuns, timestamp: Date.now() };\n \n // Enforce cache size limit\n if (this.subAgentDataCache.size >= this.MAX_CACHE_SIZE) {\n // Remove least recently used entry\n const lruKey = this.cacheAccessOrder[0];\n if (lruKey && lruKey !== subAgentRunId) {\n this.removeCacheEntry(lruKey);\n }\n }\n \n this.subAgentDataCache.set(subAgentRunId, data);\n this.updateCacheAccessOrder(subAgentRunId);\n \n return data;\n }\n\n /** @deprecated Use {@link LoadSubAgentData}. */\n async loadSubAgentData(subAgentRunId: string): Promise<{ steps: MJAIAgentRunStepEntity[], promptRuns: MJAIPromptRunEntity[] }> {\n return this.LoadSubAgentData(subAgentRunId);\n }\n \n /**\n * Clear all data\n */\n ClearData() {\n this.stepsSubject$.next([]);\n this.subRunsSubject$.next([]);\n this.actionLogsSubject$.next([]);\n this.promptRunsSubject$.next([]);\n this.clearCache();\n this.currentAgentRunId = null;\n }\n\n /** @deprecated Use {@link ClearData}. */\n clearData() {\n return this.ClearData();\n }\n \n /**\n * Clear just the cache for the current agent run\n */\n ClearCurrentRunCache() {\n // Clear all cache entries related to current run\n if (this.currentAgentRunId) {\n const keysToRemove: string[] = [];\n for (const [key, value] of this.subAgentDataCache.entries()) {\n // You might want to add logic here to identify related entries\n keysToRemove.push(key);\n }\n keysToRemove.forEach(key => this.removeCacheEntry(key));\n }\n }\n\n /** @deprecated Use {@link ClearCurrentRunCache}. */\n clearCurrentRunCache() {\n return this.ClearCurrentRunCache();\n }\n \n /**\n * Clear entire cache\n */\n private clearCache() {\n this.subAgentDataCache.clear();\n this.cacheAccessOrder = [];\n }\n \n /**\n * Update cache access order for LRU eviction\n */\n private updateCacheAccessOrder(key: string) {\n const index = this.cacheAccessOrder.indexOf(key);\n if (index > -1) {\n this.cacheAccessOrder.splice(index, 1);\n }\n this.cacheAccessOrder.push(key);\n }\n \n /**\n * Remove a cache entry\n */\n private removeCacheEntry(key: string) {\n this.subAgentDataCache.delete(key);\n const index = this.cacheAccessOrder.indexOf(key);\n if (index > -1) {\n this.cacheAccessOrder.splice(index, 1);\n }\n }\n \n /**\n * Get cache statistics for monitoring\n */\n GetCacheStats() {\n return {\n size: this.subAgentDataCache.size,\n maxSize: this.MAX_CACHE_SIZE,\n ttlMs: this.CACHE_TTL_MS,\n accessOrder: [...this.cacheAccessOrder]\n };\n }\n\n /** @deprecated Use {@link GetCacheStats}. */\n getCacheStats() {\n return this.GetCacheStats();\n }\n \n /**\n * Get current data snapshot\n */\n GetCurrentData(): AgentRunData {\n return {\n steps: this.stepsSubject$.value,\n subRuns: this.subRunsSubject$.value,\n actionLogs: this.actionLogsSubject$.value,\n promptRuns: this.promptRunsSubject$.value\n };\n }\n\n /** @deprecated Use {@link GetCurrentData}. */\n getCurrentData(): AgentRunData {\n return this.GetCurrentData();\n }\n}"]}
|
|
@@ -3,6 +3,8 @@ import { TimelineItem } from './ai-agent-run-timeline.component';
|
|
|
3
3
|
import { MJAIAgentRunStepEntity_AgentSkillInvocation } from '@memberjunction/core-entities';
|
|
4
4
|
import { type TaskGraphSpec } from '@memberjunction/ai-core-plus';
|
|
5
5
|
import type { FlowPosition } from '@memberjunction/ng-flow-editor';
|
|
6
|
+
import { TaskGraphRunViewComponent } from '@memberjunction/ng-task-graph-editor';
|
|
7
|
+
import { ParseJSONRecursive } from '@memberjunction/global';
|
|
6
8
|
import type { IMetadataProvider } from '@memberjunction/core';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
interface ScratchpadSnapshotView {
|
|
@@ -23,6 +25,8 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
23
25
|
get selectedTimelineItem(): TimelineItem | null;
|
|
24
26
|
/** The provider the host is on, so the run view reads through the right one. */
|
|
25
27
|
Provider: IMetadataProvider | null;
|
|
28
|
+
/** True while the host is persisting the workflow via WorkflowSaveOperation. */
|
|
29
|
+
SavingWorkflow: boolean;
|
|
26
30
|
ClosePanel: EventEmitter<void>;
|
|
27
31
|
/**
|
|
28
32
|
* @deprecated Use {@link ClosePanel}.
|
|
@@ -81,7 +85,25 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
81
85
|
get scratchpadSubTab(): 'input' | 'output' | 'diff';
|
|
82
86
|
/** @deprecated Use {@link ScratchpadSubTab}. */
|
|
83
87
|
set scratchpadSubTab(value: 'input' | 'output' | 'diff');
|
|
88
|
+
private static readonly EMPTY_SKILL_INVOCATIONS;
|
|
89
|
+
private _cacheFingerprint;
|
|
90
|
+
private _cachedSelectedItem;
|
|
91
|
+
private _stepNoticeCache;
|
|
92
|
+
private _selectedItemJsonCache;
|
|
93
|
+
private _showStepPayloadDiffCache;
|
|
94
|
+
private _stepPayloadAtStartObjectCache;
|
|
95
|
+
private _stepPayloadAtEndObjectCache;
|
|
96
|
+
private _stepSkillInvocationsCache;
|
|
97
|
+
private _stepTaskGraphCache;
|
|
98
|
+
private _stepTaskGraphPositionsCache;
|
|
99
|
+
private _stepTaskGraphParentTaskIdCache;
|
|
100
|
+
private _stepTaskGraphWasFoldedCache;
|
|
101
|
+
private _stepScratchpadInputCache;
|
|
102
|
+
private _stepScratchpadOutputCache;
|
|
103
|
+
private _scratchpadTaskChangeCountCache;
|
|
84
104
|
constructor(cdr: ChangeDetectorRef);
|
|
105
|
+
private computeCacheFingerprint;
|
|
106
|
+
private ensureStepDetailCache;
|
|
85
107
|
ngOnChanges(): void;
|
|
86
108
|
/**
|
|
87
109
|
* What to say about a step that never executed, or null when it ran.
|
|
@@ -102,27 +124,31 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
102
124
|
Variant: 'info' | 'warning' | 'error';
|
|
103
125
|
Message: string;
|
|
104
126
|
} | null;
|
|
127
|
+
private computeStepNotice;
|
|
105
128
|
GetSelectedItemJson(): string;
|
|
129
|
+
private computeSelectedItemJson;
|
|
106
130
|
/** @deprecated Use {@link GetSelectedItemJson}. */
|
|
107
131
|
getSelectedItemJson(): string;
|
|
108
132
|
/**
|
|
109
133
|
* Check if selected timeline item is a step with payload changes
|
|
110
134
|
*/
|
|
111
135
|
get ShowStepPayloadDiff(): boolean;
|
|
136
|
+
private computeShowStepPayloadDiff;
|
|
112
137
|
/** @deprecated Use {@link ShowStepPayloadDiff}. */
|
|
113
138
|
get showStepPayloadDiff(): boolean;
|
|
114
139
|
/**
|
|
115
140
|
* Get parsed PayloadAtStart for the selected step
|
|
116
141
|
*/
|
|
117
|
-
get StepPayloadAtStartObject():
|
|
142
|
+
get StepPayloadAtStartObject(): ReturnType<typeof ParseJSONRecursive> | null;
|
|
118
143
|
/** @deprecated Use {@link StepPayloadAtStartObject}. */
|
|
119
|
-
get stepPayloadAtStartObject():
|
|
144
|
+
get stepPayloadAtStartObject(): ReturnType<typeof ParseJSONRecursive> | null;
|
|
120
145
|
/**
|
|
121
146
|
* Get parsed PayloadAtEnd for the selected step
|
|
122
147
|
*/
|
|
123
|
-
get StepPayloadAtEndObject():
|
|
148
|
+
get StepPayloadAtEndObject(): ReturnType<typeof ParseJSONRecursive> | null;
|
|
124
149
|
/** @deprecated Use {@link StepPayloadAtEndObject}. */
|
|
125
|
-
get stepPayloadAtEndObject():
|
|
150
|
+
get stepPayloadAtEndObject(): ReturnType<typeof ParseJSONRecursive> | null;
|
|
151
|
+
private computeStepPayloadObject;
|
|
126
152
|
OnClosePanel(): void;
|
|
127
153
|
/** @deprecated Use {@link OnClosePanel}. */
|
|
128
154
|
onClosePanel(): void;
|
|
@@ -145,6 +171,7 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
145
171
|
* JSON column. Empty array when the step has no skill linkage or the JSON is malformed.
|
|
146
172
|
*/
|
|
147
173
|
get StepSkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[];
|
|
174
|
+
private computeStepSkillInvocations;
|
|
148
175
|
/** @deprecated Use {@link StepSkillInvocations}. */
|
|
149
176
|
get stepSkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[];
|
|
150
177
|
/** Human-readable label for an invocation's activation type. */
|
|
@@ -166,6 +193,7 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
166
193
|
* a malformed or absent payload simply means no tab rather than a broken panel.
|
|
167
194
|
*/
|
|
168
195
|
get StepTaskGraph(): TaskGraphSpec | null;
|
|
196
|
+
private computeStepTaskGraph;
|
|
169
197
|
/** @deprecated Use {@link StepTaskGraph}. */
|
|
170
198
|
get stepTaskGraph(): TaskGraphSpec | null;
|
|
171
199
|
/**
|
|
@@ -194,12 +222,15 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
194
222
|
* drawn as one.
|
|
195
223
|
*/
|
|
196
224
|
get StepTaskGraphParentTaskID(): string | null;
|
|
225
|
+
private computeStepTaskGraphParentTaskID;
|
|
197
226
|
/** @deprecated Use {@link StepTaskGraphParentTaskID}. */
|
|
198
227
|
get stepTaskGraphParentTaskID(): string | null;
|
|
199
228
|
/** True when the recorded graph was constant-folded rather than dispatched (D9). */
|
|
200
229
|
get StepTaskGraphWasFolded(): boolean;
|
|
230
|
+
private computeStepTaskGraphWasFolded;
|
|
201
231
|
/** @deprecated Use {@link StepTaskGraphWasFolded}. */
|
|
202
232
|
get stepTaskGraphWasFolded(): boolean;
|
|
233
|
+
TaskGraphRunView?: TaskGraphRunViewComponent;
|
|
203
234
|
/** Asks the host to save this run's graph as a reusable workflow. */
|
|
204
235
|
RequestSaveAsWorkflow(): void;
|
|
205
236
|
/**
|
|
@@ -224,11 +255,12 @@ export declare class AIAgentRunStepDetailComponent {
|
|
|
224
255
|
* Number of tasks that changed between input and output scratchpad snapshots
|
|
225
256
|
*/
|
|
226
257
|
get ScratchpadTaskChangeCount(): number;
|
|
258
|
+
private computeScratchpadTaskChangeCount;
|
|
227
259
|
/** @deprecated Use {@link ScratchpadTaskChangeCount}. */
|
|
228
260
|
get scratchpadTaskChangeCount(): number;
|
|
229
261
|
private extractScratchpadFromField;
|
|
230
262
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentRunStepDetailComponent, never>;
|
|
231
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunStepDetailComponent, "mj-ai-agent-run-step-detail", never, { "SelectedTimelineItem": { "alias": "SelectedTimelineItem"; "required": false; }; "selectedTimelineItem": { "alias": "selectedTimelineItem"; "required": false; }; "Provider": { "alias": "Provider"; "required": false; }; }, { "ClosePanel": "ClosePanel"; "closePanel": "closePanel"; "NavigateToActionLog": "NavigateToActionLog"; "navigateToActionLog": "navigateToActionLog"; "CopyToClipboard": "CopyToClipboard"; "copyToClipboard": "copyToClipboard"; "SaveAsWorkflowRequested": "SaveAsWorkflowRequested"; "saveAsWorkflowRequested": "saveAsWorkflowRequested"; }, never, never, false, never>;
|
|
263
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunStepDetailComponent, "mj-ai-agent-run-step-detail", never, { "SelectedTimelineItem": { "alias": "SelectedTimelineItem"; "required": false; }; "selectedTimelineItem": { "alias": "selectedTimelineItem"; "required": false; }; "Provider": { "alias": "Provider"; "required": false; }; "SavingWorkflow": { "alias": "SavingWorkflow"; "required": false; }; }, { "ClosePanel": "ClosePanel"; "closePanel": "closePanel"; "NavigateToActionLog": "NavigateToActionLog"; "navigateToActionLog": "navigateToActionLog"; "CopyToClipboard": "CopyToClipboard"; "copyToClipboard": "copyToClipboard"; "SaveAsWorkflowRequested": "SaveAsWorkflowRequested"; "saveAsWorkflowRequested": "saveAsWorkflowRequested"; }, never, never, false, never>;
|
|
232
264
|
}
|
|
233
265
|
export {};
|
|
234
266
|
//# sourceMappingURL=ai-agent-run-step-detail.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-run-step-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ai-agent-run-step-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.ts"],"names":[],"mappings":"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"}
|