@memberjunction/ai-agent-manager 6.1.0-edge.1 → 6.1.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 +102 -0
- package/LICENSE +180 -4
- package/dist/agent-spec-sync.d.ts.map +1 -1
- package/dist/agent-spec-sync.js +13 -7
- package/dist/agent-spec-sync.js.map +1 -1
- package/dist/agents/architect-agent.d.ts.map +1 -1
- package/dist/agents/architect-agent.js +15 -2
- package/dist/agents/architect-agent.js.map +1 -1
- package/dist/flow-step-validation.d.ts +29 -0
- package/dist/flow-step-validation.d.ts.map +1 -0
- package/dist/flow-step-validation.js +102 -0
- package/dist/flow-step-validation.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/workflow-agent-writer.d.ts.map +1 -1
- package/dist/workflow-agent-writer.js +4 -2
- package/dist/workflow-agent-writer.js.map +1 -1
- package/package.json +10 -10
- package/src/__tests__/agent-spec-sync-prompt-roundtrip.test.ts +105 -0
- package/src/__tests__/flow-step-validation.test.ts +161 -0
- package/src/agent-spec-sync.ts +18 -10
- package/src/agents/architect-agent.ts +16 -2
- package/src/flow-step-validation.ts +137 -0
- package/src/index.ts +1 -0
- package/src/workflow-agent-writer.ts +4 -2
|
@@ -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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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Validation for the flow step types the Architect authors — specifically loops.
|
|
3
|
+
*
|
|
4
|
+
* **Why loops needed their own module.** The Architect's spec taught three step types
|
|
5
|
+
* (`Action`, `Prompt`, `Sub-Agent`) while `AIAgentStep.StepType` has accepted five for releases —
|
|
6
|
+
* `ForEach` and `While` were executable but unauthorable, so anything built through the Agent Manager
|
|
7
|
+
* could not repeat itself. Closing that gap means teaching the prompt *and* checking what comes back,
|
|
8
|
+
* because a loop is the one step type that saves perfectly well while doing nothing at all: a
|
|
9
|
+
* `ForEach` with no `collectionPath` iterates over nothing, and at runtime that reads as the agent
|
|
10
|
+
* declining to work rather than as a malformed step.
|
|
11
|
+
*
|
|
12
|
+
* Pure and dependency-free so the rules are unit-testable without an agent run.
|
|
13
|
+
*
|
|
14
|
+
* @module @memberjunction/ai-agent-manager
|
|
15
|
+
*/
|
|
16
|
+
import type { AgentStep } from '@memberjunction/ai-core-plus';
|
|
17
|
+
/** The step types that wrap a body and repeat it. */
|
|
18
|
+
export type LoopStepType = Extract<AgentStep['StepType'], 'ForEach' | 'While'>;
|
|
19
|
+
/** True when this step repeats a body rather than being one. */
|
|
20
|
+
export declare function IsLoopStep(step: Pick<AgentStep, 'StepType'>): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Checks one `ForEach` / `While` step, returning every problem rather than the first.
|
|
23
|
+
*
|
|
24
|
+
* Returns messages rather than throwing, matching how the Architect reports the rest of its
|
|
25
|
+
* validation — one pass gives the model everything it has to fix, instead of a fix-and-retry loop
|
|
26
|
+
* that surfaces one error per round trip.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ValidateLoopStep(step: AgentStep, index: number): string[];
|
|
29
|
+
//# sourceMappingURL=flow-step-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-step-validation.d.ts","sourceRoot":"","sources":["../src/flow-step-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,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;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzE"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/** True when this step repeats a body rather than being one. */
|
|
2
|
+
export function IsLoopStep(step) {
|
|
3
|
+
return step.StepType === 'ForEach' || step.StepType === 'While';
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Which field carries the body's id, per body type.
|
|
7
|
+
*
|
|
8
|
+
* The body's id lives in the SAME field a plain step of that type would use — a `ForEach` whose body
|
|
9
|
+
* is an Action still puts it in `ActionID`. Introducing a parallel `LoopBodyActionID` would have been
|
|
10
|
+
* a second place an action id can live, and the two would drift.
|
|
11
|
+
*/
|
|
12
|
+
const BODY_ID_FIELD = {
|
|
13
|
+
Action: 'ActionID',
|
|
14
|
+
Prompt: 'PromptID',
|
|
15
|
+
'Sub-Agent': 'SubAgentID',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Checks one `ForEach` / `While` step, returning every problem rather than the first.
|
|
19
|
+
*
|
|
20
|
+
* Returns messages rather than throwing, matching how the Architect reports the rest of its
|
|
21
|
+
* validation — one pass gives the model everything it has to fix, instead of a fix-and-retry loop
|
|
22
|
+
* that surfaces one error per round trip.
|
|
23
|
+
*/
|
|
24
|
+
export function ValidateLoopStep(step, index) {
|
|
25
|
+
const errors = [];
|
|
26
|
+
if (!IsLoopStep(step))
|
|
27
|
+
return errors;
|
|
28
|
+
const where = `${step.StepType} step "${step.Name}" (index ${index})`;
|
|
29
|
+
validateLoopBody(step, where, errors);
|
|
30
|
+
const config = parseLoopConfiguration(step, where, errors);
|
|
31
|
+
if (config)
|
|
32
|
+
validateLoopBounds(step, config, where, errors);
|
|
33
|
+
return errors;
|
|
34
|
+
}
|
|
35
|
+
/** The loop must name what it repeats, and that thing must exist. */
|
|
36
|
+
function validateLoopBody(step, where, errors) {
|
|
37
|
+
if (!step.LoopBodyType) {
|
|
38
|
+
errors.push(`❌ ${where} must have LoopBodyType — one of "Action", "Prompt" or "Sub-Agent" — naming what runs on each pass`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const field = BODY_ID_FIELD[step.LoopBodyType];
|
|
42
|
+
if (step[field])
|
|
43
|
+
return;
|
|
44
|
+
// Two legitimate reasons the id is still empty:
|
|
45
|
+
// - a Sub-Agent body that AgentSpecSync will link by name once the sub-agent is created, exactly
|
|
46
|
+
// as it already does for a plain Sub-Agent step;
|
|
47
|
+
// - a Prompt body supplied inline as PromptText, which becomes an AIPrompt on save.
|
|
48
|
+
const linkedLater = step.LoopBodyType === 'Sub-Agent';
|
|
49
|
+
const inlinePrompt = step.LoopBodyType === 'Prompt' && !!step.PromptText?.trim();
|
|
50
|
+
if (linkedLater || inlinePrompt)
|
|
51
|
+
return;
|
|
52
|
+
errors.push(`❌ ${where} has LoopBodyType "${step.LoopBodyType}" but no ${field} to run`);
|
|
53
|
+
}
|
|
54
|
+
/** ForEach needs something to iterate; While needs something to test; both need a name for the item. */
|
|
55
|
+
function validateLoopBounds(step, config, where, errors) {
|
|
56
|
+
if (step.StepType === 'ForEach' && !config['collectionPath']) {
|
|
57
|
+
errors.push(`❌ ${where} must set Configuration.collectionPath — the payload path holding the items to iterate`);
|
|
58
|
+
}
|
|
59
|
+
if (step.StepType === 'While' && !config['condition']) {
|
|
60
|
+
errors.push(`❌ ${where} must set Configuration.condition — the expression checked before each pass`);
|
|
61
|
+
}
|
|
62
|
+
if (!config['itemVariable']) {
|
|
63
|
+
errors.push(`❌ ${where} must set Configuration.itemVariable — the name the body refers to the current item by`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reads a loop's `Configuration`, reporting rather than throwing. Null when unusable.
|
|
68
|
+
*
|
|
69
|
+
* Accepts an object as well as a JSON string — the same latitude the action mappings already get,
|
|
70
|
+
* because a model that has just been shown an object literal in the prompt will send one.
|
|
71
|
+
*/
|
|
72
|
+
function parseLoopConfiguration(step, where, errors) {
|
|
73
|
+
const raw = step.Configuration;
|
|
74
|
+
if (raw == null || raw === '') {
|
|
75
|
+
errors.push(`❌ ${where} must have a Configuration object describing the loop's bounds`);
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (typeof raw === 'object') {
|
|
79
|
+
if (Array.isArray(raw)) {
|
|
80
|
+
errors.push(`❌ ${where} has a Configuration that is an array rather than an object`);
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
return raw;
|
|
84
|
+
}
|
|
85
|
+
if (typeof raw !== 'string') {
|
|
86
|
+
errors.push(`❌ ${where} has a Configuration that is neither an object nor JSON text`);
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
const parsed = JSON.parse(raw);
|
|
91
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
92
|
+
errors.push(`❌ ${where} has a Configuration that is not a JSON object`);
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return parsed;
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
errors.push(`❌ ${where} has invalid Configuration JSON: ${e instanceof Error ? e.message : String(e)}`);
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=flow-step-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-step-validation.js","sourceRoot":"","sources":["../src/flow-step-validation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from './old/agent-definition.interface.js';
|
|
7
7
|
export * from './agent-spec-sync.js';
|
|
8
|
+
export * from './flow-step-validation.js';
|
|
8
9
|
export * from './agents/architect-agent.js';
|
|
9
10
|
export * from './agents/builder-agent.js';
|
|
10
11
|
export * from './agents/planning-designer-agent.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,kCAAkC,CAAC;AAEjD,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,kCAAkC,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// Export all interfaces
|
|
7
7
|
export * from './old/agent-definition.interface.js';
|
|
8
8
|
export * from './agent-spec-sync.js';
|
|
9
|
+
export * from './flow-step-validation.js';
|
|
9
10
|
// Export agent implementations
|
|
10
11
|
export * from './agents/architect-agent.js';
|
|
11
12
|
export * from './agents/builder-agent.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAwB;AACxB,cAAc,kCAAkC,CAAC;AAEjD,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAwB;AACxB,cAAc,kCAAkC,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AAEvC,+BAA+B;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-agent-writer.d.ts","sourceRoot":"","sources":["../src/workflow-agent-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAqB,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAGH,KAAK,YAAY,EACpB,MAAM,8BAA8B,CAAC;AAGtC,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D,2FAA2F;AAC3F,8BAAsB,uBAAuB;aACzB,gBAAgB,CAC5B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;QAAE,WAAW,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAChE,OAAO,CAAC,MAAM,CAAC;CACrB;AAED,qBACa,mBAAoB,SAAQ,uBAAuB;IAC5D;;;;;;;;OAQG;IACU,gBAAgB,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;QAAE,WAAW,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAChE,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-agent-writer.d.ts","sourceRoot":"","sources":["../src/workflow-agent-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAqB,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAGH,KAAK,YAAY,EACpB,MAAM,8BAA8B,CAAC;AAGtC,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D,2FAA2F;AAC3F,8BAAsB,uBAAuB;aACzB,gBAAgB,CAC5B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;QAAE,WAAW,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAChE,OAAO,CAAC,MAAM,CAAC;CACrB;AAED,qBACa,mBAAoB,SAAQ,uBAAuB;IAC5D;;;;;;;;OAQG;IACU,gBAAgB,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;QAAE,WAAW,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAChE,OAAO,CAAC,MAAM,CAAC;IAyClB,yFAAyF;YAC3E,sBAAsB;IAUpC,2FAA2F;YAC7E,mBAAmB;CASpC;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -58,9 +58,11 @@ let WorkflowAgentWriter = class WorkflowAgentWriter extends WorkflowAgentWriterB
|
|
|
58
58
|
LogError(`[WorkflowAgentWriter] "${spec.name}" saved with losses:\n${FormatSaveAsWorkflowLosses(result.Losses)}`);
|
|
59
59
|
}
|
|
60
60
|
result.Spec.Description = spec.description ?? result.Spec.Description;
|
|
61
|
-
// A Draft or Paused workflow persists as
|
|
61
|
+
// A Draft or Paused workflow persists as a Disabled agent, so nothing can invoke it before
|
|
62
62
|
// its author has turned it on — the schedule side makes the same choice for the same reason.
|
|
63
|
-
|
|
63
|
+
// 'Disabled' and not 'Inactive': the latter is not a value `AIAgent.Status` accepts, so this
|
|
64
|
+
// line used to make every non-Active save fail its CHECK constraint.
|
|
65
|
+
result.Spec.Status = spec.status === 'Active' ? 'Active' : 'Disabled';
|
|
64
66
|
const sync = AgentSpecSync.FromRawSpec(result.Spec, context.ContextUser, context.Provider);
|
|
65
67
|
// AgentSpecSyncResult uses camelCase — it predates the PascalCase-public convention and is
|
|
66
68
|
// consumed by MCP tools, so it is left alone rather than renamed under this change.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-agent-writer.js","sourceRoot":"","sources":["../src/workflow-agent-writer.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA+B,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,GAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D,2FAA2F;AAC3F,MAAM,OAAgB,uBAAuB;CAK5C;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,uBAAuB;IAC5D;;;;;;;;OAQG;IACI,KAAK,CAAC,gBAAgB,CACzB,IAAkB,EAClB,OAA+D;QAE/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE;YACnD,uFAAuF;YACvF,4EAA4E;YAC5E,OAAO,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE;YAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE;YACpC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI;YAC/E,eAAe,EAAE,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,wDAAwD,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CACJ,0BAA0B,IAAI,CAAC,IAAI,yBAAyB,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC1G,CAAC;QACN,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACtE,
|
|
1
|
+
{"version":3,"file":"workflow-agent-writer.js","sourceRoot":"","sources":["../src/workflow-agent-writer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-agent-manager",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1.0-edge.
|
|
4
|
+
"version": "6.1.0-edge.3",
|
|
5
5
|
"description": "Core interfaces and types for the MemberJunction Agent Manager system",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -12,16 +12,16 @@
|
|
|
12
12
|
"interfaces"
|
|
13
13
|
],
|
|
14
14
|
"author": "MemberJunction",
|
|
15
|
-
"license": "
|
|
15
|
+
"license": "BUSL-1.1",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@memberjunction/ai-agents": "6.1.0-edge.
|
|
18
|
-
"@memberjunction/ai-core-plus": "6.1.0-edge.
|
|
19
|
-
"@memberjunction/ai-engine-base": "6.1.0-edge.
|
|
20
|
-
"@memberjunction/aiengine": "6.1.0-edge.
|
|
21
|
-
"@memberjunction/core": "6.1.0-edge.
|
|
22
|
-
"@memberjunction/core-entities": "6.1.0-edge.
|
|
23
|
-
"@memberjunction/global": "6.1.0-edge.
|
|
24
|
-
"@memberjunction/templates": "6.1.0-edge.
|
|
17
|
+
"@memberjunction/ai-agents": "6.1.0-edge.3",
|
|
18
|
+
"@memberjunction/ai-core-plus": "6.1.0-edge.3",
|
|
19
|
+
"@memberjunction/ai-engine-base": "6.1.0-edge.3",
|
|
20
|
+
"@memberjunction/aiengine": "6.1.0-edge.3",
|
|
21
|
+
"@memberjunction/core": "6.1.0-edge.3",
|
|
22
|
+
"@memberjunction/core-entities": "6.1.0-edge.3",
|
|
23
|
+
"@memberjunction/global": "6.1.0-edge.3",
|
|
24
|
+
"@memberjunction/templates": "6.1.0-edge.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^24.10.11",
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Round-trip coverage for the prompt-persistence path in AgentSpecSync.
|
|
3
|
+
*
|
|
4
|
+
* `savePrompts` writes `promptEntity.TemplateText = promptSpec.PromptText` unconditionally,
|
|
5
|
+
* so a spec's prompt text is persisted exactly as given. This test saves an agent whose
|
|
6
|
+
* prompt is longer than any display-truncation limit and asserts the full text is written
|
|
7
|
+
* back verbatim — never a truncated '...' prefix — so a caller that supplies a complete spec
|
|
8
|
+
* never has its prompt templates silently shortened on save.
|
|
9
|
+
*
|
|
10
|
+
* A dedicated mock is used (not the shared one in agent-spec-sync.test.ts) because it must
|
|
11
|
+
* supply `Metadata.Provider` and `RunView.FromMetadataProvider`, and capture every
|
|
12
|
+
* TemplateText assignment.
|
|
13
|
+
*/
|
|
14
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
15
|
+
|
|
16
|
+
const { templateTextWrites, mockGetEntityObject, mockRunView, mockRunViews } = vi.hoisted(() => {
|
|
17
|
+
const templateTextWrites: string[] = [];
|
|
18
|
+
const makeEntity = () => {
|
|
19
|
+
let templateText: string | undefined;
|
|
20
|
+
const entity: Record<string, unknown> = {
|
|
21
|
+
Load: vi.fn().mockResolvedValue(true),
|
|
22
|
+
Save: vi.fn().mockResolvedValue(true),
|
|
23
|
+
Delete: vi.fn().mockResolvedValue(true),
|
|
24
|
+
NewRecord: vi.fn(),
|
|
25
|
+
Validate: vi.fn().mockReturnValue({ Success: true, Errors: [] }),
|
|
26
|
+
ID: 'saved-id-1',
|
|
27
|
+
};
|
|
28
|
+
// Record every TemplateText write so the test can assert the full prompt round-trips.
|
|
29
|
+
Object.defineProperty(entity, 'TemplateText', {
|
|
30
|
+
get: () => templateText,
|
|
31
|
+
set: (v: string) => { templateText = v; templateTextWrites.push(v); },
|
|
32
|
+
configurable: true,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
});
|
|
35
|
+
return entity;
|
|
36
|
+
};
|
|
37
|
+
const empty = { Success: true, Results: [], RowCount: 0 };
|
|
38
|
+
return {
|
|
39
|
+
templateTextWrites,
|
|
40
|
+
mockGetEntityObject: vi.fn(() => Promise.resolve(makeEntity())),
|
|
41
|
+
mockRunView: vi.fn(() => Promise.resolve(empty)),
|
|
42
|
+
mockRunViews: vi.fn(() => Promise.resolve([empty, empty, empty, empty, empty])),
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
vi.mock('@memberjunction/core', () => {
|
|
47
|
+
const rvInstance = { RunView: mockRunView, RunViews: mockRunViews };
|
|
48
|
+
return {
|
|
49
|
+
Metadata: Object.assign(
|
|
50
|
+
vi.fn().mockImplementation(() => ({ GetEntityObject: mockGetEntityObject })),
|
|
51
|
+
{ Provider: { GetEntityObject: mockGetEntityObject } }
|
|
52
|
+
),
|
|
53
|
+
RunView: Object.assign(
|
|
54
|
+
vi.fn().mockImplementation(() => rvInstance),
|
|
55
|
+
{ FromMetadataProvider: vi.fn(() => rvInstance) }
|
|
56
|
+
),
|
|
57
|
+
UserInfo: vi.fn(),
|
|
58
|
+
LogError: vi.fn(),
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
vi.mock('@memberjunction/core-entities', () => ({
|
|
63
|
+
MJAIAgentEntity: vi.fn(),
|
|
64
|
+
MJAIAgentActionEntity: vi.fn(),
|
|
65
|
+
MJAIAgentRelationshipEntity: vi.fn(),
|
|
66
|
+
MJAIAgentStepEntity: vi.fn(),
|
|
67
|
+
MJAIAgentStepPathEntity: vi.fn(),
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
vi.mock('@memberjunction/ai-core-plus', () => ({
|
|
71
|
+
AgentSpec: vi.fn(),
|
|
72
|
+
AgentActionSpec: vi.fn(),
|
|
73
|
+
SubAgentSpec: vi.fn(),
|
|
74
|
+
}));
|
|
75
|
+
|
|
76
|
+
import { AgentSpecSync } from '../agent-spec-sync';
|
|
77
|
+
|
|
78
|
+
describe('AgentSpecSync prompt round-trip', () => {
|
|
79
|
+
const mockUser = { ID: 'user-1', Email: 'test@test.com' } as never;
|
|
80
|
+
|
|
81
|
+
beforeEach(() => {
|
|
82
|
+
vi.clearAllMocks();
|
|
83
|
+
templateTextWrites.length = 0;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it('persists an agent prompt with its FULL TemplateText — no truncation on save', async () => {
|
|
87
|
+
const fullPrompt = 'Y'.repeat(300); // far beyond the loader action's 100-char display cap
|
|
88
|
+
const sync = new AgentSpecSync(
|
|
89
|
+
{
|
|
90
|
+
ID: 'agent-1',
|
|
91
|
+
Name: 'Round Trip Agent',
|
|
92
|
+
Prompts: [{ PromptText: fullPrompt, PromptRole: 'System', PromptPosition: 'First' }],
|
|
93
|
+
},
|
|
94
|
+
mockUser
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
const result = await sync.SaveToDatabase();
|
|
98
|
+
|
|
99
|
+
expect(result.success).toBe(true);
|
|
100
|
+
// savePrompts must persist the prompt text exactly as supplied.
|
|
101
|
+
expect(templateTextWrites).toContain(fullPrompt);
|
|
102
|
+
// And nothing written was a truncated '...' prefix.
|
|
103
|
+
expect(templateTextWrites.some(t => t.endsWith('...'))).toBe(false);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for loop-step validation.
|
|
3
|
+
*
|
|
4
|
+
* The assertion that matters most here is the one about a loop that saves cleanly and then does
|
|
5
|
+
* nothing: a `ForEach` with no `collectionPath` is structurally valid SQL, passes every other check,
|
|
6
|
+
* and at runtime iterates zero times — which reads as the agent declining to do the work rather than
|
|
7
|
+
* as a malformed step. That is precisely the class of error the Architect has to catch before save.
|
|
8
|
+
*/
|
|
9
|
+
import { describe, it, expect } from 'vitest';
|
|
10
|
+
import type { AgentStep } from '@memberjunction/ai-core-plus';
|
|
11
|
+
import { IsLoopStep, ValidateLoopStep } from '../flow-step-validation';
|
|
12
|
+
|
|
13
|
+
const step = (over: Partial<AgentStep> = {}): AgentStep => ({
|
|
14
|
+
ID: '',
|
|
15
|
+
Name: 'Score each lead',
|
|
16
|
+
StepType: 'ForEach',
|
|
17
|
+
StartingStep: false,
|
|
18
|
+
LoopBodyType: 'Action',
|
|
19
|
+
ActionID: 'AC71E1DA-1111-2222-3333-444455556666',
|
|
20
|
+
Configuration: JSON.stringify({ type: 'ForEach', collectionPath: 'leads', itemVariable: 'lead' }),
|
|
21
|
+
...over,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
describe('IsLoopStep', () => {
|
|
25
|
+
it('recognises exactly the two wrapping step types', () => {
|
|
26
|
+
expect(IsLoopStep({ StepType: 'ForEach' })).toBe(true);
|
|
27
|
+
expect(IsLoopStep({ StepType: 'While' })).toBe(true);
|
|
28
|
+
expect(IsLoopStep({ StepType: 'Action' })).toBe(false);
|
|
29
|
+
expect(IsLoopStep({ StepType: 'Prompt' })).toBe(false);
|
|
30
|
+
expect(IsLoopStep({ StepType: 'Sub-Agent' })).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
describe('ValidateLoopStep — the happy paths', () => {
|
|
35
|
+
it('accepts a well-formed ForEach', () => {
|
|
36
|
+
expect(ValidateLoopStep(step(), 0)).toEqual([]);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('accepts a well-formed While', () => {
|
|
40
|
+
const s = step({
|
|
41
|
+
StepType: 'While',
|
|
42
|
+
Name: 'Poll until done',
|
|
43
|
+
Configuration: JSON.stringify({ type: 'While', condition: "payload.status !== 'Complete'", itemVariable: 'attempt' }),
|
|
44
|
+
});
|
|
45
|
+
expect(ValidateLoopStep(s, 0)).toEqual([]);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('accepts a Configuration supplied as an object, not only as JSON text', () => {
|
|
49
|
+
// A model that was just shown an object literal in the prompt will send one. Rejecting that
|
|
50
|
+
// would make the prompt and the validator disagree about the same example.
|
|
51
|
+
const s = step({ Configuration: { type: 'ForEach', collectionPath: 'leads', itemVariable: 'lead' } as unknown as string });
|
|
52
|
+
expect(ValidateLoopStep(s, 0)).toEqual([]);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('ignores non-loop steps entirely', () => {
|
|
56
|
+
expect(ValidateLoopStep(step({ StepType: 'Action', LoopBodyType: undefined, Configuration: undefined }), 0)).toEqual([]);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
describe('ValidateLoopStep — a loop that would silently do nothing', () => {
|
|
61
|
+
it('rejects a ForEach with nothing to iterate over', () => {
|
|
62
|
+
const s = step({ Configuration: JSON.stringify({ type: 'ForEach', itemVariable: 'lead' }) });
|
|
63
|
+
const errors = ValidateLoopStep(s, 2);
|
|
64
|
+
expect(errors).toHaveLength(1);
|
|
65
|
+
expect(errors[0]).toContain('collectionPath');
|
|
66
|
+
expect(errors[0]).toContain('index 2');
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('rejects a While with nothing to test', () => {
|
|
70
|
+
const s = step({ StepType: 'While', Configuration: JSON.stringify({ type: 'While', itemVariable: 'attempt' }) });
|
|
71
|
+
const errors = ValidateLoopStep(s, 0);
|
|
72
|
+
expect(errors).toHaveLength(1);
|
|
73
|
+
expect(errors[0]).toContain('condition');
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it('rejects either kind with no name for the current item', () => {
|
|
77
|
+
const s = step({ Configuration: JSON.stringify({ type: 'ForEach', collectionPath: 'leads' }) });
|
|
78
|
+
expect(ValidateLoopStep(s, 0).join(' ')).toContain('itemVariable');
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('rejects a loop with no Configuration at all', () => {
|
|
82
|
+
const s = step({ Configuration: undefined });
|
|
83
|
+
const errors = ValidateLoopStep(s, 0);
|
|
84
|
+
expect(errors).toHaveLength(1);
|
|
85
|
+
expect(errors[0]).toContain('Configuration');
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it('does not cascade bound errors when the Configuration could not be read', () => {
|
|
89
|
+
// One clear "this is not parseable" beats three downstream complaints about fields that
|
|
90
|
+
// could never have been found.
|
|
91
|
+
const s = step({ Configuration: '{not json' });
|
|
92
|
+
const errors = ValidateLoopStep(s, 0);
|
|
93
|
+
expect(errors).toHaveLength(1);
|
|
94
|
+
expect(errors[0]).toContain('invalid Configuration JSON');
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it('rejects a Configuration that parses to something other than an object', () => {
|
|
98
|
+
expect(ValidateLoopStep(step({ Configuration: '"just a string"' }), 0)[0]).toContain('not a JSON object');
|
|
99
|
+
expect(ValidateLoopStep(step({ Configuration: '[1,2,3]' }), 0)[0]).toContain('not a JSON object');
|
|
100
|
+
expect(
|
|
101
|
+
ValidateLoopStep(step({ Configuration: [1, 2, 3] as unknown as string }), 0)[0],
|
|
102
|
+
).toContain('array rather than an object');
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
describe('ValidateLoopStep — the body', () => {
|
|
107
|
+
it('rejects a loop that does not say what it repeats', () => {
|
|
108
|
+
const errors = ValidateLoopStep(step({ LoopBodyType: undefined }), 0);
|
|
109
|
+
expect(errors).toHaveLength(1);
|
|
110
|
+
expect(errors[0]).toContain('LoopBodyType');
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it('looks for the body id in the field that body type would normally use', () => {
|
|
114
|
+
// No parallel LoopBodyActionID: an action id lives in ActionID whether or not a loop wraps it.
|
|
115
|
+
const errors = ValidateLoopStep(step({ ActionID: undefined }), 0);
|
|
116
|
+
expect(errors).toHaveLength(1);
|
|
117
|
+
expect(errors[0]).toContain('ActionID');
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
it('rejects a Prompt body with neither a prompt to use nor one to create', () => {
|
|
121
|
+
const s = step({ LoopBodyType: 'Prompt', ActionID: undefined });
|
|
122
|
+
expect(ValidateLoopStep(s, 0)[0]).toContain('PromptID');
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it('accepts a Prompt body supplied inline, which becomes a prompt on save', () => {
|
|
126
|
+
const s = step({ LoopBodyType: 'Prompt', ActionID: undefined, PromptText: 'Summarise this lead.' });
|
|
127
|
+
expect(ValidateLoopStep(s, 0)).toEqual([]);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it('treats whitespace-only inline prompt text as absent', () => {
|
|
131
|
+
const s = step({ LoopBodyType: 'Prompt', ActionID: undefined, PromptText: ' ' });
|
|
132
|
+
expect(ValidateLoopStep(s, 0)[0]).toContain('PromptID');
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it('accepts a Sub-Agent body with no id, because it is linked by name after the sub-agent is created', () => {
|
|
136
|
+
// Same latitude a plain Sub-Agent step already gets — requiring an id here would make it
|
|
137
|
+
// impossible to author a loop over a sub-agent being created in the same spec.
|
|
138
|
+
const s = step({ LoopBodyType: 'Sub-Agent', ActionID: undefined, SubAgentID: '' });
|
|
139
|
+
expect(ValidateLoopStep(s, 0)).toEqual([]);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
describe('ValidateLoopStep — reporting', () => {
|
|
144
|
+
it('returns every problem at once rather than only the first', () => {
|
|
145
|
+
// One pass gives the model everything it must fix. Reporting one error per round trip turns
|
|
146
|
+
// a single correction into a retry loop.
|
|
147
|
+
const s = step({ LoopBodyType: undefined, ActionID: undefined, Configuration: JSON.stringify({}) });
|
|
148
|
+
const errors = ValidateLoopStep(s, 0);
|
|
149
|
+
expect(errors.length).toBeGreaterThanOrEqual(3);
|
|
150
|
+
expect(errors.join(' ')).toContain('LoopBodyType');
|
|
151
|
+
expect(errors.join(' ')).toContain('collectionPath');
|
|
152
|
+
expect(errors.join(' ')).toContain('itemVariable');
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
it('names the step and its index so the model can find it', () => {
|
|
156
|
+
const errors = ValidateLoopStep(step({ Name: 'Retry the import', Configuration: undefined }), 7);
|
|
157
|
+
expect(errors[0]).toContain('"Retry the import"');
|
|
158
|
+
expect(errors[0]).toContain('index 7');
|
|
159
|
+
expect(errors[0]).toContain('ForEach');
|
|
160
|
+
});
|
|
161
|
+
});
|