@opensteer/runtime-core 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BrowserCoreEngine, PageRef, NetworkRecord, HeaderEntry, BodyPayload, SessionRef } from '@opensteer/browser-core';
2
- import { OpensteerSemanticOperationName, OpensteerArtifactKind, ArtifactProvenance, TraceContext, HtmlSnapshot, DomSnapshot, CookieRecord, StorageSnapshot, ScriptSourceArtifactData, ArtifactRelation, ArtifactReference, OpensteerArtifact, OpensteerAuthRecipePayload, OpensteerRequestPlanPayload, OpensteerRequestPlanFreshness, OpensteerRecipePayload, OpensteerReverseCasePayload, OpensteerInteractionTracePayload, OpensteerReversePackagePayload, OpensteerReverseReportPayload, NetworkQueryRecord, NetworkResourceType, TraceOutcome, OpensteerEvent, OpensteerError, TraceRecord, TraceBundle, ReplayElementPath, OpensteerBrowserOptions, OpensteerBrowserLaunchOptions, OpensteerBrowserContextOptions, OpensteerSessionInfo, OpensteerOpenInput, OpensteerOpenOutput, OpensteerPageListInput, OpensteerPageListOutput, OpensteerPageNewInput, OpensteerPageNewOutput, OpensteerPageActivateInput, OpensteerPageActivateOutput, OpensteerPageCloseInput, OpensteerPageCloseOutput, OpensteerPageGotoInput, OpensteerPageGotoOutput, OpensteerPageEvaluateInput, OpensteerPageEvaluateOutput, OpensteerAddInitScriptInput, OpensteerAddInitScriptOutput, OpensteerPageSnapshotInput, OpensteerPageSnapshotOutput, OpensteerDomClickInput, OpensteerActionResult, OpensteerDomHoverInput, OpensteerDomInputInput, OpensteerDomScrollInput, OpensteerDomExtractInput, OpensteerDomExtractOutput, OpensteerNetworkQueryInput, OpensteerNetworkQueryOutput, OpensteerNetworkSaveInput, OpensteerNetworkSaveOutput, OpensteerNetworkClearInput, OpensteerNetworkClearOutput, OpensteerCaptureScriptsInput, OpensteerCaptureScriptsOutput, OpensteerNetworkMinimizeInput, OpensteerNetworkMinimizeOutput, OpensteerNetworkDiffInput, OpensteerNetworkDiffOutput, OpensteerArtifactReadInput, OpensteerArtifactReadOutput, OpensteerTransportProbeInput, OpensteerTransportProbeOutput, OpensteerReverseDiscoverInput, OpensteerReverseDiscoverOutput, OpensteerReverseQueryInput, OpensteerReverseQueryOutput, OpensteerReversePackageCreateInput, OpensteerReversePackageCreateOutput, OpensteerReversePackageRunInput, OpensteerReversePackageRunOutput, OpensteerReverseExportInput, OpensteerReverseExportOutput, OpensteerReverseReportInput, OpensteerReverseReportOutput, OpensteerReversePackageGetInput, OpensteerReversePackageGetOutput, OpensteerReversePackageListInput, OpensteerReversePackageListOutput, OpensteerReversePackagePatchInput, OpensteerReversePackagePatchOutput, OpensteerInteractionCaptureInput, OpensteerInteractionCaptureOutput, OpensteerInteractionGetInput, OpensteerInteractionGetOutput, OpensteerInteractionDiffInput, OpensteerInteractionDiffOutput, OpensteerInteractionReplayInput, OpensteerInteractionReplayOutput, OpensteerScriptBeautifyInput, OpensteerScriptBeautifyOutput, OpensteerScriptDeobfuscateInput, OpensteerScriptDeobfuscateOutput, OpensteerScriptSandboxInput, OpensteerScriptSandboxOutput, OpensteerCaptchaSolveInput, OpensteerCaptchaSolveOutput, OpensteerInferRequestPlanInput, OpensteerWriteRequestPlanInput, OpensteerGetRequestPlanInput, OpensteerListRequestPlansInput, OpensteerListRequestPlansOutput, OpensteerWriteAuthRecipeInput, OpensteerWriteRecipeInput, OpensteerGetAuthRecipeInput, OpensteerGetRecipeInput, OpensteerListAuthRecipesInput, OpensteerListAuthRecipesOutput, OpensteerListRecipesInput, OpensteerListRecipesOutput, OpensteerRunAuthRecipeInput, OpensteerRunAuthRecipeOutput, OpensteerRunRecipeInput, OpensteerRunRecipeOutput, OpensteerRawRequestInput, OpensteerRawRequestOutput, OpensteerRequestExecuteInput, OpensteerRequestExecuteOutput, OpensteerComputerExecuteInput, OpensteerComputerExecuteOutput, OpensteerSessionCloseOutput } from '@opensteer/protocol';
2
+ import { OpensteerSemanticOperationName, OpensteerArtifactKind, ArtifactProvenance, TraceContext, HtmlSnapshot, DomSnapshot, CookieRecord, StorageSnapshot, ScriptSourceArtifactData, ArtifactRelation, ArtifactReference, OpensteerArtifact, OpensteerAuthRecipePayload, OpensteerRequestPlanPayload, OpensteerRequestPlanFreshness, OpensteerRecipePayload, OpensteerReverseCasePayload, OpensteerInteractionTracePayload, OpensteerReversePackagePayload, OpensteerReverseReportPayload, NetworkQueryRecord, NetworkResourceType, TraceOutcome, OpensteerEvent, OpensteerError, TraceRecord, TraceBundle, ReplayElementPath, OpensteerBrowserOptions, OpensteerBrowserLaunchOptions, OpensteerBrowserContextOptions, OpensteerSessionInfo, OpensteerOpenInput, OpensteerOpenOutput, OpensteerPageListInput, OpensteerPageListOutput, OpensteerPageNewInput, OpensteerPageNewOutput, OpensteerPageActivateInput, OpensteerPageActivateOutput, OpensteerPageCloseInput, OpensteerPageCloseOutput, OpensteerPageGotoInput, OpensteerPageGotoOutput, OpensteerPageEvaluateInput, OpensteerPageEvaluateOutput, OpensteerAddInitScriptInput, OpensteerAddInitScriptOutput, OpensteerPageSnapshotInput, OpensteerPageSnapshotOutput, OpensteerDomClickInput, OpensteerActionResult, OpensteerDomHoverInput, OpensteerDomInputInput, OpensteerDomScrollInput, OpensteerDomExtractInput, OpensteerDomExtractOutput, OpensteerNetworkQueryInput, OpensteerNetworkQueryOutput, OpensteerNetworkTagInput, OpensteerNetworkTagOutput, OpensteerNetworkClearInput, OpensteerNetworkClearOutput, OpensteerCaptureScriptsInput, OpensteerCaptureScriptsOutput, OpensteerNetworkMinimizeInput, OpensteerNetworkMinimizeOutput, OpensteerNetworkDiffInput, OpensteerNetworkDiffOutput, OpensteerArtifactReadInput, OpensteerArtifactReadOutput, OpensteerTransportProbeInput, OpensteerTransportProbeOutput, OpensteerReverseDiscoverInput, OpensteerReverseDiscoverOutput, OpensteerReverseQueryInput, OpensteerReverseQueryOutput, OpensteerReversePackageCreateInput, OpensteerReversePackageCreateOutput, OpensteerReversePackageRunInput, OpensteerReversePackageRunOutput, OpensteerReverseExportInput, OpensteerReverseExportOutput, OpensteerReverseReportInput, OpensteerReverseReportOutput, OpensteerReversePackageGetInput, OpensteerReversePackageGetOutput, OpensteerReversePackageListInput, OpensteerReversePackageListOutput, OpensteerReversePackagePatchInput, OpensteerReversePackagePatchOutput, OpensteerInteractionCaptureInput, OpensteerInteractionCaptureOutput, OpensteerInteractionGetInput, OpensteerInteractionGetOutput, OpensteerInteractionDiffInput, OpensteerInteractionDiffOutput, OpensteerInteractionReplayInput, OpensteerInteractionReplayOutput, OpensteerScriptBeautifyInput, OpensteerScriptBeautifyOutput, OpensteerScriptDeobfuscateInput, OpensteerScriptDeobfuscateOutput, OpensteerScriptSandboxInput, OpensteerScriptSandboxOutput, OpensteerCaptchaSolveInput, OpensteerCaptchaSolveOutput, OpensteerInferRequestPlanInput, OpensteerWriteRequestPlanInput, OpensteerGetRequestPlanInput, OpensteerListRequestPlansInput, OpensteerListRequestPlansOutput, OpensteerWriteAuthRecipeInput, OpensteerWriteRecipeInput, OpensteerGetAuthRecipeInput, OpensteerGetRecipeInput, OpensteerListAuthRecipesInput, OpensteerListAuthRecipesOutput, OpensteerListRecipesInput, OpensteerListRecipesOutput, OpensteerRunAuthRecipeInput, OpensteerRunAuthRecipeOutput, OpensteerRunRecipeInput, OpensteerRunRecipeOutput, OpensteerRawRequestInput, OpensteerRawRequestOutput, OpensteerRequestExecuteInput, OpensteerRequestExecuteOutput, OpensteerComputerExecuteInput, OpensteerComputerExecuteOutput, OpensteerSessionCloseOutput } from '@opensteer/protocol';
3
3
  export { ReplayElementPath } from '@opensteer/protocol';
4
4
 
5
5
  declare const OPENSTEER_RUNTIME_CORE_VERSION: string;
@@ -278,9 +278,10 @@ interface ReverseReportRegistryStore {
278
278
  }
279
279
 
280
280
  interface SavedNetworkQueryInput {
281
+ readonly pageRef?: NetworkQueryRecord["record"]["pageRef"];
281
282
  readonly recordId?: string;
282
283
  readonly requestId?: string;
283
- readonly actionId?: string;
284
+ readonly capture?: string;
284
285
  readonly tag?: string;
285
286
  readonly url?: string;
286
287
  readonly hostname?: string;
@@ -291,15 +292,22 @@ interface SavedNetworkQueryInput {
291
292
  readonly includeBodies?: boolean;
292
293
  readonly limit?: number;
293
294
  }
295
+ type SavedNetworkBodyWriteMode = "authoritative" | "metadata-only";
296
+ interface SavedNetworkSaveOptions {
297
+ readonly bodyWriteMode: SavedNetworkBodyWriteMode;
298
+ readonly tag?: string;
299
+ }
294
300
  interface SavedNetworkStore {
295
301
  readonly databasePath: string;
296
302
  initialize(): Promise<void>;
297
- save(records: readonly NetworkQueryRecord[], tag?: string): Promise<number>;
303
+ save(records: readonly NetworkQueryRecord[], options: SavedNetworkSaveOptions): Promise<number>;
304
+ tagByFilter(filter: SavedNetworkQueryInput, tag: string): Promise<number>;
298
305
  query(input?: SavedNetworkQueryInput): Promise<readonly NetworkQueryRecord[]>;
299
306
  getByRecordId(recordId: string, options?: {
300
307
  readonly includeBodies?: boolean;
301
308
  }): Promise<NetworkQueryRecord | undefined>;
302
309
  clear(input?: {
310
+ readonly capture?: string;
303
311
  readonly tag?: string;
304
312
  }): Promise<number>;
305
313
  }
@@ -596,6 +604,8 @@ interface OpensteerSessionRuntimeOptions {
596
604
  readonly requestPlans?: RequestPlanRegistryStore;
597
605
  readonly authRecipes?: AuthRecipeRegistryStore;
598
606
  readonly recipes?: RecipeRegistryStore;
607
+ readonly reverseCases?: ReverseCaseRegistryStore;
608
+ readonly reversePackages?: ReversePackageRegistryStore;
599
609
  };
600
610
  readonly cleanupRootOnClose?: boolean;
601
611
  readonly sessionInfo?: Partial<Omit<OpensteerSessionInfo, "sessionId" | "activePageRef">>;
@@ -619,12 +629,11 @@ declare class OpensteerSessionRuntime {
619
629
  private engine;
620
630
  private dom;
621
631
  private computer;
622
- private readonly networkJournal;
632
+ private readonly networkHistory;
623
633
  private extractionDescriptors;
624
634
  private sessionRef;
625
635
  private pageRef;
626
636
  private runId;
627
- private readonly backgroundNetworkPersistence;
628
637
  private readonly cookieJars;
629
638
  private readonly recipeCache;
630
639
  private ownsEngine;
@@ -645,7 +654,7 @@ declare class OpensteerSessionRuntime {
645
654
  scroll(input: OpensteerDomScrollInput, options?: RuntimeOperationOptions): Promise<OpensteerActionResult>;
646
655
  extract(input: OpensteerDomExtractInput, options?: RuntimeOperationOptions): Promise<OpensteerDomExtractOutput>;
647
656
  queryNetwork(input?: OpensteerNetworkQueryInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkQueryOutput>;
648
- saveNetwork(input: OpensteerNetworkSaveInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkSaveOutput>;
657
+ tagNetwork(input: OpensteerNetworkTagInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkTagOutput>;
649
658
  clearNetwork(input?: OpensteerNetworkClearInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkClearOutput>;
650
659
  captureScripts(input?: OpensteerCaptureScriptsInput, options?: RuntimeOperationOptions): Promise<OpensteerCaptureScriptsOutput>;
651
660
  minimizeNetwork(input: OpensteerNetworkMinimizeInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkMinimizeOutput>;
@@ -720,8 +729,10 @@ declare class OpensteerSessionRuntime {
720
729
  private queryLiveNetwork;
721
730
  private captureScriptsInternal;
722
731
  private materializeCapturedScript;
732
+ private runMutationCapturedOperation;
723
733
  private beginMutationCapture;
724
- private completeMutationCapture;
734
+ private finalizeMutationCaptureBestEffort;
735
+ private completeMutationCaptureWithSignal;
725
736
  private resolveNetworkRecordByRecordId;
726
737
  private resolveCurrentStateSource;
727
738
  private resolveReverseCaseById;
@@ -737,7 +748,13 @@ declare class OpensteerSessionRuntime {
737
748
  private waitForMatchingReplayRecord;
738
749
  private isObservedReplayRecordSettled;
739
750
  private replayInteractionTraceById;
751
+ private readBrowserNetworkRecords;
740
752
  private readLiveNetworkRecords;
753
+ private persistLiveRequestIds;
754
+ private persistLiveRequestIdsWithSignal;
755
+ private syncPersistedNetworkSelection;
756
+ private toSavedNetworkQueryInput;
757
+ private toQueryInputFromTagInput;
741
758
  private readLiveRequestIds;
742
759
  private observeLiveTransportDelta;
743
760
  private executeTransportRequestWithJournal;
@@ -777,8 +794,7 @@ declare class OpensteerSessionRuntime {
777
794
  private updateCookieJarFromResponse;
778
795
  private readCookieValue;
779
796
  private readStorageValue;
780
- private scheduleBackgroundNetworkSaveByRequestIds;
781
- private flushBackgroundNetworkPersistence;
797
+ private flushPersistedNetworkHistory;
782
798
  private toDomTargetRef;
783
799
  private ensureRoot;
784
800
  private ensureEngine;
@@ -821,7 +837,7 @@ interface OpensteerSemanticRuntime {
821
837
  scroll(input: OpensteerDomScrollInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerActionResult>;
822
838
  extract(input: OpensteerDomExtractInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerDomExtractOutput>;
823
839
  queryNetwork(input?: OpensteerNetworkQueryInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkQueryOutput>;
824
- saveNetwork(input: OpensteerNetworkSaveInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkSaveOutput>;
840
+ tagNetwork(input: OpensteerNetworkTagInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkTagOutput>;
825
841
  minimizeNetwork(input: OpensteerNetworkMinimizeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkMinimizeOutput>;
826
842
  diffNetwork(input: OpensteerNetworkDiffInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkDiffOutput>;
827
843
  probeNetwork(input: OpensteerTransportProbeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerTransportProbeOutput>;
@@ -874,4 +890,4 @@ declare function dispatchSemanticOperation(runtime: OpensteerSemanticRuntime, op
874
890
  readonly signal?: AbortSignal;
875
891
  }): Promise<unknown>;
876
892
 
877
- export { type AuthRecipeRecord, type AuthRecipeRegistryStore, type CreateFilesystemOpensteerWorkspaceOptions, type DescriptorRecord, type DescriptorRegistryStore, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomReadDescriptorInput, type DomWriteDescriptorInput, type FilesystemOpensteerWorkspace, type InteractionTraceRecord, type InteractionTraceRegistryStore, type ListRegistryRecordsInput, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OPENSTEER_RUNTIME_CORE_VERSION, type OpensteerEngineFactory, type OpensteerEngineFactoryOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerRuntimeOperationOptions, type OpensteerRuntimeWorkspace, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerWorkspaceManifest, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type UpdateRequestPlanFreshnessInput, type WriteAuthRecipeInput, type WriteRecipeInput, type WriteRequestPlanInput, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, createDomDescriptorStore, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, dispatchSemanticOperation, hashDomDescriptorDescription, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveFilesystemWorkspacePath, sanitizeReplayElementPath };
893
+ export { type AuthRecipeRecord, type AuthRecipeRegistryStore, type CreateFilesystemOpensteerWorkspaceOptions, type DescriptorRecord, type DescriptorRegistryStore, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomReadDescriptorInput, type DomWriteDescriptorInput, type FilesystemOpensteerWorkspace, type InteractionTraceRecord, type InteractionTraceRegistryStore, type ListRegistryRecordsInput, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OPENSTEER_RUNTIME_CORE_VERSION, type OpensteerEngineFactory, type OpensteerEngineFactoryOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerRuntimeOperationOptions, type OpensteerRuntimeWorkspace, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerWorkspaceManifest, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ReverseCaseRecord, type ReverseCaseRegistryStore, type ReversePackageRecord, type ReversePackageRegistryStore, type ReverseReportRecord, type ReverseReportRegistryStore, type UpdateRequestPlanFreshnessInput, type UpdateReverseCaseInput, type WriteAuthRecipeInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRecipeInput, type WriteRequestPlanInput, type WriteReverseCaseInput, type WriteReversePackageInput, type WriteReverseReportInput, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, createDomDescriptorStore, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, dispatchSemanticOperation, hashDomDescriptorDescription, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveFilesystemWorkspacePath, sanitizeReplayElementPath };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { BrowserCoreEngine, PageRef, NetworkRecord, HeaderEntry, BodyPayload, SessionRef } from '@opensteer/browser-core';
2
- import { OpensteerSemanticOperationName, OpensteerArtifactKind, ArtifactProvenance, TraceContext, HtmlSnapshot, DomSnapshot, CookieRecord, StorageSnapshot, ScriptSourceArtifactData, ArtifactRelation, ArtifactReference, OpensteerArtifact, OpensteerAuthRecipePayload, OpensteerRequestPlanPayload, OpensteerRequestPlanFreshness, OpensteerRecipePayload, OpensteerReverseCasePayload, OpensteerInteractionTracePayload, OpensteerReversePackagePayload, OpensteerReverseReportPayload, NetworkQueryRecord, NetworkResourceType, TraceOutcome, OpensteerEvent, OpensteerError, TraceRecord, TraceBundle, ReplayElementPath, OpensteerBrowserOptions, OpensteerBrowserLaunchOptions, OpensteerBrowserContextOptions, OpensteerSessionInfo, OpensteerOpenInput, OpensteerOpenOutput, OpensteerPageListInput, OpensteerPageListOutput, OpensteerPageNewInput, OpensteerPageNewOutput, OpensteerPageActivateInput, OpensteerPageActivateOutput, OpensteerPageCloseInput, OpensteerPageCloseOutput, OpensteerPageGotoInput, OpensteerPageGotoOutput, OpensteerPageEvaluateInput, OpensteerPageEvaluateOutput, OpensteerAddInitScriptInput, OpensteerAddInitScriptOutput, OpensteerPageSnapshotInput, OpensteerPageSnapshotOutput, OpensteerDomClickInput, OpensteerActionResult, OpensteerDomHoverInput, OpensteerDomInputInput, OpensteerDomScrollInput, OpensteerDomExtractInput, OpensteerDomExtractOutput, OpensteerNetworkQueryInput, OpensteerNetworkQueryOutput, OpensteerNetworkSaveInput, OpensteerNetworkSaveOutput, OpensteerNetworkClearInput, OpensteerNetworkClearOutput, OpensteerCaptureScriptsInput, OpensteerCaptureScriptsOutput, OpensteerNetworkMinimizeInput, OpensteerNetworkMinimizeOutput, OpensteerNetworkDiffInput, OpensteerNetworkDiffOutput, OpensteerArtifactReadInput, OpensteerArtifactReadOutput, OpensteerTransportProbeInput, OpensteerTransportProbeOutput, OpensteerReverseDiscoverInput, OpensteerReverseDiscoverOutput, OpensteerReverseQueryInput, OpensteerReverseQueryOutput, OpensteerReversePackageCreateInput, OpensteerReversePackageCreateOutput, OpensteerReversePackageRunInput, OpensteerReversePackageRunOutput, OpensteerReverseExportInput, OpensteerReverseExportOutput, OpensteerReverseReportInput, OpensteerReverseReportOutput, OpensteerReversePackageGetInput, OpensteerReversePackageGetOutput, OpensteerReversePackageListInput, OpensteerReversePackageListOutput, OpensteerReversePackagePatchInput, OpensteerReversePackagePatchOutput, OpensteerInteractionCaptureInput, OpensteerInteractionCaptureOutput, OpensteerInteractionGetInput, OpensteerInteractionGetOutput, OpensteerInteractionDiffInput, OpensteerInteractionDiffOutput, OpensteerInteractionReplayInput, OpensteerInteractionReplayOutput, OpensteerScriptBeautifyInput, OpensteerScriptBeautifyOutput, OpensteerScriptDeobfuscateInput, OpensteerScriptDeobfuscateOutput, OpensteerScriptSandboxInput, OpensteerScriptSandboxOutput, OpensteerCaptchaSolveInput, OpensteerCaptchaSolveOutput, OpensteerInferRequestPlanInput, OpensteerWriteRequestPlanInput, OpensteerGetRequestPlanInput, OpensteerListRequestPlansInput, OpensteerListRequestPlansOutput, OpensteerWriteAuthRecipeInput, OpensteerWriteRecipeInput, OpensteerGetAuthRecipeInput, OpensteerGetRecipeInput, OpensteerListAuthRecipesInput, OpensteerListAuthRecipesOutput, OpensteerListRecipesInput, OpensteerListRecipesOutput, OpensteerRunAuthRecipeInput, OpensteerRunAuthRecipeOutput, OpensteerRunRecipeInput, OpensteerRunRecipeOutput, OpensteerRawRequestInput, OpensteerRawRequestOutput, OpensteerRequestExecuteInput, OpensteerRequestExecuteOutput, OpensteerComputerExecuteInput, OpensteerComputerExecuteOutput, OpensteerSessionCloseOutput } from '@opensteer/protocol';
2
+ import { OpensteerSemanticOperationName, OpensteerArtifactKind, ArtifactProvenance, TraceContext, HtmlSnapshot, DomSnapshot, CookieRecord, StorageSnapshot, ScriptSourceArtifactData, ArtifactRelation, ArtifactReference, OpensteerArtifact, OpensteerAuthRecipePayload, OpensteerRequestPlanPayload, OpensteerRequestPlanFreshness, OpensteerRecipePayload, OpensteerReverseCasePayload, OpensteerInteractionTracePayload, OpensteerReversePackagePayload, OpensteerReverseReportPayload, NetworkQueryRecord, NetworkResourceType, TraceOutcome, OpensteerEvent, OpensteerError, TraceRecord, TraceBundle, ReplayElementPath, OpensteerBrowserOptions, OpensteerBrowserLaunchOptions, OpensteerBrowserContextOptions, OpensteerSessionInfo, OpensteerOpenInput, OpensteerOpenOutput, OpensteerPageListInput, OpensteerPageListOutput, OpensteerPageNewInput, OpensteerPageNewOutput, OpensteerPageActivateInput, OpensteerPageActivateOutput, OpensteerPageCloseInput, OpensteerPageCloseOutput, OpensteerPageGotoInput, OpensteerPageGotoOutput, OpensteerPageEvaluateInput, OpensteerPageEvaluateOutput, OpensteerAddInitScriptInput, OpensteerAddInitScriptOutput, OpensteerPageSnapshotInput, OpensteerPageSnapshotOutput, OpensteerDomClickInput, OpensteerActionResult, OpensteerDomHoverInput, OpensteerDomInputInput, OpensteerDomScrollInput, OpensteerDomExtractInput, OpensteerDomExtractOutput, OpensteerNetworkQueryInput, OpensteerNetworkQueryOutput, OpensteerNetworkTagInput, OpensteerNetworkTagOutput, OpensteerNetworkClearInput, OpensteerNetworkClearOutput, OpensteerCaptureScriptsInput, OpensteerCaptureScriptsOutput, OpensteerNetworkMinimizeInput, OpensteerNetworkMinimizeOutput, OpensteerNetworkDiffInput, OpensteerNetworkDiffOutput, OpensteerArtifactReadInput, OpensteerArtifactReadOutput, OpensteerTransportProbeInput, OpensteerTransportProbeOutput, OpensteerReverseDiscoverInput, OpensteerReverseDiscoverOutput, OpensteerReverseQueryInput, OpensteerReverseQueryOutput, OpensteerReversePackageCreateInput, OpensteerReversePackageCreateOutput, OpensteerReversePackageRunInput, OpensteerReversePackageRunOutput, OpensteerReverseExportInput, OpensteerReverseExportOutput, OpensteerReverseReportInput, OpensteerReverseReportOutput, OpensteerReversePackageGetInput, OpensteerReversePackageGetOutput, OpensteerReversePackageListInput, OpensteerReversePackageListOutput, OpensteerReversePackagePatchInput, OpensteerReversePackagePatchOutput, OpensteerInteractionCaptureInput, OpensteerInteractionCaptureOutput, OpensteerInteractionGetInput, OpensteerInteractionGetOutput, OpensteerInteractionDiffInput, OpensteerInteractionDiffOutput, OpensteerInteractionReplayInput, OpensteerInteractionReplayOutput, OpensteerScriptBeautifyInput, OpensteerScriptBeautifyOutput, OpensteerScriptDeobfuscateInput, OpensteerScriptDeobfuscateOutput, OpensteerScriptSandboxInput, OpensteerScriptSandboxOutput, OpensteerCaptchaSolveInput, OpensteerCaptchaSolveOutput, OpensteerInferRequestPlanInput, OpensteerWriteRequestPlanInput, OpensteerGetRequestPlanInput, OpensteerListRequestPlansInput, OpensteerListRequestPlansOutput, OpensteerWriteAuthRecipeInput, OpensteerWriteRecipeInput, OpensteerGetAuthRecipeInput, OpensteerGetRecipeInput, OpensteerListAuthRecipesInput, OpensteerListAuthRecipesOutput, OpensteerListRecipesInput, OpensteerListRecipesOutput, OpensteerRunAuthRecipeInput, OpensteerRunAuthRecipeOutput, OpensteerRunRecipeInput, OpensteerRunRecipeOutput, OpensteerRawRequestInput, OpensteerRawRequestOutput, OpensteerRequestExecuteInput, OpensteerRequestExecuteOutput, OpensteerComputerExecuteInput, OpensteerComputerExecuteOutput, OpensteerSessionCloseOutput } from '@opensteer/protocol';
3
3
  export { ReplayElementPath } from '@opensteer/protocol';
4
4
 
5
5
  declare const OPENSTEER_RUNTIME_CORE_VERSION: string;
@@ -278,9 +278,10 @@ interface ReverseReportRegistryStore {
278
278
  }
279
279
 
280
280
  interface SavedNetworkQueryInput {
281
+ readonly pageRef?: NetworkQueryRecord["record"]["pageRef"];
281
282
  readonly recordId?: string;
282
283
  readonly requestId?: string;
283
- readonly actionId?: string;
284
+ readonly capture?: string;
284
285
  readonly tag?: string;
285
286
  readonly url?: string;
286
287
  readonly hostname?: string;
@@ -291,15 +292,22 @@ interface SavedNetworkQueryInput {
291
292
  readonly includeBodies?: boolean;
292
293
  readonly limit?: number;
293
294
  }
295
+ type SavedNetworkBodyWriteMode = "authoritative" | "metadata-only";
296
+ interface SavedNetworkSaveOptions {
297
+ readonly bodyWriteMode: SavedNetworkBodyWriteMode;
298
+ readonly tag?: string;
299
+ }
294
300
  interface SavedNetworkStore {
295
301
  readonly databasePath: string;
296
302
  initialize(): Promise<void>;
297
- save(records: readonly NetworkQueryRecord[], tag?: string): Promise<number>;
303
+ save(records: readonly NetworkQueryRecord[], options: SavedNetworkSaveOptions): Promise<number>;
304
+ tagByFilter(filter: SavedNetworkQueryInput, tag: string): Promise<number>;
298
305
  query(input?: SavedNetworkQueryInput): Promise<readonly NetworkQueryRecord[]>;
299
306
  getByRecordId(recordId: string, options?: {
300
307
  readonly includeBodies?: boolean;
301
308
  }): Promise<NetworkQueryRecord | undefined>;
302
309
  clear(input?: {
310
+ readonly capture?: string;
303
311
  readonly tag?: string;
304
312
  }): Promise<number>;
305
313
  }
@@ -596,6 +604,8 @@ interface OpensteerSessionRuntimeOptions {
596
604
  readonly requestPlans?: RequestPlanRegistryStore;
597
605
  readonly authRecipes?: AuthRecipeRegistryStore;
598
606
  readonly recipes?: RecipeRegistryStore;
607
+ readonly reverseCases?: ReverseCaseRegistryStore;
608
+ readonly reversePackages?: ReversePackageRegistryStore;
599
609
  };
600
610
  readonly cleanupRootOnClose?: boolean;
601
611
  readonly sessionInfo?: Partial<Omit<OpensteerSessionInfo, "sessionId" | "activePageRef">>;
@@ -619,12 +629,11 @@ declare class OpensteerSessionRuntime {
619
629
  private engine;
620
630
  private dom;
621
631
  private computer;
622
- private readonly networkJournal;
632
+ private readonly networkHistory;
623
633
  private extractionDescriptors;
624
634
  private sessionRef;
625
635
  private pageRef;
626
636
  private runId;
627
- private readonly backgroundNetworkPersistence;
628
637
  private readonly cookieJars;
629
638
  private readonly recipeCache;
630
639
  private ownsEngine;
@@ -645,7 +654,7 @@ declare class OpensteerSessionRuntime {
645
654
  scroll(input: OpensteerDomScrollInput, options?: RuntimeOperationOptions): Promise<OpensteerActionResult>;
646
655
  extract(input: OpensteerDomExtractInput, options?: RuntimeOperationOptions): Promise<OpensteerDomExtractOutput>;
647
656
  queryNetwork(input?: OpensteerNetworkQueryInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkQueryOutput>;
648
- saveNetwork(input: OpensteerNetworkSaveInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkSaveOutput>;
657
+ tagNetwork(input: OpensteerNetworkTagInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkTagOutput>;
649
658
  clearNetwork(input?: OpensteerNetworkClearInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkClearOutput>;
650
659
  captureScripts(input?: OpensteerCaptureScriptsInput, options?: RuntimeOperationOptions): Promise<OpensteerCaptureScriptsOutput>;
651
660
  minimizeNetwork(input: OpensteerNetworkMinimizeInput, options?: RuntimeOperationOptions): Promise<OpensteerNetworkMinimizeOutput>;
@@ -720,8 +729,10 @@ declare class OpensteerSessionRuntime {
720
729
  private queryLiveNetwork;
721
730
  private captureScriptsInternal;
722
731
  private materializeCapturedScript;
732
+ private runMutationCapturedOperation;
723
733
  private beginMutationCapture;
724
- private completeMutationCapture;
734
+ private finalizeMutationCaptureBestEffort;
735
+ private completeMutationCaptureWithSignal;
725
736
  private resolveNetworkRecordByRecordId;
726
737
  private resolveCurrentStateSource;
727
738
  private resolveReverseCaseById;
@@ -737,7 +748,13 @@ declare class OpensteerSessionRuntime {
737
748
  private waitForMatchingReplayRecord;
738
749
  private isObservedReplayRecordSettled;
739
750
  private replayInteractionTraceById;
751
+ private readBrowserNetworkRecords;
740
752
  private readLiveNetworkRecords;
753
+ private persistLiveRequestIds;
754
+ private persistLiveRequestIdsWithSignal;
755
+ private syncPersistedNetworkSelection;
756
+ private toSavedNetworkQueryInput;
757
+ private toQueryInputFromTagInput;
741
758
  private readLiveRequestIds;
742
759
  private observeLiveTransportDelta;
743
760
  private executeTransportRequestWithJournal;
@@ -777,8 +794,7 @@ declare class OpensteerSessionRuntime {
777
794
  private updateCookieJarFromResponse;
778
795
  private readCookieValue;
779
796
  private readStorageValue;
780
- private scheduleBackgroundNetworkSaveByRequestIds;
781
- private flushBackgroundNetworkPersistence;
797
+ private flushPersistedNetworkHistory;
782
798
  private toDomTargetRef;
783
799
  private ensureRoot;
784
800
  private ensureEngine;
@@ -821,7 +837,7 @@ interface OpensteerSemanticRuntime {
821
837
  scroll(input: OpensteerDomScrollInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerActionResult>;
822
838
  extract(input: OpensteerDomExtractInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerDomExtractOutput>;
823
839
  queryNetwork(input?: OpensteerNetworkQueryInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkQueryOutput>;
824
- saveNetwork(input: OpensteerNetworkSaveInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkSaveOutput>;
840
+ tagNetwork(input: OpensteerNetworkTagInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkTagOutput>;
825
841
  minimizeNetwork(input: OpensteerNetworkMinimizeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkMinimizeOutput>;
826
842
  diffNetwork(input: OpensteerNetworkDiffInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerNetworkDiffOutput>;
827
843
  probeNetwork(input: OpensteerTransportProbeInput, options?: OpensteerRuntimeOperationOptions): Promise<OpensteerTransportProbeOutput>;
@@ -874,4 +890,4 @@ declare function dispatchSemanticOperation(runtime: OpensteerSemanticRuntime, op
874
890
  readonly signal?: AbortSignal;
875
891
  }): Promise<unknown>;
876
892
 
877
- export { type AuthRecipeRecord, type AuthRecipeRegistryStore, type CreateFilesystemOpensteerWorkspaceOptions, type DescriptorRecord, type DescriptorRegistryStore, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomReadDescriptorInput, type DomWriteDescriptorInput, type FilesystemOpensteerWorkspace, type InteractionTraceRecord, type InteractionTraceRegistryStore, type ListRegistryRecordsInput, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OPENSTEER_RUNTIME_CORE_VERSION, type OpensteerEngineFactory, type OpensteerEngineFactoryOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerRuntimeOperationOptions, type OpensteerRuntimeWorkspace, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerWorkspaceManifest, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type UpdateRequestPlanFreshnessInput, type WriteAuthRecipeInput, type WriteRecipeInput, type WriteRequestPlanInput, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, createDomDescriptorStore, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, dispatchSemanticOperation, hashDomDescriptorDescription, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveFilesystemWorkspacePath, sanitizeReplayElementPath };
893
+ export { type AuthRecipeRecord, type AuthRecipeRegistryStore, type CreateFilesystemOpensteerWorkspaceOptions, type DescriptorRecord, type DescriptorRegistryStore, type DomDescriptorPayload, type DomDescriptorRecord, type DomDescriptorStore, type DomReadDescriptorInput, type DomWriteDescriptorInput, type FilesystemOpensteerWorkspace, type InteractionTraceRecord, type InteractionTraceRegistryStore, type ListRegistryRecordsInput, OPENSTEER_FILESYSTEM_WORKSPACE_LAYOUT, OPENSTEER_FILESYSTEM_WORKSPACE_VERSION, OPENSTEER_RUNTIME_CORE_VERSION, type OpensteerEngineFactory, type OpensteerEngineFactoryOptions, type OpensteerExtractionDescriptorPayload, type OpensteerExtractionDescriptorRecord, type OpensteerExtractionDescriptorStore, type OpensteerRuntimeOperationOptions, type OpensteerRuntimeWorkspace, type OpensteerSemanticRuntime, OpensteerSessionRuntime, type OpensteerSessionRuntimeOptions, type OpensteerWorkspaceManifest, type RecipeRecord, type RecipeRegistryStore, type RegistryProvenance, type RequestPlanFreshness, type RequestPlanRecord, type RequestPlanRegistryStore, type ResolveRegistryRecordInput, type ReverseCaseRecord, type ReverseCaseRegistryStore, type ReversePackageRecord, type ReversePackageRegistryStore, type ReverseReportRecord, type ReverseReportRegistryStore, type UpdateRequestPlanFreshnessInput, type UpdateReverseCaseInput, type WriteAuthRecipeInput, type WriteDescriptorInput, type WriteInteractionTraceInput, type WriteRecipeInput, type WriteRequestPlanInput, type WriteReverseCaseInput, type WriteReversePackageInput, type WriteReverseReportInput, buildDomDescriptorKey, buildDomDescriptorPayload, buildDomDescriptorVersion, createDomDescriptorStore, createFilesystemOpensteerWorkspace, createOpensteerExtractionDescriptorStore, dispatchSemanticOperation, hashDomDescriptorDescription, normalizeWorkspaceId, parseDomDescriptorRecord, parseExtractionDescriptorRecord, resolveFilesystemWorkspacePath, sanitizeReplayElementPath };