@memberjunction/ai-agents 6.1.0-edge.0 → 6.1.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.
- package/README.md +24 -2
- package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.js +10 -1
- package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
- package/dist/agent-types/base-agent-type.d.ts +23 -0
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +47 -1
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/flow-agent-prompt-params.d.ts +57 -0
- package/dist/agent-types/flow-agent-prompt-params.d.ts.map +1 -0
- package/dist/agent-types/flow-agent-prompt-params.js +8 -0
- package/dist/agent-types/flow-agent-prompt-params.js.map +1 -0
- package/dist/agent-types/flow-agent-type.d.ts +77 -6
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +182 -53
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/flow-graph-adapters.d.ts +42 -0
- package/dist/agent-types/flow-graph-adapters.d.ts.map +1 -0
- package/dist/agent-types/flow-graph-adapters.js +99 -0
- package/dist/agent-types/flow-graph-adapters.js.map +1 -0
- package/dist/agent-types/flow-graph-executor.d.ts +26 -0
- package/dist/agent-types/flow-graph-executor.d.ts.map +1 -0
- package/dist/agent-types/flow-graph-executor.js +105 -0
- package/dist/agent-types/flow-graph-executor.js.map +1 -0
- package/dist/agent-types/index.d.ts +2 -0
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +2 -0
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +27 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +5 -1
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +14 -3
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +25 -0
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +109 -1
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +89 -10
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +306 -91
- package/dist/base-agent.js.map +1 -1
- 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/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.js +2 -13
- package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +67 -16
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +79 -29
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +143 -14
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +187 -18
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.d.ts +49 -0
- package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -0
- package/dist/realtime/realtime-vendor-resolution.js +43 -0
- package/dist/realtime/realtime-vendor-resolution.js.map +1 -0
- package/package.json +18 -18
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @memberjunction/ai-agents
|
|
2
2
|
|
|
3
|
-
Complete framework for building and executing AI agents in MemberJunction. Provides the `BaseAgent` execution engine, pluggable agent type system (Loop and
|
|
3
|
+
Complete framework for building and executing AI agents in MemberJunction. Provides the `BaseAgent` execution engine, pluggable agent type system (Loop, Flow, Realtime and Harness agents), hierarchical sub-agent orchestration, action execution, memory management with notes and examples, payload management, conversation context with message lifecycle management, and reranker integration.
|
|
4
4
|
|
|
5
5
|
It also provides two capability layers any agent can opt into:
|
|
6
6
|
|
|
@@ -140,7 +140,29 @@ Conversational agent that runs in a loop: prompt -> decide -> act -> repeat. Bes
|
|
|
140
140
|
|
|
141
141
|
#### FlowAgentType
|
|
142
142
|
|
|
143
|
-
Step-based agent that follows a predefined flow graph
|
|
143
|
+
Step-based agent that follows a predefined flow graph — steps with explicit conditional paths between them. Best for deterministic workflows where the execution path is known in advance.
|
|
144
|
+
|
|
145
|
+
**A Flow agent no longer walks its own graph.** `DetermineInitialStep` compiles the agent's `AIAgentStep` + `AIAgentStepPath` rows into a `TaskGraphSpec` and returns a `Tasks` step; `BaseAgent.executeTasksStep` submits it and detaches. From that point the workflow is `Task` rows owned by the durable dispatcher in [`@memberjunction/task-graph`](../../TaskGraph/README.md), with the same claiming, conditions, skip cascade, retry and failure semantics as any other graph — one traversal engine, one set of rules, one place a bug can be fixed.
|
|
146
|
+
|
|
147
|
+
Three consequences worth knowing before you debug one:
|
|
148
|
+
|
|
149
|
+
- **The run ends at submission.** It returns a handle ("Started — 4 tasks running"), not a result. Per-step detail lives in `Task` rows, not in `AIAgentRunStep`, and cost arrives afterwards via `TotalCostRollup` (see the guide).
|
|
150
|
+
- **The in-run walker is retained but refused.** It stays compiled as the reference implementation the compiler is checked against, and throws at its single choke point if anything reaches it — so a workflow that runs at all provably ran on the dispatcher.
|
|
151
|
+
- **A `Sub-Agent` node starts a new root `AIAgentRun`**, linked from `Task.AgentRunID` rather than nested under the submitting run.
|
|
152
|
+
|
|
153
|
+
See the **[Workflows and Task Graphs Guide](../../../guides/WORKFLOW_AND_TASK_GRAPH_GUIDE.md)** for the full model: node kinds, exclusive groups, payload mappings, loops, failure semantics, observability, and a worked configuration example.
|
|
154
|
+
|
|
155
|
+
#### HarnessAgentType
|
|
156
|
+
|
|
157
|
+
Runs an **external agent harness** — Claude Code, Codex CLI, OpenCode, Gemini CLI, Pi — as the reasoning substrate for an MJ agent, while MJ keeps identity, permissions, governed data access, payload contracts, HITL, cost control and run-level audit. Lives in [`@memberjunction/ai-agent-harness`](../AgentHarness/README.md).
|
|
158
|
+
|
|
159
|
+
It is the **opposite** design choice from `RealtimeAgentType`: where Realtime is session-driven and bypasses the loop entirely (`IsSessionDriven`), Harness stays *inside* the loop. `HarnessAgentType extends LoopAgentType` and inherits `DetermineNextStep` wholesale, because **a harness turn is protocol-identical to a Loop prompt iteration** — the harness ends each turn by emitting the same next-step JSON envelope a Loop model emits. `HarnessAgentBase extends BaseAgent` overrides exactly one method, `executePrompt`, substituting a harness turn for the prompt call.
|
|
160
|
+
|
|
161
|
+
That is why every existing guarantee still applies with no new enforcement code: next-step validation, per-action `MaxExecutionsPerRun`, skill gates, plan-mode blocking, `PayloadManager` ACLs, `checkExecutionGuardrails`, run-step recording. One authority channel, not two — which is also why the MCP loopback is read-only.
|
|
162
|
+
|
|
163
|
+
The `'HarnessAgentType'` string is registered under **both** ClassFactory roots (`BaseAgentType` for the protocol, `BaseAgent` for the driver), so a single `AIAgentType.DriverClass` value selects both halves.
|
|
164
|
+
|
|
165
|
+
See the [External Agent Harness Guide](../../../guides/AGENT_HARNESS_GUIDE.md).
|
|
144
166
|
|
|
145
167
|
#### RealtimeAgentType
|
|
146
168
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJAIAgentRequestEntityServer.d.ts","sourceRoot":"","sources":["../src/MJAIAgentRequestEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAc,iBAAiB,EAAoD,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,sBAAsB,EAA8C,MAAM,+BAA+B,CAAC;AAQnH,qBACa,4BAA6B,SAAQ,sBAAsB;IACrD,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MJAIAgentRequestEntityServer.d.ts","sourceRoot":"","sources":["../src/MJAIAgentRequestEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAc,iBAAiB,EAAoD,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,sBAAsB,EAA8C,MAAM,+BAA+B,CAAC;AAQnH,qBACa,4BAA6B,SAAQ,sBAAsB;IACrD,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsClE;;;OAGG;YACW,WAAW;IA4EzB;;;;;OAKG;YACW,gBAAgB;IAY9B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6B/B,sFAAsF;IACtF,OAAO,CAAC,mBAAmB;IAS3B,6CAA6C;IAC7C,OAAO,CAAC,gBAAgB;IAIxB,+EAA+E;IAC/E,OAAO,CAAC,kBAAkB;CAS7B"}
|
|
@@ -38,10 +38,19 @@ let MJAIAgentRequestEntityServer = class MJAIAgentRequestEntityServer extends MJ
|
|
|
38
38
|
// 1. Status transitioned from 'Requested' to a responded status
|
|
39
39
|
// 2. There's an originating run to resume from
|
|
40
40
|
// 3. No resuming run has been created yet (guard against re-trigger)
|
|
41
|
+
// 4. It is not a WORKFLOW approval. A request raised by a task graph carries
|
|
42
|
+
// OriginatingTaskID, and resuming is exactly the wrong thing for it: the graph OUTLIVES
|
|
43
|
+
// the run that submitted it, so nothing is suspended and nothing needs resuming — the
|
|
44
|
+
// dispatcher settles the waiting task and releases its dependents on the next poll.
|
|
45
|
+
// Resuming re-runs the Flow agent, which submits a BRAND-NEW graph, which raises its own
|
|
46
|
+
// new approval. Every dashboard or API approval would both settle the step (correct) and
|
|
47
|
+
// silently start a duplicate execution — observed in the wild: approving one request at
|
|
48
|
+
// 13:56 produced a second, unasked-for graph at 14:05.
|
|
41
49
|
const shouldResume = wasRequested &&
|
|
42
50
|
isNowResponded &&
|
|
43
51
|
this.OriginatingAgentRunID != null &&
|
|
44
|
-
this.ResumingAgentRunID == null
|
|
52
|
+
this.ResumingAgentRunID == null &&
|
|
53
|
+
this.OriginatingTaskID == null;
|
|
45
54
|
if (shouldResume) {
|
|
46
55
|
// Fire-and-forget: don't block the save response
|
|
47
56
|
this.resumeAgent().catch(error => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJAIAgentRequestEntityServer.js","sourceRoot":"","sources":["../src/MJAIAgentRequestEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAqB,QAAQ,EAAE,SAAS,EAA+B,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAA8C,MAAM,+BAA+B,CAAC;AACnH,OAAO,EAAqB,mBAAmB,EAA+C,MAAM,8BAA8B,CAAC;AAEnI,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAG1D,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,sBAAsB;IAC3D,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,sDAAsD;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,WAAW,EAAE,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC;QACpH,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,gCAAgC;QAChC,gEAAgE;QAChE,+CAA+C;QAC/C,qEAAqE;QACrE,MAAM,YAAY,GACd,YAAY;YACZ,cAAc;YACd,IAAI,CAAC,qBAAqB,IAAI,IAAI;YAClC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MJAIAgentRequestEntityServer.js","sourceRoot":"","sources":["../src/MJAIAgentRequestEntityServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -220,6 +220,29 @@ export declare abstract class BaseAgentType {
|
|
|
220
220
|
*
|
|
221
221
|
* @protected
|
|
222
222
|
*/
|
|
223
|
+
/**
|
|
224
|
+
* Removes a markdown code fence WRAPPING an entire response, if one is present.
|
|
225
|
+
*
|
|
226
|
+
* Models fenced their JSON long before this existed — the retry feedback in LoopAgentType
|
|
227
|
+
* already tells them not to — but a retry costs a whole turn to recover something we already
|
|
228
|
+
* received intact. Observed with an external harness: the response was perfectly valid
|
|
229
|
+
* `{"taskComplete": true, ...}` inside a ```json fence, rejected by JSON.parse, and the identical
|
|
230
|
+
* answer came back on the retry. Half the latency and half the cost of that run bought nothing.
|
|
231
|
+
*
|
|
232
|
+
* ## Why this is narrow on purpose
|
|
233
|
+
*
|
|
234
|
+
* It strips ONLY the first line and the trailing fence, never anything interior. A response's
|
|
235
|
+
* own payload frequently contains fenced code — the case that prompted this had ```haskell blocks
|
|
236
|
+
* inside its `message` string — so a global strip would corrupt exactly the responses it was
|
|
237
|
+
* meant to rescue.
|
|
238
|
+
*
|
|
239
|
+
* ## Why it cannot make things worse
|
|
240
|
+
*
|
|
241
|
+
* The stripped text is only used if it PARSES. On failure the original is returned untouched, so
|
|
242
|
+
* the outcome is either "an unparseable response became parseable" or "no change" — never a
|
|
243
|
+
* previously-good response turned bad. Deterministic, no model call, microseconds.
|
|
244
|
+
*/
|
|
245
|
+
protected stripWrappingCodeFence(raw: string): string;
|
|
223
246
|
protected parseJSONResponse<T>(promptResult: AIPromptRunResult): T | null;
|
|
224
247
|
/**
|
|
225
248
|
* Creates a standardized next step object with common defaults
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,52 @@ export class BaseAgentType {
|
|
|
145
145
|
*
|
|
146
146
|
* @protected
|
|
147
147
|
*/
|
|
148
|
+
/**
|
|
149
|
+
* Removes a markdown code fence WRAPPING an entire response, if one is present.
|
|
150
|
+
*
|
|
151
|
+
* Models fenced their JSON long before this existed — the retry feedback in LoopAgentType
|
|
152
|
+
* already tells them not to — but a retry costs a whole turn to recover something we already
|
|
153
|
+
* received intact. Observed with an external harness: the response was perfectly valid
|
|
154
|
+
* `{"taskComplete": true, ...}` inside a ```json fence, rejected by JSON.parse, and the identical
|
|
155
|
+
* answer came back on the retry. Half the latency and half the cost of that run bought nothing.
|
|
156
|
+
*
|
|
157
|
+
* ## Why this is narrow on purpose
|
|
158
|
+
*
|
|
159
|
+
* It strips ONLY the first line and the trailing fence, never anything interior. A response's
|
|
160
|
+
* own payload frequently contains fenced code — the case that prompted this had ```haskell blocks
|
|
161
|
+
* inside its `message` string — so a global strip would corrupt exactly the responses it was
|
|
162
|
+
* meant to rescue.
|
|
163
|
+
*
|
|
164
|
+
* ## Why it cannot make things worse
|
|
165
|
+
*
|
|
166
|
+
* The stripped text is only used if it PARSES. On failure the original is returned untouched, so
|
|
167
|
+
* the outcome is either "an unparseable response became parseable" or "no change" — never a
|
|
168
|
+
* previously-good response turned bad. Deterministic, no model call, microseconds.
|
|
169
|
+
*/
|
|
170
|
+
stripWrappingCodeFence(raw) {
|
|
171
|
+
const trimmed = raw.trim();
|
|
172
|
+
if (!trimmed.startsWith('```') || !trimmed.endsWith('```') || trimmed.length < 7) {
|
|
173
|
+
return raw;
|
|
174
|
+
}
|
|
175
|
+
const firstNewline = trimmed.indexOf('\n');
|
|
176
|
+
if (firstNewline === -1) {
|
|
177
|
+
return raw;
|
|
178
|
+
}
|
|
179
|
+
// Everything between the opening fence's line break and the final fence.
|
|
180
|
+
const inner = trimmed.slice(firstNewline + 1, trimmed.length - 3).trim();
|
|
181
|
+
if (!inner) {
|
|
182
|
+
return raw;
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
JSON.parse(inner);
|
|
186
|
+
return inner;
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// Not valid JSON once unwrapped — leave the original alone so the caller's existing
|
|
190
|
+
// error path reports on what the model actually sent.
|
|
191
|
+
return raw;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
148
194
|
parseJSONResponse(promptResult) {
|
|
149
195
|
if (!promptResult.success || !promptResult.result) {
|
|
150
196
|
return null;
|
|
@@ -152,7 +198,7 @@ export class BaseAgentType {
|
|
|
152
198
|
try {
|
|
153
199
|
let response;
|
|
154
200
|
if (typeof promptResult.result === 'string') {
|
|
155
|
-
response = JSON.parse(promptResult.result);
|
|
201
|
+
response = JSON.parse(this.stripWrappingCodeFence(promptResult.result));
|
|
156
202
|
}
|
|
157
203
|
else {
|
|
158
204
|
response = promptResult.result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAgB,aAAa;IAAnC;QACI;;;WAGG;QACO,mBAAc,GAAkB,IAAI,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Per-agent configuration for Flow-type agents.
|
|
3
|
+
*
|
|
4
|
+
* Stored in the same `AIAgent.AgentTypePromptParams` column Loop agents use, and merged with the
|
|
5
|
+
* same three-level precedence (type schema defaults → agent config → runtime override). The column
|
|
6
|
+
* is generic; its *schema* is per-agent-type, declared on `AIAgentType.PromptParamsSchema`.
|
|
7
|
+
*
|
|
8
|
+
* @module @memberjunction/ai-agents
|
|
9
|
+
*/
|
|
10
|
+
import type { TraversalMode, JoinMode } from '@memberjunction/ai-core-plus';
|
|
11
|
+
/** Configuration parameters for Flow Agent Type. */
|
|
12
|
+
export interface FlowAgentTypePromptParams {
|
|
13
|
+
/**
|
|
14
|
+
* How the flow advances when more than one outgoing edge is satisfied.
|
|
15
|
+
*
|
|
16
|
+
* **Defaults to `'sequential'`, and that default is load-bearing.** Every design-time flow
|
|
17
|
+
* authored before this existed was traversed by a single program counter that followed the
|
|
18
|
+
* highest-priority edge and silently discarded the rest. Some of those flows have fan-out shapes
|
|
19
|
+
* drawn in the editor that never actually ran in parallel — flipping the default would start
|
|
20
|
+
* executing branches their authors have never seen run, on a schedule nobody chose.
|
|
21
|
+
*
|
|
22
|
+
* `'parallel'` follows every satisfied edge and honors joins at fan-in. Graphs built from a
|
|
23
|
+
* `TaskGraphSpec` always run parallel regardless of this setting: an agent that expressed
|
|
24
|
+
* independent work as independent nodes meant them to run at once, and serializing them would
|
|
25
|
+
* discard the only information the decomposition carried.
|
|
26
|
+
*
|
|
27
|
+
* @default 'sequential'
|
|
28
|
+
*/
|
|
29
|
+
traversalMode?: TraversalMode;
|
|
30
|
+
/**
|
|
31
|
+
* How a node with several incoming edges decides it may start.
|
|
32
|
+
*
|
|
33
|
+
* `'all'` (AND-join) is the default and matches `Prerequisite` dependency semantics — which is
|
|
34
|
+
* precisely why the flow and task-graph models converge: "wait for every predecessor" is the
|
|
35
|
+
* same rule in both. `'any'` (OR-join) matches an `Optional` dependency, where the first
|
|
36
|
+
* completed predecessor is enough.
|
|
37
|
+
*
|
|
38
|
+
* Only consulted in `'parallel'` mode; sequential traversal never has more than one predecessor
|
|
39
|
+
* in flight, so there is nothing to join.
|
|
40
|
+
*
|
|
41
|
+
* @default 'all'
|
|
42
|
+
*/
|
|
43
|
+
joinMode?: JoinMode;
|
|
44
|
+
/**
|
|
45
|
+
* Maximum steps executed concurrently in `'parallel'` mode.
|
|
46
|
+
*
|
|
47
|
+
* A bound rather than a target. Fan-out width is authored, not measured, so a flow with thirty
|
|
48
|
+
* independent branches would otherwise launch thirty agent runs at once and exhaust the model
|
|
49
|
+
* provider's rate limit before it exhausted anything the flow author was thinking about.
|
|
50
|
+
*
|
|
51
|
+
* @default 5
|
|
52
|
+
*/
|
|
53
|
+
maxConcurrentSteps?: number;
|
|
54
|
+
}
|
|
55
|
+
/** Defaults for {@link FlowAgentTypePromptParams}. */
|
|
56
|
+
export declare const DEFAULT_FLOW_AGENT_PROMPT_PARAMS: Required<FlowAgentTypePromptParams>;
|
|
57
|
+
//# sourceMappingURL=flow-agent-prompt-params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-agent-prompt-params.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-prompt-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE5E,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACtC;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,sDAAsD;AACtD,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,yBAAyB,CAKhF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Defaults for {@link FlowAgentTypePromptParams}. */
|
|
2
|
+
export const DEFAULT_FLOW_AGENT_PROMPT_PARAMS = {
|
|
3
|
+
// Back-compat, deliberately — see the field docs.
|
|
4
|
+
traversalMode: 'sequential',
|
|
5
|
+
joinMode: 'all',
|
|
6
|
+
maxConcurrentSteps: 5,
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=flow-agent-prompt-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-agent-prompt-params.js","sourceRoot":"","sources":["../../src/agent-types/flow-agent-prompt-params.ts"],"names":[],"mappings":"AA0DA,sDAAsD;AACtD,MAAM,CAAC,MAAM,gCAAgC,GAAwC;IACjF,kDAAkD;IAClD,aAAa,EAAE,YAAY;IAC3B,QAAQ,EAAE,KAAK;IACf,kBAAkB,EAAE,CAAC;CACxB,CAAC"}
|
|
@@ -122,6 +122,8 @@ export interface FlowAgentExecuteParams {
|
|
|
122
122
|
*/
|
|
123
123
|
export declare class FlowAgentType extends BaseAgentType {
|
|
124
124
|
private _evaluator;
|
|
125
|
+
/** The engine-facing evaluator; wraps the same SafeExpressionEvaluator semantics. */
|
|
126
|
+
private _conditionEvaluator;
|
|
125
127
|
private _payloadManager;
|
|
126
128
|
/**
|
|
127
129
|
* Handles the initialization of the flow agent state that is specialized, additional state information
|
|
@@ -130,6 +132,27 @@ export declare class FlowAgentType extends BaseAgentType {
|
|
|
130
132
|
* @returns
|
|
131
133
|
*/
|
|
132
134
|
InitializeAgentTypeState<ATS = any, P = any>(params: ExecuteAgentParams<any, P>): Promise<ATS>;
|
|
135
|
+
/**
|
|
136
|
+
* Refuses to execute a workflow step inside the agent run.
|
|
137
|
+
*
|
|
138
|
+
* **Disabled, not deleted.** The in-run walker below is the differential suite's oracle — the
|
|
139
|
+
* only independent statement of what a flow *used* to do, and therefore the only thing the
|
|
140
|
+
* compiled graph can be checked against. Deleting it would leave the compiler unfalsifiable.
|
|
141
|
+
* But leaving it *runnable* would be worse: a routing mistake would fall back to the old engine
|
|
142
|
+
* and produce a run that looks correct while proving nothing, which is exactly the failure mode
|
|
143
|
+
* a cutover has to rule out.
|
|
144
|
+
*
|
|
145
|
+
* So it stays compiled, stays tested, and refuses at the door. A workflow that runs at all ran
|
|
146
|
+
* on the dispatcher.
|
|
147
|
+
*
|
|
148
|
+
* Declared `void` rather than `never` on purpose. `never` would narrow everything after each
|
|
149
|
+
* call site to unreachable, and TypeScript then refuses to type-check the retained walker at
|
|
150
|
+
* all — which would defeat the "stays compiled" half of the arrangement and let the oracle rot.
|
|
151
|
+
*
|
|
152
|
+
* @throws always — the message names the step so the refusal is diagnosable, not mysterious
|
|
153
|
+
* @private
|
|
154
|
+
*/
|
|
155
|
+
private refuseInRunFlowExecution;
|
|
133
156
|
/**
|
|
134
157
|
* Determines the next step based on the flow graph structure.
|
|
135
158
|
*
|
|
@@ -191,7 +214,30 @@ export declare class FlowAgentType extends BaseAgentType {
|
|
|
191
214
|
*
|
|
192
215
|
* @private
|
|
193
216
|
*/
|
|
217
|
+
/**
|
|
218
|
+
* Returns the followable outgoing paths from a step, highest priority first.
|
|
219
|
+
*
|
|
220
|
+
* The selection rules — priority ordering, unconditional edges, condition evaluation, and
|
|
221
|
+
* skipping edges into missing or inactive destinations — now live in the shared
|
|
222
|
+
* `GraphTraversalEngine`, so the durable dispatcher and this in-run executor cannot disagree
|
|
223
|
+
* about which edge a graph follows. What stays here is the flow-specific *context* a condition
|
|
224
|
+
* sees, and the translation back to path entities the rest of this class works with.
|
|
225
|
+
*
|
|
226
|
+
* Callers still receive an ordered list and (in `sequential` mode) take the first element, which
|
|
227
|
+
* preserves existing behavior. The engine now also reports why each rejected edge was rejected;
|
|
228
|
+
* that detail is logged rather than discarded, because a graph that stalls on a malformed
|
|
229
|
+
* condition previously looked identical to one that finished normally.
|
|
230
|
+
*/
|
|
194
231
|
private getValidPaths;
|
|
232
|
+
/**
|
|
233
|
+
* The variables a path condition can reference.
|
|
234
|
+
*
|
|
235
|
+
* `stepResult` is the result of the step that just ran, addressed by ID rather than by reading
|
|
236
|
+
* the tail of the execution path. The positional lookup this replaces returned a *different*
|
|
237
|
+
* step's result whenever the path had been deduped by a revisit — a condition on a loop-back
|
|
238
|
+
* edge was reading the wrong step's output, silently.
|
|
239
|
+
*/
|
|
240
|
+
private buildConditionContext;
|
|
195
241
|
/**
|
|
196
242
|
* Gets the last step result from the flow context
|
|
197
243
|
*
|
|
@@ -296,19 +342,38 @@ export declare class FlowAgentType extends BaseAgentType {
|
|
|
296
342
|
*/
|
|
297
343
|
PostProcessActionStep<P = any, ATS = any>(actionResults: ActionResult[], actions: AgentAction[], currentPayload: P, agentTypeState: ATS, currentStep: BaseAgentNextStep<P>): Promise<AgentPayloadChangeRequest<P> | null>;
|
|
298
344
|
/**
|
|
299
|
-
*
|
|
345
|
+
* Compiles the flow and hands it to the task-graph dispatcher (C1.3).
|
|
346
|
+
*
|
|
347
|
+
* **This is the whole of a Flow agent's execution now.** The agent does not walk its own graph;
|
|
348
|
+
* it compiles its persisted steps and paths into a `TaskGraphSpec` and returns a `Tasks` step,
|
|
349
|
+
* which `BaseAgent.executeTasksStep` submits and detaches from. Everything after that —
|
|
350
|
+
* claiming, conditions, exclusive choice, skip cascade, retry, failure semantics — belongs to
|
|
351
|
+
* the dispatcher, which is the point: one traversal engine, one set of rules, one place a bug
|
|
352
|
+
* can be fixed. The in-run walker below is retained as the differential suite's oracle and is
|
|
353
|
+
* unreachable at runtime (see {@link refuseInRunFlowExecution}).
|
|
300
354
|
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
355
|
+
* **Compile failures are authoring failures, and are reported as such.** A flow with no
|
|
356
|
+
* starting step or a loop in it is something the user can fix in the editor, so the message
|
|
357
|
+
* names the step and the problem rather than reporting an internal error.
|
|
304
358
|
*
|
|
305
359
|
* @param {ExecuteAgentParams} params - The full execution parameters
|
|
306
|
-
* @returns {Promise<BaseAgentNextStep<P> | null>} The
|
|
360
|
+
* @returns {Promise<BaseAgentNextStep<P> | null>} The `Tasks` step carrying the compiled graph
|
|
307
361
|
*
|
|
308
362
|
* @override
|
|
309
363
|
* @since 2.76.0
|
|
310
364
|
*/
|
|
311
365
|
DetermineInitialStep<P = any, ATS = any>(params: ExecuteAgentParams<P>, payload: P, agentTypeState: ATS): Promise<BaseAgentNextStep<P> | null>;
|
|
366
|
+
/**
|
|
367
|
+
* The original in-run flow walker's entry point — **retained, unrouted, and refused at runtime.**
|
|
368
|
+
*
|
|
369
|
+
* Kept because it is the oracle the differential suite compares the compiler against: deleting
|
|
370
|
+
* it would leave nothing to prove the compiled graph behaves like the flow it replaced. It is
|
|
371
|
+
* no longer called by {@link DetermineInitialStep}, and {@link createStepForFlowNode} refuses if
|
|
372
|
+
* anything reaches it, so a workflow that runs at all provably ran on the dispatcher.
|
|
373
|
+
*
|
|
374
|
+
* @private
|
|
375
|
+
*/
|
|
376
|
+
private determineInitialStepInRun;
|
|
312
377
|
/**
|
|
313
378
|
* Pre-processes steps for flow agent types.
|
|
314
379
|
*
|
|
@@ -327,7 +392,13 @@ export declare class FlowAgentType extends BaseAgentType {
|
|
|
327
392
|
* @override
|
|
328
393
|
* @since 2.76.0
|
|
329
394
|
*/
|
|
330
|
-
PreProcessNextStep<P = any, ATS = any>(
|
|
395
|
+
PreProcessNextStep<P = any, ATS = any>(_params: ExecuteAgentParams<P>, _step: BaseAgentNextStep<P>, _payload: P, _agentTypeState: ATS): Promise<BaseAgentNextStep<P> | null>;
|
|
396
|
+
/**
|
|
397
|
+
* The in-run walker's post-step hook — **retained, unrouted** (see {@link refuseInRunFlowExecution}).
|
|
398
|
+
*
|
|
399
|
+
* @private
|
|
400
|
+
*/
|
|
401
|
+
private preProcessNextStepInRun;
|
|
331
402
|
/**
|
|
332
403
|
* Gets the prompt to use for a specific step.
|
|
333
404
|
* Flow agents may use different prompts for different steps in the flow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"flow-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-type.ts"],"names":[],"mappings":"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"}
|