@opensteer/protocol 0.7.5 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -882,6 +882,145 @@ var opensteerCaptchaSolveOutputSchema = objectSchema(
882
882
  }
883
883
  );
884
884
 
885
+ // src/storage.ts
886
+ var jsonUnknownSchema = {};
887
+ var cookieSameSiteSchema = enumSchema(["strict", "lax", "none"], {
888
+ title: "CookieSameSite"
889
+ });
890
+ var cookiePrioritySchema = enumSchema(["low", "medium", "high"], {
891
+ title: "CookiePriority"
892
+ });
893
+ var cookieRecordSchema = objectSchema(
894
+ {
895
+ sessionRef: sessionRefSchema,
896
+ name: stringSchema(),
897
+ value: stringSchema(),
898
+ domain: stringSchema(),
899
+ path: stringSchema(),
900
+ secure: {
901
+ type: "boolean"
902
+ },
903
+ httpOnly: {
904
+ type: "boolean"
905
+ },
906
+ sameSite: cookieSameSiteSchema,
907
+ priority: cookiePrioritySchema,
908
+ partitionKey: stringSchema(),
909
+ session: {
910
+ type: "boolean"
911
+ },
912
+ expiresAt: {
913
+ type: ["number", "null"]
914
+ }
915
+ },
916
+ {
917
+ title: "CookieRecord",
918
+ required: ["sessionRef", "name", "value", "domain", "path", "secure", "httpOnly", "session"]
919
+ }
920
+ );
921
+ var storageEntrySchema = objectSchema(
922
+ {
923
+ key: stringSchema(),
924
+ value: stringSchema()
925
+ },
926
+ {
927
+ title: "StorageEntry",
928
+ required: ["key", "value"]
929
+ }
930
+ );
931
+ var indexedDbRecordSchema = objectSchema(
932
+ {
933
+ key: jsonUnknownSchema,
934
+ primaryKey: jsonUnknownSchema,
935
+ value: jsonUnknownSchema
936
+ },
937
+ {
938
+ title: "IndexedDbRecord",
939
+ required: ["key", "value"]
940
+ }
941
+ );
942
+ var indexedDbIndexSnapshotSchema = objectSchema(
943
+ {
944
+ name: stringSchema(),
945
+ keyPath: {
946
+ oneOf: [stringSchema(), arraySchema(stringSchema())]
947
+ },
948
+ multiEntry: {
949
+ type: "boolean"
950
+ },
951
+ unique: {
952
+ type: "boolean"
953
+ }
954
+ },
955
+ {
956
+ title: "IndexedDbIndexSnapshot",
957
+ required: ["name", "multiEntry", "unique"]
958
+ }
959
+ );
960
+ var indexedDbObjectStoreSnapshotSchema = objectSchema(
961
+ {
962
+ name: stringSchema(),
963
+ keyPath: {
964
+ oneOf: [stringSchema(), arraySchema(stringSchema())]
965
+ },
966
+ autoIncrement: {
967
+ type: "boolean"
968
+ },
969
+ indexes: arraySchema(indexedDbIndexSnapshotSchema),
970
+ records: arraySchema(indexedDbRecordSchema)
971
+ },
972
+ {
973
+ title: "IndexedDbObjectStoreSnapshot",
974
+ required: ["name", "autoIncrement", "indexes", "records"]
975
+ }
976
+ );
977
+ var indexedDbDatabaseSnapshotSchema = objectSchema(
978
+ {
979
+ name: stringSchema(),
980
+ version: numberSchema(),
981
+ objectStores: arraySchema(indexedDbObjectStoreSnapshotSchema)
982
+ },
983
+ {
984
+ title: "IndexedDbDatabaseSnapshot",
985
+ required: ["name", "version", "objectStores"]
986
+ }
987
+ );
988
+ var storageOriginSnapshotSchema = objectSchema(
989
+ {
990
+ origin: stringSchema(),
991
+ localStorage: arraySchema(storageEntrySchema),
992
+ indexedDb: arraySchema(indexedDbDatabaseSnapshotSchema)
993
+ },
994
+ {
995
+ title: "StorageOriginSnapshot",
996
+ required: ["origin", "localStorage"]
997
+ }
998
+ );
999
+ var sessionStorageSnapshotSchema = objectSchema(
1000
+ {
1001
+ pageRef: pageRefSchema,
1002
+ frameRef: frameRefSchema,
1003
+ origin: stringSchema(),
1004
+ entries: arraySchema(storageEntrySchema)
1005
+ },
1006
+ {
1007
+ title: "SessionStorageSnapshot",
1008
+ required: ["pageRef", "frameRef", "origin", "entries"]
1009
+ }
1010
+ );
1011
+ var storageSnapshotSchema = objectSchema(
1012
+ {
1013
+ sessionRef: sessionRefSchema,
1014
+ capturedAt: integerSchema({ minimum: 0 }),
1015
+ origins: arraySchema(storageOriginSnapshotSchema),
1016
+ sessionStorage: arraySchema(sessionStorageSnapshotSchema)
1017
+ },
1018
+ {
1019
+ title: "StorageSnapshot",
1020
+ required: ["sessionRef", "capturedAt", "origins"]
1021
+ }
1022
+ );
1023
+
885
1024
  // src/requests.ts
886
1025
  var opensteerRequestScalarSchema = oneOfSchema(
887
1026
  [stringSchema(), { type: "number" }, { type: "boolean" }],
@@ -1533,24 +1672,294 @@ var opensteerNetworkQueryInputSchema = objectSchema(
1533
1672
  hostname: stringSchema({ minLength: 1 }),
1534
1673
  path: stringSchema({ minLength: 1 }),
1535
1674
  method: stringSchema({ minLength: 1 }),
1536
- status: stringSchema({ minLength: 1 }),
1675
+ status: oneOfSchema([
1676
+ integerSchema({ minimum: 100, maximum: 599 }),
1677
+ stringSchema({ minLength: 1 })
1678
+ ]),
1537
1679
  resourceType: networkResourceTypeSchema,
1538
1680
  includeBodies: { type: "boolean" },
1539
- limit: integerSchema({ minimum: 1, maximum: 200 })
1681
+ json: { type: "boolean" },
1682
+ before: stringSchema({ minLength: 1 }),
1683
+ after: stringSchema({ minLength: 1 }),
1684
+ limit: integerSchema({ minimum: 1, maximum: 1e3 })
1540
1685
  },
1541
1686
  {
1542
1687
  title: "OpensteerNetworkQueryInput"
1543
1688
  }
1544
1689
  );
1690
+ var opensteerGraphqlSummarySchema = objectSchema(
1691
+ {
1692
+ operationType: enumSchema(["query", "mutation", "subscription", "unknown"]),
1693
+ operationName: stringSchema({ minLength: 1 }),
1694
+ persisted: { type: "boolean" }
1695
+ },
1696
+ {
1697
+ title: "OpensteerGraphqlSummary"
1698
+ }
1699
+ );
1700
+ var opensteerNetworkBodySummarySchema = objectSchema(
1701
+ {
1702
+ bytes: integerSchema({ minimum: 0 }),
1703
+ contentType: stringSchema({ minLength: 1 }),
1704
+ streaming: { type: "boolean" }
1705
+ },
1706
+ {
1707
+ title: "OpensteerNetworkBodySummary"
1708
+ }
1709
+ );
1710
+ var opensteerNetworkSummaryRecordSchema = objectSchema(
1711
+ {
1712
+ recordId: stringSchema({ minLength: 1 }),
1713
+ capture: stringSchema({ minLength: 1 }),
1714
+ savedAt: integerSchema({ minimum: 0 }),
1715
+ kind: enumSchema(["http", "websocket", "event-stream"]),
1716
+ method: stringSchema({ minLength: 1 }),
1717
+ status: integerSchema({ minimum: 100, maximum: 599 }),
1718
+ resourceType: networkResourceTypeSchema,
1719
+ url: stringSchema({ minLength: 1 }),
1720
+ request: opensteerNetworkBodySummarySchema,
1721
+ response: opensteerNetworkBodySummarySchema,
1722
+ graphql: opensteerGraphqlSummarySchema,
1723
+ websocket: objectSchema(
1724
+ {
1725
+ subprotocol: stringSchema({ minLength: 1 })
1726
+ },
1727
+ {
1728
+ title: "OpensteerWebsocketSummary"
1729
+ }
1730
+ )
1731
+ },
1732
+ {
1733
+ title: "OpensteerNetworkSummaryRecord",
1734
+ required: ["recordId", "kind", "method", "resourceType", "url"]
1735
+ }
1736
+ );
1545
1737
  var opensteerNetworkQueryOutputSchema = objectSchema(
1546
1738
  {
1547
- records: arraySchema(networkQueryRecordSchema)
1739
+ records: arraySchema(opensteerNetworkSummaryRecordSchema)
1548
1740
  },
1549
1741
  {
1550
1742
  title: "OpensteerNetworkQueryOutput",
1551
1743
  required: ["records"]
1552
1744
  }
1553
1745
  );
1746
+ var opensteerParsedCookieSchema = objectSchema(
1747
+ {
1748
+ name: stringSchema({ minLength: 1 }),
1749
+ value: stringSchema()
1750
+ },
1751
+ {
1752
+ title: "OpensteerParsedCookie",
1753
+ required: ["name", "value"]
1754
+ }
1755
+ );
1756
+ var opensteerStructuredBodyPreviewSchema = objectSchema(
1757
+ {
1758
+ contentType: stringSchema({ minLength: 1 }),
1759
+ bytes: integerSchema({ minimum: 0 }),
1760
+ truncated: { type: "boolean" },
1761
+ data: oneOfSchema([jsonValueSchema, stringSchema()]),
1762
+ note: stringSchema()
1763
+ },
1764
+ {
1765
+ title: "OpensteerStructuredBodyPreview",
1766
+ required: ["bytes", "truncated"]
1767
+ }
1768
+ );
1769
+ var opensteerNetworkRedirectHopSchema = objectSchema(
1770
+ {
1771
+ method: stringSchema({ minLength: 1 }),
1772
+ status: integerSchema({ minimum: 100, maximum: 599 }),
1773
+ url: stringSchema({ minLength: 1 }),
1774
+ location: stringSchema({ minLength: 1 }),
1775
+ setCookie: arraySchema(stringSchema())
1776
+ },
1777
+ {
1778
+ title: "OpensteerNetworkRedirectHop",
1779
+ required: ["method", "url"]
1780
+ }
1781
+ );
1782
+ var opensteerReplayAttemptSchema = objectSchema(
1783
+ {
1784
+ transport: transportKindSchema,
1785
+ status: integerSchema({ minimum: 100, maximum: 599 }),
1786
+ ok: { type: "boolean" },
1787
+ durationMs: integerSchema({ minimum: 0 }),
1788
+ note: stringSchema(),
1789
+ error: stringSchema()
1790
+ },
1791
+ {
1792
+ title: "OpensteerReplayAttempt",
1793
+ required: ["transport", "ok", "durationMs"]
1794
+ }
1795
+ );
1796
+ var opensteerNetworkDetailOutputSchema = objectSchema(
1797
+ {
1798
+ recordId: stringSchema({ minLength: 1 }),
1799
+ capture: stringSchema({ minLength: 1 }),
1800
+ savedAt: integerSchema({ minimum: 0 }),
1801
+ summary: opensteerNetworkSummaryRecordSchema,
1802
+ requestHeaders: arraySchema(headerEntrySchema),
1803
+ responseHeaders: arraySchema(headerEntrySchema),
1804
+ cookiesSent: arraySchema(opensteerParsedCookieSchema),
1805
+ requestBody: opensteerStructuredBodyPreviewSchema,
1806
+ responseBody: opensteerStructuredBodyPreviewSchema,
1807
+ graphql: objectSchema(
1808
+ {
1809
+ operationType: enumSchema(["query", "mutation", "subscription", "unknown"]),
1810
+ operationName: stringSchema({ minLength: 1 }),
1811
+ persisted: { type: "boolean" },
1812
+ variables: jsonValueSchema
1813
+ },
1814
+ {
1815
+ title: "OpensteerGraphqlDetail"
1816
+ }
1817
+ ),
1818
+ redirectChain: arraySchema(opensteerNetworkRedirectHopSchema),
1819
+ notes: arraySchema(stringSchema()),
1820
+ transportProbe: objectSchema(
1821
+ {
1822
+ recommended: transportKindSchema,
1823
+ attempts: arraySchema(opensteerReplayAttemptSchema)
1824
+ },
1825
+ {
1826
+ title: "OpensteerTransportProbeResult",
1827
+ required: ["attempts"]
1828
+ }
1829
+ )
1830
+ },
1831
+ {
1832
+ title: "OpensteerNetworkDetailOutput",
1833
+ required: ["recordId", "summary", "requestHeaders", "responseHeaders"]
1834
+ }
1835
+ );
1836
+ var opensteerNetworkReplayInputSchema = objectSchema(
1837
+ {
1838
+ recordId: stringSchema({ minLength: 1 }),
1839
+ pageRef: pageRefSchema,
1840
+ query: opensteerRequestScalarMapSchema,
1841
+ headers: opensteerRequestScalarMapSchema,
1842
+ body: opensteerRequestBodyInputSchema,
1843
+ variables: jsonValueSchema
1844
+ },
1845
+ {
1846
+ title: "OpensteerNetworkReplayInput",
1847
+ required: ["recordId"]
1848
+ }
1849
+ );
1850
+ exports.opensteerNetworkReplayOutputSchema = void 0;
1851
+ var opensteerSessionFetchTransportSchema = enumSchema(
1852
+ ["auto", "direct", "matched-tls", "page"],
1853
+ {
1854
+ title: "OpensteerSessionFetchTransport"
1855
+ }
1856
+ );
1857
+ var opensteerSessionFetchInputSchema = objectSchema(
1858
+ {
1859
+ pageRef: pageRefSchema,
1860
+ url: stringSchema({ minLength: 1 }),
1861
+ method: stringSchema({ minLength: 1 }),
1862
+ query: opensteerRequestScalarMapSchema,
1863
+ headers: opensteerRequestScalarMapSchema,
1864
+ body: opensteerRequestBodyInputSchema,
1865
+ transport: opensteerSessionFetchTransportSchema,
1866
+ cookies: { type: "boolean" },
1867
+ followRedirects: { type: "boolean" }
1868
+ },
1869
+ {
1870
+ title: "OpensteerSessionFetchInput",
1871
+ required: ["url"]
1872
+ }
1873
+ );
1874
+ exports.opensteerSessionFetchOutputSchema = void 0;
1875
+ var opensteerCookieQueryInputSchema = objectSchema(
1876
+ {
1877
+ domain: stringSchema({ minLength: 1 })
1878
+ },
1879
+ {
1880
+ title: "OpensteerCookieQueryInput"
1881
+ }
1882
+ );
1883
+ var opensteerCookieQueryOutputSchema = objectSchema(
1884
+ {
1885
+ domain: stringSchema({ minLength: 1 }),
1886
+ cookies: arraySchema(cookieRecordSchema)
1887
+ },
1888
+ {
1889
+ title: "OpensteerCookieQueryOutput",
1890
+ required: ["cookies"]
1891
+ }
1892
+ );
1893
+ var opensteerStorageDomainSnapshotSchema = objectSchema(
1894
+ {
1895
+ domain: stringSchema({ minLength: 1 }),
1896
+ localStorage: arraySchema(storageEntrySchema),
1897
+ sessionStorage: arraySchema(storageEntrySchema)
1898
+ },
1899
+ {
1900
+ title: "OpensteerStorageDomainSnapshot",
1901
+ required: ["domain", "localStorage", "sessionStorage"]
1902
+ }
1903
+ );
1904
+ var opensteerStorageQueryInputSchema = objectSchema(
1905
+ {
1906
+ domain: stringSchema({ minLength: 1 })
1907
+ },
1908
+ {
1909
+ title: "OpensteerStorageQueryInput"
1910
+ }
1911
+ );
1912
+ var opensteerStorageQueryOutputSchema = objectSchema(
1913
+ {
1914
+ domains: arraySchema(opensteerStorageDomainSnapshotSchema)
1915
+ },
1916
+ {
1917
+ title: "OpensteerStorageQueryOutput",
1918
+ required: ["domains"]
1919
+ }
1920
+ );
1921
+ var opensteerHiddenFieldSchema = objectSchema(
1922
+ {
1923
+ path: stringSchema({ minLength: 1 }),
1924
+ name: stringSchema({ minLength: 1 }),
1925
+ value: stringSchema()
1926
+ },
1927
+ {
1928
+ title: "OpensteerHiddenField",
1929
+ required: ["path", "name", "value"]
1930
+ }
1931
+ );
1932
+ var opensteerStateDomainSnapshotSchema = objectSchema(
1933
+ {
1934
+ domain: stringSchema({ minLength: 1 }),
1935
+ cookies: arraySchema(cookieRecordSchema),
1936
+ hiddenFields: arraySchema(opensteerHiddenFieldSchema),
1937
+ localStorage: arraySchema(storageEntrySchema),
1938
+ sessionStorage: arraySchema(storageEntrySchema),
1939
+ globals: recordSchema(jsonValueSchema)
1940
+ },
1941
+ {
1942
+ title: "OpensteerStateDomainSnapshot",
1943
+ required: ["domain", "cookies", "hiddenFields", "localStorage", "sessionStorage"]
1944
+ }
1945
+ );
1946
+ var opensteerStateQueryInputSchema = objectSchema(
1947
+ {
1948
+ domain: stringSchema({ minLength: 1 })
1949
+ },
1950
+ {
1951
+ title: "OpensteerStateQueryInput"
1952
+ }
1953
+ );
1954
+ var opensteerStateQueryOutputSchema = objectSchema(
1955
+ {
1956
+ domains: arraySchema(opensteerStateDomainSnapshotSchema)
1957
+ },
1958
+ {
1959
+ title: "OpensteerStateQueryOutput",
1960
+ required: ["domains"]
1961
+ }
1962
+ );
1554
1963
  var opensteerNetworkTagInputSchema = objectSchema(
1555
1964
  {
1556
1965
  pageRef: pageRefSchema,
@@ -1786,6 +2195,33 @@ var opensteerRequestResponseResultSchema = objectSchema(
1786
2195
  required: ["url", "status", "statusText", "headers", "redirected"]
1787
2196
  }
1788
2197
  );
2198
+ exports.opensteerNetworkReplayOutputSchema = objectSchema(
2199
+ {
2200
+ recordId: stringSchema({ minLength: 1 }),
2201
+ transport: transportKindSchema,
2202
+ attempts: arraySchema(opensteerReplayAttemptSchema),
2203
+ response: opensteerRequestResponseResultSchema,
2204
+ data: oneOfSchema([jsonValueSchema, stringSchema()]),
2205
+ note: stringSchema()
2206
+ },
2207
+ {
2208
+ title: "OpensteerNetworkReplayOutput",
2209
+ required: ["recordId", "attempts"]
2210
+ }
2211
+ );
2212
+ exports.opensteerSessionFetchOutputSchema = objectSchema(
2213
+ {
2214
+ transport: transportKindSchema,
2215
+ attempts: arraySchema(opensteerReplayAttemptSchema),
2216
+ response: opensteerRequestResponseResultSchema,
2217
+ data: oneOfSchema([jsonValueSchema, stringSchema()]),
2218
+ note: stringSchema()
2219
+ },
2220
+ {
2221
+ title: "OpensteerSessionFetchOutput",
2222
+ required: ["attempts"]
2223
+ }
2224
+ );
1789
2225
  var opensteerRequestExecuteOutputSchema = objectSchema(
1790
2226
  {
1791
2227
  plan: objectSchema(
@@ -1842,154 +2278,15 @@ var opensteerRawRequestOutputSchema = objectSchema(
1842
2278
  }
1843
2279
  );
1844
2280
  var opensteerInferRequestPlanInputSchema = objectSchema(
1845
- {
1846
- recordId: stringSchema({ minLength: 1 }),
1847
- key: stringSchema({ minLength: 1 }),
1848
- version: stringSchema({ minLength: 1 }),
1849
- transport: transportKindSchema
1850
- },
1851
- {
1852
- title: "OpensteerInferRequestPlanInput",
1853
- required: ["recordId", "key", "version"]
1854
- }
1855
- );
1856
-
1857
- // src/storage.ts
1858
- var jsonUnknownSchema = {};
1859
- var cookieSameSiteSchema = enumSchema(["strict", "lax", "none"], {
1860
- title: "CookieSameSite"
1861
- });
1862
- var cookiePrioritySchema = enumSchema(["low", "medium", "high"], {
1863
- title: "CookiePriority"
1864
- });
1865
- var cookieRecordSchema = objectSchema(
1866
- {
1867
- sessionRef: sessionRefSchema,
1868
- name: stringSchema(),
1869
- value: stringSchema(),
1870
- domain: stringSchema(),
1871
- path: stringSchema(),
1872
- secure: {
1873
- type: "boolean"
1874
- },
1875
- httpOnly: {
1876
- type: "boolean"
1877
- },
1878
- sameSite: cookieSameSiteSchema,
1879
- priority: cookiePrioritySchema,
1880
- partitionKey: stringSchema(),
1881
- session: {
1882
- type: "boolean"
1883
- },
1884
- expiresAt: {
1885
- type: ["number", "null"]
1886
- }
1887
- },
1888
- {
1889
- title: "CookieRecord",
1890
- required: ["sessionRef", "name", "value", "domain", "path", "secure", "httpOnly", "session"]
1891
- }
1892
- );
1893
- var storageEntrySchema = objectSchema(
1894
- {
1895
- key: stringSchema(),
1896
- value: stringSchema()
1897
- },
1898
- {
1899
- title: "StorageEntry",
1900
- required: ["key", "value"]
1901
- }
1902
- );
1903
- var indexedDbRecordSchema = objectSchema(
1904
- {
1905
- key: jsonUnknownSchema,
1906
- primaryKey: jsonUnknownSchema,
1907
- value: jsonUnknownSchema
1908
- },
1909
- {
1910
- title: "IndexedDbRecord",
1911
- required: ["key", "value"]
1912
- }
1913
- );
1914
- var indexedDbIndexSnapshotSchema = objectSchema(
1915
- {
1916
- name: stringSchema(),
1917
- keyPath: {
1918
- oneOf: [stringSchema(), arraySchema(stringSchema())]
1919
- },
1920
- multiEntry: {
1921
- type: "boolean"
1922
- },
1923
- unique: {
1924
- type: "boolean"
1925
- }
1926
- },
1927
- {
1928
- title: "IndexedDbIndexSnapshot",
1929
- required: ["name", "multiEntry", "unique"]
1930
- }
1931
- );
1932
- var indexedDbObjectStoreSnapshotSchema = objectSchema(
1933
- {
1934
- name: stringSchema(),
1935
- keyPath: {
1936
- oneOf: [stringSchema(), arraySchema(stringSchema())]
1937
- },
1938
- autoIncrement: {
1939
- type: "boolean"
1940
- },
1941
- indexes: arraySchema(indexedDbIndexSnapshotSchema),
1942
- records: arraySchema(indexedDbRecordSchema)
1943
- },
1944
- {
1945
- title: "IndexedDbObjectStoreSnapshot",
1946
- required: ["name", "autoIncrement", "indexes", "records"]
1947
- }
1948
- );
1949
- var indexedDbDatabaseSnapshotSchema = objectSchema(
1950
- {
1951
- name: stringSchema(),
1952
- version: numberSchema(),
1953
- objectStores: arraySchema(indexedDbObjectStoreSnapshotSchema)
1954
- },
1955
- {
1956
- title: "IndexedDbDatabaseSnapshot",
1957
- required: ["name", "version", "objectStores"]
1958
- }
1959
- );
1960
- var storageOriginSnapshotSchema = objectSchema(
1961
- {
1962
- origin: stringSchema(),
1963
- localStorage: arraySchema(storageEntrySchema),
1964
- indexedDb: arraySchema(indexedDbDatabaseSnapshotSchema)
1965
- },
1966
- {
1967
- title: "StorageOriginSnapshot",
1968
- required: ["origin", "localStorage"]
1969
- }
1970
- );
1971
- var sessionStorageSnapshotSchema = objectSchema(
1972
- {
1973
- pageRef: pageRefSchema,
1974
- frameRef: frameRefSchema,
1975
- origin: stringSchema(),
1976
- entries: arraySchema(storageEntrySchema)
1977
- },
1978
- {
1979
- title: "SessionStorageSnapshot",
1980
- required: ["pageRef", "frameRef", "origin", "entries"]
1981
- }
1982
- );
1983
- var storageSnapshotSchema = objectSchema(
1984
- {
1985
- sessionRef: sessionRefSchema,
1986
- capturedAt: integerSchema({ minimum: 0 }),
1987
- origins: arraySchema(storageOriginSnapshotSchema),
1988
- sessionStorage: arraySchema(sessionStorageSnapshotSchema)
2281
+ {
2282
+ recordId: stringSchema({ minLength: 1 }),
2283
+ key: stringSchema({ minLength: 1 }),
2284
+ version: stringSchema({ minLength: 1 }),
2285
+ transport: transportKindSchema
1989
2286
  },
1990
2287
  {
1991
- title: "StorageSnapshot",
1992
- required: ["sessionRef", "capturedAt", "origins"]
2288
+ title: "OpensteerInferRequestPlanInput",
2289
+ required: ["recordId", "key", "version"]
1993
2290
  }
1994
2291
  );
1995
2292
  var screenshotFormatSchema = enumSchema(["png", "jpeg", "webp"], {
@@ -2482,12 +2779,7 @@ var cloudSessionStatuses = [
2482
2779
  "closed",
2483
2780
  "failed"
2484
2781
  ];
2485
- var cloudSessionRecordingStatuses = [
2486
- "idle",
2487
- "recording",
2488
- "completed",
2489
- "failed"
2490
- ];
2782
+ var cloudSessionRecordingStatuses = ["idle", "recording", "completed", "failed"];
2491
2783
  var cloudSessionSourceTypes = [
2492
2784
  "agent-thread",
2493
2785
  "agent-run",
@@ -4245,181 +4537,6 @@ var opensteerRestEndpoints = opensteerOperationSpecifications.map((spec) => ({
4245
4537
  responseSchema: responseEnvelopeSchema(spec.outputSchema, spec.name)
4246
4538
  }));
4247
4539
 
4248
- // src/diff.ts
4249
- var networkDiffFieldKindSchema = enumSchema(
4250
- ["added", "removed", "changed", "unchanged"],
4251
- {
4252
- title: "NetworkDiffFieldKind"
4253
- }
4254
- );
4255
- var networkDiffEntropySchema = objectSchema(
4256
- {
4257
- left: numberSchema({ minimum: 0 }),
4258
- right: numberSchema({ minimum: 0 }),
4259
- likelyEncrypted: { type: "boolean" }
4260
- },
4261
- {
4262
- title: "NetworkDiffEntropy",
4263
- required: ["likelyEncrypted"]
4264
- }
4265
- );
4266
- var networkDiffFieldSchema = objectSchema(
4267
- {
4268
- path: stringSchema({ minLength: 1 }),
4269
- kind: networkDiffFieldKindSchema,
4270
- leftValue: stringSchema(),
4271
- rightValue: stringSchema(),
4272
- entropy: networkDiffEntropySchema
4273
- },
4274
- {
4275
- title: "NetworkDiffField",
4276
- required: ["path", "kind"]
4277
- }
4278
- );
4279
- var opensteerNetworkDiffInputSchema = objectSchema(
4280
- {
4281
- leftRecordId: stringSchema({ minLength: 1 }),
4282
- rightRecordId: stringSchema({ minLength: 1 }),
4283
- includeUnchanged: { type: "boolean" },
4284
- scope: enumSchema(["headers", "body", "all"])
4285
- },
4286
- {
4287
- title: "OpensteerNetworkDiffInput",
4288
- required: ["leftRecordId", "rightRecordId"]
4289
- }
4290
- );
4291
- var opensteerNetworkDiffOutputSchema = objectSchema(
4292
- {
4293
- summary: objectSchema(
4294
- {
4295
- added: numberSchema({ minimum: 0 }),
4296
- removed: numberSchema({ minimum: 0 }),
4297
- changed: numberSchema({ minimum: 0 }),
4298
- unchanged: numberSchema({ minimum: 0 }),
4299
- likelyEncryptedFields: numberSchema({ minimum: 0 })
4300
- },
4301
- {
4302
- title: "OpensteerNetworkDiffSummary",
4303
- required: ["added", "removed", "changed", "unchanged", "likelyEncryptedFields"]
4304
- }
4305
- ),
4306
- requestDiffs: arraySchema(networkDiffFieldSchema),
4307
- responseDiffs: arraySchema(networkDiffFieldSchema)
4308
- },
4309
- {
4310
- title: "OpensteerNetworkDiffOutput",
4311
- required: ["summary", "requestDiffs", "responseDiffs"]
4312
- }
4313
- );
4314
-
4315
- // src/minimize.ts
4316
- var minimizationFieldClassificationSchema = enumSchema(
4317
- ["required", "optional", "untested"],
4318
- {
4319
- title: "MinimizationFieldClassification"
4320
- }
4321
- );
4322
- var minimizationFieldResultSchema = objectSchema(
4323
- {
4324
- name: stringSchema({ minLength: 1 }),
4325
- location: enumSchema(["header", "cookie", "query", "body-field"]),
4326
- classification: minimizationFieldClassificationSchema,
4327
- originalValue: stringSchema()
4328
- },
4329
- {
4330
- title: "MinimizationFieldResult",
4331
- required: ["name", "location", "classification"]
4332
- }
4333
- );
4334
- var opensteerNetworkMinimizeSuccessPolicySchema = objectSchema(
4335
- {
4336
- statusCodes: arraySchema(integerSchema({ minimum: 100, maximum: 599 }), {
4337
- minItems: 1,
4338
- uniqueItems: true
4339
- }),
4340
- responseBodyIncludes: arraySchema(stringSchema({ minLength: 1 }), {
4341
- minItems: 1,
4342
- uniqueItems: true
4343
- }),
4344
- responseStructureMatch: { type: "boolean" }
4345
- },
4346
- {
4347
- title: "OpensteerNetworkMinimizeSuccessPolicy"
4348
- }
4349
- );
4350
- var opensteerNetworkMinimizeInputSchema = objectSchema(
4351
- {
4352
- recordId: stringSchema({ minLength: 1 }),
4353
- transport: transportKindSchema,
4354
- successPolicy: opensteerNetworkMinimizeSuccessPolicySchema,
4355
- maxTrials: integerSchema({ minimum: 1 }),
4356
- preserve: arraySchema(stringSchema({ minLength: 1 }), {
4357
- minItems: 1,
4358
- uniqueItems: true
4359
- })
4360
- },
4361
- {
4362
- title: "OpensteerNetworkMinimizeInput",
4363
- required: ["recordId"]
4364
- }
4365
- );
4366
- var opensteerNetworkMinimizeOutputSchema = objectSchema(
4367
- {
4368
- recordId: stringSchema({ minLength: 1 }),
4369
- totalTrials: integerSchema({ minimum: 0 }),
4370
- fields: arraySchema(minimizationFieldResultSchema),
4371
- minimizedPlan: opensteerWriteRequestPlanInputSchema
4372
- },
4373
- {
4374
- title: "OpensteerNetworkMinimizeOutput",
4375
- required: ["recordId", "totalTrials", "fields"]
4376
- }
4377
- );
4378
-
4379
- // src/probe.ts
4380
- var transportProbeLevelSchema = enumSchema(
4381
- ["direct-http", "matched-tls", "context-http", "page-http", "session-http"],
4382
- {
4383
- title: "TransportProbeLevel"
4384
- }
4385
- );
4386
- var opensteerTransportProbeInputSchema = objectSchema(
4387
- {
4388
- recordId: stringSchema({ minLength: 1 })
4389
- },
4390
- {
4391
- title: "OpensteerTransportProbeInput",
4392
- required: ["recordId"]
4393
- }
4394
- );
4395
- var transportProbeResultSchema = objectSchema(
4396
- {
4397
- transport: transportProbeLevelSchema,
4398
- status: {
4399
- type: ["integer", "null"],
4400
- minimum: 100,
4401
- maximum: 599
4402
- },
4403
- success: { type: "boolean" },
4404
- durationMs: integerSchema({ minimum: 0 }),
4405
- error: stringSchema({ minLength: 1 })
4406
- },
4407
- {
4408
- title: "TransportProbeResult",
4409
- required: ["transport", "status", "success", "durationMs"]
4410
- }
4411
- );
4412
- var opensteerTransportProbeOutputSchema = objectSchema(
4413
- {
4414
- results: arraySchema(transportProbeResultSchema),
4415
- recommendation: transportProbeLevelSchema
4416
- },
4417
- {
4418
- title: "OpensteerTransportProbeOutput",
4419
- required: ["results", "recommendation"]
4420
- }
4421
- );
4422
-
4423
4540
  // src/scripts.ts
4424
4541
  var scriptTransformInputSchema = objectSchema(
4425
4542
  {
@@ -6166,14 +6283,14 @@ var targetByElementSchema = objectSchema(
6166
6283
  required: ["kind", "element"]
6167
6284
  }
6168
6285
  );
6169
- var targetByDescriptionSchema = objectSchema(
6286
+ var targetByPersistSchema = objectSchema(
6170
6287
  {
6171
- kind: enumSchema(["description"]),
6172
- description: stringSchema()
6288
+ kind: enumSchema(["persist"]),
6289
+ name: stringSchema()
6173
6290
  },
6174
6291
  {
6175
- title: "OpensteerInteractionTargetByDescription",
6176
- required: ["kind", "description"]
6292
+ title: "OpensteerInteractionTargetByPersist",
6293
+ required: ["kind", "name"]
6177
6294
  }
6178
6295
  );
6179
6296
  var targetBySelectorSchema = objectSchema(
@@ -6187,7 +6304,7 @@ var targetBySelectorSchema = objectSchema(
6187
6304
  }
6188
6305
  );
6189
6306
  var opensteerInteractionTargetInputSchema = oneOfSchema(
6190
- [targetByElementSchema, targetByDescriptionSchema, targetBySelectorSchema],
6307
+ [targetByElementSchema, targetByPersistSchema, targetBySelectorSchema],
6191
6308
  {
6192
6309
  title: "OpensteerInteractionTargetInput"
6193
6310
  }
@@ -6402,46 +6519,55 @@ var opensteerSemanticOperationNames = [
6402
6519
  "dom.scroll",
6403
6520
  "dom.extract",
6404
6521
  "network.query",
6405
- "network.tag",
6406
- "network.clear",
6407
- "network.minimize",
6408
- "network.diff",
6409
- "network.probe",
6410
- "reverse.discover",
6411
- "reverse.query",
6412
- "reverse.package.create",
6413
- "reverse.package.run",
6414
- "reverse.export",
6415
- "reverse.report",
6416
- "reverse.package.get",
6417
- "reverse.package.list",
6418
- "reverse.package.patch",
6522
+ "network.detail",
6419
6523
  "interaction.capture",
6420
6524
  "interaction.get",
6421
6525
  "interaction.diff",
6422
6526
  "interaction.replay",
6423
6527
  "artifact.read",
6424
- "inspect.cookies",
6425
- "inspect.storage",
6528
+ "session.cookies",
6529
+ "session.storage",
6530
+ "session.state",
6531
+ "session.fetch",
6532
+ "scripts.capture",
6533
+ "scripts.beautify",
6534
+ "scripts.deobfuscate",
6535
+ "scripts.sandbox",
6536
+ "captcha.solve",
6537
+ "computer.execute",
6538
+ "session.close"
6539
+ ];
6540
+ var opensteerExposedSemanticOperationNames = [
6541
+ "session.open",
6542
+ "page.list",
6543
+ "page.new",
6544
+ "page.activate",
6545
+ "page.close",
6546
+ "page.goto",
6547
+ "page.evaluate",
6548
+ "page.add-init-script",
6549
+ "page.snapshot",
6550
+ "dom.click",
6551
+ "dom.hover",
6552
+ "dom.input",
6553
+ "dom.scroll",
6554
+ "dom.extract",
6555
+ "network.query",
6556
+ "network.detail",
6557
+ "interaction.capture",
6558
+ "interaction.get",
6559
+ "interaction.diff",
6560
+ "interaction.replay",
6561
+ "artifact.read",
6562
+ "session.cookies",
6563
+ "session.storage",
6564
+ "session.state",
6565
+ "session.fetch",
6426
6566
  "scripts.capture",
6427
6567
  "scripts.beautify",
6428
6568
  "scripts.deobfuscate",
6429
6569
  "scripts.sandbox",
6430
6570
  "captcha.solve",
6431
- "request.raw",
6432
- "request-plan.infer",
6433
- "request-plan.write",
6434
- "request-plan.get",
6435
- "request-plan.list",
6436
- "recipe.write",
6437
- "recipe.get",
6438
- "recipe.list",
6439
- "recipe.run",
6440
- "auth-recipe.write",
6441
- "auth-recipe.get",
6442
- "auth-recipe.list",
6443
- "auth-recipe.run",
6444
- "request.execute",
6445
6571
  "computer.execute",
6446
6572
  "session.close"
6447
6573
  ];
@@ -6463,40 +6589,23 @@ var opensteerPackageRunnableSemanticOperationNames = /* @__PURE__ */ new Set([
6463
6589
  "dom.scroll",
6464
6590
  "dom.extract",
6465
6591
  "network.query",
6466
- "network.tag",
6467
- "network.clear",
6468
- "network.minimize",
6469
- "network.diff",
6470
- "network.probe",
6592
+ "network.detail",
6471
6593
  "interaction.capture",
6472
6594
  "interaction.get",
6473
6595
  "interaction.diff",
6474
6596
  "interaction.replay",
6475
6597
  "artifact.read",
6476
- "inspect.cookies",
6477
- "inspect.storage",
6598
+ "session.cookies",
6599
+ "session.storage",
6600
+ "session.state",
6601
+ "session.fetch",
6478
6602
  "scripts.capture",
6479
6603
  "scripts.beautify",
6480
6604
  "scripts.deobfuscate",
6481
6605
  "scripts.sandbox",
6482
6606
  "captcha.solve",
6483
- "request.raw",
6484
- "request.execute",
6485
6607
  "computer.execute"
6486
6608
  ]);
6487
- function resolveTransportRequiredCapabilities(transport, fallback) {
6488
- switch (transport ?? fallback) {
6489
- case "direct-http":
6490
- return [];
6491
- case "matched-tls":
6492
- case "context-http":
6493
- return ["inspect.cookies"];
6494
- case "page-http":
6495
- return ["pages.manage"];
6496
- case "session-http":
6497
- return ["transport.sessionHttp"];
6498
- }
6499
- }
6500
6609
  var snapshotModeSchema = enumSchema(["action", "extraction"], {
6501
6610
  title: "OpensteerSnapshotMode"
6502
6611
  });
@@ -6598,14 +6707,14 @@ var targetByElementSchema2 = objectSchema(
6598
6707
  required: ["kind", "element"]
6599
6708
  }
6600
6709
  );
6601
- var targetByDescriptionSchema2 = objectSchema(
6710
+ var targetByPersistSchema2 = objectSchema(
6602
6711
  {
6603
- kind: enumSchema(["description"]),
6604
- description: stringSchema()
6712
+ kind: enumSchema(["persist"]),
6713
+ persist: stringSchema()
6605
6714
  },
6606
6715
  {
6607
- title: "OpensteerTargetByDescription",
6608
- required: ["kind", "description"]
6716
+ title: "OpensteerTargetByPersist",
6717
+ required: ["kind", "persist"]
6609
6718
  }
6610
6719
  );
6611
6720
  var targetBySelectorSchema2 = objectSchema(
@@ -6619,7 +6728,7 @@ var targetBySelectorSchema2 = objectSchema(
6619
6728
  }
6620
6729
  );
6621
6730
  var opensteerTargetInputSchema = oneOfSchema(
6622
- [targetByElementSchema2, targetByDescriptionSchema2, targetBySelectorSchema2],
6731
+ [targetByElementSchema2, targetByPersistSchema2, targetBySelectorSchema2],
6623
6732
  {
6624
6733
  title: "OpensteerTargetInput"
6625
6734
  }
@@ -6633,7 +6742,7 @@ var opensteerResolvedTargetSchema = objectSchema(
6633
6742
  nodeRef: nodeRefSchema,
6634
6743
  tagName: stringSchema(),
6635
6744
  pathHint: stringSchema(),
6636
- description: stringSchema(),
6745
+ persist: stringSchema(),
6637
6746
  selectorUsed: stringSchema()
6638
6747
  },
6639
6748
  {
@@ -6652,8 +6761,7 @@ var opensteerResolvedTargetSchema = objectSchema(
6652
6761
  var opensteerActionResultSchema = objectSchema(
6653
6762
  {
6654
6763
  target: opensteerResolvedTargetSchema,
6655
- point: pointSchema,
6656
- persistedDescription: stringSchema()
6764
+ point: pointSchema
6657
6765
  },
6658
6766
  {
6659
6767
  title: "OpensteerActionResult",
@@ -6910,29 +7018,21 @@ var opensteerPageSnapshotOutputSchema = objectSchema(
6910
7018
  required: ["url", "title", "mode", "html", "counters"]
6911
7019
  }
6912
7020
  );
6913
- var opensteerInspectCookiesInputSchema = objectSchema(
7021
+ var opensteerNetworkDetailInputSchema = objectSchema(
6914
7022
  {
6915
- urls: arraySchema(stringSchema({ minLength: 1 }))
7023
+ recordId: stringSchema({ minLength: 1 })
6916
7024
  },
6917
7025
  {
6918
- title: "OpensteerInspectCookiesInput"
7026
+ title: "OpensteerNetworkDetailInput",
7027
+ required: ["recordId"]
6919
7028
  }
6920
7029
  );
6921
- var opensteerInspectCookiesOutputSchema = arraySchema(cookieRecordSchema, {
6922
- title: "OpensteerInspectCookiesOutput"
6923
- });
6924
- var opensteerInspectStorageInputSchema = objectSchema(
6925
- {
6926
- includeSessionStorage: { type: "boolean" },
6927
- includeIndexedDb: { type: "boolean" }
6928
- },
7030
+ var opensteerComputerMouseButtonSchema = enumSchema(
7031
+ ["left", "middle", "right"],
6929
7032
  {
6930
- title: "OpensteerInspectStorageInput"
7033
+ title: "OpensteerComputerMouseButton"
6931
7034
  }
6932
7035
  );
6933
- var opensteerComputerMouseButtonSchema = enumSchema(["left", "middle", "right"], {
6934
- title: "OpensteerComputerMouseButton"
6935
- });
6936
7036
  var opensteerComputerKeyModifierSchema = enumSchema(
6937
7037
  ["Shift", "Control", "Alt", "Meta"],
6938
7038
  {
@@ -6947,7 +7047,7 @@ var opensteerDomClickInputSchema = objectSchema(
6947
7047
  modifiers: arraySchema(opensteerComputerKeyModifierSchema, {
6948
7048
  uniqueItems: true
6949
7049
  }),
6950
- persistAsDescription: stringSchema(),
7050
+ persist: stringSchema(),
6951
7051
  captureNetwork: stringSchema({ minLength: 1 })
6952
7052
  },
6953
7053
  {
@@ -6958,7 +7058,7 @@ var opensteerDomClickInputSchema = objectSchema(
6958
7058
  var opensteerDomHoverInputSchema = objectSchema(
6959
7059
  {
6960
7060
  target: opensteerTargetInputSchema,
6961
- persistAsDescription: stringSchema(),
7061
+ persist: stringSchema(),
6962
7062
  captureNetwork: stringSchema({ minLength: 1 })
6963
7063
  },
6964
7064
  {
@@ -6971,7 +7071,7 @@ var opensteerDomInputInputSchema = objectSchema(
6971
7071
  target: opensteerTargetInputSchema,
6972
7072
  text: stringSchema(),
6973
7073
  pressEnter: { type: "boolean" },
6974
- persistAsDescription: stringSchema(),
7074
+ persist: stringSchema(),
6975
7075
  captureNetwork: stringSchema({ minLength: 1 })
6976
7076
  },
6977
7077
  {
@@ -6984,7 +7084,7 @@ var opensteerDomScrollInputSchema = objectSchema(
6984
7084
  target: opensteerTargetInputSchema,
6985
7085
  direction: enumSchema(["up", "down", "left", "right"]),
6986
7086
  amount: integerSchema({ minimum: 1 }),
6987
- persistAsDescription: stringSchema(),
7087
+ persist: stringSchema(),
6988
7088
  captureNetwork: stringSchema({ minLength: 1 })
6989
7089
  },
6990
7090
  {
@@ -6999,16 +7099,18 @@ var opensteerExtractSchemaSchema = objectSchema(
6999
7099
  additionalProperties: true
7000
7100
  }
7001
7101
  );
7002
- var opensteerDomExtractInputSchema = objectSchema(
7003
- {
7004
- description: stringSchema(),
7005
- schema: opensteerExtractSchemaSchema
7006
- },
7007
- {
7008
- title: "OpensteerDomExtractInput",
7009
- required: ["description"]
7010
- }
7011
- );
7102
+ var opensteerDomExtractInputSchema = defineSchema({
7103
+ ...objectSchema(
7104
+ {
7105
+ persist: stringSchema(),
7106
+ schema: opensteerExtractSchemaSchema
7107
+ },
7108
+ {
7109
+ title: "OpensteerDomExtractInput"
7110
+ }
7111
+ ),
7112
+ anyOf: [defineSchema({ required: ["persist"] }), defineSchema({ required: ["schema"] })]
7113
+ });
7012
7114
  var jsonValueSchema3 = recordSchema({}, { title: "JsonValueRecord" });
7013
7115
  var opensteerDomExtractOutputSchema = objectSchema(
7014
7116
  {
@@ -7371,116 +7473,24 @@ var opensteerSemanticOperationSpecificationsBase = [
7371
7473
  }),
7372
7474
  defineSemanticOperationSpec({
7373
7475
  name: "dom.extract",
7374
- description: "Run structured DOM extraction with persisted Opensteer extraction descriptors.",
7476
+ description: "Run structured DOM extraction and optionally persist the extraction descriptor for replay.",
7375
7477
  inputSchema: opensteerDomExtractInputSchema,
7376
7478
  outputSchema: opensteerDomExtractOutputSchema,
7377
7479
  requiredCapabilities: ["inspect.domSnapshot", "inspect.text", "inspect.attributes"]
7378
7480
  }),
7379
7481
  defineSemanticOperationSpec({
7380
7482
  name: "network.query",
7381
- description: "Query persisted network records for reverse engineering workflows.",
7483
+ description: "Query captured network traffic with chronological summaries optimized for agent inspection.",
7382
7484
  inputSchema: opensteerNetworkQueryInputSchema,
7383
7485
  outputSchema: opensteerNetworkQueryOutputSchema,
7384
- requiredCapabilities: []
7385
- }),
7386
- defineSemanticOperationSpec({
7387
- name: "network.tag",
7388
- description: "Apply a tag to persisted network records matching the provided filters.",
7389
- inputSchema: opensteerNetworkTagInputSchema,
7390
- outputSchema: opensteerNetworkTagOutputSchema,
7391
- requiredCapabilities: []
7392
- }),
7393
- defineSemanticOperationSpec({
7394
- name: "network.clear",
7395
- description: "Clear saved network records globally or for a specific tag.",
7396
- inputSchema: opensteerNetworkClearInputSchema,
7397
- outputSchema: opensteerNetworkClearOutputSchema,
7398
- requiredCapabilities: []
7399
- }),
7400
- defineSemanticOperationSpec({
7401
- name: "network.minimize",
7402
- description: "Minimize a saved captured request by identifying the smallest viable header, cookie, query, and body-field set.",
7403
- inputSchema: opensteerNetworkMinimizeInputSchema,
7404
- outputSchema: opensteerNetworkMinimizeOutputSchema,
7405
- requiredCapabilities: [],
7406
- resolveRequiredCapabilities: (input) => resolveTransportRequiredCapabilities(input.transport, "session-http")
7407
- }),
7408
- defineSemanticOperationSpec({
7409
- name: "network.diff",
7410
- description: "Compare two captured requests and responses field-by-field with entropy analysis for likely encrypted values.",
7411
- inputSchema: opensteerNetworkDiffInputSchema,
7412
- outputSchema: opensteerNetworkDiffOutputSchema,
7413
- requiredCapabilities: []
7414
- }),
7415
- defineSemanticOperationSpec({
7416
- name: "network.probe",
7417
- description: "Probe a captured request across transport layers and recommend the lightest working execution path.",
7418
- inputSchema: opensteerTransportProbeInputSchema,
7419
- outputSchema: opensteerTransportProbeOutputSchema,
7420
- requiredCapabilities: []
7421
- }),
7422
- defineSemanticOperationSpec({
7423
- name: "reverse.discover",
7424
- description: "Capture and index a bounded reverse-engineering observation window, then return the case handle, summary, report id, and query metadata only.",
7425
- inputSchema: opensteerReverseDiscoverInputSchema,
7426
- outputSchema: opensteerReverseDiscoverOutputSchema,
7427
- requiredCapabilities: []
7428
- }),
7429
- defineSemanticOperationSpec({
7430
- name: "reverse.query",
7431
- description: "Query a cached reverse case with deterministic filters and explicit sort keys or preset shortcuts over records, clusters, or candidates.",
7432
- inputSchema: opensteerReverseQueryInputSchema,
7433
- outputSchema: opensteerReverseQueryOutputSchema,
7434
- requiredCapabilities: []
7435
- }),
7436
- defineSemanticOperationSpec({
7437
- name: "reverse.package.create",
7438
- description: "Create an explicit reverse package draft from a chosen observed record or advisory candidate, with an optional advisory template.",
7439
- inputSchema: opensteerReversePackageCreateInputSchema,
7440
- outputSchema: opensteerReversePackageCreateOutputSchema,
7441
- requiredCapabilities: []
7442
- }),
7443
- defineSemanticOperationSpec({
7444
- name: "reverse.package.run",
7445
- description: "Run a reverse package draft through its operation, await-record, and assertion steps, returning executed bindings and first failure details.",
7446
- inputSchema: opensteerReversePackageRunInputSchema,
7447
- outputSchema: opensteerReversePackageRunOutputSchema,
7448
- requiredCapabilities: []
7449
- }),
7450
- defineSemanticOperationSpec({
7451
- name: "reverse.export",
7452
- description: "Export or clone a reverse-engineering package, including a request plan when the package is portable.",
7453
- inputSchema: opensteerReverseExportInputSchema,
7454
- outputSchema: opensteerReverseExportOutputSchema,
7455
- requiredCapabilities: []
7486
+ requiredCapabilities: ["inspect.network"]
7456
7487
  }),
7457
7488
  defineSemanticOperationSpec({
7458
- name: "reverse.report",
7459
- description: "Read an evidence-centered discovery report or a draft-centered package report, including linked evidence, replay attempts, and advisory suggestions.",
7460
- inputSchema: opensteerReverseReportInputSchema,
7461
- outputSchema: opensteerReverseReportOutputSchema,
7462
- requiredCapabilities: []
7463
- }),
7464
- defineSemanticOperationSpec({
7465
- name: "reverse.package.get",
7466
- description: "Read a standalone reverse-engineering package so an agent can inspect its workflow, resolvers, requirements, and linked evidence.",
7467
- inputSchema: opensteerReversePackageGetInputSchema,
7468
- outputSchema: opensteerReversePackageGetOutputSchema,
7469
- requiredCapabilities: []
7470
- }),
7471
- defineSemanticOperationSpec({
7472
- name: "reverse.package.list",
7473
- description: "List reverse-engineering packages by case, key, kind, or readiness.",
7474
- inputSchema: opensteerReversePackageListInputSchema,
7475
- outputSchema: opensteerReversePackageListOutputSchema,
7476
- requiredCapabilities: []
7477
- }),
7478
- defineSemanticOperationSpec({
7479
- name: "reverse.package.patch",
7480
- description: "Write a new immutable reverse-engineering package revision by patching editable workflow, resolver, validator, and evidence sections.",
7481
- inputSchema: opensteerReversePackagePatchInputSchema,
7482
- outputSchema: opensteerReversePackagePatchOutputSchema,
7483
- requiredCapabilities: []
7489
+ name: "network.detail",
7490
+ description: "Inspect one captured network record with parsed headers, cookies, redirects, and truncated bodies.",
7491
+ inputSchema: opensteerNetworkDetailInputSchema,
7492
+ outputSchema: opensteerNetworkDetailOutputSchema,
7493
+ requiredCapabilities: ["inspect.network", "inspect.networkBodies"]
7484
7494
  }),
7485
7495
  defineSemanticOperationSpec({
7486
7496
  name: "interaction.capture",
@@ -7553,127 +7563,49 @@ var opensteerSemanticOperationSpecificationsBase = [
7553
7563
  requiredCapabilities: ["pages.manage"]
7554
7564
  }),
7555
7565
  defineSemanticOperationSpec({
7556
- name: "inspect.cookies",
7557
- description: "Read cookies from the current browser session.",
7558
- inputSchema: opensteerInspectCookiesInputSchema,
7559
- outputSchema: opensteerInspectCookiesOutputSchema,
7566
+ name: "session.cookies",
7567
+ description: "Read browser cookies for the active page domain or an explicitly selected domain.",
7568
+ inputSchema: opensteerCookieQueryInputSchema,
7569
+ outputSchema: opensteerCookieQueryOutputSchema,
7560
7570
  requiredCapabilities: ["inspect.cookies"]
7561
7571
  }),
7562
7572
  defineSemanticOperationSpec({
7563
- name: "inspect.storage",
7564
- description: "Read browser storage state from the current browser session.",
7565
- inputSchema: opensteerInspectStorageInputSchema,
7566
- outputSchema: storageSnapshotSchema,
7567
- requiredCapabilities: ["inspect.localStorage"],
7568
- resolveRequiredCapabilities: (input) => {
7569
- const capabilities = ["inspect.localStorage"];
7570
- if (input.includeSessionStorage ?? false) {
7571
- capabilities.push("inspect.sessionStorage");
7572
- }
7573
- if (input.includeIndexedDb ?? false) {
7574
- capabilities.push("inspect.indexedDb");
7575
- }
7576
- return capabilities;
7577
- }
7578
- }),
7579
- defineSemanticOperationSpec({
7580
- name: "request.raw",
7581
- description: "Execute a raw HTTP request through either the current browser session or a direct HTTP transport.",
7582
- inputSchema: opensteerRawRequestInputSchema,
7583
- outputSchema: opensteerRawRequestOutputSchema,
7584
- requiredCapabilities: [],
7585
- resolveRequiredCapabilities: (input) => resolveTransportRequiredCapabilities(input.transport, "context-http")
7586
- }),
7587
- defineSemanticOperationSpec({
7588
- name: "request-plan.infer",
7589
- description: "Infer and persist a request plan from a selected network record.",
7590
- inputSchema: opensteerInferRequestPlanInputSchema,
7591
- outputSchema: opensteerRequestPlanRecordSchema,
7592
- requiredCapabilities: []
7593
- }),
7594
- defineSemanticOperationSpec({
7595
- name: "request-plan.write",
7596
- description: "Validate and persist a reusable request plan in the local registry.",
7597
- inputSchema: opensteerWriteRequestPlanInputSchema,
7598
- outputSchema: opensteerRequestPlanRecordSchema,
7599
- requiredCapabilities: []
7600
- }),
7601
- defineSemanticOperationSpec({
7602
- name: "request-plan.get",
7603
- description: "Resolve a request plan by key and optional version.",
7604
- inputSchema: opensteerGetRequestPlanInputSchema,
7605
- outputSchema: opensteerRequestPlanRecordSchema,
7606
- requiredCapabilities: []
7607
- }),
7608
- defineSemanticOperationSpec({
7609
- name: "request-plan.list",
7610
- description: "List request plans from the local registry.",
7611
- inputSchema: opensteerListRequestPlansInputSchema,
7612
- outputSchema: opensteerListRequestPlansOutputSchema,
7613
- requiredCapabilities: []
7614
- }),
7615
- defineSemanticOperationSpec({
7616
- name: "recipe.write",
7617
- description: "Validate and persist a reusable recipe in the local registry.",
7618
- inputSchema: opensteerWriteAuthRecipeInputSchema,
7619
- outputSchema: opensteerAuthRecipeRecordSchema,
7620
- requiredCapabilities: []
7621
- }),
7622
- defineSemanticOperationSpec({
7623
- name: "recipe.get",
7624
- description: "Resolve a recipe by key and optional version.",
7625
- inputSchema: opensteerGetAuthRecipeInputSchema,
7626
- outputSchema: opensteerAuthRecipeRecordSchema,
7627
- requiredCapabilities: []
7628
- }),
7629
- defineSemanticOperationSpec({
7630
- name: "recipe.list",
7631
- description: "List recipes from the local registry.",
7632
- inputSchema: opensteerListAuthRecipesInputSchema,
7633
- outputSchema: opensteerListAuthRecipesOutputSchema,
7634
- requiredCapabilities: []
7635
- }),
7636
- defineSemanticOperationSpec({
7637
- name: "recipe.run",
7638
- description: "Run a stored recipe deterministically against the current runtime.",
7639
- inputSchema: opensteerRunAuthRecipeInputSchema,
7640
- outputSchema: opensteerRunAuthRecipeOutputSchema,
7641
- requiredCapabilities: []
7642
- }),
7643
- defineSemanticOperationSpec({
7644
- name: "auth-recipe.write",
7645
- description: "Validate and persist a reusable auth recovery recipe in the local registry.",
7646
- inputSchema: opensteerWriteAuthRecipeInputSchema,
7647
- outputSchema: opensteerAuthRecipeRecordSchema,
7648
- requiredCapabilities: []
7649
- }),
7650
- defineSemanticOperationSpec({
7651
- name: "auth-recipe.get",
7652
- description: "Resolve an auth recipe by key and optional version.",
7653
- inputSchema: opensteerGetAuthRecipeInputSchema,
7654
- outputSchema: opensteerAuthRecipeRecordSchema,
7655
- requiredCapabilities: []
7656
- }),
7657
- defineSemanticOperationSpec({
7658
- name: "auth-recipe.list",
7659
- description: "List auth recovery recipes from the local registry.",
7660
- inputSchema: opensteerListAuthRecipesInputSchema,
7661
- outputSchema: opensteerListAuthRecipesOutputSchema,
7662
- requiredCapabilities: []
7573
+ name: "session.storage",
7574
+ description: "Read localStorage and sessionStorage grouped by domain for the active browser session.",
7575
+ inputSchema: opensteerStorageQueryInputSchema,
7576
+ outputSchema: opensteerStorageQueryOutputSchema,
7577
+ requiredCapabilities: ["inspect.localStorage", "inspect.sessionStorage"]
7663
7578
  }),
7664
7579
  defineSemanticOperationSpec({
7665
- name: "auth-recipe.run",
7666
- description: "Run a stored auth recovery recipe deterministically against the current runtime.",
7667
- inputSchema: opensteerRunAuthRecipeInputSchema,
7668
- outputSchema: opensteerRunAuthRecipeOutputSchema,
7669
- requiredCapabilities: []
7580
+ name: "session.state",
7581
+ description: "Read browser cookies, storage, hidden fields, and selected page globals grouped by domain.",
7582
+ inputSchema: opensteerStateQueryInputSchema,
7583
+ outputSchema: opensteerStateQueryOutputSchema,
7584
+ requiredCapabilities: [
7585
+ "inspect.cookies",
7586
+ "inspect.localStorage",
7587
+ "inspect.sessionStorage",
7588
+ "pages.manage"
7589
+ ]
7670
7590
  }),
7671
7591
  defineSemanticOperationSpec({
7672
- name: "request.execute",
7673
- description: "Execute a request plan through its configured transport and deterministic auth recovery policy.",
7674
- inputSchema: opensteerRequestExecuteInputSchema,
7675
- outputSchema: opensteerRequestExecuteOutputSchema,
7676
- requiredCapabilities: []
7592
+ name: "session.fetch",
7593
+ description: "Execute a session-aware HTTP request with browser cookies and automatic transport selection.",
7594
+ inputSchema: opensteerSessionFetchInputSchema,
7595
+ outputSchema: exports.opensteerSessionFetchOutputSchema,
7596
+ requiredCapabilities: [],
7597
+ resolveRequiredCapabilities: (input) => {
7598
+ switch (input.transport ?? "auto") {
7599
+ case "direct":
7600
+ return [];
7601
+ case "matched-tls":
7602
+ return ["inspect.cookies"];
7603
+ case "page":
7604
+ return ["pages.manage"];
7605
+ case "auto":
7606
+ return ["inspect.cookies", "pages.manage"];
7607
+ }
7608
+ }
7677
7609
  }),
7678
7610
  defineSemanticOperationSpec({
7679
7611
  name: "computer.execute",
@@ -7711,12 +7643,18 @@ var opensteerSemanticOperationSpecificationsBase = [
7711
7643
  requiredCapabilities: ["sessions.manage"]
7712
7644
  })
7713
7645
  ];
7714
- var opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecificationsBase.map((spec) => ({
7646
+ var exposedSemanticOperationNameSet = new Set(
7647
+ opensteerExposedSemanticOperationNames
7648
+ );
7649
+ var opensteerSemanticOperationSpecificationsInternal = opensteerSemanticOperationSpecificationsBase.map((spec) => ({
7715
7650
  ...spec,
7716
7651
  packageRunnable: opensteerPackageRunnableSemanticOperationNames.has(spec.name)
7717
7652
  }));
7653
+ var opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecificationsInternal.filter(
7654
+ (spec) => exposedSemanticOperationNameSet.has(spec.name)
7655
+ );
7718
7656
  var opensteerSemanticOperationSpecificationMap = Object.fromEntries(
7719
- opensteerSemanticOperationSpecifications.map((spec) => [spec.name, spec])
7657
+ opensteerSemanticOperationSpecificationsInternal.map((spec) => [spec.name, spec])
7720
7658
  );
7721
7659
  var semanticRestBasePath = `${OPENSTEER_PROTOCOL_REST_BASE_PATH}/semantic`;
7722
7660
  var opensteerSemanticRestEndpoints = opensteerSemanticOperationSpecifications.map((spec) => ({
@@ -7733,13 +7671,12 @@ var readOnlyOperations = /* @__PURE__ */ new Set([
7733
7671
  "page.snapshot",
7734
7672
  "dom.extract",
7735
7673
  "network.query",
7736
- "request-plan.get",
7737
- "request-plan.list"
7738
- ]);
7739
- var destructiveOperations = /* @__PURE__ */ new Set([
7740
- "network.clear",
7741
- "session.close"
7674
+ "network.detail",
7675
+ "session.cookies",
7676
+ "session.storage",
7677
+ "session.state"
7742
7678
  ]);
7679
+ var destructiveOperations = /* @__PURE__ */ new Set(["session.close"]);
7743
7680
  function toolNameFromOperation(operation) {
7744
7681
  return `opensteer_${operation.replaceAll(".", "_").replaceAll("-", "_")}`;
7745
7682
  }
@@ -7983,12 +7920,7 @@ exports.isOpensteerRef = isOpensteerRef;
7983
7920
  exports.isSupportedProtocolVersion = isSupportedProtocolVersion;
7984
7921
  exports.layoutViewportSchema = layoutViewportSchema;
7985
7922
  exports.literalSchema = literalSchema;
7986
- exports.minimizationFieldClassificationSchema = minimizationFieldClassificationSchema;
7987
- exports.minimizationFieldResultSchema = minimizationFieldResultSchema;
7988
7923
  exports.networkCaptureStateSchema = networkCaptureStateSchema;
7989
- exports.networkDiffEntropySchema = networkDiffEntropySchema;
7990
- exports.networkDiffFieldKindSchema = networkDiffFieldKindSchema;
7991
- exports.networkDiffFieldSchema = networkDiffFieldSchema;
7992
7924
  exports.networkInitiatorSchema = networkInitiatorSchema;
7993
7925
  exports.networkInitiatorTypeSchema = networkInitiatorTypeSchema;
7994
7926
  exports.networkQueryRecordSchema = networkQueryRecordSchema;
@@ -8037,6 +7969,8 @@ exports.opensteerCapabilitySetSchema = opensteerCapabilitySetSchema;
8037
7969
  exports.opensteerCaptchaSolveInputSchema = opensteerCaptchaSolveInputSchema;
8038
7970
  exports.opensteerCaptchaSolveOutputSchema = opensteerCaptchaSolveOutputSchema;
8039
7971
  exports.opensteerComputerAnnotationNames = opensteerComputerAnnotationNames;
7972
+ exports.opensteerCookieQueryInputSchema = opensteerCookieQueryInputSchema;
7973
+ exports.opensteerCookieQueryOutputSchema = opensteerCookieQueryOutputSchema;
8040
7974
  exports.opensteerErrorCodeSchema = opensteerErrorCodeSchema;
8041
7975
  exports.opensteerErrorCodes = opensteerErrorCodes;
8042
7976
  exports.opensteerErrorEnvelopeSchema = opensteerErrorEnvelopeSchema;
@@ -8044,6 +7978,7 @@ exports.opensteerErrorSchema = opensteerErrorSchema;
8044
7978
  exports.opensteerEventSchema = opensteerEventSchema;
8045
7979
  exports.opensteerExecutableResolverKindSchema = opensteerExecutableResolverKindSchema;
8046
7980
  exports.opensteerExecutableResolverSchema = opensteerExecutableResolverSchema;
7981
+ exports.opensteerExposedSemanticOperationNames = opensteerExposedSemanticOperationNames;
8047
7982
  exports.opensteerGetAuthRecipeInputSchema = opensteerGetAuthRecipeInputSchema;
8048
7983
  exports.opensteerGetRecipeInputSchema = opensteerGetRecipeInputSchema;
8049
7984
  exports.opensteerGetRequestPlanInputSchema = opensteerGetRequestPlanInputSchema;
@@ -8068,13 +8003,11 @@ exports.opensteerListRequestPlansOutputSchema = opensteerListRequestPlansOutputS
8068
8003
  exports.opensteerMcpTools = opensteerMcpTools;
8069
8004
  exports.opensteerNetworkClearInputSchema = opensteerNetworkClearInputSchema;
8070
8005
  exports.opensteerNetworkClearOutputSchema = opensteerNetworkClearOutputSchema;
8071
- exports.opensteerNetworkDiffInputSchema = opensteerNetworkDiffInputSchema;
8072
- exports.opensteerNetworkDiffOutputSchema = opensteerNetworkDiffOutputSchema;
8073
- exports.opensteerNetworkMinimizeInputSchema = opensteerNetworkMinimizeInputSchema;
8074
- exports.opensteerNetworkMinimizeOutputSchema = opensteerNetworkMinimizeOutputSchema;
8075
- exports.opensteerNetworkMinimizeSuccessPolicySchema = opensteerNetworkMinimizeSuccessPolicySchema;
8006
+ exports.opensteerNetworkDetailOutputSchema = opensteerNetworkDetailOutputSchema;
8076
8007
  exports.opensteerNetworkQueryInputSchema = opensteerNetworkQueryInputSchema;
8077
8008
  exports.opensteerNetworkQueryOutputSchema = opensteerNetworkQueryOutputSchema;
8009
+ exports.opensteerNetworkReplayInputSchema = opensteerNetworkReplayInputSchema;
8010
+ exports.opensteerNetworkSummaryRecordSchema = opensteerNetworkSummaryRecordSchema;
8078
8011
  exports.opensteerNetworkTagInputSchema = opensteerNetworkTagInputSchema;
8079
8012
  exports.opensteerNetworkTagOutputSchema = opensteerNetworkTagOutputSchema;
8080
8013
  exports.opensteerObservationClusterRelationshipKindSchema = opensteerObservationClusterRelationshipKindSchema;
@@ -8199,12 +8132,15 @@ exports.opensteerSemanticOperationNames = opensteerSemanticOperationNames;
8199
8132
  exports.opensteerSemanticOperationSpecificationMap = opensteerSemanticOperationSpecificationMap;
8200
8133
  exports.opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecifications;
8201
8134
  exports.opensteerSemanticRestEndpoints = opensteerSemanticRestEndpoints;
8135
+ exports.opensteerSessionFetchInputSchema = opensteerSessionFetchInputSchema;
8202
8136
  exports.opensteerSessionGrantKinds = opensteerSessionGrantKinds;
8203
8137
  exports.opensteerStateDeltaSchema = opensteerStateDeltaSchema;
8138
+ exports.opensteerStateQueryInputSchema = opensteerStateQueryInputSchema;
8139
+ exports.opensteerStateQueryOutputSchema = opensteerStateQueryOutputSchema;
8204
8140
  exports.opensteerStateSnapshotSchema = opensteerStateSnapshotSchema;
8205
8141
  exports.opensteerStateSourceKindSchema = opensteerStateSourceKindSchema;
8206
- exports.opensteerTransportProbeInputSchema = opensteerTransportProbeInputSchema;
8207
- exports.opensteerTransportProbeOutputSchema = opensteerTransportProbeOutputSchema;
8142
+ exports.opensteerStorageQueryInputSchema = opensteerStorageQueryInputSchema;
8143
+ exports.opensteerStorageQueryOutputSchema = opensteerStorageQueryOutputSchema;
8208
8144
  exports.opensteerValidationRuleKindSchema = opensteerValidationRuleKindSchema;
8209
8145
  exports.opensteerValidationRuleSchema = opensteerValidationRuleSchema;
8210
8146
  exports.opensteerValueReferenceKindSchema = opensteerValueReferenceKindSchema;
@@ -8250,8 +8186,6 @@ exports.traceBundleSchema = traceBundleSchema;
8250
8186
  exports.traceContextSchema = traceContextSchema;
8251
8187
  exports.traceRecordSchema = traceRecordSchema;
8252
8188
  exports.transportKindSchema = transportKindSchema;
8253
- exports.transportProbeLevelSchema = transportProbeLevelSchema;
8254
- exports.transportProbeResultSchema = transportProbeResultSchema;
8255
8189
  exports.unsupportedCapabilityError = unsupportedCapabilityError;
8256
8190
  exports.unsupportedVersionError = unsupportedVersionError;
8257
8191
  exports.validateJsonSchema = validateJsonSchema;