@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.
Files changed (63) hide show
  1. package/README.md +24 -2
  2. package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
  3. package/dist/MJAIAgentRequestEntityServer.js +10 -1
  4. package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
  5. package/dist/agent-types/base-agent-type.d.ts +23 -0
  6. package/dist/agent-types/base-agent-type.d.ts.map +1 -1
  7. package/dist/agent-types/base-agent-type.js +47 -1
  8. package/dist/agent-types/base-agent-type.js.map +1 -1
  9. package/dist/agent-types/flow-agent-prompt-params.d.ts +57 -0
  10. package/dist/agent-types/flow-agent-prompt-params.d.ts.map +1 -0
  11. package/dist/agent-types/flow-agent-prompt-params.js +8 -0
  12. package/dist/agent-types/flow-agent-prompt-params.js.map +1 -0
  13. package/dist/agent-types/flow-agent-type.d.ts +77 -6
  14. package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
  15. package/dist/agent-types/flow-agent-type.js +182 -53
  16. package/dist/agent-types/flow-agent-type.js.map +1 -1
  17. package/dist/agent-types/flow-graph-adapters.d.ts +42 -0
  18. package/dist/agent-types/flow-graph-adapters.d.ts.map +1 -0
  19. package/dist/agent-types/flow-graph-adapters.js +99 -0
  20. package/dist/agent-types/flow-graph-adapters.js.map +1 -0
  21. package/dist/agent-types/flow-graph-executor.d.ts +26 -0
  22. package/dist/agent-types/flow-graph-executor.d.ts.map +1 -0
  23. package/dist/agent-types/flow-graph-executor.js +105 -0
  24. package/dist/agent-types/flow-graph-executor.js.map +1 -0
  25. package/dist/agent-types/index.d.ts +2 -0
  26. package/dist/agent-types/index.d.ts.map +1 -1
  27. package/dist/agent-types/index.js +2 -0
  28. package/dist/agent-types/index.js.map +1 -1
  29. package/dist/agent-types/loop-agent-prompt-params.d.ts +27 -0
  30. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  31. package/dist/agent-types/loop-agent-prompt-params.js +5 -1
  32. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  33. package/dist/agent-types/loop-agent-response-type.d.ts +14 -3
  34. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  35. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  36. package/dist/agent-types/loop-agent-type.d.ts +25 -0
  37. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  38. package/dist/agent-types/loop-agent-type.js +109 -1
  39. package/dist/agent-types/loop-agent-type.js.map +1 -1
  40. package/dist/base-agent.d.ts +89 -10
  41. package/dist/base-agent.d.ts.map +1 -1
  42. package/dist/base-agent.js +306 -91
  43. package/dist/base-agent.js.map +1 -1
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
  49. package/dist/realtime/bridge-realtime-session-factory.js +2 -13
  50. package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
  51. package/dist/realtime/realtime-client-session-service.d.ts +67 -16
  52. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  53. package/dist/realtime/realtime-client-session-service.js +79 -29
  54. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  55. package/dist/realtime/realtime-coagent-config.d.ts +143 -14
  56. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
  57. package/dist/realtime/realtime-coagent-config.js +187 -18
  58. package/dist/realtime/realtime-coagent-config.js.map +1 -1
  59. package/dist/realtime/realtime-vendor-resolution.d.ts +49 -0
  60. package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -0
  61. package/dist/realtime/realtime-vendor-resolution.js +43 -0
  62. package/dist/realtime/realtime-vendor-resolution.js.map +1 -0
  63. 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 Flow agents), hierarchical sub-agent orchestration, action execution, memory management with notes and examples, payload management, conversation context with message lifecycle management, and reranker integration.
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. Each step has explicit paths to the next step based on conditions. Best for deterministic workflows where the execution path is known in advance.
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;IA6BlE;;;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"}
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":"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"}
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":"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"}
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
- * Determines the initial step for flow agent types.
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
- * Flow agents look up their configured starting step instead of executing a prompt.
302
- * If agentTypeParams.startAtStep is provided, the flow will begin at that step
303
- * instead of the configured entry point.
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 initial step to execute, or null if flow context not ready
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>(params: ExecuteAgentParams<P>, step: BaseAgentNextStep<P>, payload: P, agentTypeState: ATS): Promise<BaseAgentNextStep<P> | null>;
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":"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"}
1
+ {"version":3,"file":"flow-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/flow-agent-type.ts"],"names":[],"mappings":"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"}