opensteer 0.8.5 → 0.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { OpensteerEngineFactory, DomDescriptorStore as DomDescriptorStore$1, OpensteerSessionRuntime as OpensteerSessionRuntime$1 } from '@opensteer/runtime-core';
1
+ import { OpensteerEngineFactory, DomDescriptorStore as DomDescriptorStore$1, OpensteerExtractionDescriptorStore as OpensteerExtractionDescriptorStore$1, OpensteerSessionRuntime as OpensteerSessionRuntime$1 } from '@opensteer/runtime-core';
2
2
  export { OpensteerEngineFactory, OpensteerEngineFactoryOptions, OpensteerRuntimeWorkspace } from '@opensteer/runtime-core';
3
3
 
4
4
  type JsonPrimitive$1 = boolean | number | string | null;
@@ -772,6 +772,12 @@ interface BrowserInstrumentation {
772
772
  interface BrowserCoreEngine extends BrowserExecutor, BrowserInspector, SessionTransportExecutor, BrowserInstrumentation {
773
773
  }
774
774
 
775
+ interface ActionBoundarySnapshot {
776
+ readonly pageRef: PageRef;
777
+ readonly documentRef: DocumentRef;
778
+ }
779
+ type ActionBoundarySettleTrigger = "dom-action" | "navigation";
780
+
775
781
  interface BodyPayload {
776
782
  readonly data: string;
777
783
  readonly encoding: BodyPayloadEncoding;
@@ -812,10 +818,8 @@ interface NetworkRecord {
812
818
  readonly requestBody?: BodyPayload;
813
819
  readonly responseBody?: BodyPayload;
814
820
  }
815
- type NetworkQuerySource = "live" | "saved";
816
821
  interface NetworkQueryRecord {
817
822
  readonly recordId: string;
818
- readonly source: NetworkQuerySource;
819
823
  readonly actionId?: string;
820
824
  readonly tags?: readonly string[];
821
825
  readonly savedAt?: number;
@@ -1113,7 +1117,6 @@ interface OpensteerRecipeRecord {
1113
1117
  readonly payload: OpensteerRecipePayload;
1114
1118
  }
1115
1119
  interface OpensteerNetworkQueryInput {
1116
- readonly source?: "live" | "saved";
1117
1120
  readonly pageRef?: PageRef;
1118
1121
  readonly recordId?: string;
1119
1122
  readonly requestId?: string;
@@ -1131,7 +1134,7 @@ interface OpensteerNetworkQueryInput {
1131
1134
  interface OpensteerNetworkQueryOutput {
1132
1135
  readonly records: readonly NetworkQueryRecord[];
1133
1136
  }
1134
- interface OpensteerNetworkSaveInput {
1137
+ interface OpensteerNetworkTagInput {
1135
1138
  readonly pageRef?: PageRef;
1136
1139
  readonly recordId?: string;
1137
1140
  readonly requestId?: string;
@@ -1144,8 +1147,8 @@ interface OpensteerNetworkSaveInput {
1144
1147
  readonly status?: string;
1145
1148
  readonly resourceType?: NetworkResourceType;
1146
1149
  }
1147
- interface OpensteerNetworkSaveOutput {
1148
- readonly savedCount: number;
1150
+ interface OpensteerNetworkTagOutput {
1151
+ readonly taggedCount: number;
1149
1152
  }
1150
1153
  interface OpensteerNetworkClearInput {
1151
1154
  readonly tag?: string;
@@ -1933,15 +1936,15 @@ interface OpensteerComputerExecuteOutput {
1933
1936
  readonly timing: OpensteerComputerExecuteTiming;
1934
1937
  readonly trace?: OpensteerComputerTraceEnrichment;
1935
1938
  }
1936
- 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"];
1939
+ 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.tag", "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"];
1937
1940
  type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
1938
1941
 
1939
1942
  declare const opensteerSessionGrantKinds: readonly ["automation", "view", "cdp"];
1940
1943
  type OpensteerSessionGrantKind = (typeof opensteerSessionGrantKinds)[number];
1941
- type OpensteerProviderKind$1 = "local" | "cloud";
1944
+ type OpensteerProviderMode$1 = "local" | "cloud";
1942
1945
  type OpensteerSessionOwnership = "owned" | "attached" | "managed";
1943
1946
  interface OpensteerProviderDescriptor {
1944
- readonly kind: OpensteerProviderKind$1;
1947
+ readonly mode: OpensteerProviderMode$1;
1945
1948
  readonly ownership: OpensteerSessionOwnership;
1946
1949
  readonly engine?: string;
1947
1950
  readonly baseUrl?: string;
@@ -2966,9 +2969,10 @@ interface DomActionKeyPressInput {
2966
2969
  }
2967
2970
  interface DomActionSettleOptions {
2968
2971
  readonly operation: "dom.click" | "dom.hover" | "dom.input" | "dom.scroll";
2972
+ readonly snapshot?: ActionBoundarySnapshot;
2969
2973
  readonly signal: AbortSignal;
2970
2974
  remainingMs(): number | undefined;
2971
- policySettle(pageRef: PageRef): Promise<void>;
2975
+ policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger): Promise<void>;
2972
2976
  }
2973
2977
  type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
2974
2978
  interface DomPointerHitAssessment {
@@ -3219,6 +3223,7 @@ interface ReverseReportRegistryStore {
3219
3223
  }
3220
3224
 
3221
3225
  interface SavedNetworkQueryInput {
3226
+ readonly pageRef?: NetworkQueryRecord["record"]["pageRef"];
3222
3227
  readonly recordId?: string;
3223
3228
  readonly requestId?: string;
3224
3229
  readonly actionId?: string;
@@ -3232,10 +3237,16 @@ interface SavedNetworkQueryInput {
3232
3237
  readonly includeBodies?: boolean;
3233
3238
  readonly limit?: number;
3234
3239
  }
3240
+ type SavedNetworkBodyWriteMode = "authoritative" | "metadata-only";
3241
+ interface SavedNetworkSaveOptions {
3242
+ readonly bodyWriteMode: SavedNetworkBodyWriteMode;
3243
+ readonly tag?: string;
3244
+ }
3235
3245
  interface SavedNetworkStore {
3236
3246
  readonly databasePath: string;
3237
3247
  initialize(): Promise<void>;
3238
- save(records: readonly NetworkQueryRecord[], tag?: string): Promise<number>;
3248
+ save(records: readonly NetworkQueryRecord[], options: SavedNetworkSaveOptions): Promise<number>;
3249
+ tagByFilter(filter: SavedNetworkQueryInput, tag: string): Promise<number>;
3239
3250
  query(input?: SavedNetworkQueryInput): Promise<readonly NetworkQueryRecord[]>;
3240
3251
  getByRecordId(recordId: string, options?: {
3241
3252
  readonly includeBodies?: boolean;
@@ -3602,6 +3613,15 @@ interface DomDescriptorStore {
3602
3613
  read(input: DomReadDescriptorInput): Promise<DomDescriptorRecord | undefined>;
3603
3614
  write(input: DomWriteDescriptorInput): Promise<DomDescriptorRecord>;
3604
3615
  }
3616
+ declare function hashDomDescriptorDescription(description: string): string;
3617
+ declare function buildDomDescriptorKey(options: {
3618
+ readonly namespace?: string;
3619
+ readonly method: string;
3620
+ readonly description: string;
3621
+ }): string;
3622
+ declare function buildDomDescriptorPayload(input: DomWriteDescriptorInput): DomDescriptorPayload;
3623
+ declare function buildDomDescriptorVersion(payload: DomDescriptorPayload): string;
3624
+ declare function parseDomDescriptorRecord(record: DescriptorRecord): DomDescriptorRecord | undefined;
3605
3625
 
3606
3626
  declare function buildArrayFieldPathCandidates(path: ElementPath): string[];
3607
3627
  declare function isCurrentUrlField(field: DomExtractFieldSelector | DomArrayFieldSelector): boolean;
@@ -3649,6 +3669,61 @@ declare function createDomRuntime(options: {
3649
3669
  readonly policy?: OpensteerPolicy;
3650
3670
  }): DomRuntime;
3651
3671
 
3672
+ interface PersistedOpensteerExtractionValueNode {
3673
+ readonly $path: ElementPath;
3674
+ readonly attribute?: string;
3675
+ }
3676
+ interface PersistedOpensteerExtractionSourceNode {
3677
+ readonly $source: "current_url";
3678
+ }
3679
+ interface PersistedOpensteerExtractionArrayVariantNode {
3680
+ readonly itemParentPath: ElementPath;
3681
+ readonly item: PersistedOpensteerExtractionNode;
3682
+ }
3683
+ interface PersistedOpensteerExtractionArrayNode {
3684
+ readonly $array: {
3685
+ readonly variants: readonly PersistedOpensteerExtractionArrayVariantNode[];
3686
+ };
3687
+ }
3688
+ interface PersistedOpensteerExtractionObjectNode {
3689
+ readonly [key: string]: PersistedOpensteerExtractionNode;
3690
+ }
3691
+ type PersistedOpensteerExtractionNode = PersistedOpensteerExtractionValueNode | PersistedOpensteerExtractionSourceNode | PersistedOpensteerExtractionArrayNode | PersistedOpensteerExtractionObjectNode;
3692
+ type PersistedOpensteerExtractionPayload = PersistedOpensteerExtractionObjectNode;
3693
+ interface OpensteerExtractionDescriptorPayload {
3694
+ readonly kind: "dom-extraction";
3695
+ readonly description: string;
3696
+ readonly root: PersistedOpensteerExtractionPayload;
3697
+ readonly schemaHash?: string;
3698
+ readonly sourceUrl?: string;
3699
+ }
3700
+ interface OpensteerExtractionDescriptorRecord {
3701
+ readonly id: string;
3702
+ readonly key: string;
3703
+ readonly version: string;
3704
+ readonly createdAt: number;
3705
+ readonly updatedAt: number;
3706
+ readonly payload: OpensteerExtractionDescriptorPayload;
3707
+ }
3708
+ interface OpensteerExtractionDescriptorStore {
3709
+ read(input: {
3710
+ readonly description: string;
3711
+ }): Promise<OpensteerExtractionDescriptorRecord | undefined>;
3712
+ write(input: {
3713
+ readonly description: string;
3714
+ readonly root: PersistedOpensteerExtractionPayload;
3715
+ readonly schemaHash?: string;
3716
+ readonly sourceUrl?: string;
3717
+ readonly createdAt?: number;
3718
+ readonly updatedAt?: number;
3719
+ }): Promise<OpensteerExtractionDescriptorRecord>;
3720
+ }
3721
+ declare function createOpensteerExtractionDescriptorStore(options: {
3722
+ readonly root?: FilesystemOpensteerWorkspace;
3723
+ readonly namespace?: string;
3724
+ }): OpensteerExtractionDescriptorStore;
3725
+ declare function parseExtractionDescriptorRecord(record: DescriptorRecord): OpensteerExtractionDescriptorRecord | undefined;
3726
+
3652
3727
  declare const OPENSTEER_ENGINE_NAMES: readonly ["playwright", "abp"];
3653
3728
  type OpensteerEngineName = (typeof OPENSTEER_ENGINE_NAMES)[number];
3654
3729
  declare const DEFAULT_OPENSTEER_ENGINE: OpensteerEngineName;
@@ -3759,6 +3834,14 @@ interface OpensteerRuntimeOptions {
3759
3834
  readonly engineFactory?: OpensteerEngineFactory;
3760
3835
  readonly policy?: OpensteerPolicy;
3761
3836
  readonly descriptorStore?: DomDescriptorStore$1;
3837
+ readonly extractionDescriptorStore?: OpensteerExtractionDescriptorStore$1;
3838
+ readonly registryOverrides?: {
3839
+ readonly requestPlans?: RequestPlanRegistryStore;
3840
+ readonly authRecipes?: AuthRecipeRegistryStore;
3841
+ readonly recipes?: RecipeRegistryStore;
3842
+ readonly reverseCases?: ReverseCaseRegistryStore;
3843
+ readonly reversePackages?: ReversePackageRegistryStore;
3844
+ };
3762
3845
  readonly cleanupRootOnClose?: boolean;
3763
3846
  }
3764
3847
  interface OpensteerSessionRuntimeOptions {
@@ -3773,6 +3856,14 @@ interface OpensteerSessionRuntimeOptions {
3773
3856
  readonly engineFactory?: OpensteerEngineFactory;
3774
3857
  readonly policy?: OpensteerPolicy;
3775
3858
  readonly descriptorStore?: DomDescriptorStore$1;
3859
+ readonly extractionDescriptorStore?: OpensteerExtractionDescriptorStore$1;
3860
+ readonly registryOverrides?: {
3861
+ readonly requestPlans?: RequestPlanRegistryStore;
3862
+ readonly authRecipes?: AuthRecipeRegistryStore;
3863
+ readonly recipes?: RecipeRegistryStore;
3864
+ readonly reverseCases?: ReverseCaseRegistryStore;
3865
+ readonly reversePackages?: ReversePackageRegistryStore;
3866
+ };
3776
3867
  readonly cleanupRootOnClose?: boolean;
3777
3868
  }
3778
3869
  declare class OpensteerRuntime extends OpensteerSessionRuntime$1 {
@@ -3782,14 +3873,14 @@ declare class OpensteerSessionRuntime extends OpensteerSessionRuntime$1 {
3782
3873
  constructor(options: OpensteerSessionRuntimeOptions);
3783
3874
  }
3784
3875
 
3785
- declare const OPENSTEER_PROVIDER_KINDS: readonly ["local", "cloud"];
3786
- type OpensteerProviderKind = (typeof OPENSTEER_PROVIDER_KINDS)[number];
3876
+ declare const OPENSTEER_PROVIDER_MODES: readonly ["local", "cloud"];
3877
+ type OpensteerProviderMode = (typeof OPENSTEER_PROVIDER_MODES)[number];
3787
3878
  type OpensteerProviderSource = "explicit" | "env" | "default";
3788
3879
  interface OpensteerLocalProviderOptions {
3789
- readonly kind: "local";
3880
+ readonly mode: "local";
3790
3881
  }
3791
3882
  interface OpensteerCloudProviderOptions {
3792
- readonly kind: "cloud";
3883
+ readonly mode: "cloud";
3793
3884
  readonly apiKey?: string;
3794
3885
  readonly baseUrl?: string;
3795
3886
  readonly browserProfile?: CloudBrowserProfilePreference;
@@ -3798,11 +3889,11 @@ interface OpensteerCloudProviderOptions {
3798
3889
  }
3799
3890
  type OpensteerProviderOptions = OpensteerLocalProviderOptions | OpensteerCloudProviderOptions;
3800
3891
  interface OpensteerResolvedProvider {
3801
- readonly kind: OpensteerProviderKind;
3892
+ readonly mode: OpensteerProviderMode;
3802
3893
  readonly source: OpensteerProviderSource;
3803
3894
  }
3804
- declare function assertProviderSupportsEngine(provider: OpensteerProviderKind, engine: string): void;
3805
- declare function normalizeOpensteerProviderKind(value: string, source?: string): OpensteerProviderKind;
3895
+ declare function assertProviderSupportsEngine(provider: OpensteerProviderMode, engine: string): void;
3896
+ declare function normalizeOpensteerProviderMode(value: string, source?: string): OpensteerProviderMode;
3806
3897
  declare function resolveOpensteerProvider(input?: {
3807
3898
  readonly provider?: OpensteerProviderOptions;
3808
3899
  readonly environmentProvider?: string;
@@ -3899,8 +3990,8 @@ type OpensteerComputerExecuteOptions = OpensteerComputerExecuteInput;
3899
3990
  type OpensteerComputerExecuteResult = OpensteerComputerExecuteOutput;
3900
3991
  type OpensteerNetworkQueryOptions = OpensteerNetworkQueryInput;
3901
3992
  type OpensteerNetworkQueryResult = OpensteerNetworkQueryOutput;
3902
- type OpensteerNetworkSaveOptions = OpensteerNetworkSaveInput;
3903
- type OpensteerNetworkSaveResult = OpensteerNetworkSaveOutput;
3993
+ type OpensteerNetworkTagOptions = OpensteerNetworkTagInput;
3994
+ type OpensteerNetworkTagResult = OpensteerNetworkTagOutput;
3904
3995
  type OpensteerNetworkMinimizeOptions = OpensteerNetworkMinimizeInput;
3905
3996
  type OpensteerNetworkMinimizeResult = OpensteerNetworkMinimizeOutput;
3906
3997
  type OpensteerNetworkDiffOptions = OpensteerNetworkDiffInput;
@@ -3990,7 +4081,7 @@ declare class Opensteer {
3990
4081
  waitForResponse(input: OpensteerWaitForNetworkOptions): Promise<OpensteerNetworkQueryResult["records"][number]>;
3991
4082
  waitForPage(input?: OpensteerWaitForPageOptions): Promise<OpensteerPageListOutput["pages"][number]>;
3992
4083
  snapshot(input?: OpensteerSnapshotOptions): Promise<OpensteerSnapshotResult>;
3993
- saveNetwork(input: OpensteerNetworkSaveOptions): Promise<OpensteerNetworkSaveResult>;
4084
+ tagNetwork(input: OpensteerNetworkTagOptions): Promise<OpensteerNetworkTagResult>;
3994
4085
  minimizeNetwork(input: OpensteerNetworkMinimizeOptions): Promise<OpensteerNetworkMinimizeResult>;
3995
4086
  diffNetwork(input: OpensteerNetworkDiffOptions): Promise<OpensteerNetworkDiffResult>;
3996
4087
  probeNetwork(input: OpensteerNetworkProbeOptions): Promise<OpensteerNetworkProbeResult>;
@@ -4073,7 +4164,7 @@ interface OpensteerSemanticRuntime {
4073
4164
  scroll(input: OpensteerDomScrollInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerActionResult>;
4074
4165
  extract(input: OpensteerDomExtractInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerDomExtractOutput>;
4075
4166
  queryNetwork(input?: OpensteerNetworkQueryInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkQueryOutput>;
4076
- saveNetwork(input: OpensteerNetworkSaveInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkSaveOutput>;
4167
+ tagNetwork(input: OpensteerNetworkTagInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkTagOutput>;
4077
4168
  minimizeNetwork(input: OpensteerNetworkMinimizeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkMinimizeOutput>;
4078
4169
  diffNetwork(input: OpensteerNetworkDiffInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkDiffOutput>;
4079
4170
  probeNetwork(input: OpensteerTransportProbeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerTransportProbeOutput>;
@@ -4189,9 +4280,12 @@ declare class OpensteerCloudClient {
4189
4280
  getBrowserProfileImport(importId: string): Promise<BrowserProfileImportDescriptor>;
4190
4281
  syncBrowserProfileCookies(input: SyncBrowserProfileCookiesInput): Promise<BrowserProfileImportDescriptor>;
4191
4282
  importSelectorCache(entries: readonly CloudSelectorCacheImportEntry[]): Promise<CloudSelectorCacheImportResponse>;
4283
+ importDescriptors(entries: readonly CloudRegistryImportEntry[]): Promise<CloudRegistryImportResponse>;
4192
4284
  importRequestPlans(entries: readonly CloudRequestPlanImportEntry[]): Promise<CloudRegistryImportResponse>;
4193
4285
  importRecipes(entries: readonly CloudRegistryImportEntry[]): Promise<CloudRegistryImportResponse>;
4194
4286
  importAuthRecipes(entries: readonly CloudRegistryImportEntry[]): Promise<CloudRegistryImportResponse>;
4287
+ importReverseCases(entries: readonly CloudRegistryImportEntry[]): Promise<CloudRegistryImportResponse>;
4288
+ importReversePackages(entries: readonly CloudRegistryImportEntry[]): Promise<CloudRegistryImportResponse>;
4195
4289
  buildAuthorizationHeader(): string;
4196
4290
  private buildHeaders;
4197
4291
  private request;
@@ -4273,7 +4367,7 @@ declare class CloudSessionProxy implements OpensteerDisconnectableRuntime {
4273
4367
  scroll(input: OpensteerDomScrollInput): Promise<OpensteerActionResult>;
4274
4368
  extract(input: OpensteerDomExtractInput): Promise<OpensteerDomExtractOutput>;
4275
4369
  queryNetwork(input?: OpensteerNetworkQueryInput): Promise<OpensteerNetworkQueryOutput>;
4276
- saveNetwork(input: OpensteerNetworkSaveInput): Promise<OpensteerNetworkSaveOutput>;
4370
+ tagNetwork(input: OpensteerNetworkTagInput): Promise<OpensteerNetworkTagOutput>;
4277
4371
  minimizeNetwork(input: OpensteerNetworkMinimizeInput): Promise<OpensteerNetworkMinimizeOutput>;
4278
4372
  diffNetwork(input: OpensteerNetworkDiffInput): Promise<OpensteerNetworkDiffOutput>;
4279
4373
  probeNetwork(input: OpensteerTransportProbeInput): Promise<OpensteerTransportProbeOutput>;
@@ -4374,4 +4468,4 @@ declare function discoverLocalCdpBrowsers(input?: {
4374
4468
  readonly timeoutMs?: number;
4375
4469
  }): Promise<readonly LocalCdpBrowserCandidate[]>;
4376
4470
 
4377
- export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactScope, type AuthRecipeRecord, type AuthRecipeRegistryStore, type BrowserProfileArchiveFormat, type BrowserProfileCreateRequest, type BrowserProfileDescriptor, type BrowserProfileImportCreateRequest, type BrowserProfileImportCreateResponse, type BrowserProfileImportDescriptor, type BrowserProfileImportStatus, type BrowserProfileListResponse, type BrowserProfileStatus, type CloudBrowserContextConfig, type CloudBrowserExtensionConfig, type CloudBrowserLaunchConfig, type CloudBrowserProfileLaunchPreference, type CloudBrowserProfilePreference, type CloudFingerprintMode, type CloudFingerprintPreference, type CloudGeolocation, type CloudProxyMode, type CloudProxyPreference, type CloudProxyProtocol, type CloudRegistryImportEntry, type CloudRegistryImportRequest, type CloudRegistryImportResponse, type CloudRequestPlanImportEntry, type CloudRequestPlanImportRequest, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, type CloudSessionLaunchConfig, CloudSessionProxy, type CloudSessionProxyOptions, type CloudSessionSourceType, type CloudSessionStatus, type CloudSessionSummary, type CloudSessionVisibilityScope, type CloudViewport, type ContextHop, type CreateFilesystemOpensteerWorkspaceOptions, type CreateTraceRunInput, DEFAULT_OPENSTEER_ENGINE, DEFERRED_MATCH_ATTR_KEYS, type DescriptorRecord, type DescriptorRegistryStore, type DomActionBridge, type DomActionBridgeProvider, type DomActionOutcome, type DomActionPolicyOperation, type DomActionScrollAlignment, type DomActionScrollOptions, type DomActionSettleOptions, type DomActionTargetInspection, type DomArrayFieldSelector, type DomArrayRowMetadata, type DomArraySelector, type DomBuildPathInput, type DomClickInput, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomExtractArrayRowsInput, type DomExtractFieldSelector, type DomExtractFieldsInput, type DomExtractedArrayRow, type DomHoverInput, type DomInputInput, type DomPath, type DomReadDescriptorInput, type DomResolveTargetInput, type DomRuntime, type DomScrollInput, type DomTargetRef, type DomWriteDescriptorInput, type ElementPath, ElementPathError, type FallbackDecision, type FallbackEvaluationInput, type FallbackPolicy, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type LocalCdpBrowserCandidate, type LocalChromeProfileDescriptor, MATCH_ATTRIBUTE_PRIORITY, type MatchClause, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, Opensteer, type OpensteerAddInitScriptOptions, type OpensteerArtifactReadOptions, type OpensteerArtifactReadResult, type OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserStatus, type OpensteerCaptchaSolveOptions, type OpensteerCaptchaSolveResult, type OpensteerCaptureScriptsOptions, type OpensteerCaptureScriptsResult, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerComputerExecuteResult, type OpensteerDisconnectableRuntime, type OpensteerEngineName, type OpensteerExtractOptions, type OpensteerFetchedRouteResponse, type OpensteerInputOptions, type OpensteerInteractionCaptureOptions, type OpensteerInteractionCaptureResult, type OpensteerInteractionDiffOptions, type OpensteerInteractionDiffResult, type OpensteerInteractionReplayOptions, type OpensteerInteractionReplayResult, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkClearOptions, type OpensteerNetworkClearResult, type OpensteerNetworkDiffOptions, type OpensteerNetworkDiffResult, type OpensteerNetworkMinimizeOptions, type OpensteerNetworkMinimizeResult, type OpensteerNetworkProbeOptions, type OpensteerNetworkProbeResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerNetworkSaveOptions, type OpensteerNetworkSaveResult, type OpensteerOptions, type OpensteerPolicy, type OpensteerProviderKind, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerRawRequestOptions, type OpensteerRawRequestResult, type OpensteerRequestOptions, type OpensteerRequestResult, type OpensteerResolvedProvider, type OpensteerReverseDiscoverOptions, type OpensteerReverseDiscoverResult, type OpensteerReverseExportOptions, type OpensteerReverseExportResult, type OpensteerReversePackageCreateOptions, type OpensteerReversePackageCreateResult, type OpensteerReversePackageGetOptions, type OpensteerReversePackageGetResult, type OpensteerReversePackageListOptions, type OpensteerReversePackageListResult, type OpensteerReversePackagePatchOptions, type OpensteerReversePackagePatchResult, type OpensteerReversePackageRunOptions, type OpensteerReversePackageRunResult, type OpensteerReverseQueryOptions, type OpensteerReverseQueryResult, type OpensteerReverseReportOptions, type OpensteerReverseReportResult, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, OpensteerRuntime, type OpensteerRuntimeOptions, type OpensteerScriptBeautifyOptions, type OpensteerScriptBeautifyResult, type OpensteerScriptDeobfuscateOptions, type OpensteerScriptDeobfuscateResult, type OpensteerScriptSandboxOptions, type OpensteerScriptSandboxResult, type OpensteerScrollOptions, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerSnapshotOptions, type OpensteerSnapshotResult, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForNetworkOptions, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, type ReverseCaseRecord, type ReverseCaseRegistryStore, type ReversePackageRecord, type ReversePackageRegistryStore, type ReverseReportRecord, type ReverseReportRegistryStore, STABLE_PRIMARY_ATTR_KEYS, type SavedNetworkQueryInput, type SavedNetworkStore, type SettleContext, type SettleDelayInput, type SettleObserver, type SettlePolicy, type SettleTrigger, type StoredArtifactPayload, type StoredArtifactRecord, type StructuralElementAnchor, type StructuredArtifactKind, type SyncBrowserProfileCookiesInput, type TimeoutExecutionContext, type TimeoutPolicy, type TimeoutResolutionInput, type TraceEntryRecord, type TraceRunManifest, type UpdateReverseCaseInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteAuthRecipeInput, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRecipeInput, type WriteRequestPlanInput, type WriteReverseCaseInput, type WriteReversePackageInput, type WriteReverseReportInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomRuntime, createFilesystemOpensteerWorkspace, createOpensteerSemanticRuntime, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, dispatchSemanticOperation, inspectCdpEndpoint, isCurrentUrlField, isValidCssAttributeKey, listLocalChromeProfiles, normalizeExtractedValue, normalizeOpensteerEngineName, normalizeOpensteerProviderKind, normalizeWorkspaceId, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord };
4471
+ export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactScope, type AuthRecipeRecord, type AuthRecipeRegistryStore, type BrowserProfileArchiveFormat, type BrowserProfileCreateRequest, type BrowserProfileDescriptor, type BrowserProfileImportCreateRequest, type BrowserProfileImportCreateResponse, type BrowserProfileImportDescriptor, type BrowserProfileImportStatus, type BrowserProfileListResponse, type BrowserProfileStatus, type CloudBrowserContextConfig, type CloudBrowserExtensionConfig, type CloudBrowserLaunchConfig, type CloudBrowserProfileLaunchPreference, type CloudBrowserProfilePreference, type CloudFingerprintMode, type CloudFingerprintPreference, type CloudGeolocation, type CloudProxyMode, type CloudProxyPreference, type CloudProxyProtocol, type CloudRegistryImportEntry, type CloudRegistryImportRequest, type CloudRegistryImportResponse, type CloudRequestPlanImportEntry, type CloudRequestPlanImportRequest, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, type CloudSessionLaunchConfig, CloudSessionProxy, type CloudSessionProxyOptions, type CloudSessionSourceType, type CloudSessionStatus, type CloudSessionSummary, type CloudSessionVisibilityScope, type CloudViewport, type ContextHop, type CreateFilesystemOpensteerWorkspaceOptions, type CreateTraceRunInput, DEFAULT_OPENSTEER_ENGINE, DEFERRED_MATCH_ATTR_KEYS, type DescriptorRecord, type DescriptorRegistryStore, type DomActionBridge, type DomActionBridgeProvider, type DomActionOutcome, type DomActionPolicyOperation, type DomActionScrollAlignment, type DomActionScrollOptions, type DomActionSettleOptions, type DomActionTargetInspection, type DomArrayFieldSelector, type DomArrayRowMetadata, type DomArraySelector, type DomBuildPathInput, type DomClickInput, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomExtractArrayRowsInput, type DomExtractFieldSelector, type DomExtractFieldsInput, type DomExtractedArrayRow, type DomHoverInput, type DomInputInput, type DomPath, type DomReadDescriptorInput, type DomResolveTargetInput, type DomRuntime, type DomScrollInput, type DomTargetRef, type DomWriteDescriptorInput, type ElementPath, ElementPathError, type FallbackDecision, type FallbackEvaluationInput, type FallbackPolicy, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type LocalCdpBrowserCandidate, type LocalChromeProfileDescriptor, MATCH_ATTRIBUTE_PRIORITY, type MatchClause, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, Opensteer, type OpensteerAddInitScriptOptions, type OpensteerArtifactReadOptions, type OpensteerArtifactReadResult, type OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserStatus, type OpensteerCaptchaSolveOptions, type OpensteerCaptchaSolveResult, type OpensteerCaptureScriptsOptions, type OpensteerCaptureScriptsResult, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerComputerExecuteResult, type OpensteerDisconnectableRuntime, type OpensteerEngineName, type OpensteerExtractOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerFetchedRouteResponse, type OpensteerInputOptions, type OpensteerInteractionCaptureOptions, type OpensteerInteractionCaptureResult, type OpensteerInteractionDiffOptions, type OpensteerInteractionDiffResult, type OpensteerInteractionReplayOptions, type OpensteerInteractionReplayResult, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkClearOptions, type OpensteerNetworkClearResult, type OpensteerNetworkDiffOptions, type OpensteerNetworkDiffResult, type OpensteerNetworkMinimizeOptions, type OpensteerNetworkMinimizeResult, type OpensteerNetworkProbeOptions, type OpensteerNetworkProbeResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerNetworkTagOptions, type OpensteerNetworkTagResult, type OpensteerOptions, type OpensteerPolicy, type OpensteerProviderMode, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerRawRequestOptions, type OpensteerRawRequestResult, type OpensteerRequestOptions, type OpensteerRequestResult, type OpensteerResolvedProvider, type OpensteerReverseDiscoverOptions, type OpensteerReverseDiscoverResult, type OpensteerReverseExportOptions, type OpensteerReverseExportResult, type OpensteerReversePackageCreateOptions, type OpensteerReversePackageCreateResult, type OpensteerReversePackageGetOptions, type OpensteerReversePackageGetResult, type OpensteerReversePackageListOptions, type OpensteerReversePackageListResult, type OpensteerReversePackagePatchOptions, type OpensteerReversePackagePatchResult, type OpensteerReversePackageRunOptions, type OpensteerReversePackageRunResult, type OpensteerReverseQueryOptions, type OpensteerReverseQueryResult, type OpensteerReverseReportOptions, type OpensteerReverseReportResult, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, OpensteerRuntime, type OpensteerRuntimeOptions, type OpensteerScriptBeautifyOptions, type OpensteerScriptBeautifyResult, type OpensteerScriptDeobfuscateOptions, type OpensteerScriptDeobfuscateResult, type OpensteerScriptSandboxOptions, type OpensteerScriptSandboxResult, type OpensteerScrollOptions, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerSnapshotOptions, type OpensteerSnapshotResult, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForNetworkOptions, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, type ReverseCaseRecord, type ReverseCaseRegistryStore, type ReversePackageRecord, type ReversePackageRegistryStore, type ReverseReportRecord, type ReverseReportRegistryStore, STABLE_PRIMARY_ATTR_KEYS, type SavedNetworkQueryInput, type SavedNetworkStore, type SettleContext, type SettleDelayInput, type SettleObserver, type SettlePolicy, type SettleTrigger, type StoredArtifactPayload, type StoredArtifactRecord, type StructuralElementAnchor, type StructuredArtifactKind, type SyncBrowserProfileCookiesInput, type TimeoutExecutionContext, type TimeoutPolicy, type TimeoutResolutionInput, type TraceEntryRecord, type TraceRunManifest, type UpdateReverseCaseInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteAuthRecipeInput, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRecipeInput, type WriteRequestPlanInput, type WriteReverseCaseInput, type WriteReversePackageInput, type WriteReverseReportInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomRuntime, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, createOpensteerSemanticRuntime, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, dispatchSemanticOperation, hashDomDescriptorDescription, inspectCdpEndpoint, isCurrentUrlField, isValidCssAttributeKey, listLocalChromeProfiles, normalizeExtractedValue, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { resolveOpensteerRuntimeConfig, createOpensteerSemanticRuntime, OpensteerBrowserManager } from './chunk-C7GWMSTV.js';
2
- export { CloudSessionProxy, DEFAULT_OPENSTEER_ENGINE, DEFERRED_MATCH_ATTR_KEYS, ElementPathError, MATCH_ATTRIBUTE_PRIORITY, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OpensteerAttachAmbiguousError, OpensteerBrowserManager, OpensteerCloudClient, OpensteerRuntime, OpensteerSessionRuntime, STABLE_PRIMARY_ATTR_KEYS, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomRuntime, createFilesystemOpensteerWorkspace, createOpensteerSemanticRuntime, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, dispatchSemanticOperation, inspectCdpEndpoint, isCurrentUrlField, isValidCssAttributeKey, listLocalChromeProfiles, normalizeExtractedValue, normalizeOpensteerEngineName, normalizeOpensteerProviderKind, normalizeWorkspaceId, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord } from './chunk-C7GWMSTV.js';
1
+ import { resolveOpensteerRuntimeConfig, createOpensteerSemanticRuntime, OpensteerBrowserManager } from './chunk-IAA57HNW.js';
2
+ export { CloudSessionProxy, DEFAULT_OPENSTEER_ENGINE, DEFERRED_MATCH_ATTR_KEYS, ElementPathError, MATCH_ATTRIBUTE_PRIORITY, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OpensteerAttachAmbiguousError, OpensteerBrowserManager, OpensteerCloudClient, OpensteerRuntime, OpensteerSessionRuntime, STABLE_PRIMARY_ATTR_KEYS, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomRuntime, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, createOpensteerSemanticRuntime, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, dispatchSemanticOperation, hashDomDescriptorDescription, inspectCdpEndpoint, isCurrentUrlField, isValidCssAttributeKey, listLocalChromeProfiles, normalizeExtractedValue, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord } from './chunk-IAA57HNW.js';
3
3
 
4
4
  // src/sdk/opensteer.ts
5
5
  var Opensteer = class {
@@ -12,7 +12,7 @@ var Opensteer = class {
12
12
  ...provider === void 0 ? {} : { provider },
13
13
  ...process.env.OPENSTEER_PROVIDER === void 0 ? {} : { environmentProvider: process.env.OPENSTEER_PROVIDER }
14
14
  });
15
- if (runtimeConfig.provider.kind === "cloud") {
15
+ if (runtimeConfig.provider.mode === "cloud") {
16
16
  this.browserManager = void 0;
17
17
  this.runtime = createOpensteerSemanticRuntime({
18
18
  ...provider === void 0 ? {} : { provider },
@@ -121,13 +121,20 @@ var Opensteer = class {
121
121
  const { timeoutMs, pollIntervalMs, ...query } = input;
122
122
  const timeoutAt = Date.now() + (timeoutMs ?? 3e4);
123
123
  const pollInterval = pollIntervalMs ?? 100;
124
+ const baseline = new Set(
125
+ (await this.runtime.queryNetwork({
126
+ ...query,
127
+ limit: 200
128
+ })).records.map((record) => record.recordId)
129
+ );
124
130
  while (true) {
125
131
  const { records } = await this.runtime.queryNetwork({
126
132
  ...query,
127
- limit: 1
133
+ limit: 200
128
134
  });
129
- if (records[0] !== void 0) {
130
- return records[0];
135
+ const next = records.find((record) => !baseline.has(record.recordId));
136
+ if (next !== void 0) {
137
+ return next;
131
138
  }
132
139
  if (Date.now() >= timeoutAt) {
133
140
  throw new Error("waitForNetwork timed out");
@@ -168,8 +175,8 @@ var Opensteer = class {
168
175
  async snapshot(input = {}) {
169
176
  return this.runtime.snapshot(typeof input === "string" ? { mode: input } : input);
170
177
  }
171
- async saveNetwork(input) {
172
- return this.runtime.saveNetwork(input);
178
+ async tagNetwork(input) {
179
+ return this.runtime.tagNetwork(input);
173
180
  }
174
181
  async minimizeNetwork(input) {
175
182
  return this.runtime.minimizeNetwork(input);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sdk/opensteer.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n OpensteerArtifactReadInput,\n OpensteerArtifactReadOutput,\n CookieRecord,\n OpensteerAddInitScriptInput,\n OpensteerAddInitScriptOutput,\n OpensteerCaptchaSolveInput,\n OpensteerCaptchaSolveOutput,\n OpensteerCaptureScriptsInput,\n OpensteerCaptureScriptsOutput,\n OpensteerGetRecipeInput,\n OpensteerGetAuthRecipeInput,\n OpensteerActionResult,\n OpensteerComputerExecuteInput,\n OpensteerComputerExecuteOutput,\n OpensteerDomExtractOutput,\n OpensteerGetRequestPlanInput,\n OpensteerInferRequestPlanInput,\n OpensteerListRecipesInput,\n OpensteerListRecipesOutput,\n OpensteerListAuthRecipesInput,\n OpensteerListAuthRecipesOutput,\n OpensteerNetworkClearInput,\n OpensteerNetworkClearOutput,\n OpensteerNetworkDiffInput,\n OpensteerNetworkDiffOutput,\n OpensteerNetworkMinimizeInput,\n OpensteerNetworkMinimizeOutput,\n OpensteerNetworkQueryInput,\n OpensteerNetworkQueryOutput,\n OpensteerNetworkSaveInput,\n OpensteerNetworkSaveOutput,\n OpensteerInteractionCaptureInput,\n OpensteerInteractionCaptureOutput,\n OpensteerInteractionDiffInput,\n OpensteerInteractionDiffOutput,\n OpensteerInteractionGetInput,\n OpensteerInteractionGetOutput,\n OpensteerInteractionReplayInput,\n OpensteerInteractionReplayOutput,\n OpensteerPageActivateInput,\n OpensteerPageActivateOutput,\n OpensteerPageCloseInput,\n OpensteerPageCloseOutput,\n OpensteerPageEvaluateInput,\n OpensteerPageEvaluateOutput,\n OpensteerPageGotoInput,\n OpensteerPageGotoOutput,\n OpensteerPageListInput,\n OpensteerPageListOutput,\n OpensteerPageNewInput,\n OpensteerPageNewOutput,\n OpensteerPageSnapshotInput,\n OpensteerPageSnapshotOutput,\n OpensteerListRequestPlansInput,\n OpensteerListRequestPlansOutput,\n OpensteerRawRequestInput,\n OpensteerRawRequestOutput,\n OpensteerRequestExecuteInput,\n OpensteerRequestExecuteOutput,\n OpensteerRunRecipeInput,\n OpensteerRunRecipeOutput,\n OpensteerRunAuthRecipeInput,\n OpensteerRunAuthRecipeOutput,\n OpensteerSessionInfo,\n OpensteerScriptBeautifyInput,\n OpensteerScriptBeautifyOutput,\n OpensteerScriptDeobfuscateInput,\n OpensteerScriptDeobfuscateOutput,\n OpensteerScriptSandboxInput,\n OpensteerScriptSandboxOutput,\n OpensteerReverseExportInput,\n OpensteerReverseExportOutput,\n OpensteerReverseDiscoverInput,\n OpensteerReverseDiscoverOutput,\n OpensteerReverseQueryInput,\n OpensteerReverseQueryOutput,\n OpensteerReversePackageCreateInput,\n OpensteerReversePackageCreateOutput,\n OpensteerReversePackageGetInput,\n OpensteerReversePackageGetOutput,\n OpensteerReversePackageListInput,\n OpensteerReversePackageListOutput,\n OpensteerReversePackagePatchInput,\n OpensteerReversePackagePatchOutput,\n OpensteerReversePackageRunInput,\n OpensteerReversePackageRunOutput,\n OpensteerReverseReportInput,\n OpensteerReverseReportOutput,\n OpensteerSessionCloseOutput,\n OpensteerOpenInput,\n OpensteerOpenOutput,\n OpensteerSnapshotMode,\n OpensteerTargetInput,\n OpensteerTransportProbeInput,\n OpensteerTransportProbeOutput,\n OpensteerWriteRecipeInput,\n OpensteerWriteAuthRecipeInput,\n OpensteerWriteRequestPlanInput,\n StorageSnapshot,\n} from \"@opensteer/protocol\";\n\nimport type { AuthRecipeRecord, RecipeRecord, RequestPlanRecord } from \"../registry.js\";\nimport {\n OpensteerBrowserManager,\n type OpensteerBrowserStatus,\n type WorkspaceBrowserManifest,\n} from \"../browser-manager.js\";\nimport { OpensteerRuntime, type OpensteerRuntimeOptions } from \"./runtime.js\";\nimport {\n createOpensteerSemanticRuntime,\n resolveOpensteerRuntimeConfig,\n} from \"./runtime-resolution.js\";\nimport type { OpensteerProviderOptions } from \"../provider/config.js\";\nimport type {\n OpensteerInterceptScriptOptions,\n OpensteerInstrumentableRuntime,\n OpensteerRouteOptions,\n OpensteerRouteRegistration,\n} from \"./instrumentation.js\";\nimport type { OpensteerDisconnectableRuntime } from \"./semantic-runtime.js\";\n\nexport interface OpensteerTargetOptions {\n readonly element?: number;\n readonly selector?: string;\n readonly description?: string;\n readonly networkTag?: string;\n}\n\nexport interface OpensteerInputOptions extends OpensteerTargetOptions {\n readonly text: string;\n readonly pressEnter?: boolean;\n}\n\nexport interface OpensteerScrollOptions extends OpensteerTargetOptions {\n readonly direction: \"up\" | \"down\" | \"left\" | \"right\";\n readonly amount: number;\n}\n\nexport interface OpensteerExtractOptions {\n readonly description: string;\n readonly schema?: Record<string, unknown>;\n}\n\nexport interface OpensteerWaitForNetworkOptions extends OpensteerNetworkQueryInput {\n readonly timeoutMs?: number;\n readonly pollIntervalMs?: number;\n}\n\nexport interface OpensteerWaitForPageOptions {\n readonly openerPageRef?: string;\n readonly urlIncludes?: string;\n readonly timeoutMs?: number;\n readonly pollIntervalMs?: number;\n}\n\nexport type OpensteerGotoOptions = OpensteerPageGotoInput;\nexport type OpensteerSnapshotOptions = OpensteerSnapshotMode | OpensteerPageSnapshotInput;\nexport type OpensteerSnapshotResult = OpensteerPageSnapshotOutput;\n\nexport type OpensteerComputerExecuteOptions = OpensteerComputerExecuteInput;\nexport type OpensteerComputerExecuteResult = OpensteerComputerExecuteOutput;\nexport type OpensteerNetworkQueryOptions = OpensteerNetworkQueryInput;\nexport type OpensteerNetworkQueryResult = OpensteerNetworkQueryOutput;\nexport type OpensteerNetworkSaveOptions = OpensteerNetworkSaveInput;\nexport type OpensteerNetworkSaveResult = OpensteerNetworkSaveOutput;\nexport type OpensteerNetworkMinimizeOptions = OpensteerNetworkMinimizeInput;\nexport type OpensteerNetworkMinimizeResult = OpensteerNetworkMinimizeOutput;\nexport type OpensteerNetworkDiffOptions = OpensteerNetworkDiffInput;\nexport type OpensteerNetworkDiffResult = OpensteerNetworkDiffOutput;\nexport type OpensteerNetworkProbeOptions = OpensteerTransportProbeInput;\nexport type OpensteerNetworkProbeResult = OpensteerTransportProbeOutput;\nexport type OpensteerReverseDiscoverOptions = OpensteerReverseDiscoverInput;\nexport type OpensteerReverseDiscoverResult = OpensteerReverseDiscoverOutput;\nexport type OpensteerReverseQueryOptions = OpensteerReverseQueryInput;\nexport type OpensteerReverseQueryResult = OpensteerReverseQueryOutput;\nexport type OpensteerReversePackageCreateOptions = OpensteerReversePackageCreateInput;\nexport type OpensteerReversePackageCreateResult = OpensteerReversePackageCreateOutput;\nexport type OpensteerReversePackageRunOptions = OpensteerReversePackageRunInput;\nexport type OpensteerReversePackageRunResult = OpensteerReversePackageRunOutput;\nexport type OpensteerReverseExportOptions = OpensteerReverseExportInput;\nexport type OpensteerReverseExportResult = OpensteerReverseExportOutput;\nexport type OpensteerReverseReportOptions = OpensteerReverseReportInput;\nexport type OpensteerReverseReportResult = OpensteerReverseReportOutput;\nexport type OpensteerReversePackageGetOptions = OpensteerReversePackageGetInput;\nexport type OpensteerReversePackageGetResult = OpensteerReversePackageGetOutput;\nexport type OpensteerReversePackageListOptions = OpensteerReversePackageListInput;\nexport type OpensteerReversePackageListResult = OpensteerReversePackageListOutput;\nexport type OpensteerReversePackagePatchOptions = OpensteerReversePackagePatchInput;\nexport type OpensteerReversePackagePatchResult = OpensteerReversePackagePatchOutput;\nexport type OpensteerInteractionCaptureOptions = OpensteerInteractionCaptureInput;\nexport type OpensteerInteractionCaptureResult = OpensteerInteractionCaptureOutput;\nexport type OpensteerInteractionGetOptions = OpensteerInteractionGetInput;\nexport type OpensteerInteractionGetResult = OpensteerInteractionGetOutput;\nexport type OpensteerInteractionDiffOptions = OpensteerInteractionDiffInput;\nexport type OpensteerInteractionDiffResult = OpensteerInteractionDiffOutput;\nexport type OpensteerInteractionReplayOptions = OpensteerInteractionReplayInput;\nexport type OpensteerInteractionReplayResult = OpensteerInteractionReplayOutput;\nexport type OpensteerNetworkClearOptions = OpensteerNetworkClearInput;\nexport type OpensteerNetworkClearResult = OpensteerNetworkClearOutput;\nexport type OpensteerRawRequestOptions = OpensteerRawRequestInput;\nexport type OpensteerRawRequestResult = OpensteerRawRequestOutput;\nexport type OpensteerRequestOptions = Omit<OpensteerRequestExecuteInput, \"key\">;\nexport type OpensteerRequestResult = OpensteerRequestExecuteOutput;\nexport type OpensteerCaptureScriptsOptions = OpensteerCaptureScriptsInput;\nexport type OpensteerCaptureScriptsResult = OpensteerCaptureScriptsOutput;\nexport type OpensteerScriptBeautifyOptions = OpensteerScriptBeautifyInput;\nexport type OpensteerScriptBeautifyResult = OpensteerScriptBeautifyOutput;\nexport type OpensteerScriptDeobfuscateOptions = OpensteerScriptDeobfuscateInput;\nexport type OpensteerScriptDeobfuscateResult = OpensteerScriptDeobfuscateOutput;\nexport type OpensteerScriptSandboxOptions = OpensteerScriptSandboxInput;\nexport type OpensteerScriptSandboxResult = OpensteerScriptSandboxOutput;\nexport type OpensteerArtifactReadOptions = OpensteerArtifactReadInput;\nexport type OpensteerArtifactReadResult = OpensteerArtifactReadOutput;\nexport type OpensteerCaptchaSolveOptions = OpensteerCaptchaSolveInput;\nexport type OpensteerCaptchaSolveResult = OpensteerCaptchaSolveOutput;\nexport type OpensteerAddInitScriptOptions = OpensteerAddInitScriptInput;\n\nexport interface OpensteerOptions extends OpensteerRuntimeOptions {\n readonly provider?: OpensteerProviderOptions;\n}\n\nexport interface OpensteerBrowserCloneOptions {\n readonly sourceUserDataDir: string;\n readonly sourceProfileDirectory?: string;\n}\n\nexport interface OpensteerBrowserController {\n status(): Promise<OpensteerBrowserStatus>;\n clone(input: OpensteerBrowserCloneOptions): Promise<WorkspaceBrowserManifest>;\n reset(): Promise<void>;\n delete(): Promise<void>;\n}\n\nexport class Opensteer {\n private readonly runtime: OpensteerDisconnectableRuntime;\n private readonly browserManager: OpensteerBrowserManager | undefined;\n readonly browser: OpensteerBrowserController;\n\n constructor(options: OpensteerOptions = {}) {\n const { provider, engineName, ...runtimeOptions } = options;\n const runtimeConfig = resolveOpensteerRuntimeConfig({\n ...(provider === undefined ? {} : { provider }),\n ...(process.env.OPENSTEER_PROVIDER === undefined\n ? {}\n : { environmentProvider: process.env.OPENSTEER_PROVIDER }),\n });\n\n if (runtimeConfig.provider.kind === \"cloud\") {\n this.browserManager = undefined;\n this.runtime = createOpensteerSemanticRuntime({\n ...(provider === undefined ? {} : { provider }),\n ...(engineName === undefined ? {} : { engine: engineName }),\n runtimeOptions: {\n ...runtimeOptions,\n },\n });\n this.browser = createUnsupportedBrowserController();\n return;\n }\n\n this.browserManager = new OpensteerBrowserManager({\n ...(runtimeOptions.rootDir === undefined ? {} : { rootDir: runtimeOptions.rootDir }),\n ...(runtimeOptions.rootPath === undefined ? {} : { rootPath: runtimeOptions.rootPath }),\n ...(runtimeOptions.workspace === undefined ? {} : { workspace: runtimeOptions.workspace }),\n ...(engineName === undefined ? {} : { engineName }),\n ...(runtimeOptions.browser === undefined ? {} : { browser: runtimeOptions.browser }),\n ...(runtimeOptions.launch === undefined ? {} : { launch: runtimeOptions.launch }),\n ...(runtimeOptions.context === undefined ? {} : { context: runtimeOptions.context }),\n });\n this.runtime = createOpensteerSemanticRuntime({\n ...(provider === undefined ? {} : { provider }),\n ...(engineName === undefined ? {} : { engine: engineName }),\n runtimeOptions: {\n ...runtimeOptions,\n rootPath: this.browserManager.rootPath,\n cleanupRootOnClose: this.browserManager.cleanupRootOnDisconnect,\n },\n });\n this.browser = {\n status: () => this.browserManager!.status(),\n clone: (input) => this.browserManager!.clonePersistentBrowser(input),\n reset: () => this.browserManager!.reset(),\n delete: () => this.browserManager!.delete(),\n };\n }\n\n async open(input: string | OpensteerOpenInput = {}): Promise<OpensteerOpenOutput> {\n return this.runtime.open(typeof input === \"string\" ? { url: input } : input);\n }\n\n async info(): Promise<OpensteerSessionInfo> {\n return this.runtime.info();\n }\n\n async listPages(input: OpensteerPageListInput = {}): Promise<OpensteerPageListOutput> {\n return this.runtime.listPages(input);\n }\n\n async newPage(input: OpensteerPageNewInput = {}): Promise<OpensteerPageNewOutput> {\n return this.runtime.newPage(input);\n }\n\n async activatePage(input: OpensteerPageActivateInput): Promise<OpensteerPageActivateOutput> {\n return this.runtime.activatePage(input);\n }\n\n async closePage(input: OpensteerPageCloseInput = {}): Promise<OpensteerPageCloseOutput> {\n return this.runtime.closePage(input);\n }\n\n async goto(input: string | OpensteerGotoOptions): Promise<OpensteerPageGotoOutput> {\n return this.runtime.goto(typeof input === \"string\" ? { url: input } : input);\n }\n\n async evaluate(\n input: string | OpensteerPageEvaluateInput,\n ): Promise<OpensteerPageEvaluateOutput[\"value\"]> {\n const normalized =\n typeof input === \"string\"\n ? {\n script: input,\n }\n : input;\n const result = await this.runtime.evaluate(normalized);\n return result.value;\n }\n\n async evaluateJson(\n input: string | OpensteerPageEvaluateInput,\n ): Promise<OpensteerPageEvaluateOutput[\"value\"]> {\n return this.evaluate(input);\n }\n\n async addInitScript(\n input: string | OpensteerAddInitScriptInput,\n ): Promise<OpensteerAddInitScriptOutput> {\n const normalized =\n typeof input === \"string\"\n ? {\n script: input,\n }\n : input;\n return this.runtime.addInitScript(normalized);\n }\n\n async click(input: OpensteerTargetOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.click(normalized);\n }\n\n async hover(input: OpensteerTargetOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.hover(normalized);\n }\n\n async input(input: OpensteerInputOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.input({\n ...normalized,\n text: input.text,\n ...(input.pressEnter === undefined ? {} : { pressEnter: input.pressEnter }),\n });\n }\n\n async scroll(input: OpensteerScrollOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.scroll({\n ...normalized,\n direction: input.direction,\n amount: input.amount,\n });\n }\n\n async extract(input: OpensteerExtractOptions): Promise<OpensteerDomExtractOutput[\"data\"]> {\n const result = await this.runtime.extract(input);\n return result.data;\n }\n\n async queryNetwork(\n input: OpensteerNetworkQueryOptions = {},\n ): Promise<OpensteerNetworkQueryResult> {\n return this.runtime.queryNetwork(input);\n }\n\n async waitForNetwork(\n input: OpensteerWaitForNetworkOptions,\n ): Promise<OpensteerNetworkQueryResult[\"records\"][number]> {\n const { timeoutMs, pollIntervalMs, ...query } = input;\n const timeoutAt = Date.now() + (timeoutMs ?? 30_000);\n const pollInterval = pollIntervalMs ?? 100;\n\n while (true) {\n const { records } = await this.runtime.queryNetwork({\n ...query,\n limit: 1,\n });\n if (records[0] !== undefined) {\n return records[0];\n }\n if (Date.now() >= timeoutAt) {\n throw new Error(\"waitForNetwork timed out\");\n }\n await delay(pollInterval);\n }\n }\n\n async waitForResponse(\n input: OpensteerWaitForNetworkOptions,\n ): Promise<OpensteerNetworkQueryResult[\"records\"][number]> {\n return this.waitForNetwork(input);\n }\n\n async waitForPage(\n input: OpensteerWaitForPageOptions = {},\n ): Promise<OpensteerPageListOutput[\"pages\"][number]> {\n const baseline = new Set((await this.runtime.listPages()).pages.map((page) => page.pageRef));\n const timeoutAt = Date.now() + (input.timeoutMs ?? 30_000);\n const pollIntervalMs = input.pollIntervalMs ?? 100;\n\n while (true) {\n const { pages } = await this.runtime.listPages();\n const match = pages.find((page) => {\n if (baseline.has(page.pageRef)) {\n return false;\n }\n if (input.openerPageRef !== undefined && page.openerPageRef !== input.openerPageRef) {\n return false;\n }\n if (input.urlIncludes !== undefined && !page.url.includes(input.urlIncludes)) {\n return false;\n }\n return true;\n });\n if (match !== undefined) {\n return match;\n }\n if (Date.now() >= timeoutAt) {\n throw new Error(\"waitForPage timed out\");\n }\n await delay(pollIntervalMs);\n }\n }\n\n async snapshot(input: OpensteerSnapshotOptions = {}): Promise<OpensteerSnapshotResult> {\n return this.runtime.snapshot(typeof input === \"string\" ? { mode: input } : input);\n }\n\n async saveNetwork(input: OpensteerNetworkSaveOptions): Promise<OpensteerNetworkSaveResult> {\n return this.runtime.saveNetwork(input);\n }\n\n async minimizeNetwork(\n input: OpensteerNetworkMinimizeOptions,\n ): Promise<OpensteerNetworkMinimizeResult> {\n return this.runtime.minimizeNetwork(input);\n }\n\n async diffNetwork(input: OpensteerNetworkDiffOptions): Promise<OpensteerNetworkDiffResult> {\n return this.runtime.diffNetwork(input);\n }\n\n async probeNetwork(input: OpensteerNetworkProbeOptions): Promise<OpensteerNetworkProbeResult> {\n return this.runtime.probeNetwork(input);\n }\n\n async reverseDiscover(\n input: OpensteerReverseDiscoverOptions = {},\n ): Promise<OpensteerReverseDiscoverResult> {\n return this.runtime.discoverReverse(input);\n }\n\n async reverseQuery(input: OpensteerReverseQueryOptions): Promise<OpensteerReverseQueryResult> {\n return this.runtime.queryReverse(input);\n }\n\n async createReversePackage(\n input: OpensteerReversePackageCreateOptions,\n ): Promise<OpensteerReversePackageCreateResult> {\n return this.runtime.createReversePackage(input);\n }\n\n async runReversePackage(\n input: OpensteerReversePackageRunOptions,\n ): Promise<OpensteerReversePackageRunResult> {\n return this.runtime.runReversePackage(input);\n }\n\n async reverseExport(input: OpensteerReverseExportOptions): Promise<OpensteerReverseExportResult> {\n return this.runtime.exportReverse(input);\n }\n\n async reverseReport(input: OpensteerReverseReportOptions): Promise<OpensteerReverseReportResult> {\n return this.runtime.getReverseReport(input);\n }\n\n async getReversePackage(\n input: OpensteerReversePackageGetOptions,\n ): Promise<OpensteerReversePackageGetResult> {\n return this.runtime.getReversePackage(input);\n }\n\n async listReversePackages(\n input: OpensteerReversePackageListOptions = {},\n ): Promise<OpensteerReversePackageListResult> {\n return this.runtime.listReversePackages(input);\n }\n\n async patchReversePackage(\n input: OpensteerReversePackagePatchOptions,\n ): Promise<OpensteerReversePackagePatchResult> {\n return this.runtime.patchReversePackage(input);\n }\n\n async interactionCapture(\n input: OpensteerInteractionCaptureOptions,\n ): Promise<OpensteerInteractionCaptureResult> {\n return this.runtime.captureInteraction(input);\n }\n\n async getInteraction(\n input: OpensteerInteractionGetOptions,\n ): Promise<OpensteerInteractionGetResult> {\n return this.runtime.getInteraction(input);\n }\n\n async interactionDiff(\n input: OpensteerInteractionDiffOptions,\n ): Promise<OpensteerInteractionDiffResult> {\n return this.runtime.diffInteraction(input);\n }\n\n async interactionReplay(\n input: OpensteerInteractionReplayOptions,\n ): Promise<OpensteerInteractionReplayResult> {\n return this.runtime.replayInteraction(input);\n }\n\n async clearNetwork(\n input: OpensteerNetworkClearOptions = {},\n ): Promise<OpensteerNetworkClearResult> {\n return this.runtime.clearNetwork(input);\n }\n\n async captureScripts(\n input: OpensteerCaptureScriptsOptions = {},\n ): Promise<OpensteerCaptureScriptsResult> {\n return this.runtime.captureScripts(input);\n }\n\n async readArtifact(input: OpensteerArtifactReadOptions): Promise<OpensteerArtifactReadResult> {\n return this.runtime.readArtifact(input);\n }\n\n async beautifyScript(\n input: OpensteerScriptBeautifyOptions,\n ): Promise<OpensteerScriptBeautifyResult> {\n return this.runtime.beautifyScript(input);\n }\n\n async deobfuscateScript(\n input: OpensteerScriptDeobfuscateOptions,\n ): Promise<OpensteerScriptDeobfuscateResult> {\n return this.runtime.deobfuscateScript(input);\n }\n\n async sandboxScript(input: OpensteerScriptSandboxOptions): Promise<OpensteerScriptSandboxResult> {\n return this.runtime.sandboxScript(input);\n }\n\n async solveCaptcha(input: OpensteerCaptchaSolveOptions): Promise<OpensteerCaptchaSolveResult> {\n return this.runtime.solveCaptcha(input);\n }\n\n async getCookies(\n input: { readonly urls?: readonly string[] } = {},\n ): Promise<readonly CookieRecord[]> {\n return this.runtime.getCookies(input);\n }\n\n async getStorageSnapshot(\n input: {\n readonly includeSessionStorage?: boolean;\n readonly includeIndexedDb?: boolean;\n } = {},\n ): Promise<StorageSnapshot> {\n return this.runtime.getStorageSnapshot(input);\n }\n\n async writeRequestPlan(input: OpensteerWriteRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.writeRequestPlan(input);\n }\n\n async inferRequestPlan(input: OpensteerInferRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.inferRequestPlan(input);\n }\n\n async getRequestPlan(input: OpensteerGetRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.getRequestPlan(input);\n }\n\n async listRequestPlans(\n input: OpensteerListRequestPlansInput = {},\n ): Promise<OpensteerListRequestPlansOutput> {\n return this.runtime.listRequestPlans(input);\n }\n\n async writeAuthRecipe(input: OpensteerWriteAuthRecipeInput): Promise<AuthRecipeRecord> {\n return this.runtime.writeAuthRecipe(input);\n }\n\n async writeRecipe(input: OpensteerWriteRecipeInput): Promise<RecipeRecord> {\n return this.runtime.writeRecipe(input);\n }\n\n async getAuthRecipe(input: OpensteerGetAuthRecipeInput): Promise<AuthRecipeRecord> {\n return this.runtime.getAuthRecipe(input);\n }\n\n async getRecipe(input: OpensteerGetRecipeInput): Promise<RecipeRecord> {\n return this.runtime.getRecipe(input);\n }\n\n async listAuthRecipes(\n input: OpensteerListAuthRecipesInput = {},\n ): Promise<OpensteerListAuthRecipesOutput> {\n return this.runtime.listAuthRecipes(input);\n }\n\n async listRecipes(input: OpensteerListRecipesInput = {}): Promise<OpensteerListRecipesOutput> {\n return this.runtime.listRecipes(input);\n }\n\n async runAuthRecipe(input: OpensteerRunAuthRecipeInput): Promise<OpensteerRunAuthRecipeOutput> {\n return this.runtime.runAuthRecipe(input);\n }\n\n async runRecipe(input: OpensteerRunRecipeInput): Promise<OpensteerRunRecipeOutput> {\n return this.runtime.runRecipe(input);\n }\n\n async request(key: string, input: OpensteerRequestOptions = {}): Promise<OpensteerRequestResult> {\n return this.runtime.request({\n key,\n ...input,\n });\n }\n\n async rawRequest(input: OpensteerRawRequestOptions): Promise<OpensteerRawRequestResult> {\n return this.runtime.rawRequest(input);\n }\n\n async route(input: OpensteerRouteOptions): Promise<OpensteerRouteRegistration> {\n return this.requireOwnedInstrumentationRuntime(\"route\").route(input);\n }\n\n async interceptScript(\n input: OpensteerInterceptScriptOptions,\n ): Promise<OpensteerRouteRegistration> {\n return this.requireOwnedInstrumentationRuntime(\"interceptScript\").interceptScript(input);\n }\n\n async computerExecute(\n input: OpensteerComputerExecuteOptions,\n ): Promise<OpensteerComputerExecuteResult> {\n return this.runtime.computerExecute(input);\n }\n\n async close(): Promise<OpensteerSessionCloseOutput> {\n if (this.browserManager === undefined || this.browserManager.mode === \"temporary\") {\n return this.runtime.close();\n }\n\n const output = await this.runtime.close();\n await this.browserManager.close();\n return output;\n }\n\n async disconnect(): Promise<void> {\n await this.runtime.disconnect();\n }\n\n private requireOwnedInstrumentationRuntime(\n method: \"route\" | \"interceptScript\",\n ): OpensteerInstrumentableRuntime {\n if (isInstrumentableRuntime(this.runtime)) {\n return this.runtime;\n }\n throw new Error(`${method}() is not available for this session runtime.`);\n }\n}\n\nfunction isInstrumentableRuntime(\n runtime: OpensteerDisconnectableRuntime,\n): runtime is OpensteerDisconnectableRuntime & OpensteerInstrumentableRuntime {\n return (\n typeof (runtime as Partial<OpensteerInstrumentableRuntime>).route === \"function\" &&\n typeof (runtime as Partial<OpensteerInstrumentableRuntime>).interceptScript === \"function\"\n );\n}\n\nfunction createUnsupportedBrowserController(): OpensteerBrowserController {\n const fail = async (): Promise<never> => {\n throw new Error(\"browser.* helpers are only available in local mode.\");\n };\n\n return {\n status: fail,\n clone: fail,\n reset: fail,\n delete: fail,\n };\n}\n\nfunction normalizeTargetOptions(input: OpensteerTargetOptions): {\n readonly target: OpensteerTargetInput;\n readonly persistAsDescription?: string;\n readonly networkTag?: string;\n} {\n const hasElement = input.element !== undefined;\n const hasSelector = input.selector !== undefined;\n if (hasElement && hasSelector) {\n throw new Error(\"Specify exactly one of element, selector, or description.\");\n }\n\n if (hasElement) {\n return {\n target: {\n kind: \"element\",\n element: input.element!,\n },\n ...(input.description === undefined ? {} : { persistAsDescription: input.description }),\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n }\n\n if (hasSelector) {\n return {\n target: {\n kind: \"selector\",\n selector: input.selector!,\n },\n ...(input.description === undefined ? {} : { persistAsDescription: input.description }),\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n }\n\n if (input.description === undefined) {\n throw new Error(\"Specify exactly one of element, selector, or description.\");\n }\n\n return {\n target: {\n kind: \"description\",\n description: input.description,\n },\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"]}
1
+ {"version":3,"sources":["../src/sdk/opensteer.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n OpensteerArtifactReadInput,\n OpensteerArtifactReadOutput,\n CookieRecord,\n OpensteerAddInitScriptInput,\n OpensteerAddInitScriptOutput,\n OpensteerCaptchaSolveInput,\n OpensteerCaptchaSolveOutput,\n OpensteerCaptureScriptsInput,\n OpensteerCaptureScriptsOutput,\n OpensteerGetRecipeInput,\n OpensteerGetAuthRecipeInput,\n OpensteerActionResult,\n OpensteerComputerExecuteInput,\n OpensteerComputerExecuteOutput,\n OpensteerDomExtractOutput,\n OpensteerGetRequestPlanInput,\n OpensteerInferRequestPlanInput,\n OpensteerListRecipesInput,\n OpensteerListRecipesOutput,\n OpensteerListAuthRecipesInput,\n OpensteerListAuthRecipesOutput,\n OpensteerNetworkClearInput,\n OpensteerNetworkClearOutput,\n OpensteerNetworkDiffInput,\n OpensteerNetworkDiffOutput,\n OpensteerNetworkMinimizeInput,\n OpensteerNetworkMinimizeOutput,\n OpensteerNetworkQueryInput,\n OpensteerNetworkQueryOutput,\n OpensteerNetworkTagInput,\n OpensteerNetworkTagOutput,\n OpensteerInteractionCaptureInput,\n OpensteerInteractionCaptureOutput,\n OpensteerInteractionDiffInput,\n OpensteerInteractionDiffOutput,\n OpensteerInteractionGetInput,\n OpensteerInteractionGetOutput,\n OpensteerInteractionReplayInput,\n OpensteerInteractionReplayOutput,\n OpensteerPageActivateInput,\n OpensteerPageActivateOutput,\n OpensteerPageCloseInput,\n OpensteerPageCloseOutput,\n OpensteerPageEvaluateInput,\n OpensteerPageEvaluateOutput,\n OpensteerPageGotoInput,\n OpensteerPageGotoOutput,\n OpensteerPageListInput,\n OpensteerPageListOutput,\n OpensteerPageNewInput,\n OpensteerPageNewOutput,\n OpensteerPageSnapshotInput,\n OpensteerPageSnapshotOutput,\n OpensteerListRequestPlansInput,\n OpensteerListRequestPlansOutput,\n OpensteerRawRequestInput,\n OpensteerRawRequestOutput,\n OpensteerRequestExecuteInput,\n OpensteerRequestExecuteOutput,\n OpensteerRunRecipeInput,\n OpensteerRunRecipeOutput,\n OpensteerRunAuthRecipeInput,\n OpensteerRunAuthRecipeOutput,\n OpensteerSessionInfo,\n OpensteerScriptBeautifyInput,\n OpensteerScriptBeautifyOutput,\n OpensteerScriptDeobfuscateInput,\n OpensteerScriptDeobfuscateOutput,\n OpensteerScriptSandboxInput,\n OpensteerScriptSandboxOutput,\n OpensteerReverseExportInput,\n OpensteerReverseExportOutput,\n OpensteerReverseDiscoverInput,\n OpensteerReverseDiscoverOutput,\n OpensteerReverseQueryInput,\n OpensteerReverseQueryOutput,\n OpensteerReversePackageCreateInput,\n OpensteerReversePackageCreateOutput,\n OpensteerReversePackageGetInput,\n OpensteerReversePackageGetOutput,\n OpensteerReversePackageListInput,\n OpensteerReversePackageListOutput,\n OpensteerReversePackagePatchInput,\n OpensteerReversePackagePatchOutput,\n OpensteerReversePackageRunInput,\n OpensteerReversePackageRunOutput,\n OpensteerReverseReportInput,\n OpensteerReverseReportOutput,\n OpensteerSessionCloseOutput,\n OpensteerOpenInput,\n OpensteerOpenOutput,\n OpensteerSnapshotMode,\n OpensteerTargetInput,\n OpensteerTransportProbeInput,\n OpensteerTransportProbeOutput,\n OpensteerWriteRecipeInput,\n OpensteerWriteAuthRecipeInput,\n OpensteerWriteRequestPlanInput,\n StorageSnapshot,\n} from \"@opensteer/protocol\";\n\nimport type { AuthRecipeRecord, RecipeRecord, RequestPlanRecord } from \"../registry.js\";\nimport {\n OpensteerBrowserManager,\n type OpensteerBrowserStatus,\n type WorkspaceBrowserManifest,\n} from \"../browser-manager.js\";\nimport { OpensteerRuntime, type OpensteerRuntimeOptions } from \"./runtime.js\";\nimport {\n createOpensteerSemanticRuntime,\n resolveOpensteerRuntimeConfig,\n} from \"./runtime-resolution.js\";\nimport type { OpensteerProviderOptions } from \"../provider/config.js\";\nimport type {\n OpensteerInterceptScriptOptions,\n OpensteerInstrumentableRuntime,\n OpensteerRouteOptions,\n OpensteerRouteRegistration,\n} from \"./instrumentation.js\";\nimport type { OpensteerDisconnectableRuntime } from \"./semantic-runtime.js\";\n\nexport interface OpensteerTargetOptions {\n readonly element?: number;\n readonly selector?: string;\n readonly description?: string;\n readonly networkTag?: string;\n}\n\nexport interface OpensteerInputOptions extends OpensteerTargetOptions {\n readonly text: string;\n readonly pressEnter?: boolean;\n}\n\nexport interface OpensteerScrollOptions extends OpensteerTargetOptions {\n readonly direction: \"up\" | \"down\" | \"left\" | \"right\";\n readonly amount: number;\n}\n\nexport interface OpensteerExtractOptions {\n readonly description: string;\n readonly schema?: Record<string, unknown>;\n}\n\nexport interface OpensteerWaitForNetworkOptions extends OpensteerNetworkQueryInput {\n readonly timeoutMs?: number;\n readonly pollIntervalMs?: number;\n}\n\nexport interface OpensteerWaitForPageOptions {\n readonly openerPageRef?: string;\n readonly urlIncludes?: string;\n readonly timeoutMs?: number;\n readonly pollIntervalMs?: number;\n}\n\nexport type OpensteerGotoOptions = OpensteerPageGotoInput;\nexport type OpensteerSnapshotOptions = OpensteerSnapshotMode | OpensteerPageSnapshotInput;\nexport type OpensteerSnapshotResult = OpensteerPageSnapshotOutput;\n\nexport type OpensteerComputerExecuteOptions = OpensteerComputerExecuteInput;\nexport type OpensteerComputerExecuteResult = OpensteerComputerExecuteOutput;\nexport type OpensteerNetworkQueryOptions = OpensteerNetworkQueryInput;\nexport type OpensteerNetworkQueryResult = OpensteerNetworkQueryOutput;\nexport type OpensteerNetworkTagOptions = OpensteerNetworkTagInput;\nexport type OpensteerNetworkTagResult = OpensteerNetworkTagOutput;\nexport type OpensteerNetworkMinimizeOptions = OpensteerNetworkMinimizeInput;\nexport type OpensteerNetworkMinimizeResult = OpensteerNetworkMinimizeOutput;\nexport type OpensteerNetworkDiffOptions = OpensteerNetworkDiffInput;\nexport type OpensteerNetworkDiffResult = OpensteerNetworkDiffOutput;\nexport type OpensteerNetworkProbeOptions = OpensteerTransportProbeInput;\nexport type OpensteerNetworkProbeResult = OpensteerTransportProbeOutput;\nexport type OpensteerReverseDiscoverOptions = OpensteerReverseDiscoverInput;\nexport type OpensteerReverseDiscoverResult = OpensteerReverseDiscoverOutput;\nexport type OpensteerReverseQueryOptions = OpensteerReverseQueryInput;\nexport type OpensteerReverseQueryResult = OpensteerReverseQueryOutput;\nexport type OpensteerReversePackageCreateOptions = OpensteerReversePackageCreateInput;\nexport type OpensteerReversePackageCreateResult = OpensteerReversePackageCreateOutput;\nexport type OpensteerReversePackageRunOptions = OpensteerReversePackageRunInput;\nexport type OpensteerReversePackageRunResult = OpensteerReversePackageRunOutput;\nexport type OpensteerReverseExportOptions = OpensteerReverseExportInput;\nexport type OpensteerReverseExportResult = OpensteerReverseExportOutput;\nexport type OpensteerReverseReportOptions = OpensteerReverseReportInput;\nexport type OpensteerReverseReportResult = OpensteerReverseReportOutput;\nexport type OpensteerReversePackageGetOptions = OpensteerReversePackageGetInput;\nexport type OpensteerReversePackageGetResult = OpensteerReversePackageGetOutput;\nexport type OpensteerReversePackageListOptions = OpensteerReversePackageListInput;\nexport type OpensteerReversePackageListResult = OpensteerReversePackageListOutput;\nexport type OpensteerReversePackagePatchOptions = OpensteerReversePackagePatchInput;\nexport type OpensteerReversePackagePatchResult = OpensteerReversePackagePatchOutput;\nexport type OpensteerInteractionCaptureOptions = OpensteerInteractionCaptureInput;\nexport type OpensteerInteractionCaptureResult = OpensteerInteractionCaptureOutput;\nexport type OpensteerInteractionGetOptions = OpensteerInteractionGetInput;\nexport type OpensteerInteractionGetResult = OpensteerInteractionGetOutput;\nexport type OpensteerInteractionDiffOptions = OpensteerInteractionDiffInput;\nexport type OpensteerInteractionDiffResult = OpensteerInteractionDiffOutput;\nexport type OpensteerInteractionReplayOptions = OpensteerInteractionReplayInput;\nexport type OpensteerInteractionReplayResult = OpensteerInteractionReplayOutput;\nexport type OpensteerNetworkClearOptions = OpensteerNetworkClearInput;\nexport type OpensteerNetworkClearResult = OpensteerNetworkClearOutput;\nexport type OpensteerRawRequestOptions = OpensteerRawRequestInput;\nexport type OpensteerRawRequestResult = OpensteerRawRequestOutput;\nexport type OpensteerRequestOptions = Omit<OpensteerRequestExecuteInput, \"key\">;\nexport type OpensteerRequestResult = OpensteerRequestExecuteOutput;\nexport type OpensteerCaptureScriptsOptions = OpensteerCaptureScriptsInput;\nexport type OpensteerCaptureScriptsResult = OpensteerCaptureScriptsOutput;\nexport type OpensteerScriptBeautifyOptions = OpensteerScriptBeautifyInput;\nexport type OpensteerScriptBeautifyResult = OpensteerScriptBeautifyOutput;\nexport type OpensteerScriptDeobfuscateOptions = OpensteerScriptDeobfuscateInput;\nexport type OpensteerScriptDeobfuscateResult = OpensteerScriptDeobfuscateOutput;\nexport type OpensteerScriptSandboxOptions = OpensteerScriptSandboxInput;\nexport type OpensteerScriptSandboxResult = OpensteerScriptSandboxOutput;\nexport type OpensteerArtifactReadOptions = OpensteerArtifactReadInput;\nexport type OpensteerArtifactReadResult = OpensteerArtifactReadOutput;\nexport type OpensteerCaptchaSolveOptions = OpensteerCaptchaSolveInput;\nexport type OpensteerCaptchaSolveResult = OpensteerCaptchaSolveOutput;\nexport type OpensteerAddInitScriptOptions = OpensteerAddInitScriptInput;\n\nexport interface OpensteerOptions extends OpensteerRuntimeOptions {\n readonly provider?: OpensteerProviderOptions;\n}\n\nexport interface OpensteerBrowserCloneOptions {\n readonly sourceUserDataDir: string;\n readonly sourceProfileDirectory?: string;\n}\n\nexport interface OpensteerBrowserController {\n status(): Promise<OpensteerBrowserStatus>;\n clone(input: OpensteerBrowserCloneOptions): Promise<WorkspaceBrowserManifest>;\n reset(): Promise<void>;\n delete(): Promise<void>;\n}\n\nexport class Opensteer {\n private readonly runtime: OpensteerDisconnectableRuntime;\n private readonly browserManager: OpensteerBrowserManager | undefined;\n readonly browser: OpensteerBrowserController;\n\n constructor(options: OpensteerOptions = {}) {\n const { provider, engineName, ...runtimeOptions } = options;\n const runtimeConfig = resolveOpensteerRuntimeConfig({\n ...(provider === undefined ? {} : { provider }),\n ...(process.env.OPENSTEER_PROVIDER === undefined\n ? {}\n : { environmentProvider: process.env.OPENSTEER_PROVIDER }),\n });\n\n if (runtimeConfig.provider.mode === \"cloud\") {\n this.browserManager = undefined;\n this.runtime = createOpensteerSemanticRuntime({\n ...(provider === undefined ? {} : { provider }),\n ...(engineName === undefined ? {} : { engine: engineName }),\n runtimeOptions: {\n ...runtimeOptions,\n },\n });\n this.browser = createUnsupportedBrowserController();\n return;\n }\n\n this.browserManager = new OpensteerBrowserManager({\n ...(runtimeOptions.rootDir === undefined ? {} : { rootDir: runtimeOptions.rootDir }),\n ...(runtimeOptions.rootPath === undefined ? {} : { rootPath: runtimeOptions.rootPath }),\n ...(runtimeOptions.workspace === undefined ? {} : { workspace: runtimeOptions.workspace }),\n ...(engineName === undefined ? {} : { engineName }),\n ...(runtimeOptions.browser === undefined ? {} : { browser: runtimeOptions.browser }),\n ...(runtimeOptions.launch === undefined ? {} : { launch: runtimeOptions.launch }),\n ...(runtimeOptions.context === undefined ? {} : { context: runtimeOptions.context }),\n });\n this.runtime = createOpensteerSemanticRuntime({\n ...(provider === undefined ? {} : { provider }),\n ...(engineName === undefined ? {} : { engine: engineName }),\n runtimeOptions: {\n ...runtimeOptions,\n rootPath: this.browserManager.rootPath,\n cleanupRootOnClose: this.browserManager.cleanupRootOnDisconnect,\n },\n });\n this.browser = {\n status: () => this.browserManager!.status(),\n clone: (input) => this.browserManager!.clonePersistentBrowser(input),\n reset: () => this.browserManager!.reset(),\n delete: () => this.browserManager!.delete(),\n };\n }\n\n async open(input: string | OpensteerOpenInput = {}): Promise<OpensteerOpenOutput> {\n return this.runtime.open(typeof input === \"string\" ? { url: input } : input);\n }\n\n async info(): Promise<OpensteerSessionInfo> {\n return this.runtime.info();\n }\n\n async listPages(input: OpensteerPageListInput = {}): Promise<OpensteerPageListOutput> {\n return this.runtime.listPages(input);\n }\n\n async newPage(input: OpensteerPageNewInput = {}): Promise<OpensteerPageNewOutput> {\n return this.runtime.newPage(input);\n }\n\n async activatePage(input: OpensteerPageActivateInput): Promise<OpensteerPageActivateOutput> {\n return this.runtime.activatePage(input);\n }\n\n async closePage(input: OpensteerPageCloseInput = {}): Promise<OpensteerPageCloseOutput> {\n return this.runtime.closePage(input);\n }\n\n async goto(input: string | OpensteerGotoOptions): Promise<OpensteerPageGotoOutput> {\n return this.runtime.goto(typeof input === \"string\" ? { url: input } : input);\n }\n\n async evaluate(\n input: string | OpensteerPageEvaluateInput,\n ): Promise<OpensteerPageEvaluateOutput[\"value\"]> {\n const normalized =\n typeof input === \"string\"\n ? {\n script: input,\n }\n : input;\n const result = await this.runtime.evaluate(normalized);\n return result.value;\n }\n\n async evaluateJson(\n input: string | OpensteerPageEvaluateInput,\n ): Promise<OpensteerPageEvaluateOutput[\"value\"]> {\n return this.evaluate(input);\n }\n\n async addInitScript(\n input: string | OpensteerAddInitScriptInput,\n ): Promise<OpensteerAddInitScriptOutput> {\n const normalized =\n typeof input === \"string\"\n ? {\n script: input,\n }\n : input;\n return this.runtime.addInitScript(normalized);\n }\n\n async click(input: OpensteerTargetOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.click(normalized);\n }\n\n async hover(input: OpensteerTargetOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.hover(normalized);\n }\n\n async input(input: OpensteerInputOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.input({\n ...normalized,\n text: input.text,\n ...(input.pressEnter === undefined ? {} : { pressEnter: input.pressEnter }),\n });\n }\n\n async scroll(input: OpensteerScrollOptions): Promise<OpensteerActionResult> {\n const normalized = normalizeTargetOptions(input);\n return this.runtime.scroll({\n ...normalized,\n direction: input.direction,\n amount: input.amount,\n });\n }\n\n async extract(input: OpensteerExtractOptions): Promise<OpensteerDomExtractOutput[\"data\"]> {\n const result = await this.runtime.extract(input);\n return result.data;\n }\n\n async queryNetwork(\n input: OpensteerNetworkQueryOptions = {},\n ): Promise<OpensteerNetworkQueryResult> {\n return this.runtime.queryNetwork(input);\n }\n\n async waitForNetwork(\n input: OpensteerWaitForNetworkOptions,\n ): Promise<OpensteerNetworkQueryResult[\"records\"][number]> {\n const { timeoutMs, pollIntervalMs, ...query } = input;\n const timeoutAt = Date.now() + (timeoutMs ?? 30_000);\n const pollInterval = pollIntervalMs ?? 100;\n const baseline = new Set(\n (\n await this.runtime.queryNetwork({\n ...query,\n limit: 200,\n })\n ).records.map((record) => record.recordId),\n );\n\n while (true) {\n const { records } = await this.runtime.queryNetwork({\n ...query,\n limit: 200,\n });\n const next = records.find((record) => !baseline.has(record.recordId));\n if (next !== undefined) {\n return next;\n }\n if (Date.now() >= timeoutAt) {\n throw new Error(\"waitForNetwork timed out\");\n }\n await delay(pollInterval);\n }\n }\n\n async waitForResponse(\n input: OpensteerWaitForNetworkOptions,\n ): Promise<OpensteerNetworkQueryResult[\"records\"][number]> {\n return this.waitForNetwork(input);\n }\n\n async waitForPage(\n input: OpensteerWaitForPageOptions = {},\n ): Promise<OpensteerPageListOutput[\"pages\"][number]> {\n const baseline = new Set((await this.runtime.listPages()).pages.map((page) => page.pageRef));\n const timeoutAt = Date.now() + (input.timeoutMs ?? 30_000);\n const pollIntervalMs = input.pollIntervalMs ?? 100;\n\n while (true) {\n const { pages } = await this.runtime.listPages();\n const match = pages.find((page) => {\n if (baseline.has(page.pageRef)) {\n return false;\n }\n if (input.openerPageRef !== undefined && page.openerPageRef !== input.openerPageRef) {\n return false;\n }\n if (input.urlIncludes !== undefined && !page.url.includes(input.urlIncludes)) {\n return false;\n }\n return true;\n });\n if (match !== undefined) {\n return match;\n }\n if (Date.now() >= timeoutAt) {\n throw new Error(\"waitForPage timed out\");\n }\n await delay(pollIntervalMs);\n }\n }\n\n async snapshot(input: OpensteerSnapshotOptions = {}): Promise<OpensteerSnapshotResult> {\n return this.runtime.snapshot(typeof input === \"string\" ? { mode: input } : input);\n }\n\n async tagNetwork(input: OpensteerNetworkTagOptions): Promise<OpensteerNetworkTagResult> {\n return this.runtime.tagNetwork(input);\n }\n\n async minimizeNetwork(\n input: OpensteerNetworkMinimizeOptions,\n ): Promise<OpensteerNetworkMinimizeResult> {\n return this.runtime.minimizeNetwork(input);\n }\n\n async diffNetwork(input: OpensteerNetworkDiffOptions): Promise<OpensteerNetworkDiffResult> {\n return this.runtime.diffNetwork(input);\n }\n\n async probeNetwork(input: OpensteerNetworkProbeOptions): Promise<OpensteerNetworkProbeResult> {\n return this.runtime.probeNetwork(input);\n }\n\n async reverseDiscover(\n input: OpensteerReverseDiscoverOptions = {},\n ): Promise<OpensteerReverseDiscoverResult> {\n return this.runtime.discoverReverse(input);\n }\n\n async reverseQuery(input: OpensteerReverseQueryOptions): Promise<OpensteerReverseQueryResult> {\n return this.runtime.queryReverse(input);\n }\n\n async createReversePackage(\n input: OpensteerReversePackageCreateOptions,\n ): Promise<OpensteerReversePackageCreateResult> {\n return this.runtime.createReversePackage(input);\n }\n\n async runReversePackage(\n input: OpensteerReversePackageRunOptions,\n ): Promise<OpensteerReversePackageRunResult> {\n return this.runtime.runReversePackage(input);\n }\n\n async reverseExport(input: OpensteerReverseExportOptions): Promise<OpensteerReverseExportResult> {\n return this.runtime.exportReverse(input);\n }\n\n async reverseReport(input: OpensteerReverseReportOptions): Promise<OpensteerReverseReportResult> {\n return this.runtime.getReverseReport(input);\n }\n\n async getReversePackage(\n input: OpensteerReversePackageGetOptions,\n ): Promise<OpensteerReversePackageGetResult> {\n return this.runtime.getReversePackage(input);\n }\n\n async listReversePackages(\n input: OpensteerReversePackageListOptions = {},\n ): Promise<OpensteerReversePackageListResult> {\n return this.runtime.listReversePackages(input);\n }\n\n async patchReversePackage(\n input: OpensteerReversePackagePatchOptions,\n ): Promise<OpensteerReversePackagePatchResult> {\n return this.runtime.patchReversePackage(input);\n }\n\n async interactionCapture(\n input: OpensteerInteractionCaptureOptions,\n ): Promise<OpensteerInteractionCaptureResult> {\n return this.runtime.captureInteraction(input);\n }\n\n async getInteraction(\n input: OpensteerInteractionGetOptions,\n ): Promise<OpensteerInteractionGetResult> {\n return this.runtime.getInteraction(input);\n }\n\n async interactionDiff(\n input: OpensteerInteractionDiffOptions,\n ): Promise<OpensteerInteractionDiffResult> {\n return this.runtime.diffInteraction(input);\n }\n\n async interactionReplay(\n input: OpensteerInteractionReplayOptions,\n ): Promise<OpensteerInteractionReplayResult> {\n return this.runtime.replayInteraction(input);\n }\n\n async clearNetwork(\n input: OpensteerNetworkClearOptions = {},\n ): Promise<OpensteerNetworkClearResult> {\n return this.runtime.clearNetwork(input);\n }\n\n async captureScripts(\n input: OpensteerCaptureScriptsOptions = {},\n ): Promise<OpensteerCaptureScriptsResult> {\n return this.runtime.captureScripts(input);\n }\n\n async readArtifact(input: OpensteerArtifactReadOptions): Promise<OpensteerArtifactReadResult> {\n return this.runtime.readArtifact(input);\n }\n\n async beautifyScript(\n input: OpensteerScriptBeautifyOptions,\n ): Promise<OpensteerScriptBeautifyResult> {\n return this.runtime.beautifyScript(input);\n }\n\n async deobfuscateScript(\n input: OpensteerScriptDeobfuscateOptions,\n ): Promise<OpensteerScriptDeobfuscateResult> {\n return this.runtime.deobfuscateScript(input);\n }\n\n async sandboxScript(input: OpensteerScriptSandboxOptions): Promise<OpensteerScriptSandboxResult> {\n return this.runtime.sandboxScript(input);\n }\n\n async solveCaptcha(input: OpensteerCaptchaSolveOptions): Promise<OpensteerCaptchaSolveResult> {\n return this.runtime.solveCaptcha(input);\n }\n\n async getCookies(\n input: { readonly urls?: readonly string[] } = {},\n ): Promise<readonly CookieRecord[]> {\n return this.runtime.getCookies(input);\n }\n\n async getStorageSnapshot(\n input: {\n readonly includeSessionStorage?: boolean;\n readonly includeIndexedDb?: boolean;\n } = {},\n ): Promise<StorageSnapshot> {\n return this.runtime.getStorageSnapshot(input);\n }\n\n async writeRequestPlan(input: OpensteerWriteRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.writeRequestPlan(input);\n }\n\n async inferRequestPlan(input: OpensteerInferRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.inferRequestPlan(input);\n }\n\n async getRequestPlan(input: OpensteerGetRequestPlanInput): Promise<RequestPlanRecord> {\n return this.runtime.getRequestPlan(input);\n }\n\n async listRequestPlans(\n input: OpensteerListRequestPlansInput = {},\n ): Promise<OpensteerListRequestPlansOutput> {\n return this.runtime.listRequestPlans(input);\n }\n\n async writeAuthRecipe(input: OpensteerWriteAuthRecipeInput): Promise<AuthRecipeRecord> {\n return this.runtime.writeAuthRecipe(input);\n }\n\n async writeRecipe(input: OpensteerWriteRecipeInput): Promise<RecipeRecord> {\n return this.runtime.writeRecipe(input);\n }\n\n async getAuthRecipe(input: OpensteerGetAuthRecipeInput): Promise<AuthRecipeRecord> {\n return this.runtime.getAuthRecipe(input);\n }\n\n async getRecipe(input: OpensteerGetRecipeInput): Promise<RecipeRecord> {\n return this.runtime.getRecipe(input);\n }\n\n async listAuthRecipes(\n input: OpensteerListAuthRecipesInput = {},\n ): Promise<OpensteerListAuthRecipesOutput> {\n return this.runtime.listAuthRecipes(input);\n }\n\n async listRecipes(input: OpensteerListRecipesInput = {}): Promise<OpensteerListRecipesOutput> {\n return this.runtime.listRecipes(input);\n }\n\n async runAuthRecipe(input: OpensteerRunAuthRecipeInput): Promise<OpensteerRunAuthRecipeOutput> {\n return this.runtime.runAuthRecipe(input);\n }\n\n async runRecipe(input: OpensteerRunRecipeInput): Promise<OpensteerRunRecipeOutput> {\n return this.runtime.runRecipe(input);\n }\n\n async request(key: string, input: OpensteerRequestOptions = {}): Promise<OpensteerRequestResult> {\n return this.runtime.request({\n key,\n ...input,\n });\n }\n\n async rawRequest(input: OpensteerRawRequestOptions): Promise<OpensteerRawRequestResult> {\n return this.runtime.rawRequest(input);\n }\n\n async route(input: OpensteerRouteOptions): Promise<OpensteerRouteRegistration> {\n return this.requireOwnedInstrumentationRuntime(\"route\").route(input);\n }\n\n async interceptScript(\n input: OpensteerInterceptScriptOptions,\n ): Promise<OpensteerRouteRegistration> {\n return this.requireOwnedInstrumentationRuntime(\"interceptScript\").interceptScript(input);\n }\n\n async computerExecute(\n input: OpensteerComputerExecuteOptions,\n ): Promise<OpensteerComputerExecuteResult> {\n return this.runtime.computerExecute(input);\n }\n\n async close(): Promise<OpensteerSessionCloseOutput> {\n if (this.browserManager === undefined || this.browserManager.mode === \"temporary\") {\n return this.runtime.close();\n }\n\n const output = await this.runtime.close();\n await this.browserManager.close();\n return output;\n }\n\n async disconnect(): Promise<void> {\n await this.runtime.disconnect();\n }\n\n private requireOwnedInstrumentationRuntime(\n method: \"route\" | \"interceptScript\",\n ): OpensteerInstrumentableRuntime {\n if (isInstrumentableRuntime(this.runtime)) {\n return this.runtime;\n }\n throw new Error(`${method}() is not available for this session runtime.`);\n }\n}\n\nfunction isInstrumentableRuntime(\n runtime: OpensteerDisconnectableRuntime,\n): runtime is OpensteerDisconnectableRuntime & OpensteerInstrumentableRuntime {\n return (\n typeof (runtime as Partial<OpensteerInstrumentableRuntime>).route === \"function\" &&\n typeof (runtime as Partial<OpensteerInstrumentableRuntime>).interceptScript === \"function\"\n );\n}\n\nfunction createUnsupportedBrowserController(): OpensteerBrowserController {\n const fail = async (): Promise<never> => {\n throw new Error(\"browser.* helpers are only available in local mode.\");\n };\n\n return {\n status: fail,\n clone: fail,\n reset: fail,\n delete: fail,\n };\n}\n\nfunction normalizeTargetOptions(input: OpensteerTargetOptions): {\n readonly target: OpensteerTargetInput;\n readonly persistAsDescription?: string;\n readonly networkTag?: string;\n} {\n const hasElement = input.element !== undefined;\n const hasSelector = input.selector !== undefined;\n if (hasElement && hasSelector) {\n throw new Error(\"Specify exactly one of element, selector, or description.\");\n }\n\n if (hasElement) {\n return {\n target: {\n kind: \"element\",\n element: input.element!,\n },\n ...(input.description === undefined ? {} : { persistAsDescription: input.description }),\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n }\n\n if (hasSelector) {\n return {\n target: {\n kind: \"selector\",\n selector: input.selector!,\n },\n ...(input.description === undefined ? {} : { persistAsDescription: input.description }),\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n }\n\n if (input.description === undefined) {\n throw new Error(\"Specify exactly one of element, selector, or description.\");\n }\n\n return {\n target: {\n kind: \"description\",\n description: input.description,\n },\n ...(input.networkTag === undefined ? {} : { networkTag: input.networkTag }),\n };\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"]}