@opensteer/protocol 0.7.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.
@@ -0,0 +1,3144 @@
1
+ import { SessionRef, PageRef, FrameRef, DocumentRef, NodeRef, NetworkRequestId, DownloadRef, DialogRef, ChooserRef, WorkerRef, BodyPayloadEncoding, NetworkRecordKind, HeaderEntry, NetworkResourceType, NetworkInitiator, NetworkTiming, NetworkTransferSizes, NetworkSourceMetadata, NetworkCaptureState, DocumentEpoch, Size, CoordinateSpace, Rect, CookieRecord, DomSnapshot, HtmlSnapshot, StorageSnapshot, StepEvent, Point, ScreenshotFormat, ViewportMetrics, HitTestResult, PageInfo, FrameInfo, NodeLocator, ScreenshotArtifact as ScreenshotArtifact$1, BrowserCoreEngine, Quad, KeyModifier as KeyModifier$1 } from '@opensteer/browser-core';
2
+ export { BodyPayloadEncoding, ChooserOpenedStepEvent as ChooserOpenedEvent, ChooserRef, ConsoleStepEvent as ConsoleEvent, ConsoleLevel, CookiePriority, CookieRecord, CookieSameSite, CoordinateSpace, DevicePixelRatio, DialogOpenedStepEvent as DialogOpenedEvent, DialogRef, DocumentEpoch, DocumentRef, DomSnapshot, DomSnapshotNode, DownloadFinishedStepEvent as DownloadFinishedEvent, DownloadRef, DownloadStartedStepEvent as DownloadStartedEvent, EventStreamMessageStepEvent as EventStreamMessageEvent, FrameInfo, FrameRef, FrozenStepEvent as FrozenEvent, HeaderEntry, HitTestResult, HtmlSnapshot, IndexedDbDatabaseSnapshot, IndexedDbIndexSnapshot, IndexedDbObjectStoreSnapshot, IndexedDbRecord, LayoutViewport, NetworkCaptureState, NetworkInitiator, NetworkInitiatorType, NetworkRecordKind, NetworkRequestId, NetworkResourceType, NetworkSourceMetadata, NetworkTiming, NetworkTransferSizes, NodeLocator, NodeRef, StepEvent as OpensteerEvent, PageClosedStepEvent as PageClosedEvent, PageCreatedStepEvent as PageCreatedEvent, PageErrorStepEvent as PageErrorEvent, PageInfo, PageLifecycleState, PageRef, PageScaleFactor, PageZoomFactor, PausedStepEvent as PausedEvent, Point, PopupOpenedStepEvent as PopupOpenedEvent, Quad, Rect, ResumedStepEvent as ResumedEvent, ScreenshotFormat, ScrollOffset, SessionRef, SessionStorageSnapshot, ShadowDomSnapshotMode, Size, StorageEntry, StorageOriginSnapshot, StorageSnapshot, ViewportMetrics, VisualViewport, WebSocketClosedStepEvent as WebSocketClosedEvent, WebSocketFrameStepEvent as WebSocketFrameEvent, WebSocketOpenedStepEvent as WebSocketOpenedEvent, WorkerCreatedStepEvent as WorkerCreatedEvent, WorkerDestroyedStepEvent as WorkerDestroyedEvent, WorkerRef, createChooserRef, createDialogRef, createDocumentEpoch, createDocumentRef, createDownloadRef, createFrameRef, createHeaderEntry, createNetworkRequestId, createNodeLocator, createNodeRef, createPageRef, createSessionRef, createWorkerRef, findDomSnapshotNode, findDomSnapshotNodeByRef, isChooserRef, isDialogRef, isDocumentRef, isDownloadRef, isFrameRef, isNetworkRequestId, isNodeRef, isPageRef, isSessionRef, isWorkerRef, nextDocumentEpoch, serializeDocumentEpoch, serializeRef } from '@opensteer/browser-core';
3
+
4
+ type JsonPrimitive = boolean | number | string | null;
5
+ type JsonValue = JsonPrimitive | JsonObject | JsonArray;
6
+ interface JsonObject {
7
+ readonly [key: string]: JsonValue;
8
+ }
9
+ type JsonArray = readonly JsonValue[];
10
+ type JsonSchemaType = "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
11
+ interface JsonSchema {
12
+ readonly $id?: string;
13
+ readonly $schema?: string;
14
+ readonly title?: string;
15
+ readonly description?: string;
16
+ readonly type?: JsonSchemaType | readonly JsonSchemaType[];
17
+ readonly enum?: readonly JsonPrimitive[];
18
+ readonly const?: JsonValue;
19
+ readonly format?: string;
20
+ readonly pattern?: string;
21
+ readonly minLength?: number;
22
+ readonly maxLength?: number;
23
+ readonly minimum?: number;
24
+ readonly maximum?: number;
25
+ readonly exclusiveMinimum?: number;
26
+ readonly exclusiveMaximum?: number;
27
+ readonly minItems?: number;
28
+ readonly maxItems?: number;
29
+ readonly uniqueItems?: boolean;
30
+ readonly items?: JsonSchema;
31
+ readonly properties?: Readonly<Record<string, JsonSchema>>;
32
+ readonly required?: readonly string[];
33
+ readonly additionalProperties?: boolean | JsonSchema;
34
+ readonly oneOf?: readonly JsonSchema[];
35
+ readonly anyOf?: readonly JsonSchema[];
36
+ readonly allOf?: readonly JsonSchema[];
37
+ readonly default?: JsonValue;
38
+ readonly examples?: readonly JsonValue[];
39
+ }
40
+ declare const JSON_SCHEMA_DRAFT_2020_12 = "https://json-schema.org/draft/2020-12/schema";
41
+ declare function defineSchema<TSchema extends JsonSchema>(schema: TSchema): TSchema;
42
+ declare function stringSchema(options?: Omit<JsonSchema, "type">): JsonSchema;
43
+ declare function numberSchema(options?: Omit<JsonSchema, "type">): JsonSchema;
44
+ declare function integerSchema(options?: Omit<JsonSchema, "type">): JsonSchema;
45
+ declare function literalSchema(value: JsonValue, options?: Omit<JsonSchema, "const">): JsonSchema;
46
+ declare function enumSchema(values: readonly JsonPrimitive[], options?: Omit<JsonSchema, "enum">): JsonSchema;
47
+ declare function arraySchema(items: JsonSchema, options?: Omit<JsonSchema, "type" | "items">): JsonSchema;
48
+ declare function objectSchema(properties: Readonly<Record<string, JsonSchema>>, options?: Omit<JsonSchema, "type" | "properties"> & {
49
+ readonly required?: readonly string[];
50
+ readonly additionalProperties?: boolean | JsonSchema;
51
+ }): JsonSchema;
52
+ declare function recordSchema(valueSchema: JsonSchema, options?: Omit<JsonSchema, "type" | "additionalProperties">): JsonSchema;
53
+ declare function oneOfSchema(members: readonly JsonSchema[], options?: Omit<JsonSchema, "oneOf">): JsonSchema;
54
+
55
+ interface JsonSchemaValidationIssue {
56
+ readonly path: string;
57
+ readonly message: string;
58
+ }
59
+ declare function validateJsonSchema(schema: JsonSchema, value: unknown, path?: string): readonly JsonSchemaValidationIssue[];
60
+
61
+ declare const OPENSTEER_PROTOCOL_NAME = "opensteer";
62
+ declare const OPENSTEER_PROTOCOL_COMPATIBILITY_REVISION: 2;
63
+ declare const OPENSTEER_PROTOCOL_VERSION: string;
64
+ declare const OPENSTEER_PROTOCOL_REVISION_DATE = "2026-03-13";
65
+ declare const OPENSTEER_PROTOCOL_MEDIA_TYPE: string;
66
+ declare const OPENSTEER_PROTOCOL_REST_BASE_PATH: string;
67
+ type OpensteerProtocolName = typeof OPENSTEER_PROTOCOL_NAME;
68
+ type OpensteerProtocolVersion = typeof OPENSTEER_PROTOCOL_VERSION;
69
+ interface OpensteerProtocolDescriptor {
70
+ readonly protocol: OpensteerProtocolName;
71
+ readonly version: OpensteerProtocolVersion;
72
+ readonly revisionDate: string;
73
+ readonly mediaType: string;
74
+ readonly restBasePath: string;
75
+ }
76
+ declare const opensteerProtocolDescriptor: OpensteerProtocolDescriptor;
77
+ declare const opensteerProtocolDescriptorSchema: JsonSchema;
78
+ declare function isSupportedProtocolVersion(value: string): value is OpensteerProtocolVersion;
79
+ declare function assertSupportedProtocolVersion(value: string): OpensteerProtocolVersion;
80
+
81
+ interface ExternalBinaryLocation {
82
+ readonly delivery: "external";
83
+ readonly uri: string;
84
+ readonly mimeType: string;
85
+ readonly byteLength: number;
86
+ readonly sha256: string;
87
+ }
88
+ declare const externalBinaryLocationSchema: JsonSchema;
89
+
90
+ type OpensteerRef = SessionRef | PageRef | FrameRef | DocumentRef | NodeRef | NetworkRequestId | DownloadRef | DialogRef | ChooserRef | WorkerRef;
91
+ type RefPrefix = "session" | "page" | "frame" | "document" | "node" | "request" | "download" | "dialog" | "chooser" | "worker";
92
+ interface ParsedOpensteerRef {
93
+ readonly kind: RefPrefix;
94
+ readonly value: string;
95
+ }
96
+ declare function isOpensteerRef(value: string): value is OpensteerRef;
97
+ declare function parseOpensteerRef(value: string): ParsedOpensteerRef | null;
98
+ declare const opensteerRefKindSchema: JsonSchema;
99
+ declare const sessionRefSchema: JsonSchema;
100
+ declare const pageRefSchema: JsonSchema;
101
+ declare const frameRefSchema: JsonSchema;
102
+ declare const documentRefSchema: JsonSchema;
103
+ declare const nodeRefSchema: JsonSchema;
104
+ declare const networkRequestIdSchema: JsonSchema;
105
+ declare const downloadRefSchema: JsonSchema;
106
+ declare const dialogRefSchema: JsonSchema;
107
+ declare const chooserRefSchema: JsonSchema;
108
+ declare const workerRefSchema: JsonSchema;
109
+ declare const opensteerRefSchema: JsonSchema;
110
+ declare const documentEpochSchema: JsonSchema;
111
+ declare const nodeLocatorSchema: JsonSchema;
112
+
113
+ declare const pointSchema: JsonSchema;
114
+ declare const sizeSchema: JsonSchema;
115
+ declare const rectSchema: JsonSchema;
116
+ declare const quadSchema: JsonSchema;
117
+ declare const scrollOffsetSchema: JsonSchema;
118
+ declare const coordinateSpaceSchema: JsonSchema;
119
+ declare const layoutViewportSchema: JsonSchema;
120
+ declare const visualViewportSchema: JsonSchema;
121
+ declare const viewportMetricsSchema: JsonSchema;
122
+
123
+ declare const pageLifecycleStateSchema: JsonSchema;
124
+ declare const pageInfoSchema: JsonSchema;
125
+ declare const frameInfoSchema: JsonSchema;
126
+
127
+ interface BodyPayload {
128
+ readonly data: string;
129
+ readonly encoding: BodyPayloadEncoding;
130
+ readonly mimeType?: string;
131
+ readonly charset?: string;
132
+ readonly truncated: boolean;
133
+ readonly capturedByteLength: number;
134
+ readonly originalByteLength?: number;
135
+ }
136
+ interface NetworkRecord {
137
+ readonly kind: NetworkRecordKind;
138
+ readonly requestId: NetworkRequestId;
139
+ readonly sessionRef: SessionRef;
140
+ readonly pageRef?: PageRef;
141
+ readonly frameRef?: FrameRef;
142
+ readonly documentRef?: DocumentRef;
143
+ readonly method: string;
144
+ readonly url: string;
145
+ readonly requestHeaders: readonly HeaderEntry[];
146
+ readonly responseHeaders: readonly HeaderEntry[];
147
+ readonly status?: number;
148
+ readonly statusText?: string;
149
+ readonly resourceType: NetworkResourceType;
150
+ readonly redirectFromRequestId?: NetworkRequestId;
151
+ readonly redirectToRequestId?: NetworkRequestId;
152
+ readonly navigationRequest: boolean;
153
+ readonly initiator?: NetworkInitiator;
154
+ readonly timing?: NetworkTiming;
155
+ readonly transfer?: NetworkTransferSizes;
156
+ readonly source?: NetworkSourceMetadata;
157
+ readonly captureState: NetworkCaptureState;
158
+ readonly requestBodyState: NetworkCaptureState;
159
+ readonly responseBodyState: NetworkCaptureState;
160
+ readonly requestBodySkipReason?: string;
161
+ readonly responseBodySkipReason?: string;
162
+ readonly requestBodyError?: string;
163
+ readonly responseBodyError?: string;
164
+ readonly requestBody?: BodyPayload;
165
+ readonly responseBody?: BodyPayload;
166
+ }
167
+ type NetworkQuerySource = "live" | "saved";
168
+ interface NetworkQueryRecord {
169
+ readonly recordId: string;
170
+ readonly source: NetworkQuerySource;
171
+ readonly actionId?: string;
172
+ readonly tags?: readonly string[];
173
+ readonly savedAt?: number;
174
+ readonly record: NetworkRecord;
175
+ }
176
+ declare function createBodyPayload(data: string, options?: {
177
+ readonly encoding?: BodyPayloadEncoding;
178
+ readonly mimeType?: string;
179
+ readonly charset?: string;
180
+ readonly truncated?: boolean;
181
+ readonly originalByteLength?: number;
182
+ }): BodyPayload;
183
+ declare function bodyPayloadFromUtf8(value: string, options?: {
184
+ readonly mimeType?: string;
185
+ readonly encoding?: BodyPayloadEncoding;
186
+ readonly truncated?: boolean;
187
+ readonly originalByteLength?: number;
188
+ }): BodyPayload;
189
+ declare const headerEntrySchema: JsonSchema;
190
+ declare const bodyPayloadEncodingSchema: JsonSchema;
191
+ declare const bodyPayloadSchema: JsonSchema;
192
+ declare const networkRecordKindSchema: JsonSchema;
193
+ declare const networkCaptureStateSchema: JsonSchema;
194
+ declare const networkResourceTypeSchema: JsonSchema;
195
+ declare const networkInitiatorTypeSchema: JsonSchema;
196
+ declare const networkInitiatorSchema: JsonSchema;
197
+ declare const networkTimingSchema: JsonSchema;
198
+ declare const networkTransferSizesSchema: JsonSchema;
199
+ declare const networkSourceMetadataSchema: JsonSchema;
200
+ declare const networkRecordSchema: JsonSchema;
201
+ declare const networkQuerySourceSchema: JsonSchema;
202
+ declare const networkQueryRecordSchema: JsonSchema;
203
+ declare const orderedHeadersSchema: JsonSchema;
204
+
205
+ type CaptchaType = "recaptcha-v2" | "hcaptcha" | "turnstile";
206
+ type CaptchaProvider = "2captcha" | "capsolver";
207
+ interface CaptchaDetectionResult {
208
+ readonly type: CaptchaType;
209
+ readonly siteKey: string;
210
+ readonly pageUrl: string;
211
+ }
212
+ interface OpensteerCaptchaSolveInput {
213
+ readonly provider: CaptchaProvider;
214
+ readonly apiKey: string;
215
+ readonly pageRef?: PageRef;
216
+ readonly timeoutMs?: number;
217
+ readonly type?: CaptchaType;
218
+ readonly siteKey?: string;
219
+ readonly pageUrl?: string;
220
+ }
221
+ interface OpensteerCaptchaSolveOutput {
222
+ readonly captcha: CaptchaDetectionResult;
223
+ readonly token: string;
224
+ readonly injected: boolean;
225
+ readonly provider: CaptchaProvider;
226
+ }
227
+ declare const captchaTypeSchema: JsonSchema;
228
+ declare const captchaProviderSchema: JsonSchema;
229
+ declare const captchaDetectionResultSchema: JsonSchema;
230
+ declare const opensteerCaptchaSolveInputSchema: JsonSchema;
231
+ declare const opensteerCaptchaSolveOutputSchema: JsonSchema;
232
+
233
+ type OpensteerRequestScalar = string | number | boolean;
234
+ type TransportKind = "direct-http" | "matched-tls" | "context-http" | "page-http" | "session-http";
235
+ interface OpensteerRequestEntry {
236
+ readonly name: string;
237
+ readonly value: string;
238
+ }
239
+ type OpensteerRequestParameterLocation = "path" | "query" | "header";
240
+ interface OpensteerRequestPlanParameter {
241
+ readonly name: string;
242
+ readonly in: OpensteerRequestParameterLocation;
243
+ readonly wireName?: string;
244
+ readonly required?: boolean;
245
+ readonly description?: string;
246
+ readonly defaultValue?: string;
247
+ }
248
+ interface OpensteerRequestPlanTransport {
249
+ readonly kind: TransportKind;
250
+ readonly requiresBrowser?: boolean;
251
+ readonly requireSameOrigin?: boolean;
252
+ readonly cookieJar?: string;
253
+ }
254
+ interface OpensteerRequestPlanEndpoint {
255
+ readonly method: string;
256
+ readonly urlTemplate: string;
257
+ readonly defaultQuery?: readonly OpensteerRequestEntry[];
258
+ readonly defaultHeaders?: readonly OpensteerRequestEntry[];
259
+ }
260
+ type OpensteerRequestPlanBodyKind = "json" | "form" | "text";
261
+ interface OpensteerRequestPlanBody {
262
+ readonly kind?: OpensteerRequestPlanBodyKind;
263
+ readonly contentType?: string;
264
+ readonly required?: boolean;
265
+ readonly description?: string;
266
+ readonly template?: JsonValue | string;
267
+ readonly fields?: readonly OpensteerRequestEntry[];
268
+ }
269
+ interface OpensteerRequestPlanResponseExpectation {
270
+ readonly status: number | readonly number[];
271
+ readonly contentType?: string;
272
+ }
273
+ interface OpensteerRecipeRef {
274
+ readonly key: string;
275
+ readonly version?: string;
276
+ }
277
+ type OpensteerAuthRecipeRef = OpensteerRecipeRef;
278
+ interface OpensteerRequestFailurePolicyHeaderMatch {
279
+ readonly name: string;
280
+ readonly valueIncludes: string;
281
+ }
282
+ interface OpensteerRequestFailurePolicy {
283
+ readonly statusCodes?: readonly number[];
284
+ readonly finalUrlIncludes?: readonly string[];
285
+ readonly responseHeaders?: readonly OpensteerRequestFailurePolicyHeaderMatch[];
286
+ readonly responseBodyIncludes?: readonly string[];
287
+ }
288
+ interface OpensteerRequestRetryBackoffPolicy {
289
+ readonly strategy?: "fixed" | "exponential";
290
+ readonly delayMs: number;
291
+ readonly maxDelayMs?: number;
292
+ }
293
+ interface OpensteerRequestRetryPolicy {
294
+ readonly maxRetries: number;
295
+ readonly backoff?: OpensteerRequestRetryBackoffPolicy;
296
+ readonly respectRetryAfter?: boolean;
297
+ readonly failurePolicy?: OpensteerRequestFailurePolicy;
298
+ }
299
+ type OpensteerRecipeCachePolicy = "none" | "untilFailure";
300
+ interface OpensteerRequestPlanRecipeBinding {
301
+ readonly recipe: OpensteerRecipeRef;
302
+ readonly cachePolicy?: OpensteerRecipeCachePolicy;
303
+ }
304
+ interface OpensteerRequestPlanRecoverBinding extends OpensteerRequestPlanRecipeBinding {
305
+ readonly failurePolicy: OpensteerRequestFailurePolicy;
306
+ }
307
+ interface OpensteerRequestPlanRecipes {
308
+ readonly prepare?: OpensteerRequestPlanRecipeBinding;
309
+ readonly recover?: OpensteerRequestPlanRecoverBinding;
310
+ }
311
+ interface OpensteerRequestPlanAuth {
312
+ readonly strategy: "session-cookie" | "bearer-token" | "api-key" | "custom";
313
+ readonly recipe?: OpensteerRecipeRef;
314
+ readonly failurePolicy?: OpensteerRequestFailurePolicy;
315
+ readonly description?: string;
316
+ }
317
+ interface OpensteerRequestPlanPayload {
318
+ readonly transport: OpensteerRequestPlanTransport;
319
+ readonly endpoint: OpensteerRequestPlanEndpoint;
320
+ readonly parameters?: readonly OpensteerRequestPlanParameter[];
321
+ readonly body?: OpensteerRequestPlanBody;
322
+ readonly response?: OpensteerRequestPlanResponseExpectation;
323
+ readonly recipes?: OpensteerRequestPlanRecipes;
324
+ readonly retryPolicy?: OpensteerRequestRetryPolicy;
325
+ readonly auth?: OpensteerRequestPlanAuth;
326
+ }
327
+ interface OpensteerRegistryProvenance {
328
+ readonly source: string;
329
+ readonly sourceId?: string;
330
+ readonly capturedAt?: number;
331
+ readonly notes?: string;
332
+ }
333
+ type OpensteerRequestPlanLifecycle = "draft" | "active" | "deprecated" | "retired";
334
+ interface OpensteerRequestPlanFreshness {
335
+ readonly lastValidatedAt?: number;
336
+ readonly staleAt?: number;
337
+ readonly expiresAt?: number;
338
+ }
339
+ interface OpensteerRequestPlanRecord {
340
+ readonly id: string;
341
+ readonly key: string;
342
+ readonly version: string;
343
+ readonly createdAt: number;
344
+ readonly updatedAt: number;
345
+ readonly contentHash: string;
346
+ readonly tags: readonly string[];
347
+ readonly provenance?: OpensteerRegistryProvenance;
348
+ readonly lifecycle: OpensteerRequestPlanLifecycle;
349
+ readonly freshness?: OpensteerRequestPlanFreshness;
350
+ readonly payload: OpensteerRequestPlanPayload;
351
+ }
352
+ interface OpensteerRecipeStepHeaderCapture {
353
+ readonly name: string;
354
+ readonly saveAs: string;
355
+ }
356
+ interface OpensteerRecipeStepBodyJsonPointerCapture {
357
+ readonly pointer: string;
358
+ readonly saveAs: string;
359
+ }
360
+ interface OpensteerRecipeStepBodyTextCapture {
361
+ readonly saveAs: string;
362
+ }
363
+ interface OpensteerRecipeStepResponseCapture {
364
+ readonly header?: OpensteerRecipeStepHeaderCapture;
365
+ readonly bodyJsonPointer?: OpensteerRecipeStepBodyJsonPointerCapture;
366
+ readonly bodyText?: OpensteerRecipeStepBodyTextCapture;
367
+ }
368
+ interface OpensteerRecipeRequestStepInput {
369
+ readonly url: string;
370
+ readonly transport?: TransportKind;
371
+ readonly pageRef?: PageRef;
372
+ readonly cookieJar?: string;
373
+ readonly method?: string;
374
+ readonly headers?: Readonly<Record<string, string>>;
375
+ readonly query?: Readonly<Record<string, string>>;
376
+ readonly body?: OpensteerRequestBodyInput;
377
+ readonly followRedirects?: boolean;
378
+ }
379
+ interface OpensteerRecipeGotoStep {
380
+ readonly kind: "goto";
381
+ readonly url: string;
382
+ readonly networkTag?: string;
383
+ }
384
+ interface OpensteerRecipeReloadStep {
385
+ readonly kind: "reload";
386
+ readonly networkTag?: string;
387
+ }
388
+ interface OpensteerRecipeWaitForUrlStep {
389
+ readonly kind: "waitForUrl";
390
+ readonly includes: string;
391
+ readonly timeoutMs?: number;
392
+ }
393
+ interface OpensteerRecipeWaitForNetworkStep {
394
+ readonly kind: "waitForNetwork";
395
+ readonly url?: string;
396
+ readonly hostname?: string;
397
+ readonly path?: string;
398
+ readonly method?: string;
399
+ readonly status?: string;
400
+ readonly includeBodies?: boolean;
401
+ readonly timeoutMs?: number;
402
+ readonly saveAs?: string;
403
+ }
404
+ interface OpensteerRecipeWaitForCookieStep {
405
+ readonly kind: "waitForCookie";
406
+ readonly name: string;
407
+ readonly url?: string;
408
+ readonly timeoutMs?: number;
409
+ readonly saveAs?: string;
410
+ }
411
+ interface OpensteerRecipeWaitForStorageStep {
412
+ readonly kind: "waitForStorage";
413
+ readonly area: "local" | "session";
414
+ readonly origin: string;
415
+ readonly key: string;
416
+ readonly timeoutMs?: number;
417
+ readonly saveAs?: string;
418
+ }
419
+ interface OpensteerRecipeReadCookieStep {
420
+ readonly kind: "readCookie";
421
+ readonly name: string;
422
+ readonly url?: string;
423
+ readonly saveAs: string;
424
+ }
425
+ interface OpensteerRecipeReadStorageStep {
426
+ readonly kind: "readStorage";
427
+ readonly area: "local" | "session";
428
+ readonly origin: string;
429
+ readonly key: string;
430
+ readonly pageUrl?: string;
431
+ readonly saveAs: string;
432
+ }
433
+ interface OpensteerRecipeEvaluateStep {
434
+ readonly kind: "evaluate";
435
+ readonly script: string;
436
+ readonly args?: readonly JsonValue[];
437
+ readonly pageRef?: PageRef;
438
+ readonly saveAs?: string;
439
+ }
440
+ interface OpensteerRecipeSyncCookiesToJarStep {
441
+ readonly kind: "syncCookiesToJar";
442
+ readonly jar: string;
443
+ readonly urls?: readonly string[];
444
+ }
445
+ interface OpensteerRecipeRequestStep {
446
+ readonly kind: "request";
447
+ readonly request: OpensteerRecipeRequestStepInput;
448
+ readonly capture?: OpensteerRecipeStepResponseCapture;
449
+ }
450
+ interface OpensteerAuthRecipeSessionRequestStep {
451
+ readonly kind: "sessionRequest";
452
+ readonly request: OpensteerRecipeRequestStepInput;
453
+ readonly capture?: OpensteerRecipeStepResponseCapture;
454
+ }
455
+ interface OpensteerAuthRecipeDirectRequestStep {
456
+ readonly kind: "directRequest";
457
+ readonly request: OpensteerRecipeRequestStepInput;
458
+ readonly capture?: OpensteerRecipeStepResponseCapture;
459
+ }
460
+ interface OpensteerRecipeSolveCaptchaStep {
461
+ readonly kind: "solveCaptcha";
462
+ readonly provider: CaptchaProvider;
463
+ readonly apiKey: string;
464
+ readonly pageRef?: PageRef;
465
+ readonly timeoutMs?: number;
466
+ readonly type?: CaptchaType;
467
+ readonly siteKey?: string;
468
+ readonly pageUrl?: string;
469
+ readonly saveAs?: string;
470
+ }
471
+ interface OpensteerRecipeHookRef {
472
+ readonly specifier: string;
473
+ readonly export: string;
474
+ }
475
+ type OpensteerAuthRecipeHookRef = OpensteerRecipeHookRef;
476
+ interface OpensteerRecipeHookStep {
477
+ readonly kind: "hook";
478
+ readonly hook: OpensteerRecipeHookRef;
479
+ }
480
+ type OpensteerRecipeStep = OpensteerRecipeGotoStep | OpensteerRecipeReloadStep | OpensteerRecipeWaitForUrlStep | OpensteerRecipeWaitForNetworkStep | OpensteerRecipeWaitForCookieStep | OpensteerRecipeWaitForStorageStep | OpensteerRecipeReadCookieStep | OpensteerRecipeReadStorageStep | OpensteerRecipeEvaluateStep | OpensteerRecipeSyncCookiesToJarStep | OpensteerRecipeRequestStep | OpensteerAuthRecipeSessionRequestStep | OpensteerAuthRecipeDirectRequestStep | OpensteerRecipeSolveCaptchaStep | OpensteerRecipeHookStep;
481
+ type OpensteerAuthRecipeStep = OpensteerRecipeStep;
482
+ interface OpensteerRecipeRetryOverrides {
483
+ readonly params?: Readonly<Record<string, string>>;
484
+ readonly headers?: Readonly<Record<string, string>>;
485
+ readonly query?: Readonly<Record<string, string>>;
486
+ readonly body?: Readonly<Record<string, string>>;
487
+ }
488
+ type OpensteerAuthRecipeRetryOverrides = OpensteerRecipeRetryOverrides;
489
+ interface OpensteerRecipePayload {
490
+ readonly description?: string;
491
+ readonly steps: readonly OpensteerRecipeStep[];
492
+ readonly outputs?: OpensteerRecipeRetryOverrides;
493
+ }
494
+ type OpensteerAuthRecipePayload = OpensteerRecipePayload;
495
+ interface OpensteerRecipeRecord {
496
+ readonly id: string;
497
+ readonly key: string;
498
+ readonly version: string;
499
+ readonly createdAt: number;
500
+ readonly updatedAt: number;
501
+ readonly contentHash: string;
502
+ readonly tags: readonly string[];
503
+ readonly provenance?: OpensteerRegistryProvenance;
504
+ readonly payload: OpensteerRecipePayload;
505
+ }
506
+ type OpensteerAuthRecipeRecord = OpensteerRecipeRecord;
507
+ interface OpensteerNetworkQueryInput {
508
+ readonly source?: "live" | "saved";
509
+ readonly pageRef?: PageRef;
510
+ readonly recordId?: string;
511
+ readonly requestId?: string;
512
+ readonly actionId?: string;
513
+ readonly tag?: string;
514
+ readonly url?: string;
515
+ readonly hostname?: string;
516
+ readonly path?: string;
517
+ readonly method?: string;
518
+ readonly status?: string;
519
+ readonly resourceType?: NetworkResourceType;
520
+ readonly includeBodies?: boolean;
521
+ readonly limit?: number;
522
+ }
523
+ interface OpensteerNetworkQueryOutput {
524
+ readonly records: readonly NetworkQueryRecord[];
525
+ }
526
+ interface OpensteerNetworkSaveInput {
527
+ readonly pageRef?: PageRef;
528
+ readonly recordId?: string;
529
+ readonly requestId?: string;
530
+ readonly actionId?: string;
531
+ readonly tag: string;
532
+ readonly url?: string;
533
+ readonly hostname?: string;
534
+ readonly path?: string;
535
+ readonly method?: string;
536
+ readonly status?: string;
537
+ readonly resourceType?: NetworkResourceType;
538
+ }
539
+ interface OpensteerNetworkSaveOutput {
540
+ readonly savedCount: number;
541
+ }
542
+ interface OpensteerNetworkClearInput {
543
+ readonly tag?: string;
544
+ }
545
+ interface OpensteerNetworkClearOutput {
546
+ readonly clearedCount: number;
547
+ }
548
+ interface OpensteerWriteRequestPlanInput {
549
+ readonly id?: string;
550
+ readonly key: string;
551
+ readonly version: string;
552
+ readonly tags?: readonly string[];
553
+ readonly provenance?: OpensteerRegistryProvenance;
554
+ readonly lifecycle?: OpensteerRequestPlanLifecycle;
555
+ readonly freshness?: OpensteerRequestPlanFreshness;
556
+ readonly payload: OpensteerRequestPlanPayload;
557
+ }
558
+ interface OpensteerGetRequestPlanInput {
559
+ readonly key: string;
560
+ readonly version?: string;
561
+ }
562
+ interface OpensteerListRequestPlansInput {
563
+ readonly key?: string;
564
+ }
565
+ interface OpensteerListRequestPlansOutput {
566
+ readonly plans: readonly OpensteerRequestPlanRecord[];
567
+ }
568
+ interface OpensteerWriteRecipeInput {
569
+ readonly id?: string;
570
+ readonly key: string;
571
+ readonly version: string;
572
+ readonly tags?: readonly string[];
573
+ readonly provenance?: OpensteerRegistryProvenance;
574
+ readonly payload: OpensteerRecipePayload;
575
+ }
576
+ type OpensteerWriteAuthRecipeInput = OpensteerWriteRecipeInput;
577
+ interface OpensteerGetRecipeInput {
578
+ readonly key: string;
579
+ readonly version?: string;
580
+ }
581
+ type OpensteerGetAuthRecipeInput = OpensteerGetRecipeInput;
582
+ interface OpensteerListRecipesInput {
583
+ readonly key?: string;
584
+ }
585
+ type OpensteerListAuthRecipesInput = OpensteerListRecipesInput;
586
+ interface OpensteerListRecipesOutput {
587
+ readonly recipes: readonly OpensteerRecipeRecord[];
588
+ }
589
+ type OpensteerListAuthRecipesOutput = OpensteerListRecipesOutput;
590
+ interface OpensteerRunRecipeInput {
591
+ readonly key: string;
592
+ readonly version?: string;
593
+ readonly variables?: Readonly<Record<string, string>>;
594
+ }
595
+ type OpensteerRunAuthRecipeInput = OpensteerRunRecipeInput;
596
+ interface OpensteerRunRecipeOutput {
597
+ readonly recipe: {
598
+ readonly id: string;
599
+ readonly key: string;
600
+ readonly version: string;
601
+ };
602
+ readonly variables: Readonly<Record<string, string>>;
603
+ readonly overrides?: OpensteerRecipeRetryOverrides;
604
+ }
605
+ type OpensteerRunAuthRecipeOutput = OpensteerRunRecipeOutput;
606
+ type OpensteerRequestScalarMap = Readonly<Record<string, OpensteerRequestScalar>>;
607
+ interface OpensteerJsonRequestBodyInput {
608
+ readonly json: JsonValue;
609
+ readonly contentType?: string;
610
+ }
611
+ interface OpensteerTextRequestBodyInput {
612
+ readonly text: string;
613
+ readonly contentType?: string;
614
+ }
615
+ interface OpensteerBase64RequestBodyInput {
616
+ readonly base64: string;
617
+ readonly contentType?: string;
618
+ }
619
+ type OpensteerRequestBodyInput = OpensteerJsonRequestBodyInput | OpensteerTextRequestBodyInput | OpensteerBase64RequestBodyInput;
620
+ interface OpensteerRequestExecuteInput {
621
+ readonly key: string;
622
+ readonly version?: string;
623
+ readonly pageRef?: PageRef;
624
+ readonly cookieJar?: string;
625
+ readonly params?: OpensteerRequestScalarMap;
626
+ readonly query?: OpensteerRequestScalarMap;
627
+ readonly headers?: OpensteerRequestScalarMap;
628
+ readonly bodyVars?: OpensteerRequestScalarMap;
629
+ readonly body?: OpensteerRequestBodyInput;
630
+ readonly validateResponse?: boolean;
631
+ }
632
+ interface OpensteerRawRequestInput {
633
+ readonly transport?: TransportKind;
634
+ readonly pageRef?: PageRef;
635
+ readonly cookieJar?: string;
636
+ readonly url: string;
637
+ readonly method?: string;
638
+ readonly headers?: readonly HeaderEntry[];
639
+ readonly body?: OpensteerRequestBodyInput;
640
+ readonly followRedirects?: boolean;
641
+ }
642
+ interface OpensteerRequestTransportResult {
643
+ readonly method: string;
644
+ readonly url: string;
645
+ readonly headers: readonly HeaderEntry[];
646
+ readonly body?: BodyPayload;
647
+ }
648
+ interface OpensteerRequestResponseResult {
649
+ readonly url: string;
650
+ readonly status: number;
651
+ readonly statusText: string;
652
+ readonly headers: readonly HeaderEntry[];
653
+ readonly body?: BodyPayload;
654
+ readonly redirected: boolean;
655
+ }
656
+ interface OpensteerRequestExecuteOutput {
657
+ readonly plan: {
658
+ readonly id: string;
659
+ readonly key: string;
660
+ readonly version: string;
661
+ };
662
+ readonly request: OpensteerRequestTransportResult;
663
+ readonly response: OpensteerRequestResponseResult;
664
+ readonly recovery?: {
665
+ readonly attempted: boolean;
666
+ readonly succeeded: boolean;
667
+ readonly matchedFailurePolicy?: boolean;
668
+ readonly recipe?: {
669
+ readonly key: string;
670
+ readonly version: string;
671
+ };
672
+ };
673
+ readonly data?: unknown;
674
+ }
675
+ interface OpensteerRawRequestOutput {
676
+ readonly recordId: string;
677
+ readonly request: OpensteerRequestTransportResult;
678
+ readonly response: OpensteerRequestResponseResult;
679
+ readonly data?: unknown;
680
+ }
681
+ interface OpensteerInferRequestPlanInput {
682
+ readonly recordId: string;
683
+ readonly key: string;
684
+ readonly version: string;
685
+ readonly lifecycle?: OpensteerRequestPlanLifecycle;
686
+ }
687
+ declare const opensteerRequestScalarSchema: JsonSchema;
688
+ declare const opensteerRequestEntrySchema: JsonSchema;
689
+ declare const opensteerRequestPlanParameterLocationSchema: JsonSchema;
690
+ declare const opensteerRequestPlanParameterSchema: JsonSchema;
691
+ declare const opensteerRequestPlanTransportSchema: JsonSchema;
692
+ declare const opensteerRequestPlanEndpointSchema: JsonSchema;
693
+ declare const opensteerRequestPlanBodySchema: JsonSchema;
694
+ declare const transportKindSchema: JsonSchema;
695
+ declare const opensteerRequestPlanResponseExpectationSchema: JsonSchema;
696
+ declare const opensteerRecipeRefSchema: JsonSchema;
697
+ declare const opensteerAuthRecipeRefSchema: JsonSchema;
698
+ declare const opensteerRequestFailurePolicyHeaderMatchSchema: JsonSchema;
699
+ declare const opensteerRequestFailurePolicySchema: JsonSchema;
700
+ declare const opensteerRequestRetryBackoffPolicySchema: JsonSchema;
701
+ declare const opensteerRequestRetryPolicySchema: JsonSchema;
702
+ declare const opensteerRecipeCachePolicySchema: JsonSchema;
703
+ declare const opensteerRequestPlanRecipeBindingSchema: JsonSchema;
704
+ declare const opensteerRequestPlanRecoverBindingSchema: JsonSchema;
705
+ declare const opensteerRequestPlanRecipesSchema: JsonSchema;
706
+ declare const opensteerRequestPlanAuthSchema: JsonSchema;
707
+ declare const opensteerRequestPlanPayloadSchema: JsonSchema;
708
+ declare const opensteerRegistryProvenanceSchema: JsonSchema;
709
+ declare const opensteerRequestPlanLifecycleSchema: JsonSchema;
710
+ declare const opensteerRequestPlanFreshnessSchema: JsonSchema;
711
+ declare const opensteerRequestPlanRecordSchema: JsonSchema;
712
+ declare const opensteerRequestBodyInputSchema: JsonSchema;
713
+ declare const opensteerRecipeHookRefSchema: JsonSchema;
714
+ declare const opensteerAuthRecipeHookRefSchema: JsonSchema;
715
+ declare const opensteerRecipeStepSchema: JsonSchema;
716
+ declare const opensteerAuthRecipeStepSchema: JsonSchema;
717
+ declare const opensteerRecipePayloadSchema: JsonSchema;
718
+ declare const opensteerAuthRecipePayloadSchema: JsonSchema;
719
+ declare const opensteerRecipeRecordSchema: JsonSchema;
720
+ declare const opensteerAuthRecipeRecordSchema: JsonSchema;
721
+ declare const opensteerNetworkQueryInputSchema: JsonSchema;
722
+ declare const opensteerNetworkQueryOutputSchema: JsonSchema;
723
+ declare const opensteerNetworkSaveInputSchema: JsonSchema;
724
+ declare const opensteerNetworkSaveOutputSchema: JsonSchema;
725
+ declare const opensteerNetworkClearInputSchema: JsonSchema;
726
+ declare const opensteerNetworkClearOutputSchema: JsonSchema;
727
+ declare const opensteerWriteRequestPlanInputSchema: JsonSchema;
728
+ declare const opensteerGetRequestPlanInputSchema: JsonSchema;
729
+ declare const opensteerListRequestPlansInputSchema: JsonSchema;
730
+ declare const opensteerListRequestPlansOutputSchema: JsonSchema;
731
+ declare const opensteerWriteRecipeInputSchema: JsonSchema;
732
+ declare const opensteerWriteAuthRecipeInputSchema: JsonSchema;
733
+ declare const opensteerGetRecipeInputSchema: JsonSchema;
734
+ declare const opensteerGetAuthRecipeInputSchema: JsonSchema;
735
+ declare const opensteerListRecipesInputSchema: JsonSchema;
736
+ declare const opensteerListAuthRecipesInputSchema: JsonSchema;
737
+ declare const opensteerListRecipesOutputSchema: JsonSchema;
738
+ declare const opensteerListAuthRecipesOutputSchema: JsonSchema;
739
+ declare const opensteerRunRecipeInputSchema: JsonSchema;
740
+ declare const opensteerRunAuthRecipeInputSchema: JsonSchema;
741
+ declare const opensteerRunRecipeOutputSchema: JsonSchema;
742
+ declare const opensteerRunAuthRecipeOutputSchema: JsonSchema;
743
+ declare const opensteerRequestExecuteInputSchema: JsonSchema;
744
+ declare const opensteerRawRequestInputSchema: JsonSchema;
745
+ declare const opensteerRequestTransportResultSchema: JsonSchema;
746
+ declare const opensteerRequestResponseResultSchema: JsonSchema;
747
+ declare const opensteerRequestExecuteOutputSchema: JsonSchema;
748
+ declare const opensteerRawRequestOutputSchema: JsonSchema;
749
+ declare const opensteerInferRequestPlanInputSchema: JsonSchema;
750
+
751
+ declare const cookieSameSiteSchema: JsonSchema;
752
+ declare const cookiePrioritySchema: JsonSchema;
753
+ declare const cookieRecordSchema: JsonSchema;
754
+ declare const storageEntrySchema: JsonSchema;
755
+ declare const indexedDbRecordSchema: JsonSchema;
756
+ declare const indexedDbIndexSnapshotSchema: JsonSchema;
757
+ declare const indexedDbObjectStoreSnapshotSchema: JsonSchema;
758
+ declare const indexedDbDatabaseSnapshotSchema: JsonSchema;
759
+ declare const storageOriginSnapshotSchema: JsonSchema;
760
+ declare const sessionStorageSnapshotSchema: JsonSchema;
761
+ declare const storageSnapshotSchema: JsonSchema;
762
+
763
+ interface ScreenshotArtifact {
764
+ readonly pageRef: PageRef;
765
+ readonly frameRef?: FrameRef;
766
+ readonly documentRef?: DocumentRef;
767
+ readonly documentEpoch?: DocumentEpoch;
768
+ readonly payload: ExternalBinaryLocation;
769
+ readonly format: "png" | "jpeg" | "webp";
770
+ readonly size: Size;
771
+ readonly coordinateSpace: CoordinateSpace;
772
+ readonly clip?: Rect;
773
+ }
774
+ declare const screenshotFormatSchema: JsonSchema;
775
+ declare const screenshotArtifactSchema: JsonSchema;
776
+ declare const htmlSnapshotSchema: JsonSchema;
777
+ declare const domSnapshotNodeSchema: JsonSchema;
778
+ declare const shadowDomSnapshotModeSchema: JsonSchema;
779
+ declare const domSnapshotSchema: JsonSchema;
780
+ declare const hitTestResultSchema: JsonSchema;
781
+
782
+ declare const opensteerCapabilities: readonly ["sessions.manage", "pages.manage", "pages.navigate", "input.pointer", "input.keyboard", "input.touch", "artifacts.screenshot", "execution.pause", "execution.resume", "execution.freeze", "inspect.pages", "inspect.frames", "inspect.html", "inspect.domSnapshot", "inspect.text", "inspect.attributes", "inspect.hitTest", "inspect.viewportMetrics", "inspect.network", "inspect.networkBodies", "inspect.cookies", "inspect.localStorage", "inspect.sessionStorage", "inspect.indexedDb", "transport.sessionHttp", "instrumentation.initScripts", "instrumentation.routing", "events.pageLifecycle", "events.dialog", "events.download", "events.chooser", "events.worker", "events.console", "events.pageError", "events.websocket", "events.eventStream", "events.executionState", "surface.rest", "surface.mcp"];
783
+ type OpensteerCapability = (typeof opensteerCapabilities)[number];
784
+ interface OpensteerCapabilityDescriptor {
785
+ readonly key: OpensteerCapability;
786
+ readonly description: string;
787
+ readonly stability: "stable" | "experimental";
788
+ }
789
+ declare const opensteerCapabilityDescriptors: readonly OpensteerCapabilityDescriptor[];
790
+ declare const opensteerCapabilitySchema: JsonSchema;
791
+ declare const opensteerCapabilitySetSchema: JsonSchema;
792
+ declare const opensteerCapabilityDescriptorSchema: JsonSchema;
793
+ declare const opensteerCapabilityDescriptorListSchema: JsonSchema;
794
+ declare function hasCapability(capabilities: readonly OpensteerCapability[], capability: OpensteerCapability): boolean;
795
+
796
+ declare const cloudActionMethods: readonly ["goto", "snapshot", "screenshot", "state", "click", "dblclick", "rightclick", "hover", "input", "select", "scroll", "tabs", "newTab", "switchTab", "closeTab", "getCookies", "setCookie", "clearCookies", "pressKey", "type", "getElementText", "getElementValue", "getElementAttributes", "getElementBoundingBox", "getHtml", "getTitle", "uploadFile", "exportCookies", "importCookies", "waitForText", "extract", "extractFromPlan", "clearCache"];
797
+ type CloudActionMethod = (typeof cloudActionMethods)[number];
798
+ declare const cloudErrorCodes: readonly ["CLOUD_AUTH_FAILED", "CLOUD_SESSION_NOT_FOUND", "CLOUD_SESSION_CLOSED", "CLOUD_UNSUPPORTED_METHOD", "CLOUD_INVALID_REQUEST", "CLOUD_MODEL_NOT_ALLOWED", "CLOUD_ACTION_FAILED", "CLOUD_CAPACITY_EXHAUSTED", "CLOUD_RUNTIME_UNAVAILABLE", "CLOUD_RUNTIME_MISMATCH", "CLOUD_SESSION_STALE", "CLOUD_CONTROL_PLANE_ERROR", "CLOUD_CONTRACT_MISMATCH", "CLOUD_PROXY_UNAVAILABLE", "CLOUD_PROXY_REQUIRED", "CLOUD_BILLING_LIMIT_REACHED", "CLOUD_PLAN_RESTRICTED", "CLOUD_RATE_LIMITED", "CLOUD_BROWSER_PROFILE_NOT_FOUND", "CLOUD_BROWSER_PROFILE_BUSY", "CLOUD_BROWSER_PROFILE_DISABLED", "CLOUD_BROWSER_PROFILE_NOT_READY", "CLOUD_BROWSER_PROFILE_PROXY_UNAVAILABLE", "CLOUD_BROWSER_PROFILE_SYNC_FAILED", "CLOUD_INTERNAL"];
799
+ type CloudErrorCode = (typeof cloudErrorCodes)[number];
800
+ declare const cloudSessionStatuses: readonly ["provisioning", "active", "closing", "closed", "failed"];
801
+ type CloudSessionStatus = (typeof cloudSessionStatuses)[number];
802
+ declare const cloudSessionSourceTypes: readonly ["agent-thread", "agent-run", "project-agent-run", "local-cloud", "manual"];
803
+ type CloudSessionSourceType = (typeof cloudSessionSourceTypes)[number];
804
+ type CloudSessionVisibilityScope = "team" | "owner";
805
+ type CloudProxyMode = "disabled" | "optional" | "required";
806
+ type CloudProxyProtocol = "http" | "https" | "socks5";
807
+ type CloudFingerprintMode = "off" | "auto";
808
+ type BrowserProfileStatus = "active" | "archived" | "error";
809
+ type BrowserProfileProxyPolicy = "strict_sticky";
810
+ type BrowserProfileArchiveFormat = "tar.gz";
811
+ type PortableBrowserProfileSnapshotFormat = "portable-cookies-v1+json.gz";
812
+ type PortableBrowserFamily = "chromium";
813
+ type BrowserProfileImportStatus = "awaiting_upload" | "queued" | "processing" | "ready" | "failed";
814
+ interface PortableBrowserProfileSnapshotSource {
815
+ readonly browserFamily: PortableBrowserFamily;
816
+ readonly browserName?: string;
817
+ readonly browserMajor?: string;
818
+ readonly browserBrand?: string;
819
+ readonly captureMethod?: string;
820
+ readonly platform?: string;
821
+ readonly capturedAt: number;
822
+ }
823
+ type PortableBrowserProfileCookieRecord = Omit<CookieRecord, "sessionRef">;
824
+ interface PortableBrowserProfileSnapshot {
825
+ readonly version: "portable-cookies-v1";
826
+ readonly source: PortableBrowserProfileSnapshotSource;
827
+ readonly cookies: readonly PortableBrowserProfileCookieRecord[];
828
+ }
829
+ interface BrowserProfileImportSnapshotSummary {
830
+ readonly source: PortableBrowserProfileSnapshotSource;
831
+ readonly cookieCount: number;
832
+ readonly domainCount: number;
833
+ }
834
+ interface CloudViewport {
835
+ readonly width: number;
836
+ readonly height: number;
837
+ }
838
+ interface CloudGeolocation {
839
+ readonly latitude: number;
840
+ readonly longitude: number;
841
+ readonly accuracy?: number;
842
+ }
843
+ interface CloudBrowserContextConfig {
844
+ readonly viewport?: CloudViewport;
845
+ readonly locale?: string;
846
+ readonly timezoneId?: string;
847
+ readonly geolocation?: CloudGeolocation;
848
+ readonly colorScheme?: "light" | "dark" | "no-preference";
849
+ readonly userAgent?: string;
850
+ readonly javaScriptEnabled?: boolean;
851
+ readonly ignoreHTTPSErrors?: boolean;
852
+ }
853
+ interface CloudBrowserExtensionConfig {
854
+ readonly includeDefaults?: boolean;
855
+ readonly extensionKeys?: readonly string[];
856
+ }
857
+ interface CloudBrowserLaunchConfig {
858
+ readonly headless?: boolean;
859
+ readonly context?: CloudBrowserContextConfig;
860
+ readonly chromeArgs?: readonly string[];
861
+ readonly extensions?: CloudBrowserExtensionConfig;
862
+ }
863
+ interface CloudProxyPreference {
864
+ readonly mode?: CloudProxyMode;
865
+ readonly countryCode?: string;
866
+ readonly region?: string;
867
+ readonly city?: string;
868
+ readonly proxyId?: string;
869
+ }
870
+ interface CloudFingerprintPreference {
871
+ readonly mode?: CloudFingerprintMode;
872
+ readonly locales?: readonly string[];
873
+ readonly minWidth?: number;
874
+ readonly maxWidth?: number;
875
+ readonly minHeight?: number;
876
+ readonly maxHeight?: number;
877
+ readonly slim?: boolean;
878
+ }
879
+ interface CloudBrowserProfilePreference {
880
+ readonly profileId: string;
881
+ readonly reuseIfActive?: boolean;
882
+ }
883
+ type CloudBrowserProfileLaunchPreference = CloudBrowserProfilePreference;
884
+ interface CloudSessionLaunchConfig {
885
+ readonly browser?: CloudBrowserLaunchConfig;
886
+ readonly proxy?: CloudProxyPreference;
887
+ readonly fingerprint?: CloudFingerprintPreference;
888
+ readonly browserProfile?: CloudBrowserProfilePreference;
889
+ }
890
+ interface CloudSessionSummary {
891
+ readonly sessionId: string;
892
+ readonly workspaceId: string;
893
+ readonly state: CloudSessionStatus;
894
+ readonly createdAt: number;
895
+ readonly sourceType: CloudSessionSourceType;
896
+ readonly sourceRef?: string;
897
+ readonly label?: string;
898
+ }
899
+ interface CloudSelectorCacheImportEntry {
900
+ readonly namespace: string;
901
+ readonly siteOrigin: string;
902
+ readonly method: string;
903
+ readonly descriptionHash: string;
904
+ readonly path: unknown;
905
+ readonly schemaHash?: string;
906
+ readonly createdAt: number;
907
+ readonly updatedAt: number;
908
+ }
909
+ interface CloudSelectorCacheImportRequest {
910
+ readonly entries: readonly CloudSelectorCacheImportEntry[];
911
+ }
912
+ interface CloudSelectorCacheImportResponse {
913
+ readonly imported: number;
914
+ readonly inserted: number;
915
+ readonly updated: number;
916
+ readonly skipped: number;
917
+ }
918
+ type ActionFailureCode = "TARGET_NOT_FOUND" | "TARGET_UNAVAILABLE" | "TARGET_STALE" | "TARGET_AMBIGUOUS" | "BLOCKED_BY_INTERCEPTOR" | "NOT_VISIBLE" | "NOT_ENABLED" | "NOT_EDITABLE" | "INVALID_TARGET" | "INVALID_OPTIONS" | "ACTION_TIMEOUT" | "UNKNOWN";
919
+ type ActionFailureClassificationSource = "typed_error" | "playwright_call_log" | "dom_probe" | "message_heuristic" | "unknown";
920
+ interface ActionFailureBlocker {
921
+ readonly tag: string;
922
+ readonly id: string | null;
923
+ readonly classes: readonly string[];
924
+ readonly role: string | null;
925
+ readonly text: string | null;
926
+ }
927
+ interface ActionFailureDetails {
928
+ readonly blocker?: ActionFailureBlocker;
929
+ readonly observation?: string;
930
+ }
931
+ interface ActionFailure {
932
+ readonly code: ActionFailureCode;
933
+ readonly message: string;
934
+ readonly retryable: boolean;
935
+ readonly classificationSource: ActionFailureClassificationSource;
936
+ readonly details?: ActionFailureDetails;
937
+ }
938
+ interface CloudActionRequest {
939
+ readonly id: number;
940
+ readonly method: CloudActionMethod;
941
+ readonly args: Readonly<Record<string, unknown>>;
942
+ readonly sessionId: string;
943
+ readonly token: string;
944
+ }
945
+ interface CloudActionSuccess {
946
+ readonly id: number;
947
+ readonly ok: true;
948
+ readonly result: unknown;
949
+ }
950
+ interface CloudActionFailureDetails {
951
+ readonly actionFailure?: ActionFailure;
952
+ }
953
+ interface CloudActionFailure {
954
+ readonly id: number;
955
+ readonly ok: false;
956
+ readonly error: string;
957
+ readonly code: CloudErrorCode;
958
+ readonly details?: CloudActionFailureDetails;
959
+ }
960
+ type CloudActionResponse = CloudActionSuccess | CloudActionFailure;
961
+ interface BrowserProfileDescriptor {
962
+ readonly profileId: string;
963
+ readonly teamId: string;
964
+ readonly ownerUserId: string;
965
+ readonly name: string;
966
+ readonly status: BrowserProfileStatus;
967
+ readonly proxyPolicy: BrowserProfileProxyPolicy;
968
+ readonly stickyProxyId?: string;
969
+ readonly proxyCountryCode?: string;
970
+ readonly proxyRegion?: string;
971
+ readonly proxyCity?: string;
972
+ readonly fingerprintMode: CloudFingerprintMode;
973
+ readonly fingerprintHash?: string;
974
+ readonly activeSessionId?: string;
975
+ readonly lastSessionId?: string;
976
+ readonly lastLaunchedAt?: number;
977
+ readonly latestRevision?: number;
978
+ readonly latestStorageId?: string;
979
+ readonly latestSizeBytes?: number;
980
+ readonly latestArchiveSha256?: string;
981
+ readonly latestArchiveFormat?: BrowserProfileArchiveFormat;
982
+ readonly createdAt: number;
983
+ readonly updatedAt: number;
984
+ readonly lastError?: string;
985
+ }
986
+ interface BrowserProfileListResponse {
987
+ readonly profiles: readonly BrowserProfileDescriptor[];
988
+ readonly nextCursor?: string;
989
+ }
990
+ interface BrowserProfileCreateRequest {
991
+ readonly name: string;
992
+ readonly proxy?: {
993
+ readonly proxyId?: string;
994
+ readonly countryCode?: string;
995
+ readonly region?: string;
996
+ readonly city?: string;
997
+ };
998
+ readonly fingerprint?: {
999
+ readonly mode?: CloudFingerprintMode;
1000
+ };
1001
+ }
1002
+ interface BrowserProfileImportCreateRequest {
1003
+ readonly profileId: string;
1004
+ }
1005
+ interface BrowserProfileImportCreateResponse {
1006
+ readonly importId: string;
1007
+ readonly profileId: string;
1008
+ readonly status: BrowserProfileImportStatus;
1009
+ readonly uploadUrl: string;
1010
+ readonly uploadMethod: "PUT";
1011
+ readonly uploadFormat: PortableBrowserProfileSnapshotFormat;
1012
+ readonly maxUploadBytes: number;
1013
+ }
1014
+ interface BrowserProfileImportDescriptor {
1015
+ readonly importId: string;
1016
+ readonly profileId: string;
1017
+ readonly status: BrowserProfileImportStatus;
1018
+ readonly uploadFormat: PortableBrowserProfileSnapshotFormat;
1019
+ readonly storageId?: string;
1020
+ readonly revision?: number;
1021
+ readonly error?: string;
1022
+ readonly snapshotSummary?: BrowserProfileImportSnapshotSummary;
1023
+ readonly createdAt: number;
1024
+ readonly updatedAt: number;
1025
+ }
1026
+ declare function isCloudActionMethod(value: unknown): value is CloudActionMethod;
1027
+ declare function isCloudErrorCode(value: unknown): value is CloudErrorCode;
1028
+ declare function isCloudSessionSourceType(value: unknown): value is CloudSessionSourceType;
1029
+ declare function isCloudSessionStatus(value: unknown): value is CloudSessionStatus;
1030
+
1031
+ declare const opensteerErrorCodes: readonly ["invalid-request", "invalid-argument", "invalid-ref", "unsupported-version", "unsupported-operation", "unsupported-capability", "not-found", "stale-node-ref", "session-closed", "page-closed", "frame-detached", "timeout", "navigation-failed", "permission-denied", "conflict", "profile-unavailable", "auth-failure", "auth-recovery-failed", "browser-required", "rate-limited", "operation-failed", "internal"];
1032
+ type OpensteerErrorCode = (typeof opensteerErrorCodes)[number];
1033
+ interface OpensteerError {
1034
+ readonly code: OpensteerErrorCode;
1035
+ readonly message: string;
1036
+ readonly retriable: boolean;
1037
+ readonly capability?: OpensteerCapability;
1038
+ readonly details?: Readonly<Record<string, unknown>>;
1039
+ }
1040
+ interface OpensteerErrorOptions {
1041
+ readonly cause?: unknown;
1042
+ readonly retriable?: boolean;
1043
+ readonly capability?: OpensteerCapability;
1044
+ readonly details?: Readonly<Record<string, unknown>>;
1045
+ }
1046
+ declare class OpensteerProtocolError extends Error {
1047
+ readonly code: OpensteerErrorCode;
1048
+ readonly retriable: boolean;
1049
+ readonly capability: OpensteerCapability | undefined;
1050
+ readonly details: Readonly<Record<string, unknown>> | undefined;
1051
+ constructor(code: OpensteerErrorCode, message: string, options?: OpensteerErrorOptions);
1052
+ }
1053
+ declare function createOpensteerError(code: OpensteerErrorCode, message: string, options?: Omit<OpensteerErrorOptions, "cause">): OpensteerError;
1054
+ declare function unsupportedCapabilityError(capability: OpensteerCapability): OpensteerError;
1055
+ declare function isOpensteerProtocolError(value: unknown): value is OpensteerProtocolError;
1056
+ declare function toOpensteerError(error: Pick<OpensteerProtocolError | OpensteerError, "code" | "message" | "retriable" | "capability" | "details">): OpensteerError;
1057
+ declare function unsupportedVersionError(version: string): OpensteerError;
1058
+ declare const opensteerErrorCodeSchema: JsonSchema;
1059
+ declare const opensteerErrorSchema: JsonSchema;
1060
+ declare function httpStatusForOpensteerError(error: OpensteerError): number;
1061
+
1062
+ declare const opensteerEventSchema: JsonSchema;
1063
+
1064
+ type OpensteerArtifactKind = "screenshot" | "html-snapshot" | "dom-snapshot" | "cookies" | "storage-snapshot" | "script-source";
1065
+ type ArtifactRelation = "result" | "before" | "after" | "capture" | "evidence" | "snapshot";
1066
+ type ArtifactExternalLocation = ExternalBinaryLocation;
1067
+ interface ArtifactProvenance {
1068
+ readonly sourceArtifactId?: string;
1069
+ readonly transform?: string;
1070
+ }
1071
+ interface ScriptSourceArtifactData {
1072
+ readonly source: "inline" | "external" | "dynamic" | "worker";
1073
+ readonly url?: string;
1074
+ readonly type?: string;
1075
+ readonly hash: string;
1076
+ readonly loadOrder: number;
1077
+ readonly content: string;
1078
+ }
1079
+ interface ArtifactInline<TData> {
1080
+ readonly delivery: "inline";
1081
+ readonly data: TData;
1082
+ }
1083
+ interface ArtifactContext {
1084
+ readonly sessionRef?: SessionRef;
1085
+ readonly pageRef?: PageRef;
1086
+ readonly frameRef?: FrameRef;
1087
+ readonly documentRef?: DocumentRef;
1088
+ readonly documentEpoch?: DocumentEpoch;
1089
+ }
1090
+ interface OpensteerArtifactBase extends ArtifactContext {
1091
+ readonly artifactId: string;
1092
+ readonly kind: OpensteerArtifactKind;
1093
+ readonly createdAt: number;
1094
+ readonly provenance?: ArtifactProvenance;
1095
+ }
1096
+ interface ScreenshotArtifactRecord extends OpensteerArtifactBase {
1097
+ readonly kind: "screenshot";
1098
+ readonly payload: ArtifactInline<ScreenshotArtifact> | ArtifactExternalLocation;
1099
+ }
1100
+ interface HtmlSnapshotArtifactRecord extends OpensteerArtifactBase {
1101
+ readonly kind: "html-snapshot";
1102
+ readonly payload: ArtifactInline<HtmlSnapshot> | ArtifactExternalLocation;
1103
+ }
1104
+ interface DomSnapshotArtifactRecord extends OpensteerArtifactBase {
1105
+ readonly kind: "dom-snapshot";
1106
+ readonly payload: ArtifactInline<DomSnapshot> | ArtifactExternalLocation;
1107
+ }
1108
+ interface CookiesArtifactRecord extends OpensteerArtifactBase {
1109
+ readonly kind: "cookies";
1110
+ readonly payload: ArtifactInline<readonly CookieRecord[]> | ArtifactExternalLocation;
1111
+ }
1112
+ interface StorageSnapshotArtifactRecord extends OpensteerArtifactBase {
1113
+ readonly kind: "storage-snapshot";
1114
+ readonly payload: ArtifactInline<StorageSnapshot> | ArtifactExternalLocation;
1115
+ }
1116
+ interface ScriptSourceArtifactRecord extends OpensteerArtifactBase {
1117
+ readonly kind: "script-source";
1118
+ readonly payload: ArtifactInline<ScriptSourceArtifactData> | ArtifactExternalLocation;
1119
+ }
1120
+ type OpensteerArtifact = ScreenshotArtifactRecord | HtmlSnapshotArtifactRecord | DomSnapshotArtifactRecord | CookiesArtifactRecord | StorageSnapshotArtifactRecord | ScriptSourceArtifactRecord;
1121
+ interface ArtifactReference {
1122
+ readonly artifactId: string;
1123
+ readonly kind: OpensteerArtifactKind;
1124
+ readonly relation: ArtifactRelation;
1125
+ }
1126
+ interface OpensteerArtifactReadInput {
1127
+ readonly artifactId: string;
1128
+ }
1129
+ interface OpensteerArtifactReadOutput {
1130
+ readonly artifact: OpensteerArtifact;
1131
+ }
1132
+ declare const scriptSourceArtifactDataSchema: JsonSchema;
1133
+ declare const opensteerArtifactSchema: JsonSchema;
1134
+ declare const artifactReferenceSchema: JsonSchema;
1135
+ declare const opensteerArtifactReadInputSchema: JsonSchema;
1136
+ declare const opensteerArtifactReadOutputSchema: JsonSchema;
1137
+
1138
+ type TraceOutcome = "ok" | "error";
1139
+ interface TraceContext {
1140
+ readonly sessionRef?: SessionRef;
1141
+ readonly pageRef?: PageRef;
1142
+ readonly frameRef?: FrameRef;
1143
+ readonly documentRef?: DocumentRef;
1144
+ readonly documentEpoch?: DocumentEpoch;
1145
+ }
1146
+ interface TraceRecord<TData = unknown> {
1147
+ readonly traceId: string;
1148
+ readonly stepId: string;
1149
+ readonly operation: string;
1150
+ readonly outcome: TraceOutcome;
1151
+ readonly startedAt: number;
1152
+ readonly completedAt: number;
1153
+ readonly durationMs: number;
1154
+ readonly context: TraceContext;
1155
+ readonly events: readonly StepEvent[];
1156
+ readonly artifacts?: readonly ArtifactReference[];
1157
+ readonly data?: TData;
1158
+ readonly error?: OpensteerError;
1159
+ }
1160
+ interface TraceBundle<TData = unknown> {
1161
+ readonly trace: TraceRecord<TData>;
1162
+ readonly artifacts?: readonly OpensteerArtifact[];
1163
+ }
1164
+ declare const traceContextSchema: JsonSchema;
1165
+ declare function traceRecordSchema(dataSchema?: JsonSchema): JsonSchema;
1166
+ declare function traceBundleSchema(dataSchema?: JsonSchema): JsonSchema;
1167
+
1168
+ interface OpensteerRequestEnvelope<TInput> {
1169
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1170
+ readonly version: OpensteerProtocolVersion;
1171
+ readonly requestId: string;
1172
+ readonly operation: string;
1173
+ readonly sentAt: number;
1174
+ readonly input: TInput;
1175
+ }
1176
+ interface OpensteerSuccessEnvelope<TOutput> {
1177
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1178
+ readonly version: OpensteerProtocolVersion;
1179
+ readonly requestId: string;
1180
+ readonly operation: string;
1181
+ readonly status: "ok";
1182
+ readonly receivedAt: number;
1183
+ readonly data: TOutput;
1184
+ readonly trace?: TraceRecord<TOutput>;
1185
+ readonly artifacts?: readonly OpensteerArtifact[];
1186
+ readonly capabilities?: readonly OpensteerCapability[];
1187
+ }
1188
+ interface OpensteerErrorEnvelope {
1189
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1190
+ readonly version: OpensteerProtocolVersion;
1191
+ readonly requestId: string;
1192
+ readonly operation: string;
1193
+ readonly status: "error";
1194
+ readonly receivedAt: number;
1195
+ readonly error: OpensteerError;
1196
+ readonly trace?: TraceRecord<unknown>;
1197
+ readonly artifacts?: readonly OpensteerArtifact[];
1198
+ readonly capabilities?: readonly OpensteerCapability[];
1199
+ }
1200
+ type OpensteerResponseEnvelope<TOutput> = OpensteerSuccessEnvelope<TOutput> | OpensteerErrorEnvelope;
1201
+ declare function createRequestEnvelope<TInput>(operation: string, input: TInput, options: {
1202
+ readonly requestId: string;
1203
+ readonly sentAt?: number;
1204
+ readonly version?: OpensteerProtocolVersion;
1205
+ }): OpensteerRequestEnvelope<TInput>;
1206
+ declare function createSuccessEnvelope<TOutput>(request: Pick<OpensteerRequestEnvelope<unknown>, "requestId" | "operation" | "version">, data: TOutput, options?: {
1207
+ readonly receivedAt?: number;
1208
+ readonly trace?: TraceRecord<TOutput>;
1209
+ readonly artifacts?: readonly OpensteerArtifact[];
1210
+ readonly capabilities?: readonly OpensteerCapability[];
1211
+ }): OpensteerSuccessEnvelope<TOutput>;
1212
+ declare function createErrorEnvelope(request: Pick<OpensteerRequestEnvelope<unknown>, "requestId" | "operation" | "version">, error: OpensteerError, options?: {
1213
+ readonly receivedAt?: number;
1214
+ readonly trace?: TraceRecord<unknown>;
1215
+ readonly artifacts?: readonly OpensteerArtifact[];
1216
+ readonly capabilities?: readonly OpensteerCapability[];
1217
+ }): OpensteerErrorEnvelope;
1218
+ declare function isErrorEnvelope<TOutput>(envelope: OpensteerResponseEnvelope<TOutput>): envelope is OpensteerErrorEnvelope;
1219
+ declare function requestEnvelopeSchema(inputSchema: JsonSchema, operation?: string): JsonSchema;
1220
+ declare function successEnvelopeSchema(dataSchema: JsonSchema, operation?: string): JsonSchema;
1221
+ declare const opensteerErrorEnvelopeSchema: JsonSchema;
1222
+ declare function responseEnvelopeSchema(dataSchema: JsonSchema, operation?: string): JsonSchema;
1223
+
1224
+ type OpensteerSnapshotMode = "action" | "extraction";
1225
+ interface OpensteerBrowserLaunchOptions {
1226
+ readonly headless?: boolean;
1227
+ readonly executablePath?: string;
1228
+ readonly args?: readonly string[];
1229
+ readonly timeoutMs?: number;
1230
+ }
1231
+ interface OpensteerAttachBrowserOptions {
1232
+ readonly mode: "attach";
1233
+ readonly endpoint?: string;
1234
+ readonly headers?: Readonly<Record<string, string>>;
1235
+ readonly freshTab?: boolean;
1236
+ }
1237
+ type OpensteerBrowserMode = "temporary" | "persistent";
1238
+ type OpensteerBrowserOptions = OpensteerBrowserMode | OpensteerAttachBrowserOptions;
1239
+ interface OpensteerBrowserContextOptions {
1240
+ readonly ignoreHTTPSErrors?: boolean;
1241
+ readonly locale?: string;
1242
+ readonly timezoneId?: string;
1243
+ readonly userAgent?: string;
1244
+ readonly viewport?: {
1245
+ readonly width: number;
1246
+ readonly height: number;
1247
+ } | null;
1248
+ readonly javaScriptEnabled?: boolean;
1249
+ readonly bypassCSP?: boolean;
1250
+ readonly reducedMotion?: "reduce" | "no-preference";
1251
+ readonly colorScheme?: "light" | "dark" | "no-preference";
1252
+ readonly stealthProfile?: OpensteerStealthProfileInput;
1253
+ }
1254
+ interface OpensteerStealthProfileInput {
1255
+ readonly id?: string;
1256
+ readonly platform?: "macos" | "windows" | "linux";
1257
+ readonly browserBrand?: "chrome" | "edge";
1258
+ readonly browserVersion?: string;
1259
+ readonly userAgent?: string;
1260
+ readonly viewport?: {
1261
+ readonly width: number;
1262
+ readonly height: number;
1263
+ };
1264
+ readonly screenResolution?: {
1265
+ readonly width: number;
1266
+ readonly height: number;
1267
+ };
1268
+ readonly devicePixelRatio?: number;
1269
+ readonly maxTouchPoints?: number;
1270
+ readonly webglVendor?: string;
1271
+ readonly webglRenderer?: string;
1272
+ readonly fonts?: readonly string[];
1273
+ readonly canvasNoiseSeed?: number;
1274
+ readonly audioNoiseSeed?: number;
1275
+ readonly locale?: string;
1276
+ readonly timezoneId?: string;
1277
+ }
1278
+ interface OpensteerTargetByElement {
1279
+ readonly kind: "element";
1280
+ readonly element: number;
1281
+ }
1282
+ interface OpensteerTargetByDescription {
1283
+ readonly kind: "description";
1284
+ readonly description: string;
1285
+ }
1286
+ interface OpensteerTargetBySelector {
1287
+ readonly kind: "selector";
1288
+ readonly selector: string;
1289
+ }
1290
+ type OpensteerTargetInput = OpensteerTargetByElement | OpensteerTargetByDescription | OpensteerTargetBySelector;
1291
+ interface OpensteerResolvedTarget {
1292
+ readonly pageRef: PageRef;
1293
+ readonly frameRef: FrameRef;
1294
+ readonly documentRef: DocumentRef;
1295
+ readonly documentEpoch: DocumentEpoch;
1296
+ readonly nodeRef: NodeRef;
1297
+ readonly tagName: string;
1298
+ readonly pathHint: string;
1299
+ readonly description?: string;
1300
+ readonly selectorUsed?: string;
1301
+ }
1302
+ interface OpensteerActionResult {
1303
+ readonly target: OpensteerResolvedTarget;
1304
+ readonly point?: {
1305
+ readonly x: number;
1306
+ readonly y: number;
1307
+ };
1308
+ readonly persistedDescription?: string;
1309
+ }
1310
+ interface OpensteerSnapshotCounter {
1311
+ readonly element: number;
1312
+ readonly pageRef: PageRef;
1313
+ readonly frameRef: FrameRef;
1314
+ readonly documentRef: DocumentRef;
1315
+ readonly documentEpoch: DocumentEpoch;
1316
+ readonly nodeRef?: NodeRef;
1317
+ readonly tagName: string;
1318
+ readonly pathHint: string;
1319
+ readonly text?: string;
1320
+ readonly attributes?: readonly {
1321
+ readonly name: string;
1322
+ readonly value: string;
1323
+ }[];
1324
+ readonly iframeDepth: number;
1325
+ readonly shadowDepth: number;
1326
+ readonly interactive: boolean;
1327
+ }
1328
+ interface OpensteerSessionState {
1329
+ readonly sessionRef: SessionRef;
1330
+ readonly pageRef: PageRef;
1331
+ readonly url: string;
1332
+ readonly title: string;
1333
+ }
1334
+ interface OpensteerOpenInput {
1335
+ readonly url?: string;
1336
+ readonly workspace?: string;
1337
+ readonly browser?: OpensteerBrowserOptions;
1338
+ readonly launch?: OpensteerBrowserLaunchOptions;
1339
+ readonly context?: OpensteerBrowserContextOptions;
1340
+ }
1341
+ interface OpensteerOpenOutput extends OpensteerSessionState {
1342
+ }
1343
+ interface OpensteerPageListInput {
1344
+ }
1345
+ interface OpensteerPageListOutput {
1346
+ readonly activePageRef?: PageRef;
1347
+ readonly pages: readonly PageInfo[];
1348
+ }
1349
+ interface OpensteerPageNewInput {
1350
+ readonly url?: string;
1351
+ readonly openerPageRef?: PageRef;
1352
+ }
1353
+ interface OpensteerPageNewOutput extends OpensteerSessionState {
1354
+ }
1355
+ interface OpensteerPageActivateInput {
1356
+ readonly pageRef: PageRef;
1357
+ }
1358
+ interface OpensteerPageActivateOutput extends OpensteerSessionState {
1359
+ }
1360
+ interface OpensteerPageCloseInput {
1361
+ readonly pageRef?: PageRef;
1362
+ }
1363
+ interface OpensteerPageCloseOutput {
1364
+ readonly closedPageRef: PageRef;
1365
+ readonly activePageRef?: PageRef;
1366
+ readonly pages: readonly PageInfo[];
1367
+ }
1368
+ interface OpensteerPageGotoInput {
1369
+ readonly url: string;
1370
+ readonly networkTag?: string;
1371
+ }
1372
+ interface OpensteerPageGotoOutput extends OpensteerSessionState {
1373
+ }
1374
+ interface OpensteerPageEvaluateInput {
1375
+ readonly script: string;
1376
+ readonly args?: readonly JsonValue[];
1377
+ readonly pageRef?: PageRef;
1378
+ }
1379
+ interface OpensteerPageEvaluateOutput {
1380
+ readonly pageRef: PageRef;
1381
+ readonly value: JsonValue;
1382
+ }
1383
+ interface OpensteerAddInitScriptInput {
1384
+ readonly script: string;
1385
+ readonly args?: readonly JsonValue[];
1386
+ readonly pageRef?: PageRef;
1387
+ }
1388
+ interface OpensteerAddInitScriptOutput {
1389
+ readonly registrationId: string;
1390
+ readonly sessionRef: SessionRef;
1391
+ readonly pageRef?: PageRef;
1392
+ }
1393
+ interface OpensteerCaptureScriptsInput {
1394
+ readonly pageRef?: PageRef;
1395
+ readonly includeInline?: boolean;
1396
+ readonly includeExternal?: boolean;
1397
+ readonly includeDynamic?: boolean;
1398
+ readonly includeWorkers?: boolean;
1399
+ readonly urlFilter?: string;
1400
+ readonly persist?: boolean;
1401
+ }
1402
+ interface OpensteerCapturedScript extends ScriptSourceArtifactData {
1403
+ readonly artifactId?: string;
1404
+ }
1405
+ interface OpensteerCaptureScriptsOutput {
1406
+ readonly pageRef: PageRef;
1407
+ readonly scripts: readonly OpensteerCapturedScript[];
1408
+ }
1409
+ interface OpensteerPageSnapshotInput {
1410
+ readonly mode?: OpensteerSnapshotMode;
1411
+ }
1412
+ interface OpensteerPageSnapshotOutput {
1413
+ readonly url: string;
1414
+ readonly title: string;
1415
+ readonly mode: OpensteerSnapshotMode;
1416
+ readonly html: string;
1417
+ readonly counters: readonly OpensteerSnapshotCounter[];
1418
+ }
1419
+ interface OpensteerInspectCookiesInput {
1420
+ readonly urls?: readonly string[];
1421
+ }
1422
+ interface OpensteerInspectStorageInput {
1423
+ readonly includeSessionStorage?: boolean;
1424
+ readonly includeIndexedDb?: boolean;
1425
+ }
1426
+ interface OpensteerDomClickInput {
1427
+ readonly target: OpensteerTargetInput;
1428
+ readonly persistAsDescription?: string;
1429
+ readonly networkTag?: string;
1430
+ }
1431
+ interface OpensteerDomHoverInput {
1432
+ readonly target: OpensteerTargetInput;
1433
+ readonly persistAsDescription?: string;
1434
+ readonly networkTag?: string;
1435
+ }
1436
+ interface OpensteerDomInputInput {
1437
+ readonly target: OpensteerTargetInput;
1438
+ readonly text: string;
1439
+ readonly pressEnter?: boolean;
1440
+ readonly persistAsDescription?: string;
1441
+ readonly networkTag?: string;
1442
+ }
1443
+ interface OpensteerDomScrollInput {
1444
+ readonly target: OpensteerTargetInput;
1445
+ readonly direction: "up" | "down" | "left" | "right";
1446
+ readonly amount: number;
1447
+ readonly persistAsDescription?: string;
1448
+ readonly networkTag?: string;
1449
+ }
1450
+ interface OpensteerDomExtractInput {
1451
+ readonly description: string;
1452
+ readonly schema?: Readonly<Record<string, unknown>>;
1453
+ }
1454
+ interface OpensteerDomExtractOutput {
1455
+ readonly data: JsonValue;
1456
+ }
1457
+ interface OpensteerSessionCloseInput {
1458
+ }
1459
+ interface OpensteerSessionCloseOutput {
1460
+ readonly closed: true;
1461
+ }
1462
+ declare const opensteerComputerAnnotationNames: readonly ["clickable", "typeable", "scrollable", "grid", "selected"];
1463
+ type OpensteerComputerAnnotation = (typeof opensteerComputerAnnotationNames)[number];
1464
+ type OpensteerComputerMouseButton = "left" | "middle" | "right";
1465
+ type OpensteerComputerKeyModifier = "Shift" | "Control" | "Alt" | "Meta";
1466
+ interface OpensteerComputerClickAction {
1467
+ readonly type: "click";
1468
+ readonly x: number;
1469
+ readonly y: number;
1470
+ readonly button?: OpensteerComputerMouseButton;
1471
+ readonly clickCount?: number;
1472
+ readonly modifiers?: readonly OpensteerComputerKeyModifier[];
1473
+ }
1474
+ interface OpensteerComputerMoveAction {
1475
+ readonly type: "move";
1476
+ readonly x: number;
1477
+ readonly y: number;
1478
+ }
1479
+ interface OpensteerComputerScrollAction {
1480
+ readonly type: "scroll";
1481
+ readonly x: number;
1482
+ readonly y: number;
1483
+ readonly deltaX: number;
1484
+ readonly deltaY: number;
1485
+ }
1486
+ interface OpensteerComputerTypeAction {
1487
+ readonly type: "type";
1488
+ readonly text: string;
1489
+ }
1490
+ interface OpensteerComputerKeyAction {
1491
+ readonly type: "key";
1492
+ readonly key: string;
1493
+ readonly modifiers?: readonly OpensteerComputerKeyModifier[];
1494
+ }
1495
+ interface OpensteerComputerDragAction {
1496
+ readonly type: "drag";
1497
+ readonly start: Point;
1498
+ readonly end: Point;
1499
+ readonly steps?: number;
1500
+ }
1501
+ interface OpensteerComputerScreenshotAction {
1502
+ readonly type: "screenshot";
1503
+ }
1504
+ interface OpensteerComputerWaitAction {
1505
+ readonly type: "wait";
1506
+ readonly durationMs: number;
1507
+ }
1508
+ type OpensteerComputerAction = OpensteerComputerClickAction | OpensteerComputerMoveAction | OpensteerComputerScrollAction | OpensteerComputerTypeAction | OpensteerComputerKeyAction | OpensteerComputerDragAction | OpensteerComputerScreenshotAction | OpensteerComputerWaitAction;
1509
+ interface OpensteerComputerScreenshotOptions {
1510
+ readonly format?: ScreenshotFormat;
1511
+ readonly includeCursor?: boolean;
1512
+ readonly disableAnnotations?: readonly OpensteerComputerAnnotation[];
1513
+ }
1514
+ interface OpensteerComputerExecuteInput {
1515
+ readonly action: OpensteerComputerAction;
1516
+ readonly screenshot?: OpensteerComputerScreenshotOptions;
1517
+ readonly networkTag?: string;
1518
+ }
1519
+ interface OpensteerComputerDisplayScale {
1520
+ readonly x: number;
1521
+ readonly y: number;
1522
+ }
1523
+ interface OpensteerComputerTracePoint {
1524
+ readonly role: "point" | "start" | "end";
1525
+ readonly point: Point;
1526
+ readonly hitTest?: HitTestResult;
1527
+ readonly target?: OpensteerResolvedTarget;
1528
+ }
1529
+ interface OpensteerComputerTraceEnrichment {
1530
+ readonly points: readonly OpensteerComputerTracePoint[];
1531
+ }
1532
+ interface OpensteerComputerExecuteTiming {
1533
+ readonly actionMs: number;
1534
+ readonly waitMs: number;
1535
+ readonly totalMs: number;
1536
+ }
1537
+ interface OpensteerComputerExecuteOutput {
1538
+ readonly action: OpensteerComputerAction;
1539
+ readonly pageRef: PageRef;
1540
+ readonly screenshot: ScreenshotArtifact;
1541
+ readonly displayViewport: ViewportMetrics;
1542
+ readonly nativeViewport: ViewportMetrics;
1543
+ readonly displayScale: OpensteerComputerDisplayScale;
1544
+ readonly events: readonly StepEvent[];
1545
+ readonly timing: OpensteerComputerExecuteTiming;
1546
+ readonly trace?: OpensteerComputerTraceEnrichment;
1547
+ }
1548
+ declare const opensteerSemanticOperationNames: readonly ["session.open", "page.list", "page.new", "page.activate", "page.close", "page.goto", "page.evaluate", "page.add-init-script", "page.snapshot", "dom.click", "dom.hover", "dom.input", "dom.scroll", "dom.extract", "network.query", "network.save", "network.clear", "network.minimize", "network.diff", "network.probe", "reverse.discover", "reverse.query", "reverse.package.create", "reverse.package.run", "reverse.export", "reverse.report", "reverse.package.get", "reverse.package.list", "reverse.package.patch", "interaction.capture", "interaction.get", "interaction.diff", "interaction.replay", "artifact.read", "inspect.cookies", "inspect.storage", "scripts.capture", "scripts.beautify", "scripts.deobfuscate", "scripts.sandbox", "captcha.solve", "request.raw", "request-plan.infer", "request-plan.write", "request-plan.get", "request-plan.list", "recipe.write", "recipe.get", "recipe.list", "recipe.run", "auth-recipe.write", "auth-recipe.get", "auth-recipe.list", "auth-recipe.run", "request.execute", "computer.execute", "session.close"];
1549
+ type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
1550
+ interface OpensteerSemanticOperationSpec<TInput = unknown, TOutput = unknown> {
1551
+ readonly name: OpensteerSemanticOperationName;
1552
+ readonly description: string;
1553
+ readonly inputSchema: JsonSchema;
1554
+ readonly outputSchema: JsonSchema;
1555
+ readonly requiredCapabilities: readonly OpensteerCapability[];
1556
+ readonly packageRunnable?: boolean;
1557
+ resolveRequiredCapabilities?(input: TInput): readonly OpensteerCapability[];
1558
+ }
1559
+ interface OpensteerSemanticRestEndpointDescriptor {
1560
+ readonly name: OpensteerSemanticOperationName;
1561
+ readonly method: "POST";
1562
+ readonly path: string;
1563
+ readonly description: string;
1564
+ readonly requestSchema: JsonSchema;
1565
+ readonly responseSchema: JsonSchema;
1566
+ }
1567
+ declare function resolveSemanticRequiredCapabilities<TInput>(spec: Pick<OpensteerSemanticOperationSpec<TInput, unknown>, "requiredCapabilities" | "resolveRequiredCapabilities">, input: TInput): readonly OpensteerCapability[];
1568
+ declare function assertValidSemanticOperationInput(name: OpensteerSemanticOperationName, input: unknown): void;
1569
+ declare const opensteerSemanticOperationSpecifications: readonly OpensteerSemanticOperationSpec[];
1570
+ declare const opensteerSemanticOperationSpecificationMap: Record<OpensteerSemanticOperationName, OpensteerSemanticOperationSpec>;
1571
+ declare const opensteerSemanticRestEndpoints: readonly OpensteerSemanticRestEndpointDescriptor[];
1572
+
1573
+ declare const opensteerSessionGrantKinds: readonly ["automation", "view", "cdp"];
1574
+ type OpensteerSessionGrantKind = (typeof opensteerSessionGrantKinds)[number];
1575
+ type OpensteerProviderKind = "local" | "cloud";
1576
+ type OpensteerSessionOwnership = "owned" | "attached" | "managed";
1577
+ interface OpensteerProviderDescriptor {
1578
+ readonly kind: OpensteerProviderKind;
1579
+ readonly ownership: OpensteerSessionOwnership;
1580
+ readonly engine?: string;
1581
+ readonly baseUrl?: string;
1582
+ readonly region?: string;
1583
+ }
1584
+ interface OpensteerSessionCapabilities {
1585
+ readonly semanticOperations: readonly OpensteerSemanticOperationName[];
1586
+ readonly protocolCapabilities?: readonly OpensteerCapability[];
1587
+ readonly sessionGrants?: readonly OpensteerSessionGrantKind[];
1588
+ readonly instrumentation: {
1589
+ readonly route: boolean;
1590
+ readonly interceptScript: boolean;
1591
+ readonly networkStream: boolean;
1592
+ };
1593
+ }
1594
+ interface OpensteerSessionGrant {
1595
+ readonly kind: OpensteerSessionGrantKind;
1596
+ readonly wsUrl: string;
1597
+ readonly token: string;
1598
+ readonly expiresAt: number;
1599
+ }
1600
+ interface OpensteerSessionAccessGrantResponse {
1601
+ readonly sessionId: string;
1602
+ readonly expiresAt: number;
1603
+ readonly grants: Partial<Record<OpensteerSessionGrantKind, OpensteerSessionGrant>>;
1604
+ }
1605
+ interface OpensteerRuntimeVersionInfo {
1606
+ readonly protocolVersion: OpensteerProtocolVersion;
1607
+ readonly runtimeCoreVersion?: string;
1608
+ readonly packages?: Readonly<Record<string, string>>;
1609
+ }
1610
+ interface OpensteerSessionInfo {
1611
+ readonly provider: OpensteerProviderDescriptor;
1612
+ readonly workspace?: string;
1613
+ readonly sessionId?: string;
1614
+ readonly activePageRef?: PageRef;
1615
+ readonly reconnectable: boolean;
1616
+ readonly capabilities: OpensteerSessionCapabilities;
1617
+ readonly grants?: readonly OpensteerSessionGrant[];
1618
+ readonly runtime?: OpensteerRuntimeVersionInfo;
1619
+ }
1620
+
1621
+ declare const opensteerAutomationOperationNames: readonly ["route.register", "route.unregister", "route.resolve", "session.info", "network.stream.subscribe", "network.stream.unsubscribe"];
1622
+ type OpensteerAutomationOperationName = OpensteerSemanticOperationName | (typeof opensteerAutomationOperationNames)[number];
1623
+ interface OpensteerAutomationHelloMessage {
1624
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1625
+ readonly version: OpensteerProtocolVersion;
1626
+ readonly kind: "hello";
1627
+ readonly sessionId: string;
1628
+ readonly grantKind: OpensteerSessionGrantKind;
1629
+ }
1630
+ interface OpensteerAutomationResumeMessage {
1631
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1632
+ readonly version: OpensteerProtocolVersion;
1633
+ readonly kind: "resume";
1634
+ readonly sessionId: string;
1635
+ }
1636
+ interface OpensteerAutomationInvokeMessage {
1637
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1638
+ readonly version: OpensteerProtocolVersion;
1639
+ readonly kind: "invoke";
1640
+ readonly requestId: string;
1641
+ readonly operation: OpensteerAutomationOperationName;
1642
+ readonly sentAt: number;
1643
+ readonly input?: unknown;
1644
+ }
1645
+ interface OpensteerAutomationCancelMessage {
1646
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1647
+ readonly version: OpensteerProtocolVersion;
1648
+ readonly kind: "cancel";
1649
+ readonly requestId: string;
1650
+ readonly sentAt: number;
1651
+ }
1652
+ interface OpensteerAutomationResultMessage {
1653
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1654
+ readonly version: OpensteerProtocolVersion;
1655
+ readonly kind: "result";
1656
+ readonly requestId: string;
1657
+ readonly operation: OpensteerAutomationOperationName;
1658
+ readonly receivedAt: number;
1659
+ readonly data: unknown;
1660
+ }
1661
+ interface OpensteerAutomationErrorMessage {
1662
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1663
+ readonly version: OpensteerProtocolVersion;
1664
+ readonly kind: "error";
1665
+ readonly requestId?: string;
1666
+ readonly operation?: OpensteerAutomationOperationName;
1667
+ readonly receivedAt: number;
1668
+ readonly error: OpensteerError;
1669
+ }
1670
+ interface OpensteerAutomationEventMessage {
1671
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1672
+ readonly version: OpensteerProtocolVersion;
1673
+ readonly kind: "event";
1674
+ readonly event: string;
1675
+ readonly emittedAt: number;
1676
+ readonly data: unknown;
1677
+ }
1678
+ interface OpensteerAutomationPingMessage {
1679
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1680
+ readonly version: OpensteerProtocolVersion;
1681
+ readonly kind: "ping";
1682
+ readonly sentAt: number;
1683
+ }
1684
+ interface OpensteerAutomationPongMessage {
1685
+ readonly protocol: typeof OPENSTEER_PROTOCOL_NAME;
1686
+ readonly version: OpensteerProtocolVersion;
1687
+ readonly kind: "pong";
1688
+ readonly sentAt: number;
1689
+ }
1690
+ type OpensteerAutomationClientMessage = OpensteerAutomationHelloMessage | OpensteerAutomationResumeMessage | OpensteerAutomationInvokeMessage | OpensteerAutomationCancelMessage | OpensteerAutomationPingMessage;
1691
+ type OpensteerAutomationServerMessage = OpensteerAutomationResultMessage | OpensteerAutomationErrorMessage | OpensteerAutomationEventMessage | OpensteerAutomationPongMessage;
1692
+ interface OpensteerSessionInfoResult {
1693
+ readonly session: OpensteerSessionInfo;
1694
+ }
1695
+
1696
+ type MouseButton = "left" | "middle" | "right";
1697
+ type KeyModifier = "Shift" | "Control" | "Alt" | "Meta";
1698
+ interface SessionTransportRequest {
1699
+ readonly method: string;
1700
+ readonly url: string;
1701
+ readonly headers?: readonly HeaderEntry[];
1702
+ readonly body?: BodyPayload;
1703
+ readonly timeoutMs?: number;
1704
+ readonly followRedirects?: boolean;
1705
+ }
1706
+ interface SessionTransportResponse {
1707
+ readonly url: string;
1708
+ readonly status: number;
1709
+ readonly statusText: string;
1710
+ readonly headers: readonly HeaderEntry[];
1711
+ readonly body?: BodyPayload;
1712
+ readonly redirected: boolean;
1713
+ }
1714
+ interface CreateSessionInput {
1715
+ }
1716
+ interface CreateSessionOutput {
1717
+ readonly sessionRef: SessionRef;
1718
+ }
1719
+ interface CloseSessionInput {
1720
+ readonly sessionRef: SessionRef;
1721
+ }
1722
+ interface CloseSessionOutput {
1723
+ readonly closed: true;
1724
+ readonly sessionRef: SessionRef;
1725
+ }
1726
+ interface CreatePageInput {
1727
+ readonly sessionRef: SessionRef;
1728
+ readonly openerPageRef?: PageRef;
1729
+ readonly url?: string;
1730
+ }
1731
+ interface CreatePageOutput {
1732
+ readonly pageInfo: PageInfo;
1733
+ readonly mainFrame: FrameInfo;
1734
+ }
1735
+ interface ClosePageInput {
1736
+ readonly pageRef: PageRef;
1737
+ }
1738
+ interface ClosePageOutput {
1739
+ readonly closed: true;
1740
+ readonly pageRef: PageRef;
1741
+ }
1742
+ interface ActivatePageInput {
1743
+ readonly pageRef: PageRef;
1744
+ }
1745
+ interface NavigatePageInput {
1746
+ readonly pageRef: PageRef;
1747
+ readonly url: string;
1748
+ readonly referrer?: string;
1749
+ readonly timeoutMs?: number;
1750
+ }
1751
+ interface NavigatePageOutput {
1752
+ readonly pageInfo: PageInfo;
1753
+ readonly mainFrame: FrameInfo;
1754
+ }
1755
+ interface ReloadPageInput {
1756
+ readonly pageRef: PageRef;
1757
+ readonly timeoutMs?: number;
1758
+ }
1759
+ interface HistoryNavigationInput {
1760
+ readonly pageRef: PageRef;
1761
+ }
1762
+ interface HistoryNavigationOutput {
1763
+ readonly navigated: boolean;
1764
+ }
1765
+ interface StopLoadingInput {
1766
+ readonly pageRef: PageRef;
1767
+ }
1768
+ interface StopLoadingOutput {
1769
+ readonly stopped: true;
1770
+ }
1771
+ interface MouseMoveInput {
1772
+ readonly pageRef: PageRef;
1773
+ readonly point: Point;
1774
+ readonly coordinateSpace: CoordinateSpace;
1775
+ }
1776
+ interface MouseMoveOutput {
1777
+ readonly moved: true;
1778
+ }
1779
+ interface MouseClickInput {
1780
+ readonly pageRef: PageRef;
1781
+ readonly point: Point;
1782
+ readonly coordinateSpace: CoordinateSpace;
1783
+ readonly button?: MouseButton;
1784
+ readonly clickCount?: number;
1785
+ readonly modifiers?: readonly KeyModifier[];
1786
+ }
1787
+ interface MouseClickOutput {
1788
+ readonly hitTest?: HitTestResult;
1789
+ }
1790
+ interface MouseScrollInput {
1791
+ readonly pageRef: PageRef;
1792
+ readonly point: Point;
1793
+ readonly coordinateSpace: CoordinateSpace;
1794
+ readonly delta: Point;
1795
+ }
1796
+ interface MouseScrollOutput {
1797
+ readonly scrolled: true;
1798
+ }
1799
+ interface KeyPressInput {
1800
+ readonly pageRef: PageRef;
1801
+ readonly key: string;
1802
+ readonly modifiers?: readonly KeyModifier[];
1803
+ }
1804
+ interface KeyPressOutput {
1805
+ readonly pressed: true;
1806
+ }
1807
+ interface TextInputInput {
1808
+ readonly pageRef: PageRef;
1809
+ readonly text: string;
1810
+ }
1811
+ interface TextInputOutput {
1812
+ readonly typed: true;
1813
+ }
1814
+ interface CaptureScreenshotInput {
1815
+ readonly pageRef: PageRef;
1816
+ readonly format?: ScreenshotFormat;
1817
+ readonly clip?: Rect;
1818
+ readonly clipSpace?: CoordinateSpace;
1819
+ readonly fullPage?: boolean;
1820
+ readonly includeCursor?: boolean;
1821
+ }
1822
+ interface SetExecutionStateInput {
1823
+ readonly pageRef: PageRef;
1824
+ readonly paused?: boolean;
1825
+ readonly frozen?: boolean;
1826
+ }
1827
+ interface SetExecutionStateOutput {
1828
+ readonly paused: boolean;
1829
+ readonly frozen: boolean;
1830
+ }
1831
+ interface ListPagesInput {
1832
+ readonly sessionRef: SessionRef;
1833
+ }
1834
+ interface ListPagesOutput {
1835
+ readonly pages: readonly PageInfo[];
1836
+ }
1837
+ interface ListFramesInput {
1838
+ readonly pageRef: PageRef;
1839
+ }
1840
+ interface ListFramesOutput {
1841
+ readonly frames: readonly FrameInfo[];
1842
+ }
1843
+ interface GetPageInfoInput {
1844
+ readonly pageRef: PageRef;
1845
+ }
1846
+ interface GetFrameInfoInput {
1847
+ readonly frameRef: FrameRef;
1848
+ }
1849
+ type DocumentTargetInput = {
1850
+ readonly frameRef: FrameRef;
1851
+ readonly documentRef?: never;
1852
+ } | {
1853
+ readonly documentRef: DocumentRef;
1854
+ readonly frameRef?: never;
1855
+ };
1856
+ type GetHtmlSnapshotInput = DocumentTargetInput;
1857
+ type GetDomSnapshotInput = DocumentTargetInput;
1858
+ interface ReadTextInput extends NodeLocator {
1859
+ }
1860
+ interface ReadTextOutput {
1861
+ readonly text: string | null;
1862
+ }
1863
+ interface ReadAttributesInput extends NodeLocator {
1864
+ }
1865
+ interface AttributeEntry {
1866
+ readonly name: string;
1867
+ readonly value: string;
1868
+ }
1869
+ interface ReadAttributesOutput {
1870
+ readonly attributes: readonly AttributeEntry[];
1871
+ }
1872
+ interface HitTestInput {
1873
+ readonly pageRef: PageRef;
1874
+ readonly point: Point;
1875
+ readonly coordinateSpace: CoordinateSpace;
1876
+ readonly ignorePointerEventsNone?: boolean;
1877
+ readonly includeUserAgentShadowDom?: boolean;
1878
+ }
1879
+ interface GetViewportMetricsInput {
1880
+ readonly pageRef: PageRef;
1881
+ }
1882
+ interface GetNetworkRecordsInput {
1883
+ readonly sessionRef: SessionRef;
1884
+ readonly pageRef?: PageRef;
1885
+ readonly requestIds?: readonly string[];
1886
+ readonly url?: string;
1887
+ readonly hostname?: string;
1888
+ readonly path?: string;
1889
+ readonly method?: string;
1890
+ readonly status?: string;
1891
+ readonly resourceType?: NetworkResourceType;
1892
+ readonly includeBodies?: boolean;
1893
+ }
1894
+ interface GetNetworkRecordsOutput {
1895
+ readonly records: readonly NetworkRecord[];
1896
+ }
1897
+ interface GetCookiesInput {
1898
+ readonly sessionRef: SessionRef;
1899
+ readonly urls?: readonly string[];
1900
+ }
1901
+ interface GetCookiesOutput {
1902
+ readonly cookies: readonly CookieRecord[];
1903
+ }
1904
+ interface GetStorageSnapshotInput {
1905
+ readonly sessionRef: SessionRef;
1906
+ readonly includeSessionStorage?: boolean;
1907
+ readonly includeIndexedDb?: boolean;
1908
+ }
1909
+ interface ExecuteSessionRequestInput {
1910
+ readonly sessionRef: SessionRef;
1911
+ readonly request: SessionTransportRequest;
1912
+ }
1913
+ declare const opensteerOperationNames: readonly ["session.create", "session.close", "page.create", "page.close", "page.activate", "page.navigate", "page.reload", "page.go-back", "page.go-forward", "page.stop-loading", "input.mouse-move", "input.mouse-click", "input.mouse-scroll", "input.key-press", "input.text-input", "artifact.capture-screenshot", "execution.set-state", "inspect.list-pages", "inspect.list-frames", "inspect.get-page-info", "inspect.get-frame-info", "inspect.get-html-snapshot", "inspect.get-dom-snapshot", "inspect.read-text", "inspect.read-attributes", "inspect.hit-test", "inspect.get-viewport-metrics", "inspect.get-network-records", "inspect.get-cookies", "inspect.get-storage-snapshot", "transport.execute-session-request"];
1914
+ type OpensteerOperationName = (typeof opensteerOperationNames)[number];
1915
+ interface OpensteerOperationSpec<TInput = unknown, TOutput = unknown> {
1916
+ readonly name: OpensteerOperationName;
1917
+ readonly description: string;
1918
+ readonly inputSchema: JsonSchema;
1919
+ readonly outputSchema: JsonSchema;
1920
+ readonly requiredCapabilities: readonly OpensteerCapability[];
1921
+ resolveRequiredCapabilities?(input: TInput): readonly OpensteerCapability[];
1922
+ }
1923
+ declare function resolveRequiredCapabilities<TInput>(spec: Pick<OpensteerOperationSpec<TInput, unknown>, "requiredCapabilities" | "resolveRequiredCapabilities">, input: TInput): readonly OpensteerCapability[];
1924
+ declare const opensteerOperationSpecifications: readonly [OpensteerOperationSpec<CreateSessionInput, CreateSessionOutput>, OpensteerOperationSpec<CloseSessionInput, CloseSessionOutput>, OpensteerOperationSpec<CreatePageInput, CreatePageOutput>, OpensteerOperationSpec<ClosePageInput, ClosePageOutput>, OpensteerOperationSpec<ActivatePageInput, PageInfo>, OpensteerOperationSpec<NavigatePageInput, NavigatePageOutput>, OpensteerOperationSpec<ReloadPageInput, NavigatePageOutput>, OpensteerOperationSpec<HistoryNavigationInput, HistoryNavigationOutput>, OpensteerOperationSpec<HistoryNavigationInput, HistoryNavigationOutput>, OpensteerOperationSpec<StopLoadingInput, StopLoadingOutput>, OpensteerOperationSpec<MouseMoveInput, MouseMoveOutput>, OpensteerOperationSpec<MouseClickInput, MouseClickOutput>, OpensteerOperationSpec<MouseScrollInput, MouseScrollOutput>, OpensteerOperationSpec<KeyPressInput, KeyPressOutput>, OpensteerOperationSpec<TextInputInput, TextInputOutput>, OpensteerOperationSpec<CaptureScreenshotInput, ScreenshotArtifact>, OpensteerOperationSpec<SetExecutionStateInput, SetExecutionStateOutput>, OpensteerOperationSpec<ListPagesInput, ListPagesOutput>, OpensteerOperationSpec<ListFramesInput, ListFramesOutput>, OpensteerOperationSpec<GetPageInfoInput, PageInfo>, OpensteerOperationSpec<GetFrameInfoInput, FrameInfo>, OpensteerOperationSpec<DocumentTargetInput, HtmlSnapshot>, OpensteerOperationSpec<DocumentTargetInput, DomSnapshot>, OpensteerOperationSpec<ReadTextInput, ReadTextOutput>, OpensteerOperationSpec<ReadAttributesInput, ReadAttributesOutput>, OpensteerOperationSpec<HitTestInput, HitTestResult>, OpensteerOperationSpec<GetViewportMetricsInput, ViewportMetrics>, OpensteerOperationSpec<GetNetworkRecordsInput, GetNetworkRecordsOutput>, OpensteerOperationSpec<GetCookiesInput, GetCookiesOutput>, OpensteerOperationSpec<GetStorageSnapshotInput, StorageSnapshot>, OpensteerOperationSpec<ExecuteSessionRequestInput, SessionTransportResponse>];
1925
+ declare const opensteerOperationSpecificationMap: Record<OpensteerOperationName, OpensteerOperationSpec>;
1926
+
1927
+ type OpensteerHttpMethod = "POST";
1928
+ interface OpensteerRestEndpointDescriptor {
1929
+ readonly name: OpensteerOperationName;
1930
+ readonly method: OpensteerHttpMethod;
1931
+ readonly path: string;
1932
+ readonly description: string;
1933
+ readonly mediaType: string;
1934
+ readonly requestSchema: JsonSchema;
1935
+ readonly responseSchema: JsonSchema;
1936
+ }
1937
+ declare const opensteerRestEndpoints: readonly OpensteerRestEndpointDescriptor[];
1938
+
1939
+ interface OpensteerMcpToolAnnotations {
1940
+ readonly readOnlyHint?: boolean;
1941
+ readonly destructiveHint?: boolean;
1942
+ readonly idempotentHint?: boolean;
1943
+ readonly openWorldHint?: boolean;
1944
+ }
1945
+ interface OpensteerMcpToolDescriptor {
1946
+ readonly name: string;
1947
+ readonly title: string;
1948
+ readonly description: string;
1949
+ readonly operation: OpensteerSemanticOperationName;
1950
+ readonly inputSchema: JsonSchema;
1951
+ readonly outputSchema: JsonSchema;
1952
+ readonly annotations?: OpensteerMcpToolAnnotations;
1953
+ }
1954
+ interface OpensteerMcpTextContent {
1955
+ readonly type: "text";
1956
+ readonly text: string;
1957
+ }
1958
+ interface OpensteerMcpImageContent {
1959
+ readonly type: "image";
1960
+ readonly data: string;
1961
+ readonly mimeType: string;
1962
+ }
1963
+ type OpensteerMcpContent = OpensteerMcpTextContent | OpensteerMcpImageContent;
1964
+ interface OpensteerMcpToolResult<TStructured extends JsonObject = JsonObject> {
1965
+ readonly structuredContent: TStructured;
1966
+ readonly content?: readonly OpensteerMcpContent[];
1967
+ readonly isError?: boolean;
1968
+ }
1969
+ declare const opensteerMcpTools: readonly OpensteerMcpToolDescriptor[];
1970
+ declare function createStructuredToolResult<TStructured extends JsonObject>(structuredContent: TStructured, options?: {
1971
+ readonly text?: string;
1972
+ readonly content?: readonly OpensteerMcpContent[];
1973
+ readonly isError?: boolean;
1974
+ }): OpensteerMcpToolResult<TStructured>;
1975
+
1976
+ type NetworkDiffFieldKind = "added" | "removed" | "changed" | "unchanged";
1977
+ interface NetworkDiffEntropy {
1978
+ readonly left?: number;
1979
+ readonly right?: number;
1980
+ readonly likelyEncrypted: boolean;
1981
+ }
1982
+ interface NetworkDiffField {
1983
+ readonly path: string;
1984
+ readonly kind: NetworkDiffFieldKind;
1985
+ readonly leftValue?: string;
1986
+ readonly rightValue?: string;
1987
+ readonly entropy?: NetworkDiffEntropy;
1988
+ }
1989
+ interface OpensteerNetworkDiffInput {
1990
+ readonly leftRecordId: string;
1991
+ readonly rightRecordId: string;
1992
+ readonly includeUnchanged?: boolean;
1993
+ readonly scope?: "headers" | "body" | "all";
1994
+ }
1995
+ interface OpensteerNetworkDiffOutput {
1996
+ readonly summary: {
1997
+ readonly added: number;
1998
+ readonly removed: number;
1999
+ readonly changed: number;
2000
+ readonly unchanged: number;
2001
+ readonly likelyEncryptedFields: number;
2002
+ };
2003
+ readonly requestDiffs: readonly NetworkDiffField[];
2004
+ readonly responseDiffs: readonly NetworkDiffField[];
2005
+ }
2006
+ declare const networkDiffFieldKindSchema: JsonSchema;
2007
+ declare const networkDiffEntropySchema: JsonSchema;
2008
+ declare const networkDiffFieldSchema: JsonSchema;
2009
+ declare const opensteerNetworkDiffInputSchema: JsonSchema;
2010
+ declare const opensteerNetworkDiffOutputSchema: JsonSchema;
2011
+
2012
+ type MinimizationFieldClassification = "required" | "optional" | "untested";
2013
+ interface MinimizationFieldResult {
2014
+ readonly name: string;
2015
+ readonly location: "header" | "cookie" | "query" | "body-field";
2016
+ readonly classification: MinimizationFieldClassification;
2017
+ readonly originalValue?: string;
2018
+ }
2019
+ interface OpensteerNetworkMinimizeSuccessPolicy {
2020
+ readonly statusCodes?: readonly number[];
2021
+ readonly responseBodyIncludes?: readonly string[];
2022
+ readonly responseStructureMatch?: boolean;
2023
+ }
2024
+ interface OpensteerNetworkMinimizeInput {
2025
+ readonly recordId: string;
2026
+ readonly transport?: TransportKind;
2027
+ readonly successPolicy?: OpensteerNetworkMinimizeSuccessPolicy;
2028
+ readonly maxTrials?: number;
2029
+ readonly preserve?: readonly string[];
2030
+ }
2031
+ interface OpensteerNetworkMinimizeOutput {
2032
+ readonly recordId: string;
2033
+ readonly totalTrials: number;
2034
+ readonly fields: readonly MinimizationFieldResult[];
2035
+ readonly minimizedPlan?: OpensteerWriteRequestPlanInput;
2036
+ }
2037
+ declare const minimizationFieldClassificationSchema: JsonSchema;
2038
+ declare const minimizationFieldResultSchema: JsonSchema;
2039
+ declare const opensteerNetworkMinimizeSuccessPolicySchema: JsonSchema;
2040
+ declare const opensteerNetworkMinimizeInputSchema: JsonSchema;
2041
+ declare const opensteerNetworkMinimizeOutputSchema: JsonSchema;
2042
+
2043
+ type TransportProbeLevel = "direct-http" | "matched-tls" | "context-http" | "page-http" | "session-http";
2044
+ interface OpensteerTransportProbeInput {
2045
+ readonly recordId: string;
2046
+ }
2047
+ interface TransportProbeResult {
2048
+ readonly transport: TransportProbeLevel;
2049
+ readonly status: number | null;
2050
+ readonly success: boolean;
2051
+ readonly durationMs: number;
2052
+ readonly error?: string;
2053
+ }
2054
+ interface OpensteerTransportProbeOutput {
2055
+ readonly results: readonly TransportProbeResult[];
2056
+ readonly recommendation: TransportProbeLevel;
2057
+ }
2058
+ declare const transportProbeLevelSchema: JsonSchema;
2059
+ declare const opensteerTransportProbeInputSchema: JsonSchema;
2060
+ declare const transportProbeResultSchema: JsonSchema;
2061
+ declare const opensteerTransportProbeOutputSchema: JsonSchema;
2062
+
2063
+ interface OpensteerScriptBeautifyInput {
2064
+ readonly artifactId?: string;
2065
+ readonly content?: string;
2066
+ readonly persist?: boolean;
2067
+ }
2068
+ interface OpensteerScriptBeautifyOutput {
2069
+ readonly content: string;
2070
+ readonly artifactId?: string;
2071
+ readonly bytesBefore: number;
2072
+ readonly bytesAfter: number;
2073
+ }
2074
+ interface OpensteerScriptDeobfuscateInput {
2075
+ readonly artifactId?: string;
2076
+ readonly content?: string;
2077
+ readonly persist?: boolean;
2078
+ }
2079
+ interface OpensteerScriptDeobfuscateOutput {
2080
+ readonly content: string;
2081
+ readonly artifactId?: string;
2082
+ readonly transforms: readonly string[];
2083
+ readonly bytesBefore: number;
2084
+ readonly bytesAfter: number;
2085
+ }
2086
+ type SandboxFidelity = "minimal" | "standard" | "full";
2087
+ type SandboxAjaxMode = "passthrough" | "capture" | "mock";
2088
+ interface SandboxAjaxRoute {
2089
+ readonly urlPattern: string;
2090
+ readonly mode: SandboxAjaxMode;
2091
+ readonly mockResponse?: {
2092
+ readonly status: number;
2093
+ readonly headers?: Readonly<Record<string, string>>;
2094
+ readonly body?: string;
2095
+ };
2096
+ }
2097
+ interface OpensteerScriptSandboxInput {
2098
+ readonly artifactId?: string;
2099
+ readonly content?: string;
2100
+ readonly fidelity?: SandboxFidelity;
2101
+ readonly ajaxRoutes?: readonly SandboxAjaxRoute[];
2102
+ readonly cookies?: Readonly<Record<string, string>>;
2103
+ readonly globals?: Readonly<Record<string, unknown>>;
2104
+ readonly timeoutMs?: number;
2105
+ readonly clockMode?: "real" | "manual";
2106
+ }
2107
+ interface SandboxCapturedAjaxCall {
2108
+ readonly method: string;
2109
+ readonly url: string;
2110
+ readonly headers: Readonly<Record<string, string>>;
2111
+ readonly body?: string;
2112
+ readonly timestamp: number;
2113
+ }
2114
+ interface OpensteerScriptSandboxOutput {
2115
+ readonly result?: unknown;
2116
+ readonly capturedAjax: readonly SandboxCapturedAjaxCall[];
2117
+ readonly errors: readonly string[];
2118
+ readonly durationMs: number;
2119
+ }
2120
+ declare const opensteerScriptBeautifyInputSchema: JsonSchema;
2121
+ declare const opensteerScriptBeautifyOutputSchema: JsonSchema;
2122
+ declare const opensteerScriptDeobfuscateInputSchema: JsonSchema;
2123
+ declare const opensteerScriptDeobfuscateOutputSchema: JsonSchema;
2124
+ declare const sandboxFidelitySchema: JsonSchema;
2125
+ declare const sandboxAjaxModeSchema: JsonSchema;
2126
+ declare const sandboxAjaxRouteSchema: JsonSchema;
2127
+ declare const opensteerScriptSandboxInputSchema: JsonSchema;
2128
+ declare const sandboxCapturedAjaxCallSchema: JsonSchema;
2129
+ declare const opensteerScriptSandboxOutputSchema: JsonSchema;
2130
+
2131
+ type OpensteerStateSourceKind = "temporary" | "persistent" | "attach";
2132
+ type OpensteerReverseCaseStatus = "capturing" | "analyzing" | "ready" | "attention";
2133
+ type OpensteerReverseChannelKind = "http" | "event-stream" | "websocket";
2134
+ type OpensteerReverseManualCalibrationMode = "allow" | "avoid" | "require";
2135
+ type OpensteerReverseCandidateBoundary = "first-party" | "same-site" | "third-party";
2136
+ type OpensteerReverseAdvisoryTag = "data" | "facet" | "telemetry" | "subscription" | "navigation" | "document" | "route-data" | "search" | "tracking" | "unknown";
2137
+ type OpensteerReverseConstraintKind = "requires-browser" | "requires-cookie" | "requires-storage" | "requires-script" | "requires-guard" | "requires-live-state" | "opaque-body" | "unsupported";
2138
+ type OpensteerRequestInputLocation = "path" | "query" | "header" | "cookie" | "body-field";
2139
+ type OpensteerRequestInputRequiredness = "required" | "optional" | "unknown";
2140
+ type OpensteerRequestInputClassification = "managed" | "static" | "contextual" | "volatile";
2141
+ type OpensteerRequestInputSource = "literal" | "cookie" | "storage" | "prior-response" | "page" | "script" | "guard-output" | "runtime-managed" | "unknown";
2142
+ type OpensteerRequestInputMaterializationPolicy = "copy" | "omit" | "recompute" | "resolve";
2143
+ type OpensteerRequestInputExportPolicy = "portable" | "browser-bound" | "blocked";
2144
+ type OpensteerReverseQueryView = "records" | "clusters" | "candidates";
2145
+ type OpensteerReverseSortKey = "observed-at" | "advisory-rank" | "target-hint-matches" | "response-richness" | "portability" | "boundary" | "success";
2146
+ type OpensteerReverseSortPreset = "advisory-rank" | "observed-at" | "portability" | "first-party" | "hint-match" | "response-richness";
2147
+ type OpensteerReverseSortDirection = "asc" | "desc";
2148
+ type OpensteerObservationClusterRelationshipKind = "seed" | "preflight" | "redirect" | "retry" | "duplicate" | "follow-on";
2149
+ type OpensteerReversePackageKind = "portable-http" | "browser-workflow";
2150
+ type OpensteerReversePackageReadiness = "runnable" | "draft" | "unsupported";
2151
+ type OpensteerReverseReportKind = "discovery" | "package";
2152
+ type OpensteerBodyCodecKind = "json" | "form-urlencoded" | "multipart" | "graphql" | "persisted-graphql" | "text" | "opaque-binary" | "sse" | "websocket-json" | "websocket-text" | "unknown";
2153
+ type OpensteerExecutableResolverKind = "literal" | "cookie" | "storage" | "prior-record" | "binding" | "candidate" | "case" | "state-snapshot" | "artifact" | "manual" | "runtime-managed";
2154
+ type OpensteerValueReferenceKind = "literal" | "resolver" | "binding" | "candidate" | "case" | "record" | "artifact" | "state-snapshot" | "runtime" | "manual";
2155
+ type OpensteerRuntimeValueKey = "pageRef" | "packageId" | "caseId" | "candidateId" | "objective";
2156
+ type OpensteerValidationRuleKind = "status" | "json-structure" | "text-includes" | "stream-first-chunk" | "websocket-open" | "message-count-at-least";
2157
+ type OpensteerReverseWorkflowStepKind = "operation" | "await-record" | "assert";
2158
+ type OpensteerReverseRequirementKind = "resolver" | "guard" | "workflow-step" | "state" | "channel" | "unsupported";
2159
+ type OpensteerReverseRequirementStatus = "required" | "recommended";
2160
+ type OpensteerReverseSuggestedEditKind = "set-resolver" | "attach-trace" | "replace-workflow" | "patch-step-input" | "switch-state-source" | "inspect-evidence" | "mark-unsupported";
2161
+ interface OpensteerValueReference {
2162
+ readonly kind: OpensteerValueReferenceKind;
2163
+ readonly pointer?: string;
2164
+ readonly resolverId?: string;
2165
+ readonly binding?: string;
2166
+ readonly recordId?: string;
2167
+ readonly artifactId?: string;
2168
+ readonly stateSnapshotId?: string;
2169
+ readonly runtimeKey?: OpensteerRuntimeValueKey;
2170
+ readonly value?: JsonValue;
2171
+ readonly placeholder?: string;
2172
+ }
2173
+ interface OpensteerValueReferenceEnvelope {
2174
+ readonly $ref: OpensteerValueReference;
2175
+ }
2176
+ interface OpensteerValueTemplateObject {
2177
+ readonly [key: string]: OpensteerValueTemplate;
2178
+ }
2179
+ type OpensteerValueTemplate = JsonValue | OpensteerValueReferenceEnvelope | OpensteerValueTemplateObject | readonly OpensteerValueTemplate[];
2180
+ interface OpensteerReverseTargetHints {
2181
+ readonly hosts?: readonly string[];
2182
+ readonly paths?: readonly string[];
2183
+ readonly operationNames?: readonly string[];
2184
+ readonly channels?: readonly OpensteerReverseChannelKind[];
2185
+ }
2186
+ interface OpensteerBodyCodecDescriptor {
2187
+ readonly kind: OpensteerBodyCodecKind;
2188
+ readonly contentType?: string;
2189
+ readonly operationName?: string;
2190
+ readonly fieldPaths: readonly string[];
2191
+ }
2192
+ interface OpensteerObservationCluster {
2193
+ readonly id: string;
2194
+ readonly observationId: string;
2195
+ readonly label: string;
2196
+ readonly channel: OpensteerReverseChannelKind;
2197
+ readonly method?: string;
2198
+ readonly url: string;
2199
+ readonly matchedTargetHints: readonly string[];
2200
+ readonly members: readonly OpensteerObservationClusterMember[];
2201
+ }
2202
+ interface OpensteerObservationClusterMember {
2203
+ readonly recordId: string;
2204
+ readonly observedAt?: number;
2205
+ readonly resourceType?: string;
2206
+ readonly status?: number;
2207
+ readonly relation: OpensteerObservationClusterRelationshipKind;
2208
+ readonly relatedRecordId?: string;
2209
+ readonly matchedTargetHints: readonly string[];
2210
+ }
2211
+ interface OpensteerStateSnapshot {
2212
+ readonly id: string;
2213
+ readonly capturedAt: number;
2214
+ readonly pageRef?: PageRef;
2215
+ readonly url?: string;
2216
+ readonly cookies?: readonly {
2217
+ readonly name: string;
2218
+ readonly value: string;
2219
+ readonly domain: string;
2220
+ readonly path: string;
2221
+ readonly secure: boolean;
2222
+ readonly httpOnly: boolean;
2223
+ readonly sameSite?: "strict" | "lax" | "none";
2224
+ readonly priority?: "low" | "medium" | "high";
2225
+ readonly partitionKey?: string;
2226
+ readonly session: boolean;
2227
+ readonly expiresAt?: number | null;
2228
+ }[];
2229
+ readonly storage?: StorageSnapshot;
2230
+ readonly hiddenFields?: readonly {
2231
+ readonly path: string;
2232
+ readonly name: string;
2233
+ readonly value: string;
2234
+ }[];
2235
+ readonly globals?: Readonly<Record<string, unknown>>;
2236
+ }
2237
+ interface OpensteerStateDelta {
2238
+ readonly beforeStateId?: string;
2239
+ readonly afterStateId?: string;
2240
+ readonly cookiesChanged: readonly string[];
2241
+ readonly storageChanged: readonly string[];
2242
+ readonly hiddenFieldsChanged: readonly string[];
2243
+ readonly globalsChanged: readonly string[];
2244
+ }
2245
+ interface OpensteerRequestInputDescriptor {
2246
+ readonly name: string;
2247
+ readonly location: OpensteerRequestInputLocation;
2248
+ readonly path?: string;
2249
+ readonly wireName?: string;
2250
+ readonly requiredness: OpensteerRequestInputRequiredness;
2251
+ readonly classification: OpensteerRequestInputClassification;
2252
+ readonly source: OpensteerRequestInputSource;
2253
+ readonly materializationPolicy: OpensteerRequestInputMaterializationPolicy;
2254
+ readonly exportPolicy: OpensteerRequestInputExportPolicy;
2255
+ readonly originalValue?: string;
2256
+ readonly provenance?: {
2257
+ readonly recordId?: string;
2258
+ readonly observationId?: string;
2259
+ readonly sourcePointer?: string;
2260
+ readonly notes?: string;
2261
+ };
2262
+ readonly unlockedByGuardIds?: readonly string[];
2263
+ }
2264
+ interface OpensteerExecutableResolver {
2265
+ readonly id: string;
2266
+ readonly kind: OpensteerExecutableResolverKind;
2267
+ readonly label: string;
2268
+ readonly status: "ready" | "missing";
2269
+ readonly requiresBrowser: boolean;
2270
+ readonly requiresLiveState: boolean;
2271
+ readonly description?: string;
2272
+ readonly inputNames?: readonly string[];
2273
+ readonly guardId?: string;
2274
+ readonly traceId?: string;
2275
+ readonly valueRef?: OpensteerValueReference;
2276
+ }
2277
+ interface OpensteerReverseAdvisorySignals {
2278
+ readonly advisoryRank: number;
2279
+ readonly observedAt?: number;
2280
+ readonly targetHintMatches: number;
2281
+ readonly responseRichness: number;
2282
+ readonly portabilityWeight: number;
2283
+ readonly boundaryWeight: number;
2284
+ readonly successfulStatus: boolean;
2285
+ readonly fetchLike: boolean;
2286
+ readonly hasResponseBody: boolean;
2287
+ readonly dataPathMatch: boolean;
2288
+ readonly cookieInputCount: number;
2289
+ readonly storageInputCount: number;
2290
+ readonly volatileInputCount: number;
2291
+ readonly guardCount: number;
2292
+ }
2293
+ interface OpensteerValidationRule {
2294
+ readonly id: string;
2295
+ readonly kind: OpensteerValidationRuleKind;
2296
+ readonly label: string;
2297
+ readonly required: boolean;
2298
+ readonly expectedStatus?: number;
2299
+ readonly structureHash?: string;
2300
+ readonly textIncludes?: string;
2301
+ readonly minimumCount?: number;
2302
+ }
2303
+ interface OpensteerReverseOperationWorkflowStep {
2304
+ readonly id: string;
2305
+ readonly kind: "operation";
2306
+ readonly label: string;
2307
+ readonly operation: OpensteerSemanticOperationName | string;
2308
+ readonly input: OpensteerValueTemplate;
2309
+ readonly bindAs?: string;
2310
+ }
2311
+ interface OpensteerReverseAwaitRecordMatch {
2312
+ readonly recordId?: string;
2313
+ readonly host?: string;
2314
+ readonly path?: string;
2315
+ readonly method?: string;
2316
+ readonly channel?: OpensteerReverseChannelKind;
2317
+ readonly status?: number;
2318
+ readonly text?: string;
2319
+ }
2320
+ interface OpensteerReverseAwaitRecordWorkflowStep {
2321
+ readonly id: string;
2322
+ readonly kind: "await-record";
2323
+ readonly label: string;
2324
+ readonly channel: OpensteerChannelDescriptor;
2325
+ readonly recordId?: string;
2326
+ readonly match?: OpensteerReverseAwaitRecordMatch;
2327
+ readonly validationRuleIds?: readonly string[];
2328
+ readonly timeoutMs?: number;
2329
+ readonly bindAs?: string;
2330
+ }
2331
+ interface OpensteerReverseAssertWorkflowStep {
2332
+ readonly id: string;
2333
+ readonly kind: "assert";
2334
+ readonly label: string;
2335
+ readonly validationRuleIds: readonly string[];
2336
+ readonly binding?: string;
2337
+ }
2338
+ type OpensteerReverseWorkflowStep = OpensteerReverseOperationWorkflowStep | OpensteerReverseAwaitRecordWorkflowStep | OpensteerReverseAssertWorkflowStep;
2339
+ interface OpensteerReversePackageRequirements {
2340
+ readonly requiresBrowser: boolean;
2341
+ readonly requiresLiveState: boolean;
2342
+ readonly manualCalibration: "not-needed" | "recommended" | "required";
2343
+ readonly stateSources: readonly OpensteerStateSourceKind[];
2344
+ }
2345
+ interface OpensteerChannelDescriptor {
2346
+ readonly kind: OpensteerReverseChannelKind;
2347
+ readonly recordKind: "http" | "event-stream" | "websocket";
2348
+ readonly method?: string;
2349
+ readonly url: string;
2350
+ readonly subprotocol?: string;
2351
+ }
2352
+ interface OpensteerReverseAdvisoryTemplate {
2353
+ readonly id: string;
2354
+ readonly label: string;
2355
+ readonly channel: OpensteerReverseChannelKind;
2356
+ readonly execution: "transport" | "page-observation";
2357
+ readonly stateSource: OpensteerStateSourceKind;
2358
+ readonly observationId?: string;
2359
+ readonly transport?: TransportKind;
2360
+ readonly guardIds: readonly string[];
2361
+ readonly resolverIds: readonly string[];
2362
+ readonly requiresBrowser: boolean;
2363
+ readonly requiresLiveState: boolean;
2364
+ readonly viability: "ready" | "draft" | "unsupported";
2365
+ readonly notes?: string;
2366
+ }
2367
+ interface OpensteerReverseGuardRecord {
2368
+ readonly id: string;
2369
+ readonly kind: "interaction" | "state" | "script" | "manual";
2370
+ readonly label: string;
2371
+ readonly status: "required" | "satisfied" | "unresolved";
2372
+ readonly interactionTraceId?: string;
2373
+ readonly notes?: string;
2374
+ }
2375
+ interface OpensteerReverseObservationRecord {
2376
+ readonly id: string;
2377
+ readonly capturedAt: number;
2378
+ readonly pageRef?: PageRef;
2379
+ readonly url?: string;
2380
+ readonly stateSource: OpensteerStateSourceKind;
2381
+ readonly networkRecordIds: readonly string[];
2382
+ readonly scriptArtifactIds: readonly string[];
2383
+ readonly interactionTraceIds: readonly string[];
2384
+ readonly stateSnapshotIds: readonly string[];
2385
+ readonly notes?: string;
2386
+ }
2387
+ interface OpensteerReverseCandidateRecord {
2388
+ readonly id: string;
2389
+ readonly observationId: string;
2390
+ readonly clusterId: string;
2391
+ readonly recordId: string;
2392
+ readonly channel: OpensteerChannelDescriptor;
2393
+ readonly bodyCodec: OpensteerBodyCodecDescriptor;
2394
+ readonly boundary: OpensteerReverseCandidateBoundary;
2395
+ readonly summary: string;
2396
+ readonly matchedTargetHints: readonly string[];
2397
+ readonly advisoryTags: readonly OpensteerReverseAdvisoryTag[];
2398
+ readonly constraints: readonly OpensteerReverseConstraintKind[];
2399
+ readonly signals: OpensteerReverseAdvisorySignals;
2400
+ readonly inputs: readonly OpensteerRequestInputDescriptor[];
2401
+ readonly resolvers: readonly OpensteerExecutableResolver[];
2402
+ readonly guardIds: readonly string[];
2403
+ readonly scriptArtifactIds: readonly string[];
2404
+ readonly advisoryTemplates: readonly OpensteerReverseAdvisoryTemplate[];
2405
+ }
2406
+ interface OpensteerReverseReplayValidation {
2407
+ readonly statusMatches?: boolean;
2408
+ readonly structureMatches?: boolean;
2409
+ readonly opened?: boolean;
2410
+ readonly firstChunkObserved?: boolean;
2411
+ readonly firstChunkMatches?: boolean;
2412
+ readonly messageObserved?: boolean;
2413
+ readonly messageCount?: number;
2414
+ }
2415
+ interface OpensteerReverseReplayRunRecord {
2416
+ readonly id: string;
2417
+ readonly createdAt: number;
2418
+ readonly candidateId?: string;
2419
+ readonly templateId?: string;
2420
+ readonly packageId: string;
2421
+ readonly success: boolean;
2422
+ readonly channel?: OpensteerReverseChannelKind;
2423
+ readonly kind: OpensteerReversePackageKind;
2424
+ readonly readiness: OpensteerReversePackageReadiness;
2425
+ readonly transport?: TransportKind;
2426
+ readonly stateSource?: OpensteerStateSourceKind;
2427
+ readonly executedStepIds: readonly string[];
2428
+ readonly failedStepId?: string;
2429
+ readonly bindings?: Readonly<Record<string, JsonValue>>;
2430
+ readonly recordId?: string;
2431
+ readonly status?: number;
2432
+ readonly validation: OpensteerReverseReplayValidation;
2433
+ readonly error?: string;
2434
+ }
2435
+ interface OpensteerReverseExperimentRecord {
2436
+ readonly id: string;
2437
+ readonly createdAt: number;
2438
+ readonly candidateId?: string;
2439
+ readonly templateId?: string;
2440
+ readonly kind: "replay-attempt" | "field-variation";
2441
+ readonly hypothesis: string;
2442
+ readonly success: boolean;
2443
+ readonly status?: number;
2444
+ readonly notes?: string;
2445
+ readonly validation?: OpensteerReverseReplayValidation;
2446
+ }
2447
+ interface OpensteerReverseRequirement {
2448
+ readonly id: string;
2449
+ readonly kind: OpensteerReverseRequirementKind;
2450
+ readonly status: OpensteerReverseRequirementStatus;
2451
+ readonly label: string;
2452
+ readonly description?: string;
2453
+ readonly blocking: boolean;
2454
+ readonly resolverId?: string;
2455
+ readonly guardId?: string;
2456
+ readonly stepId?: string;
2457
+ readonly inputNames?: readonly string[];
2458
+ readonly traceId?: string;
2459
+ readonly artifactId?: string;
2460
+ readonly recordId?: string;
2461
+ }
2462
+ interface OpensteerReverseSuggestedEdit {
2463
+ readonly id: string;
2464
+ readonly kind: OpensteerReverseSuggestedEditKind;
2465
+ readonly label: string;
2466
+ readonly description?: string;
2467
+ readonly resolverId?: string;
2468
+ readonly guardId?: string;
2469
+ readonly stepId?: string;
2470
+ readonly traceId?: string;
2471
+ readonly artifactId?: string;
2472
+ readonly recordId?: string;
2473
+ readonly payload?: JsonValue;
2474
+ }
2475
+ interface OpensteerReverseExportRecord {
2476
+ readonly id: string;
2477
+ readonly createdAt: number;
2478
+ readonly candidateId?: string;
2479
+ readonly templateId?: string;
2480
+ readonly packageId: string;
2481
+ readonly kind: OpensteerReversePackageKind;
2482
+ readonly readiness: OpensteerReversePackageReadiness;
2483
+ readonly requestPlanId?: string;
2484
+ }
2485
+ interface OpensteerReverseCasePayload {
2486
+ readonly objective: string;
2487
+ readonly notes?: string;
2488
+ readonly status: OpensteerReverseCaseStatus;
2489
+ readonly stateSource: OpensteerStateSourceKind;
2490
+ readonly observations: readonly OpensteerReverseObservationRecord[];
2491
+ readonly observationClusters: readonly OpensteerObservationCluster[];
2492
+ readonly observedRecords: readonly OpensteerReverseObservedRecord[];
2493
+ readonly candidates: readonly OpensteerReverseCandidateRecord[];
2494
+ readonly guards: readonly OpensteerReverseGuardRecord[];
2495
+ readonly stateSnapshots: readonly OpensteerStateSnapshot[];
2496
+ readonly stateDeltas: readonly OpensteerStateDelta[];
2497
+ readonly experiments: readonly OpensteerReverseExperimentRecord[];
2498
+ readonly replayRuns: readonly OpensteerReverseReplayRunRecord[];
2499
+ readonly exports: readonly OpensteerReverseExportRecord[];
2500
+ }
2501
+ interface OpensteerReverseCaseRecord {
2502
+ readonly id: string;
2503
+ readonly key: string;
2504
+ readonly version: string;
2505
+ readonly createdAt: number;
2506
+ readonly updatedAt: number;
2507
+ readonly contentHash: string;
2508
+ readonly tags: readonly string[];
2509
+ readonly provenance?: OpensteerRegistryProvenance;
2510
+ readonly payload: OpensteerReverseCasePayload;
2511
+ }
2512
+ interface OpensteerReversePackagePayload {
2513
+ readonly kind: OpensteerReversePackageKind;
2514
+ readonly readiness: OpensteerReversePackageReadiness;
2515
+ readonly caseId: string;
2516
+ readonly objective: string;
2517
+ readonly source: {
2518
+ readonly kind: "record" | "candidate";
2519
+ readonly id: string;
2520
+ };
2521
+ readonly sourceRecordId: string;
2522
+ readonly candidateId?: string;
2523
+ readonly candidate?: OpensteerReverseCandidateRecord;
2524
+ readonly templateId?: string;
2525
+ readonly template?: OpensteerReverseAdvisoryTemplate;
2526
+ readonly channel?: OpensteerChannelDescriptor;
2527
+ readonly stateSource?: OpensteerStateSourceKind;
2528
+ readonly observationId?: string;
2529
+ readonly transport?: TransportKind;
2530
+ readonly guardIds: readonly string[];
2531
+ readonly workflow: readonly OpensteerReverseWorkflowStep[];
2532
+ readonly resolvers: readonly OpensteerExecutableResolver[];
2533
+ readonly validators: readonly OpensteerValidationRule[];
2534
+ readonly stateSnapshots: readonly OpensteerStateSnapshot[];
2535
+ readonly requirements: OpensteerReversePackageRequirements;
2536
+ readonly requestPlanId?: string;
2537
+ readonly unresolvedRequirements: readonly OpensteerReverseRequirement[];
2538
+ readonly suggestedEdits: readonly OpensteerReverseSuggestedEdit[];
2539
+ readonly attachedTraceIds: readonly string[];
2540
+ readonly attachedArtifactIds: readonly string[];
2541
+ readonly attachedRecordIds: readonly string[];
2542
+ readonly notes?: string;
2543
+ readonly parentPackageId?: string;
2544
+ }
2545
+ interface OpensteerReversePackageRecord {
2546
+ readonly id: string;
2547
+ readonly key: string;
2548
+ readonly version: string;
2549
+ readonly createdAt: number;
2550
+ readonly updatedAt: number;
2551
+ readonly contentHash: string;
2552
+ readonly tags: readonly string[];
2553
+ readonly provenance?: OpensteerRegistryProvenance;
2554
+ readonly payload: OpensteerReversePackagePayload;
2555
+ }
2556
+ interface OpensteerReverseCandidateAdvisoryItem {
2557
+ readonly candidateId: string;
2558
+ readonly clusterId: string;
2559
+ readonly advisoryRank: number;
2560
+ readonly bodyCodec: OpensteerBodyCodecDescriptor;
2561
+ readonly summary: string;
2562
+ readonly advisoryTags: readonly OpensteerReverseAdvisoryTag[];
2563
+ readonly constraints: readonly OpensteerReverseConstraintKind[];
2564
+ readonly signals: OpensteerReverseAdvisorySignals;
2565
+ readonly reasons: readonly string[];
2566
+ }
2567
+ interface OpensteerReverseDiscoverySummaryCounts {
2568
+ readonly hosts: Readonly<Record<string, number>>;
2569
+ readonly channels: Readonly<Record<string, number>>;
2570
+ readonly resourceTypes: Readonly<Record<string, number>>;
2571
+ readonly advisoryTags: Readonly<Record<string, number>>;
2572
+ readonly constraints: Readonly<Record<string, number>>;
2573
+ readonly relationKinds: Readonly<Record<string, number>>;
2574
+ }
2575
+ interface OpensteerReverseReportPayload {
2576
+ readonly kind: OpensteerReverseReportKind;
2577
+ readonly caseId: string;
2578
+ readonly objective: string;
2579
+ readonly observations: readonly OpensteerReverseObservationRecord[];
2580
+ readonly observationClusters: readonly OpensteerObservationCluster[];
2581
+ readonly observedRecords: readonly OpensteerReverseObservedRecord[];
2582
+ readonly guards: readonly OpensteerReverseGuardRecord[];
2583
+ readonly stateDeltas: readonly OpensteerStateDelta[];
2584
+ readonly summaryCounts: OpensteerReverseDiscoverySummaryCounts;
2585
+ readonly candidateAdvisories: readonly OpensteerReverseCandidateAdvisoryItem[];
2586
+ readonly query?: OpensteerReverseQuerySnapshot;
2587
+ readonly experiments: readonly OpensteerReverseExperimentRecord[];
2588
+ readonly replayRuns: readonly OpensteerReverseReplayRunRecord[];
2589
+ readonly linkedNetworkRecordIds: readonly string[];
2590
+ readonly linkedInteractionTraceIds: readonly string[];
2591
+ readonly linkedArtifactIds: readonly string[];
2592
+ readonly linkedStateSnapshotIds: readonly string[];
2593
+ readonly packageId?: string;
2594
+ readonly packageKind?: OpensteerReversePackageKind;
2595
+ readonly packageReadiness?: OpensteerReversePackageReadiness;
2596
+ readonly unresolvedRequirements?: readonly OpensteerReverseRequirement[];
2597
+ readonly suggestedEdits?: readonly OpensteerReverseSuggestedEdit[];
2598
+ readonly package?: OpensteerReversePackageRecord;
2599
+ }
2600
+ interface OpensteerReverseReportRecord {
2601
+ readonly id: string;
2602
+ readonly key: string;
2603
+ readonly version: string;
2604
+ readonly createdAt: number;
2605
+ readonly updatedAt: number;
2606
+ readonly contentHash: string;
2607
+ readonly tags: readonly string[];
2608
+ readonly provenance?: OpensteerRegistryProvenance;
2609
+ readonly payload: OpensteerReverseReportPayload;
2610
+ }
2611
+ interface OpensteerReverseObservedRecord {
2612
+ readonly recordId: string;
2613
+ readonly observationId: string;
2614
+ readonly clusterId: string;
2615
+ readonly observedAt?: number;
2616
+ readonly channel: OpensteerChannelDescriptor;
2617
+ readonly bodyCodec: OpensteerBodyCodecDescriptor;
2618
+ readonly resourceType?: string;
2619
+ readonly status?: number;
2620
+ readonly matchedTargetHints: readonly string[];
2621
+ readonly relationKinds: readonly OpensteerObservationClusterRelationshipKind[];
2622
+ }
2623
+ interface OpensteerReverseQueryFilters {
2624
+ readonly recordId?: string;
2625
+ readonly clusterId?: string;
2626
+ readonly candidateId?: string;
2627
+ readonly host?: string;
2628
+ readonly path?: string;
2629
+ readonly method?: string;
2630
+ readonly status?: string;
2631
+ readonly resourceType?: string;
2632
+ readonly channel?: OpensteerReverseChannelKind;
2633
+ readonly boundary?: OpensteerReverseCandidateBoundary;
2634
+ readonly advisoryTag?: OpensteerReverseAdvisoryTag;
2635
+ readonly constraint?: OpensteerReverseConstraintKind;
2636
+ readonly bodyCodec?: OpensteerBodyCodecKind;
2637
+ readonly relationKind?: OpensteerObservationClusterRelationshipKind;
2638
+ readonly hasGuards?: boolean;
2639
+ readonly hasResolvers?: boolean;
2640
+ readonly artifactId?: string;
2641
+ readonly stateSnapshotId?: string;
2642
+ readonly traceId?: string;
2643
+ readonly evidenceRef?: string;
2644
+ readonly text?: string;
2645
+ }
2646
+ interface OpensteerReverseSortTerm {
2647
+ readonly key: OpensteerReverseSortKey;
2648
+ readonly direction?: OpensteerReverseSortDirection;
2649
+ }
2650
+ interface OpensteerReverseQuerySort {
2651
+ readonly preset?: OpensteerReverseSortPreset;
2652
+ readonly keys?: readonly OpensteerReverseSortTerm[];
2653
+ }
2654
+ interface OpensteerReverseQuerySnapshot {
2655
+ readonly view: OpensteerReverseQueryView;
2656
+ readonly filters?: OpensteerReverseQueryFilters;
2657
+ readonly sort: OpensteerReverseQuerySort;
2658
+ readonly limit: number;
2659
+ readonly totalCount: number;
2660
+ readonly nextCursor?: string;
2661
+ readonly resultIds: readonly string[];
2662
+ }
2663
+ interface OpensteerReverseQueryRecordItem {
2664
+ readonly record: OpensteerReverseObservedRecord;
2665
+ readonly candidateIds: readonly string[];
2666
+ }
2667
+ interface OpensteerReverseQueryClusterItem {
2668
+ readonly cluster: OpensteerObservationCluster;
2669
+ readonly candidateIds: readonly string[];
2670
+ }
2671
+ interface OpensteerReverseQueryCandidateItem {
2672
+ readonly candidate: OpensteerReverseCandidateRecord;
2673
+ readonly reasons: readonly string[];
2674
+ }
2675
+ interface OpensteerReverseDiscoverInput {
2676
+ readonly caseId?: string;
2677
+ readonly key?: string;
2678
+ readonly objective?: string;
2679
+ readonly notes?: string;
2680
+ readonly tags?: readonly string[];
2681
+ readonly pageRef?: PageRef;
2682
+ readonly stateSource?: OpensteerStateSourceKind;
2683
+ readonly network?: {
2684
+ readonly url?: string;
2685
+ readonly hostname?: string;
2686
+ readonly path?: string;
2687
+ readonly method?: string;
2688
+ readonly resourceType?: string;
2689
+ readonly includeBodies?: boolean;
2690
+ };
2691
+ readonly includeScripts?: boolean;
2692
+ readonly includeStorage?: boolean;
2693
+ readonly includeSessionStorage?: boolean;
2694
+ readonly includeIndexedDb?: boolean;
2695
+ readonly interactionTraceIds?: readonly string[];
2696
+ readonly targetHints?: OpensteerReverseTargetHints;
2697
+ readonly captureWindowMs?: number;
2698
+ readonly manualCalibration?: OpensteerReverseManualCalibrationMode;
2699
+ }
2700
+ interface OpensteerReverseDiscoverOutput {
2701
+ readonly caseId: string;
2702
+ readonly reportId: string;
2703
+ readonly summary: {
2704
+ readonly observationIds: readonly string[];
2705
+ readonly recordCount: number;
2706
+ readonly clusterCount: number;
2707
+ readonly candidateCount: number;
2708
+ };
2709
+ readonly index: {
2710
+ readonly views: readonly OpensteerReverseQueryView[];
2711
+ readonly sortableKeys: readonly OpensteerReverseSortKey[];
2712
+ readonly channels: readonly OpensteerReverseChannelKind[];
2713
+ readonly hosts: readonly string[];
2714
+ readonly relationKinds: readonly OpensteerObservationClusterRelationshipKind[];
2715
+ };
2716
+ }
2717
+ interface OpensteerReverseQueryInput {
2718
+ readonly caseId: string;
2719
+ readonly view?: OpensteerReverseQueryView;
2720
+ readonly filters?: OpensteerReverseQueryFilters;
2721
+ readonly sort?: OpensteerReverseQuerySort;
2722
+ readonly limit?: number;
2723
+ readonly cursor?: string;
2724
+ }
2725
+ interface OpensteerReverseQueryOutput {
2726
+ readonly caseId: string;
2727
+ readonly view: OpensteerReverseQueryView;
2728
+ readonly query: OpensteerReverseQuerySnapshot;
2729
+ readonly totalCount: number;
2730
+ readonly nextCursor?: string;
2731
+ readonly records?: readonly OpensteerReverseQueryRecordItem[];
2732
+ readonly clusters?: readonly OpensteerReverseQueryClusterItem[];
2733
+ readonly candidates?: readonly OpensteerReverseQueryCandidateItem[];
2734
+ }
2735
+ interface OpensteerReversePackageCreateInput {
2736
+ readonly caseId: string;
2737
+ readonly source: {
2738
+ readonly kind: "record" | "candidate";
2739
+ readonly id: string;
2740
+ };
2741
+ readonly templateId?: string;
2742
+ readonly key?: string;
2743
+ readonly version?: string;
2744
+ readonly notes?: string;
2745
+ }
2746
+ interface OpensteerReversePackageCreateOutput {
2747
+ readonly package: OpensteerReversePackageRecord;
2748
+ readonly report: OpensteerReverseReportRecord;
2749
+ }
2750
+ interface OpensteerReversePackageRunInput {
2751
+ readonly packageId: string;
2752
+ readonly pageRef?: PageRef;
2753
+ }
2754
+ interface OpensteerReversePackageRunOutput {
2755
+ readonly packageId: string;
2756
+ readonly caseId?: string;
2757
+ readonly source: {
2758
+ readonly kind: "record" | "candidate";
2759
+ readonly id: string;
2760
+ };
2761
+ readonly candidateId?: string;
2762
+ readonly templateId?: string;
2763
+ readonly success: boolean;
2764
+ readonly kind: OpensteerReversePackageKind;
2765
+ readonly readiness: OpensteerReversePackageReadiness;
2766
+ readonly channel?: OpensteerReverseChannelKind;
2767
+ readonly transport?: TransportKind;
2768
+ readonly stateSource?: OpensteerStateSourceKind;
2769
+ readonly recordId?: string;
2770
+ readonly status?: number;
2771
+ readonly validation: OpensteerReverseReplayValidation;
2772
+ readonly executedStepIds: readonly string[];
2773
+ readonly failedStepId?: string;
2774
+ readonly bindings: Readonly<Record<string, JsonValue>>;
2775
+ readonly replayRunId?: string;
2776
+ readonly unresolvedRequirements: readonly OpensteerReverseRequirement[];
2777
+ readonly suggestedEdits: readonly OpensteerReverseSuggestedEdit[];
2778
+ readonly error?: string;
2779
+ }
2780
+ interface OpensteerReverseExportInput {
2781
+ readonly packageId: string;
2782
+ readonly key?: string;
2783
+ readonly version?: string;
2784
+ }
2785
+ interface OpensteerReverseExportOutput {
2786
+ readonly package: OpensteerReversePackageRecord;
2787
+ readonly requestPlan?: OpensteerRequestPlanRecord;
2788
+ }
2789
+ interface OpensteerReverseReportInput {
2790
+ readonly caseId?: string;
2791
+ readonly packageId?: string;
2792
+ readonly reportId?: string;
2793
+ readonly kind?: OpensteerReverseReportKind;
2794
+ }
2795
+ interface OpensteerReverseReportOutput {
2796
+ readonly report: OpensteerReverseReportRecord;
2797
+ }
2798
+ interface OpensteerReversePackageGetInput {
2799
+ readonly packageId: string;
2800
+ }
2801
+ interface OpensteerReversePackageGetOutput {
2802
+ readonly package: OpensteerReversePackageRecord;
2803
+ }
2804
+ interface OpensteerReversePackageListInput {
2805
+ readonly caseId?: string;
2806
+ readonly key?: string;
2807
+ readonly kind?: OpensteerReversePackageKind;
2808
+ readonly readiness?: OpensteerReversePackageReadiness;
2809
+ }
2810
+ interface OpensteerReversePackageListOutput {
2811
+ readonly packages: readonly OpensteerReversePackageRecord[];
2812
+ }
2813
+ interface OpensteerReversePackagePatchInput {
2814
+ readonly packageId: string;
2815
+ readonly key?: string;
2816
+ readonly version?: string;
2817
+ readonly notes?: string;
2818
+ readonly workflow?: readonly OpensteerReverseWorkflowStep[];
2819
+ readonly resolvers?: readonly OpensteerExecutableResolver[];
2820
+ readonly validators?: readonly OpensteerValidationRule[];
2821
+ readonly attachedTraceIds?: readonly string[];
2822
+ readonly attachedArtifactIds?: readonly string[];
2823
+ readonly attachedRecordIds?: readonly string[];
2824
+ readonly stateSnapshotIds?: readonly string[];
2825
+ }
2826
+ interface OpensteerReversePackagePatchOutput {
2827
+ readonly package: OpensteerReversePackageRecord;
2828
+ readonly report: OpensteerReverseReportRecord;
2829
+ }
2830
+ declare const opensteerStateSourceKindSchema: JsonSchema;
2831
+ declare const opensteerReverseCaseStatusSchema: JsonSchema;
2832
+ declare const opensteerReverseChannelKindSchema: JsonSchema;
2833
+ declare const opensteerReverseManualCalibrationModeSchema: JsonSchema;
2834
+ declare const opensteerReverseCandidateBoundarySchema: JsonSchema;
2835
+ declare const opensteerReverseAdvisoryTagSchema: JsonSchema;
2836
+ declare const opensteerReverseConstraintKindSchema: JsonSchema;
2837
+ declare const opensteerRequestInputLocationSchema: JsonSchema;
2838
+ declare const opensteerRequestInputRequirednessSchema: JsonSchema;
2839
+ declare const opensteerRequestInputClassificationSchema: JsonSchema;
2840
+ declare const opensteerRequestInputSourceSchema: JsonSchema;
2841
+ declare const opensteerRequestInputMaterializationPolicySchema: JsonSchema;
2842
+ declare const opensteerRequestInputExportPolicySchema: JsonSchema;
2843
+ declare const opensteerReverseQueryViewSchema: JsonSchema;
2844
+ declare const opensteerReverseSortKeySchema: JsonSchema;
2845
+ declare const opensteerReverseSortPresetSchema: JsonSchema;
2846
+ declare const opensteerReverseSortDirectionSchema: JsonSchema;
2847
+ declare const opensteerObservationClusterRelationshipKindSchema: JsonSchema;
2848
+ declare const opensteerReverseReportKindSchema: JsonSchema;
2849
+ declare const opensteerReversePackageKindSchema: JsonSchema;
2850
+ declare const opensteerReversePackageReadinessSchema: JsonSchema;
2851
+ declare const opensteerBodyCodecKindSchema: JsonSchema;
2852
+ declare const opensteerExecutableResolverKindSchema: JsonSchema;
2853
+ declare const opensteerValueReferenceKindSchema: JsonSchema;
2854
+ declare const opensteerRuntimeValueKeySchema: JsonSchema;
2855
+ declare const opensteerValidationRuleKindSchema: JsonSchema;
2856
+ declare const opensteerReverseWorkflowStepKindSchema: JsonSchema;
2857
+ declare const opensteerReverseRequirementKindSchema: JsonSchema;
2858
+ declare const opensteerReverseRequirementStatusSchema: JsonSchema;
2859
+ declare const opensteerReverseSuggestedEditKindSchema: JsonSchema;
2860
+ declare const opensteerValueReferenceSchema: JsonSchema;
2861
+ declare const opensteerValueTemplateSchema: JsonSchema;
2862
+ declare const opensteerReverseTargetHintsSchema: JsonSchema;
2863
+ declare const opensteerBodyCodecDescriptorSchema: JsonSchema;
2864
+ declare const opensteerObservationClusterSchema: JsonSchema;
2865
+ declare const opensteerStateSnapshotSchema: JsonSchema;
2866
+ declare const opensteerStateDeltaSchema: JsonSchema;
2867
+ declare const opensteerRequestInputDescriptorSchema: JsonSchema;
2868
+ declare const opensteerExecutableResolverSchema: JsonSchema;
2869
+ declare const opensteerReverseAdvisorySignalsSchema: JsonSchema;
2870
+ declare const opensteerValidationRuleSchema: JsonSchema;
2871
+ declare const opensteerReverseWorkflowStepSchema: JsonSchema;
2872
+ declare const opensteerReversePackageRequirementsSchema: JsonSchema;
2873
+ declare const opensteerReverseAdvisoryTemplateSchema: JsonSchema;
2874
+ declare const opensteerReverseGuardRecordSchema: JsonSchema;
2875
+ declare const opensteerReverseObservationRecordSchema: JsonSchema;
2876
+ declare const opensteerReverseObservedRecordSchema: JsonSchema;
2877
+ declare const opensteerReverseCandidateRecordSchema: JsonSchema;
2878
+ declare const opensteerReverseReplayValidationSchema: JsonSchema;
2879
+ declare const opensteerReverseReplayRunRecordSchema: JsonSchema;
2880
+ declare const opensteerReverseExperimentRecordSchema: JsonSchema;
2881
+ declare const opensteerReverseRequirementSchema: JsonSchema;
2882
+ declare const opensteerReverseSuggestedEditSchema: JsonSchema;
2883
+ declare const opensteerReverseExportRecordSchema: JsonSchema;
2884
+ declare const opensteerReverseCasePayloadSchema: JsonSchema;
2885
+ declare const opensteerReverseCaseRecordSchema: JsonSchema;
2886
+ declare const opensteerReversePackagePayloadSchema: JsonSchema;
2887
+ declare const opensteerReversePackageRecordSchema: JsonSchema;
2888
+ declare const opensteerReverseCandidateReportItemSchema: JsonSchema;
2889
+ declare const opensteerReverseReportPayloadSchema: JsonSchema;
2890
+ declare const opensteerReverseReportRecordSchema: JsonSchema;
2891
+ declare const opensteerReverseDiscoverInputSchema: JsonSchema;
2892
+ declare const opensteerReverseDiscoverOutputSchema: JsonSchema;
2893
+ declare const opensteerReverseQueryInputSchema: JsonSchema;
2894
+ declare const opensteerReverseQueryOutputSchema: JsonSchema;
2895
+ declare const opensteerReversePackageCreateInputSchema: JsonSchema;
2896
+ declare const opensteerReversePackageCreateOutputSchema: JsonSchema;
2897
+ declare const opensteerReversePackageRunInputSchema: JsonSchema;
2898
+ declare const opensteerReversePackageRunOutputSchema: JsonSchema;
2899
+ declare const opensteerReverseExportInputSchema: JsonSchema;
2900
+ declare const opensteerReverseExportOutputSchema: JsonSchema;
2901
+ declare const opensteerReverseReportInputSchema: JsonSchema;
2902
+ declare const opensteerReverseReportOutputSchema: JsonSchema;
2903
+ declare const opensteerReversePackageGetInputSchema: JsonSchema;
2904
+ declare const opensteerReversePackageGetOutputSchema: JsonSchema;
2905
+ declare const opensteerReversePackageListInputSchema: JsonSchema;
2906
+ declare const opensteerReversePackageListOutputSchema: JsonSchema;
2907
+ declare const opensteerReversePackagePatchInputSchema: JsonSchema;
2908
+ declare const opensteerReversePackagePatchOutputSchema: JsonSchema;
2909
+
2910
+ type OpensteerInteractionCaptureStep = {
2911
+ readonly kind: "goto";
2912
+ readonly url: string;
2913
+ } | {
2914
+ readonly kind: "click";
2915
+ readonly target: OpensteerTargetInput;
2916
+ } | {
2917
+ readonly kind: "hover";
2918
+ readonly target: OpensteerTargetInput;
2919
+ } | {
2920
+ readonly kind: "input";
2921
+ readonly target: OpensteerTargetInput;
2922
+ readonly text: string;
2923
+ readonly pressEnter?: boolean;
2924
+ } | {
2925
+ readonly kind: "scroll";
2926
+ readonly target: OpensteerTargetInput;
2927
+ readonly direction: "up" | "down" | "left" | "right";
2928
+ readonly amount: number;
2929
+ } | {
2930
+ readonly kind: "wait";
2931
+ readonly durationMs: number;
2932
+ };
2933
+ interface OpensteerInteractionEventRecord {
2934
+ readonly type: string;
2935
+ readonly timestamp: number;
2936
+ readonly targetPath?: string;
2937
+ readonly properties: Readonly<Record<string, unknown>>;
2938
+ }
2939
+ interface OpensteerInteractionTracePayload {
2940
+ readonly mode: "manual" | "automated";
2941
+ readonly pageRef?: PageRef;
2942
+ readonly url?: string;
2943
+ readonly startedAt: number;
2944
+ readonly completedAt: number;
2945
+ readonly beforeState?: OpensteerStateSnapshot;
2946
+ readonly afterState?: OpensteerStateSnapshot;
2947
+ readonly stateDelta?: OpensteerStateDelta;
2948
+ readonly events: readonly OpensteerInteractionEventRecord[];
2949
+ readonly networkRecordIds: readonly string[];
2950
+ readonly caseId?: string;
2951
+ readonly notes?: string;
2952
+ }
2953
+ interface OpensteerInteractionTraceRecord {
2954
+ readonly id: string;
2955
+ readonly key: string;
2956
+ readonly version: string;
2957
+ readonly createdAt: number;
2958
+ readonly updatedAt: number;
2959
+ readonly contentHash: string;
2960
+ readonly tags: readonly string[];
2961
+ readonly provenance?: OpensteerRegistryProvenance;
2962
+ readonly payload: OpensteerInteractionTracePayload;
2963
+ }
2964
+ interface OpensteerInteractionCaptureInput {
2965
+ readonly key?: string;
2966
+ readonly pageRef?: PageRef;
2967
+ readonly durationMs?: number;
2968
+ readonly script?: string;
2969
+ readonly args?: readonly JsonValue[];
2970
+ readonly steps?: readonly OpensteerInteractionCaptureStep[];
2971
+ readonly includeStorage?: boolean;
2972
+ readonly includeSessionStorage?: boolean;
2973
+ readonly includeIndexedDb?: boolean;
2974
+ readonly globalNames?: readonly string[];
2975
+ readonly caseId?: string;
2976
+ readonly notes?: string;
2977
+ readonly tags?: readonly string[];
2978
+ }
2979
+ interface OpensteerInteractionCaptureOutput {
2980
+ readonly trace: OpensteerInteractionTraceRecord;
2981
+ }
2982
+ interface OpensteerInteractionGetInput {
2983
+ readonly traceId: string;
2984
+ }
2985
+ interface OpensteerInteractionGetOutput {
2986
+ readonly trace: OpensteerInteractionTraceRecord;
2987
+ }
2988
+ interface OpensteerInteractionDiffInput {
2989
+ readonly leftTraceId: string;
2990
+ readonly rightTraceId: string;
2991
+ }
2992
+ interface OpensteerInteractionDiffOutput {
2993
+ readonly summary: {
2994
+ readonly eventCountDelta: number;
2995
+ readonly propertyMismatchCount: number;
2996
+ readonly stateMismatchCount: number;
2997
+ readonly downstreamRequestMismatchCount: number;
2998
+ };
2999
+ readonly eventSequenceMismatches: readonly string[];
3000
+ readonly eventPropertyMismatches: readonly string[];
3001
+ readonly stateMismatches: readonly string[];
3002
+ readonly downstreamRequestMismatches: readonly string[];
3003
+ }
3004
+ interface OpensteerInteractionReplayInput {
3005
+ readonly traceId: string;
3006
+ readonly pageRef?: PageRef;
3007
+ }
3008
+ interface OpensteerInteractionReplayOutput {
3009
+ readonly traceId: string;
3010
+ readonly replayedEventCount: number;
3011
+ readonly success: boolean;
3012
+ readonly error?: string;
3013
+ }
3014
+ declare const opensteerInteractionEventRecordSchema: JsonSchema;
3015
+ declare const opensteerInteractionTracePayloadSchema: JsonSchema;
3016
+ declare const opensteerInteractionTraceRecordSchema: JsonSchema;
3017
+ declare const opensteerInteractionCaptureInputSchema: JsonSchema;
3018
+ declare const opensteerInteractionCaptureOutputSchema: JsonSchema;
3019
+ declare const opensteerInteractionGetInputSchema: JsonSchema;
3020
+ declare const opensteerInteractionGetOutputSchema: JsonSchema;
3021
+ declare const opensteerInteractionDiffInputSchema: JsonSchema;
3022
+ declare const opensteerInteractionDiffOutputSchema: JsonSchema;
3023
+ declare const opensteerInteractionReplayInputSchema: JsonSchema;
3024
+ declare const opensteerInteractionReplayOutputSchema: JsonSchema;
3025
+
3026
+ declare const OPENSTEER_COMPUTER_USE_BRIDGE_SYMBOL: unique symbol;
3027
+ interface NormalizedComputerScreenshotOptions {
3028
+ readonly format: ScreenshotFormat;
3029
+ readonly includeCursor: boolean;
3030
+ readonly annotations: readonly OpensteerComputerAnnotation[];
3031
+ }
3032
+ interface ComputerUseBridgeInput {
3033
+ readonly pageRef: PageRef;
3034
+ readonly action: OpensteerComputerAction;
3035
+ readonly screenshot: NormalizedComputerScreenshotOptions;
3036
+ readonly signal: AbortSignal;
3037
+ remainingMs(): number | undefined;
3038
+ policySettle(pageRef: PageRef): Promise<void>;
3039
+ }
3040
+ interface ComputerUseBridgeOutput {
3041
+ readonly pageRef: PageRef;
3042
+ readonly screenshot: ScreenshotArtifact$1;
3043
+ readonly viewport: ViewportMetrics;
3044
+ readonly events: readonly StepEvent[];
3045
+ readonly timing: OpensteerComputerExecuteTiming;
3046
+ }
3047
+ interface ComputerUseBridge {
3048
+ execute(input: ComputerUseBridgeInput): Promise<ComputerUseBridgeOutput>;
3049
+ }
3050
+ interface ComputerUseBridgeProvider {
3051
+ [OPENSTEER_COMPUTER_USE_BRIDGE_SYMBOL](): ComputerUseBridge;
3052
+ }
3053
+ declare function resolveComputerUseBridge(engine: BrowserCoreEngine | ComputerUseBridgeProvider): ComputerUseBridge | undefined;
3054
+
3055
+ type MatchOperator = "exact" | "startsWith" | "contains";
3056
+ interface AttributeMatchClause {
3057
+ readonly kind: "attr";
3058
+ readonly key: string;
3059
+ readonly op?: MatchOperator;
3060
+ readonly value?: string;
3061
+ }
3062
+ interface PositionMatchClause {
3063
+ readonly kind: "position";
3064
+ readonly axis: "nthOfType" | "nthChild";
3065
+ }
3066
+ type MatchClause = AttributeMatchClause | PositionMatchClause;
3067
+ interface PathNodePosition {
3068
+ readonly nthChild: number;
3069
+ readonly nthOfType: number;
3070
+ }
3071
+ interface PathNode {
3072
+ readonly tag: string;
3073
+ readonly attrs: Readonly<Record<string, string>>;
3074
+ readonly position: PathNodePosition;
3075
+ readonly match: readonly MatchClause[];
3076
+ }
3077
+ interface ContextHop {
3078
+ readonly kind: "iframe" | "shadow";
3079
+ readonly host: readonly PathNode[];
3080
+ }
3081
+ interface ElementRouteBase {
3082
+ readonly context: readonly ContextHop[];
3083
+ readonly nodes: readonly PathNode[];
3084
+ }
3085
+ interface StructuralElementAnchor extends ElementRouteBase {
3086
+ readonly resolution: "structural";
3087
+ }
3088
+ interface ReplayElementPath extends ElementRouteBase {
3089
+ readonly resolution: "deterministic";
3090
+ }
3091
+
3092
+ declare const OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL: unique symbol;
3093
+ type DomActionScrollAlignment = "start" | "center" | "end" | "nearest";
3094
+ interface DomActionTargetInspection {
3095
+ readonly connected: boolean;
3096
+ readonly visible: boolean;
3097
+ readonly enabled: boolean;
3098
+ readonly editable: boolean;
3099
+ readonly pointerEvents: string;
3100
+ readonly bounds?: Rect;
3101
+ readonly contentQuads: readonly Quad[];
3102
+ }
3103
+ interface DomActionScrollOptions {
3104
+ readonly block?: DomActionScrollAlignment;
3105
+ readonly inline?: DomActionScrollAlignment;
3106
+ }
3107
+ interface DomActionKeyPressInput {
3108
+ readonly key: string;
3109
+ readonly modifiers?: readonly KeyModifier$1[];
3110
+ }
3111
+ interface DomActionSettleOptions {
3112
+ readonly operation: "dom.click" | "dom.hover" | "dom.input" | "dom.scroll";
3113
+ readonly signal: AbortSignal;
3114
+ remainingMs(): number | undefined;
3115
+ policySettle(pageRef: PageRef): Promise<void>;
3116
+ }
3117
+ type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
3118
+ interface DomPointerHitAssessment {
3119
+ readonly relation: DomPointerHitRelation;
3120
+ readonly blocking: boolean;
3121
+ readonly ambiguous?: boolean;
3122
+ readonly canonicalTarget?: NodeLocator;
3123
+ readonly hitOwner?: NodeLocator;
3124
+ }
3125
+ interface DomActionBridge {
3126
+ buildReplayPath(locator: NodeLocator): Promise<ReplayElementPath>;
3127
+ inspectActionTarget(locator: NodeLocator): Promise<DomActionTargetInspection>;
3128
+ canonicalizePointerTarget(locator: NodeLocator): Promise<NodeLocator>;
3129
+ classifyPointerHit(input: {
3130
+ readonly target: NodeLocator;
3131
+ readonly hit: NodeLocator;
3132
+ readonly point: Point;
3133
+ }): Promise<DomPointerHitAssessment>;
3134
+ scrollNodeIntoView(locator: NodeLocator, options?: DomActionScrollOptions): Promise<void>;
3135
+ focusNode(locator: NodeLocator): Promise<void>;
3136
+ pressKey(locator: NodeLocator, input: DomActionKeyPressInput): Promise<void>;
3137
+ finalizeDomAction(pageRef: PageRef, options: DomActionSettleOptions): Promise<void>;
3138
+ }
3139
+ interface DomActionBridgeProvider {
3140
+ [OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL](): DomActionBridge;
3141
+ }
3142
+ declare function resolveDomActionBridge(engine: BrowserCoreEngine | DomActionBridgeProvider): DomActionBridge | undefined;
3143
+
3144
+ export { type ActionFailure, type ActionFailureBlocker, type ActionFailureClassificationSource, type ActionFailureCode, type ActionFailureDetails, type ActivatePageInput, type ArtifactExternalLocation, type ArtifactInline, type ArtifactProvenance, type ArtifactReference, type ArtifactRelation, type AttributeEntry, type AttributeMatchClause, type BodyPayload, type BrowserProfileArchiveFormat, type BrowserProfileCreateRequest, type BrowserProfileDescriptor, type BrowserProfileImportCreateRequest, type BrowserProfileImportCreateResponse, type BrowserProfileImportDescriptor, type BrowserProfileImportSnapshotSummary, type BrowserProfileImportStatus, type BrowserProfileListResponse, type BrowserProfileProxyPolicy, type BrowserProfileStatus, type CaptchaDetectionResult, type CaptchaProvider, type CaptchaType, type CaptureScreenshotInput, type ClosePageInput, type ClosePageOutput, type CloseSessionInput, type CloseSessionOutput, type CloudActionFailure, type CloudActionFailureDetails, type CloudActionMethod, type CloudActionRequest, type CloudActionResponse, type CloudActionSuccess, type CloudBrowserContextConfig, type CloudBrowserExtensionConfig, type CloudBrowserLaunchConfig, type CloudBrowserProfileLaunchPreference, type CloudBrowserProfilePreference, type CloudErrorCode, type CloudFingerprintMode, type CloudFingerprintPreference, type CloudGeolocation, type CloudProxyMode, type CloudProxyPreference, type CloudProxyProtocol, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, type CloudSessionLaunchConfig, type CloudSessionSourceType, type CloudSessionStatus, type CloudSessionSummary, type CloudSessionVisibilityScope, type CloudViewport, type ComputerUseBridge, type ComputerUseBridgeInput, type ComputerUseBridgeOutput, type ComputerUseBridgeProvider, type ContextHop, type CookiesArtifactRecord, type CreatePageInput, type CreatePageOutput, type CreateSessionInput, type CreateSessionOutput, type DocumentTargetInput, type DomActionBridge, type DomActionBridgeProvider, type DomActionKeyPressInput, type DomActionScrollAlignment, type DomActionScrollOptions, type DomActionSettleOptions, type DomActionTargetInspection, type DomPointerHitAssessment, type DomPointerHitRelation, type DomSnapshotArtifactRecord, type ExecuteSessionRequestInput, type ExternalBinaryLocation, type GetCookiesInput, type GetCookiesOutput, type GetDomSnapshotInput, type GetFrameInfoInput, type GetHtmlSnapshotInput, type GetNetworkRecordsInput, type GetNetworkRecordsOutput, type GetPageInfoInput, type GetStorageSnapshotInput, type GetViewportMetricsInput, type HistoryNavigationInput, type HistoryNavigationOutput, type HitTestInput, type HtmlSnapshotArtifactRecord, JSON_SCHEMA_DRAFT_2020_12, type JsonArray, type JsonObject, type JsonPrimitive, type JsonSchema, type JsonSchemaType, type JsonSchemaValidationIssue, type JsonValue, type KeyModifier, type KeyPressInput, type KeyPressOutput, type ListFramesInput, type ListFramesOutput, type ListPagesInput, type ListPagesOutput, type MatchClause, type MatchOperator, type MinimizationFieldClassification, type MinimizationFieldResult, type MouseButton, type MouseClickInput, type MouseClickOutput, type MouseMoveInput, type MouseMoveOutput, type MouseScrollInput, type MouseScrollOutput, type NavigatePageInput, type NavigatePageOutput, type NetworkDiffEntropy, type NetworkDiffField, type NetworkDiffFieldKind, type NetworkQueryRecord, type NetworkQuerySource, type NetworkRecord, type NormalizedComputerScreenshotOptions, OPENSTEER_COMPUTER_USE_BRIDGE_SYMBOL, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OPENSTEER_PROTOCOL_COMPATIBILITY_REVISION, OPENSTEER_PROTOCOL_MEDIA_TYPE, OPENSTEER_PROTOCOL_NAME, OPENSTEER_PROTOCOL_REST_BASE_PATH, OPENSTEER_PROTOCOL_REVISION_DATE, OPENSTEER_PROTOCOL_VERSION, type OpensteerActionResult, type OpensteerAddInitScriptInput, type OpensteerAddInitScriptOutput, type OpensteerArtifact, type OpensteerArtifactKind, type OpensteerArtifactReadInput, type OpensteerArtifactReadOutput, type OpensteerAttachBrowserOptions, type OpensteerAuthRecipeDirectRequestStep, type OpensteerAuthRecipeHookRef, type OpensteerAuthRecipePayload, type OpensteerAuthRecipeRecord, type OpensteerAuthRecipeRef, type OpensteerAuthRecipeRetryOverrides, type OpensteerAuthRecipeSessionRequestStep, type OpensteerAuthRecipeStep, type OpensteerAutomationCancelMessage, type OpensteerAutomationClientMessage, type OpensteerAutomationErrorMessage, type OpensteerAutomationEventMessage, type OpensteerAutomationHelloMessage, type OpensteerAutomationInvokeMessage, type OpensteerAutomationOperationName, type OpensteerAutomationPingMessage, type OpensteerAutomationPongMessage, type OpensteerAutomationResultMessage, type OpensteerAutomationResumeMessage, type OpensteerAutomationServerMessage, type OpensteerBase64RequestBodyInput, type OpensteerBodyCodecDescriptor, type OpensteerBodyCodecKind, type OpensteerBrowserContextOptions, type OpensteerBrowserLaunchOptions, type OpensteerBrowserMode, type OpensteerBrowserOptions, type OpensteerCapability, type OpensteerCapabilityDescriptor, type OpensteerCaptchaSolveInput, type OpensteerCaptchaSolveOutput, type OpensteerCaptureScriptsInput, type OpensteerCaptureScriptsOutput, type OpensteerCapturedScript, type OpensteerChannelDescriptor, type OpensteerComputerAction, type OpensteerComputerAnnotation, type OpensteerComputerClickAction, type OpensteerComputerDisplayScale, type OpensteerComputerDragAction, type OpensteerComputerExecuteInput, type OpensteerComputerExecuteOutput, type OpensteerComputerExecuteTiming, type OpensteerComputerKeyAction, type OpensteerComputerKeyModifier, type OpensteerComputerMouseButton, type OpensteerComputerMoveAction, type OpensteerComputerScreenshotAction, type OpensteerComputerScreenshotOptions, type OpensteerComputerScrollAction, type OpensteerComputerTraceEnrichment, type OpensteerComputerTracePoint, type OpensteerComputerTypeAction, type OpensteerComputerWaitAction, type OpensteerDomClickInput, type OpensteerDomExtractInput, type OpensteerDomExtractOutput, type OpensteerDomHoverInput, type OpensteerDomInputInput, type OpensteerDomScrollInput, type OpensteerError, type OpensteerErrorCode, type OpensteerErrorEnvelope, type OpensteerErrorOptions, type OpensteerExecutableResolver, type OpensteerExecutableResolverKind, type OpensteerGetAuthRecipeInput, type OpensteerGetRecipeInput, type OpensteerGetRequestPlanInput, type OpensteerHttpMethod, type OpensteerInferRequestPlanInput, type OpensteerInspectCookiesInput, type OpensteerInspectStorageInput, type OpensteerInteractionCaptureInput, type OpensteerInteractionCaptureOutput, type OpensteerInteractionCaptureStep, type OpensteerInteractionDiffInput, type OpensteerInteractionDiffOutput, type OpensteerInteractionEventRecord, type OpensteerInteractionGetInput, type OpensteerInteractionGetOutput, type OpensteerInteractionReplayInput, type OpensteerInteractionReplayOutput, type OpensteerInteractionTracePayload, type OpensteerInteractionTraceRecord, type OpensteerJsonRequestBodyInput, type OpensteerListAuthRecipesInput, type OpensteerListAuthRecipesOutput, type OpensteerListRecipesInput, type OpensteerListRecipesOutput, type OpensteerListRequestPlansInput, type OpensteerListRequestPlansOutput, type OpensteerMcpContent, type OpensteerMcpImageContent, type OpensteerMcpTextContent, type OpensteerMcpToolAnnotations, type OpensteerMcpToolDescriptor, type OpensteerMcpToolResult, type OpensteerNetworkClearInput, type OpensteerNetworkClearOutput, type OpensteerNetworkDiffInput, type OpensteerNetworkDiffOutput, type OpensteerNetworkMinimizeInput, type OpensteerNetworkMinimizeOutput, type OpensteerNetworkMinimizeSuccessPolicy, type OpensteerNetworkQueryInput, type OpensteerNetworkQueryOutput, type OpensteerNetworkSaveInput, type OpensteerNetworkSaveOutput, type OpensteerObservationCluster, type OpensteerObservationClusterMember, type OpensteerObservationClusterRelationshipKind, type OpensteerOpenInput, type OpensteerOpenOutput, type OpensteerOperationName, type OpensteerOperationSpec, type OpensteerPageActivateInput, type OpensteerPageActivateOutput, type OpensteerPageCloseInput, type OpensteerPageCloseOutput, type OpensteerPageEvaluateInput, type OpensteerPageEvaluateOutput, type OpensteerPageGotoInput, type OpensteerPageGotoOutput, type OpensteerPageListInput, type OpensteerPageListOutput, type OpensteerPageNewInput, type OpensteerPageNewOutput, type OpensteerPageSnapshotInput, type OpensteerPageSnapshotOutput, type OpensteerProtocolDescriptor, OpensteerProtocolError, type OpensteerProtocolName, type OpensteerProtocolVersion, type OpensteerProviderDescriptor, type OpensteerProviderKind, type OpensteerRawRequestInput, type OpensteerRawRequestOutput, type OpensteerRecipeCachePolicy, type OpensteerRecipeEvaluateStep, type OpensteerRecipeGotoStep, type OpensteerRecipeHookRef, type OpensteerRecipeHookStep, type OpensteerRecipePayload, type OpensteerRecipeReadCookieStep, type OpensteerRecipeReadStorageStep, type OpensteerRecipeRecord, type OpensteerRecipeRef, type OpensteerRecipeReloadStep, type OpensteerRecipeRequestStep, type OpensteerRecipeRequestStepInput, type OpensteerRecipeRetryOverrides, type OpensteerRecipeSolveCaptchaStep, type OpensteerRecipeStep, type OpensteerRecipeStepBodyJsonPointerCapture, type OpensteerRecipeStepBodyTextCapture, type OpensteerRecipeStepHeaderCapture, type OpensteerRecipeStepResponseCapture, type OpensteerRecipeSyncCookiesToJarStep, type OpensteerRecipeWaitForCookieStep, type OpensteerRecipeWaitForNetworkStep, type OpensteerRecipeWaitForStorageStep, type OpensteerRecipeWaitForUrlStep, type OpensteerRef, type OpensteerRegistryProvenance, type OpensteerRequestBodyInput, type OpensteerRequestEntry, type OpensteerRequestEnvelope, type OpensteerRequestExecuteInput, type OpensteerRequestExecuteOutput, type OpensteerRequestFailurePolicy, type OpensteerRequestFailurePolicyHeaderMatch, type OpensteerRequestInputClassification, type OpensteerRequestInputDescriptor, type OpensteerRequestInputExportPolicy, type OpensteerRequestInputLocation, type OpensteerRequestInputMaterializationPolicy, type OpensteerRequestInputRequiredness, type OpensteerRequestInputSource, type OpensteerRequestParameterLocation, type OpensteerRequestPlanAuth, type OpensteerRequestPlanBody, type OpensteerRequestPlanBodyKind, type OpensteerRequestPlanEndpoint, type OpensteerRequestPlanFreshness, type OpensteerRequestPlanLifecycle, type OpensteerRequestPlanParameter, type OpensteerRequestPlanPayload, type OpensteerRequestPlanRecipeBinding, type OpensteerRequestPlanRecipes, type OpensteerRequestPlanRecord, type OpensteerRequestPlanRecoverBinding, type OpensteerRequestPlanResponseExpectation, type OpensteerRequestPlanTransport, type OpensteerRequestResponseResult, type OpensteerRequestRetryBackoffPolicy, type OpensteerRequestRetryPolicy, type OpensteerRequestScalar, type OpensteerRequestScalarMap, type OpensteerRequestTransportResult, type OpensteerResolvedTarget, type OpensteerResponseEnvelope, type OpensteerRestEndpointDescriptor, type OpensteerReverseAdvisorySignals, type OpensteerReverseAdvisoryTag, type OpensteerReverseAdvisoryTemplate, type OpensteerReverseAssertWorkflowStep, type OpensteerReverseAwaitRecordMatch, type OpensteerReverseAwaitRecordWorkflowStep, type OpensteerReverseCandidateAdvisoryItem, type OpensteerReverseCandidateBoundary, type OpensteerReverseCandidateRecord, type OpensteerReverseCasePayload, type OpensteerReverseCaseRecord, type OpensteerReverseCaseStatus, type OpensteerReverseChannelKind, type OpensteerReverseConstraintKind, type OpensteerReverseDiscoverInput, type OpensteerReverseDiscoverOutput, type OpensteerReverseDiscoverySummaryCounts, type OpensteerReverseExperimentRecord, type OpensteerReverseExportInput, type OpensteerReverseExportOutput, type OpensteerReverseExportRecord, type OpensteerReverseGuardRecord, type OpensteerReverseManualCalibrationMode, type OpensteerReverseObservationRecord, type OpensteerReverseObservedRecord, type OpensteerReverseOperationWorkflowStep, type OpensteerReversePackageCreateInput, type OpensteerReversePackageCreateOutput, type OpensteerReversePackageGetInput, type OpensteerReversePackageGetOutput, type OpensteerReversePackageKind, type OpensteerReversePackageListInput, type OpensteerReversePackageListOutput, type OpensteerReversePackagePatchInput, type OpensteerReversePackagePatchOutput, type OpensteerReversePackagePayload, type OpensteerReversePackageReadiness, type OpensteerReversePackageRecord, type OpensteerReversePackageRequirements, type OpensteerReversePackageRunInput, type OpensteerReversePackageRunOutput, type OpensteerReverseQueryCandidateItem, type OpensteerReverseQueryClusterItem, type OpensteerReverseQueryFilters, type OpensteerReverseQueryInput, type OpensteerReverseQueryOutput, type OpensteerReverseQueryRecordItem, type OpensteerReverseQuerySnapshot, type OpensteerReverseQuerySort, type OpensteerReverseQueryView, type OpensteerReverseReplayRunRecord, type OpensteerReverseReplayValidation, type OpensteerReverseReportInput, type OpensteerReverseReportKind, type OpensteerReverseReportOutput, type OpensteerReverseReportPayload, type OpensteerReverseReportRecord, type OpensteerReverseRequirement, type OpensteerReverseRequirementKind, type OpensteerReverseRequirementStatus, type OpensteerReverseSortDirection, type OpensteerReverseSortKey, type OpensteerReverseSortPreset, type OpensteerReverseSortTerm, type OpensteerReverseSuggestedEdit, type OpensteerReverseSuggestedEditKind, type OpensteerReverseTargetHints, type OpensteerReverseWorkflowStep, type OpensteerReverseWorkflowStepKind, type OpensteerRunAuthRecipeInput, type OpensteerRunAuthRecipeOutput, type OpensteerRunRecipeInput, type OpensteerRunRecipeOutput, type OpensteerRuntimeValueKey, type OpensteerRuntimeVersionInfo, type OpensteerScriptBeautifyInput, type OpensteerScriptBeautifyOutput, type OpensteerScriptDeobfuscateInput, type OpensteerScriptDeobfuscateOutput, type OpensteerScriptSandboxInput, type OpensteerScriptSandboxOutput, type OpensteerSemanticOperationName, type OpensteerSemanticOperationSpec, type OpensteerSemanticRestEndpointDescriptor, type OpensteerSessionAccessGrantResponse, type OpensteerSessionCapabilities, type OpensteerSessionCloseInput, type OpensteerSessionCloseOutput, type OpensteerSessionGrant, type OpensteerSessionGrantKind, type OpensteerSessionInfo, type OpensteerSessionInfoResult, type OpensteerSessionOwnership, type OpensteerSessionState, type OpensteerSnapshotCounter, type OpensteerSnapshotMode, type OpensteerStateDelta, type OpensteerStateSnapshot, type OpensteerStateSourceKind, type OpensteerStealthProfileInput, type OpensteerSuccessEnvelope, type OpensteerTargetByDescription, type OpensteerTargetByElement, type OpensteerTargetBySelector, type OpensteerTargetInput, type OpensteerTextRequestBodyInput, type OpensteerTransportProbeInput, type OpensteerTransportProbeOutput, type OpensteerValidationRule, type OpensteerValidationRuleKind, type OpensteerValueReference, type OpensteerValueReferenceEnvelope, type OpensteerValueReferenceKind, type OpensteerValueTemplate, type OpensteerValueTemplateObject, type OpensteerWriteAuthRecipeInput, type OpensteerWriteRecipeInput, type OpensteerWriteRequestPlanInput, type ParsedOpensteerRef, type PathNode, type PathNodePosition, type PortableBrowserFamily, type PortableBrowserProfileCookieRecord, type PortableBrowserProfileSnapshot, type PortableBrowserProfileSnapshotFormat, type PortableBrowserProfileSnapshotSource, type PositionMatchClause, type ReadAttributesInput, type ReadAttributesOutput, type ReadTextInput, type ReadTextOutput, type ReloadPageInput, type ReplayElementPath, type SandboxAjaxMode, type SandboxAjaxRoute, type SandboxCapturedAjaxCall, type SandboxFidelity, type ScreenshotArtifact, type ScreenshotArtifactRecord, type ScriptSourceArtifactData, type ScriptSourceArtifactRecord, type SessionTransportRequest, type SessionTransportResponse, type SetExecutionStateInput, type SetExecutionStateOutput, type StopLoadingInput, type StopLoadingOutput, type StorageSnapshotArtifactRecord, type StructuralElementAnchor, type TextInputInput, type TextInputOutput, type TraceBundle, type TraceContext, type TraceOutcome, type TraceRecord, type TransportKind, type TransportProbeLevel, type TransportProbeResult, arraySchema, artifactReferenceSchema, assertSupportedProtocolVersion, assertValidSemanticOperationInput, bodyPayloadEncodingSchema, bodyPayloadFromUtf8, bodyPayloadSchema, captchaDetectionResultSchema, captchaProviderSchema, captchaTypeSchema, chooserRefSchema, cloudActionMethods, cloudErrorCodes, cloudSessionSourceTypes, cloudSessionStatuses, cookiePrioritySchema, cookieRecordSchema, cookieSameSiteSchema, coordinateSpaceSchema, createBodyPayload, createErrorEnvelope, createOpensteerError, createRequestEnvelope, createStructuredToolResult, createSuccessEnvelope, defineSchema, dialogRefSchema, documentEpochSchema, documentRefSchema, domSnapshotNodeSchema, domSnapshotSchema, downloadRefSchema, enumSchema, externalBinaryLocationSchema, frameInfoSchema, frameRefSchema, hasCapability, headerEntrySchema, hitTestResultSchema, htmlSnapshotSchema, httpStatusForOpensteerError, indexedDbDatabaseSnapshotSchema, indexedDbIndexSnapshotSchema, indexedDbObjectStoreSnapshotSchema, indexedDbRecordSchema, integerSchema, isCloudActionMethod, isCloudErrorCode, isCloudSessionSourceType, isCloudSessionStatus, isErrorEnvelope, isOpensteerProtocolError, isOpensteerRef, isSupportedProtocolVersion, layoutViewportSchema, literalSchema, minimizationFieldClassificationSchema, minimizationFieldResultSchema, networkCaptureStateSchema, networkDiffEntropySchema, networkDiffFieldKindSchema, networkDiffFieldSchema, networkInitiatorSchema, networkInitiatorTypeSchema, networkQueryRecordSchema, networkQuerySourceSchema, networkRecordKindSchema, networkRecordSchema, networkRequestIdSchema, networkResourceTypeSchema, networkSourceMetadataSchema, networkTimingSchema, networkTransferSizesSchema, nodeLocatorSchema, nodeRefSchema, numberSchema, objectSchema, oneOfSchema, opensteerArtifactReadInputSchema, opensteerArtifactReadOutputSchema, opensteerArtifactSchema, opensteerAuthRecipeHookRefSchema, opensteerAuthRecipePayloadSchema, opensteerAuthRecipeRecordSchema, opensteerAuthRecipeRefSchema, opensteerAuthRecipeStepSchema, opensteerAutomationOperationNames, opensteerBodyCodecDescriptorSchema, opensteerBodyCodecKindSchema, opensteerCapabilities, opensteerCapabilityDescriptorListSchema, opensteerCapabilityDescriptorSchema, opensteerCapabilityDescriptors, opensteerCapabilitySchema, opensteerCapabilitySetSchema, opensteerCaptchaSolveInputSchema, opensteerCaptchaSolveOutputSchema, opensteerComputerAnnotationNames, opensteerErrorCodeSchema, opensteerErrorCodes, opensteerErrorEnvelopeSchema, opensteerErrorSchema, opensteerEventSchema, opensteerExecutableResolverKindSchema, opensteerExecutableResolverSchema, opensteerGetAuthRecipeInputSchema, opensteerGetRecipeInputSchema, opensteerGetRequestPlanInputSchema, opensteerInferRequestPlanInputSchema, opensteerInteractionCaptureInputSchema, opensteerInteractionCaptureOutputSchema, opensteerInteractionDiffInputSchema, opensteerInteractionDiffOutputSchema, opensteerInteractionEventRecordSchema, opensteerInteractionGetInputSchema, opensteerInteractionGetOutputSchema, opensteerInteractionReplayInputSchema, opensteerInteractionReplayOutputSchema, opensteerInteractionTracePayloadSchema, opensteerInteractionTraceRecordSchema, opensteerListAuthRecipesInputSchema, opensteerListAuthRecipesOutputSchema, opensteerListRecipesInputSchema, opensteerListRecipesOutputSchema, opensteerListRequestPlansInputSchema, opensteerListRequestPlansOutputSchema, opensteerMcpTools, opensteerNetworkClearInputSchema, opensteerNetworkClearOutputSchema, opensteerNetworkDiffInputSchema, opensteerNetworkDiffOutputSchema, opensteerNetworkMinimizeInputSchema, opensteerNetworkMinimizeOutputSchema, opensteerNetworkMinimizeSuccessPolicySchema, opensteerNetworkQueryInputSchema, opensteerNetworkQueryOutputSchema, opensteerNetworkSaveInputSchema, opensteerNetworkSaveOutputSchema, opensteerObservationClusterRelationshipKindSchema, opensteerObservationClusterSchema, opensteerOperationNames, opensteerOperationSpecificationMap, opensteerOperationSpecifications, opensteerProtocolDescriptor, opensteerProtocolDescriptorSchema, opensteerRawRequestInputSchema, opensteerRawRequestOutputSchema, opensteerRecipeCachePolicySchema, opensteerRecipeHookRefSchema, opensteerRecipePayloadSchema, opensteerRecipeRecordSchema, opensteerRecipeRefSchema, opensteerRecipeStepSchema, opensteerRefKindSchema, opensteerRefSchema, opensteerRegistryProvenanceSchema, opensteerRequestBodyInputSchema, opensteerRequestEntrySchema, opensteerRequestExecuteInputSchema, opensteerRequestExecuteOutputSchema, opensteerRequestFailurePolicyHeaderMatchSchema, opensteerRequestFailurePolicySchema, opensteerRequestInputClassificationSchema, opensteerRequestInputDescriptorSchema, opensteerRequestInputExportPolicySchema, opensteerRequestInputLocationSchema, opensteerRequestInputMaterializationPolicySchema, opensteerRequestInputRequirednessSchema, opensteerRequestInputSourceSchema, opensteerRequestPlanAuthSchema, opensteerRequestPlanBodySchema, opensteerRequestPlanEndpointSchema, opensteerRequestPlanFreshnessSchema, opensteerRequestPlanLifecycleSchema, opensteerRequestPlanParameterLocationSchema, opensteerRequestPlanParameterSchema, opensteerRequestPlanPayloadSchema, opensteerRequestPlanRecipeBindingSchema, opensteerRequestPlanRecipesSchema, opensteerRequestPlanRecordSchema, opensteerRequestPlanRecoverBindingSchema, opensteerRequestPlanResponseExpectationSchema, opensteerRequestPlanTransportSchema, opensteerRequestResponseResultSchema, opensteerRequestRetryBackoffPolicySchema, opensteerRequestRetryPolicySchema, opensteerRequestScalarSchema, opensteerRequestTransportResultSchema, opensteerRestEndpoints, opensteerReverseAdvisorySignalsSchema, opensteerReverseAdvisoryTagSchema, opensteerReverseAdvisoryTemplateSchema, opensteerReverseCandidateBoundarySchema, opensteerReverseCandidateRecordSchema, opensteerReverseCandidateReportItemSchema, opensteerReverseCasePayloadSchema, opensteerReverseCaseRecordSchema, opensteerReverseCaseStatusSchema, opensteerReverseChannelKindSchema, opensteerReverseConstraintKindSchema, opensteerReverseDiscoverInputSchema, opensteerReverseDiscoverOutputSchema, opensteerReverseExperimentRecordSchema, opensteerReverseExportInputSchema, opensteerReverseExportOutputSchema, opensteerReverseExportRecordSchema, opensteerReverseGuardRecordSchema, opensteerReverseManualCalibrationModeSchema, opensteerReverseObservationRecordSchema, opensteerReverseObservedRecordSchema, opensteerReversePackageCreateInputSchema, opensteerReversePackageCreateOutputSchema, opensteerReversePackageGetInputSchema, opensteerReversePackageGetOutputSchema, opensteerReversePackageKindSchema, opensteerReversePackageListInputSchema, opensteerReversePackageListOutputSchema, opensteerReversePackagePatchInputSchema, opensteerReversePackagePatchOutputSchema, opensteerReversePackagePayloadSchema, opensteerReversePackageReadinessSchema, opensteerReversePackageRecordSchema, opensteerReversePackageRequirementsSchema, opensteerReversePackageRunInputSchema, opensteerReversePackageRunOutputSchema, opensteerReverseQueryInputSchema, opensteerReverseQueryOutputSchema, opensteerReverseQueryViewSchema, opensteerReverseReplayRunRecordSchema, opensteerReverseReplayValidationSchema, opensteerReverseReportInputSchema, opensteerReverseReportKindSchema, opensteerReverseReportOutputSchema, opensteerReverseReportPayloadSchema, opensteerReverseReportRecordSchema, opensteerReverseRequirementKindSchema, opensteerReverseRequirementSchema, opensteerReverseRequirementStatusSchema, opensteerReverseSortDirectionSchema, opensteerReverseSortKeySchema, opensteerReverseSortPresetSchema, opensteerReverseSuggestedEditKindSchema, opensteerReverseSuggestedEditSchema, opensteerReverseTargetHintsSchema, opensteerReverseWorkflowStepKindSchema, opensteerReverseWorkflowStepSchema, opensteerRunAuthRecipeInputSchema, opensteerRunAuthRecipeOutputSchema, opensteerRunRecipeInputSchema, opensteerRunRecipeOutputSchema, opensteerRuntimeValueKeySchema, opensteerScriptBeautifyInputSchema, opensteerScriptBeautifyOutputSchema, opensteerScriptDeobfuscateInputSchema, opensteerScriptDeobfuscateOutputSchema, opensteerScriptSandboxInputSchema, opensteerScriptSandboxOutputSchema, opensteerSemanticOperationNames, opensteerSemanticOperationSpecificationMap, opensteerSemanticOperationSpecifications, opensteerSemanticRestEndpoints, opensteerSessionGrantKinds, opensteerStateDeltaSchema, opensteerStateSnapshotSchema, opensteerStateSourceKindSchema, opensteerTransportProbeInputSchema, opensteerTransportProbeOutputSchema, opensteerValidationRuleKindSchema, opensteerValidationRuleSchema, opensteerValueReferenceKindSchema, opensteerValueReferenceSchema, opensteerValueTemplateSchema, opensteerWriteAuthRecipeInputSchema, opensteerWriteRecipeInputSchema, opensteerWriteRequestPlanInputSchema, orderedHeadersSchema, pageInfoSchema, pageLifecycleStateSchema, pageRefSchema, parseOpensteerRef, pointSchema, quadSchema, recordSchema, rectSchema, requestEnvelopeSchema, resolveComputerUseBridge, resolveDomActionBridge, resolveRequiredCapabilities, resolveSemanticRequiredCapabilities, responseEnvelopeSchema, sandboxAjaxModeSchema, sandboxAjaxRouteSchema, sandboxCapturedAjaxCallSchema, sandboxFidelitySchema, screenshotArtifactSchema, screenshotFormatSchema, scriptSourceArtifactDataSchema, scrollOffsetSchema, sessionRefSchema, sessionStorageSnapshotSchema, shadowDomSnapshotModeSchema, sizeSchema, storageEntrySchema, storageOriginSnapshotSchema, storageSnapshotSchema, stringSchema, successEnvelopeSchema, toOpensteerError, traceBundleSchema, traceContextSchema, traceRecordSchema, transportKindSchema, transportProbeLevelSchema, transportProbeResultSchema, unsupportedCapabilityError, unsupportedVersionError, validateJsonSchema, viewportMetricsSchema, visualViewportSchema, workerRefSchema };