@falai/agent 4.0.0-alpha.11 → 4.0.0-alpha.13
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/dist/cjs/core/FlowSpec.d.ts +2 -0
- package/dist/cjs/core/FlowSpec.d.ts.map +1 -1
- package/dist/cjs/core/FlowSpec.js +26 -3
- package/dist/cjs/core/FlowSpec.js.map +1 -1
- package/dist/cjs/core/Migrate.d.ts.map +1 -1
- package/dist/cjs/core/Migrate.js +3 -1
- package/dist/cjs/core/Migrate.js.map +1 -1
- package/dist/cjs/core/Runner.d.ts +17 -1
- package/dist/cjs/core/Runner.d.ts.map +1 -1
- package/dist/cjs/core/Runner.js +178 -35
- package/dist/cjs/core/Runner.js.map +1 -1
- package/dist/cjs/core/Speak.d.ts.map +1 -1
- package/dist/cjs/core/Speak.js +3 -1
- package/dist/cjs/core/Speak.js.map +1 -1
- package/dist/cjs/types/flow.d.ts +15 -1
- package/dist/cjs/types/flow.d.ts.map +1 -1
- package/dist/cjs/types/session.d.ts +3 -1
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/utils/outcomes.d.ts +1 -0
- package/dist/cjs/utils/outcomes.d.ts.map +1 -1
- package/dist/cjs/utils/outcomes.js +1 -0
- package/dist/cjs/utils/outcomes.js.map +1 -1
- package/dist/cjs/utils/schema.d.ts +3 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +4 -3
- package/dist/cjs/utils/schema.js.map +1 -1
- package/dist/core/FlowSpec.d.ts +2 -0
- package/dist/core/FlowSpec.d.ts.map +1 -1
- package/dist/core/FlowSpec.js +27 -4
- package/dist/core/FlowSpec.js.map +1 -1
- package/dist/core/Migrate.d.ts.map +1 -1
- package/dist/core/Migrate.js +3 -1
- package/dist/core/Migrate.js.map +1 -1
- package/dist/core/Runner.d.ts +17 -1
- package/dist/core/Runner.d.ts.map +1 -1
- package/dist/core/Runner.js +178 -35
- package/dist/core/Runner.js.map +1 -1
- package/dist/core/Speak.d.ts.map +1 -1
- package/dist/core/Speak.js +3 -1
- package/dist/core/Speak.js.map +1 -1
- package/dist/types/flow.d.ts +15 -1
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/session.d.ts +3 -1
- package/dist/types/session.d.ts.map +1 -1
- package/dist/utils/outcomes.d.ts +1 -0
- package/dist/utils/outcomes.d.ts.map +1 -1
- package/dist/utils/outcomes.js +1 -0
- package/dist/utils/outcomes.js.map +1 -1
- package/dist/utils/schema.d.ts +3 -3
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +4 -3
- package/dist/utils/schema.js.map +1 -1
- package/docs/concepts/collection.md +40 -5
- package/docs/concepts/pipeline.md +6 -5
- package/docs/concepts/runs-and-waits.md +1 -1
- package/docs/guides/branching.md +3 -1
- package/docs/guides/flow-control.md +3 -1
- package/docs/migration/v3-to-v4.md +1 -1
- package/docs/reference/branches.md +1 -1
- package/docs/reference/fields.md +5 -3
- package/docs/reference/flow-spec.md +6 -3
- package/docs/reference/flow.md +8 -3
- package/docs/reference/outcomes.md +2 -1
- package/docs/reference/session.md +2 -0
- package/docs/reference/step.md +7 -4
- package/docs/rfc/v4-one-flow.md +2 -0
- package/examples/05-branches.ts +1 -1
- package/package.json +1 -1
- package/src/core/FlowSpec.ts +33 -5
- package/src/core/Migrate.ts +2 -1
- package/src/core/Runner.ts +167 -32
- package/src/core/Speak.ts +3 -1
- package/src/types/flow.ts +15 -1
- package/src/types/session.ts +3 -0
- package/src/utils/outcomes.ts +1 -0
- package/src/utils/schema.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Migrate.d.ts","sourceRoot":"","sources":["../../src/core/Migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAkB,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAKhF,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM,EACjC,GAAG,EAAE,MAAM;CAQd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,QAAQ,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,4EAA4E;IAC5E,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAqBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAiC7E;
|
|
1
|
+
{"version":3,"file":"Migrate.d.ts","sourceRoot":"","sources":["../../src/core/Migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAkB,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAKhF,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM,EACjC,GAAG,EAAE,MAAM;CAQd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,QAAQ,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,4EAA4E;IAC5E,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAqBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAiC7E;AAmDD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAMpF"}
|
package/dist/core/Migrate.js
CHANGED
|
@@ -105,7 +105,7 @@ function checkRun(raw, index, bad) {
|
|
|
105
105
|
const status = text("status");
|
|
106
106
|
if (!RUN_STATUS.has(status))
|
|
107
107
|
throw bad(`${at}.status is "${status}"`);
|
|
108
|
-
const { stepId, hop, outcomes, input, waiting, suspendedAt } = raw;
|
|
108
|
+
const { stepId, hop, outcomes, input, waiting, suspendedAt, staying } = raw;
|
|
109
109
|
if (stepId !== null && typeof stepId !== "string")
|
|
110
110
|
throw bad(`${at}.stepId is ${describe(stepId)}, expected text or null`);
|
|
111
111
|
if (!isWhole(hop))
|
|
@@ -139,6 +139,8 @@ function checkRun(raw, index, bad) {
|
|
|
139
139
|
run.waiting = waiting;
|
|
140
140
|
if (typeof suspendedAt === "string")
|
|
141
141
|
run.suspendedAt = suspendedAt;
|
|
142
|
+
if (staying === true)
|
|
143
|
+
run.staying = true;
|
|
142
144
|
return run;
|
|
143
145
|
}
|
|
144
146
|
// ── 3.x → 4 ─────────────────────────────────────────────────────────────
|
package/dist/core/Migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Migrate.js","sourceRoot":"","sources":["../../src/core/Migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Migrate.js","sourceRoot":"","sources":["../../src/core/Migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Runner.d.ts
CHANGED
|
@@ -130,6 +130,12 @@ export declare class Runner<C = unknown, D = unknown> {
|
|
|
130
130
|
/** Validate a raw extracted value and write it; unknown or invalid values leave an outcome line instead. */
|
|
131
131
|
private writeField;
|
|
132
132
|
advance(turn: Turn<C, D>): Promise<TalkRequest<C, D> | IdleRequest<C, D> | null>;
|
|
133
|
+
/**
|
|
134
|
+
* Send the step's fixed question when this is its first ask: every field it collects still unknown, none asked yet,
|
|
135
|
+
* and the run not staying (a staying run answers the lead). The question counts as one ask of each field. False when
|
|
136
|
+
* the AI should phrase the ask instead.
|
|
137
|
+
*/
|
|
138
|
+
private askFixed;
|
|
133
139
|
/**
|
|
134
140
|
* Everything Speak needs for this turn's one speaker. Instructions are agent,
|
|
135
141
|
* then flow, then step (idle: agent, then idle), each already judged by its
|
|
@@ -146,14 +152,24 @@ export declare class Runner<C = unknown, D = unknown> {
|
|
|
146
152
|
private peek;
|
|
147
153
|
private reportMaxAsks;
|
|
148
154
|
private follow;
|
|
149
|
-
/** Start a child flow that
|
|
155
|
+
/** Start a child flow that moves in this same phase. It inherits the floor when its parent held it, or when nobody did. */
|
|
150
156
|
private chain;
|
|
151
157
|
private jump;
|
|
152
158
|
/** Entering a step is what mints a new visit, and with it new action and message keys (I4). */
|
|
153
159
|
private enter;
|
|
160
|
+
/** `onEnd: 'stay'`: the run sits on its last talk step and answers every message from there, each answer a new visit and so a new key. */
|
|
161
|
+
private stayAt;
|
|
162
|
+
/**
|
|
163
|
+
* Where `stay` answers from: the talk step this run last took, so a branched flow stays on its own path. The flow's last talk step when the log names none.
|
|
164
|
+
* ponytail: read back from `run.outcomes`, which keeps 50 lines; a tail of 50+ lines after the talk step (a long polling loop) loses it and the run
|
|
165
|
+
* stays on the flow's last talk step. Upgrade: record the talk step on the run when it talks.
|
|
166
|
+
*/
|
|
167
|
+
private stayStep;
|
|
154
168
|
private finishFlow;
|
|
155
169
|
private endRun;
|
|
156
170
|
private park;
|
|
171
|
+
/** `resumeSuspended`, and on a message the resumed run's `if` branches are judged before it speaks, as the asker's are in Decide. */
|
|
172
|
+
private resume;
|
|
157
173
|
/** When nobody asks, the most recently suspended run returns to asking. */
|
|
158
174
|
private resumeSuspended;
|
|
159
175
|
settle(turn: Turn<C, D>, outcome: SpeakOutcome | null): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../../src/core/Runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../../src/core/Runner.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Runner.js
CHANGED
|
@@ -64,6 +64,15 @@ function defaultRepeat(kind) {
|
|
|
64
64
|
function talkKind(step) {
|
|
65
65
|
return step.collect?.length ? "collect" : "prompt";
|
|
66
66
|
}
|
|
67
|
+
/** Everything a flow collects: its own `collect`, then each talk step's, once each. */
|
|
68
|
+
function flowFields(flow) {
|
|
69
|
+
const fields = new Set(flow.collect);
|
|
70
|
+
for (const step of flow.steps)
|
|
71
|
+
if (isTalk(step))
|
|
72
|
+
for (const field of step.collect ?? [])
|
|
73
|
+
fields.add(field);
|
|
74
|
+
return [...fields];
|
|
75
|
+
}
|
|
67
76
|
function kindOf(step) {
|
|
68
77
|
if (!step)
|
|
69
78
|
return "if";
|
|
@@ -234,6 +243,9 @@ export class Runner {
|
|
|
234
243
|
const branch = step.branches?.find((b) => "if" in b && this.holds(b.if, turn, run));
|
|
235
244
|
const target = branch ? branch.then : step.else;
|
|
236
245
|
this.outcome(turn, run, { kind: "wait", status: "ok", code: "replied", next: nextLabel(target) });
|
|
246
|
+
// The reply is this run's while it moves, so a stay it reaches answers it.
|
|
247
|
+
if (!turn.floorFromIngest)
|
|
248
|
+
turn.floorRunId = run.id;
|
|
237
249
|
this.follow(turn, run, flow, step, target);
|
|
238
250
|
this.takeFloor(turn, run);
|
|
239
251
|
}
|
|
@@ -465,18 +477,28 @@ export class Runner {
|
|
|
465
477
|
}
|
|
466
478
|
const fields = {};
|
|
467
479
|
const data = turn.session.data;
|
|
480
|
+
const harvestable = (field) => {
|
|
481
|
+
const def = this.options.fields[field];
|
|
482
|
+
return def !== undefined && !isKnown(data[field]) && extractMode(def) === "anywhere";
|
|
483
|
+
};
|
|
468
484
|
for (const flow of [...(floorFlow ? [floorFlow] : []), ...eligible]) {
|
|
469
|
-
for (const
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
485
|
+
for (const field of flowFields(flow).filter(harvestable))
|
|
486
|
+
fields[field] = this.options.fields[field];
|
|
487
|
+
}
|
|
488
|
+
const judging = messageFlows.length > 0 || mentionFlows.length > 0 || branches.length > 0 || Object.keys(fields).length > 0;
|
|
489
|
+
// With nobody on the floor the catch-all may take this message, and an opening message often says the most. The
|
|
490
|
+
// fields its first step asks ride on that step's speak call, so alone they spend no call; a fixed question has no speak call.
|
|
491
|
+
// ponytail: "first step" is steps[0]; a catch-all that opens with a say or an if pays the call for that step's fields too.
|
|
492
|
+
const fallback = floorRun ? undefined : this.messageFlows(turn, (list) => list.length === 0)[0];
|
|
493
|
+
if (fallback) {
|
|
494
|
+
const first = fallback.steps[0];
|
|
495
|
+
const free = new Set(first && isTalk(first) && first.question === undefined ? first.collect : []);
|
|
496
|
+
const own = flowFields(fallback).filter(harvestable);
|
|
497
|
+
if (judging || own.some((field) => !free.has(field)))
|
|
498
|
+
for (const field of own)
|
|
499
|
+
fields[field] = this.options.fields[field];
|
|
478
500
|
}
|
|
479
|
-
if (!
|
|
501
|
+
if (!judging && !Object.keys(fields).length)
|
|
480
502
|
return null;
|
|
481
503
|
return {
|
|
482
504
|
text: turn.what.text,
|
|
@@ -585,6 +607,9 @@ export class Runner {
|
|
|
585
607
|
turn.floorRunId = run.id;
|
|
586
608
|
}
|
|
587
609
|
}
|
|
610
|
+
// Unless routing or Ingest moved it, the message is the asker's: written down, so a chain beside it cannot take it.
|
|
611
|
+
if (asker && !route && !turn.floorFromIngest)
|
|
612
|
+
turn.floorRunId = asker.id;
|
|
588
613
|
for (const [field, raw] of Object.entries(understanding?.fields ?? {}))
|
|
589
614
|
this.writeField(turn, field, raw);
|
|
590
615
|
if (asker && turn.session.runs.includes(asker) && asker.status === "asking") {
|
|
@@ -595,7 +620,13 @@ export class Runner {
|
|
|
595
620
|
}
|
|
596
621
|
}
|
|
597
622
|
fireBranch(turn, run, flow, step, understanding) {
|
|
598
|
-
|
|
623
|
+
// Staying, a run does not take an `if` branch back onto a path it has already run: the fact it tests is still true,
|
|
624
|
+
// so it would re-run that path on every message. A `when` branch is judged on each new message and always counts.
|
|
625
|
+
// ponytail: "already run" is the target's visit count, so an `if` restart (`{ step, clear }` to a visited step) never fires while staying; write it as a `when`.
|
|
626
|
+
const ran = (then) => typeof then === "string" ? then === "end" || (run.visits[then] ?? 0) > 0 : "step" in then && (run.visits[then.step] ?? 0) > 0;
|
|
627
|
+
const hit = (branch, index) => "if" in branch
|
|
628
|
+
? !(run.staying && ran(branch.then)) && this.holds(branch.if, turn, run)
|
|
629
|
+
: understanding?.branches[`${run.id}/${step.id}/${index}`] === true;
|
|
599
630
|
const index = (step.branches ?? []).findIndex(hit);
|
|
600
631
|
if (index < 0)
|
|
601
632
|
return;
|
|
@@ -625,10 +656,47 @@ export class Runner {
|
|
|
625
656
|
async advance(turn) {
|
|
626
657
|
if (turn.ignored)
|
|
627
658
|
return null;
|
|
628
|
-
this.
|
|
659
|
+
this.resume(turn);
|
|
629
660
|
turn.queue = [...turn.session.runs];
|
|
630
661
|
await this.drain(turn);
|
|
631
|
-
|
|
662
|
+
// An asker that moved on without a word hands the message to the run it suspended, and that one to the next.
|
|
663
|
+
// Each pass takes a run off the suspended stack, so the stack's size bounds the loop.
|
|
664
|
+
for (let left = turn.session.runs.length; left > 0; left--) {
|
|
665
|
+
if (turn.what.kind !== "message" || turn.silenced !== undefined || turn.talk || turn.spokeBy.size > 0)
|
|
666
|
+
break;
|
|
667
|
+
const resumed = this.resume(turn);
|
|
668
|
+
if (!resumed)
|
|
669
|
+
break;
|
|
670
|
+
turn.queue.push(resumed);
|
|
671
|
+
await this.drain(turn);
|
|
672
|
+
}
|
|
673
|
+
const speaker = this.speaker(turn);
|
|
674
|
+
if (speaker && !("idle" in speaker) && this.askFixed(turn, speaker)) {
|
|
675
|
+
turn.talk = undefined;
|
|
676
|
+
return null;
|
|
677
|
+
}
|
|
678
|
+
return speaker;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Send the step's fixed question when this is its first ask: every field it collects still unknown, none asked yet,
|
|
682
|
+
* and the run not staying (a staying run answers the lead). The question counts as one ask of each field. False when
|
|
683
|
+
* the AI should phrase the ask instead.
|
|
684
|
+
*/
|
|
685
|
+
askFixed(turn, { run, step, pending }) {
|
|
686
|
+
const { question, collect = [] } = step;
|
|
687
|
+
if (question === undefined || run.staying)
|
|
688
|
+
return false;
|
|
689
|
+
if (pending.length !== collect.length || pending.some((field) => (run.asked[field] ?? 0) > 0))
|
|
690
|
+
return false;
|
|
691
|
+
const key = this.stepKey(run, step);
|
|
692
|
+
turn.messages.push({ text: render(question, this.scope(turn, run)), kind: "verbatim", afterMs: turn.afterMs, key, runId: run.id, stepId: step.id });
|
|
693
|
+
turn.afterMs = 0;
|
|
694
|
+
turn.spokeBy.add(run.id);
|
|
695
|
+
turn.spoke = true;
|
|
696
|
+
for (const field of pending)
|
|
697
|
+
run.asked[field] = (run.asked[field] ?? 0) + 1;
|
|
698
|
+
this.outcome(turn, run, { kind: "collect", status: "ok", key, code: "asked-fixed", stepId: step.id });
|
|
699
|
+
return true;
|
|
632
700
|
}
|
|
633
701
|
/**
|
|
634
702
|
* Everything Speak needs for this turn's one speaker. Instructions are agent,
|
|
@@ -699,6 +767,11 @@ export class Runner {
|
|
|
699
767
|
}
|
|
700
768
|
if (!this.premiseHolds(turn, run, flow))
|
|
701
769
|
return;
|
|
770
|
+
// The flow was edited off 'stay' after this run finished its steps: its new `onEnd` decides now.
|
|
771
|
+
if (run.staying && flow.onEnd !== "stay") {
|
|
772
|
+
this.finishFlow(turn, run, flow);
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
702
775
|
const resuming = run.status === "asking";
|
|
703
776
|
run.status = "running";
|
|
704
777
|
if (run.stepId === null) {
|
|
@@ -749,7 +822,9 @@ export class Runner {
|
|
|
749
822
|
let pending = [];
|
|
750
823
|
if (step.collect?.length) {
|
|
751
824
|
pending = pendingFields(step, data, run.asked);
|
|
752
|
-
|
|
825
|
+
// A `stay` run answers even with nothing left to collect: answering is what it stays for. It only runs on a message
|
|
826
|
+
// (asking runs sit out wakes and events), and on a silenced one the check below keeps it asking.
|
|
827
|
+
if (!pending.length && !run.staying) {
|
|
753
828
|
this.reportMaxAsks(turn, run, step);
|
|
754
829
|
this.outcome(turn, run, resuming
|
|
755
830
|
? { kind, status: "ok", key, next: nextLabel(step.then) }
|
|
@@ -772,8 +847,11 @@ export class Runner {
|
|
|
772
847
|
}
|
|
773
848
|
}
|
|
774
849
|
run.status = "asking";
|
|
850
|
+
// Reached after Speak (settle's drain), a talk step waits for the next message; a fixed question costs no call, so it goes out now, as a say would.
|
|
775
851
|
if (!turn.speakDone)
|
|
776
852
|
turn.talk = { run, flow, step, pending };
|
|
853
|
+
else
|
|
854
|
+
this.askFixed(turn, { run, flow, step, pending });
|
|
777
855
|
return;
|
|
778
856
|
}
|
|
779
857
|
if (isSay(step)) {
|
|
@@ -916,18 +994,21 @@ export class Runner {
|
|
|
916
994
|
}
|
|
917
995
|
if ("step" in target) {
|
|
918
996
|
const data = turn.session.data;
|
|
919
|
-
|
|
997
|
+
// Forgetting a field means asking for it from scratch: its ask count goes too, so a fixed question goes out again.
|
|
998
|
+
for (const field of target.clear ?? []) {
|
|
920
999
|
delete data[field];
|
|
1000
|
+
delete run.asked[field];
|
|
1001
|
+
}
|
|
921
1002
|
this.jump(turn, run, flow, target.step);
|
|
922
1003
|
return;
|
|
923
1004
|
}
|
|
924
1005
|
const childId = render(target.flow, this.scope(turn, run));
|
|
925
1006
|
const key = this.stepKey(run, step);
|
|
926
1007
|
this.endRun(turn, run, "flow");
|
|
927
|
-
this.chain(turn, childId, key, target.input ?? run.input, run.hop + 1);
|
|
1008
|
+
this.chain(turn, run, childId, key, target.input ?? run.input, run.hop + 1);
|
|
928
1009
|
}
|
|
929
|
-
/** Start a child flow that
|
|
930
|
-
chain(turn, flowId, key, input, hop, keepData = false) {
|
|
1010
|
+
/** Start a child flow that moves in this same phase. It inherits the floor when its parent held it, or when nobody did. */
|
|
1011
|
+
chain(turn, parent, flowId, key, input, hop, keepData = false) {
|
|
931
1012
|
const child = this.flows.get(flowId);
|
|
932
1013
|
if (!child) {
|
|
933
1014
|
turn.skipped.push({ flowId, anchor: turn.session.id, triggerKey: key, code: "flow-gone", message: OUTCOME_MESSAGES["flow-gone"] });
|
|
@@ -936,9 +1017,11 @@ export class Runner {
|
|
|
936
1017
|
const run = this.startRun(turn, child, "flow", key, { payload: input, hop, keepData });
|
|
937
1018
|
if (!run)
|
|
938
1019
|
return;
|
|
939
|
-
turn.floorRunId
|
|
940
|
-
|
|
941
|
-
turn.
|
|
1020
|
+
if (turn.floorRunId === undefined || turn.floorRunId === parent.id) {
|
|
1021
|
+
turn.floorRunId = run.id;
|
|
1022
|
+
if (turn.ingesting)
|
|
1023
|
+
turn.floorFromIngest = true;
|
|
1024
|
+
}
|
|
942
1025
|
turn.queue.push(run);
|
|
943
1026
|
}
|
|
944
1027
|
jump(turn, run, flow, stepId) {
|
|
@@ -953,14 +1036,54 @@ export class Runner {
|
|
|
953
1036
|
run.visits[stepId] = (run.visits[stepId] ?? 0) + 1;
|
|
954
1037
|
run.status = "running";
|
|
955
1038
|
delete run.waiting;
|
|
1039
|
+
delete run.staying;
|
|
1040
|
+
}
|
|
1041
|
+
/** `onEnd: 'stay'`: the run sits on its last talk step and answers every message from there, each answer a new visit and so a new key. */
|
|
1042
|
+
stayAt(run, step) {
|
|
1043
|
+
this.enter(run, step.id);
|
|
1044
|
+
run.staying = true;
|
|
1045
|
+
run.status = "asking";
|
|
1046
|
+
}
|
|
1047
|
+
/**
|
|
1048
|
+
* Where `stay` answers from: the talk step this run last took, so a branched flow stays on its own path. The flow's last talk step when the log names none.
|
|
1049
|
+
* ponytail: read back from `run.outcomes`, which keeps 50 lines; a tail of 50+ lines after the talk step (a long polling loop) loses it and the run
|
|
1050
|
+
* stays on the flow's last talk step. Upgrade: record the talk step on the run when it talks.
|
|
1051
|
+
*/
|
|
1052
|
+
stayStep(run, flow) {
|
|
1053
|
+
for (let i = run.outcomes.length - 1; i >= 0; i--) {
|
|
1054
|
+
const { kind, stepId } = run.outcomes[i];
|
|
1055
|
+
const step = kind === "prompt" || kind === "collect" ? this.stepOf(flow, stepId ?? null) : undefined;
|
|
1056
|
+
if (step && isTalk(step))
|
|
1057
|
+
return step;
|
|
1058
|
+
}
|
|
1059
|
+
return [...flow.steps].reverse().find(isTalk);
|
|
956
1060
|
}
|
|
957
1061
|
finishFlow(turn, run, flow) {
|
|
958
1062
|
const onEnd = flow.onEnd ?? "end";
|
|
959
1063
|
const last = flow.steps[flow.steps.length - 1];
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
run
|
|
1064
|
+
const stay = onEnd === "stay" ? this.stayStep(run, flow) : undefined;
|
|
1065
|
+
if (stay) {
|
|
1066
|
+
// The steps after it ran once, on the way here; staying, it only answers.
|
|
1067
|
+
this.stayAt(run, stay);
|
|
1068
|
+
// One asker at a time. A run the lead's message went to holds the conversation and suspends the other asker;
|
|
1069
|
+
// any other run waits behind that asker and resumes when it is done.
|
|
1070
|
+
const others = turn.session.runs.filter((r) => r !== run && r.status === "asking");
|
|
1071
|
+
if (others.length && !(turn.what.kind === "message" && turn.floorRunId === run.id)) {
|
|
1072
|
+
run.status = "suspended";
|
|
1073
|
+
run.suspendedAt = turn.nowIso;
|
|
1074
|
+
return;
|
|
1075
|
+
}
|
|
1076
|
+
for (const other of others) {
|
|
1077
|
+
other.status = "suspended";
|
|
1078
|
+
other.suspendedAt = turn.nowIso;
|
|
1079
|
+
if (turn.talk?.run === other)
|
|
1080
|
+
turn.talk = undefined;
|
|
1081
|
+
}
|
|
1082
|
+
// A message nothing has answered yet gets its answer now. Reached in Ingest, the run stays asking: Decide judges its
|
|
1083
|
+
// branches as the asker's, and it answers when it moves.
|
|
1084
|
+
if (!turn.ingesting && turn.what.kind === "message" && turn.silenced === undefined && !turn.speakDone && turn.spokeBy.size === 0) {
|
|
1085
|
+
run.status = "running";
|
|
1086
|
+
}
|
|
964
1087
|
return;
|
|
965
1088
|
}
|
|
966
1089
|
if (onEnd === "reset" && last) {
|
|
@@ -968,7 +1091,7 @@ export class Runner {
|
|
|
968
1091
|
// It is a chain into itself, so it costs a hop: a code-only flow that resets forever stops at the hop cap instead of spinning.
|
|
969
1092
|
const key = this.stepKey(run, last);
|
|
970
1093
|
this.endRun(turn, run, "reset");
|
|
971
|
-
this.chain(turn, flow.id, key, run.input, run.hop + 1, true);
|
|
1094
|
+
this.chain(turn, run, flow.id, key, run.input, run.hop + 1, true);
|
|
972
1095
|
return;
|
|
973
1096
|
}
|
|
974
1097
|
this.endRun(turn, run, "end");
|
|
@@ -990,10 +1113,21 @@ export class Runner {
|
|
|
990
1113
|
run.waiting = { ...waiting, until: at.toISOString(), setAt: turn.nowIso };
|
|
991
1114
|
turn.schedule.push({ key: waiting.key, at });
|
|
992
1115
|
}
|
|
1116
|
+
/** `resumeSuspended`, and on a message the resumed run's `if` branches are judged before it speaks, as the asker's are in Decide. */
|
|
1117
|
+
resume(turn) {
|
|
1118
|
+
const run = this.resumeSuspended(turn);
|
|
1119
|
+
if (run && turn.what.kind === "message") {
|
|
1120
|
+
const flow = this.flows.get(run.flowId);
|
|
1121
|
+
const step = flow && this.stepOf(flow, run.stepId);
|
|
1122
|
+
if (flow && step && isTalk(step))
|
|
1123
|
+
this.fireBranch(turn, run, flow, step, null);
|
|
1124
|
+
}
|
|
1125
|
+
return run;
|
|
1126
|
+
}
|
|
993
1127
|
/** When nobody asks, the most recently suspended run returns to asking. */
|
|
994
1128
|
resumeSuspended(turn) {
|
|
995
1129
|
if (this.asker(turn))
|
|
996
|
-
return;
|
|
1130
|
+
return undefined;
|
|
997
1131
|
const suspendedAt = (r) => r.suspendedAt ?? r.startedAt;
|
|
998
1132
|
const next = turn.session.runs
|
|
999
1133
|
.filter((r) => r.status === "suspended")
|
|
@@ -1002,6 +1136,7 @@ export class Runner {
|
|
|
1002
1136
|
next.status = "asking";
|
|
1003
1137
|
delete next.suspendedAt;
|
|
1004
1138
|
}
|
|
1139
|
+
return next;
|
|
1005
1140
|
}
|
|
1006
1141
|
// ── Settle: the one applier after Speak (design §4.7) ─────────────────
|
|
1007
1142
|
async settle(turn, outcome) {
|
|
@@ -1056,16 +1191,24 @@ export class Runner {
|
|
|
1056
1191
|
this.outcome(turn, run, { kind: talkKind(step), status: "ok", key, llmCalls: spoken.llmCalls, stepId: step.id });
|
|
1057
1192
|
if (!turn.session.runs.includes(run))
|
|
1058
1193
|
return;
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1194
|
+
const pending = step.collect?.length ? pendingFields(step, turn.session.data, run.asked) : [];
|
|
1195
|
+
for (const field of pending)
|
|
1196
|
+
run.asked[field] = (run.asked[field] ?? 0) + 1;
|
|
1197
|
+
if (run.staying) {
|
|
1198
|
+
// Each answer is a new visit, so a new key, even while a field is still pending; that field's max-asks is reported once, when it gets there.
|
|
1199
|
+
const maxAsks = step.maxAsks ?? DEFAULT_MAX_ASKS;
|
|
1200
|
+
for (const field of pending) {
|
|
1201
|
+
if (run.asked[field] === maxAsks)
|
|
1202
|
+
this.outcome(turn, run, { kind: "collect", status: "skipped", key, code: "max-asks", detail: field });
|
|
1066
1203
|
}
|
|
1067
|
-
this.
|
|
1204
|
+
this.stayAt(run, step);
|
|
1205
|
+
return;
|
|
1206
|
+
}
|
|
1207
|
+
if (pending.length) {
|
|
1208
|
+
run.status = "asking";
|
|
1209
|
+
return;
|
|
1068
1210
|
}
|
|
1211
|
+
this.reportMaxAsks(turn, run, step);
|
|
1069
1212
|
run.status = "running";
|
|
1070
1213
|
this.follow(turn, run, flow, step, step.then);
|
|
1071
1214
|
if (turn.session.runs.includes(run) && run.status === "running")
|