@positronic/core 0.0.46 → 0.0.48
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/src/dsl/brain-runner.js +40 -62
- package/dist/src/dsl/brain-state-machine.js +725 -0
- package/dist/src/dsl/brain.js +0 -2
- package/dist/src/index.js +2 -0
- package/dist/types/dsl/brain-runner.d.ts.map +1 -1
- package/dist/types/dsl/brain-state-machine.d.ts +155 -0
- package/dist/types/dsl/brain-state-machine.d.ts.map +1 -0
- package/dist/types/dsl/brain.d.ts +0 -1
- package/dist/types/dsl/brain.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -273,9 +273,10 @@ function _ts_values(o) {
|
|
|
273
273
|
};
|
|
274
274
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
275
275
|
}
|
|
276
|
-
import { BRAIN_EVENTS
|
|
276
|
+
import { BRAIN_EVENTS } from './constants.js';
|
|
277
277
|
import { applyPatches } from './json-patch.js';
|
|
278
278
|
import { reconstructLoopContext } from './loop-messages.js';
|
|
279
|
+
import { createBrainExecutionMachine, sendEvent, sendAction, BRAIN_ACTIONS } from './brain-state-machine.js';
|
|
279
280
|
import { DEFAULT_ENV } from './brain.js';
|
|
280
281
|
export var BrainRunner = /*#__PURE__*/ function() {
|
|
281
282
|
"use strict";
|
|
@@ -330,7 +331,7 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
330
331
|
key: "run",
|
|
331
332
|
value: function run(_0) {
|
|
332
333
|
return _async_to_generator(function(brain) {
|
|
333
|
-
var _ref, _ref_initialState, initialState, options, initialCompletedSteps, brainRunId, endAfter, signal, response, loopEvents, _this_options, adapters, client, resources, pages, env, resolvedEnv,
|
|
334
|
+
var _ref, _ref_initialState, initialState, options, initialCompletedSteps, brainRunId, endAfter, signal, response, loopEvents, _this_options, adapters, client, resources, pages, env, resolvedEnv, machineInitialState, initialStepCount, machine, loopResumeContext, brainRun, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, _ret, err, error, cancelledEvent;
|
|
334
335
|
var _arguments = arguments;
|
|
335
336
|
return _ts_generator(this, function(_state) {
|
|
336
337
|
switch(_state.label){
|
|
@@ -338,25 +339,23 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
338
339
|
_ref = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {}, _ref_initialState = _ref.initialState, initialState = _ref_initialState === void 0 ? {} : _ref_initialState, options = _ref.options, initialCompletedSteps = _ref.initialCompletedSteps, brainRunId = _ref.brainRunId, endAfter = _ref.endAfter, signal = _ref.signal, response = _ref.response, loopEvents = _ref.loopEvents;
|
|
339
340
|
_this_options = this.options, adapters = _this_options.adapters, client = _this_options.client, resources = _this_options.resources, pages = _this_options.pages, env = _this_options.env;
|
|
340
341
|
resolvedEnv = env !== null && env !== void 0 ? env : DEFAULT_ENV;
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
// starts with a state that reflects all of the completed steps.
|
|
346
|
-
// Need to do this when a brain is restarted with completed steps.
|
|
347
|
-
// Note: Only apply top-level step patches, not innerSteps patches
|
|
348
|
-
// (inner brain patches are applied to inner brain state, not outer brain state)
|
|
342
|
+
// Apply any patches from completed steps to get the initial state
|
|
343
|
+
// for the state machine. The machine will then track all subsequent state changes.
|
|
344
|
+
machineInitialState = initialState !== null && initialState !== void 0 ? initialState : {};
|
|
345
|
+
initialStepCount = 0;
|
|
349
346
|
initialCompletedSteps === null || initialCompletedSteps === void 0 ? void 0 : initialCompletedSteps.forEach(function(step) {
|
|
350
347
|
if (step.patch) {
|
|
351
|
-
|
|
348
|
+
machineInitialState = applyPatches(machineInitialState, [
|
|
352
349
|
step.patch
|
|
353
350
|
]);
|
|
354
|
-
|
|
351
|
+
initialStepCount++;
|
|
355
352
|
}
|
|
356
353
|
});
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
|
|
354
|
+
// Create state machine with pre-populated state
|
|
355
|
+
// The machine tracks: currentState, isTopLevel, topLevelStepCount, etc.
|
|
356
|
+
machine = createBrainExecutionMachine({
|
|
357
|
+
initialState: machineInitialState
|
|
358
|
+
});
|
|
360
359
|
// If loopEvents and response are provided, reconstruct loop context
|
|
361
360
|
loopResumeContext = loopEvents && response ? reconstructLoopContext(loopEvents, response) : null;
|
|
362
361
|
brainRun = brainRunId && initialCompletedSteps ? brain.run({
|
|
@@ -397,7 +396,7 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
397
396
|
14
|
|
398
397
|
]);
|
|
399
398
|
_loop = function() {
|
|
400
|
-
var _value, event, cancelledEvent;
|
|
399
|
+
var _value, event, cancelledEvent, totalSteps;
|
|
401
400
|
return _ts_generator(this, function(_state) {
|
|
402
401
|
switch(_state.label){
|
|
403
402
|
case 0:
|
|
@@ -407,15 +406,9 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
407
406
|
3,
|
|
408
407
|
2
|
|
409
408
|
];
|
|
410
|
-
//
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
status: STATUS.CANCELLED,
|
|
414
|
-
brainTitle: brain.title,
|
|
415
|
-
brainDescription: brain.structure.description,
|
|
416
|
-
brainRunId: brainRunId || event.brainRunId,
|
|
417
|
-
options: event.options
|
|
418
|
-
};
|
|
409
|
+
// Use state machine to create cancelled event
|
|
410
|
+
sendAction(machine, BRAIN_ACTIONS.CANCEL_BRAIN, {});
|
|
411
|
+
cancelledEvent = machine.context.currentEvent;
|
|
419
412
|
return [
|
|
420
413
|
4,
|
|
421
414
|
Promise.all(adapters.map(function(adapter) {
|
|
@@ -424,17 +417,16 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
424
417
|
];
|
|
425
418
|
case 1:
|
|
426
419
|
_state.sent();
|
|
420
|
+
// Cast is safe: state started as TState and patches maintain the structure
|
|
427
421
|
return [
|
|
428
422
|
2,
|
|
429
423
|
{
|
|
430
|
-
v: currentState
|
|
424
|
+
v: machine.context.currentState
|
|
431
425
|
}
|
|
432
426
|
];
|
|
433
427
|
case 2:
|
|
434
|
-
//
|
|
435
|
-
|
|
436
|
-
brainDepth++;
|
|
437
|
-
}
|
|
428
|
+
// Feed event to state machine - this updates currentState, isTopLevel, stepCount, etc.
|
|
429
|
+
sendEvent(machine, event);
|
|
438
430
|
// Dispatch event to all adapters
|
|
439
431
|
return [
|
|
440
432
|
4,
|
|
@@ -444,38 +436,28 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
444
436
|
];
|
|
445
437
|
case 3:
|
|
446
438
|
_state.sent();
|
|
447
|
-
//
|
|
448
|
-
//
|
|
449
|
-
//
|
|
450
|
-
if (event.type === BRAIN_EVENTS.STEP_COMPLETE) {
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
]);
|
|
455
|
-
}
|
|
456
|
-
// Check if we should stop after this step (only for top-level steps)
|
|
457
|
-
if (brainDepth === 1 && endAfter && stepNumber >= endAfter) {
|
|
439
|
+
// Check if we should stop after this step (only for top-level steps)
|
|
440
|
+
// The machine's topLevelStepCount tracks steps since this run started,
|
|
441
|
+
// so we add initialStepCount to get the total step count.
|
|
442
|
+
if (event.type === BRAIN_EVENTS.STEP_COMPLETE && machine.context.isTopLevel) {
|
|
443
|
+
totalSteps = machine.context.topLevelStepCount + initialStepCount;
|
|
444
|
+
if (endAfter && totalSteps >= endAfter) {
|
|
445
|
+
// Cast is safe: state started as TState and patches maintain the structure
|
|
458
446
|
return [
|
|
459
447
|
2,
|
|
460
448
|
{
|
|
461
|
-
v: currentState
|
|
449
|
+
v: machine.context.currentState
|
|
462
450
|
}
|
|
463
451
|
];
|
|
464
452
|
}
|
|
465
|
-
if (brainDepth === 1) {
|
|
466
|
-
stepNumber++;
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
// Track brain completion - decreases nesting depth
|
|
470
|
-
if (event.type === BRAIN_EVENTS.COMPLETE) {
|
|
471
|
-
brainDepth--;
|
|
472
453
|
}
|
|
473
|
-
// Stop execution when
|
|
474
|
-
if (
|
|
454
|
+
// Stop execution when machine enters paused state (webhook)
|
|
455
|
+
if (machine.context.isPaused) {
|
|
456
|
+
// Cast is safe: state started as TState and patches maintain the structure
|
|
475
457
|
return [
|
|
476
458
|
2,
|
|
477
459
|
{
|
|
478
|
-
v: currentState
|
|
460
|
+
v: machine.context.currentState
|
|
479
461
|
}
|
|
480
462
|
];
|
|
481
463
|
}
|
|
@@ -572,14 +554,8 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
572
554
|
3,
|
|
573
555
|
17
|
|
574
556
|
];
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
status: STATUS.CANCELLED,
|
|
578
|
-
brainTitle: brain.title,
|
|
579
|
-
brainDescription: brain.structure.description,
|
|
580
|
-
brainRunId: brainRunId || '',
|
|
581
|
-
options: options || {}
|
|
582
|
-
};
|
|
557
|
+
sendAction(machine, BRAIN_ACTIONS.CANCEL_BRAIN, {});
|
|
558
|
+
cancelledEvent = machine.context.currentEvent;
|
|
583
559
|
return [
|
|
584
560
|
4,
|
|
585
561
|
Promise.all(adapters.map(function(adapter) {
|
|
@@ -588,16 +564,18 @@ export var BrainRunner = /*#__PURE__*/ function() {
|
|
|
588
564
|
];
|
|
589
565
|
case 16:
|
|
590
566
|
_state.sent();
|
|
567
|
+
// Cast is safe: state started as TState and patches maintain the structure
|
|
591
568
|
return [
|
|
592
569
|
2,
|
|
593
|
-
currentState
|
|
570
|
+
machine.context.currentState
|
|
594
571
|
];
|
|
595
572
|
case 17:
|
|
596
573
|
throw error;
|
|
597
574
|
case 18:
|
|
575
|
+
// Cast is safe: state started as TState and patches maintain the structure
|
|
598
576
|
return [
|
|
599
577
|
2,
|
|
600
|
-
currentState
|
|
578
|
+
machine.context.currentState
|
|
601
579
|
];
|
|
602
580
|
}
|
|
603
581
|
});
|
|
@@ -0,0 +1,725 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_without_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
8
|
+
}
|
|
9
|
+
function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value: value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
function _iterable_to_array(iter) {
|
|
23
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24
|
+
}
|
|
25
|
+
function _non_iterable_spread() {
|
|
26
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
27
|
+
}
|
|
28
|
+
function _object_spread(target) {
|
|
29
|
+
for(var i = 1; i < arguments.length; i++){
|
|
30
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
31
|
+
var ownKeys = Object.keys(source);
|
|
32
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
33
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
34
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
ownKeys.forEach(function(key) {
|
|
38
|
+
_define_property(target, key, source[key]);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return target;
|
|
42
|
+
}
|
|
43
|
+
function ownKeys(object, enumerableOnly) {
|
|
44
|
+
var keys = Object.keys(object);
|
|
45
|
+
if (Object.getOwnPropertySymbols) {
|
|
46
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
47
|
+
if (enumerableOnly) {
|
|
48
|
+
symbols = symbols.filter(function(sym) {
|
|
49
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
keys.push.apply(keys, symbols);
|
|
53
|
+
}
|
|
54
|
+
return keys;
|
|
55
|
+
}
|
|
56
|
+
function _object_spread_props(target, source) {
|
|
57
|
+
source = source != null ? source : {};
|
|
58
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
59
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
60
|
+
} else {
|
|
61
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
62
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return target;
|
|
66
|
+
}
|
|
67
|
+
function _object_without_properties(source, excluded) {
|
|
68
|
+
if (source == null) return {};
|
|
69
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
70
|
+
var key, i;
|
|
71
|
+
if (Object.getOwnPropertySymbols) {
|
|
72
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
73
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
74
|
+
key = sourceSymbolKeys[i];
|
|
75
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
76
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
77
|
+
target[key] = source[key];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return target;
|
|
81
|
+
}
|
|
82
|
+
function _object_without_properties_loose(source, excluded) {
|
|
83
|
+
if (source == null) return {};
|
|
84
|
+
var target = {};
|
|
85
|
+
var sourceKeys = Object.keys(source);
|
|
86
|
+
var key, i;
|
|
87
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
88
|
+
key = sourceKeys[i];
|
|
89
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
90
|
+
target[key] = source[key];
|
|
91
|
+
}
|
|
92
|
+
return target;
|
|
93
|
+
}
|
|
94
|
+
function _to_consumable_array(arr) {
|
|
95
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
96
|
+
}
|
|
97
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
98
|
+
if (!o) return;
|
|
99
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
100
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
101
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
102
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
103
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
104
|
+
}
|
|
105
|
+
import * as robot3 from 'robot3';
|
|
106
|
+
// Use namespace import to work around ESM/CJS interop issues with robot3.
|
|
107
|
+
// When installed globally or on different Node.js versions, the package may
|
|
108
|
+
// resolve to its CJS entry point which doesn't properly expose named exports.
|
|
109
|
+
var createMachine = robot3.createMachine, state = robot3.state, transition = robot3.transition, reduce = robot3.reduce, guard = robot3.guard, interpret = robot3.interpret;
|
|
110
|
+
import { BRAIN_EVENTS, STATUS } from './constants.js';
|
|
111
|
+
import { applyPatches } from './json-patch.js';
|
|
112
|
+
var createInitialContext = function(opts) {
|
|
113
|
+
var _opts_initialState, _opts_options;
|
|
114
|
+
return {
|
|
115
|
+
brainStack: [],
|
|
116
|
+
depth: 0,
|
|
117
|
+
brainRunId: null,
|
|
118
|
+
currentStepId: null,
|
|
119
|
+
currentStepTitle: null,
|
|
120
|
+
error: null,
|
|
121
|
+
pendingWebhooks: null,
|
|
122
|
+
currentState: (_opts_initialState = opts === null || opts === void 0 ? void 0 : opts.initialState) !== null && _opts_initialState !== void 0 ? _opts_initialState : {},
|
|
123
|
+
currentEvent: null,
|
|
124
|
+
options: (_opts_options = opts === null || opts === void 0 ? void 0 : opts.options) !== null && _opts_options !== void 0 ? _opts_options : {},
|
|
125
|
+
isTopLevel: false,
|
|
126
|
+
isRunning: false,
|
|
127
|
+
isComplete: false,
|
|
128
|
+
isPaused: false,
|
|
129
|
+
isError: false,
|
|
130
|
+
isCancelled: false,
|
|
131
|
+
topLevelStepCount: 0
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// Helper to update derived state
|
|
136
|
+
// ============================================================================
|
|
137
|
+
var updateDerivedState = function(ctx, executionState) {
|
|
138
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
139
|
+
isTopLevel: ctx.depth === 1,
|
|
140
|
+
isRunning: executionState === 'running',
|
|
141
|
+
isComplete: executionState === 'complete',
|
|
142
|
+
isPaused: executionState === 'paused',
|
|
143
|
+
isError: executionState === 'error',
|
|
144
|
+
isCancelled: executionState === 'cancelled'
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
// ============================================================================
|
|
148
|
+
// Reducers - Update context on transitions
|
|
149
|
+
// ============================================================================
|
|
150
|
+
var startBrain = reduce(function(ctx, param) {
|
|
151
|
+
var brainRunId = param.brainRunId, brainTitle = param.brainTitle, brainDescription = param.brainDescription, initialState = param.initialState;
|
|
152
|
+
var currentStepId = ctx.currentStepId, brainStack = ctx.brainStack, depth = ctx.depth, existingBrainRunId = ctx.brainRunId, currentState = ctx.currentState, options = ctx.options;
|
|
153
|
+
var newEntry = {
|
|
154
|
+
brainRunId: brainRunId,
|
|
155
|
+
brainTitle: brainTitle,
|
|
156
|
+
brainDescription: brainDescription,
|
|
157
|
+
parentStepId: currentStepId,
|
|
158
|
+
steps: []
|
|
159
|
+
};
|
|
160
|
+
var newDepth = depth + 1;
|
|
161
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
162
|
+
brainStack: _to_consumable_array(brainStack).concat([
|
|
163
|
+
newEntry
|
|
164
|
+
]),
|
|
165
|
+
depth: newDepth,
|
|
166
|
+
brainRunId: existingBrainRunId !== null && existingBrainRunId !== void 0 ? existingBrainRunId : brainRunId,
|
|
167
|
+
currentState: newDepth === 1 ? initialState !== null && initialState !== void 0 ? initialState : currentState : currentState,
|
|
168
|
+
currentEvent: {
|
|
169
|
+
type: BRAIN_EVENTS.START,
|
|
170
|
+
brainTitle: brainTitle,
|
|
171
|
+
brainDescription: brainDescription,
|
|
172
|
+
brainRunId: brainRunId,
|
|
173
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : {},
|
|
174
|
+
status: STATUS.RUNNING,
|
|
175
|
+
options: options
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
return updateDerivedState(newCtx, 'running');
|
|
179
|
+
});
|
|
180
|
+
var restartBrain = reduce(function(ctx, param) {
|
|
181
|
+
var brainRunId = param.brainRunId, brainTitle = param.brainTitle, brainDescription = param.brainDescription, initialState = param.initialState;
|
|
182
|
+
var currentStepId = ctx.currentStepId, brainStack = ctx.brainStack, depth = ctx.depth, existingBrainRunId = ctx.brainRunId, options = ctx.options;
|
|
183
|
+
// brain:restart can be either:
|
|
184
|
+
// 1. A resume of an existing brain on the stack (same brainTitle) - should REPLACE
|
|
185
|
+
// 2. A nested inner brain restarting (different brainTitle) - should ADD
|
|
186
|
+
if (brainStack.length > 0) {
|
|
187
|
+
var lastBrain = brainStack[brainStack.length - 1];
|
|
188
|
+
// If the last brain has the same title, this is a resume - replace it
|
|
189
|
+
if (lastBrain.brainTitle === brainTitle) {
|
|
190
|
+
var newEntry = {
|
|
191
|
+
brainRunId: brainRunId,
|
|
192
|
+
brainTitle: brainTitle,
|
|
193
|
+
brainDescription: brainDescription,
|
|
194
|
+
parentStepId: lastBrain.parentStepId,
|
|
195
|
+
steps: []
|
|
196
|
+
};
|
|
197
|
+
var newStack = _to_consumable_array(brainStack.slice(0, -1)).concat([
|
|
198
|
+
newEntry
|
|
199
|
+
]);
|
|
200
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
201
|
+
brainStack: newStack,
|
|
202
|
+
// depth stays the same - we're replacing, not nesting
|
|
203
|
+
brainRunId: existingBrainRunId !== null && existingBrainRunId !== void 0 ? existingBrainRunId : brainRunId,
|
|
204
|
+
currentEvent: {
|
|
205
|
+
type: BRAIN_EVENTS.RESTART,
|
|
206
|
+
brainTitle: brainTitle,
|
|
207
|
+
brainDescription: brainDescription,
|
|
208
|
+
brainRunId: brainRunId,
|
|
209
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : {},
|
|
210
|
+
status: STATUS.RUNNING,
|
|
211
|
+
options: options
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
return updateDerivedState(newCtx, 'running');
|
|
215
|
+
}
|
|
216
|
+
// Different title - this is a nested inner brain restarting, ADD to stack
|
|
217
|
+
var newEntry1 = {
|
|
218
|
+
brainRunId: brainRunId,
|
|
219
|
+
brainTitle: brainTitle,
|
|
220
|
+
brainDescription: brainDescription,
|
|
221
|
+
parentStepId: currentStepId,
|
|
222
|
+
steps: []
|
|
223
|
+
};
|
|
224
|
+
var newDepth = depth + 1;
|
|
225
|
+
var newCtx1 = _object_spread_props(_object_spread({}, ctx), {
|
|
226
|
+
brainStack: _to_consumable_array(brainStack).concat([
|
|
227
|
+
newEntry1
|
|
228
|
+
]),
|
|
229
|
+
depth: newDepth,
|
|
230
|
+
brainRunId: existingBrainRunId !== null && existingBrainRunId !== void 0 ? existingBrainRunId : brainRunId,
|
|
231
|
+
currentEvent: {
|
|
232
|
+
type: BRAIN_EVENTS.RESTART,
|
|
233
|
+
brainTitle: brainTitle,
|
|
234
|
+
brainDescription: brainDescription,
|
|
235
|
+
brainRunId: brainRunId,
|
|
236
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : {},
|
|
237
|
+
status: STATUS.RUNNING,
|
|
238
|
+
options: options
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
return updateDerivedState(newCtx1, 'running');
|
|
242
|
+
}
|
|
243
|
+
// No brain on stack - this is a fresh restart from idle state
|
|
244
|
+
var newEntry2 = {
|
|
245
|
+
brainRunId: brainRunId,
|
|
246
|
+
brainTitle: brainTitle,
|
|
247
|
+
brainDescription: brainDescription,
|
|
248
|
+
parentStepId: null,
|
|
249
|
+
steps: []
|
|
250
|
+
};
|
|
251
|
+
var newCtx2 = _object_spread_props(_object_spread({}, ctx), {
|
|
252
|
+
brainStack: [
|
|
253
|
+
newEntry2
|
|
254
|
+
],
|
|
255
|
+
depth: 1,
|
|
256
|
+
brainRunId: existingBrainRunId !== null && existingBrainRunId !== void 0 ? existingBrainRunId : brainRunId,
|
|
257
|
+
currentEvent: {
|
|
258
|
+
type: BRAIN_EVENTS.RESTART,
|
|
259
|
+
brainTitle: brainTitle,
|
|
260
|
+
brainDescription: brainDescription,
|
|
261
|
+
brainRunId: brainRunId,
|
|
262
|
+
initialState: initialState !== null && initialState !== void 0 ? initialState : {},
|
|
263
|
+
status: STATUS.RUNNING,
|
|
264
|
+
options: options
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
return updateDerivedState(newCtx2, 'running');
|
|
268
|
+
});
|
|
269
|
+
var completeBrain = reduce(function(ctx) {
|
|
270
|
+
var brainStack = ctx.brainStack, depth = ctx.depth, brainRunId = ctx.brainRunId, options = ctx.options;
|
|
271
|
+
if (brainStack.length === 0) return ctx;
|
|
272
|
+
var completedBrain = brainStack[brainStack.length - 1];
|
|
273
|
+
var newStack = brainStack.slice(0, -1);
|
|
274
|
+
// Attach completed brain's steps to parent step if nested
|
|
275
|
+
if (newStack.length > 0 && completedBrain.parentStepId) {
|
|
276
|
+
var parentBrain = newStack[newStack.length - 1];
|
|
277
|
+
var parentStep = parentBrain.steps.find(function(s) {
|
|
278
|
+
return s.id === completedBrain.parentStepId;
|
|
279
|
+
});
|
|
280
|
+
if (parentStep) {
|
|
281
|
+
parentStep.innerSteps = completedBrain.steps;
|
|
282
|
+
parentStep.status = STATUS.COMPLETE;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
var newDepth = depth - 1;
|
|
286
|
+
var isNowComplete = newDepth === 0;
|
|
287
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
288
|
+
brainStack: newStack,
|
|
289
|
+
depth: newDepth,
|
|
290
|
+
currentEvent: {
|
|
291
|
+
type: BRAIN_EVENTS.COMPLETE,
|
|
292
|
+
brainTitle: completedBrain.brainTitle,
|
|
293
|
+
brainDescription: completedBrain.brainDescription,
|
|
294
|
+
brainRunId: brainRunId,
|
|
295
|
+
status: STATUS.COMPLETE,
|
|
296
|
+
options: options
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
return updateDerivedState(newCtx, isNowComplete ? 'complete' : 'running');
|
|
300
|
+
});
|
|
301
|
+
var errorBrain = reduce(function(ctx, param) {
|
|
302
|
+
var error = param.error;
|
|
303
|
+
var brainStack = ctx.brainStack, brainRunId = ctx.brainRunId, options = ctx.options;
|
|
304
|
+
var currentBrain = brainStack[brainStack.length - 1];
|
|
305
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
306
|
+
error: error,
|
|
307
|
+
currentEvent: {
|
|
308
|
+
type: BRAIN_EVENTS.ERROR,
|
|
309
|
+
brainTitle: currentBrain === null || currentBrain === void 0 ? void 0 : currentBrain.brainTitle,
|
|
310
|
+
brainDescription: currentBrain === null || currentBrain === void 0 ? void 0 : currentBrain.brainDescription,
|
|
311
|
+
brainRunId: brainRunId,
|
|
312
|
+
error: error,
|
|
313
|
+
status: STATUS.ERROR,
|
|
314
|
+
options: options
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
return updateDerivedState(newCtx, 'error');
|
|
318
|
+
});
|
|
319
|
+
var cancelBrain = reduce(function(ctx) {
|
|
320
|
+
var brainStack = ctx.brainStack, brainRunId = ctx.brainRunId, options = ctx.options;
|
|
321
|
+
var currentBrain = brainStack[brainStack.length - 1];
|
|
322
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
323
|
+
currentEvent: {
|
|
324
|
+
type: BRAIN_EVENTS.CANCELLED,
|
|
325
|
+
brainTitle: currentBrain === null || currentBrain === void 0 ? void 0 : currentBrain.brainTitle,
|
|
326
|
+
brainDescription: currentBrain === null || currentBrain === void 0 ? void 0 : currentBrain.brainDescription,
|
|
327
|
+
brainRunId: brainRunId,
|
|
328
|
+
status: STATUS.CANCELLED,
|
|
329
|
+
options: options
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
return updateDerivedState(newCtx, 'cancelled');
|
|
333
|
+
});
|
|
334
|
+
var startStep = reduce(function(ctx, param) {
|
|
335
|
+
var stepId = param.stepId, stepTitle = param.stepTitle;
|
|
336
|
+
var brainStack = ctx.brainStack, brainRunId = ctx.brainRunId, options = ctx.options;
|
|
337
|
+
// Add step to current brain's steps if not already there
|
|
338
|
+
if (brainStack.length > 0) {
|
|
339
|
+
var currentBrain = brainStack[brainStack.length - 1];
|
|
340
|
+
var existingStep = currentBrain.steps.find(function(s) {
|
|
341
|
+
return s.id === stepId;
|
|
342
|
+
});
|
|
343
|
+
if (!existingStep) {
|
|
344
|
+
currentBrain.steps.push({
|
|
345
|
+
id: stepId,
|
|
346
|
+
title: stepTitle,
|
|
347
|
+
status: STATUS.RUNNING
|
|
348
|
+
});
|
|
349
|
+
} else {
|
|
350
|
+
existingStep.status = STATUS.RUNNING;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
354
|
+
currentStepId: stepId,
|
|
355
|
+
currentStepTitle: stepTitle,
|
|
356
|
+
currentEvent: {
|
|
357
|
+
type: BRAIN_EVENTS.STEP_START,
|
|
358
|
+
brainRunId: brainRunId,
|
|
359
|
+
stepId: stepId,
|
|
360
|
+
stepTitle: stepTitle,
|
|
361
|
+
status: STATUS.RUNNING,
|
|
362
|
+
options: options
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
var completeStep = reduce(function(ctx, param) {
|
|
367
|
+
var stepId = param.stepId, stepTitle = param.stepTitle, patch = param.patch;
|
|
368
|
+
var brainStack = ctx.brainStack, depth = ctx.depth, currentState = ctx.currentState, topLevelStepCount = ctx.topLevelStepCount, brainRunId = ctx.brainRunId, options = ctx.options;
|
|
369
|
+
if (brainStack.length > 0) {
|
|
370
|
+
var currentBrain = brainStack[brainStack.length - 1];
|
|
371
|
+
var step = currentBrain.steps.find(function(s) {
|
|
372
|
+
return s.id === stepId;
|
|
373
|
+
});
|
|
374
|
+
if (step) {
|
|
375
|
+
step.status = STATUS.COMPLETE;
|
|
376
|
+
step.patch = patch;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// Apply patch to currentState only for top-level brain
|
|
380
|
+
var newState = currentState;
|
|
381
|
+
var newStepCount = topLevelStepCount;
|
|
382
|
+
if (depth === 1 && patch) {
|
|
383
|
+
newState = applyPatches(currentState, [
|
|
384
|
+
patch
|
|
385
|
+
]);
|
|
386
|
+
newStepCount = topLevelStepCount + 1;
|
|
387
|
+
}
|
|
388
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
389
|
+
currentState: newState,
|
|
390
|
+
topLevelStepCount: newStepCount,
|
|
391
|
+
currentEvent: {
|
|
392
|
+
type: BRAIN_EVENTS.STEP_COMPLETE,
|
|
393
|
+
brainRunId: brainRunId,
|
|
394
|
+
stepId: stepId,
|
|
395
|
+
stepTitle: stepTitle,
|
|
396
|
+
patch: patch,
|
|
397
|
+
status: STATUS.RUNNING,
|
|
398
|
+
options: options
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
});
|
|
402
|
+
var webhookPause = reduce(function(ctx, param) {
|
|
403
|
+
var waitFor = param.waitFor;
|
|
404
|
+
var brainRunId = ctx.brainRunId, options = ctx.options;
|
|
405
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
406
|
+
pendingWebhooks: waitFor,
|
|
407
|
+
currentEvent: {
|
|
408
|
+
type: BRAIN_EVENTS.WEBHOOK,
|
|
409
|
+
brainRunId: brainRunId,
|
|
410
|
+
waitFor: waitFor,
|
|
411
|
+
options: options
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
return updateDerivedState(newCtx, 'paused');
|
|
415
|
+
});
|
|
416
|
+
var webhookResponse = reduce(function(ctx, param) {
|
|
417
|
+
var response = param.response;
|
|
418
|
+
var brainRunId = ctx.brainRunId, options = ctx.options;
|
|
419
|
+
var newCtx = _object_spread_props(_object_spread({}, ctx), {
|
|
420
|
+
pendingWebhooks: null,
|
|
421
|
+
currentEvent: {
|
|
422
|
+
type: BRAIN_EVENTS.WEBHOOK_RESPONSE,
|
|
423
|
+
brainRunId: brainRunId,
|
|
424
|
+
response: response,
|
|
425
|
+
options: options
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
return updateDerivedState(newCtx, 'running');
|
|
429
|
+
});
|
|
430
|
+
var stepStatus = reduce(function(ctx, param) {
|
|
431
|
+
var eventBrainRunId = param.brainRunId, steps = param.steps;
|
|
432
|
+
var brainRunId = ctx.brainRunId, brainStack = ctx.brainStack, options = ctx.options;
|
|
433
|
+
if (brainStack.length === 0) return ctx;
|
|
434
|
+
// Only update the current (deepest) brain on the stack.
|
|
435
|
+
// STEP_STATUS is emitted by the currently executing brain, which is always
|
|
436
|
+
// the deepest one. We can't match by brainRunId because nested brains share
|
|
437
|
+
// the same brainRunId, which would incorrectly update all nested brains.
|
|
438
|
+
var updatedStack = brainStack.map(function(brain, index) {
|
|
439
|
+
if (index === brainStack.length - 1) {
|
|
440
|
+
// Create a map of existing steps to preserve their patches
|
|
441
|
+
var existingStepsById = new Map(brain.steps.map(function(s) {
|
|
442
|
+
return [
|
|
443
|
+
s.id,
|
|
444
|
+
s
|
|
445
|
+
];
|
|
446
|
+
}));
|
|
447
|
+
return _object_spread_props(_object_spread({}, brain), {
|
|
448
|
+
steps: steps.map(function(s) {
|
|
449
|
+
var existing = existingStepsById.get(s.id);
|
|
450
|
+
return _object_spread({
|
|
451
|
+
id: s.id,
|
|
452
|
+
title: s.title,
|
|
453
|
+
status: s.status
|
|
454
|
+
}, (existing === null || existing === void 0 ? void 0 : existing.patch) ? {
|
|
455
|
+
patch: existing.patch
|
|
456
|
+
} : {});
|
|
457
|
+
})
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
return brain;
|
|
461
|
+
});
|
|
462
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
463
|
+
brainStack: updatedStack,
|
|
464
|
+
currentEvent: {
|
|
465
|
+
type: BRAIN_EVENTS.STEP_STATUS,
|
|
466
|
+
brainRunId: brainRunId,
|
|
467
|
+
steps: steps,
|
|
468
|
+
options: options
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
});
|
|
472
|
+
var stepRetry = reduce(function(ctx, param) {
|
|
473
|
+
var stepId = param.stepId, stepTitle = param.stepTitle, error = param.error, attempt = param.attempt;
|
|
474
|
+
var brainRunId = ctx.brainRunId, options = ctx.options;
|
|
475
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
476
|
+
currentEvent: {
|
|
477
|
+
type: BRAIN_EVENTS.STEP_RETRY,
|
|
478
|
+
brainRunId: brainRunId,
|
|
479
|
+
stepId: stepId,
|
|
480
|
+
stepTitle: stepTitle,
|
|
481
|
+
error: error,
|
|
482
|
+
attempt: attempt,
|
|
483
|
+
options: options
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
});
|
|
487
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
488
|
+
var passthrough = function(eventType) {
|
|
489
|
+
return reduce(function(ctx, ev) {
|
|
490
|
+
var brainRunId = ctx.brainRunId, options = ctx.options;
|
|
491
|
+
// Destructure to exclude 'type' (the action name) from being spread into currentEvent
|
|
492
|
+
var _actionType = ev.type, eventData = _object_without_properties(ev, [
|
|
493
|
+
"type"
|
|
494
|
+
]);
|
|
495
|
+
return _object_spread_props(_object_spread({}, ctx), {
|
|
496
|
+
currentEvent: _object_spread({
|
|
497
|
+
type: eventType,
|
|
498
|
+
brainRunId: brainRunId,
|
|
499
|
+
options: options
|
|
500
|
+
}, eventData)
|
|
501
|
+
});
|
|
502
|
+
});
|
|
503
|
+
};
|
|
504
|
+
// ============================================================================
|
|
505
|
+
// Guards - Conditional transitions
|
|
506
|
+
// ============================================================================
|
|
507
|
+
var isOuterBrain = guard(function(ctx) {
|
|
508
|
+
return ctx.depth === 1;
|
|
509
|
+
});
|
|
510
|
+
var isInnerBrain = guard(function(ctx) {
|
|
511
|
+
return ctx.depth > 1;
|
|
512
|
+
});
|
|
513
|
+
// ============================================================================
|
|
514
|
+
// State Machine Definition
|
|
515
|
+
// ============================================================================
|
|
516
|
+
// Action names for transitions
|
|
517
|
+
var ACTIONS = {
|
|
518
|
+
START_BRAIN: 'startBrain',
|
|
519
|
+
RESTART_BRAIN: 'restartBrain',
|
|
520
|
+
COMPLETE_BRAIN: 'completeBrain',
|
|
521
|
+
ERROR_BRAIN: 'errorBrain',
|
|
522
|
+
CANCEL_BRAIN: 'cancelBrain',
|
|
523
|
+
WEBHOOK: 'webhook',
|
|
524
|
+
WEBHOOK_RESPONSE: 'webhookResponse',
|
|
525
|
+
START_STEP: 'startStep',
|
|
526
|
+
COMPLETE_STEP: 'completeStep',
|
|
527
|
+
STEP_STATUS: 'stepStatus',
|
|
528
|
+
STEP_RETRY: 'stepRetry',
|
|
529
|
+
LOOP_START: 'loopStart',
|
|
530
|
+
LOOP_ITERATION: 'loopIteration',
|
|
531
|
+
LOOP_TOOL_CALL: 'loopToolCall',
|
|
532
|
+
LOOP_TOOL_RESULT: 'loopToolResult',
|
|
533
|
+
LOOP_ASSISTANT_MESSAGE: 'loopAssistantMessage',
|
|
534
|
+
LOOP_COMPLETE: 'loopComplete',
|
|
535
|
+
LOOP_TOKEN_LIMIT: 'loopTokenLimit',
|
|
536
|
+
LOOP_WEBHOOK: 'loopWebhook',
|
|
537
|
+
HEARTBEAT: 'heartbeat'
|
|
538
|
+
};
|
|
539
|
+
export { ACTIONS as BRAIN_ACTIONS };
|
|
540
|
+
// Create machine factory - needs to be called with initial context
|
|
541
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
542
|
+
var createBrainMachine = function(initialContext) {
|
|
543
|
+
return createMachine('idle', {
|
|
544
|
+
idle: state(transition(ACTIONS.START_BRAIN, 'running', startBrain), transition(ACTIONS.RESTART_BRAIN, 'running', restartBrain)),
|
|
545
|
+
running: state(// Nested brain lifecycle
|
|
546
|
+
transition(ACTIONS.START_BRAIN, 'running', startBrain), transition(ACTIONS.RESTART_BRAIN, 'running', restartBrain), // Outer brain complete -> terminal
|
|
547
|
+
transition(ACTIONS.COMPLETE_BRAIN, 'complete', isOuterBrain, completeBrain), // Inner brain complete -> stay running
|
|
548
|
+
transition(ACTIONS.COMPLETE_BRAIN, 'running', isInnerBrain, completeBrain), // Error (only outer brain errors are terminal)
|
|
549
|
+
transition(ACTIONS.ERROR_BRAIN, 'error', isOuterBrain, errorBrain), // Cancelled
|
|
550
|
+
transition(ACTIONS.CANCEL_BRAIN, 'cancelled', cancelBrain), // Webhook -> paused
|
|
551
|
+
transition(ACTIONS.WEBHOOK, 'paused', webhookPause), // Webhook response (for resume from webhook - machine is already running)
|
|
552
|
+
transition(ACTIONS.WEBHOOK_RESPONSE, 'running', webhookResponse), // Step events
|
|
553
|
+
transition(ACTIONS.START_STEP, 'running', startStep), transition(ACTIONS.COMPLETE_STEP, 'running', completeStep), transition(ACTIONS.STEP_STATUS, 'running', stepStatus), transition(ACTIONS.STEP_RETRY, 'running', stepRetry), // Loop events (pass-through with event data)
|
|
554
|
+
transition(ACTIONS.LOOP_START, 'running', passthrough(BRAIN_EVENTS.LOOP_START)), transition(ACTIONS.LOOP_ITERATION, 'running', passthrough(BRAIN_EVENTS.LOOP_ITERATION)), transition(ACTIONS.LOOP_TOOL_CALL, 'running', passthrough(BRAIN_EVENTS.LOOP_TOOL_CALL)), transition(ACTIONS.LOOP_TOOL_RESULT, 'running', passthrough(BRAIN_EVENTS.LOOP_TOOL_RESULT)), transition(ACTIONS.LOOP_ASSISTANT_MESSAGE, 'running', passthrough(BRAIN_EVENTS.LOOP_ASSISTANT_MESSAGE)), transition(ACTIONS.LOOP_COMPLETE, 'running', passthrough(BRAIN_EVENTS.LOOP_COMPLETE)), transition(ACTIONS.LOOP_TOKEN_LIMIT, 'running', passthrough(BRAIN_EVENTS.LOOP_TOKEN_LIMIT)), transition(ACTIONS.LOOP_WEBHOOK, 'running', passthrough(BRAIN_EVENTS.LOOP_WEBHOOK)), transition(ACTIONS.HEARTBEAT, 'running', passthrough(BRAIN_EVENTS.HEARTBEAT))),
|
|
555
|
+
paused: state(transition(ACTIONS.WEBHOOK_RESPONSE, 'running', webhookResponse), transition(ACTIONS.CANCEL_BRAIN, 'cancelled', cancelBrain), // RESTART happens when resuming from webhook
|
|
556
|
+
transition(ACTIONS.RESTART_BRAIN, 'running', restartBrain)),
|
|
557
|
+
// Terminal states - limited outgoing transitions
|
|
558
|
+
complete: state(),
|
|
559
|
+
error: state(// Allow STEP_STATUS after error so we can emit the final step statuses
|
|
560
|
+
transition(ACTIONS.STEP_STATUS, 'error', stepStatus)),
|
|
561
|
+
cancelled: state()
|
|
562
|
+
}, function() {
|
|
563
|
+
return initialContext;
|
|
564
|
+
});
|
|
565
|
+
};
|
|
566
|
+
/**
|
|
567
|
+
* Create a new brain execution state machine.
|
|
568
|
+
*/ export function createBrainExecutionMachine(options) {
|
|
569
|
+
var initialContext = createInitialContext(options);
|
|
570
|
+
var machine = createBrainMachine(initialContext);
|
|
571
|
+
return interpret(machine, function() {});
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Send a transition action to the machine.
|
|
575
|
+
* After calling this, read machine.context.currentEvent to get the event to yield.
|
|
576
|
+
*/ export function sendAction(machine, action, payload) {
|
|
577
|
+
machine.send(_object_spread({
|
|
578
|
+
type: action
|
|
579
|
+
}, payload));
|
|
580
|
+
}
|
|
581
|
+
/**
|
|
582
|
+
* Feed an incoming event into the machine to update state (observer mode).
|
|
583
|
+
* Maps brain event types to machine actions.
|
|
584
|
+
*/ // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
585
|
+
export function sendEvent(machine, event) {
|
|
586
|
+
var _obj;
|
|
587
|
+
var eventToAction = (_obj = {}, _define_property(_obj, BRAIN_EVENTS.START, ACTIONS.START_BRAIN), _define_property(_obj, BRAIN_EVENTS.RESTART, ACTIONS.RESTART_BRAIN), _define_property(_obj, BRAIN_EVENTS.COMPLETE, ACTIONS.COMPLETE_BRAIN), _define_property(_obj, BRAIN_EVENTS.ERROR, ACTIONS.ERROR_BRAIN), _define_property(_obj, BRAIN_EVENTS.CANCELLED, ACTIONS.CANCEL_BRAIN), _define_property(_obj, BRAIN_EVENTS.WEBHOOK, ACTIONS.WEBHOOK), _define_property(_obj, BRAIN_EVENTS.WEBHOOK_RESPONSE, ACTIONS.WEBHOOK_RESPONSE), _define_property(_obj, BRAIN_EVENTS.STEP_START, ACTIONS.START_STEP), _define_property(_obj, BRAIN_EVENTS.STEP_COMPLETE, ACTIONS.COMPLETE_STEP), _define_property(_obj, BRAIN_EVENTS.STEP_STATUS, ACTIONS.STEP_STATUS), _define_property(_obj, BRAIN_EVENTS.STEP_RETRY, ACTIONS.STEP_RETRY), _define_property(_obj, BRAIN_EVENTS.LOOP_START, ACTIONS.LOOP_START), _define_property(_obj, BRAIN_EVENTS.LOOP_ITERATION, ACTIONS.LOOP_ITERATION), _define_property(_obj, BRAIN_EVENTS.LOOP_TOOL_CALL, ACTIONS.LOOP_TOOL_CALL), _define_property(_obj, BRAIN_EVENTS.LOOP_TOOL_RESULT, ACTIONS.LOOP_TOOL_RESULT), _define_property(_obj, BRAIN_EVENTS.LOOP_ASSISTANT_MESSAGE, ACTIONS.LOOP_ASSISTANT_MESSAGE), _define_property(_obj, BRAIN_EVENTS.LOOP_COMPLETE, ACTIONS.LOOP_COMPLETE), _define_property(_obj, BRAIN_EVENTS.LOOP_TOKEN_LIMIT, ACTIONS.LOOP_TOKEN_LIMIT), _define_property(_obj, BRAIN_EVENTS.LOOP_WEBHOOK, ACTIONS.LOOP_WEBHOOK), _define_property(_obj, BRAIN_EVENTS.HEARTBEAT, ACTIONS.HEARTBEAT), _obj);
|
|
588
|
+
var action = eventToAction[event.type];
|
|
589
|
+
if (action) {
|
|
590
|
+
var payload = extractPayloadFromEvent(event);
|
|
591
|
+
machine.send(_object_spread({
|
|
592
|
+
type: action
|
|
593
|
+
}, payload));
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Extract relevant payload fields from a brain event for the state machine.
|
|
598
|
+
*/ // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
599
|
+
function extractPayloadFromEvent(event) {
|
|
600
|
+
switch(event.type){
|
|
601
|
+
case BRAIN_EVENTS.START:
|
|
602
|
+
case BRAIN_EVENTS.RESTART:
|
|
603
|
+
return {
|
|
604
|
+
brainRunId: event.brainRunId,
|
|
605
|
+
brainTitle: event.brainTitle,
|
|
606
|
+
brainDescription: event.brainDescription,
|
|
607
|
+
initialState: event.initialState
|
|
608
|
+
};
|
|
609
|
+
case BRAIN_EVENTS.STEP_START:
|
|
610
|
+
return {
|
|
611
|
+
stepId: event.stepId,
|
|
612
|
+
stepTitle: event.stepTitle
|
|
613
|
+
};
|
|
614
|
+
case BRAIN_EVENTS.STEP_COMPLETE:
|
|
615
|
+
return {
|
|
616
|
+
stepId: event.stepId,
|
|
617
|
+
stepTitle: event.stepTitle,
|
|
618
|
+
patch: event.patch
|
|
619
|
+
};
|
|
620
|
+
case BRAIN_EVENTS.ERROR:
|
|
621
|
+
return {
|
|
622
|
+
error: event.error
|
|
623
|
+
};
|
|
624
|
+
case BRAIN_EVENTS.WEBHOOK:
|
|
625
|
+
return {
|
|
626
|
+
waitFor: event.waitFor
|
|
627
|
+
};
|
|
628
|
+
case BRAIN_EVENTS.WEBHOOK_RESPONSE:
|
|
629
|
+
return {
|
|
630
|
+
response: event.response
|
|
631
|
+
};
|
|
632
|
+
case BRAIN_EVENTS.STEP_STATUS:
|
|
633
|
+
return {
|
|
634
|
+
brainRunId: event.brainRunId,
|
|
635
|
+
steps: event.steps
|
|
636
|
+
};
|
|
637
|
+
case BRAIN_EVENTS.STEP_RETRY:
|
|
638
|
+
return {
|
|
639
|
+
stepId: event.stepId,
|
|
640
|
+
stepTitle: event.stepTitle,
|
|
641
|
+
error: event.error,
|
|
642
|
+
attempt: event.attempt
|
|
643
|
+
};
|
|
644
|
+
default:
|
|
645
|
+
// For pass-through events, pass all properties except type
|
|
646
|
+
var type = event.type, rest = _object_without_properties(event, [
|
|
647
|
+
"type"
|
|
648
|
+
]);
|
|
649
|
+
return rest;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
// ============================================================================
|
|
653
|
+
// Query Helpers (kept for backwards compatibility, but context is now preferred)
|
|
654
|
+
// ============================================================================
|
|
655
|
+
export function getDepth(machine) {
|
|
656
|
+
return machine.context.depth;
|
|
657
|
+
}
|
|
658
|
+
export function isTopLevel(machine) {
|
|
659
|
+
return machine.context.isTopLevel;
|
|
660
|
+
}
|
|
661
|
+
export function getCurrentStep(machine) {
|
|
662
|
+
var _machine_context = machine.context, brainStack = _machine_context.brainStack, currentStepId = _machine_context.currentStepId;
|
|
663
|
+
if (brainStack.length === 0 || !currentStepId) return null;
|
|
664
|
+
var currentBrain = brainStack[brainStack.length - 1];
|
|
665
|
+
var _currentBrain_steps_find;
|
|
666
|
+
return (_currentBrain_steps_find = currentBrain.steps.find(function(s) {
|
|
667
|
+
return s.id === currentStepId;
|
|
668
|
+
})) !== null && _currentBrain_steps_find !== void 0 ? _currentBrain_steps_find : null;
|
|
669
|
+
}
|
|
670
|
+
export function getBrainStack(machine) {
|
|
671
|
+
return machine.context.brainStack;
|
|
672
|
+
}
|
|
673
|
+
export function getBrainRunId(machine) {
|
|
674
|
+
return machine.context.brainRunId;
|
|
675
|
+
}
|
|
676
|
+
export function getExecutionState(machine) {
|
|
677
|
+
return machine.machine.current;
|
|
678
|
+
}
|
|
679
|
+
export function getPendingWebhooks(machine) {
|
|
680
|
+
return machine.context.pendingWebhooks;
|
|
681
|
+
}
|
|
682
|
+
export function getError(machine) {
|
|
683
|
+
return machine.context.error;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Get the completed steps from the state machine in the format needed for resume.
|
|
687
|
+
* This reconstructs the nested step hierarchy from the brain stack.
|
|
688
|
+
* Returns a deep copy to avoid mutating the state machine's context.
|
|
689
|
+
*/ export function getCompletedSteps(machine) {
|
|
690
|
+
var brainStack = machine.context.brainStack;
|
|
691
|
+
if (brainStack.length === 0) {
|
|
692
|
+
return [];
|
|
693
|
+
}
|
|
694
|
+
// Deep copy the steps to avoid mutating state machine context
|
|
695
|
+
var copyStep = function(step) {
|
|
696
|
+
var _step_innerSteps;
|
|
697
|
+
return _object_spread_props(_object_spread({}, step), {
|
|
698
|
+
innerSteps: (_step_innerSteps = step.innerSteps) === null || _step_innerSteps === void 0 ? void 0 : _step_innerSteps.map(copyStep)
|
|
699
|
+
});
|
|
700
|
+
};
|
|
701
|
+
var copyBrainStack = brainStack.map(function(brain) {
|
|
702
|
+
return _object_spread_props(_object_spread({}, brain), {
|
|
703
|
+
steps: brain.steps.map(copyStep)
|
|
704
|
+
});
|
|
705
|
+
});
|
|
706
|
+
// The outer brain's steps, with inner brain steps nested
|
|
707
|
+
var outerBrain = copyBrainStack[0];
|
|
708
|
+
// If there are nested brains still on the stack (paused mid-execution),
|
|
709
|
+
// attach their steps to the parent step as innerSteps
|
|
710
|
+
if (copyBrainStack.length > 1) {
|
|
711
|
+
var _loop = function(i) {
|
|
712
|
+
var innerBrain = copyBrainStack[i];
|
|
713
|
+
var parentBrain = copyBrainStack[i - 1];
|
|
714
|
+
// Find the parent step (the one that started this inner brain)
|
|
715
|
+
var parentStep = parentBrain.steps.find(function(s) {
|
|
716
|
+
return s.id === innerBrain.parentStepId;
|
|
717
|
+
});
|
|
718
|
+
if (parentStep) {
|
|
719
|
+
parentStep.innerSteps = innerBrain.steps;
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
for(var i = copyBrainStack.length - 1; i > 0; i--)_loop(i);
|
|
723
|
+
}
|
|
724
|
+
return outerBrain.steps;
|
|
725
|
+
}
|
package/dist/src/dsl/brain.js
CHANGED
|
@@ -1357,7 +1357,6 @@ var BrainEventStream = /*#__PURE__*/ function() {
|
|
|
1357
1357
|
{
|
|
1358
1358
|
type: BRAIN_EVENTS.WEBHOOK,
|
|
1359
1359
|
waitFor: serializedWaitFor,
|
|
1360
|
-
state: this.currentState,
|
|
1361
1360
|
options: this.options,
|
|
1362
1361
|
brainRunId: this.brainRunId
|
|
1363
1362
|
}
|
|
@@ -1710,7 +1709,6 @@ var BrainEventStream = /*#__PURE__*/ function() {
|
|
|
1710
1709
|
identifier: w.identifier
|
|
1711
1710
|
};
|
|
1712
1711
|
}),
|
|
1713
|
-
state: this.currentState,
|
|
1714
1712
|
options: (_this_options10 = this.options) !== null && _this_options10 !== void 0 ? _this_options10 : {},
|
|
1715
1713
|
brainRunId: this.brainRunId
|
|
1716
1714
|
}
|
package/dist/src/index.js
CHANGED
|
@@ -11,3 +11,5 @@ export { createResources } from './resources/resources.js';
|
|
|
11
11
|
export { createWebhook } from './dsl/webhook.js';
|
|
12
12
|
export { RESOURCE_TYPES } from './resources/resources.js';
|
|
13
13
|
export { reconstructLoopContext } from './dsl/loop-messages.js';
|
|
14
|
+
// Brain state machine
|
|
15
|
+
export { createBrainExecutionMachine, sendAction, sendEvent, getDepth, isTopLevel, getCurrentStep, getBrainStack, getBrainRunId, getExecutionState, getPendingWebhooks, getError, getCompletedSteps, BRAIN_ACTIONS } from './dsl/brain-state-machine.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-runner.d.ts","sourceRoot":"","sources":["../../../src/dsl/brain-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"brain-runner.d.ts","sourceRoot":"","sources":["../../../src/dsl/brain-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,WAAW;IAEpB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE;QACf,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,eAAe,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,GAAG,CAAC,EAAE,UAAU,CAAC;KAClB;IAGH,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW;IAQ9C,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW;IAOhD,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW;IAOhD,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW;IAO3C,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW;IAO/B,GAAG,CAAC,QAAQ,SAAS,UAAU,GAAG,EAAE,EAAE,MAAM,SAAS,KAAK,GAAG,EAAE,EACnE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EACnC,EACE,YAA2B,EAC3B,OAAO,EACP,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,UAAU,GACX,GAAE;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,qBAAqB,CAAC,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QACjD,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;KACtB,GACL,OAAO,CAAC,MAAM,CAAC;CAmGnB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { STATUS } from './constants.js';
|
|
2
|
+
import type { JsonPatch, JsonObject } from './types.js';
|
|
3
|
+
export interface BrainStackEntry {
|
|
4
|
+
brainRunId: string;
|
|
5
|
+
brainTitle: string;
|
|
6
|
+
brainDescription?: string;
|
|
7
|
+
parentStepId: string | null;
|
|
8
|
+
steps: StepInfo[];
|
|
9
|
+
}
|
|
10
|
+
export interface StepInfo {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
status: (typeof STATUS)[keyof typeof STATUS];
|
|
14
|
+
patch?: JsonPatch;
|
|
15
|
+
innerSteps?: StepInfo[];
|
|
16
|
+
}
|
|
17
|
+
export interface SerializedError {
|
|
18
|
+
name: string;
|
|
19
|
+
message: string;
|
|
20
|
+
stack?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface WebhookRegistration {
|
|
23
|
+
name: string;
|
|
24
|
+
identifier: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BrainEvent {
|
|
27
|
+
type: string;
|
|
28
|
+
brainRunId: string;
|
|
29
|
+
options: JsonObject;
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface BrainExecutionContext {
|
|
33
|
+
brainStack: BrainStackEntry[];
|
|
34
|
+
depth: number;
|
|
35
|
+
brainRunId: string | null;
|
|
36
|
+
currentStepId: string | null;
|
|
37
|
+
currentStepTitle: string | null;
|
|
38
|
+
error: SerializedError | null;
|
|
39
|
+
pendingWebhooks: WebhookRegistration[] | null;
|
|
40
|
+
currentState: JsonObject;
|
|
41
|
+
currentEvent: BrainEvent | null;
|
|
42
|
+
options: JsonObject;
|
|
43
|
+
isTopLevel: boolean;
|
|
44
|
+
isRunning: boolean;
|
|
45
|
+
isComplete: boolean;
|
|
46
|
+
isPaused: boolean;
|
|
47
|
+
isError: boolean;
|
|
48
|
+
isCancelled: boolean;
|
|
49
|
+
topLevelStepCount: number;
|
|
50
|
+
}
|
|
51
|
+
export type ExecutionState = 'idle' | 'running' | 'paused' | 'complete' | 'error' | 'cancelled';
|
|
52
|
+
export interface StartBrainPayload {
|
|
53
|
+
brainRunId: string;
|
|
54
|
+
brainTitle: string;
|
|
55
|
+
brainDescription?: string;
|
|
56
|
+
initialState?: JsonObject;
|
|
57
|
+
}
|
|
58
|
+
export interface StartStepPayload {
|
|
59
|
+
stepId: string;
|
|
60
|
+
stepTitle: string;
|
|
61
|
+
}
|
|
62
|
+
export interface CompleteStepPayload {
|
|
63
|
+
stepId: string;
|
|
64
|
+
stepTitle: string;
|
|
65
|
+
patch?: JsonPatch;
|
|
66
|
+
}
|
|
67
|
+
export interface WebhookPayload {
|
|
68
|
+
waitFor: WebhookRegistration[];
|
|
69
|
+
}
|
|
70
|
+
export interface ErrorPayload {
|
|
71
|
+
error: SerializedError;
|
|
72
|
+
}
|
|
73
|
+
export interface StepStatusPayload {
|
|
74
|
+
brainRunId: string;
|
|
75
|
+
steps: Array<{
|
|
76
|
+
id: string;
|
|
77
|
+
title: string;
|
|
78
|
+
status: string;
|
|
79
|
+
}>;
|
|
80
|
+
}
|
|
81
|
+
export interface StepRetryPayload {
|
|
82
|
+
stepId: string;
|
|
83
|
+
stepTitle: string;
|
|
84
|
+
error: SerializedError;
|
|
85
|
+
attempt: number;
|
|
86
|
+
}
|
|
87
|
+
export interface CreateMachineOptions {
|
|
88
|
+
initialState?: JsonObject;
|
|
89
|
+
options?: JsonObject;
|
|
90
|
+
}
|
|
91
|
+
declare const ACTIONS: {
|
|
92
|
+
readonly START_BRAIN: "startBrain";
|
|
93
|
+
readonly RESTART_BRAIN: "restartBrain";
|
|
94
|
+
readonly COMPLETE_BRAIN: "completeBrain";
|
|
95
|
+
readonly ERROR_BRAIN: "errorBrain";
|
|
96
|
+
readonly CANCEL_BRAIN: "cancelBrain";
|
|
97
|
+
readonly WEBHOOK: "webhook";
|
|
98
|
+
readonly WEBHOOK_RESPONSE: "webhookResponse";
|
|
99
|
+
readonly START_STEP: "startStep";
|
|
100
|
+
readonly COMPLETE_STEP: "completeStep";
|
|
101
|
+
readonly STEP_STATUS: "stepStatus";
|
|
102
|
+
readonly STEP_RETRY: "stepRetry";
|
|
103
|
+
readonly LOOP_START: "loopStart";
|
|
104
|
+
readonly LOOP_ITERATION: "loopIteration";
|
|
105
|
+
readonly LOOP_TOOL_CALL: "loopToolCall";
|
|
106
|
+
readonly LOOP_TOOL_RESULT: "loopToolResult";
|
|
107
|
+
readonly LOOP_ASSISTANT_MESSAGE: "loopAssistantMessage";
|
|
108
|
+
readonly LOOP_COMPLETE: "loopComplete";
|
|
109
|
+
readonly LOOP_TOKEN_LIMIT: "loopTokenLimit";
|
|
110
|
+
readonly LOOP_WEBHOOK: "loopWebhook";
|
|
111
|
+
readonly HEARTBEAT: "heartbeat";
|
|
112
|
+
};
|
|
113
|
+
export { ACTIONS as BRAIN_ACTIONS };
|
|
114
|
+
export interface BrainStateMachine {
|
|
115
|
+
machine: {
|
|
116
|
+
current: string;
|
|
117
|
+
context: BrainExecutionContext;
|
|
118
|
+
};
|
|
119
|
+
context: BrainExecutionContext;
|
|
120
|
+
send: (event: {
|
|
121
|
+
type: string;
|
|
122
|
+
[key: string]: unknown;
|
|
123
|
+
}) => void;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create a new brain execution state machine.
|
|
127
|
+
*/
|
|
128
|
+
export declare function createBrainExecutionMachine(options?: CreateMachineOptions): BrainStateMachine;
|
|
129
|
+
/**
|
|
130
|
+
* Send a transition action to the machine.
|
|
131
|
+
* After calling this, read machine.context.currentEvent to get the event to yield.
|
|
132
|
+
*/
|
|
133
|
+
export declare function sendAction(machine: BrainStateMachine, action: string, payload?: object): void;
|
|
134
|
+
/**
|
|
135
|
+
* Feed an incoming event into the machine to update state (observer mode).
|
|
136
|
+
* Maps brain event types to machine actions.
|
|
137
|
+
*/
|
|
138
|
+
export declare function sendEvent(machine: BrainStateMachine, event: {
|
|
139
|
+
type: string;
|
|
140
|
+
} & Record<string, any>): void;
|
|
141
|
+
export declare function getDepth(machine: BrainStateMachine): number;
|
|
142
|
+
export declare function isTopLevel(machine: BrainStateMachine): boolean;
|
|
143
|
+
export declare function getCurrentStep(machine: BrainStateMachine): StepInfo | null;
|
|
144
|
+
export declare function getBrainStack(machine: BrainStateMachine): BrainStackEntry[];
|
|
145
|
+
export declare function getBrainRunId(machine: BrainStateMachine): string | null;
|
|
146
|
+
export declare function getExecutionState(machine: BrainStateMachine): ExecutionState;
|
|
147
|
+
export declare function getPendingWebhooks(machine: BrainStateMachine): WebhookRegistration[] | null;
|
|
148
|
+
export declare function getError(machine: BrainStateMachine): SerializedError | null;
|
|
149
|
+
/**
|
|
150
|
+
* Get the completed steps from the state machine in the format needed for resume.
|
|
151
|
+
* This reconstructs the nested step hierarchy from the brain stack.
|
|
152
|
+
* Returns a deep copy to avoid mutating the state machine's context.
|
|
153
|
+
*/
|
|
154
|
+
export declare function getCompletedSteps(machine: BrainStateMachine): StepInfo[];
|
|
155
|
+
//# sourceMappingURL=brain-state-machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain-state-machine.d.ts","sourceRoot":"","sources":["../../../src/dsl/brain-state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,7 +90,6 @@ export interface StepRetryEvent<TOptions extends JsonObject = JsonObject> extend
|
|
|
90
90
|
export interface WebhookEvent<TOptions extends JsonObject = JsonObject> extends BaseEvent<TOptions> {
|
|
91
91
|
type: typeof BRAIN_EVENTS.WEBHOOK;
|
|
92
92
|
waitFor: SerializedWebhookRegistration[];
|
|
93
|
-
state: State;
|
|
94
93
|
}
|
|
95
94
|
export interface LoopStartEvent<TOptions extends JsonObject = JsonObject> extends BaseEvent<TOptions> {
|
|
96
95
|
type: typeof BRAIN_EVENTS.LOOP_START;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/dsl/brain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../../src/dsl/brain.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -17,4 +17,6 @@ export { RESOURCE_TYPES } from './resources/resources.js';
|
|
|
17
17
|
export type { LoopStartEvent, LoopIterationEvent, LoopToolCallEvent, LoopToolResultEvent, LoopAssistantMessageEvent, LoopCompleteEvent, LoopTokenLimitEvent, LoopWebhookEvent, WebhookResponseEvent, HeartbeatEvent, } from './dsl/brain.js';
|
|
18
18
|
export type { LoopResumeContext } from './dsl/loop-messages.js';
|
|
19
19
|
export { reconstructLoopContext } from './dsl/loop-messages.js';
|
|
20
|
+
export { createBrainExecutionMachine, sendAction, sendEvent, getDepth, isTopLevel, getCurrentStep, getBrainStack, getBrainRunId, getExecutionState, getPendingWebhooks, getError, getCompletedSteps, BRAIN_ACTIONS, } from './dsl/brain-state-machine.js';
|
|
21
|
+
export type { BrainStateMachine, BrainExecutionContext, BrainStackEntry, StepInfo, ExecutionState, CreateMachineOptions, } from './dsl/brain-state-machine.js';
|
|
20
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EACV,KAAK,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EACV,QAAQ,IAAI,gBAAgB,EAC5B,KAAK,IAAI,aAAa,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EACV,KAAK,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EACV,QAAQ,IAAI,gBAAgB,EAC5B,KAAK,IAAI,aAAa,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EACL,2BAA2B,EAC3B,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EACjB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,QAAQ,EACR,cAAc,EACd,oBAAoB,GACrB,MAAM,8BAA8B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@positronic/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.48",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"fast-json-patch": "^3.1.1",
|
|
34
|
+
"robot3": "^1.2.0",
|
|
34
35
|
"uuid": "^11.0.5"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|