@auxiora/react-loop 1.10.1 → 1.10.6
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/react-loop.d.ts +3 -2
- package/dist/react-loop.d.ts.map +1 -1
- package/dist/react-loop.js +65 -1
- package/dist/react-loop.js.map +1 -1
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ReActLoop } from './react-loop.js';
|
|
2
2
|
export { StepTracker } from './step-tracker.js';
|
|
3
|
-
export type { StepType, LoopStatus, ReActStep, ReActConfig, ReActResult, ReActCallbacks, } from './types.js';
|
|
3
|
+
export type { StepType, LoopStatus, ReActStep, ReActConfig, ReActResult, ReActCallbacks, ReActCheckpoint, CheckpointHandler, StepValidation, } from './types.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/react-loop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReActCallbacks, ReActConfig, ReActResult, ReActStep, LoopStatus } from './types.js';
|
|
1
|
+
import type { ReActCallbacks, ReActCheckpoint, ReActConfig, ReActResult, ReActStep, LoopStatus } from './types.js';
|
|
2
2
|
export declare class ReActLoop {
|
|
3
3
|
private readonly callbacks;
|
|
4
4
|
private readonly config?;
|
|
@@ -12,7 +12,8 @@ export declare class ReActLoop {
|
|
|
12
12
|
pause(): void;
|
|
13
13
|
resume(): void;
|
|
14
14
|
abort(reason?: string): void;
|
|
15
|
-
run(goal: string): Promise<ReActResult>;
|
|
15
|
+
run(goal: string, resumeFrom?: ReActCheckpoint): Promise<ReActResult>;
|
|
16
|
+
private checkpointAndValidate;
|
|
16
17
|
private isToolAllowed;
|
|
17
18
|
private estimateAndTrack;
|
|
18
19
|
private buildResult;
|
package/dist/react-loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-loop.d.ts","sourceRoot":"","sources":["../src/react-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"react-loop.d.ts","sourceRoot":"","sources":["../src/react-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASnH,qBAAa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAGV,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,WAAW,YAAA;IAGvC,SAAS,IAAI,UAAU;IAIvB,QAAQ,IAAI,SAAS,EAAE;IAIvB,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAMd,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;YA2L7D,qBAAqB;IAoCnC,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,WAAW;CAUpB"}
|
package/dist/react-loop.js
CHANGED
|
@@ -35,11 +35,29 @@ export class ReActLoop {
|
|
|
35
35
|
this.abortReason = reason ?? 'aborted';
|
|
36
36
|
this.status = 'failed';
|
|
37
37
|
}
|
|
38
|
-
async run(goal) {
|
|
38
|
+
async run(goal, resumeFrom) {
|
|
39
|
+
const sessionId = this.config?.sessionId ?? crypto.randomUUID();
|
|
39
40
|
const maxSteps = this.config?.maxSteps ?? DEFAULT_MAX_STEPS;
|
|
40
41
|
const maxTokenBudget = this.config?.maxTokenBudget ?? DEFAULT_MAX_TOKEN_BUDGET;
|
|
41
42
|
const timeoutMs = this.config?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
42
43
|
const startTime = Date.now();
|
|
44
|
+
// Resume from explicit checkpoint
|
|
45
|
+
if (resumeFrom) {
|
|
46
|
+
for (const step of resumeFrom.steps) {
|
|
47
|
+
this.tracker.addStep(step);
|
|
48
|
+
}
|
|
49
|
+
this.totalTokens = resumeFrom.totalTokens;
|
|
50
|
+
}
|
|
51
|
+
else if (this.config?.checkpointHandler && this.config.sessionId) {
|
|
52
|
+
// Auto-load from handler
|
|
53
|
+
const saved = await this.config.checkpointHandler.load(sessionId);
|
|
54
|
+
if (saved) {
|
|
55
|
+
for (const step of saved.steps) {
|
|
56
|
+
this.tracker.addStep(step);
|
|
57
|
+
}
|
|
58
|
+
this.totalTokens = saved.totalTokens;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
43
61
|
this.status = 'running';
|
|
44
62
|
log.info(`Starting ReAct loop for goal: ${goal}`);
|
|
45
63
|
let stepCount = 0;
|
|
@@ -82,6 +100,9 @@ export class ReActLoop {
|
|
|
82
100
|
this.callbacks.onStep?.(thoughtStep);
|
|
83
101
|
this.estimateAndTrack(thinkResult.thought);
|
|
84
102
|
stepCount++;
|
|
103
|
+
if (!(await this.checkpointAndValidate(thoughtStep, sessionId, goal))) {
|
|
104
|
+
return this.buildResult(startTime, this.abortReason);
|
|
105
|
+
}
|
|
85
106
|
// Answer provided — done
|
|
86
107
|
if (thinkResult.answer) {
|
|
87
108
|
const answerStep = {
|
|
@@ -91,6 +112,7 @@ export class ReActLoop {
|
|
|
91
112
|
};
|
|
92
113
|
this.tracker.addStep(answerStep);
|
|
93
114
|
this.callbacks.onStep?.(answerStep);
|
|
115
|
+
await this.checkpointAndValidate(answerStep, sessionId, goal);
|
|
94
116
|
this.status = 'completed';
|
|
95
117
|
return this.buildResult(startTime, undefined, thinkResult.answer);
|
|
96
118
|
}
|
|
@@ -108,6 +130,9 @@ export class ReActLoop {
|
|
|
108
130
|
this.tracker.addStep(deniedStep);
|
|
109
131
|
this.callbacks.onStep?.(deniedStep);
|
|
110
132
|
stepCount++;
|
|
133
|
+
if (!(await this.checkpointAndValidate(deniedStep, sessionId, goal))) {
|
|
134
|
+
return this.buildResult(startTime, this.abortReason);
|
|
135
|
+
}
|
|
111
136
|
continue;
|
|
112
137
|
}
|
|
113
138
|
// Record action step
|
|
@@ -121,6 +146,9 @@ export class ReActLoop {
|
|
|
121
146
|
this.tracker.addStep(actionStep);
|
|
122
147
|
this.callbacks.onStep?.(actionStep);
|
|
123
148
|
stepCount++;
|
|
149
|
+
if (!(await this.checkpointAndValidate(actionStep, sessionId, goal))) {
|
|
150
|
+
return this.buildResult(startTime, this.abortReason);
|
|
151
|
+
}
|
|
124
152
|
// Check approval
|
|
125
153
|
if (this.config?.requireApproval && this.callbacks.onApprovalNeeded) {
|
|
126
154
|
const approved = await this.callbacks.onApprovalNeeded(actionStep);
|
|
@@ -134,6 +162,9 @@ export class ReActLoop {
|
|
|
134
162
|
this.tracker.addStep(deniedStep);
|
|
135
163
|
this.callbacks.onStep?.(deniedStep);
|
|
136
164
|
stepCount++;
|
|
165
|
+
if (!(await this.checkpointAndValidate(deniedStep, sessionId, goal))) {
|
|
166
|
+
return this.buildResult(startTime, this.abortReason);
|
|
167
|
+
}
|
|
137
168
|
continue;
|
|
138
169
|
}
|
|
139
170
|
}
|
|
@@ -153,6 +184,9 @@ export class ReActLoop {
|
|
|
153
184
|
this.callbacks.onStep?.(observationStep);
|
|
154
185
|
this.estimateAndTrack(toolResult);
|
|
155
186
|
stepCount++;
|
|
187
|
+
if (!(await this.checkpointAndValidate(observationStep, sessionId, goal))) {
|
|
188
|
+
return this.buildResult(startTime, this.abortReason);
|
|
189
|
+
}
|
|
156
190
|
}
|
|
157
191
|
}
|
|
158
192
|
}
|
|
@@ -168,6 +202,36 @@ export class ReActLoop {
|
|
|
168
202
|
}
|
|
169
203
|
return this.buildResult(startTime);
|
|
170
204
|
}
|
|
205
|
+
async checkpointAndValidate(step, sessionId, goal) {
|
|
206
|
+
// Save checkpoint
|
|
207
|
+
if (this.config?.checkpointHandler) {
|
|
208
|
+
await this.config.checkpointHandler.save({
|
|
209
|
+
sessionId,
|
|
210
|
+
goal,
|
|
211
|
+
steps: this.tracker.getSteps(),
|
|
212
|
+
totalTokens: this.totalTokens,
|
|
213
|
+
status: this.status,
|
|
214
|
+
savedAt: Date.now(),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
// Validate step
|
|
218
|
+
if (this.config?.validateStep) {
|
|
219
|
+
const validation = await this.config.validateStep(step, this.tracker.getSteps());
|
|
220
|
+
if (!validation.valid) {
|
|
221
|
+
if (validation.abort) {
|
|
222
|
+
this.abort(validation.message ?? 'Step validation failed');
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
// Log warning but continue
|
|
226
|
+
this.callbacks.onStep?.({
|
|
227
|
+
type: 'observation',
|
|
228
|
+
content: `Validation warning: ${validation.message ?? 'step invalid'}`,
|
|
229
|
+
timestamp: Date.now(),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
171
235
|
isToolAllowed(tool) {
|
|
172
236
|
const { allowedTools, deniedTools } = this.config ?? {};
|
|
173
237
|
if (allowedTools && !allowedTools.includes(tool)) {
|
package/dist/react-loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../src/react-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAEpC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,MAAM,OAAO,SAAS;IAOD;IACA;IAPX,MAAM,GAAe,MAAM,CAAC;IAC5B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,WAAW,GAAG,CAAC,CAAC;IAChB,WAAW,CAAU;IAE7B,YACmB,SAAyB,EACzB,MAAoB;QADpB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAc;IACpC,CAAC;IAEJ,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAe;QACnB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,SAAS,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../src/react-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -9,6 +9,27 @@ export interface ReActStep {
|
|
|
9
9
|
timestamp: number;
|
|
10
10
|
durationMs?: number;
|
|
11
11
|
}
|
|
12
|
+
/** Checkpoint data saved after each step for crash recovery */
|
|
13
|
+
export interface ReActCheckpoint {
|
|
14
|
+
sessionId: string;
|
|
15
|
+
goal: string;
|
|
16
|
+
steps: ReActStep[];
|
|
17
|
+
totalTokens: number;
|
|
18
|
+
status: LoopStatus;
|
|
19
|
+
savedAt: number;
|
|
20
|
+
}
|
|
21
|
+
/** Handler for persisting and loading checkpoints */
|
|
22
|
+
export interface CheckpointHandler {
|
|
23
|
+
save(checkpoint: ReActCheckpoint): Promise<void>;
|
|
24
|
+
load(sessionId: string): Promise<ReActCheckpoint | undefined>;
|
|
25
|
+
}
|
|
26
|
+
/** Result of validating a step */
|
|
27
|
+
export interface StepValidation {
|
|
28
|
+
valid: boolean;
|
|
29
|
+
message?: string;
|
|
30
|
+
/** If true, abort the loop on validation failure */
|
|
31
|
+
abort?: boolean;
|
|
32
|
+
}
|
|
12
33
|
export interface ReActConfig {
|
|
13
34
|
maxSteps?: number;
|
|
14
35
|
maxTokenBudget?: number;
|
|
@@ -16,6 +37,9 @@ export interface ReActConfig {
|
|
|
16
37
|
allowedTools?: string[];
|
|
17
38
|
deniedTools?: string[];
|
|
18
39
|
timeoutMs?: number;
|
|
40
|
+
sessionId?: string;
|
|
41
|
+
checkpointHandler?: CheckpointHandler;
|
|
42
|
+
validateStep?: (step: ReActStep, allSteps: ReActStep[]) => Promise<StepValidation>;
|
|
19
43
|
}
|
|
20
44
|
export interface ReActResult {
|
|
21
45
|
status: LoopStatus;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAEtG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auxiora/react-loop",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.6",
|
|
4
4
|
"description": "Autonomous ReAct reasoning-action loops for agentic task execution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@auxiora/
|
|
16
|
-
"@auxiora/
|
|
15
|
+
"@auxiora/logger": "1.10.6",
|
|
16
|
+
"@auxiora/errors": "1.10.6"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {},
|
|
19
19
|
"engines": {
|