@memberjunction/ai-agent-manager 6.2.0-edge.1 → 6.2.0-edge.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
 
2
- > @memberjunction/ai-agent-manager@6.2.0-edge.1 build /home/runner/work/MJ/MJ/packages/AI/AgentManager/core
2
+ > @memberjunction/ai-agent-manager@6.2.0-edge.2 build /home/runner/work/MJ/MJ/packages/AI/AgentManager/core
3
3
  > tsc && tsc-alias -f
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,62 @@
1
1
  # @memberjunction/ai-agent-manager
2
2
 
3
+ ## 6.2.0-edge.2
4
+
5
+ ### Minor Changes
6
+
7
+ - 043f418: Support Decision steps in Agent Manager: update architect and planning prompt templates, add example JSON output with Decision step and Choice fork paths, and support Decision step round-tripping with configuration normalization and custom prompt IDs. The Architect validates a Flow agent's steps and paths, and those of each Flow child sub-agent, by compiling and validating them with the runtime's own `CompileFlowToTaskGraph` and `ValidateTaskGraphSpec`, and checks that a Decision step's prompt is a Decision prompt. `AgentStep.Configuration` accepts an object as well as JSON text.
8
+ - 26c0178: Flow agents gain a Decision step: one typed decision call whose outgoing paths route on its answers through the `decisions` condition root (`decisions.<key>.<question>`), both when the flow is dispatched as a task graph and when it runs in-run. An answer that fell below its question's `minConfidence`, or was never given, holds every condition that reads it, so a flow never guesses a branch; a failed decision call is a failed step, whose recovery path is taken whatever its rank. A state that is missing or empty, `{}` included, fails the step the same way in both modes, before any model is asked. A flow with a Decision step is validated the same way in both modes before its first step. Saving a task graph as a workflow now keeps its Decision nodes as Decision steps. Saving a workflow through Agent Manager now resolves the actions and prompts its steps name, so a saved Action step keeps its action and a Decision step keeps its prompt, and an action it cannot resolve is reported.
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies [ca853fc]
13
+ - Updated dependencies [f555162]
14
+ - Updated dependencies [043f418]
15
+ - Updated dependencies [e97d95c]
16
+ - Updated dependencies [ff3097d]
17
+ - Updated dependencies [2552b1e]
18
+ - Updated dependencies [8fd1c46]
19
+ - Updated dependencies [21f9e15]
20
+ - Updated dependencies [28fdf22]
21
+ - Updated dependencies [4248fb3]
22
+ - Updated dependencies [672b4c6]
23
+ - Updated dependencies [f3c6161]
24
+ - Updated dependencies [0e5ad68]
25
+ - Updated dependencies [01fafc6]
26
+ - Updated dependencies [50ba290]
27
+ - Updated dependencies [ffb3c0f]
28
+ - Updated dependencies [0adaf76]
29
+ - Updated dependencies [ef43cf3]
30
+ - Updated dependencies [b03a928]
31
+ - Updated dependencies [b44c7cf]
32
+ - Updated dependencies [0d61b53]
33
+ - Updated dependencies [26c0178]
34
+ - Updated dependencies [594f2e0]
35
+ - Updated dependencies [705ab4e]
36
+ - Updated dependencies [96daca8]
37
+ - Updated dependencies [aa912ca]
38
+ - Updated dependencies [f3fa01e]
39
+ - Updated dependencies [3276daa]
40
+ - Updated dependencies [d0cea53]
41
+ - Updated dependencies [7e57b48]
42
+ - Updated dependencies [7e57b48]
43
+ - Updated dependencies [5986939]
44
+ - Updated dependencies [200e634]
45
+ - Updated dependencies [4d647e6]
46
+ - Updated dependencies [c35f7e5]
47
+ - Updated dependencies [bb33c77]
48
+ - Updated dependencies [369e229]
49
+ - Updated dependencies [d13cf6b]
50
+ - Updated dependencies [2854a2e]
51
+ - @memberjunction/ai-agents@6.2.0-edge.2
52
+ - @memberjunction/ai-core-plus@6.2.0-edge.2
53
+ - @memberjunction/core@6.2.0-edge.2
54
+ - @memberjunction/aiengine@6.2.0-edge.2
55
+ - @memberjunction/core-entities@6.2.0-edge.2
56
+ - @memberjunction/global@6.2.0-edge.2
57
+ - @memberjunction/ai-engine-base@6.2.0-edge.2
58
+ - @memberjunction/templates@6.2.0-edge.2
59
+
3
60
  ## 6.2.0-edge.1
4
61
 
5
62
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spec-sync.d.ts","sourceRoot":"","sources":["../src/agent-spec-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-spec-sync.d.ts","sourceRoot":"","sources":["../src/agent-spec-sync.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Metadata, RunView, LogError } from '@memberjunction/core';
2
2
  import { UUIDsEqual } from '@memberjunction/global';
3
+ import { StepConfigurationText } from './flow-step-validation.js';
3
4
  /**
4
5
  * AgentSpecSync provides a high-level interface for working with AI Agent metadata in MemberJunction.
5
6
  *
@@ -566,9 +567,9 @@ export class AgentSpecSync {
566
567
  ActionID: step.ActionID || undefined,
567
568
  SubAgentID: step.SubAgentID || undefined,
568
569
  PromptID: step.PromptID || undefined,
569
- // Loop steps round-trip their body type and bounds; without these, reading a flow agent
570
- // that contains a loop and writing it back would silently turn the loop into an
571
- // unconfigured step that iterates over nothing.
570
+ // Loop & Decision steps round-trip their configuration and bounds; without these, reading
571
+ // a flow agent that contains a decision or loop and writing it back would silently strip
572
+ // the step's logic or bounds.
572
573
  LoopBodyType: step.LoopBodyType || undefined,
573
574
  Configuration: step.Configuration || undefined,
574
575
  ActionInputMapping: this.parseJsonField(step.ActionInputMapping),
@@ -1077,7 +1078,9 @@ export class AgentSpecSync {
1077
1078
  // Configuration carries the bounds. Written for every step because a step that STOPS
1078
1079
  // being a loop must have these cleared, not left behind from its previous shape.
1079
1080
  stepEntity.LoopBodyType = stepSpec.LoopBodyType || null;
1080
- stepEntity.Configuration = stepSpec.Configuration || null;
1081
+ // Stored as JSON text even when the model wrote an object, with a Decision step's aliases
1082
+ // normalized: the text the Architect's validator compiled.
1083
+ stepEntity.Configuration = StepConfigurationText(stepSpec);
1081
1084
  // Handle inline prompt creation for Prompt-type steps
1082
1085
  // If StepType is Prompt and PromptID is empty, create a new AIPrompt record
1083
1086
  if (stepSpec.StepType === 'Prompt' && (!stepSpec.PromptID || stepSpec.PromptID === '')) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spec-sync.js","sourceRoot":"","sources":["../src/agent-spec-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-spec-sync.js","sourceRoot":"","sources":["../src/agent-spec-sync.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,27 @@ export declare class AgentArchitectAgent extends BaseAgent {
43
43
  errors: string[];
44
44
  corrected: boolean;
45
45
  };
46
+ /**
47
+ * Every problem with a Flow agent's steps and paths: a starting step, each step on its own, and
48
+ * then the flow as the runtime compiles and validates it ({@link ValidateFlowGraph}). Used for the
49
+ * agent itself and for each Flow child sub-agent, which runs its steps the same way.
50
+ */
51
+ private validateFlowSteps;
52
+ /** The checks one step gets on its own, by type. */
53
+ private validateFlowStep;
54
+ /** An Action step needs its action, and any mapping written as text must be JSON. */
55
+ private validateActionStep;
56
+ /** A Prompt step names an existing prompt, or writes one inline as PromptText for the Builder to create. */
57
+ private validatePromptStep;
58
+ /**
59
+ * A Decision step's `PromptID`, when it sets one, must be a prompt that can run a decision. Empty
60
+ * means the Default Decision prompt.
61
+ *
62
+ * The runtime runs the step's prompt on Decision-type models only, and refuses a prompt whose model
63
+ * type is set to anything else; it finds that out only when the step runs. A prompt with no model
64
+ * type takes the runner's, so it is not refused here.
65
+ */
66
+ private validateDecisionPrompt;
46
67
  /**
47
68
  * Deduplicates arrays in AgentSpec to fix common LLM retry issues
48
69
  * Modifies spec in place and returns whether duplicates were found
@@ -50,6 +71,13 @@ export declare class AgentArchitectAgent extends BaseAgent {
50
71
  protected deduplicateAgentSpec(spec: AgentSpec): {
51
72
  hadDuplicates: boolean;
52
73
  };
74
+ /**
75
+ * The agent type's name for a spec's `TypeID`. The Architect's template has the model write the
76
+ * type's ID (a GUID), which never contains 'Loop' or 'Flow', so the ID is resolved through
77
+ * AIEngine's agent types. Anything that is not a known type's ID (an older spec that wrote the
78
+ * name) is returned as written.
79
+ */
80
+ private agentTypeName;
53
81
  /**
54
82
  * Simple hash function for string deduplication
55
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"architect-agent.d.ts","sourceRoot":"","sources":["../../src/agents/architect-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAM5J;;;;;;;;;;;;;;;GAeG;AACH,qBACa,mBAAoB,SAAQ,SAAS;IAE9C;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;cAStD,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA0ChC;;;OAGG;cACa,iBAAiB,CAC7B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IA+L3D;;OAEG;cACa,eAAe,CAC3B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoDhC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACvB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,GAClC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;IAoI3C;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE;IAsH3E;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUzC;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;CAW7D"}
1
+ {"version":3,"file":"architect-agent.d.ts","sourceRoot":"","sources":["../../src/agents/architect-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAa,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAavK;;;;;;;;;;;;;;;GAeG;AACH,qBACa,mBAAoB,SAAQ,SAAS;IAE9C;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;cAStD,uBAAuB,CAAC,CAAC,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,8BAA8B,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA0ChC;;;OAGG;cACa,iBAAiB,CAC7B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IAsH3D;;OAEG;cACa,eAAe,CAC3B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoDhC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACvB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,GAClC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;IA0I3C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB,oDAAoD;IACpD,OAAO,CAAC,gBAAgB;IAqBxB,qFAAqF;IACrF,OAAO,CAAC,kBAAkB;IAiB1B,4GAA4G;IAC5G,OAAO,CAAC,kBAAkB;IAa1B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE;IAsH3E;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUzC;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;CAW7D"}
@@ -6,8 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { BaseAgent, PayloadManager } from '@memberjunction/ai-agents';
8
8
  import { RunView } from '@memberjunction/core';
9
- import { RegisterClass, NormalizeUUID } from '@memberjunction/global';
10
- import { IsLoopStep, ValidateLoopStep } from '../flow-step-validation.js';
9
+ import { RegisterClass, NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
10
+ import { AIEngine } from '@memberjunction/aiengine';
11
+ import { ValidateLoopStep, ValidateFlowGraph } from '../flow-step-validation.js';
12
+ /**
13
+ * The model type a Decision step's prompt runs on: the name of an `MJ: AI Model Types` row, and what
14
+ * the decision runner requires (`AIDecisionRunner.RequiredModelType`).
15
+ */
16
+ const DECISION_MODEL_TYPE = 'Decision';
11
17
  /**
12
18
  * Architect Agent - Transforms technical design into validated AgentSpec JSON
13
19
  *
@@ -136,8 +142,9 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
136
142
  errors.push(`❌ Status must be "Active", "Disabled", or "Pending", got: "${specWithType.Status}"`);
137
143
  }
138
144
  // 5. Validate agent type-specific requirements
139
- const isLoopAgent = specWithType.TypeID?.includes('Loop');
140
- const isFlowAgent = specWithType.TypeID?.includes('Flow');
145
+ const typeName = this.agentTypeName(specWithType.TypeID);
146
+ const isLoopAgent = typeName.includes('Loop');
147
+ const isFlowAgent = typeName.includes('Flow');
141
148
  if (isLoopAgent) {
142
149
  // Loop agents require at least one prompt
143
150
  if (!correctedSpec.Prompts || correctedSpec.Prompts.length === 0) {
@@ -159,76 +166,7 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
159
166
  errors.push('❌ Flow agents with multiple steps require at least ONE path in the Paths array');
160
167
  }
161
168
  }
162
- // Validate that at least one step is marked as StartingStep
163
- if (correctedSpec.Steps && correctedSpec.Steps.length > 0) {
164
- const hasStartingStep = correctedSpec.Steps.some(step => step.StartingStep === true);
165
- if (!hasStartingStep) {
166
- errors.push('❌ Flow agents require at least ONE step with StartingStep: true');
167
- }
168
- // Validate each step based on its type
169
- for (let i = 0; i < correctedSpec.Steps.length; i++) {
170
- const step = correctedSpec.Steps[i];
171
- // Validate Action steps
172
- if (step.StepType === 'Action') {
173
- if (!step.ActionID) {
174
- errors.push(`❌ Action step "${step.Name}" (index ${i}) must have ActionID field`);
175
- }
176
- // Validate ActionInputMapping if provided (supports both string and object)
177
- if (step.ActionInputMapping) {
178
- try {
179
- if (typeof step.ActionInputMapping === 'string') {
180
- JSON.parse(step.ActionInputMapping);
181
- }
182
- // else it's already an object, which is valid and will be stringified later
183
- }
184
- catch (e) {
185
- errors.push(`❌ Step "${step.Name}" (index ${i}) has invalid ActionInputMapping JSON: ${e?.message || String(e)}`);
186
- }
187
- }
188
- // Validate ActionOutputMapping if provided (supports both string and object)
189
- if (step.ActionOutputMapping) {
190
- try {
191
- if (typeof step.ActionOutputMapping === 'string') {
192
- JSON.parse(step.ActionOutputMapping);
193
- }
194
- // else it's already an object, which is valid and will be stringified later
195
- }
196
- catch (e) {
197
- errors.push(`❌ Step "${step.Name}" (index ${i}) has invalid ActionOutputMapping JSON: ${e?.message || String(e)}`);
198
- }
199
- }
200
- }
201
- // Validate Prompt steps
202
- if (step.StepType === 'Prompt') {
203
- // If PromptID is empty or not provided, PromptText is required for inline creation
204
- if (!step.PromptID || step.PromptID === '') {
205
- if (!step.PromptText || step.PromptText.trim() === '') {
206
- errors.push(`❌ Prompt step "${step.Name}" (index ${i}) has empty PromptID but missing PromptText. For inline prompt creation, PromptText is required.`);
207
- }
208
- // PromptName and PromptDescription are recommended but not required
209
- if (!step.PromptName) {
210
- console.log(`⚠️ Warning: Prompt step "${step.Name}" (index ${i}) is missing PromptName (will default to "[Step Name] Prompt")`);
211
- }
212
- }
213
- // If PromptID is provided (existing prompt), other fields are optional
214
- }
215
- // Validate Sub-Agent steps
216
- if (step.StepType === 'Sub-Agent') {
217
- // SubAgentID can be empty "" for new sub-agents (will be linked by name matching)
218
- // No validation needed here - linking happens in AgentSpecSync
219
- }
220
- // Validate loop steps (ForEach / While)
221
- //
222
- // A loop is a wrapper, not a leaf: LoopBodyType names which of Action/Prompt/
223
- // Sub-Agent runs each pass, and Configuration carries the bounds. A loop missing
224
- // either is the failure mode worth catching here — it saves cleanly and then
225
- // iterates over nothing at runtime, which looks like the agent doing no work
226
- // rather than like a malformed step.
227
- if (IsLoopStep(step)) {
228
- errors.push(...ValidateLoopStep(step, i));
229
- }
230
- }
231
- }
169
+ errors.push(...this.validateFlowSteps(correctedSpec));
232
170
  }
233
171
  // 6. Validate optional but important fields
234
172
  if (correctedSpec.FinalPayloadValidationMode &&
@@ -330,8 +268,9 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
330
268
  }
331
269
  else {
332
270
  // Validate Loop/Flow specific requirements for child sub-agents
333
- const isLoopSubAgent = subAgent.SubAgent.TypeID.includes('Loop');
334
- const isFlowSubAgent = subAgent.SubAgent.TypeID.includes('Flow');
271
+ const subAgentTypeName = this.agentTypeName(subAgent.SubAgent.TypeID);
272
+ const isLoopSubAgent = subAgentTypeName.includes('Loop');
273
+ const isFlowSubAgent = subAgentTypeName.includes('Flow');
335
274
  if (isLoopSubAgent) {
336
275
  // Loop sub-agents require at least one prompt
337
276
  if (!subAgent.SubAgent.Prompts || subAgent.SubAgent.Prompts.length === 0) {
@@ -347,6 +286,8 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
347
286
  if (!subAgent.SubAgent.Steps || subAgent.SubAgent.Steps.length === 0) {
348
287
  errors.push(`❌ Flow SubAgent[${i}] "${subAgent.SubAgent.Name}" requires at least ONE step in Steps array`);
349
288
  }
289
+ // A Flow child runs its steps exactly as a Flow agent does, so they get the same checks.
290
+ errors.push(...this.validateFlowSteps(subAgent.SubAgent).map(err => `Flow SubAgent[${i}] "${subAgent.SubAgent.Name}" -> ${err}`));
350
291
  }
351
292
  }
352
293
  }
@@ -405,6 +346,100 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
405
346
  }
406
347
  return { errors, corrected };
407
348
  }
349
+ /**
350
+ * Every problem with a Flow agent's steps and paths: a starting step, each step on its own, and
351
+ * then the flow as the runtime compiles and validates it ({@link ValidateFlowGraph}). Used for the
352
+ * agent itself and for each Flow child sub-agent, which runs its steps the same way.
353
+ */
354
+ validateFlowSteps(spec) {
355
+ const steps = spec.Steps ?? [];
356
+ if (steps.length === 0) {
357
+ return [];
358
+ }
359
+ const stepErrors = steps.flatMap((step, i) => this.validateFlowStep(step, i));
360
+ if (!steps.some(step => step.StartingStep === true)) {
361
+ // The compiler would refuse the flow for this alone, so there is nothing more to learn from it.
362
+ return ['❌ Flow agents require at least ONE step with StartingStep: true', ...stepErrors];
363
+ }
364
+ return [...stepErrors, ...ValidateFlowGraph(steps, spec.Paths ?? [], spec.Name)];
365
+ }
366
+ /** The checks one step gets on its own, by type. */
367
+ validateFlowStep(step, index) {
368
+ switch (step.StepType) {
369
+ case 'Action':
370
+ return this.validateActionStep(step, index);
371
+ case 'Prompt':
372
+ return this.validatePromptStep(step, index);
373
+ case 'ForEach':
374
+ case 'While':
375
+ // A loop is a wrapper, not a leaf: LoopBodyType names which of Action/Prompt/Sub-Agent
376
+ // runs each pass, and Configuration carries the bounds. A loop missing either saves
377
+ // cleanly and then iterates over nothing, which looks like the agent doing no work
378
+ // rather than like a malformed step.
379
+ return ValidateLoopStep(step, index);
380
+ case 'Decision':
381
+ return this.validateDecisionPrompt(step, index);
382
+ default:
383
+ // A Sub-Agent step's SubAgentID may be empty for a sub-agent this spec creates.
384
+ return [];
385
+ }
386
+ }
387
+ /** An Action step needs its action, and any mapping written as text must be JSON. */
388
+ validateActionStep(step, index) {
389
+ const errors = [];
390
+ if (!step.ActionID) {
391
+ errors.push(`❌ Action step "${step.Name}" (index ${index}) must have ActionID field`);
392
+ }
393
+ for (const [field, mapping] of [['ActionInputMapping', step.ActionInputMapping], ['ActionOutputMapping', step.ActionOutputMapping]]) {
394
+ // An object is valid as it is, and is stringified when saved.
395
+ if (typeof mapping !== 'string' || !mapping)
396
+ continue;
397
+ try {
398
+ JSON.parse(mapping);
399
+ }
400
+ catch (e) {
401
+ errors.push(`❌ Step "${step.Name}" (index ${index}) has invalid ${field} JSON: ${e instanceof Error ? e.message : String(e)}`);
402
+ }
403
+ }
404
+ return errors;
405
+ }
406
+ /** A Prompt step names an existing prompt, or writes one inline as PromptText for the Builder to create. */
407
+ validatePromptStep(step, index) {
408
+ if (step.PromptID) {
409
+ return [];
410
+ }
411
+ // PromptName and PromptDescription are recommended but not required
412
+ if (!step.PromptName) {
413
+ console.log(`⚠️ Warning: Prompt step "${step.Name}" (index ${index}) is missing PromptName (will default to "[Step Name] Prompt")`);
414
+ }
415
+ return step.PromptText?.trim()
416
+ ? []
417
+ : [`❌ Prompt step "${step.Name}" (index ${index}) has empty PromptID but missing PromptText. For inline prompt creation, PromptText is required.`];
418
+ }
419
+ /**
420
+ * A Decision step's `PromptID`, when it sets one, must be a prompt that can run a decision. Empty
421
+ * means the Default Decision prompt.
422
+ *
423
+ * The runtime runs the step's prompt on Decision-type models only, and refuses a prompt whose model
424
+ * type is set to anything else; it finds that out only when the step runs. A prompt with no model
425
+ * type takes the runner's, so it is not refused here.
426
+ */
427
+ validateDecisionPrompt(step, index) {
428
+ if (!step.PromptID) {
429
+ return [];
430
+ }
431
+ const where = `Decision step "${step.Name}" (index ${index})`;
432
+ const prompt = AIEngine.Instance.Prompts.find(p => UUIDsEqual(p.ID, step.PromptID));
433
+ if (!prompt) {
434
+ return [`❌ ${where} has PromptID "${step.PromptID}", which is not a prompt. Leave PromptID empty to use the Default Decision prompt.`];
435
+ }
436
+ const decisionType = AIEngine.Instance.ModelTypes.find(t => t.Name.trim().toLowerCase() === DECISION_MODEL_TYPE.toLowerCase());
437
+ if (!prompt.AIModelTypeID || !decisionType || UUIDsEqual(prompt.AIModelTypeID, decisionType.ID)) {
438
+ return [];
439
+ }
440
+ const typeName = AIEngine.Instance.ModelTypes.find(t => UUIDsEqual(t.ID, prompt.AIModelTypeID))?.Name ?? prompt.AIModelTypeID;
441
+ return [`❌ ${where} uses the prompt "${prompt.Name}", whose model type is "${typeName}". A Decision step's prompt must run on ${DECISION_MODEL_TYPE} models. Leave PromptID empty to use the Default Decision prompt.`];
442
+ }
408
443
  /**
409
444
  * Deduplicates arrays in AgentSpec to fix common LLM retry issues
410
445
  * Modifies spec in place and returns whether duplicates were found
@@ -516,6 +551,18 @@ let AgentArchitectAgent = class AgentArchitectAgent extends BaseAgent {
516
551
  }
517
552
  return { hadDuplicates };
518
553
  }
554
+ /**
555
+ * The agent type's name for a spec's `TypeID`. The Architect's template has the model write the
556
+ * type's ID (a GUID), which never contains 'Loop' or 'Flow', so the ID is resolved through
557
+ * AIEngine's agent types. Anything that is not a known type's ID (an older spec that wrote the
558
+ * name) is returned as written.
559
+ */
560
+ agentTypeName(typeID) {
561
+ if (!typeID)
562
+ return '';
563
+ const type = AIEngine.Instance.AgentTypes.find(t => UUIDsEqual(t.ID, typeID));
564
+ return type?.Name ?? typeID;
565
+ }
519
566
  /**
520
567
  * Simple hash function for string deduplication
521
568
  */