@memberjunction/ai-agent-manager 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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +88 -0
- package/dist/agent-spec-sync.d.ts.map +1 -1
- package/dist/agent-spec-sync.js +7 -4
- package/dist/agent-spec-sync.js.map +1 -1
- package/dist/agents/architect-agent.d.ts +28 -0
- package/dist/agents/architect-agent.d.ts.map +1 -1
- package/dist/agents/architect-agent.js +123 -76
- package/dist/agents/architect-agent.js.map +1 -1
- package/dist/flow-step-validation.d.ts +56 -3
- package/dist/flow-step-validation.d.ts.map +1 -1
- package/dist/flow-step-validation.js +214 -0
- package/dist/flow-step-validation.js.map +1 -1
- package/dist/workflow-agent-writer.d.ts +9 -2
- package/dist/workflow-agent-writer.d.ts.map +1 -1
- package/dist/workflow-agent-writer.js +30 -6
- package/dist/workflow-agent-writer.js.map +1 -1
- package/package.json +9 -9
- package/src/__tests__/agent-spec-sync-decision-roundtrip.test.ts +218 -0
- package/src/__tests__/architect-agent-example.test.ts +218 -0
- package/src/__tests__/flow-step-validation.test.ts +328 -8
- package/src/__tests__/workflow-agent-writer.test.ts +62 -0
- package/src/agent-spec-sync.ts +7 -4
- package/src/agents/architect-agent.ts +131 -82
- package/src/flow-step-validation.ts +254 -3
- package/src/workflow-agent-writer.ts +33 -8
|
@@ -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 {
|
|
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
|
|
140
|
-
const
|
|
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
|
-
|
|
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
|
|
334
|
-
const
|
|
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
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect-agent.js","sourceRoot":"","sources":["../../src/agents/architect-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"architect-agent.js","sourceRoot":"","sources":["../../src/agents/architect-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Validation for the flow step types the Architect authors
|
|
2
|
+
* @fileoverview Validation for the flow step types the Architect authors, and for a flow as a whole.
|
|
3
3
|
*
|
|
4
4
|
* **Why loops needed their own module.** The Architect's spec taught three step types
|
|
5
5
|
* (`Action`, `Prompt`, `Sub-Agent`) while `AIAgentStep.StepType` has accepted five for releases —
|
|
@@ -9,15 +9,23 @@
|
|
|
9
9
|
* `ForEach` with no `collectionPath` iterates over nothing, and at runtime that reads as the agent
|
|
10
10
|
* declining to work rather than as a malformed step.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* **A flow as a whole is checked by the runtime's own code.** {@link ValidateFlowGraph} compiles the
|
|
13
|
+
* flow with `CompileFlowToTaskGraph` and validates the result with `ValidateTaskGraphSpec`, as a Flow
|
|
14
|
+
* agent is before it runs, rather than re-implementing any of their rules. A second copy of those
|
|
15
|
+
* rules is a copy that drifts: it passed conditions the runtime refused and refused forks the
|
|
16
|
+
* runtime ran.
|
|
17
|
+
*
|
|
18
|
+
* Pure: no database and no engine, so the rules are unit-testable without an agent run.
|
|
13
19
|
*
|
|
14
20
|
* @module @memberjunction/ai-agent-manager
|
|
15
21
|
*/
|
|
16
|
-
import type { AgentStep } from '@memberjunction/ai-core-plus';
|
|
22
|
+
import type { AgentStep, AgentStepPath } from '@memberjunction/ai-core-plus';
|
|
17
23
|
/** The step types that wrap a body and repeat it. */
|
|
18
24
|
export type LoopStepType = Extract<AgentStep['StepType'], 'ForEach' | 'While'>;
|
|
19
25
|
/** True when this step repeats a body rather than being one. */
|
|
20
26
|
export declare function IsLoopStep(step: Pick<AgentStep, 'StepType'>): boolean;
|
|
27
|
+
/** True when this step is a fast typed decision. */
|
|
28
|
+
export declare function IsDecisionStep(step: Pick<AgentStep, 'StepType'>): boolean;
|
|
21
29
|
/**
|
|
22
30
|
* Checks one `ForEach` / `While` step, returning every problem rather than the first.
|
|
23
31
|
*
|
|
@@ -26,4 +34,49 @@ export declare function IsLoopStep(step: Pick<AgentStep, 'StepType'>): boolean;
|
|
|
26
34
|
* that surfaces one error per round trip.
|
|
27
35
|
*/
|
|
28
36
|
export declare function ValidateLoopStep(step: AgentStep, index: number): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Normalizes a Decision step's configuration so the aliases a model tends to write (`text` for a
|
|
39
|
+
* question's `instructions`, and `text` for an option's `description`) read as the fields
|
|
40
|
+
* `ReadFlowDecisionStepConfiguration` expects. Returns a copy; the input is not changed.
|
|
41
|
+
*/
|
|
42
|
+
export declare function NormalizeDecisionConfiguration(raw: Record<string, unknown>): Record<string, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* A Decision step's configuration as JSON text, normalized. A model may write the configuration as
|
|
45
|
+
* an object rather than as JSON text, as it may for a loop; text that is not a JSON object is
|
|
46
|
+
* returned unchanged, so `ReadFlowDecisionStepConfiguration` reports why it cannot be read.
|
|
47
|
+
*/
|
|
48
|
+
export declare function DecisionConfigurationText(raw: AgentStep['Configuration'] | null): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* A step's `Configuration` as the JSON text `AIAgentStep.Configuration` stores, which is what the
|
|
51
|
+
* runtime reads. An object is written as text, and a Decision step's is normalized
|
|
52
|
+
* ({@link DecisionConfigurationText}). `AgentSpecSync` saves this and {@link ValidateFlowGraph}
|
|
53
|
+
* compiles it, so what is validated is what is saved.
|
|
54
|
+
*/
|
|
55
|
+
export declare function StepConfigurationText(step: Pick<AgentStep, 'StepType' | 'Configuration'>): string | null;
|
|
56
|
+
/**
|
|
57
|
+
* Every problem the runtime would refuse a Flow agent's steps and paths for, as messages that name
|
|
58
|
+
* the steps. Empty when the flow can run.
|
|
59
|
+
*
|
|
60
|
+
* The flow is compiled with `CompileFlowToTaskGraph` and the result validated with
|
|
61
|
+
* `ValidateTaskGraphSpec`, exactly as a Flow agent is before it runs, so a flow this passes is one
|
|
62
|
+
* the runtime runs and a flow it refuses is one the runtime refuses. That covers every Decision step
|
|
63
|
+
* the flow can reach: its configuration, its key, each condition that reads `decisions.<key>` (the
|
|
64
|
+
* key, the question, and whether that question's answer has the field read), and a fork on a Choice
|
|
65
|
+
* question that has no path for one of its options.
|
|
66
|
+
*
|
|
67
|
+
* Two checks come from outside the compiler, because it cannot see what they catch:
|
|
68
|
+
* - a path whose origin or destination names no step, which the compiler drops without a word and
|
|
69
|
+
* `AgentSpecSync` cannot save;
|
|
70
|
+
* - a key two Decision steps share when the flow cannot reach one of them. The compiler checks only
|
|
71
|
+
* the steps it compiles, but the in-run walker checks every step, since it can start at any.
|
|
72
|
+
*
|
|
73
|
+
* Names behind IDs are not resolved here: each ID stands in for its own name. The Architect checks
|
|
74
|
+
* a spec's actions, and a Decision step's prompt, separately. It also accepts a step whose sub-agent
|
|
75
|
+
* or inline prompt has no ID until the spec is saved, so a placeholder stands in for that ID.
|
|
76
|
+
*
|
|
77
|
+
* @param steps the flow's steps
|
|
78
|
+
* @param paths the flow's paths: `AgentSpec.Paths`, which is what `AgentSpecSync` saves
|
|
79
|
+
* @param workflowName the agent's name, which the compiled workflow carries
|
|
80
|
+
*/
|
|
81
|
+
export declare function ValidateFlowGraph(steps: readonly AgentStep[], paths: readonly AgentStepPath[], workflowName: string | undefined): string[];
|
|
29
82
|
//# sourceMappingURL=flow-step-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-step-validation.d.ts","sourceRoot":"","sources":["../src/flow-step-validation.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"flow-step-validation.d.ts","sourceRoot":"","sources":["../src/flow-step-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACR,SAAS,EACT,aAAa,EAOhB,MAAM,8BAA8B,CAAC;AAItC,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAE/E,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAErE;AAED,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,OAAO,CAEzE;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzE;AAkFD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBpG;AAaD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAa/F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,eAAe,CAAC,GAAG,MAAM,GAAG,IAAI,CAKxG;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,EAAE,CAYV"}
|