@memberjunction/core-actions 2.112.0 → 2.113.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -11
- package/dist/config.js.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.d.ts +2 -2
- package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.js +22 -22
- package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -1
- package/dist/custom/ai/find-best-action.action.d.ts +53 -0
- package/dist/custom/ai/find-best-action.action.d.ts.map +1 -0
- package/dist/custom/ai/find-best-action.action.js +211 -0
- package/dist/custom/ai/find-best-action.action.js.map +1 -0
- package/dist/custom/ai/find-best-agent.action.d.ts +53 -0
- package/dist/custom/ai/find-best-agent.action.d.ts.map +1 -0
- package/dist/custom/ai/find-best-agent.action.js +195 -0
- package/dist/custom/ai/find-best-agent.action.js.map +1 -0
- package/dist/custom/ai/find-candidate-actions.action.d.ts +2 -2
- package/dist/custom/ai/find-candidate-actions.action.d.ts.map +1 -1
- package/dist/custom/ai/find-candidate-actions.action.js +21 -21
- package/dist/custom/ai/find-candidate-actions.action.js.map +1 -1
- package/dist/custom/ai/summarize-content.action.d.ts +2 -2
- package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
- package/dist/custom/ai/summarize-content.action.js +50 -51
- package/dist/custom/ai/summarize-content.action.js.map +1 -1
- package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -1
- package/dist/custom/code-execution/execute-code.action.js +27 -27
- package/dist/custom/code-execution/execute-code.action.js.map +1 -1
- package/dist/custom/communication/send-single-message.action.d.ts.map +1 -1
- package/dist/custom/communication/send-single-message.action.js +21 -10
- package/dist/custom/communication/send-single-message.action.js.map +1 -1
- package/dist/custom/crud/base-record-mutation.action.d.ts +3 -3
- package/dist/custom/crud/base-record-mutation.action.d.ts.map +1 -1
- package/dist/custom/crud/base-record-mutation.action.js +32 -28
- package/dist/custom/crud/base-record-mutation.action.js.map +1 -1
- package/dist/custom/crud/update-record.action.d.ts +2 -2
- package/dist/custom/crud/update-record.action.d.ts.map +1 -1
- package/dist/custom/crud/update-record.action.js +7 -7
- package/dist/custom/crud/update-record.action.js.map +1 -1
- package/dist/custom/data/execute-research-query.action.d.ts +2 -2
- package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
- package/dist/custom/data/execute-research-query.action.js +56 -52
- package/dist/custom/data/execute-research-query.action.js.map +1 -1
- package/dist/custom/data/explore-database-schema.action.d.ts +2 -2
- package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
- package/dist/custom/data/explore-database-schema.action.js +51 -50
- package/dist/custom/data/explore-database-schema.action.js.map +1 -1
- package/dist/custom/data/get-entity-details.action.d.ts +2 -2
- package/dist/custom/data/get-entity-details.action.d.ts.map +1 -1
- package/dist/custom/data/get-entity-details.action.js +39 -30
- package/dist/custom/data/get-entity-details.action.js.map +1 -1
- package/dist/custom/data/get-entity-list.action.d.ts +2 -2
- package/dist/custom/data/get-entity-list.action.d.ts.map +1 -1
- package/dist/custom/data/get-entity-list.action.js +25 -25
- package/dist/custom/data/get-entity-list.action.js.map +1 -1
- package/dist/custom/files/base-file-storage.action.d.ts +5 -5
- package/dist/custom/files/base-file-storage.action.d.ts.map +1 -1
- package/dist/custom/files/base-file-storage.action.js +12 -12
- package/dist/custom/files/base-file-storage.action.js.map +1 -1
- package/dist/custom/files/list-storage-providers.action.d.ts +2 -2
- package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -1
- package/dist/custom/files/list-storage-providers.action.js +22 -22
- package/dist/custom/files/list-storage-providers.action.js.map +1 -1
- package/dist/custom/user-management/assign-user-roles.action.d.ts +1 -1
- package/dist/custom/user-management/assign-user-roles.action.d.ts.map +1 -1
- package/dist/custom/user-management/assign-user-roles.action.js +27 -29
- package/dist/custom/user-management/assign-user-roles.action.js.map +1 -1
- package/dist/custom/user-management/check-user-permission.action.d.ts +1 -1
- package/dist/custom/user-management/check-user-permission.action.d.ts.map +1 -1
- package/dist/custom/user-management/check-user-permission.action.js +26 -25
- package/dist/custom/user-management/check-user-permission.action.js.map +1 -1
- package/dist/custom/user-management/create-employee.action.d.ts +2 -2
- package/dist/custom/user-management/create-employee.action.d.ts.map +1 -1
- package/dist/custom/user-management/create-employee.action.js +25 -25
- package/dist/custom/user-management/create-employee.action.js.map +1 -1
- package/dist/custom/user-management/create-user.action.d.ts +2 -2
- package/dist/custom/user-management/create-user.action.d.ts.map +1 -1
- package/dist/custom/user-management/create-user.action.js +23 -23
- package/dist/custom/user-management/create-user.action.js.map +1 -1
- package/dist/custom/utilities/base-file-handler.d.ts +2 -2
- package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
- package/dist/custom/utilities/base-file-handler.js +11 -11
- package/dist/custom/utilities/base-file-handler.js.map +1 -1
- package/dist/custom/utilities/external-change-detection.action.d.ts +2 -2
- package/dist/custom/utilities/external-change-detection.action.d.ts.map +1 -1
- package/dist/custom/utilities/external-change-detection.action.js +11 -11
- package/dist/custom/utilities/external-change-detection.action.js.map +1 -1
- package/dist/custom/utilities/vectorize-entity.action.d.ts +2 -2
- package/dist/custom/utilities/vectorize-entity.action.d.ts.map +1 -1
- package/dist/custom/utilities/vectorize-entity.action.js +9 -9
- package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
- package/dist/generated/action_subclasses.d.ts +5 -5
- package/dist/generated/action_subclasses.d.ts.map +1 -1
- package/dist/generated/action_subclasses.js +64 -64
- package/dist/generated/action_subclasses.js.map +1 -1
- package/package.json +17 -16
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LoadFindBestAgentAction = exports.FindBestAgentAction = void 0;
|
|
10
|
+
const global_1 = require("@memberjunction/global");
|
|
11
|
+
const actions_1 = require("@memberjunction/actions");
|
|
12
|
+
const aiengine_1 = require("@memberjunction/aiengine");
|
|
13
|
+
const ai_engine_base_1 = require("@memberjunction/ai-engine-base");
|
|
14
|
+
/**
|
|
15
|
+
* Action that finds the best-matching AI agents for a given task using embedding-based semantic search.
|
|
16
|
+
*
|
|
17
|
+
* This action uses local embeddings to perform fast similarity search across all available agents,
|
|
18
|
+
* returning the most relevant agents based on their descriptions and capabilities.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Find agents for a research task
|
|
23
|
+
* await runAction({
|
|
24
|
+
* ActionName: 'Find Best Agent',
|
|
25
|
+
* Params: [{
|
|
26
|
+
* Name: 'TaskDescription',
|
|
27
|
+
* Value: 'Research market trends and compile a comprehensive report'
|
|
28
|
+
* }, {
|
|
29
|
+
* Name: 'MaxResults',
|
|
30
|
+
* Value: 5
|
|
31
|
+
* }, {
|
|
32
|
+
* Name: 'MinimumSimilarityScore',
|
|
33
|
+
* Value: 0.7
|
|
34
|
+
* }]
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
let FindBestAgentAction = class FindBestAgentAction extends actions_1.BaseAction {
|
|
39
|
+
// Singleton initialization removed - AIEngine handles embedding lifecycle
|
|
40
|
+
/**
|
|
41
|
+
* Executes the Find Best Agent action.
|
|
42
|
+
*
|
|
43
|
+
* @param params - The action parameters containing:
|
|
44
|
+
* - TaskDescription: Description of the task to find agents for (required)
|
|
45
|
+
* - MaxResults: Maximum number of agents to return (optional, default: 5)
|
|
46
|
+
* - MinimumSimilarityScore: Minimum similarity score 0-1 (optional, default: 0.5)
|
|
47
|
+
* - IncludeInactive: Include inactive agents (optional, default: false)
|
|
48
|
+
*
|
|
49
|
+
* @returns Action result with matched agents
|
|
50
|
+
*/
|
|
51
|
+
async InternalRunAction(params) {
|
|
52
|
+
try {
|
|
53
|
+
// Extract and validate input parameters
|
|
54
|
+
const taskDescription = this.getParamValue(params, 'taskdescription');
|
|
55
|
+
const maxResults = parseInt(this.getParamValue(params, 'maxresults') || '5');
|
|
56
|
+
const minimumSimilarityScore = parseFloat(this.getParamValue(params, 'minimumsimilarityscore') || '0.5');
|
|
57
|
+
const includeInactive = this.getBooleanParam(params, 'includeinactive', false);
|
|
58
|
+
// Validate required input
|
|
59
|
+
if (!taskDescription || taskDescription.trim().length === 0) {
|
|
60
|
+
return {
|
|
61
|
+
Success: false,
|
|
62
|
+
ResultCode: 'INVALID_INPUT',
|
|
63
|
+
Message: 'TaskDescription parameter is required and cannot be empty'
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// Validate numeric ranges
|
|
67
|
+
if (maxResults < 1 || maxResults > 20) {
|
|
68
|
+
return {
|
|
69
|
+
Success: false,
|
|
70
|
+
ResultCode: 'INVALID_INPUT',
|
|
71
|
+
Message: 'MaxResults must be between 1 and 20'
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (minimumSimilarityScore < 0 || minimumSimilarityScore > 1) {
|
|
75
|
+
return {
|
|
76
|
+
Success: false,
|
|
77
|
+
ResultCode: 'INVALID_INPUT',
|
|
78
|
+
Message: 'MinimumSimilarityScore must be between 0 and 1'
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
// Validate contextUser is provided for permission filtering
|
|
82
|
+
if (!params.ContextUser) {
|
|
83
|
+
return {
|
|
84
|
+
Success: false,
|
|
85
|
+
ResultCode: 'MISSING_USER_CONTEXT',
|
|
86
|
+
Message: 'User context required for permission filtering'
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// Ensure AIEngine is loaded (embeddings computed during initialization)
|
|
90
|
+
await aiengine_1.AIEngine.Instance.Config(false, params.ContextUser);
|
|
91
|
+
// Find similar agents using AIEngine's built-in method - no database round trip!
|
|
92
|
+
const matchedAgents = await aiengine_1.AIEngine.Instance.FindSimilarAgents(taskDescription, maxResults * 3, // Get 3x results to account for filtering
|
|
93
|
+
minimumSimilarityScore);
|
|
94
|
+
// Filter by user permissions - user must have 'run' permission
|
|
95
|
+
const accessibleAgents = await ai_engine_base_1.AIAgentPermissionHelper.GetAccessibleAgents(params.ContextUser, 'run');
|
|
96
|
+
const accessibleAgentIds = new Set(accessibleAgents.map(a => a.ID));
|
|
97
|
+
// Filter matched agents by permissions
|
|
98
|
+
let permissionFilteredAgents = matchedAgents.filter(a => accessibleAgentIds.has(a.agentId));
|
|
99
|
+
// Filter by status if not including inactive
|
|
100
|
+
if (!includeInactive) {
|
|
101
|
+
permissionFilteredAgents = permissionFilteredAgents.filter(a => a.status === 'Active');
|
|
102
|
+
}
|
|
103
|
+
// Filter by invocation mode - exclude Sub-Agent agents (only show Any or Top-Level)
|
|
104
|
+
// Sub-Agents are meant to be called by other agents, not discovered by users/tools
|
|
105
|
+
const invocationFilteredAgents = permissionFilteredAgents.filter(a => a.invocationMode !== 'Sub-Agent');
|
|
106
|
+
// Limit to maxResults after all filtering
|
|
107
|
+
const filteredAgents = invocationFilteredAgents.slice(0, maxResults);
|
|
108
|
+
if (filteredAgents.length === 0) {
|
|
109
|
+
return {
|
|
110
|
+
Success: false,
|
|
111
|
+
ResultCode: 'NO_AGENTS_FOUND',
|
|
112
|
+
Message: `No accessible agents found matching the criteria (minimum similarity: ${minimumSimilarityScore}). You may not have permission to run the matching agents.`
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
// AIEngine already loaded above - use it to get agent actions
|
|
116
|
+
// Create map of agentId -> action names
|
|
117
|
+
const agentActionsMap = new Map();
|
|
118
|
+
for (const agent of filteredAgents) {
|
|
119
|
+
const agentActions = aiengine_1.AIEngine.Instance.AgentActions
|
|
120
|
+
.filter(aa => aa.AgentID === agent.agentId && aa.Status === 'Active')
|
|
121
|
+
.map(aa => aa.Action); // Get action name
|
|
122
|
+
agentActionsMap.set(agent.agentId, agentActions);
|
|
123
|
+
}
|
|
124
|
+
// Add output parameters
|
|
125
|
+
params.Params.push({
|
|
126
|
+
Name: 'MatchedAgents',
|
|
127
|
+
Type: 'Output',
|
|
128
|
+
Value: filteredAgents
|
|
129
|
+
});
|
|
130
|
+
params.Params.push({
|
|
131
|
+
Name: 'MatchCount',
|
|
132
|
+
Type: 'Output',
|
|
133
|
+
Value: filteredAgents.length
|
|
134
|
+
});
|
|
135
|
+
// Build response message with full descriptions and actions
|
|
136
|
+
const responseData = {
|
|
137
|
+
message: `Found ${filteredAgents.length} accessible agent(s)`,
|
|
138
|
+
taskDescription: taskDescription,
|
|
139
|
+
matchCount: filteredAgents.length,
|
|
140
|
+
allMatches: filteredAgents.map(a => ({
|
|
141
|
+
agentId: a.agentId, // Include agent ID for direct use with Load Agent Spec
|
|
142
|
+
agentName: a.agentName,
|
|
143
|
+
similarityScore: Math.round(a.similarityScore * 100) / 100, // Round to 2 decimal places
|
|
144
|
+
description: a.description, // Full description, no truncation
|
|
145
|
+
actions: agentActionsMap.get(a.agentId) || []
|
|
146
|
+
}))
|
|
147
|
+
};
|
|
148
|
+
return {
|
|
149
|
+
Success: true,
|
|
150
|
+
ResultCode: 'SUCCESS',
|
|
151
|
+
Message: JSON.stringify(responseData, null, 2)
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
return {
|
|
156
|
+
Success: false,
|
|
157
|
+
ResultCode: 'EXECUTION_ERROR',
|
|
158
|
+
Message: `Failed to find best agent: ${error instanceof Error ? error.message : String(error)}`
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get boolean parameter with default
|
|
164
|
+
*/
|
|
165
|
+
getBooleanParam(params, name, defaultValue) {
|
|
166
|
+
const value = this.getParamValue(params, name);
|
|
167
|
+
if (value === undefined || value === null)
|
|
168
|
+
return defaultValue;
|
|
169
|
+
if (typeof value === 'boolean')
|
|
170
|
+
return value;
|
|
171
|
+
if (typeof value === 'string') {
|
|
172
|
+
return value.toLowerCase() === 'true';
|
|
173
|
+
}
|
|
174
|
+
return defaultValue;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get parameter value by name (case-insensitive)
|
|
178
|
+
*/
|
|
179
|
+
getParamValue(params, name) {
|
|
180
|
+
const param = params.Params.find(p => p.Name.toLowerCase() === name.toLowerCase());
|
|
181
|
+
return param?.Value;
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
exports.FindBestAgentAction = FindBestAgentAction;
|
|
185
|
+
exports.FindBestAgentAction = FindBestAgentAction = __decorate([
|
|
186
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, "Find Best Agent")
|
|
187
|
+
], FindBestAgentAction);
|
|
188
|
+
/**
|
|
189
|
+
* Loader function to ensure the FindBestAgentAction class is included in the bundle
|
|
190
|
+
*/
|
|
191
|
+
function LoadFindBestAgentAction() {
|
|
192
|
+
// Stub function to prevent tree shaking
|
|
193
|
+
}
|
|
194
|
+
exports.LoadFindBestAgentAction = LoadFindBestAgentAction;
|
|
195
|
+
//# sourceMappingURL=find-best-agent.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-best-agent.action.js","sourceRoot":"","sources":["../../../src/custom/ai/find-best-agent.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ActionResultSimple, RunActionParams } from
|
|
2
|
-
import { BaseAction } from
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
3
|
/**
|
|
4
4
|
* Action that finds the best-matching actions for a given task using embedding-based semantic search.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-candidate-actions.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/find-candidate-actions.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,oBAAqB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"find-candidate-actions.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/find-candidate-actions.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAChD;;;;;;;;;;OAUG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsJvF;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,SAEvC"}
|
|
@@ -10,7 +10,7 @@ exports.LoadFindBestActionAction = exports.FindBestActionAction = void 0;
|
|
|
10
10
|
const global_1 = require("@memberjunction/global");
|
|
11
11
|
const actions_1 = require("@memberjunction/actions");
|
|
12
12
|
const aiengine_1 = require("@memberjunction/aiengine");
|
|
13
|
-
const
|
|
13
|
+
const core_1 = require("@memberjunction/core");
|
|
14
14
|
/**
|
|
15
15
|
* Action that finds the best-matching actions for a given task using embedding-based semantic search.
|
|
16
16
|
*
|
|
@@ -59,7 +59,7 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
59
59
|
return {
|
|
60
60
|
Success: false,
|
|
61
61
|
ResultCode: 'INVALID_INPUT',
|
|
62
|
-
Message: 'TaskDescription parameter is required and cannot be empty'
|
|
62
|
+
Message: 'TaskDescription parameter is required and cannot be empty'
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
// Validate numeric ranges
|
|
@@ -67,14 +67,14 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
67
67
|
return {
|
|
68
68
|
Success: false,
|
|
69
69
|
ResultCode: 'INVALID_INPUT',
|
|
70
|
-
Message: 'MaxResults must be between 1 and 50'
|
|
70
|
+
Message: 'MaxResults must be between 1 and 50'
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
if (minimumSimilarityScore < 0 || minimumSimilarityScore > 1) {
|
|
74
74
|
return {
|
|
75
75
|
Success: false,
|
|
76
76
|
ResultCode: 'INVALID_INPUT',
|
|
77
|
-
Message: 'MinimumSimilarityScore must be between 0 and 1'
|
|
77
|
+
Message: 'MinimumSimilarityScore must be between 0 and 1'
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
// Validate contextUser is provided
|
|
@@ -82,7 +82,7 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
82
82
|
return {
|
|
83
83
|
Success: false,
|
|
84
84
|
ResultCode: 'MISSING_USER_CONTEXT',
|
|
85
|
-
Message: 'User context required'
|
|
85
|
+
Message: 'User context required'
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
// Ensure AIEngine is loaded (embeddings computed during initialization)
|
|
@@ -93,7 +93,7 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
93
93
|
// Filter out Agent Management actions if requested
|
|
94
94
|
let filteredActions = matchedActions;
|
|
95
95
|
if (excludeAgentManagement) {
|
|
96
|
-
filteredActions = matchedActions.filter(
|
|
96
|
+
filteredActions = matchedActions.filter(a => a.categoryName !== 'Agent Management');
|
|
97
97
|
}
|
|
98
98
|
// Limit to maxResults after filtering
|
|
99
99
|
filteredActions = filteredActions.slice(0, maxResults);
|
|
@@ -101,17 +101,17 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
101
101
|
return {
|
|
102
102
|
Success: false,
|
|
103
103
|
ResultCode: 'NO_ACTIONS_FOUND',
|
|
104
|
-
Message: `No actions found matching the criteria (minimum similarity: ${minimumSimilarityScore})
|
|
104
|
+
Message: `No actions found matching the criteria (minimum similarity: ${minimumSimilarityScore}).`
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
107
|
// Load action parameters for all matched actions
|
|
108
|
-
const actionIds = filteredActions.map(
|
|
109
|
-
const rv = new
|
|
108
|
+
const actionIds = filteredActions.map(a => a.actionId);
|
|
109
|
+
const rv = new core_1.RunView();
|
|
110
110
|
const paramsResult = await rv.RunView({
|
|
111
111
|
EntityName: 'Action Params',
|
|
112
112
|
ExtraFilter: `ActionID IN ('${actionIds.join("','")}')`,
|
|
113
113
|
OrderBy: 'ActionID, Name',
|
|
114
|
-
ResultType: 'entity_object'
|
|
114
|
+
ResultType: 'entity_object'
|
|
115
115
|
}, params.ContextUser);
|
|
116
116
|
// Group parameters by action ID
|
|
117
117
|
const paramsByActionId = new Map();
|
|
@@ -125,7 +125,7 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
// Build response with parameters included
|
|
128
|
-
const actionsWithParams = filteredActions.map(
|
|
128
|
+
const actionsWithParams = filteredActions.map(a => ({
|
|
129
129
|
actionId: a.actionId,
|
|
130
130
|
actionName: a.actionName,
|
|
131
131
|
similarityScore: Math.round(a.similarityScore * 100) / 100,
|
|
@@ -133,45 +133,45 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
133
133
|
categoryName: a.categoryName,
|
|
134
134
|
status: a.status,
|
|
135
135
|
driverClass: a.driverClass,
|
|
136
|
-
parameters: (paramsByActionId.get(a.actionId) || []).map(
|
|
136
|
+
parameters: (paramsByActionId.get(a.actionId) || []).map(p => ({
|
|
137
137
|
name: p.Name,
|
|
138
138
|
type: p.Type, // Input/Output
|
|
139
139
|
valueType: p.ValueType,
|
|
140
140
|
isArray: p.IsArray,
|
|
141
141
|
description: p.Description,
|
|
142
142
|
isRequired: p.IsRequired,
|
|
143
|
-
defaultValue: p.DefaultValue
|
|
144
|
-
}))
|
|
143
|
+
defaultValue: p.DefaultValue
|
|
144
|
+
}))
|
|
145
145
|
}));
|
|
146
146
|
// Add output parameters
|
|
147
147
|
params.Params.push({
|
|
148
148
|
Name: 'MatchedActions',
|
|
149
149
|
Type: 'Output',
|
|
150
|
-
Value: actionsWithParams
|
|
150
|
+
Value: actionsWithParams
|
|
151
151
|
});
|
|
152
152
|
params.Params.push({
|
|
153
153
|
Name: 'MatchCount',
|
|
154
154
|
Type: 'Output',
|
|
155
|
-
Value: filteredActions.length
|
|
155
|
+
Value: filteredActions.length
|
|
156
156
|
});
|
|
157
157
|
// Build response message with full descriptions and parameters
|
|
158
158
|
const responseData = {
|
|
159
159
|
message: `Found ${filteredActions.length} relevant action(s)`,
|
|
160
160
|
taskDescription: taskDescription,
|
|
161
161
|
matchCount: filteredActions.length,
|
|
162
|
-
allMatches: actionsWithParams
|
|
162
|
+
allMatches: actionsWithParams
|
|
163
163
|
};
|
|
164
164
|
return {
|
|
165
165
|
Success: true,
|
|
166
166
|
ResultCode: 'SUCCESS',
|
|
167
|
-
Message: JSON.stringify(responseData, null, 2)
|
|
167
|
+
Message: JSON.stringify(responseData, null, 2)
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
catch (error) {
|
|
171
171
|
return {
|
|
172
172
|
Success: false,
|
|
173
173
|
ResultCode: 'EXECUTION_ERROR',
|
|
174
|
-
Message: `Failed to Find Candidate Actions: ${error instanceof Error ? error.message : String(error)}
|
|
174
|
+
Message: `Failed to Find Candidate Actions: ${error instanceof Error ? error.message : String(error)}`
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
}
|
|
@@ -193,13 +193,13 @@ let FindBestActionAction = class FindBestActionAction extends actions_1.BaseActi
|
|
|
193
193
|
* Get parameter value by name (case-insensitive)
|
|
194
194
|
*/
|
|
195
195
|
getParamValue(params, name) {
|
|
196
|
-
const param = params.Params.find(
|
|
196
|
+
const param = params.Params.find(p => p.Name.toLowerCase() === name.toLowerCase());
|
|
197
197
|
return param?.Value;
|
|
198
198
|
}
|
|
199
199
|
};
|
|
200
200
|
exports.FindBestActionAction = FindBestActionAction;
|
|
201
201
|
exports.FindBestActionAction = FindBestActionAction = __decorate([
|
|
202
|
-
(0, global_1.RegisterClass)(actions_1.BaseAction,
|
|
202
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, "Find Candidate Actions")
|
|
203
203
|
], FindBestActionAction);
|
|
204
204
|
/**
|
|
205
205
|
* Loader function to ensure the FindBestActionAction class is included in the bundle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-candidate-actions.action.js","sourceRoot":"","sources":["../../../src/custom/ai/find-candidate-actions.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD,uDAAoD;AACpD
|
|
1
|
+
{"version":3,"file":"find-candidate-actions.action.js","sourceRoot":"","sources":["../../../src/custom/ai/find-candidate-actions.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD,uDAAoD;AACpD,+CAA+C;AAG/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,oBAAU;IAChD;;;;;;;;;;OAUG;IACO,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,wCAAwC;YACxC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9E,MAAM,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,KAAK,CAAC,CAAC;YACzG,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAE5F,0BAA0B;YAC1B,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1D,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,eAAe;oBAC3B,OAAO,EAAE,2DAA2D;iBACvE,CAAC;YACN,CAAC;YAED,0BAA0B;YAC1B,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;gBACpC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,eAAe;oBAC3B,OAAO,EAAE,qCAAqC;iBACjD,CAAC;YACN,CAAC;YAED,IAAI,sBAAsB,GAAG,CAAC,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,eAAe;oBAC3B,OAAO,EAAE,gDAAgD;iBAC5D,CAAC;YACN,CAAC;YAED,mCAAmC;YACnC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,sBAAsB;oBAClC,OAAO,EAAE,uBAAuB;iBACnC,CAAC;YACN,CAAC;YAED,wEAAwE;YACxE,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE1D,kFAAkF;YAClF,MAAM,cAAc,GAAG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAC7D,eAAe,EACf,UAAU,GAAG,CAAC,EAAE,0CAA0C;YAC1D,sBAAsB,CACzB,CAAC;YAEF,mDAAmD;YACnD,IAAI,eAAe,GAAG,cAAc,CAAC;YACrC,IAAI,sBAAsB,EAAE,CAAC;gBACzB,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,CAAC,YAAY,KAAK,kBAAkB,CACxC,CAAC;YACN,CAAC;YAED,sCAAsC;YACtC,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAEvD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,OAAO,EAAE,+DAA+D,sBAAsB,IAAI;iBACrG,CAAC;YACN,CAAC;YAED,iDAAiD;YACjD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAoB;gBACrD,UAAU,EAAE,eAAe;gBAC3B,WAAW,EAAE,iBAAiB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBACvD,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,eAAe;aAC9B,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEvB,gCAAgC;YAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;YAChE,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC/C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvC,CAAC;oBACD,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG;gBAC1D,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe;oBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC/B,CAAC,CAAC;aACN,CAAC,CAAC,CAAC;YAEJ,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,iBAAiB;aAC3B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,eAAe,CAAC,MAAM;aAChC,CAAC,CAAC;YAEH,+DAA+D;YAC/D,MAAM,YAAY,GAAG;gBACjB,OAAO,EAAE,SAAS,eAAe,CAAC,MAAM,qBAAqB;gBAC7D,eAAe,EAAE,eAAe;gBAChC,UAAU,EAAE,eAAe,CAAC,MAAM;gBAClC,UAAU,EAAE,iBAAiB;aAChC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;aACjD,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACzG,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAuB,EAAE,IAAY,EAAE,YAAqB;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,YAAY,CAAC;QAC/D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAuB,EAAE,IAAY;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,OAAO,KAAK,EAAE,KAAK,CAAC;IACxB,CAAC;CACJ,CAAA;AAtLY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAa,EAAC,oBAAU,EAAE,wBAAwB,CAAC;GACvC,oBAAoB,CAsLhC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACpC,wCAAwC;AAC5C,CAAC;AAFD,4DAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ActionResultSimple, RunActionParams } from
|
|
2
|
-
import { BaseAction } from
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
3
|
/**
|
|
4
4
|
* Action that creates a concise summary of content with citations to source material.
|
|
5
5
|
* Can work with either a URL (fetch + summarize) or pre-fetched content.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-content.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/summarize-content.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAiC,MAAM,8BAA8B,CAAC;AAClH,OAAO,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AA2BzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBACa,sBAAuB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"summarize-content.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/summarize-content.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAiC,MAAM,8BAA8B,CAAC;AAClH,OAAO,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AA2BzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBACa,sBAAuB,SAAQ,UAAU;cAElC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6FvF;;OAEG;YACW,mBAAmB;IAqDjC;;OAEG;YACW,eAAe;IAiE7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;CAO5B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,SAEzC"}
|