@memberjunction/core-actions 6.2.0-edge.1 → 6.2.0-edge.3
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/custom/ai/base-find-agents.action.d.ts.map +1 -1
- package/dist/custom/ai/base-find-agents.action.js +2 -7
- package/dist/custom/ai/base-find-agents.action.js.map +1 -1
- package/dist/custom/ai/execute-agent.action.d.ts +10 -0
- package/dist/custom/ai/execute-agent.action.d.ts.map +1 -1
- package/dist/custom/ai/execute-agent.action.js +24 -1
- package/dist/custom/ai/execute-agent.action.js.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -1
- package/dist/custom/ai/execute-ai-prompt.action.js +3 -0
- package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -1
- package/dist/custom/ai/find-candidate-agents.action.d.ts.map +1 -1
- package/dist/custom/ai/find-candidate-agents.action.js +2 -1
- package/dist/custom/ai/find-candidate-agents.action.js.map +1 -1
- package/dist/custom/ai/generate-image.action.d.ts +67 -6
- package/dist/custom/ai/generate-image.action.d.ts.map +1 -1
- package/dist/custom/ai/generate-image.action.js +208 -141
- package/dist/custom/ai/generate-image.action.js.map +1 -1
- package/dist/custom/ai/run-decision.action.d.ts +45 -0
- package/dist/custom/ai/run-decision.action.d.ts.map +1 -0
- package/dist/custom/ai/run-decision.action.js +169 -0
- package/dist/custom/ai/run-decision.action.js.map +1 -0
- package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
- package/dist/custom/ai/summarize-content.action.js +3 -0
- package/dist/custom/ai/summarize-content.action.js.map +1 -1
- package/dist/custom/data/run-adhoc-query.action.d.ts.map +1 -1
- package/dist/custom/data/run-adhoc-query.action.js +3 -0
- package/dist/custom/data/run-adhoc-query.action.js.map +1 -1
- package/dist/custom/interactive-forms/_shared.d.ts +113 -31
- package/dist/custom/interactive-forms/_shared.d.ts.map +1 -1
- package/dist/custom/interactive-forms/_shared.js +198 -74
- package/dist/custom/interactive-forms/_shared.js.map +1 -1
- package/dist/custom/interactive-forms/activate-form-contribution-version.action.d.ts +23 -0
- package/dist/custom/interactive-forms/activate-form-contribution-version.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/activate-form-contribution-version.action.js +151 -0
- package/dist/custom/interactive-forms/activate-form-contribution-version.action.js.map +1 -0
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.d.ts +23 -7
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.d.ts.map +1 -1
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.js +114 -58
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.js.map +1 -1
- package/dist/custom/interactive-forms/create-form-contribution.action.d.ts +35 -0
- package/dist/custom/interactive-forms/create-form-contribution.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/create-form-contribution.action.js +149 -0
- package/dist/custom/interactive-forms/create-form-contribution.action.js.map +1 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.d.ts +3 -0
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.d.ts.map +1 -1
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.js +5 -1
- package/dist/custom/interactive-forms/get-active-form-for-entity.action.js.map +1 -1
- package/dist/custom/interactive-forms/get-form-composition-for-entity.action.d.ts +59 -0
- package/dist/custom/interactive-forms/get-form-composition-for-entity.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/get-form-composition-for-entity.action.js +313 -0
- package/dist/custom/interactive-forms/get-form-composition-for-entity.action.js.map +1 -0
- package/dist/custom/interactive-forms/get-form-contributions-for-entity.action.d.ts +47 -0
- package/dist/custom/interactive-forms/get-form-contributions-for-entity.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/get-form-contributions-for-entity.action.js +115 -0
- package/dist/custom/interactive-forms/get-form-contributions-for-entity.action.js.map +1 -0
- package/dist/custom/interactive-forms/index.d.ts +5 -0
- package/dist/custom/interactive-forms/index.d.ts.map +1 -1
- package/dist/custom/interactive-forms/index.js +5 -0
- package/dist/custom/interactive-forms/index.js.map +1 -1
- package/dist/custom/interactive-forms/modify-form-contribution.action.d.ts +36 -0
- package/dist/custom/interactive-forms/modify-form-contribution.action.d.ts.map +1 -0
- package/dist/custom/interactive-forms/modify-form-contribution.action.js +181 -0
- package/dist/custom/interactive-forms/modify-form-contribution.action.js.map +1 -0
- package/dist/custom/interactive-forms/modify-interactive-form.action.d.ts +13 -11
- package/dist/custom/interactive-forms/modify-interactive-form.action.d.ts.map +1 -1
- package/dist/custom/interactive-forms/modify-interactive-form.action.js +65 -64
- package/dist/custom/interactive-forms/modify-interactive-form.action.js.map +1 -1
- package/dist/custom/interactive-forms/revert-interactive-form.action.d.ts +12 -0
- package/dist/custom/interactive-forms/revert-interactive-form.action.d.ts.map +1 -1
- package/dist/custom/interactive-forms/revert-interactive-form.action.js +29 -4
- package/dist/custom/interactive-forms/revert-interactive-form.action.js.map +1 -1
- package/dist/custom/record-cloning/clone-record.action.d.ts +15 -0
- package/dist/custom/record-cloning/clone-record.action.d.ts.map +1 -0
- package/dist/custom/record-cloning/clone-record.action.js +125 -0
- package/dist/custom/record-cloning/clone-record.action.js.map +1 -0
- package/dist/custom/record-cloning/clone-records.action.d.ts +15 -0
- package/dist/custom/record-cloning/clone-records.action.d.ts.map +1 -0
- package/dist/custom/record-cloning/clone-records.action.js +175 -0
- package/dist/custom/record-cloning/clone-records.action.js.map +1 -0
- package/dist/custom/utilities/vectorize-entity.action.js +1 -1
- package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +42 -40
|
@@ -6,9 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { RegisterClass } from "@memberjunction/global";
|
|
8
8
|
import { BaseAction } from "@memberjunction/actions";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { UUIDsEqual } from "@memberjunction/global";
|
|
10
|
+
import { GetAIAPIKey, CredentialScopeAllows, } from "@memberjunction/ai";
|
|
11
11
|
import { AIEngineBase } from "@memberjunction/ai-engine-base";
|
|
12
|
+
import { AIImageGenerationRunner, } from "@memberjunction/ai-prompts";
|
|
12
13
|
/**
|
|
13
14
|
* Action that generates images using AI image generation models (DALL-E, Gemini, etc.)
|
|
14
15
|
*
|
|
@@ -76,15 +77,52 @@ import { AIEngineBase } from "@memberjunction/ai-engine-base";
|
|
|
76
77
|
* the platform key as it always did. Then the vendor-name fallback that was always here — but
|
|
77
78
|
* actually USED this time: the previous code found a key by vendor name and then handed the empty
|
|
78
79
|
* driver-class result to the generator, so that branch never produced an image.
|
|
80
|
+
*
|
|
81
|
+
* @deprecated Kept for compatibility only: `GenerateImageAction` no longer calls it. Use
|
|
82
|
+
* {@link BuildImageGenerationAPIKeys}, which the action and the runner use.
|
|
79
83
|
*/
|
|
80
84
|
export function ResolveImageGenerationAPIKey(driverClass, vendorName, resolve) {
|
|
81
|
-
const
|
|
85
|
+
const key = findImageGenerationAPIKey(driverClass, vendorName, resolve);
|
|
86
|
+
if (key)
|
|
87
|
+
return key;
|
|
88
|
+
throw new Error(`No API key found for ${driverClass} or vendor ${vendorName || 'unknown'}`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* {@link ResolveImageGenerationAPIKey}'s lookup, answering undefined rather than throwing when nothing
|
|
92
|
+
* resolves. Under a `'RuntimeOnly'` scope only `resolve` answers: the platform key is never a fallback.
|
|
93
|
+
*/
|
|
94
|
+
function findImageGenerationAPIKey(driverClass, vendorName, resolve, scope = 'Any') {
|
|
95
|
+
const platformKey = (name) => CredentialScopeAllows(scope, 'Environment') ? GetAIAPIKey(name) : undefined;
|
|
96
|
+
const byDriver = resolve?.(driverClass) || platformKey(driverClass);
|
|
82
97
|
if (byDriver)
|
|
83
98
|
return byDriver;
|
|
84
|
-
const byVendor = vendorName ? resolve?.(vendorName) ||
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
99
|
+
const byVendor = vendorName ? resolve?.(vendorName) || platformKey(vendorName) : '';
|
|
100
|
+
return byVendor || undefined;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The keys an image run hands the runner as `APIKeys`: at most one per driver class, resolved as
|
|
104
|
+
* {@link ResolveImageGenerationAPIKey} does. A key reaches only the candidates of its own driver
|
|
105
|
+
* class, so a run's own key survives failover to another vendor only if that vendor's class has
|
|
106
|
+
* one here.
|
|
107
|
+
*
|
|
108
|
+
* `sources` should be in the order the runner tries its candidates. When two sources share a driver
|
|
109
|
+
* class, the first whose key resolves wins, so the key a class carries is the one for the vendor the
|
|
110
|
+
* runner reaches first. A class with no key anywhere is left out: the runner may still resolve a
|
|
111
|
+
* credential binding for it, and otherwise skips it.
|
|
112
|
+
*
|
|
113
|
+
* Under a `'RuntimeOnly'` `scope` only the run's own keys are collected, and the runner (given the
|
|
114
|
+
* same scope) skips every class without one rather than resolving a platform credential for it.
|
|
115
|
+
*/
|
|
116
|
+
export function BuildImageGenerationAPIKeys(sources, resolve, scope = 'Any') {
|
|
117
|
+
const keys = [];
|
|
118
|
+
for (const source of sources) {
|
|
119
|
+
if (keys.some(k => k.driverClass === source.DriverClass))
|
|
120
|
+
continue;
|
|
121
|
+
const apiKey = findImageGenerationAPIKey(source.DriverClass, source.VendorName, resolve, scope);
|
|
122
|
+
if (apiKey)
|
|
123
|
+
keys.push({ driverClass: source.DriverClass, apiKey });
|
|
124
|
+
}
|
|
125
|
+
return keys;
|
|
88
126
|
}
|
|
89
127
|
let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
90
128
|
/**
|
|
@@ -95,7 +133,8 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
95
133
|
*
|
|
96
134
|
* @param params - The action parameters containing:
|
|
97
135
|
* - Prompt: Text description of the image to generate or edit instructions (required)
|
|
98
|
-
* - Model: Model name
|
|
136
|
+
* - Model: Model name or API name to pin (optional; when not specified, the `Default Image
|
|
137
|
+
* Generation` prompt's bindings choose, with failover between them)
|
|
99
138
|
* - NumberOfImages: Number of images to generate (optional, default: 1)
|
|
100
139
|
* - Size: Image size like "1024x1024" (optional)
|
|
101
140
|
* - Quality: Quality level - "standard" or "hd" (optional)
|
|
@@ -110,16 +149,6 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
110
149
|
async InternalRunAction(params) {
|
|
111
150
|
try {
|
|
112
151
|
const prompt = this.getParamValue(params, 'prompt');
|
|
113
|
-
const modelName = this.getParamValue(params, 'model');
|
|
114
|
-
const numberOfImages = this.getNumberParam(params, 'numberofimages', 1);
|
|
115
|
-
const size = this.getParamValue(params, 'size') || '1024x1024';
|
|
116
|
-
const quality = this.getParamValue(params, 'quality');
|
|
117
|
-
const style = this.getParamValue(params, 'style');
|
|
118
|
-
const negativePrompt = this.getParamValue(params, 'negativeprompt');
|
|
119
|
-
const outputFormat = this.getParamValue(params, 'outputformat') || 'base64';
|
|
120
|
-
const sourceImage = this.getParamValue(params, 'sourceimage');
|
|
121
|
-
const mask = this.getParamValue(params, 'mask');
|
|
122
|
-
// Validate prompt
|
|
123
152
|
if (!prompt) {
|
|
124
153
|
return {
|
|
125
154
|
Success: false,
|
|
@@ -127,89 +156,10 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
127
156
|
ResultCode: "MISSING_PROMPT"
|
|
128
157
|
};
|
|
129
158
|
}
|
|
130
|
-
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
// Image-to-image: use EditImage when source image is provided
|
|
135
|
-
result = await this.executeImageEdit(generator, {
|
|
136
|
-
prompt,
|
|
137
|
-
apiName,
|
|
138
|
-
sourceImage,
|
|
139
|
-
mask,
|
|
140
|
-
numberOfImages,
|
|
141
|
-
size,
|
|
142
|
-
outputFormat,
|
|
143
|
-
negativePrompt
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
// Text-to-image: use GenerateImage
|
|
148
|
-
result = await this.executeImageGeneration(generator, {
|
|
149
|
-
prompt,
|
|
150
|
-
apiName,
|
|
151
|
-
numberOfImages,
|
|
152
|
-
size,
|
|
153
|
-
outputFormat,
|
|
154
|
-
quality,
|
|
155
|
-
style,
|
|
156
|
-
negativePrompt
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
if (!result.success) {
|
|
160
|
-
return {
|
|
161
|
-
Success: false,
|
|
162
|
-
Message: `Image generation failed: ${result.errorMessage || 'Unknown error'}`,
|
|
163
|
-
ResultCode: "GENERATION_FAILED"
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
if (!result.images || result.images.length === 0) {
|
|
167
|
-
return {
|
|
168
|
-
Success: false,
|
|
169
|
-
Message: "No images were generated",
|
|
170
|
-
ResultCode: "NO_IMAGES"
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
// Format output images
|
|
174
|
-
const outputImages = result.images.map((img, index) => this.formatImageOutput(img, index));
|
|
175
|
-
// Add output parameters
|
|
176
|
-
params.Params.push({
|
|
177
|
-
Name: 'Images',
|
|
178
|
-
Type: 'Output',
|
|
179
|
-
Value: outputImages
|
|
180
|
-
});
|
|
181
|
-
params.Params.push({
|
|
182
|
-
Name: 'ImageCount',
|
|
183
|
-
Type: 'Output',
|
|
184
|
-
Value: result.images.length
|
|
185
|
-
});
|
|
186
|
-
if (result.revisedPrompt) {
|
|
187
|
-
params.Params.push({
|
|
188
|
-
Name: 'RevisedPrompt',
|
|
189
|
-
Type: 'Output',
|
|
190
|
-
Value: result.revisedPrompt
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
params.Params.push({
|
|
194
|
-
Name: 'ModelUsed',
|
|
195
|
-
Type: 'Output',
|
|
196
|
-
Value: model.Name
|
|
197
|
-
});
|
|
198
|
-
// Build response - NOTE: images data is in output params, not in Message
|
|
199
|
-
// This keeps Message lightweight for LLM context (base64 images are ~700K tokens each)
|
|
200
|
-
const responseData = {
|
|
201
|
-
message: `Successfully generated ${result.images.length} image(s)`,
|
|
202
|
-
model: model.Name,
|
|
203
|
-
imageCount: result.images.length,
|
|
204
|
-
// Images are available in the 'Images' output parameter
|
|
205
|
-
// Use the provided placeholder references in your response
|
|
206
|
-
revisedPrompt: result.revisedPrompt
|
|
207
|
-
};
|
|
208
|
-
return {
|
|
209
|
-
Success: true,
|
|
210
|
-
ResultCode: "IMAGES_GENERATED",
|
|
211
|
-
Message: JSON.stringify(responseData, null, 2)
|
|
212
|
-
};
|
|
159
|
+
const { PinnedModel, RunOptions } = await this.prepareImageRun(params, this.getParamValue(params, 'model'));
|
|
160
|
+
const runResult = await this.runImageOperation(params, prompt, RunOptions);
|
|
161
|
+
// The model that answered, which after failover may not be the first choice
|
|
162
|
+
return this.toActionResult(params, runResult, runResult.ModelName ?? PinnedModel?.Name ?? '');
|
|
213
163
|
}
|
|
214
164
|
catch (error) {
|
|
215
165
|
return {
|
|
@@ -220,53 +170,170 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
220
170
|
}
|
|
221
171
|
}
|
|
222
172
|
/**
|
|
223
|
-
*
|
|
173
|
+
* Build the runner options for this call.
|
|
174
|
+
*
|
|
175
|
+
* - **The model is pinned only when the caller named one.** Otherwise the `Default Image
|
|
176
|
+
* Generation` prompt's bindings choose, and its failover reaches the other models. As shipped,
|
|
177
|
+
* its top binding is the highest-PowerRank active image model, the one this action used to
|
|
178
|
+
* pick itself.
|
|
179
|
+
* - **`APIKeys` holds a key for every driver class the run may reach** (see
|
|
180
|
+
* {@link BuildImageGenerationAPIKeys}), so a run's own key carries across vendors on failover.
|
|
181
|
+
* Within a model the sources follow the runner's vendor order exactly; across models they
|
|
182
|
+
* follow PowerRank. That order matters only when two vendors share a driver class that has no
|
|
183
|
+
* key of its own, where it picks whose vendor-name key the class carries.
|
|
184
|
+
* - **The calling agent** (`Context.AgentID`, stamped by BaseAgent) is recorded on the run row.
|
|
185
|
+
*
|
|
186
|
+
* The keys rank as they do for chat prompts: a credential bound to the prompt-model, the
|
|
187
|
+
* model-vendor or the vendor, or a default credential of the vendor's credential type, wins
|
|
188
|
+
* over them. Only with none of those is the key the generator gets the one this action resolves.
|
|
224
189
|
*/
|
|
225
|
-
async
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
190
|
+
async prepareImageRun(params, modelName) {
|
|
191
|
+
await AIEngineBase.Instance.Config(false, params.ContextUser);
|
|
192
|
+
const imageModels = this.activeImageModels();
|
|
193
|
+
const pinned = modelName ? this.findNamedModel(imageModels, modelName) : undefined;
|
|
194
|
+
const sources = pinned ? this.pinnedKeySources(pinned) : imageModels.flatMap(m => this.keySources(m));
|
|
195
|
+
const runOptions = {
|
|
196
|
+
ContextUser: params.ContextUser,
|
|
197
|
+
APIKeys: BuildImageGenerationAPIKeys(sources, params.RuntimeAPIKeyResolver, params.CredentialScope)
|
|
198
|
+
};
|
|
199
|
+
if (params.CredentialScope) {
|
|
200
|
+
runOptions.CredentialScope = params.CredentialScope;
|
|
232
201
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
202
|
+
if (pinned) {
|
|
203
|
+
runOptions.ModelID = pinned.ID;
|
|
204
|
+
}
|
|
205
|
+
const agentId = this.contextAgentID(params);
|
|
206
|
+
if (agentId) {
|
|
207
|
+
runOptions.AgentID = agentId;
|
|
208
|
+
}
|
|
209
|
+
return { PinnedModel: pinned, RunOptions: runOptions };
|
|
210
|
+
}
|
|
211
|
+
/** The active image models, highest PowerRank first. */
|
|
212
|
+
activeImageModels() {
|
|
213
|
+
const models = AIEngineBase.Instance.Models.filter(m => m.AIModelType?.toLowerCase() === 'image generator' && m.IsActive);
|
|
214
|
+
if (models.length === 0) {
|
|
215
|
+
throw new Error('No active image generator models found');
|
|
242
216
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
217
|
+
return [...models].sort((a, b) => (b.PowerRank || 0) - (a.PowerRank || 0));
|
|
218
|
+
}
|
|
219
|
+
/** The image model the caller named, by name or API name. */
|
|
220
|
+
findNamedModel(models, modelName) {
|
|
221
|
+
const wanted = modelName.toLowerCase();
|
|
222
|
+
const found = models.find(m => m.Name.toLowerCase() === wanted || (m.APIName && m.APIName.toLowerCase() === wanted));
|
|
223
|
+
if (!found) {
|
|
224
|
+
throw new Error(`Image generator model '${modelName}' not found`);
|
|
246
225
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
226
|
+
return found;
|
|
227
|
+
}
|
|
228
|
+
/** The named model's key sources. A named model with no active inference provider cannot run. */
|
|
229
|
+
pinnedKeySources(model) {
|
|
230
|
+
const sources = this.keySources(model);
|
|
231
|
+
if (sources.length === 0) {
|
|
251
232
|
throw new Error(`No active inference provider found for model '${model.Name}'`);
|
|
252
233
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
234
|
+
return sources;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* A model's active inference vendors, in the order the runner tries them (Priority, highest
|
|
238
|
+
* first), each with the driver class the runner builds for it.
|
|
239
|
+
*/
|
|
240
|
+
keySources(model) {
|
|
241
|
+
return model.ModelVendors
|
|
242
|
+
.filter(mv => mv.Status === 'Active' && AIEngineBase.Instance.IsInferenceProvider(mv) && (mv.DriverClass || model.DriverClass))
|
|
243
|
+
.sort((a, b) => (b.Priority || 0) - (a.Priority || 0))
|
|
244
|
+
.map(mv => ({
|
|
245
|
+
DriverClass: mv.DriverClass || model.DriverClass,
|
|
246
|
+
VendorName: AIEngineBase.Instance.Vendors.find(v => UUIDsEqual(v.ID, mv.VendorID))?.Name
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
/** The calling agent's ID, which BaseAgent stamps on the action's context. */
|
|
250
|
+
contextAgentID(params) {
|
|
251
|
+
const context = params.Context;
|
|
252
|
+
const agentId = context?.AgentID;
|
|
253
|
+
return typeof agentId === 'string' && agentId.trim().length > 0 ? agentId : undefined;
|
|
254
|
+
}
|
|
255
|
+
/** Runs the edit when a source image is given, otherwise the generation. */
|
|
256
|
+
runImageOperation(params, prompt, runOptions) {
|
|
257
|
+
const numberOfImages = this.getNumberParam(params, 'numberofimages', 1);
|
|
258
|
+
const size = this.getParamValue(params, 'size') || '1024x1024';
|
|
259
|
+
const outputFormat = this.getParamValue(params, 'outputformat') || 'base64';
|
|
260
|
+
const negativePrompt = this.getParamValue(params, 'negativeprompt');
|
|
261
|
+
const sourceImage = this.getParamValue(params, 'sourceimage');
|
|
262
|
+
if (sourceImage) {
|
|
263
|
+
// Image-to-image: use EditImage when source image is provided
|
|
264
|
+
const mask = this.getParamValue(params, 'mask');
|
|
265
|
+
return this.executeImageEdit(runOptions, { prompt, sourceImage, mask, numberOfImages, size, outputFormat, negativePrompt });
|
|
266
|
+
}
|
|
267
|
+
const quality = this.getParamValue(params, 'quality');
|
|
268
|
+
const style = this.getParamValue(params, 'style');
|
|
269
|
+
return this.executeImageGeneration(runOptions, { prompt, numberOfImages, size, outputFormat, quality, style, negativePrompt });
|
|
270
|
+
}
|
|
271
|
+
/** Maps the runner's result onto the action's result codes and output params. */
|
|
272
|
+
toActionResult(params, runResult, modelName) {
|
|
273
|
+
if (!runResult.Success) {
|
|
274
|
+
return {
|
|
275
|
+
Success: false,
|
|
276
|
+
Message: `Image generation failed: ${runResult.ErrorMessage || 'Unknown error'}`,
|
|
277
|
+
ResultCode: "GENERATION_FAILED"
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
const result = runResult.ImageResult;
|
|
281
|
+
if (!result?.images || result.images.length === 0) {
|
|
282
|
+
return {
|
|
283
|
+
Success: false,
|
|
284
|
+
Message: "No images were generated",
|
|
285
|
+
ResultCode: "NO_IMAGES"
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
this.addOutputParams(params, result, modelName);
|
|
289
|
+
// Build response - NOTE: images data is in output params, not in Message
|
|
290
|
+
// This keeps Message lightweight for LLM context (base64 images are ~700K tokens each)
|
|
291
|
+
const responseData = {
|
|
292
|
+
message: `Successfully generated ${result.images.length} image(s)`,
|
|
293
|
+
model: modelName,
|
|
294
|
+
imageCount: result.images.length,
|
|
295
|
+
// Images are available in the 'Images' output parameter
|
|
296
|
+
// Use the provided placeholder references in your response
|
|
297
|
+
revisedPrompt: result.revisedPrompt
|
|
298
|
+
};
|
|
299
|
+
return {
|
|
300
|
+
Success: true,
|
|
301
|
+
ResultCode: "IMAGES_GENERATED",
|
|
302
|
+
Message: JSON.stringify(responseData, null, 2)
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/** Adds the Images, ImageCount, RevisedPrompt and ModelUsed output params. */
|
|
306
|
+
addOutputParams(params, result, modelName) {
|
|
307
|
+
params.Params.push({
|
|
308
|
+
Name: 'Images',
|
|
309
|
+
Type: 'Output',
|
|
310
|
+
Value: result.images.map((img, index) => this.formatImageOutput(img, index))
|
|
311
|
+
});
|
|
312
|
+
params.Params.push({
|
|
313
|
+
Name: 'ImageCount',
|
|
314
|
+
Type: 'Output',
|
|
315
|
+
Value: result.images.length
|
|
316
|
+
});
|
|
317
|
+
if (result.revisedPrompt) {
|
|
318
|
+
params.Params.push({
|
|
319
|
+
Name: 'RevisedPrompt',
|
|
320
|
+
Type: 'Output',
|
|
321
|
+
Value: result.revisedPrompt
|
|
322
|
+
});
|
|
260
323
|
}
|
|
261
|
-
|
|
324
|
+
params.Params.push({
|
|
325
|
+
Name: 'ModelUsed',
|
|
326
|
+
Type: 'Output',
|
|
327
|
+
Value: modelName
|
|
328
|
+
});
|
|
262
329
|
}
|
|
263
330
|
/**
|
|
264
|
-
* Execute text-to-image generation
|
|
331
|
+
* Execute text-to-image generation through the image runner
|
|
265
332
|
*/
|
|
266
|
-
async executeImageGeneration(
|
|
333
|
+
async executeImageGeneration(runOptions, options) {
|
|
267
334
|
const genParams = {
|
|
335
|
+
...runOptions,
|
|
268
336
|
prompt: options.prompt,
|
|
269
|
-
model: options.apiName,
|
|
270
337
|
n: options.numberOfImages,
|
|
271
338
|
size: options.size,
|
|
272
339
|
outputFormat: options.outputFormat === 'url' ? 'url' : 'b64_json'
|
|
@@ -280,15 +347,15 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
280
347
|
if (options.negativePrompt) {
|
|
281
348
|
genParams.negativePrompt = options.negativePrompt;
|
|
282
349
|
}
|
|
283
|
-
return
|
|
350
|
+
return new AIImageGenerationRunner().RunImageGeneration(genParams);
|
|
284
351
|
}
|
|
285
352
|
/**
|
|
286
|
-
* Execute image-to-image editing
|
|
353
|
+
* Execute image-to-image editing through the image runner
|
|
287
354
|
*/
|
|
288
|
-
async executeImageEdit(
|
|
355
|
+
async executeImageEdit(runOptions, options) {
|
|
289
356
|
const editParams = {
|
|
357
|
+
...runOptions,
|
|
290
358
|
prompt: options.prompt,
|
|
291
|
-
model: options.apiName,
|
|
292
359
|
image: options.sourceImage,
|
|
293
360
|
n: options.numberOfImages,
|
|
294
361
|
size: options.size,
|
|
@@ -300,7 +367,7 @@ let GenerateImageAction = class GenerateImageAction extends BaseAction {
|
|
|
300
367
|
if (options.negativePrompt) {
|
|
301
368
|
editParams.negativePrompt = options.negativePrompt;
|
|
302
369
|
}
|
|
303
|
-
return
|
|
370
|
+
return new AIImageGenerationRunner().RunImageEdit(editParams);
|
|
304
371
|
}
|
|
305
372
|
/**
|
|
306
373
|
* Format a generated image for output as MediaOutput
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-image.action.js","sourceRoot":"","sources":["../../../src/custom/ai/generate-image.action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-image.action.js","sourceRoot":"","sources":["../../../src/custom/ai/generate-image.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
|
+
/**
|
|
4
|
+
* Result codes produced by RunDecisionAction.
|
|
5
|
+
*/
|
|
6
|
+
export declare const RunDecisionResultCodes: {
|
|
7
|
+
readonly SUCCESS: "SUCCESS";
|
|
8
|
+
readonly MISSING_STATE: "MISSING_STATE";
|
|
9
|
+
readonly INVALID_QUESTIONS: "INVALID_QUESTIONS";
|
|
10
|
+
readonly PROMPT_NOT_FOUND: "PROMPT_NOT_FOUND";
|
|
11
|
+
readonly PROMPT_NOT_ACTIVE: "PROMPT_NOT_ACTIVE";
|
|
12
|
+
readonly DECISION_FAILED: "DECISION_FAILED";
|
|
13
|
+
readonly EXECUTION_ERROR: "EXECUTION_ERROR";
|
|
14
|
+
};
|
|
15
|
+
export type RunDecisionResultCode = typeof RunDecisionResultCodes[keyof typeof RunDecisionResultCodes];
|
|
16
|
+
/**
|
|
17
|
+
* Action that exposes typed decision execution to AI agents, flows, and low-code workflows.
|
|
18
|
+
* Wraps AIDecisionRunner to evaluate Likelihood, Choice, and Score questions against state.
|
|
19
|
+
*/
|
|
20
|
+
export declare class RunDecisionAction extends BaseAction {
|
|
21
|
+
private static readonly DEFAULT_PROMPT_NAME;
|
|
22
|
+
/**
|
|
23
|
+
* Executes a typed decision operation.
|
|
24
|
+
*
|
|
25
|
+
* Input params:
|
|
26
|
+
* - State (required): Text or a JSON object describing the state to evaluate.
|
|
27
|
+
* - Questions (required): Object or JSON string mapping question keys to typed question definitions.
|
|
28
|
+
* - DecisionPromptName (optional): Name of the AI Prompt entity to use, defaults to 'Default Decision'.
|
|
29
|
+
*/
|
|
30
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
31
|
+
/** Validates State and Questions and resolves the prompt name, before any model is called. */
|
|
32
|
+
private readInputs;
|
|
33
|
+
private buildDecisionParams;
|
|
34
|
+
private addOutputs;
|
|
35
|
+
private failure;
|
|
36
|
+
private validateState;
|
|
37
|
+
private buildSummaryMessage;
|
|
38
|
+
/** Finds the decision prompt in AIEngine's cache, by name, case-insensitively. */
|
|
39
|
+
private loadPrompt;
|
|
40
|
+
private addOutputParam;
|
|
41
|
+
private getParamValue;
|
|
42
|
+
private getStringParam;
|
|
43
|
+
private isObject;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=run-decision.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-decision.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/run-decision.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAOrD;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;CAQzB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAWvG;;;GAGG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE;;;;;;;OAOG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBvF,8FAA8F;IAC9F,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,mBAAmB;IAY3B,kFAAkF;YACpE,UAAU;IAMxB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;CAGnB"}
|