opensteer 0.9.5 → 0.9.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/{chunk-7LQL5YUR.js → chunk-3OHKIPBD.js} +571 -738
- package/dist/chunk-3OHKIPBD.js.map +1 -0
- package/dist/chunk-52UNH5UW.js +458 -0
- package/dist/chunk-52UNH5UW.js.map +1 -0
- package/dist/{chunk-GSCQQKZZ.js → chunk-PJXN7HED.js} +334 -18
- package/dist/chunk-PJXN7HED.js.map +1 -0
- package/dist/{chunk-ZRF7WMS3.js → chunk-R33BXCMQ.js} +16 -7
- package/dist/chunk-R33BXCMQ.js.map +1 -0
- package/dist/{chunk-T5P2QGZ3.js → chunk-U4BUCIZ4.js} +153 -12
- package/dist/chunk-U4BUCIZ4.js.map +1 -0
- package/dist/cli/bin.cjs +1421 -824
- package/dist/cli/bin.cjs.map +1 -1
- package/dist/cli/bin.js +286 -129
- package/dist/cli/bin.js.map +1 -1
- package/dist/index.cjs +1117 -703
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -53
- package/dist/index.d.ts +58 -53
- package/dist/index.js +4 -4
- package/dist/local-view/public/assets/app.js +10 -1
- package/dist/local-view/serve-entry.cjs +6815 -1272
- package/dist/local-view/serve-entry.cjs.map +1 -1
- package/dist/local-view/serve-entry.js +2 -2
- package/dist/opensteer-CY2QUJEG.js +6 -0
- package/dist/{opensteer-T2JENADR.js.map → opensteer-CY2QUJEG.js.map} +1 -1
- package/dist/{session-control-M3JD7ZKA.js → session-control-FIP6ZJLH.js} +4 -4
- package/dist/{session-control-M3JD7ZKA.js.map → session-control-FIP6ZJLH.js.map} +1 -1
- package/package.json +7 -7
- package/dist/chunk-7D45QUZ3.js +0 -332
- package/dist/chunk-7D45QUZ3.js.map +0 -1
- package/dist/chunk-7LQL5YUR.js.map +0 -1
- package/dist/chunk-GSCQQKZZ.js.map +0 -1
- package/dist/chunk-T5P2QGZ3.js.map +0 -1
- package/dist/chunk-ZRF7WMS3.js.map +0 -1
- package/dist/opensteer-T2JENADR.js +0 -6
package/dist/index.d.cts
CHANGED
|
@@ -398,6 +398,7 @@ interface BrowserCapabilities {
|
|
|
398
398
|
}
|
|
399
399
|
|
|
400
400
|
interface PostLoadTrackerSnapshot {
|
|
401
|
+
readonly lastMutationAt: number;
|
|
401
402
|
readonly lastTrackedNetworkActivityAt: number;
|
|
402
403
|
readonly trackedPendingFetches: number;
|
|
403
404
|
readonly trackedPendingXhrs: number;
|
|
@@ -415,6 +416,8 @@ interface ActionBoundaryOutcome {
|
|
|
415
416
|
readonly trigger: ActionBoundarySettleTrigger;
|
|
416
417
|
readonly crossDocument: boolean;
|
|
417
418
|
readonly bootstrapSettled: boolean;
|
|
419
|
+
readonly observedMutationQuietMs?: number;
|
|
420
|
+
readonly postLoadHandled?: boolean;
|
|
418
421
|
readonly timedOutPhase?: ActionBoundaryTimedOutPhase;
|
|
419
422
|
}
|
|
420
423
|
|
|
@@ -745,6 +748,7 @@ interface BrowserInspector {
|
|
|
745
748
|
readonly pageRef: PageRef;
|
|
746
749
|
readonly timeoutMs?: number;
|
|
747
750
|
readonly settleMs?: number;
|
|
751
|
+
readonly initialQuietMs?: number;
|
|
748
752
|
readonly scope?: VisualStabilityScope;
|
|
749
753
|
}): Promise<void>;
|
|
750
754
|
waitForPostLoadQuiet(input: {
|
|
@@ -1339,6 +1343,20 @@ interface OpensteerError {
|
|
|
1339
1343
|
readonly capability?: OpensteerCapability;
|
|
1340
1344
|
readonly details?: Readonly<Record<string, unknown>>;
|
|
1341
1345
|
}
|
|
1346
|
+
interface OpensteerErrorOptions {
|
|
1347
|
+
readonly cause?: unknown;
|
|
1348
|
+
readonly retriable?: boolean;
|
|
1349
|
+
readonly capability?: OpensteerCapability;
|
|
1350
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
1351
|
+
}
|
|
1352
|
+
declare class OpensteerProtocolError extends Error {
|
|
1353
|
+
readonly code: OpensteerErrorCode;
|
|
1354
|
+
readonly retriable: boolean;
|
|
1355
|
+
readonly capability: OpensteerCapability | undefined;
|
|
1356
|
+
readonly details: Readonly<Record<string, unknown>> | undefined;
|
|
1357
|
+
constructor(code: OpensteerErrorCode, message: string, options?: OpensteerErrorOptions);
|
|
1358
|
+
}
|
|
1359
|
+
declare function isOpensteerProtocolError(value: unknown): value is OpensteerProtocolError;
|
|
1342
1360
|
|
|
1343
1361
|
type OpensteerArtifactKind = "screenshot" | "html-snapshot" | "dom-snapshot" | "cookies" | "storage-snapshot" | "script-source";
|
|
1344
1362
|
type ArtifactRelation = "result" | "before" | "after" | "capture" | "evidence" | "snapshot";
|
|
@@ -1614,27 +1632,11 @@ interface OpensteerStealthProfileInput {
|
|
|
1614
1632
|
readonly locale?: string;
|
|
1615
1633
|
readonly timezoneId?: string;
|
|
1616
1634
|
}
|
|
1617
|
-
interface
|
|
1618
|
-
readonly pageRef: PageRef;
|
|
1619
|
-
readonly frameRef: FrameRef;
|
|
1620
|
-
readonly documentRef: DocumentRef;
|
|
1621
|
-
readonly documentEpoch: DocumentEpoch;
|
|
1622
|
-
readonly nodeRef: NodeRef;
|
|
1635
|
+
interface OpensteerActionResult {
|
|
1623
1636
|
readonly tagName: string;
|
|
1624
|
-
readonly pathHint: string;
|
|
1625
1637
|
readonly persist?: string;
|
|
1626
|
-
readonly selectorUsed?: string;
|
|
1627
|
-
}
|
|
1628
|
-
interface OpensteerActionResult {
|
|
1629
|
-
readonly target: OpensteerResolvedTarget;
|
|
1630
|
-
readonly point?: {
|
|
1631
|
-
readonly x: number;
|
|
1632
|
-
readonly y: number;
|
|
1633
|
-
};
|
|
1634
1638
|
}
|
|
1635
|
-
interface
|
|
1636
|
-
readonly sessionRef: SessionRef;
|
|
1637
|
-
readonly pageRef: PageRef;
|
|
1639
|
+
interface OpensteerNavigationSummary {
|
|
1638
1640
|
readonly url: string;
|
|
1639
1641
|
readonly title: string;
|
|
1640
1642
|
}
|
|
@@ -1645,7 +1647,7 @@ interface OpensteerOpenInput {
|
|
|
1645
1647
|
readonly launch?: OpensteerBrowserLaunchOptions;
|
|
1646
1648
|
readonly context?: OpensteerBrowserContextOptions;
|
|
1647
1649
|
}
|
|
1648
|
-
interface OpensteerOpenOutput extends
|
|
1650
|
+
interface OpensteerOpenOutput extends OpensteerNavigationSummary {
|
|
1649
1651
|
}
|
|
1650
1652
|
interface OpensteerPageListInput {
|
|
1651
1653
|
}
|
|
@@ -1657,12 +1659,13 @@ interface OpensteerPageNewInput {
|
|
|
1657
1659
|
readonly url?: string;
|
|
1658
1660
|
readonly openerPageRef?: PageRef;
|
|
1659
1661
|
}
|
|
1660
|
-
interface OpensteerPageNewOutput extends
|
|
1662
|
+
interface OpensteerPageNewOutput extends OpensteerNavigationSummary {
|
|
1663
|
+
readonly pageRef: PageRef;
|
|
1661
1664
|
}
|
|
1662
1665
|
interface OpensteerPageActivateInput {
|
|
1663
1666
|
readonly pageRef: PageRef;
|
|
1664
1667
|
}
|
|
1665
|
-
interface OpensteerPageActivateOutput extends
|
|
1668
|
+
interface OpensteerPageActivateOutput extends OpensteerNavigationSummary {
|
|
1666
1669
|
}
|
|
1667
1670
|
interface OpensteerPageCloseInput {
|
|
1668
1671
|
readonly pageRef?: PageRef;
|
|
@@ -1676,7 +1679,7 @@ interface OpensteerPageGotoInput {
|
|
|
1676
1679
|
readonly url: string;
|
|
1677
1680
|
readonly captureNetwork?: string;
|
|
1678
1681
|
}
|
|
1679
|
-
interface OpensteerPageGotoOutput extends
|
|
1682
|
+
interface OpensteerPageGotoOutput extends OpensteerNavigationSummary {
|
|
1680
1683
|
}
|
|
1681
1684
|
interface OpensteerPageEvaluateInput {
|
|
1682
1685
|
readonly script: string;
|
|
@@ -1752,39 +1755,22 @@ interface OpensteerComputerScreenshotOptions {
|
|
|
1752
1755
|
readonly includeCursor?: boolean;
|
|
1753
1756
|
readonly disableAnnotations?: readonly OpensteerComputerAnnotation[];
|
|
1754
1757
|
}
|
|
1758
|
+
interface OpensteerScreenshotSummary {
|
|
1759
|
+
readonly payload: ExternalBinaryLocation;
|
|
1760
|
+
readonly format: "png" | "jpeg" | "webp";
|
|
1761
|
+
readonly size: Size;
|
|
1762
|
+
readonly coordinateSpace: CoordinateSpace;
|
|
1763
|
+
readonly clip?: Rect;
|
|
1764
|
+
}
|
|
1755
1765
|
interface OpensteerComputerExecuteInput {
|
|
1756
1766
|
readonly action: OpensteerComputerAction;
|
|
1757
1767
|
readonly screenshot?: OpensteerComputerScreenshotOptions;
|
|
1758
1768
|
readonly captureNetwork?: string;
|
|
1759
1769
|
}
|
|
1760
|
-
interface OpensteerComputerDisplayScale {
|
|
1761
|
-
readonly x: number;
|
|
1762
|
-
readonly y: number;
|
|
1763
|
-
}
|
|
1764
|
-
interface OpensteerComputerTracePoint {
|
|
1765
|
-
readonly role: "point" | "start" | "end";
|
|
1766
|
-
readonly point: Point;
|
|
1767
|
-
readonly hitTest?: HitTestResult;
|
|
1768
|
-
readonly target?: OpensteerResolvedTarget;
|
|
1769
|
-
}
|
|
1770
|
-
interface OpensteerComputerTraceEnrichment {
|
|
1771
|
-
readonly points: readonly OpensteerComputerTracePoint[];
|
|
1772
|
-
}
|
|
1773
|
-
interface OpensteerComputerExecuteTiming {
|
|
1774
|
-
readonly actionMs: number;
|
|
1775
|
-
readonly waitMs: number;
|
|
1776
|
-
readonly totalMs: number;
|
|
1777
|
-
}
|
|
1778
1770
|
interface OpensteerComputerExecuteOutput {
|
|
1779
|
-
readonly
|
|
1780
|
-
readonly
|
|
1781
|
-
readonly screenshot:
|
|
1782
|
-
readonly displayViewport: ViewportMetrics;
|
|
1783
|
-
readonly nativeViewport: ViewportMetrics;
|
|
1784
|
-
readonly displayScale: OpensteerComputerDisplayScale;
|
|
1785
|
-
readonly events: readonly StepEvent[];
|
|
1786
|
-
readonly timing: OpensteerComputerExecuteTiming;
|
|
1787
|
-
readonly trace?: OpensteerComputerTraceEnrichment;
|
|
1771
|
+
readonly url: string;
|
|
1772
|
+
readonly title: string;
|
|
1773
|
+
readonly screenshot: OpensteerScreenshotSummary;
|
|
1788
1774
|
}
|
|
1789
1775
|
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"];
|
|
1790
1776
|
type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
|
|
@@ -1871,7 +1857,11 @@ interface PositionMatchClause {
|
|
|
1871
1857
|
readonly kind: "position";
|
|
1872
1858
|
readonly axis: "nthOfType" | "nthChild";
|
|
1873
1859
|
}
|
|
1874
|
-
|
|
1860
|
+
interface TextMatchClause {
|
|
1861
|
+
readonly kind: "text";
|
|
1862
|
+
readonly value: string;
|
|
1863
|
+
}
|
|
1864
|
+
type MatchClause = AttributeMatchClause | PositionMatchClause | TextMatchClause;
|
|
1875
1865
|
interface PathNodePosition {
|
|
1876
1866
|
readonly nthChild: number;
|
|
1877
1867
|
readonly nthOfType: number;
|
|
@@ -1921,18 +1911,22 @@ interface DomActionSettleOptions {
|
|
|
1921
1911
|
readonly snapshot?: ActionBoundarySnapshot;
|
|
1922
1912
|
readonly signal: AbortSignal;
|
|
1923
1913
|
remainingMs(): number | undefined;
|
|
1924
|
-
policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger): Promise<void>;
|
|
1914
|
+
policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger, boundary?: ActionBoundaryOutcome): Promise<void>;
|
|
1925
1915
|
}
|
|
1926
1916
|
type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
|
|
1927
1917
|
interface DomPointerHitAssessment {
|
|
1928
1918
|
readonly relation: DomPointerHitRelation;
|
|
1929
1919
|
readonly blocking: boolean;
|
|
1930
1920
|
readonly ambiguous?: boolean;
|
|
1921
|
+
readonly blockingDescription?: string;
|
|
1931
1922
|
readonly canonicalTarget?: NodeLocator;
|
|
1932
1923
|
readonly hitOwner?: NodeLocator;
|
|
1933
1924
|
}
|
|
1925
|
+
interface BuildReplayPathOptions {
|
|
1926
|
+
readonly enableTextMatch?: boolean;
|
|
1927
|
+
}
|
|
1934
1928
|
interface DomActionBridge {
|
|
1935
|
-
buildReplayPath(locator: NodeLocator): Promise<ReplayElementPath>;
|
|
1929
|
+
buildReplayPath(locator: NodeLocator, options?: BuildReplayPathOptions): Promise<ReplayElementPath>;
|
|
1936
1930
|
inspectActionTarget(locator: NodeLocator): Promise<DomActionTargetInspection>;
|
|
1937
1931
|
canonicalizePointerTarget(locator: NodeLocator): Promise<NodeLocator>;
|
|
1938
1932
|
classifyPointerHit(input: {
|
|
@@ -2327,6 +2321,8 @@ interface SettleContext extends SettleDelayInput {
|
|
|
2327
2321
|
readonly pageRef: PageRef;
|
|
2328
2322
|
readonly signal: AbortSignal;
|
|
2329
2323
|
readonly remainingMs: number | undefined;
|
|
2324
|
+
readonly observedMutationQuietMs?: number;
|
|
2325
|
+
readonly postLoadHandled?: boolean;
|
|
2330
2326
|
}
|
|
2331
2327
|
interface SettleObserver {
|
|
2332
2328
|
settle(input: SettleContext): Promise<boolean>;
|
|
@@ -2436,6 +2432,7 @@ interface ResolvedDomTarget {
|
|
|
2436
2432
|
}
|
|
2437
2433
|
interface DomBuildPathInput {
|
|
2438
2434
|
readonly locator: NodeLocator;
|
|
2435
|
+
readonly enableTextMatch?: boolean;
|
|
2439
2436
|
}
|
|
2440
2437
|
interface DomResolveTargetInput {
|
|
2441
2438
|
readonly pageRef: PageRef;
|
|
@@ -2692,6 +2689,7 @@ interface WorkspaceBrowserManifest {
|
|
|
2692
2689
|
}
|
|
2693
2690
|
interface WorkspaceLiveBrowserRecord {
|
|
2694
2691
|
readonly mode: "persistent";
|
|
2692
|
+
readonly ownership: "owned" | "attached";
|
|
2695
2693
|
readonly engine: OpensteerEngineName;
|
|
2696
2694
|
readonly endpoint?: string;
|
|
2697
2695
|
readonly baseUrl?: string;
|
|
@@ -3035,6 +3033,12 @@ interface OpensteerCloudSessionDescriptor {
|
|
|
3035
3033
|
}
|
|
3036
3034
|
interface OpensteerCloudSessionState {
|
|
3037
3035
|
readonly status?: string;
|
|
3036
|
+
readonly runtimeWorkerId?: string;
|
|
3037
|
+
readonly registryDesiredRevision?: number;
|
|
3038
|
+
readonly registryLoadedRevision?: number;
|
|
3039
|
+
readonly idleTimeoutMs?: number;
|
|
3040
|
+
readonly absoluteTtlMs?: number;
|
|
3041
|
+
readonly expiresAt?: number;
|
|
3038
3042
|
}
|
|
3039
3043
|
interface CloudRequestOptions {
|
|
3040
3044
|
readonly signal?: AbortSignal | undefined;
|
|
@@ -3084,6 +3088,7 @@ interface PersistedSessionRecordBase {
|
|
|
3084
3088
|
interface PersistedLocalBrowserSessionRecord extends PersistedSessionRecordBase {
|
|
3085
3089
|
readonly provider: "local";
|
|
3086
3090
|
readonly engine: "playwright" | "abp";
|
|
3091
|
+
readonly ownership?: Exclude<OpensteerSessionOwnership, "managed">;
|
|
3087
3092
|
readonly endpoint?: string;
|
|
3088
3093
|
readonly baseUrl?: string;
|
|
3089
3094
|
readonly remoteDebuggingUrl?: string;
|
|
@@ -3143,4 +3148,4 @@ declare function discoverLocalCdpBrowsers(input?: {
|
|
|
3143
3148
|
readonly timeoutMs?: number;
|
|
3144
3149
|
}): Promise<readonly LocalCdpBrowserCandidate[]>;
|
|
3145
3150
|
|
|
3146
|
-
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 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, 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, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, 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 };
|
|
3151
|
+
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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -398,6 +398,7 @@ interface BrowserCapabilities {
|
|
|
398
398
|
}
|
|
399
399
|
|
|
400
400
|
interface PostLoadTrackerSnapshot {
|
|
401
|
+
readonly lastMutationAt: number;
|
|
401
402
|
readonly lastTrackedNetworkActivityAt: number;
|
|
402
403
|
readonly trackedPendingFetches: number;
|
|
403
404
|
readonly trackedPendingXhrs: number;
|
|
@@ -415,6 +416,8 @@ interface ActionBoundaryOutcome {
|
|
|
415
416
|
readonly trigger: ActionBoundarySettleTrigger;
|
|
416
417
|
readonly crossDocument: boolean;
|
|
417
418
|
readonly bootstrapSettled: boolean;
|
|
419
|
+
readonly observedMutationQuietMs?: number;
|
|
420
|
+
readonly postLoadHandled?: boolean;
|
|
418
421
|
readonly timedOutPhase?: ActionBoundaryTimedOutPhase;
|
|
419
422
|
}
|
|
420
423
|
|
|
@@ -745,6 +748,7 @@ interface BrowserInspector {
|
|
|
745
748
|
readonly pageRef: PageRef;
|
|
746
749
|
readonly timeoutMs?: number;
|
|
747
750
|
readonly settleMs?: number;
|
|
751
|
+
readonly initialQuietMs?: number;
|
|
748
752
|
readonly scope?: VisualStabilityScope;
|
|
749
753
|
}): Promise<void>;
|
|
750
754
|
waitForPostLoadQuiet(input: {
|
|
@@ -1339,6 +1343,20 @@ interface OpensteerError {
|
|
|
1339
1343
|
readonly capability?: OpensteerCapability;
|
|
1340
1344
|
readonly details?: Readonly<Record<string, unknown>>;
|
|
1341
1345
|
}
|
|
1346
|
+
interface OpensteerErrorOptions {
|
|
1347
|
+
readonly cause?: unknown;
|
|
1348
|
+
readonly retriable?: boolean;
|
|
1349
|
+
readonly capability?: OpensteerCapability;
|
|
1350
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
1351
|
+
}
|
|
1352
|
+
declare class OpensteerProtocolError extends Error {
|
|
1353
|
+
readonly code: OpensteerErrorCode;
|
|
1354
|
+
readonly retriable: boolean;
|
|
1355
|
+
readonly capability: OpensteerCapability | undefined;
|
|
1356
|
+
readonly details: Readonly<Record<string, unknown>> | undefined;
|
|
1357
|
+
constructor(code: OpensteerErrorCode, message: string, options?: OpensteerErrorOptions);
|
|
1358
|
+
}
|
|
1359
|
+
declare function isOpensteerProtocolError(value: unknown): value is OpensteerProtocolError;
|
|
1342
1360
|
|
|
1343
1361
|
type OpensteerArtifactKind = "screenshot" | "html-snapshot" | "dom-snapshot" | "cookies" | "storage-snapshot" | "script-source";
|
|
1344
1362
|
type ArtifactRelation = "result" | "before" | "after" | "capture" | "evidence" | "snapshot";
|
|
@@ -1614,27 +1632,11 @@ interface OpensteerStealthProfileInput {
|
|
|
1614
1632
|
readonly locale?: string;
|
|
1615
1633
|
readonly timezoneId?: string;
|
|
1616
1634
|
}
|
|
1617
|
-
interface
|
|
1618
|
-
readonly pageRef: PageRef;
|
|
1619
|
-
readonly frameRef: FrameRef;
|
|
1620
|
-
readonly documentRef: DocumentRef;
|
|
1621
|
-
readonly documentEpoch: DocumentEpoch;
|
|
1622
|
-
readonly nodeRef: NodeRef;
|
|
1635
|
+
interface OpensteerActionResult {
|
|
1623
1636
|
readonly tagName: string;
|
|
1624
|
-
readonly pathHint: string;
|
|
1625
1637
|
readonly persist?: string;
|
|
1626
|
-
readonly selectorUsed?: string;
|
|
1627
|
-
}
|
|
1628
|
-
interface OpensteerActionResult {
|
|
1629
|
-
readonly target: OpensteerResolvedTarget;
|
|
1630
|
-
readonly point?: {
|
|
1631
|
-
readonly x: number;
|
|
1632
|
-
readonly y: number;
|
|
1633
|
-
};
|
|
1634
1638
|
}
|
|
1635
|
-
interface
|
|
1636
|
-
readonly sessionRef: SessionRef;
|
|
1637
|
-
readonly pageRef: PageRef;
|
|
1639
|
+
interface OpensteerNavigationSummary {
|
|
1638
1640
|
readonly url: string;
|
|
1639
1641
|
readonly title: string;
|
|
1640
1642
|
}
|
|
@@ -1645,7 +1647,7 @@ interface OpensteerOpenInput {
|
|
|
1645
1647
|
readonly launch?: OpensteerBrowserLaunchOptions;
|
|
1646
1648
|
readonly context?: OpensteerBrowserContextOptions;
|
|
1647
1649
|
}
|
|
1648
|
-
interface OpensteerOpenOutput extends
|
|
1650
|
+
interface OpensteerOpenOutput extends OpensteerNavigationSummary {
|
|
1649
1651
|
}
|
|
1650
1652
|
interface OpensteerPageListInput {
|
|
1651
1653
|
}
|
|
@@ -1657,12 +1659,13 @@ interface OpensteerPageNewInput {
|
|
|
1657
1659
|
readonly url?: string;
|
|
1658
1660
|
readonly openerPageRef?: PageRef;
|
|
1659
1661
|
}
|
|
1660
|
-
interface OpensteerPageNewOutput extends
|
|
1662
|
+
interface OpensteerPageNewOutput extends OpensteerNavigationSummary {
|
|
1663
|
+
readonly pageRef: PageRef;
|
|
1661
1664
|
}
|
|
1662
1665
|
interface OpensteerPageActivateInput {
|
|
1663
1666
|
readonly pageRef: PageRef;
|
|
1664
1667
|
}
|
|
1665
|
-
interface OpensteerPageActivateOutput extends
|
|
1668
|
+
interface OpensteerPageActivateOutput extends OpensteerNavigationSummary {
|
|
1666
1669
|
}
|
|
1667
1670
|
interface OpensteerPageCloseInput {
|
|
1668
1671
|
readonly pageRef?: PageRef;
|
|
@@ -1676,7 +1679,7 @@ interface OpensteerPageGotoInput {
|
|
|
1676
1679
|
readonly url: string;
|
|
1677
1680
|
readonly captureNetwork?: string;
|
|
1678
1681
|
}
|
|
1679
|
-
interface OpensteerPageGotoOutput extends
|
|
1682
|
+
interface OpensteerPageGotoOutput extends OpensteerNavigationSummary {
|
|
1680
1683
|
}
|
|
1681
1684
|
interface OpensteerPageEvaluateInput {
|
|
1682
1685
|
readonly script: string;
|
|
@@ -1752,39 +1755,22 @@ interface OpensteerComputerScreenshotOptions {
|
|
|
1752
1755
|
readonly includeCursor?: boolean;
|
|
1753
1756
|
readonly disableAnnotations?: readonly OpensteerComputerAnnotation[];
|
|
1754
1757
|
}
|
|
1758
|
+
interface OpensteerScreenshotSummary {
|
|
1759
|
+
readonly payload: ExternalBinaryLocation;
|
|
1760
|
+
readonly format: "png" | "jpeg" | "webp";
|
|
1761
|
+
readonly size: Size;
|
|
1762
|
+
readonly coordinateSpace: CoordinateSpace;
|
|
1763
|
+
readonly clip?: Rect;
|
|
1764
|
+
}
|
|
1755
1765
|
interface OpensteerComputerExecuteInput {
|
|
1756
1766
|
readonly action: OpensteerComputerAction;
|
|
1757
1767
|
readonly screenshot?: OpensteerComputerScreenshotOptions;
|
|
1758
1768
|
readonly captureNetwork?: string;
|
|
1759
1769
|
}
|
|
1760
|
-
interface OpensteerComputerDisplayScale {
|
|
1761
|
-
readonly x: number;
|
|
1762
|
-
readonly y: number;
|
|
1763
|
-
}
|
|
1764
|
-
interface OpensteerComputerTracePoint {
|
|
1765
|
-
readonly role: "point" | "start" | "end";
|
|
1766
|
-
readonly point: Point;
|
|
1767
|
-
readonly hitTest?: HitTestResult;
|
|
1768
|
-
readonly target?: OpensteerResolvedTarget;
|
|
1769
|
-
}
|
|
1770
|
-
interface OpensteerComputerTraceEnrichment {
|
|
1771
|
-
readonly points: readonly OpensteerComputerTracePoint[];
|
|
1772
|
-
}
|
|
1773
|
-
interface OpensteerComputerExecuteTiming {
|
|
1774
|
-
readonly actionMs: number;
|
|
1775
|
-
readonly waitMs: number;
|
|
1776
|
-
readonly totalMs: number;
|
|
1777
|
-
}
|
|
1778
1770
|
interface OpensteerComputerExecuteOutput {
|
|
1779
|
-
readonly
|
|
1780
|
-
readonly
|
|
1781
|
-
readonly screenshot:
|
|
1782
|
-
readonly displayViewport: ViewportMetrics;
|
|
1783
|
-
readonly nativeViewport: ViewportMetrics;
|
|
1784
|
-
readonly displayScale: OpensteerComputerDisplayScale;
|
|
1785
|
-
readonly events: readonly StepEvent[];
|
|
1786
|
-
readonly timing: OpensteerComputerExecuteTiming;
|
|
1787
|
-
readonly trace?: OpensteerComputerTraceEnrichment;
|
|
1771
|
+
readonly url: string;
|
|
1772
|
+
readonly title: string;
|
|
1773
|
+
readonly screenshot: OpensteerScreenshotSummary;
|
|
1788
1774
|
}
|
|
1789
1775
|
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"];
|
|
1790
1776
|
type OpensteerSemanticOperationName = (typeof opensteerSemanticOperationNames)[number];
|
|
@@ -1871,7 +1857,11 @@ interface PositionMatchClause {
|
|
|
1871
1857
|
readonly kind: "position";
|
|
1872
1858
|
readonly axis: "nthOfType" | "nthChild";
|
|
1873
1859
|
}
|
|
1874
|
-
|
|
1860
|
+
interface TextMatchClause {
|
|
1861
|
+
readonly kind: "text";
|
|
1862
|
+
readonly value: string;
|
|
1863
|
+
}
|
|
1864
|
+
type MatchClause = AttributeMatchClause | PositionMatchClause | TextMatchClause;
|
|
1875
1865
|
interface PathNodePosition {
|
|
1876
1866
|
readonly nthChild: number;
|
|
1877
1867
|
readonly nthOfType: number;
|
|
@@ -1921,18 +1911,22 @@ interface DomActionSettleOptions {
|
|
|
1921
1911
|
readonly snapshot?: ActionBoundarySnapshot;
|
|
1922
1912
|
readonly signal: AbortSignal;
|
|
1923
1913
|
remainingMs(): number | undefined;
|
|
1924
|
-
policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger): Promise<void>;
|
|
1914
|
+
policySettle(pageRef: PageRef, trigger: ActionBoundarySettleTrigger, boundary?: ActionBoundaryOutcome): Promise<void>;
|
|
1925
1915
|
}
|
|
1926
1916
|
type DomPointerHitRelation = "self" | "descendant" | "ancestor" | "same-owner" | "outside" | "unknown";
|
|
1927
1917
|
interface DomPointerHitAssessment {
|
|
1928
1918
|
readonly relation: DomPointerHitRelation;
|
|
1929
1919
|
readonly blocking: boolean;
|
|
1930
1920
|
readonly ambiguous?: boolean;
|
|
1921
|
+
readonly blockingDescription?: string;
|
|
1931
1922
|
readonly canonicalTarget?: NodeLocator;
|
|
1932
1923
|
readonly hitOwner?: NodeLocator;
|
|
1933
1924
|
}
|
|
1925
|
+
interface BuildReplayPathOptions {
|
|
1926
|
+
readonly enableTextMatch?: boolean;
|
|
1927
|
+
}
|
|
1934
1928
|
interface DomActionBridge {
|
|
1935
|
-
buildReplayPath(locator: NodeLocator): Promise<ReplayElementPath>;
|
|
1929
|
+
buildReplayPath(locator: NodeLocator, options?: BuildReplayPathOptions): Promise<ReplayElementPath>;
|
|
1936
1930
|
inspectActionTarget(locator: NodeLocator): Promise<DomActionTargetInspection>;
|
|
1937
1931
|
canonicalizePointerTarget(locator: NodeLocator): Promise<NodeLocator>;
|
|
1938
1932
|
classifyPointerHit(input: {
|
|
@@ -2327,6 +2321,8 @@ interface SettleContext extends SettleDelayInput {
|
|
|
2327
2321
|
readonly pageRef: PageRef;
|
|
2328
2322
|
readonly signal: AbortSignal;
|
|
2329
2323
|
readonly remainingMs: number | undefined;
|
|
2324
|
+
readonly observedMutationQuietMs?: number;
|
|
2325
|
+
readonly postLoadHandled?: boolean;
|
|
2330
2326
|
}
|
|
2331
2327
|
interface SettleObserver {
|
|
2332
2328
|
settle(input: SettleContext): Promise<boolean>;
|
|
@@ -2436,6 +2432,7 @@ interface ResolvedDomTarget {
|
|
|
2436
2432
|
}
|
|
2437
2433
|
interface DomBuildPathInput {
|
|
2438
2434
|
readonly locator: NodeLocator;
|
|
2435
|
+
readonly enableTextMatch?: boolean;
|
|
2439
2436
|
}
|
|
2440
2437
|
interface DomResolveTargetInput {
|
|
2441
2438
|
readonly pageRef: PageRef;
|
|
@@ -2692,6 +2689,7 @@ interface WorkspaceBrowserManifest {
|
|
|
2692
2689
|
}
|
|
2693
2690
|
interface WorkspaceLiveBrowserRecord {
|
|
2694
2691
|
readonly mode: "persistent";
|
|
2692
|
+
readonly ownership: "owned" | "attached";
|
|
2695
2693
|
readonly engine: OpensteerEngineName;
|
|
2696
2694
|
readonly endpoint?: string;
|
|
2697
2695
|
readonly baseUrl?: string;
|
|
@@ -3035,6 +3033,12 @@ interface OpensteerCloudSessionDescriptor {
|
|
|
3035
3033
|
}
|
|
3036
3034
|
interface OpensteerCloudSessionState {
|
|
3037
3035
|
readonly status?: string;
|
|
3036
|
+
readonly runtimeWorkerId?: string;
|
|
3037
|
+
readonly registryDesiredRevision?: number;
|
|
3038
|
+
readonly registryLoadedRevision?: number;
|
|
3039
|
+
readonly idleTimeoutMs?: number;
|
|
3040
|
+
readonly absoluteTtlMs?: number;
|
|
3041
|
+
readonly expiresAt?: number;
|
|
3038
3042
|
}
|
|
3039
3043
|
interface CloudRequestOptions {
|
|
3040
3044
|
readonly signal?: AbortSignal | undefined;
|
|
@@ -3084,6 +3088,7 @@ interface PersistedSessionRecordBase {
|
|
|
3084
3088
|
interface PersistedLocalBrowserSessionRecord extends PersistedSessionRecordBase {
|
|
3085
3089
|
readonly provider: "local";
|
|
3086
3090
|
readonly engine: "playwright" | "abp";
|
|
3091
|
+
readonly ownership?: Exclude<OpensteerSessionOwnership, "managed">;
|
|
3087
3092
|
readonly endpoint?: string;
|
|
3088
3093
|
readonly baseUrl?: string;
|
|
3089
3094
|
readonly remoteDebuggingUrl?: string;
|
|
@@ -3143,4 +3148,4 @@ declare function discoverLocalCdpBrowsers(input?: {
|
|
|
3143
3148
|
readonly timeoutMs?: number;
|
|
3144
3149
|
}): Promise<readonly LocalCdpBrowserCandidate[]>;
|
|
3145
3150
|
|
|
3146
|
-
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 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, 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, isValidCssAttributeKey, listLocalChromeProfiles, manifestToExternalBinaryLocation, normalizeExtractedValue, normalizeObservabilityConfig, 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 };
|
|
3151
|
+
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 };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Opensteer } from './chunk-
|
|
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-
|
|
3
|
-
export { DEFAULT_OPENSTEER_ENGINE, OPENSTEER_ENGINE_NAMES, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OpensteerBrowserManager, createArtifactStore, createFilesystemOpensteerWorkspace, createObservationStore, manifestToExternalBinaryLocation, normalizeObservabilityConfig, normalizeOpensteerEngineName, normalizeWorkspaceId, resolveFilesystemWorkspacePath, resolveOpensteerEngineName } from './chunk-
|
|
4
|
-
export { OpensteerAttachAmbiguousError, clearPersistedSessionRecord, discoverLocalCdpBrowsers, inspectCdpEndpoint, listLocalChromeProfiles, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudSessionRecordPath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, writePersistedSessionRecord } from './chunk-
|
|
1
|
+
export { Opensteer } from './chunk-52UNH5UW.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-3OHKIPBD.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-PJXN7HED.js';
|
|
4
|
+
export { OpensteerAttachAmbiguousError, clearPersistedSessionRecord, discoverLocalCdpBrowsers, inspectCdpEndpoint, listLocalChromeProfiles, readPersistedCloudSessionRecord, readPersistedLocalBrowserSessionRecord, readPersistedSessionRecord, resolveCloudSessionRecordPath, resolveLiveSessionRecordPath, resolveLocalSessionRecordPath, writePersistedSessionRecord } from './chunk-U4BUCIZ4.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 = [
|
|
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
|
|