sentienceapi 0.96.1 → 0.98.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/agent-runtime.d.ts +37 -0
- package/dist/agent-runtime.d.ts.map +1 -1
- package/dist/agent-runtime.js +235 -1
- package/dist/agent-runtime.js.map +1 -1
- package/dist/captcha/strategies.d.ts +12 -0
- package/dist/captcha/strategies.d.ts.map +1 -0
- package/dist/captcha/strategies.js +43 -0
- package/dist/captcha/strategies.js.map +1 -0
- package/dist/captcha/types.d.ts +39 -0
- package/dist/captcha/types.d.ts.map +1 -0
- package/dist/captcha/types.js +12 -0
- package/dist/captcha/types.js.map +1 -0
- package/dist/failure-artifacts.d.ts +95 -0
- package/dist/failure-artifacts.d.ts.map +1 -0
- package/dist/failure-artifacts.js +767 -0
- package/dist/failure-artifacts.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/snapshot.js +4 -0
- package/dist/snapshot.js.map +1 -1
- package/dist/tracing/types.d.ts +1 -1
- package/dist/tracing/types.d.ts.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/extension/injected_api.js +161 -1
- package/src/extension/manifest.json +1 -1
- package/src/extension/release.json +29 -29
package/README.md
CHANGED
|
@@ -29,6 +29,7 @@ Use `AgentRuntime` to add Jest-style assertions to your agent loops. Verify brow
|
|
|
29
29
|
import {
|
|
30
30
|
SentienceBrowser,
|
|
31
31
|
AgentRuntime,
|
|
32
|
+
HumanHandoffSolver,
|
|
32
33
|
urlContains,
|
|
33
34
|
exists,
|
|
34
35
|
allOf,
|
|
@@ -75,6 +76,12 @@ const ok = await runtime
|
|
|
75
76
|
.eventually({ timeoutMs: 10_000, pollMs: 250, minConfidence: 0.7, maxSnapshotAttempts: 3 });
|
|
76
77
|
console.log('eventually() result:', ok);
|
|
77
78
|
|
|
79
|
+
// CAPTCHA handling (detection + handoff + verify)
|
|
80
|
+
runtime.setCaptchaOptions({
|
|
81
|
+
policy: 'callback',
|
|
82
|
+
handler: HumanHandoffSolver(),
|
|
83
|
+
});
|
|
84
|
+
|
|
78
85
|
// Check task completion
|
|
79
86
|
if (runtime.assertDone(exists("text~'Example'"), 'task_complete')) {
|
|
80
87
|
console.log('✅ Task completed!');
|
|
@@ -83,6 +90,55 @@ if (runtime.assertDone(exists("text~'Example'"), 'task_complete')) {
|
|
|
83
90
|
console.log(`Task done: ${runtime.isTaskDone}`);
|
|
84
91
|
```
|
|
85
92
|
|
|
93
|
+
#### CAPTCHA strategies (Batteries Included)
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { ExternalSolver, HumanHandoffSolver, VisionSolver } from 'sentienceapi';
|
|
97
|
+
|
|
98
|
+
// Human-in-loop
|
|
99
|
+
runtime.setCaptchaOptions({ policy: 'callback', handler: HumanHandoffSolver() });
|
|
100
|
+
|
|
101
|
+
// Vision verification only
|
|
102
|
+
runtime.setCaptchaOptions({ policy: 'callback', handler: VisionSolver() });
|
|
103
|
+
|
|
104
|
+
// External system/webhook
|
|
105
|
+
runtime.setCaptchaOptions({
|
|
106
|
+
policy: 'callback',
|
|
107
|
+
handler: ExternalSolver(async ctx => {
|
|
108
|
+
await fetch(process.env.CAPTCHA_WEBHOOK_URL!, {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
headers: { 'Content-Type': 'application/json' },
|
|
111
|
+
body: JSON.stringify({ runId: ctx.runId, url: ctx.url }),
|
|
112
|
+
});
|
|
113
|
+
}),
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Failure Artifact Buffer (Phase 1)
|
|
118
|
+
|
|
119
|
+
Capture a short ring buffer of screenshots and persist them when a required assertion fails.
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
runtime.enableFailureArtifacts({ bufferSeconds: 15, captureOnAction: true, fps: 0 });
|
|
123
|
+
|
|
124
|
+
// After each action, record it (best-effort).
|
|
125
|
+
await runtime.recordAction('CLICK');
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Redaction callback (Phase 3)
|
|
129
|
+
|
|
130
|
+
Provide a user-defined callback to redact snapshots and decide whether to persist frames. The SDK does not implement image/video redaction.
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
import { RedactionContext, RedactionResult } from 'sentienceapi';
|
|
134
|
+
|
|
135
|
+
const redact = (_ctx: RedactionContext): RedactionResult => {
|
|
136
|
+
return { dropFrames: true };
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
runtime.enableFailureArtifacts({ onBeforePersist: redact });
|
|
140
|
+
```
|
|
141
|
+
|
|
86
142
|
**See examples:** [`examples/asserts/`](examples/asserts/)
|
|
87
143
|
|
|
88
144
|
## 🚀 Quick Start: Choose Your Abstraction Level
|
package/dist/agent-runtime.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ import { Snapshot } from './types';
|
|
|
42
42
|
import { Predicate } from './verification';
|
|
43
43
|
import { Tracer } from './tracing/tracer';
|
|
44
44
|
import { LLMProvider } from './llm-provider';
|
|
45
|
+
import { FailureArtifactsOptions } from './failure-artifacts';
|
|
46
|
+
import { CaptchaOptions } from './captcha/types';
|
|
45
47
|
interface BrowserLike {
|
|
46
48
|
snapshot(page: Page, options?: Record<string, any>): Promise<Snapshot>;
|
|
47
49
|
}
|
|
@@ -103,11 +105,17 @@ export declare class AgentRuntime {
|
|
|
103
105
|
stepIndex: number;
|
|
104
106
|
/** Most recent snapshot (for assertion context) */
|
|
105
107
|
lastSnapshot: Snapshot | null;
|
|
108
|
+
/** Failure artifact buffer (Phase 1) */
|
|
109
|
+
private artifactBuffer;
|
|
110
|
+
private artifactTimer;
|
|
106
111
|
/** Assertions accumulated during current step */
|
|
107
112
|
private assertionsThisStep;
|
|
108
113
|
/** Task completion tracking */
|
|
109
114
|
private taskDone;
|
|
110
115
|
private taskDoneLabel;
|
|
116
|
+
/** CAPTCHA handling (optional, disabled by default) */
|
|
117
|
+
private captchaOptions;
|
|
118
|
+
private captchaRetryCount;
|
|
111
119
|
private static similarity;
|
|
112
120
|
_recordOutcome(outcome: ReturnType<Predicate>, label: string, required: boolean, extra: Record<string, any> | null, recordInStep: boolean): void;
|
|
113
121
|
check(predicate: Predicate, label: string, required?: boolean): AssertionHandle;
|
|
@@ -119,6 +127,10 @@ export declare class AgentRuntime {
|
|
|
119
127
|
* @param tracer - Tracer for emitting verification events
|
|
120
128
|
*/
|
|
121
129
|
constructor(browser: BrowserLike, page: Page, tracer: Tracer);
|
|
130
|
+
/**
|
|
131
|
+
* Configure CAPTCHA handling (disabled by default unless set).
|
|
132
|
+
*/
|
|
133
|
+
setCaptchaOptions(options: CaptchaOptions): void;
|
|
122
134
|
/**
|
|
123
135
|
* Build assertion context from current state.
|
|
124
136
|
*/
|
|
@@ -132,6 +144,31 @@ export declare class AgentRuntime {
|
|
|
132
144
|
* @returns Snapshot of current page state
|
|
133
145
|
*/
|
|
134
146
|
snapshot(options?: Record<string, any>): Promise<Snapshot>;
|
|
147
|
+
private isCaptchaDetected;
|
|
148
|
+
private buildCaptchaContext;
|
|
149
|
+
private emitCaptchaEvent;
|
|
150
|
+
private handleCaptchaIfNeeded;
|
|
151
|
+
private applyCaptchaResolution;
|
|
152
|
+
private waitUntilCleared;
|
|
153
|
+
/**
|
|
154
|
+
* Enable failure artifact buffer (Phase 1).
|
|
155
|
+
*/
|
|
156
|
+
enableFailureArtifacts(options?: FailureArtifactsOptions): void;
|
|
157
|
+
/**
|
|
158
|
+
* Disable failure artifact buffer and stop background capture.
|
|
159
|
+
*/
|
|
160
|
+
disableFailureArtifacts(): void;
|
|
161
|
+
/**
|
|
162
|
+
* Record an action in the artifact timeline and capture a frame if enabled.
|
|
163
|
+
*/
|
|
164
|
+
recordAction(action: string, url?: string): Promise<void>;
|
|
165
|
+
private captureArtifactFrame;
|
|
166
|
+
/**
|
|
167
|
+
* Finalize artifact buffer at end of run.
|
|
168
|
+
*/
|
|
169
|
+
finalizeRun(success: boolean): Promise<void>;
|
|
170
|
+
private persistFailureArtifacts;
|
|
171
|
+
private artifactMetadata;
|
|
135
172
|
/**
|
|
136
173
|
* Begin a new step in the verification loop.
|
|
137
174
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-runtime.js
CHANGED
|
@@ -41,6 +41,15 @@
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
exports.AgentRuntime = exports.AssertionHandle = void 0;
|
|
43
43
|
const uuid_1 = require("uuid");
|
|
44
|
+
const failure_artifacts_1 = require("./failure-artifacts");
|
|
45
|
+
const types_1 = require("./captcha/types");
|
|
46
|
+
const DEFAULT_CAPTCHA_OPTIONS = {
|
|
47
|
+
policy: 'abort',
|
|
48
|
+
minConfidence: 0.7,
|
|
49
|
+
timeoutMs: 120000,
|
|
50
|
+
pollMs: 1000,
|
|
51
|
+
maxRetriesNewSession: 1,
|
|
52
|
+
};
|
|
44
53
|
class AssertionHandle {
|
|
45
54
|
constructor(runtime, predicate, label, required) {
|
|
46
55
|
this.runtime = runtime;
|
|
@@ -118,6 +127,9 @@ class AssertionHandle {
|
|
|
118
127
|
final: true,
|
|
119
128
|
vision_fallback: true,
|
|
120
129
|
}, true);
|
|
130
|
+
if (this.required && !passed) {
|
|
131
|
+
this.runtime.persistFailureArtifacts(`assert_eventually_failed:${this.label}`);
|
|
132
|
+
}
|
|
121
133
|
return passed;
|
|
122
134
|
}
|
|
123
135
|
catch {
|
|
@@ -142,6 +154,9 @@ class AssertionHandle {
|
|
|
142
154
|
final: true,
|
|
143
155
|
exhausted: true,
|
|
144
156
|
}, true);
|
|
157
|
+
if (this.required) {
|
|
158
|
+
this.runtime.persistFailureArtifacts(`assert_eventually_failed:${this.label}`);
|
|
159
|
+
}
|
|
145
160
|
return false;
|
|
146
161
|
}
|
|
147
162
|
if (Date.now() >= deadline) {
|
|
@@ -152,6 +167,9 @@ class AssertionHandle {
|
|
|
152
167
|
final: true,
|
|
153
168
|
timeout: true,
|
|
154
169
|
}, true);
|
|
170
|
+
if (this.required) {
|
|
171
|
+
this.runtime.persistFailureArtifacts(`assert_eventually_timeout:${this.label}`);
|
|
172
|
+
}
|
|
155
173
|
return false;
|
|
156
174
|
}
|
|
157
175
|
await new Promise(resolve => setTimeout(resolve, pollMs));
|
|
@@ -168,6 +186,9 @@ class AssertionHandle {
|
|
|
168
186
|
if (Date.now() >= deadline) {
|
|
169
187
|
// Record final failure once
|
|
170
188
|
this.runtime._recordOutcome(lastOutcome, this.label, this.required, { eventually: true, attempt, final: true, timeout: true }, true);
|
|
189
|
+
if (this.required) {
|
|
190
|
+
this.runtime.persistFailureArtifacts(`assert_eventually_timeout:${this.label}`);
|
|
191
|
+
}
|
|
171
192
|
return false;
|
|
172
193
|
}
|
|
173
194
|
await new Promise(resolve => setTimeout(resolve, pollMs));
|
|
@@ -265,15 +286,31 @@ class AgentRuntime {
|
|
|
265
286
|
this.stepIndex = 0;
|
|
266
287
|
/** Most recent snapshot (for assertion context) */
|
|
267
288
|
this.lastSnapshot = null;
|
|
289
|
+
/** Failure artifact buffer (Phase 1) */
|
|
290
|
+
this.artifactBuffer = null;
|
|
291
|
+
this.artifactTimer = null;
|
|
268
292
|
/** Assertions accumulated during current step */
|
|
269
293
|
this.assertionsThisStep = [];
|
|
270
294
|
/** Task completion tracking */
|
|
271
295
|
this.taskDone = false;
|
|
272
296
|
this.taskDoneLabel = null;
|
|
297
|
+
/** CAPTCHA handling (optional, disabled by default) */
|
|
298
|
+
this.captchaOptions = null;
|
|
299
|
+
this.captchaRetryCount = 0;
|
|
273
300
|
this.browser = browser;
|
|
274
301
|
this.page = page;
|
|
275
302
|
this.tracer = tracer;
|
|
276
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Configure CAPTCHA handling (disabled by default unless set).
|
|
306
|
+
*/
|
|
307
|
+
setCaptchaOptions(options) {
|
|
308
|
+
this.captchaOptions = {
|
|
309
|
+
...DEFAULT_CAPTCHA_OPTIONS,
|
|
310
|
+
...options,
|
|
311
|
+
};
|
|
312
|
+
this.captchaRetryCount = 0;
|
|
313
|
+
}
|
|
277
314
|
/**
|
|
278
315
|
* Build assertion context from current state.
|
|
279
316
|
*/
|
|
@@ -300,9 +337,201 @@ class AgentRuntime {
|
|
|
300
337
|
* @returns Snapshot of current page state
|
|
301
338
|
*/
|
|
302
339
|
async snapshot(options) {
|
|
303
|
-
|
|
340
|
+
const { _skipCaptchaHandling, ...snapshotOptions } = options || {};
|
|
341
|
+
this.lastSnapshot = await this.browser.snapshot(this.page, snapshotOptions);
|
|
342
|
+
if (!_skipCaptchaHandling) {
|
|
343
|
+
await this.handleCaptchaIfNeeded(this.lastSnapshot, 'gateway');
|
|
344
|
+
}
|
|
304
345
|
return this.lastSnapshot;
|
|
305
346
|
}
|
|
347
|
+
isCaptchaDetected(snapshot) {
|
|
348
|
+
const options = this.captchaOptions;
|
|
349
|
+
if (!options) {
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
const captcha = snapshot.diagnostics?.captcha;
|
|
353
|
+
if (!captcha || !captcha.detected) {
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
const confidence = captcha.confidence ?? 0;
|
|
357
|
+
const minConfidence = options.minConfidence ?? DEFAULT_CAPTCHA_OPTIONS.minConfidence;
|
|
358
|
+
return confidence >= minConfidence;
|
|
359
|
+
}
|
|
360
|
+
buildCaptchaContext(snapshot, source) {
|
|
361
|
+
return {
|
|
362
|
+
runId: this.tracer.getRunId(),
|
|
363
|
+
stepIndex: this.stepIndex,
|
|
364
|
+
url: snapshot.url,
|
|
365
|
+
source,
|
|
366
|
+
captcha: snapshot.diagnostics?.captcha ?? null,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
emitCaptchaEvent(reasonCode, details = {}) {
|
|
370
|
+
this.tracer.emit('verification', {
|
|
371
|
+
kind: 'captcha',
|
|
372
|
+
passed: false,
|
|
373
|
+
label: reasonCode,
|
|
374
|
+
details: { reason_code: reasonCode, ...details },
|
|
375
|
+
}, this.stepId || undefined);
|
|
376
|
+
}
|
|
377
|
+
async handleCaptchaIfNeeded(snapshot, source) {
|
|
378
|
+
if (!this.captchaOptions) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
if (!this.isCaptchaDetected(snapshot)) {
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
const options = this.captchaOptions;
|
|
385
|
+
const minConfidence = options.minConfidence ?? DEFAULT_CAPTCHA_OPTIONS.minConfidence;
|
|
386
|
+
const captcha = snapshot.diagnostics?.captcha ?? null;
|
|
387
|
+
this.emitCaptchaEvent('captcha_detected', { captcha, min_confidence: minConfidence });
|
|
388
|
+
let resolution;
|
|
389
|
+
if (options.policy === 'callback') {
|
|
390
|
+
if (!options.handler) {
|
|
391
|
+
this.emitCaptchaEvent('captcha_handler_error');
|
|
392
|
+
throw new types_1.CaptchaHandlingError('captcha_handler_error', 'Captcha handler is required for policy="callback".');
|
|
393
|
+
}
|
|
394
|
+
try {
|
|
395
|
+
resolution = await options.handler(this.buildCaptchaContext(snapshot, source));
|
|
396
|
+
}
|
|
397
|
+
catch (err) {
|
|
398
|
+
this.emitCaptchaEvent('captcha_handler_error', { error: String(err?.message || err) });
|
|
399
|
+
throw new types_1.CaptchaHandlingError('captcha_handler_error', 'Captcha handler failed.', {
|
|
400
|
+
error: String(err?.message || err),
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
if (!resolution || !resolution.action) {
|
|
404
|
+
this.emitCaptchaEvent('captcha_handler_error');
|
|
405
|
+
throw new types_1.CaptchaHandlingError('captcha_handler_error', 'Captcha handler returned an invalid resolution.');
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
resolution = { action: 'abort' };
|
|
410
|
+
}
|
|
411
|
+
await this.applyCaptchaResolution(resolution, snapshot, source);
|
|
412
|
+
}
|
|
413
|
+
async applyCaptchaResolution(resolution, snapshot, source) {
|
|
414
|
+
const options = this.captchaOptions || DEFAULT_CAPTCHA_OPTIONS;
|
|
415
|
+
if (resolution.action === 'abort') {
|
|
416
|
+
this.emitCaptchaEvent('captcha_policy_abort', { message: resolution.message });
|
|
417
|
+
throw new types_1.CaptchaHandlingError('captcha_policy_abort', resolution.message || 'Captcha detected. Aborting per policy.');
|
|
418
|
+
}
|
|
419
|
+
if (resolution.action === 'retry_new_session') {
|
|
420
|
+
this.captchaRetryCount += 1;
|
|
421
|
+
this.emitCaptchaEvent('captcha_retry_new_session');
|
|
422
|
+
if (this.captchaRetryCount > (options.maxRetriesNewSession ?? 1)) {
|
|
423
|
+
this.emitCaptchaEvent('captcha_retry_exhausted');
|
|
424
|
+
throw new types_1.CaptchaHandlingError('captcha_retry_exhausted', 'Captcha retry_new_session exhausted.');
|
|
425
|
+
}
|
|
426
|
+
const resetSession = this.captchaOptions?.resetSession;
|
|
427
|
+
if (!resetSession) {
|
|
428
|
+
throw new types_1.CaptchaHandlingError('captcha_retry_new_session', 'resetSession callback is required for retry_new_session.');
|
|
429
|
+
}
|
|
430
|
+
await resetSession();
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
if (resolution.action === 'wait_until_cleared') {
|
|
434
|
+
const timeoutMs = resolution.timeoutMs ?? options.timeoutMs ?? DEFAULT_CAPTCHA_OPTIONS.timeoutMs;
|
|
435
|
+
const pollMs = resolution.pollMs ?? options.pollMs ?? DEFAULT_CAPTCHA_OPTIONS.pollMs;
|
|
436
|
+
await this.waitUntilCleared(timeoutMs, pollMs, snapshot, source);
|
|
437
|
+
this.emitCaptchaEvent('captcha_resumed');
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
async waitUntilCleared(timeoutMs, pollMs, snapshot, source) {
|
|
441
|
+
const deadline = Date.now() + timeoutMs;
|
|
442
|
+
while (Date.now() <= deadline) {
|
|
443
|
+
await new Promise(res => setTimeout(res, pollMs));
|
|
444
|
+
const next = await this.snapshot({ _skipCaptchaHandling: true });
|
|
445
|
+
if (!this.isCaptchaDetected(next)) {
|
|
446
|
+
this.emitCaptchaEvent('captcha_cleared', { source });
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
this.emitCaptchaEvent('captcha_wait_timeout', { timeout_ms: timeoutMs });
|
|
451
|
+
throw new types_1.CaptchaHandlingError('captcha_wait_timeout', 'Captcha wait_until_cleared timed out.');
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Enable failure artifact buffer (Phase 1).
|
|
455
|
+
*/
|
|
456
|
+
enableFailureArtifacts(options = {}) {
|
|
457
|
+
this.artifactBuffer = new failure_artifacts_1.FailureArtifactBuffer(this.tracer.getRunId(), options);
|
|
458
|
+
const fps = this.artifactBuffer.getOptions().fps;
|
|
459
|
+
if (fps && fps > 0) {
|
|
460
|
+
const intervalMs = Math.max(1, Math.floor(1000 / fps));
|
|
461
|
+
this.artifactTimer = setInterval(() => {
|
|
462
|
+
this.captureArtifactFrame().catch(() => {
|
|
463
|
+
// best-effort
|
|
464
|
+
});
|
|
465
|
+
}, intervalMs);
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Disable failure artifact buffer and stop background capture.
|
|
470
|
+
*/
|
|
471
|
+
disableFailureArtifacts() {
|
|
472
|
+
if (this.artifactTimer) {
|
|
473
|
+
clearInterval(this.artifactTimer);
|
|
474
|
+
this.artifactTimer = null;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Record an action in the artifact timeline and capture a frame if enabled.
|
|
479
|
+
*/
|
|
480
|
+
async recordAction(action, url) {
|
|
481
|
+
if (!this.artifactBuffer) {
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
this.artifactBuffer.recordStep(action, this.stepId, this.stepIndex, url);
|
|
485
|
+
if (this.artifactBuffer.getOptions().captureOnAction) {
|
|
486
|
+
await this.captureArtifactFrame();
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
async captureArtifactFrame() {
|
|
490
|
+
if (!this.artifactBuffer) {
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
try {
|
|
494
|
+
const image = await this.page.screenshot({ type: 'jpeg', quality: 80 });
|
|
495
|
+
await this.artifactBuffer.addFrame(image, 'jpeg');
|
|
496
|
+
}
|
|
497
|
+
catch {
|
|
498
|
+
// best-effort
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Finalize artifact buffer at end of run.
|
|
503
|
+
*/
|
|
504
|
+
async finalizeRun(success) {
|
|
505
|
+
if (!this.artifactBuffer) {
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
if (success) {
|
|
509
|
+
if (this.artifactBuffer.getOptions().persistMode === 'always') {
|
|
510
|
+
await this.artifactBuffer.persist('success', 'success', this.lastSnapshot ?? undefined, this.lastSnapshot?.diagnostics, this.artifactMetadata());
|
|
511
|
+
}
|
|
512
|
+
await this.artifactBuffer.cleanup();
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
await this.persistFailureArtifacts('finalize_failure');
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
async persistFailureArtifacts(reason) {
|
|
519
|
+
if (!this.artifactBuffer) {
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
await this.artifactBuffer.persist(reason, 'failure', this.lastSnapshot ?? undefined, this.lastSnapshot?.diagnostics, this.artifactMetadata());
|
|
523
|
+
await this.artifactBuffer.cleanup();
|
|
524
|
+
if (this.artifactBuffer.getOptions().persistMode === 'onFail') {
|
|
525
|
+
this.disableFailureArtifacts();
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
artifactMetadata() {
|
|
529
|
+
const url = this.lastSnapshot?.url ?? this.page?.url?.();
|
|
530
|
+
return {
|
|
531
|
+
backend: 'playwright',
|
|
532
|
+
url,
|
|
533
|
+
};
|
|
534
|
+
}
|
|
306
535
|
/**
|
|
307
536
|
* Begin a new step in the verification loop.
|
|
308
537
|
*
|
|
@@ -344,6 +573,11 @@ class AgentRuntime {
|
|
|
344
573
|
assert(predicate, label, required = false) {
|
|
345
574
|
const outcome = predicate(this.ctx());
|
|
346
575
|
this._recordOutcome(outcome, label, required, null, true);
|
|
576
|
+
if (required && !outcome.passed) {
|
|
577
|
+
this.persistFailureArtifacts(`assert_failed:${label}`).catch(() => {
|
|
578
|
+
// best-effort
|
|
579
|
+
});
|
|
580
|
+
}
|
|
347
581
|
return outcome.passed;
|
|
348
582
|
}
|
|
349
583
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CaptchaHandler } from './types';
|
|
2
|
+
type StrategyOptions = {
|
|
3
|
+
message?: string;
|
|
4
|
+
handledBy?: 'human' | 'customer_system' | 'unknown';
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
pollMs?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function HumanHandoffSolver(options?: StrategyOptions): CaptchaHandler;
|
|
9
|
+
export declare function VisionSolver(options?: StrategyOptions): CaptchaHandler;
|
|
10
|
+
export declare function ExternalSolver(resolver: (ctx: any) => Promise<void>, options?: StrategyOptions): CaptchaHandler;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=strategies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/captcha/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,SAAS,CAAC;AAE5D,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAWhF;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAW1E;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EACrC,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAYhB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HumanHandoffSolver = HumanHandoffSolver;
|
|
4
|
+
exports.VisionSolver = VisionSolver;
|
|
5
|
+
exports.ExternalSolver = ExternalSolver;
|
|
6
|
+
function HumanHandoffSolver(options = {}) {
|
|
7
|
+
return () => {
|
|
8
|
+
const resolution = {
|
|
9
|
+
action: 'wait_until_cleared',
|
|
10
|
+
message: options.message ?? 'Solve CAPTCHA in the live session, then resume.',
|
|
11
|
+
handledBy: options.handledBy ?? 'human',
|
|
12
|
+
timeoutMs: options.timeoutMs,
|
|
13
|
+
pollMs: options.pollMs,
|
|
14
|
+
};
|
|
15
|
+
return Promise.resolve(resolution);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function VisionSolver(options = {}) {
|
|
19
|
+
return () => {
|
|
20
|
+
const resolution = {
|
|
21
|
+
action: 'wait_until_cleared',
|
|
22
|
+
message: options.message ?? 'Waiting for CAPTCHA to clear (vision verification).',
|
|
23
|
+
handledBy: options.handledBy ?? 'customer_system',
|
|
24
|
+
timeoutMs: options.timeoutMs,
|
|
25
|
+
pollMs: options.pollMs,
|
|
26
|
+
};
|
|
27
|
+
return Promise.resolve(resolution);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function ExternalSolver(resolver, options = {}) {
|
|
31
|
+
return async (ctx) => {
|
|
32
|
+
await resolver(ctx);
|
|
33
|
+
const resolution = {
|
|
34
|
+
action: 'wait_until_cleared',
|
|
35
|
+
message: options.message ?? 'External solver invoked; waiting for clearance.',
|
|
36
|
+
handledBy: options.handledBy ?? 'customer_system',
|
|
37
|
+
timeoutMs: options.timeoutMs,
|
|
38
|
+
pollMs: options.pollMs,
|
|
39
|
+
};
|
|
40
|
+
return resolution;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=strategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/captcha/strategies.ts"],"names":[],"mappings":";;AASA,gDAWC;AAED,oCAWC;AAED,wCAeC;AAzCD,SAAgB,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,OAAO,GAAG,EAAE;QACV,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,iDAAiD;YAC7E,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO;YACvC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,UAA2B,EAAE;IACxD,OAAO,GAAG,EAAE;QACV,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,qDAAqD;YACjF,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,QAAqC,EACrC,UAA2B,EAAE;IAE7B,OAAO,KAAK,EAAC,GAAG,EAAC,EAAE;QACjB,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,iDAAiD;YAC7E,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CaptchaDiagnostics } from '../types';
|
|
2
|
+
export type CaptchaPolicy = 'abort' | 'callback';
|
|
3
|
+
export type CaptchaAction = 'abort' | 'retry_new_session' | 'wait_until_cleared';
|
|
4
|
+
export type CaptchaSource = 'extension' | 'gateway' | 'runtime';
|
|
5
|
+
export interface CaptchaContext {
|
|
6
|
+
runId: string;
|
|
7
|
+
stepIndex: number;
|
|
8
|
+
url: string;
|
|
9
|
+
source: CaptchaSource;
|
|
10
|
+
captcha: CaptchaDiagnostics | null;
|
|
11
|
+
screenshotPath?: string;
|
|
12
|
+
framesDir?: string;
|
|
13
|
+
snapshotPath?: string;
|
|
14
|
+
liveSessionUrl?: string;
|
|
15
|
+
meta?: Record<string, string>;
|
|
16
|
+
}
|
|
17
|
+
export interface CaptchaResolution {
|
|
18
|
+
action: CaptchaAction;
|
|
19
|
+
message?: string;
|
|
20
|
+
handledBy?: 'human' | 'customer_system' | 'unknown';
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
pollMs?: number;
|
|
23
|
+
}
|
|
24
|
+
export type CaptchaHandler = (ctx: CaptchaContext) => CaptchaResolution | Promise<CaptchaResolution>;
|
|
25
|
+
export interface CaptchaOptions {
|
|
26
|
+
policy?: CaptchaPolicy;
|
|
27
|
+
minConfidence?: number;
|
|
28
|
+
timeoutMs?: number;
|
|
29
|
+
pollMs?: number;
|
|
30
|
+
maxRetriesNewSession?: number;
|
|
31
|
+
handler?: CaptchaHandler;
|
|
32
|
+
resetSession?: () => Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
export declare class CaptchaHandlingError extends Error {
|
|
35
|
+
reasonCode: string;
|
|
36
|
+
details?: Record<string, any>;
|
|
37
|
+
constructor(reasonCode: string, message: string, details?: Record<string, any>);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/captcha/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,cAAc,KAChB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAElB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAK/E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CaptchaHandlingError = void 0;
|
|
4
|
+
class CaptchaHandlingError extends Error {
|
|
5
|
+
constructor(reasonCode, message, details) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.reasonCode = reasonCode;
|
|
8
|
+
this.details = details;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.CaptchaHandlingError = CaptchaHandlingError;
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/captcha/types.ts"],"names":[],"mappings":";;;AA0CA,MAAa,oBAAqB,SAAQ,KAAK;IAI7C,YAAY,UAAkB,EAAE,OAAe,EAAE,OAA6B;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AATD,oDASC"}
|