opensteer 0.9.6 → 0.9.8

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.
Files changed (35) hide show
  1. package/README.md +2 -2
  2. package/dist/{chunk-3I3A5OLB.js → chunk-BPGXP3RF.js} +257 -24
  3. package/dist/chunk-BPGXP3RF.js.map +1 -0
  4. package/dist/{chunk-3XBQRZZC.js → chunk-EXXRLPLI.js} +158 -46
  5. package/dist/chunk-EXXRLPLI.js.map +1 -0
  6. package/dist/{chunk-T5P2QGZ3.js → chunk-GKYBP3KD.js} +154 -13
  7. package/dist/chunk-GKYBP3KD.js.map +1 -0
  8. package/dist/{chunk-BVRIPCWA.js → chunk-LFWP5RXF.js} +500 -513
  9. package/dist/chunk-LFWP5RXF.js.map +1 -0
  10. package/dist/{chunk-L4NF74KI.js → chunk-SOJEWKSW.js} +5 -5
  11. package/dist/{chunk-L4NF74KI.js.map → chunk-SOJEWKSW.js.map} +1 -1
  12. package/dist/cli/bin.cjs +1230 -660
  13. package/dist/cli/bin.cjs.map +1 -1
  14. package/dist/cli/bin.js +166 -72
  15. package/dist/cli/bin.js.map +1 -1
  16. package/dist/index.cjs +793 -565
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +36 -51
  19. package/dist/index.d.ts +36 -51
  20. package/dist/index.js +4 -4
  21. package/dist/local-view/public/assets/app.js +10 -1
  22. package/dist/local-view/serve-entry.cjs +1022 -591
  23. package/dist/local-view/serve-entry.cjs.map +1 -1
  24. package/dist/local-view/serve-entry.js +2 -2
  25. package/dist/opensteer-XLPY343Y.js +6 -0
  26. package/dist/{opensteer-UGA6YBRN.js.map → opensteer-XLPY343Y.js.map} +1 -1
  27. package/dist/{session-control-U3L5H2ZI.js → session-control-FVKKD45R.js} +4 -4
  28. package/dist/{session-control-U3L5H2ZI.js.map → session-control-FVKKD45R.js.map} +1 -1
  29. package/package.json +5 -5
  30. package/skills/recorder/SKILL.md +2 -2
  31. package/dist/chunk-3I3A5OLB.js.map +0 -1
  32. package/dist/chunk-3XBQRZZC.js.map +0 -1
  33. package/dist/chunk-BVRIPCWA.js.map +0 -1
  34. package/dist/chunk-T5P2QGZ3.js.map +0 -1
  35. package/dist/opensteer-UGA6YBRN.js +0 -6
package/dist/index.d.cts CHANGED
@@ -45,6 +45,7 @@ type PageLifecycleState = "opening" | "open" | "closing" | "closed" | "crashed";
45
45
  interface PageInfo {
46
46
  readonly pageRef: PageRef;
47
47
  readonly sessionRef: SessionRef;
48
+ readonly targetId?: string;
48
49
  readonly openerPageRef?: PageRef;
49
50
  readonly url: string;
50
51
  readonly title: string;
@@ -398,6 +399,7 @@ interface BrowserCapabilities {
398
399
  }
399
400
 
400
401
  interface PostLoadTrackerSnapshot {
402
+ readonly lastMutationAt: number;
401
403
  readonly lastTrackedNetworkActivityAt: number;
402
404
  readonly trackedPendingFetches: number;
403
405
  readonly trackedPendingXhrs: number;
@@ -415,6 +417,8 @@ interface ActionBoundaryOutcome {
415
417
  readonly trigger: ActionBoundarySettleTrigger;
416
418
  readonly crossDocument: boolean;
417
419
  readonly bootstrapSettled: boolean;
420
+ readonly observedMutationQuietMs?: number;
421
+ readonly postLoadHandled?: boolean;
418
422
  readonly timedOutPhase?: ActionBoundaryTimedOutPhase;
419
423
  }
420
424
 
@@ -745,6 +749,7 @@ interface BrowserInspector {
745
749
  readonly pageRef: PageRef;
746
750
  readonly timeoutMs?: number;
747
751
  readonly settleMs?: number;
752
+ readonly initialQuietMs?: number;
748
753
  readonly scope?: VisualStabilityScope;
749
754
  }): Promise<void>;
750
755
  waitForPostLoadQuiet(input: {
@@ -1524,6 +1529,10 @@ interface OpenObservationSessionInput {
1524
1529
  readonly openedAt?: number;
1525
1530
  readonly config?: Partial<ObservabilityConfig>;
1526
1531
  }
1532
+ interface ConfigureObservationSessionInput {
1533
+ readonly updatedAt?: number;
1534
+ readonly config?: Partial<ObservabilityConfig>;
1535
+ }
1527
1536
  interface AppendObservationEventInput {
1528
1537
  readonly eventId?: string;
1529
1538
  readonly kind: ObservationEventKind;
@@ -1551,6 +1560,7 @@ interface WriteObservationArtifactInput {
1551
1560
  }
1552
1561
  interface SessionObservationSink {
1553
1562
  readonly sessionId: string;
1563
+ configure?(input: ConfigureObservationSessionInput): Promise<void>;
1554
1564
  append(input: AppendObservationEventInput): Promise<ObservationEvent>;
1555
1565
  appendBatch(input: readonly AppendObservationEventInput[]): Promise<readonly ObservationEvent[]>;
1556
1566
  writeArtifact(input: WriteObservationArtifactInput): Promise<ObservationArtifact>;
@@ -1628,27 +1638,11 @@ interface OpensteerStealthProfileInput {
1628
1638
  readonly locale?: string;
1629
1639
  readonly timezoneId?: string;
1630
1640
  }
1631
- interface OpensteerResolvedTarget {
1632
- readonly pageRef: PageRef;
1633
- readonly frameRef: FrameRef;
1634
- readonly documentRef: DocumentRef;
1635
- readonly documentEpoch: DocumentEpoch;
1636
- readonly nodeRef: NodeRef;
1641
+ interface OpensteerActionResult {
1637
1642
  readonly tagName: string;
1638
- readonly pathHint: string;
1639
1643
  readonly persist?: string;
1640
- readonly selectorUsed?: string;
1641
- }
1642
- interface OpensteerActionResult {
1643
- readonly target: OpensteerResolvedTarget;
1644
- readonly point?: {
1645
- readonly x: number;
1646
- readonly y: number;
1647
- };
1648
1644
  }
1649
- interface OpensteerSessionState {
1650
- readonly sessionRef: SessionRef;
1651
- readonly pageRef: PageRef;
1645
+ interface OpensteerNavigationSummary {
1652
1646
  readonly url: string;
1653
1647
  readonly title: string;
1654
1648
  }
@@ -1659,7 +1653,7 @@ interface OpensteerOpenInput {
1659
1653
  readonly launch?: OpensteerBrowserLaunchOptions;
1660
1654
  readonly context?: OpensteerBrowserContextOptions;
1661
1655
  }
1662
- interface OpensteerOpenOutput extends OpensteerSessionState {
1656
+ interface OpensteerOpenOutput extends OpensteerNavigationSummary {
1663
1657
  }
1664
1658
  interface OpensteerPageListInput {
1665
1659
  }
@@ -1671,12 +1665,13 @@ interface OpensteerPageNewInput {
1671
1665
  readonly url?: string;
1672
1666
  readonly openerPageRef?: PageRef;
1673
1667
  }
1674
- interface OpensteerPageNewOutput extends OpensteerSessionState {
1668
+ interface OpensteerPageNewOutput extends OpensteerNavigationSummary {
1669
+ readonly pageRef: PageRef;
1675
1670
  }
1676
1671
  interface OpensteerPageActivateInput {
1677
1672
  readonly pageRef: PageRef;
1678
1673
  }
1679
- interface OpensteerPageActivateOutput extends OpensteerSessionState {
1674
+ interface OpensteerPageActivateOutput extends OpensteerNavigationSummary {
1680
1675
  }
1681
1676
  interface OpensteerPageCloseInput {
1682
1677
  readonly pageRef?: PageRef;
@@ -1690,7 +1685,7 @@ interface OpensteerPageGotoInput {
1690
1685
  readonly url: string;
1691
1686
  readonly captureNetwork?: string;
1692
1687
  }
1693
- interface OpensteerPageGotoOutput extends OpensteerSessionState {
1688
+ interface OpensteerPageGotoOutput extends OpensteerNavigationSummary {
1694
1689
  }
1695
1690
  interface OpensteerPageEvaluateInput {
1696
1691
  readonly script: string;
@@ -1766,39 +1761,22 @@ interface OpensteerComputerScreenshotOptions {
1766
1761
  readonly includeCursor?: boolean;
1767
1762
  readonly disableAnnotations?: readonly OpensteerComputerAnnotation[];
1768
1763
  }
1764
+ interface OpensteerScreenshotSummary {
1765
+ readonly payload: ExternalBinaryLocation;
1766
+ readonly format: "png" | "jpeg" | "webp";
1767
+ readonly size: Size;
1768
+ readonly coordinateSpace: CoordinateSpace;
1769
+ readonly clip?: Rect;
1770
+ }
1769
1771
  interface OpensteerComputerExecuteInput {
1770
1772
  readonly action: OpensteerComputerAction;
1771
1773
  readonly screenshot?: OpensteerComputerScreenshotOptions;
1772
1774
  readonly captureNetwork?: string;
1773
1775
  }
1774
- interface OpensteerComputerDisplayScale {
1775
- readonly x: number;
1776
- readonly y: number;
1777
- }
1778
- interface OpensteerComputerTracePoint {
1779
- readonly role: "point" | "start" | "end";
1780
- readonly point: Point;
1781
- readonly hitTest?: HitTestResult;
1782
- readonly target?: OpensteerResolvedTarget;
1783
- }
1784
- interface OpensteerComputerTraceEnrichment {
1785
- readonly points: readonly OpensteerComputerTracePoint[];
1786
- }
1787
- interface OpensteerComputerExecuteTiming {
1788
- readonly actionMs: number;
1789
- readonly waitMs: number;
1790
- readonly totalMs: number;
1791
- }
1792
1776
  interface OpensteerComputerExecuteOutput {
1793
- readonly action: OpensteerComputerAction;
1794
- readonly pageRef: PageRef;
1795
- readonly screenshot: ScreenshotArtifact;
1796
- readonly displayViewport: ViewportMetrics;
1797
- readonly nativeViewport: ViewportMetrics;
1798
- readonly displayScale: OpensteerComputerDisplayScale;
1799
- readonly events: readonly StepEvent[];
1800
- readonly timing: OpensteerComputerExecuteTiming;
1801
- readonly trace?: OpensteerComputerTraceEnrichment;
1777
+ readonly url: string;
1778
+ readonly title: string;
1779
+ readonly screenshot: OpensteerScreenshotSummary;
1802
1780
  }
1803
1781
  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.detail", "interaction.capture", "interaction.get", "interaction.diff", "interaction.replay", "artifact.read", "session.cookies", "session.storage", "session.state", "session.fetch", "scripts.capture", "scripts.beautify", "scripts.deobfuscate", "scripts.sandbox", "captcha.solve", "computer.execute", "session.close"];
1804
1782
  type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
@@ -1939,7 +1917,7 @@ interface DomActionSettleOptions {
1939
1917
  readonly snapshot?: ActionBoundarySnapshot;
1940
1918
  readonly signal: AbortSignal;
1941
1919
  remainingMs(): number | undefined;
1942
- policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger): Promise<void>;
1920
+ policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger, boundary?: ActionBoundaryOutcome): Promise<void>;
1943
1921
  }
1944
1922
  type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
1945
1923
  interface DomPointerHitAssessment {
@@ -2349,6 +2327,8 @@ interface SettleContext extends SettleDelayInput {
2349
2327
  readonly pageRef: PageRef;
2350
2328
  readonly signal: AbortSignal;
2351
2329
  readonly remainingMs: number | undefined;
2330
+ readonly observedMutationQuietMs?: number;
2331
+ readonly postLoadHandled?: boolean;
2352
2332
  }
2353
2333
  interface SettleObserver {
2354
2334
  settle(input: SettleContext): Promise<boolean>;
@@ -2715,6 +2695,7 @@ interface WorkspaceBrowserManifest {
2715
2695
  }
2716
2696
  interface WorkspaceLiveBrowserRecord {
2717
2697
  readonly mode: "persistent";
2698
+ readonly ownership: "owned" | "attached";
2718
2699
  readonly engine: OpensteerEngineName;
2719
2700
  readonly endpoint?: string;
2720
2701
  readonly baseUrl?: string;
@@ -3009,6 +2990,7 @@ declare class Opensteer {
3009
2990
  private requireOwnedInstrumentationRuntime;
3010
2991
  }
3011
2992
 
2993
+ declare const DEFAULT_OPENSTEER_CLOUD_BASE_URL = "https://api.opensteer.com";
3012
2994
  interface OpensteerCloudConfig {
3013
2995
  readonly apiKey: string;
3014
2996
  readonly baseUrl: string;
@@ -3107,12 +3089,15 @@ interface PersistedSessionRecordBase {
3107
3089
  readonly workspace?: string;
3108
3090
  readonly updatedAt: number;
3109
3091
  readonly activePageRef?: string;
3092
+ readonly activePageUrl?: string;
3093
+ readonly activePageTitle?: string;
3110
3094
  readonly reconnectable?: boolean;
3111
3095
  readonly capabilities?: OpensteerSessionCapabilities;
3112
3096
  }
3113
3097
  interface PersistedLocalBrowserSessionRecord extends PersistedSessionRecordBase {
3114
3098
  readonly provider: "local";
3115
3099
  readonly engine: "playwright" | "abp";
3100
+ readonly ownership?: Exclude<OpensteerSessionOwnership, "managed">;
3116
3101
  readonly endpoint?: string;
3117
3102
  readonly baseUrl?: string;
3118
3103
  readonly remoteDebuggingUrl?: string;
@@ -3172,4 +3157,4 @@ declare function discoverLocalCdpBrowsers(input?: {
3172
3157
  readonly timeoutMs?: number;
3173
3158
  }): Promise<readonly LocalCdpBrowserCandidate[]>;
3174
3159
 
3175
- export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactPayloadType, type ArtifactScope, 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 CloudSessionLaunchConfig, 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, FilesystemArtifactStore, type FilesystemObservationStore, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListObservationArtifactsInput, type ListObservationEventsInput, 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 OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserState, type OpensteerBrowserStatus, type OpensteerClickOptions, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerCookieJar, type OpensteerDomController, type OpensteerEngineName, type OpensteerError, type OpensteerErrorCode, type OpensteerExtractOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerFetchOptions, type OpensteerFetchedRouteResponse, type OpensteerGotoOptions, type OpensteerInputOptions, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkController, type OpensteerNetworkDetailResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerOptions, type OpensteerPolicy, OpensteerProtocolError, type OpensteerProviderMode, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerResolvedProvider, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, type OpensteerRuntimeOptions, type OpensteerScrollOptions, type OpensteerSessionRuntimeOptions, type OpensteerStorageMap, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, 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 UpdateRequestPlanFreshnessInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRequestPlanInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createArtifactStore, createDomDescriptorStore, createDomRuntime, createFilesystemOpensteerWorkspace, createObservationStore, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, hashDomDescriptorPersist, inspectCdpEndpoint, isCurrentUrlField, isOpensteerProtocolError, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, opensteerErrorCodes, parseDomDescriptorRecord, parseExtractionDescriptorRecord, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord };
3160
+ export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactPayloadType, type ArtifactScope, 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 CloudSessionLaunchConfig, type CloudSessionSourceType, type CloudSessionStatus, type CloudSessionSummary, type CloudSessionVisibilityScope, type CloudViewport, type ContextHop, type CreateFilesystemOpensteerWorkspaceOptions, type CreateTraceRunInput, DEFAULT_OPENSTEER_CLOUD_BASE_URL, 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, FilesystemArtifactStore, type FilesystemObservationStore, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListObservationArtifactsInput, type ListObservationEventsInput, 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 OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserState, type OpensteerBrowserStatus, type OpensteerClickOptions, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerCookieJar, type OpensteerDomController, type OpensteerEngineName, type OpensteerError, type OpensteerErrorCode, type OpensteerExtractOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerFetchOptions, type OpensteerFetchedRouteResponse, type OpensteerGotoOptions, type OpensteerInputOptions, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkController, type OpensteerNetworkDetailResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerOptions, type OpensteerPolicy, OpensteerProtocolError, type OpensteerProviderMode, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerResolvedProvider, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, type OpensteerRuntimeOptions, type OpensteerScrollOptions, type OpensteerSessionRuntimeOptions, type OpensteerStorageMap, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, 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 UpdateRequestPlanFreshnessInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRequestPlanInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createArtifactStore, createDomDescriptorStore, createDomRuntime, createFilesystemOpensteerWorkspace, createObservationStore, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, hashDomDescriptorPersist, inspectCdpEndpoint, isCurrentUrlField, isOpensteerProtocolError, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, opensteerErrorCodes, 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.d.ts CHANGED
@@ -45,6 +45,7 @@ type PageLifecycleState = "opening" | "open" | "closing" | "closed" | "crashed";
45
45
  interface PageInfo {
46
46
  readonly pageRef: PageRef;
47
47
  readonly sessionRef: SessionRef;
48
+ readonly targetId?: string;
48
49
  readonly openerPageRef?: PageRef;
49
50
  readonly url: string;
50
51
  readonly title: string;
@@ -398,6 +399,7 @@ interface BrowserCapabilities {
398
399
  }
399
400
 
400
401
  interface PostLoadTrackerSnapshot {
402
+ readonly lastMutationAt: number;
401
403
  readonly lastTrackedNetworkActivityAt: number;
402
404
  readonly trackedPendingFetches: number;
403
405
  readonly trackedPendingXhrs: number;
@@ -415,6 +417,8 @@ interface ActionBoundaryOutcome {
415
417
  readonly trigger: ActionBoundarySettleTrigger;
416
418
  readonly crossDocument: boolean;
417
419
  readonly bootstrapSettled: boolean;
420
+ readonly observedMutationQuietMs?: number;
421
+ readonly postLoadHandled?: boolean;
418
422
  readonly timedOutPhase?: ActionBoundaryTimedOutPhase;
419
423
  }
420
424
 
@@ -745,6 +749,7 @@ interface BrowserInspector {
745
749
  readonly pageRef: PageRef;
746
750
  readonly timeoutMs?: number;
747
751
  readonly settleMs?: number;
752
+ readonly initialQuietMs?: number;
748
753
  readonly scope?: VisualStabilityScope;
749
754
  }): Promise<void>;
750
755
  waitForPostLoadQuiet(input: {
@@ -1524,6 +1529,10 @@ interface OpenObservationSessionInput {
1524
1529
  readonly openedAt?: number;
1525
1530
  readonly config?: Partial<ObservabilityConfig>;
1526
1531
  }
1532
+ interface ConfigureObservationSessionInput {
1533
+ readonly updatedAt?: number;
1534
+ readonly config?: Partial<ObservabilityConfig>;
1535
+ }
1527
1536
  interface AppendObservationEventInput {
1528
1537
  readonly eventId?: string;
1529
1538
  readonly kind: ObservationEventKind;
@@ -1551,6 +1560,7 @@ interface WriteObservationArtifactInput {
1551
1560
  }
1552
1561
  interface SessionObservationSink {
1553
1562
  readonly sessionId: string;
1563
+ configure?(input: ConfigureObservationSessionInput): Promise<void>;
1554
1564
  append(input: AppendObservationEventInput): Promise<ObservationEvent>;
1555
1565
  appendBatch(input: readonly AppendObservationEventInput[]): Promise<readonly ObservationEvent[]>;
1556
1566
  writeArtifact(input: WriteObservationArtifactInput): Promise<ObservationArtifact>;
@@ -1628,27 +1638,11 @@ interface OpensteerStealthProfileInput {
1628
1638
  readonly locale?: string;
1629
1639
  readonly timezoneId?: string;
1630
1640
  }
1631
- interface OpensteerResolvedTarget {
1632
- readonly pageRef: PageRef;
1633
- readonly frameRef: FrameRef;
1634
- readonly documentRef: DocumentRef;
1635
- readonly documentEpoch: DocumentEpoch;
1636
- readonly nodeRef: NodeRef;
1641
+ interface OpensteerActionResult {
1637
1642
  readonly tagName: string;
1638
- readonly pathHint: string;
1639
1643
  readonly persist?: string;
1640
- readonly selectorUsed?: string;
1641
- }
1642
- interface OpensteerActionResult {
1643
- readonly target: OpensteerResolvedTarget;
1644
- readonly point?: {
1645
- readonly x: number;
1646
- readonly y: number;
1647
- };
1648
1644
  }
1649
- interface OpensteerSessionState {
1650
- readonly sessionRef: SessionRef;
1651
- readonly pageRef: PageRef;
1645
+ interface OpensteerNavigationSummary {
1652
1646
  readonly url: string;
1653
1647
  readonly title: string;
1654
1648
  }
@@ -1659,7 +1653,7 @@ interface OpensteerOpenInput {
1659
1653
  readonly launch?: OpensteerBrowserLaunchOptions;
1660
1654
  readonly context?: OpensteerBrowserContextOptions;
1661
1655
  }
1662
- interface OpensteerOpenOutput extends OpensteerSessionState {
1656
+ interface OpensteerOpenOutput extends OpensteerNavigationSummary {
1663
1657
  }
1664
1658
  interface OpensteerPageListInput {
1665
1659
  }
@@ -1671,12 +1665,13 @@ interface OpensteerPageNewInput {
1671
1665
  readonly url?: string;
1672
1666
  readonly openerPageRef?: PageRef;
1673
1667
  }
1674
- interface OpensteerPageNewOutput extends OpensteerSessionState {
1668
+ interface OpensteerPageNewOutput extends OpensteerNavigationSummary {
1669
+ readonly pageRef: PageRef;
1675
1670
  }
1676
1671
  interface OpensteerPageActivateInput {
1677
1672
  readonly pageRef: PageRef;
1678
1673
  }
1679
- interface OpensteerPageActivateOutput extends OpensteerSessionState {
1674
+ interface OpensteerPageActivateOutput extends OpensteerNavigationSummary {
1680
1675
  }
1681
1676
  interface OpensteerPageCloseInput {
1682
1677
  readonly pageRef?: PageRef;
@@ -1690,7 +1685,7 @@ interface OpensteerPageGotoInput {
1690
1685
  readonly url: string;
1691
1686
  readonly captureNetwork?: string;
1692
1687
  }
1693
- interface OpensteerPageGotoOutput extends OpensteerSessionState {
1688
+ interface OpensteerPageGotoOutput extends OpensteerNavigationSummary {
1694
1689
  }
1695
1690
  interface OpensteerPageEvaluateInput {
1696
1691
  readonly script: string;
@@ -1766,39 +1761,22 @@ interface OpensteerComputerScreenshotOptions {
1766
1761
  readonly includeCursor?: boolean;
1767
1762
  readonly disableAnnotations?: readonly OpensteerComputerAnnotation[];
1768
1763
  }
1764
+ interface OpensteerScreenshotSummary {
1765
+ readonly payload: ExternalBinaryLocation;
1766
+ readonly format: "png" | "jpeg" | "webp";
1767
+ readonly size: Size;
1768
+ readonly coordinateSpace: CoordinateSpace;
1769
+ readonly clip?: Rect;
1770
+ }
1769
1771
  interface OpensteerComputerExecuteInput {
1770
1772
  readonly action: OpensteerComputerAction;
1771
1773
  readonly screenshot?: OpensteerComputerScreenshotOptions;
1772
1774
  readonly captureNetwork?: string;
1773
1775
  }
1774
- interface OpensteerComputerDisplayScale {
1775
- readonly x: number;
1776
- readonly y: number;
1777
- }
1778
- interface OpensteerComputerTracePoint {
1779
- readonly role: "point" | "start" | "end";
1780
- readonly point: Point;
1781
- readonly hitTest?: HitTestResult;
1782
- readonly target?: OpensteerResolvedTarget;
1783
- }
1784
- interface OpensteerComputerTraceEnrichment {
1785
- readonly points: readonly OpensteerComputerTracePoint[];
1786
- }
1787
- interface OpensteerComputerExecuteTiming {
1788
- readonly actionMs: number;
1789
- readonly waitMs: number;
1790
- readonly totalMs: number;
1791
- }
1792
1776
  interface OpensteerComputerExecuteOutput {
1793
- readonly action: OpensteerComputerAction;
1794
- readonly pageRef: PageRef;
1795
- readonly screenshot: ScreenshotArtifact;
1796
- readonly displayViewport: ViewportMetrics;
1797
- readonly nativeViewport: ViewportMetrics;
1798
- readonly displayScale: OpensteerComputerDisplayScale;
1799
- readonly events: readonly StepEvent[];
1800
- readonly timing: OpensteerComputerExecuteTiming;
1801
- readonly trace?: OpensteerComputerTraceEnrichment;
1777
+ readonly url: string;
1778
+ readonly title: string;
1779
+ readonly screenshot: OpensteerScreenshotSummary;
1802
1780
  }
1803
1781
  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.detail", "interaction.capture", "interaction.get", "interaction.diff", "interaction.replay", "artifact.read", "session.cookies", "session.storage", "session.state", "session.fetch", "scripts.capture", "scripts.beautify", "scripts.deobfuscate", "scripts.sandbox", "captcha.solve", "computer.execute", "session.close"];
1804
1782
  type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
@@ -1939,7 +1917,7 @@ interface DomActionSettleOptions {
1939
1917
  readonly snapshot?: ActionBoundarySnapshot;
1940
1918
  readonly signal: AbortSignal;
1941
1919
  remainingMs(): number | undefined;
1942
- policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger): Promise<void>;
1920
+ policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger, boundary?: ActionBoundaryOutcome): Promise<void>;
1943
1921
  }
1944
1922
  type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
1945
1923
  interface DomPointerHitAssessment {
@@ -2349,6 +2327,8 @@ interface SettleContext extends SettleDelayInput {
2349
2327
  readonly pageRef: PageRef;
2350
2328
  readonly signal: AbortSignal;
2351
2329
  readonly remainingMs: number | undefined;
2330
+ readonly observedMutationQuietMs?: number;
2331
+ readonly postLoadHandled?: boolean;
2352
2332
  }
2353
2333
  interface SettleObserver {
2354
2334
  settle(input: SettleContext): Promise<boolean>;
@@ -2715,6 +2695,7 @@ interface WorkspaceBrowserManifest {
2715
2695
  }
2716
2696
  interface WorkspaceLiveBrowserRecord {
2717
2697
  readonly mode: "persistent";
2698
+ readonly ownership: "owned" | "attached";
2718
2699
  readonly engine: OpensteerEngineName;
2719
2700
  readonly endpoint?: string;
2720
2701
  readonly baseUrl?: string;
@@ -3009,6 +2990,7 @@ declare class Opensteer {
3009
2990
  private requireOwnedInstrumentationRuntime;
3010
2991
  }
3011
2992
 
2993
+ declare const DEFAULT_OPENSTEER_CLOUD_BASE_URL = "https://api.opensteer.com";
3012
2994
  interface OpensteerCloudConfig {
3013
2995
  readonly apiKey: string;
3014
2996
  readonly baseUrl: string;
@@ -3107,12 +3089,15 @@ interface PersistedSessionRecordBase {
3107
3089
  readonly workspace?: string;
3108
3090
  readonly updatedAt: number;
3109
3091
  readonly activePageRef?: string;
3092
+ readonly activePageUrl?: string;
3093
+ readonly activePageTitle?: string;
3110
3094
  readonly reconnectable?: boolean;
3111
3095
  readonly capabilities?: OpensteerSessionCapabilities;
3112
3096
  }
3113
3097
  interface PersistedLocalBrowserSessionRecord extends PersistedSessionRecordBase {
3114
3098
  readonly provider: "local";
3115
3099
  readonly engine: "playwright" | "abp";
3100
+ readonly ownership?: Exclude<OpensteerSessionOwnership, "managed">;
3116
3101
  readonly endpoint?: string;
3117
3102
  readonly baseUrl?: string;
3118
3103
  readonly remoteDebuggingUrl?: string;
@@ -3172,4 +3157,4 @@ declare function discoverLocalCdpBrowsers(input?: {
3172
3157
  readonly timeoutMs?: number;
3173
3158
  }): Promise<readonly LocalCdpBrowserCandidate[]>;
3174
3159
 
3175
- export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactPayloadType, type ArtifactScope, 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 CloudSessionLaunchConfig, 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, FilesystemArtifactStore, type FilesystemObservationStore, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListObservationArtifactsInput, type ListObservationEventsInput, 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 OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserState, type OpensteerBrowserStatus, type OpensteerClickOptions, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerCookieJar, type OpensteerDomController, type OpensteerEngineName, type OpensteerError, type OpensteerErrorCode, type OpensteerExtractOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerFetchOptions, type OpensteerFetchedRouteResponse, type OpensteerGotoOptions, type OpensteerInputOptions, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkController, type OpensteerNetworkDetailResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerOptions, type OpensteerPolicy, OpensteerProtocolError, type OpensteerProviderMode, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerResolvedProvider, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, type OpensteerRuntimeOptions, type OpensteerScrollOptions, type OpensteerSessionRuntimeOptions, type OpensteerStorageMap, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, 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 UpdateRequestPlanFreshnessInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRequestPlanInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createArtifactStore, createDomDescriptorStore, createDomRuntime, createFilesystemOpensteerWorkspace, createObservationStore, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, hashDomDescriptorPersist, inspectCdpEndpoint, isCurrentUrlField, isOpensteerProtocolError, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, opensteerErrorCodes, parseDomDescriptorRecord, parseExtractionDescriptorRecord, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudConfig, resolveCloudSessionRecordPath, resolveDomActionBridge, resolveExtractedValueInContext, resolveFilesystemWorkspacePath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, resolveOpensteerEngineName, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath, writePersistedSessionRecord };
3160
+ export { type AnchorTargetRef, type AppendTraceEntryInput, type ArtifactManifest, type ArtifactPayloadType, type ArtifactScope, 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 CloudSessionLaunchConfig, type CloudSessionSourceType, type CloudSessionStatus, type CloudSessionSummary, type CloudSessionVisibilityScope, type CloudViewport, type ContextHop, type CreateFilesystemOpensteerWorkspaceOptions, type CreateTraceRunInput, DEFAULT_OPENSTEER_CLOUD_BASE_URL, 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, FilesystemArtifactStore, type FilesystemObservationStore, type FilesystemOpensteerWorkspace, type InspectedCdpEndpoint, type InteractionTraceRecord, type InteractionTraceRegistryStore, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListObservationArtifactsInput, type ListObservationEventsInput, 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 OpensteerArtifactStore, OpensteerAttachAmbiguousError, type OpensteerBrowserCloneOptions, type OpensteerBrowserController, OpensteerBrowserManager, type OpensteerBrowserManagerOptions, type OpensteerBrowserState, type OpensteerBrowserStatus, type OpensteerClickOptions, OpensteerCloudClient, type OpensteerCloudConfig, type OpensteerCloudProviderOptions, type OpensteerCloudSessionCreateInput, type OpensteerCloudSessionDescriptor, type OpensteerComputerExecuteOptions, type OpensteerCookieJar, type OpensteerDomController, type OpensteerEngineName, type OpensteerError, type OpensteerErrorCode, type OpensteerExtractOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerFetchOptions, type OpensteerFetchedRouteResponse, type OpensteerGotoOptions, type OpensteerInputOptions, type OpensteerInterceptScriptOptions, type OpensteerLiveSessionProvider, type OpensteerLocalProviderOptions, type OpensteerNetworkController, type OpensteerNetworkDetailResult, type OpensteerNetworkQueryOptions, type OpensteerNetworkQueryResult, type OpensteerOptions, type OpensteerPolicy, OpensteerProtocolError, type OpensteerProviderMode, type OpensteerProviderOptions, type OpensteerProviderSource, type OpensteerResolvedProvider, type OpensteerRouteHandlerResult, type OpensteerRouteOptions, type OpensteerRouteRegistration, type OpensteerRuntimeOptions, type OpensteerScrollOptions, type OpensteerSessionRuntimeOptions, type OpensteerStorageMap, type OpensteerTargetOptions, type OpensteerTraceStore, type OpensteerWaitForPageOptions, type OpensteerWorkspaceManifest, type PathNode, type PersistedCloudSessionRecord, type PersistedLocalBrowserSessionRecord, type PersistedSessionRecord, type ProtocolArtifactDelivery, type RegistryProvenance, type RegistryRecord, type ReplayElementPath, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ResolvedDomTarget, type RetryDecision, type RetryEvaluationInput, type RetryPolicy, 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 UpdateRequestPlanFreshnessInput, type WorkspaceBrowserBootstrap, type WorkspaceBrowserManifest, type WorkspaceLiveBrowserRecord, type WriteBinaryArtifactInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRequestPlanInput, type WriteStructuredArtifactInput, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, clearPersistedSessionRecord, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createArtifactStore, createDomDescriptorStore, createDomRuntime, createFilesystemOpensteerWorkspace, createObservationStore, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, discoverLocalCdpBrowsers, hashDomDescriptorPersist, inspectCdpEndpoint, isCurrentUrlField, isOpensteerProtocolError, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeOpensteerProviderMode, normalizeWorkspaceId, opensteerErrorCodes, 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,6 +1,6 @@
1
- export { Opensteer } from './chunk-L4NF74KI.js';
2
- export { DEFERRED_MATCH_ATTR_KEYS, ElementPathError, MATCH_ATTRIBUTE_PRIORITY, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OpensteerCloudClient, STABLE_PRIMARY_ATTR_KEYS, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomDescriptorStore, createDomRuntime, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, hashDomDescriptorPersist, isCurrentUrlField, isValidCssAttributeKey, normalizeExtractedValue, normalizeOpensteerProviderMode, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveCloudConfig, resolveDomActionBridge, resolveExtractedValueInContext, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath } from './chunk-BVRIPCWA.js';
3
- export { DEFAULT_OPENSTEER_ENGINE, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OpensteerBrowserManager, OpensteerProtocolError, createArtifactStore, createFilesystemOpensteerWorkspace, createObservationStore, isOpensteerProtocolError, manifestToExternalBinaryLocation, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeWorkspaceId, opensteerErrorCodes, resolveFilesystemWorkspacePath, resolveOpensteerEngineName } from './chunk-3XBQRZZC.js';
4
- export { OpensteerAttachAmbiguousError, clearPersistedSessionRecord, discoverLocalCdpBrowsers, inspectCdpEndpoint, listLocalChromeProfiles, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudSessionRecordPath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, writePersistedSessionRecord } from './chunk-T5P2QGZ3.js';
1
+ export { Opensteer } from './chunk-SOJEWKSW.js';
2
+ export { DEFAULT_OPENSTEER_CLOUD_BASE_URL, DEFERRED_MATCH_ATTR_KEYS, ElementPathError, MATCH_ATTRIBUTE_PRIORITY, OPENSTEER_DOM_ACTION_BRIDGE_SYMBOL, OpensteerCloudClient, STABLE_PRIMARY_ATTR_KEYS, assertProviderSupportsEngine, buildArrayFieldPathCandidates, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, buildPathCandidates, buildPathSelectorHint, buildSegmentSelector, cloneElementPath, cloneReplayElementPath, cloneStructuralElementAnchor, createDomDescriptorStore, createDomRuntime, createOpensteerExtractionDescriptorStore, defaultFallbackPolicy, defaultPolicy, defaultRetryPolicy, defaultSettlePolicy, defaultTimeoutPolicy, delayWithSignal, hashDomDescriptorPersist, isCurrentUrlField, isValidCssAttributeKey, normalizeExtractedValue, normalizeOpensteerProviderMode, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveCloudConfig, resolveDomActionBridge, resolveExtractedValueInContext, resolveOpensteerProvider, resolveOpensteerRuntimeConfig, runWithPolicyTimeout, sanitizeElementPath, sanitizeReplayElementPath, sanitizeStructuralElementAnchor, settleWithPolicy, shouldKeepAttributeForPath } from './chunk-LFWP5RXF.js';
3
+ export { DEFAULT_OPENSTEER_ENGINE, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OpensteerBrowserManager, OpensteerProtocolError, createArtifactStore, createFilesystemOpensteerWorkspace, createObservationStore, isOpensteerProtocolError, manifestToExternalBinaryLocation, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeWorkspaceId, opensteerErrorCodes, resolveFilesystemWorkspacePath, resolveOpensteerEngineName } from './chunk-EXXRLPLI.js';
4
+ export { OpensteerAttachAmbiguousError, clearPersistedSessionRecord, discoverLocalCdpBrowsers, inspectCdpEndpoint, listLocalChromeProfiles, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudSessionRecordPath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, writePersistedSessionRecord } from './chunk-GKYBP3KD.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1556,7 +1556,16 @@ class LocalViewApp {
1556
1556
 
1557
1557
  const meta = document.createElement("span");
1558
1558
  meta.className = "session-info";
1559
- meta.textContent = [session.workspace, `pid ${session.pid}`].filter(Boolean).join(" \u00b7 ");
1559
+ meta.textContent = [
1560
+ session.workspace,
1561
+ Number.isInteger(session.pid) && session.pid > 0
1562
+ ? `pid ${session.pid}`
1563
+ : session.ownership === "attached"
1564
+ ? "attached"
1565
+ : "",
1566
+ ]
1567
+ .filter(Boolean)
1568
+ .join(" \u00b7 ");
1560
1569
 
1561
1570
  row2.append(badge, meta);
1562
1571