@opensteer/protocol 0.7.4 → 0.7.6

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,284 @@ 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 opensteerNetworkDetailOutputSchema = objectSchema(
1783
+ {
1784
+ recordId: stringSchema({ minLength: 1 }),
1785
+ capture: stringSchema({ minLength: 1 }),
1786
+ savedAt: integerSchema({ minimum: 0 }),
1787
+ summary: opensteerNetworkSummaryRecordSchema,
1788
+ requestHeaders: arraySchema(headerEntrySchema),
1789
+ responseHeaders: arraySchema(headerEntrySchema),
1790
+ cookiesSent: arraySchema(opensteerParsedCookieSchema),
1791
+ requestBody: opensteerStructuredBodyPreviewSchema,
1792
+ responseBody: opensteerStructuredBodyPreviewSchema,
1793
+ graphql: objectSchema(
1794
+ {
1795
+ operationType: enumSchema(["query", "mutation", "subscription", "unknown"]),
1796
+ operationName: stringSchema({ minLength: 1 }),
1797
+ persisted: { type: "boolean" },
1798
+ variables: jsonValueSchema
1799
+ },
1800
+ {
1801
+ title: "OpensteerGraphqlDetail"
1802
+ }
1803
+ ),
1804
+ redirectChain: arraySchema(opensteerNetworkRedirectHopSchema),
1805
+ notes: arraySchema(stringSchema())
1806
+ },
1807
+ {
1808
+ title: "OpensteerNetworkDetailOutput",
1809
+ required: ["recordId", "summary", "requestHeaders", "responseHeaders"]
1810
+ }
1811
+ );
1812
+ var opensteerReplayAttemptSchema = objectSchema(
1813
+ {
1814
+ transport: transportKindSchema,
1815
+ status: integerSchema({ minimum: 100, maximum: 599 }),
1816
+ ok: { type: "boolean" },
1817
+ durationMs: integerSchema({ minimum: 0 }),
1818
+ note: stringSchema(),
1819
+ error: stringSchema()
1820
+ },
1821
+ {
1822
+ title: "OpensteerReplayAttempt",
1823
+ required: ["transport", "ok", "durationMs"]
1824
+ }
1825
+ );
1826
+ var opensteerNetworkReplayInputSchema = objectSchema(
1827
+ {
1828
+ recordId: stringSchema({ minLength: 1 }),
1829
+ pageRef: pageRefSchema,
1830
+ query: opensteerRequestScalarMapSchema,
1831
+ headers: opensteerRequestScalarMapSchema,
1832
+ body: opensteerRequestBodyInputSchema,
1833
+ variables: jsonValueSchema
1834
+ },
1835
+ {
1836
+ title: "OpensteerNetworkReplayInput",
1837
+ required: ["recordId"]
1838
+ }
1839
+ );
1840
+ exports.opensteerNetworkReplayOutputSchema = void 0;
1841
+ var opensteerSessionFetchTransportSchema = enumSchema(
1842
+ ["auto", "direct", "matched-tls", "page"],
1843
+ {
1844
+ title: "OpensteerSessionFetchTransport"
1845
+ }
1846
+ );
1847
+ var opensteerSessionFetchInputSchema = objectSchema(
1848
+ {
1849
+ pageRef: pageRefSchema,
1850
+ url: stringSchema({ minLength: 1 }),
1851
+ method: stringSchema({ minLength: 1 }),
1852
+ query: opensteerRequestScalarMapSchema,
1853
+ headers: opensteerRequestScalarMapSchema,
1854
+ body: opensteerRequestBodyInputSchema,
1855
+ transport: opensteerSessionFetchTransportSchema,
1856
+ cookies: { type: "boolean" },
1857
+ followRedirects: { type: "boolean" }
1858
+ },
1859
+ {
1860
+ title: "OpensteerSessionFetchInput",
1861
+ required: ["url"]
1862
+ }
1863
+ );
1864
+ exports.opensteerSessionFetchOutputSchema = void 0;
1865
+ var opensteerCookieQueryInputSchema = objectSchema(
1866
+ {
1867
+ domain: stringSchema({ minLength: 1 })
1868
+ },
1869
+ {
1870
+ title: "OpensteerCookieQueryInput"
1871
+ }
1872
+ );
1873
+ var opensteerCookieQueryOutputSchema = objectSchema(
1874
+ {
1875
+ domain: stringSchema({ minLength: 1 }),
1876
+ cookies: arraySchema(cookieRecordSchema)
1877
+ },
1878
+ {
1879
+ title: "OpensteerCookieQueryOutput",
1880
+ required: ["cookies"]
1881
+ }
1882
+ );
1883
+ var opensteerStorageDomainSnapshotSchema = objectSchema(
1884
+ {
1885
+ domain: stringSchema({ minLength: 1 }),
1886
+ localStorage: arraySchema(storageEntrySchema),
1887
+ sessionStorage: arraySchema(storageEntrySchema)
1888
+ },
1889
+ {
1890
+ title: "OpensteerStorageDomainSnapshot",
1891
+ required: ["domain", "localStorage", "sessionStorage"]
1892
+ }
1893
+ );
1894
+ var opensteerStorageQueryInputSchema = objectSchema(
1895
+ {
1896
+ domain: stringSchema({ minLength: 1 })
1897
+ },
1898
+ {
1899
+ title: "OpensteerStorageQueryInput"
1900
+ }
1901
+ );
1902
+ var opensteerStorageQueryOutputSchema = objectSchema(
1903
+ {
1904
+ domains: arraySchema(opensteerStorageDomainSnapshotSchema)
1905
+ },
1906
+ {
1907
+ title: "OpensteerStorageQueryOutput",
1908
+ required: ["domains"]
1909
+ }
1910
+ );
1911
+ var opensteerHiddenFieldSchema = objectSchema(
1912
+ {
1913
+ path: stringSchema({ minLength: 1 }),
1914
+ name: stringSchema({ minLength: 1 }),
1915
+ value: stringSchema()
1916
+ },
1917
+ {
1918
+ title: "OpensteerHiddenField",
1919
+ required: ["path", "name", "value"]
1920
+ }
1921
+ );
1922
+ var opensteerStateDomainSnapshotSchema = objectSchema(
1923
+ {
1924
+ domain: stringSchema({ minLength: 1 }),
1925
+ cookies: arraySchema(cookieRecordSchema),
1926
+ hiddenFields: arraySchema(opensteerHiddenFieldSchema),
1927
+ localStorage: arraySchema(storageEntrySchema),
1928
+ sessionStorage: arraySchema(storageEntrySchema),
1929
+ globals: recordSchema(jsonValueSchema)
1930
+ },
1931
+ {
1932
+ title: "OpensteerStateDomainSnapshot",
1933
+ required: ["domain", "cookies", "hiddenFields", "localStorage", "sessionStorage"]
1934
+ }
1935
+ );
1936
+ var opensteerStateQueryInputSchema = objectSchema(
1937
+ {
1938
+ domain: stringSchema({ minLength: 1 })
1939
+ },
1940
+ {
1941
+ title: "OpensteerStateQueryInput"
1942
+ }
1943
+ );
1944
+ var opensteerStateQueryOutputSchema = objectSchema(
1945
+ {
1946
+ domains: arraySchema(opensteerStateDomainSnapshotSchema)
1947
+ },
1948
+ {
1949
+ title: "OpensteerStateQueryOutput",
1950
+ required: ["domains"]
1951
+ }
1952
+ );
1554
1953
  var opensteerNetworkTagInputSchema = objectSchema(
1555
1954
  {
1556
1955
  pageRef: pageRefSchema,
@@ -1786,6 +2185,33 @@ var opensteerRequestResponseResultSchema = objectSchema(
1786
2185
  required: ["url", "status", "statusText", "headers", "redirected"]
1787
2186
  }
1788
2187
  );
2188
+ exports.opensteerNetworkReplayOutputSchema = objectSchema(
2189
+ {
2190
+ recordId: stringSchema({ minLength: 1 }),
2191
+ transport: transportKindSchema,
2192
+ attempts: arraySchema(opensteerReplayAttemptSchema),
2193
+ response: opensteerRequestResponseResultSchema,
2194
+ data: oneOfSchema([jsonValueSchema, stringSchema()]),
2195
+ note: stringSchema()
2196
+ },
2197
+ {
2198
+ title: "OpensteerNetworkReplayOutput",
2199
+ required: ["recordId", "attempts"]
2200
+ }
2201
+ );
2202
+ exports.opensteerSessionFetchOutputSchema = objectSchema(
2203
+ {
2204
+ transport: transportKindSchema,
2205
+ attempts: arraySchema(opensteerReplayAttemptSchema),
2206
+ response: opensteerRequestResponseResultSchema,
2207
+ data: oneOfSchema([jsonValueSchema, stringSchema()]),
2208
+ note: stringSchema()
2209
+ },
2210
+ {
2211
+ title: "OpensteerSessionFetchOutput",
2212
+ required: ["attempts"]
2213
+ }
2214
+ );
1789
2215
  var opensteerRequestExecuteOutputSchema = objectSchema(
1790
2216
  {
1791
2217
  plan: objectSchema(
@@ -1838,158 +2264,19 @@ var opensteerRawRequestOutputSchema = objectSchema(
1838
2264
  },
1839
2265
  {
1840
2266
  title: "OpensteerRawRequestOutput",
1841
- required: ["recordId", "request", "response"]
1842
- }
1843
- );
1844
- 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"]
2267
+ required: ["recordId", "request", "response"]
1981
2268
  }
1982
2269
  );
1983
- var storageSnapshotSchema = objectSchema(
2270
+ var opensteerInferRequestPlanInputSchema = objectSchema(
1984
2271
  {
1985
- sessionRef: sessionRefSchema,
1986
- capturedAt: integerSchema({ minimum: 0 }),
1987
- origins: arraySchema(storageOriginSnapshotSchema),
1988
- sessionStorage: arraySchema(sessionStorageSnapshotSchema)
2272
+ recordId: stringSchema({ minLength: 1 }),
2273
+ key: stringSchema({ minLength: 1 }),
2274
+ version: stringSchema({ minLength: 1 }),
2275
+ transport: transportKindSchema
1989
2276
  },
1990
2277
  {
1991
- title: "StorageSnapshot",
1992
- required: ["sessionRef", "capturedAt", "origins"]
2278
+ title: "OpensteerInferRequestPlanInput",
2279
+ required: ["recordId", "key", "version"]
1993
2280
  }
1994
2281
  );
1995
2282
  var screenshotFormatSchema = enumSchema(["png", "jpeg", "webp"], {
@@ -4245,181 +4532,6 @@ var opensteerRestEndpoints = opensteerOperationSpecifications.map((spec) => ({
4245
4532
  responseSchema: responseEnvelopeSchema(spec.outputSchema, spec.name)
4246
4533
  }));
4247
4534
 
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
4535
  // src/scripts.ts
4424
4536
  var scriptTransformInputSchema = objectSchema(
4425
4537
  {
@@ -6166,14 +6278,14 @@ var targetByElementSchema = objectSchema(
6166
6278
  required: ["kind", "element"]
6167
6279
  }
6168
6280
  );
6169
- var targetByDescriptionSchema = objectSchema(
6281
+ var targetByPersistSchema = objectSchema(
6170
6282
  {
6171
- kind: enumSchema(["description"]),
6172
- description: stringSchema()
6283
+ kind: enumSchema(["persist"]),
6284
+ name: stringSchema()
6173
6285
  },
6174
6286
  {
6175
- title: "OpensteerInteractionTargetByDescription",
6176
- required: ["kind", "description"]
6287
+ title: "OpensteerInteractionTargetByPersist",
6288
+ required: ["kind", "name"]
6177
6289
  }
6178
6290
  );
6179
6291
  var targetBySelectorSchema = objectSchema(
@@ -6187,7 +6299,7 @@ var targetBySelectorSchema = objectSchema(
6187
6299
  }
6188
6300
  );
6189
6301
  var opensteerInteractionTargetInputSchema = oneOfSchema(
6190
- [targetByElementSchema, targetByDescriptionSchema, targetBySelectorSchema],
6302
+ [targetByElementSchema, targetByPersistSchema, targetBySelectorSchema],
6191
6303
  {
6192
6304
  title: "OpensteerInteractionTargetInput"
6193
6305
  }
@@ -6402,46 +6514,57 @@ var opensteerSemanticOperationNames = [
6402
6514
  "dom.scroll",
6403
6515
  "dom.extract",
6404
6516
  "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",
6517
+ "network.detail",
6518
+ "network.replay",
6419
6519
  "interaction.capture",
6420
6520
  "interaction.get",
6421
6521
  "interaction.diff",
6422
6522
  "interaction.replay",
6423
6523
  "artifact.read",
6424
- "inspect.cookies",
6425
- "inspect.storage",
6524
+ "session.cookies",
6525
+ "session.storage",
6526
+ "session.state",
6527
+ "session.fetch",
6528
+ "scripts.capture",
6529
+ "scripts.beautify",
6530
+ "scripts.deobfuscate",
6531
+ "scripts.sandbox",
6532
+ "captcha.solve",
6533
+ "computer.execute",
6534
+ "session.close"
6535
+ ];
6536
+ var opensteerExposedSemanticOperationNames = [
6537
+ "session.open",
6538
+ "page.list",
6539
+ "page.new",
6540
+ "page.activate",
6541
+ "page.close",
6542
+ "page.goto",
6543
+ "page.evaluate",
6544
+ "page.add-init-script",
6545
+ "page.snapshot",
6546
+ "dom.click",
6547
+ "dom.hover",
6548
+ "dom.input",
6549
+ "dom.scroll",
6550
+ "dom.extract",
6551
+ "network.query",
6552
+ "network.detail",
6553
+ "network.replay",
6554
+ "interaction.capture",
6555
+ "interaction.get",
6556
+ "interaction.diff",
6557
+ "interaction.replay",
6558
+ "artifact.read",
6559
+ "session.cookies",
6560
+ "session.storage",
6561
+ "session.state",
6562
+ "session.fetch",
6426
6563
  "scripts.capture",
6427
6564
  "scripts.beautify",
6428
6565
  "scripts.deobfuscate",
6429
6566
  "scripts.sandbox",
6430
6567
  "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
6568
  "computer.execute",
6446
6569
  "session.close"
6447
6570
  ];
@@ -6463,40 +6586,24 @@ var opensteerPackageRunnableSemanticOperationNames = /* @__PURE__ */ new Set([
6463
6586
  "dom.scroll",
6464
6587
  "dom.extract",
6465
6588
  "network.query",
6466
- "network.tag",
6467
- "network.clear",
6468
- "network.minimize",
6469
- "network.diff",
6470
- "network.probe",
6589
+ "network.detail",
6590
+ "network.replay",
6471
6591
  "interaction.capture",
6472
6592
  "interaction.get",
6473
6593
  "interaction.diff",
6474
6594
  "interaction.replay",
6475
6595
  "artifact.read",
6476
- "inspect.cookies",
6477
- "inspect.storage",
6596
+ "session.cookies",
6597
+ "session.storage",
6598
+ "session.state",
6599
+ "session.fetch",
6478
6600
  "scripts.capture",
6479
6601
  "scripts.beautify",
6480
6602
  "scripts.deobfuscate",
6481
6603
  "scripts.sandbox",
6482
6604
  "captcha.solve",
6483
- "request.raw",
6484
- "request.execute",
6485
6605
  "computer.execute"
6486
6606
  ]);
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
6607
  var snapshotModeSchema = enumSchema(["action", "extraction"], {
6501
6608
  title: "OpensteerSnapshotMode"
6502
6609
  });
@@ -6598,14 +6705,14 @@ var targetByElementSchema2 = objectSchema(
6598
6705
  required: ["kind", "element"]
6599
6706
  }
6600
6707
  );
6601
- var targetByDescriptionSchema2 = objectSchema(
6708
+ var targetByPersistSchema2 = objectSchema(
6602
6709
  {
6603
- kind: enumSchema(["description"]),
6604
- description: stringSchema()
6710
+ kind: enumSchema(["persist"]),
6711
+ name: stringSchema()
6605
6712
  },
6606
6713
  {
6607
- title: "OpensteerTargetByDescription",
6608
- required: ["kind", "description"]
6714
+ title: "OpensteerTargetByPersist",
6715
+ required: ["kind", "name"]
6609
6716
  }
6610
6717
  );
6611
6718
  var targetBySelectorSchema2 = objectSchema(
@@ -6619,7 +6726,7 @@ var targetBySelectorSchema2 = objectSchema(
6619
6726
  }
6620
6727
  );
6621
6728
  var opensteerTargetInputSchema = oneOfSchema(
6622
- [targetByElementSchema2, targetByDescriptionSchema2, targetBySelectorSchema2],
6729
+ [targetByElementSchema2, targetByPersistSchema2, targetBySelectorSchema2],
6623
6730
  {
6624
6731
  title: "OpensteerTargetInput"
6625
6732
  }
@@ -6633,7 +6740,7 @@ var opensteerResolvedTargetSchema = objectSchema(
6633
6740
  nodeRef: nodeRefSchema,
6634
6741
  tagName: stringSchema(),
6635
6742
  pathHint: stringSchema(),
6636
- description: stringSchema(),
6743
+ persist: stringSchema(),
6637
6744
  selectorUsed: stringSchema()
6638
6745
  },
6639
6746
  {
@@ -6653,7 +6760,7 @@ var opensteerActionResultSchema = objectSchema(
6653
6760
  {
6654
6761
  target: opensteerResolvedTargetSchema,
6655
6762
  point: pointSchema,
6656
- persistedDescription: stringSchema()
6763
+ persisted: stringSchema()
6657
6764
  },
6658
6765
  {
6659
6766
  title: "OpensteerActionResult",
@@ -6910,24 +7017,13 @@ var opensteerPageSnapshotOutputSchema = objectSchema(
6910
7017
  required: ["url", "title", "mode", "html", "counters"]
6911
7018
  }
6912
7019
  );
6913
- var opensteerInspectCookiesInputSchema = objectSchema(
6914
- {
6915
- urls: arraySchema(stringSchema({ minLength: 1 }))
6916
- },
6917
- {
6918
- title: "OpensteerInspectCookiesInput"
6919
- }
6920
- );
6921
- var opensteerInspectCookiesOutputSchema = arraySchema(cookieRecordSchema, {
6922
- title: "OpensteerInspectCookiesOutput"
6923
- });
6924
- var opensteerInspectStorageInputSchema = objectSchema(
7020
+ var opensteerNetworkDetailInputSchema = objectSchema(
6925
7021
  {
6926
- includeSessionStorage: { type: "boolean" },
6927
- includeIndexedDb: { type: "boolean" }
7022
+ recordId: stringSchema({ minLength: 1 })
6928
7023
  },
6929
7024
  {
6930
- title: "OpensteerInspectStorageInput"
7025
+ title: "OpensteerNetworkDetailInput",
7026
+ required: ["recordId"]
6931
7027
  }
6932
7028
  );
6933
7029
  var opensteerComputerMouseButtonSchema = enumSchema(["left", "middle", "right"], {
@@ -6947,7 +7043,7 @@ var opensteerDomClickInputSchema = objectSchema(
6947
7043
  modifiers: arraySchema(opensteerComputerKeyModifierSchema, {
6948
7044
  uniqueItems: true
6949
7045
  }),
6950
- persistAsDescription: stringSchema(),
7046
+ persist: stringSchema(),
6951
7047
  captureNetwork: stringSchema({ minLength: 1 })
6952
7048
  },
6953
7049
  {
@@ -6958,7 +7054,7 @@ var opensteerDomClickInputSchema = objectSchema(
6958
7054
  var opensteerDomHoverInputSchema = objectSchema(
6959
7055
  {
6960
7056
  target: opensteerTargetInputSchema,
6961
- persistAsDescription: stringSchema(),
7057
+ persist: stringSchema(),
6962
7058
  captureNetwork: stringSchema({ minLength: 1 })
6963
7059
  },
6964
7060
  {
@@ -6971,7 +7067,7 @@ var opensteerDomInputInputSchema = objectSchema(
6971
7067
  target: opensteerTargetInputSchema,
6972
7068
  text: stringSchema(),
6973
7069
  pressEnter: { type: "boolean" },
6974
- persistAsDescription: stringSchema(),
7070
+ persist: stringSchema(),
6975
7071
  captureNetwork: stringSchema({ minLength: 1 })
6976
7072
  },
6977
7073
  {
@@ -6984,7 +7080,7 @@ var opensteerDomScrollInputSchema = objectSchema(
6984
7080
  target: opensteerTargetInputSchema,
6985
7081
  direction: enumSchema(["up", "down", "left", "right"]),
6986
7082
  amount: integerSchema({ minimum: 1 }),
6987
- persistAsDescription: stringSchema(),
7083
+ persist: stringSchema(),
6988
7084
  captureNetwork: stringSchema({ minLength: 1 })
6989
7085
  },
6990
7086
  {
@@ -6999,16 +7095,21 @@ var opensteerExtractSchemaSchema = objectSchema(
6999
7095
  additionalProperties: true
7000
7096
  }
7001
7097
  );
7002
- var opensteerDomExtractInputSchema = objectSchema(
7003
- {
7004
- description: stringSchema(),
7005
- schema: opensteerExtractSchemaSchema
7006
- },
7007
- {
7008
- title: "OpensteerDomExtractInput",
7009
- required: ["description"]
7010
- }
7011
- );
7098
+ var opensteerDomExtractInputSchema = defineSchema({
7099
+ ...objectSchema(
7100
+ {
7101
+ persist: stringSchema(),
7102
+ schema: opensteerExtractSchemaSchema
7103
+ },
7104
+ {
7105
+ title: "OpensteerDomExtractInput"
7106
+ }
7107
+ ),
7108
+ anyOf: [
7109
+ defineSchema({ required: ["persist"] }),
7110
+ defineSchema({ required: ["schema"] })
7111
+ ]
7112
+ });
7012
7113
  var jsonValueSchema3 = recordSchema({}, { title: "JsonValueRecord" });
7013
7114
  var opensteerDomExtractOutputSchema = objectSchema(
7014
7115
  {
@@ -7371,116 +7472,31 @@ var opensteerSemanticOperationSpecificationsBase = [
7371
7472
  }),
7372
7473
  defineSemanticOperationSpec({
7373
7474
  name: "dom.extract",
7374
- description: "Run structured DOM extraction with persisted Opensteer extraction descriptors.",
7475
+ description: "Run structured DOM extraction and optionally persist the extraction descriptor for replay.",
7375
7476
  inputSchema: opensteerDomExtractInputSchema,
7376
7477
  outputSchema: opensteerDomExtractOutputSchema,
7377
7478
  requiredCapabilities: ["inspect.domSnapshot", "inspect.text", "inspect.attributes"]
7378
7479
  }),
7379
7480
  defineSemanticOperationSpec({
7380
7481
  name: "network.query",
7381
- description: "Query persisted network records for reverse engineering workflows.",
7482
+ description: "Query captured network traffic with chronological summaries optimized for agent inspection.",
7382
7483
  inputSchema: opensteerNetworkQueryInputSchema,
7383
7484
  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: []
7456
- }),
7457
- 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: []
7485
+ requiredCapabilities: ["inspect.network"]
7470
7486
  }),
7471
7487
  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: []
7488
+ name: "network.detail",
7489
+ description: "Inspect one captured network record with parsed headers, cookies, redirects, and truncated bodies.",
7490
+ inputSchema: opensteerNetworkDetailInputSchema,
7491
+ outputSchema: opensteerNetworkDetailOutputSchema,
7492
+ requiredCapabilities: ["inspect.network", "inspect.networkBodies"]
7477
7493
  }),
7478
7494
  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: []
7495
+ name: "network.replay",
7496
+ description: "Replay a captured request through the transport ladder and report the transport that worked.",
7497
+ inputSchema: opensteerNetworkReplayInputSchema,
7498
+ outputSchema: exports.opensteerNetworkReplayOutputSchema,
7499
+ requiredCapabilities: ["inspect.network", "inspect.cookies", "pages.manage"]
7484
7500
  }),
7485
7501
  defineSemanticOperationSpec({
7486
7502
  name: "interaction.capture",
@@ -7553,127 +7569,49 @@ var opensteerSemanticOperationSpecificationsBase = [
7553
7569
  requiredCapabilities: ["pages.manage"]
7554
7570
  }),
7555
7571
  defineSemanticOperationSpec({
7556
- name: "inspect.cookies",
7557
- description: "Read cookies from the current browser session.",
7558
- inputSchema: opensteerInspectCookiesInputSchema,
7559
- outputSchema: opensteerInspectCookiesOutputSchema,
7572
+ name: "session.cookies",
7573
+ description: "Read browser cookies for the active page domain or an explicitly selected domain.",
7574
+ inputSchema: opensteerCookieQueryInputSchema,
7575
+ outputSchema: opensteerCookieQueryOutputSchema,
7560
7576
  requiredCapabilities: ["inspect.cookies"]
7561
7577
  }),
7562
7578
  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: []
7579
+ name: "session.storage",
7580
+ description: "Read localStorage and sessionStorage grouped by domain for the active browser session.",
7581
+ inputSchema: opensteerStorageQueryInputSchema,
7582
+ outputSchema: opensteerStorageQueryOutputSchema,
7583
+ requiredCapabilities: ["inspect.localStorage", "inspect.sessionStorage"]
7649
7584
  }),
7650
7585
  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: []
7663
- }),
7664
- 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: []
7586
+ name: "session.state",
7587
+ description: "Read browser cookies, storage, hidden fields, and selected page globals grouped by domain.",
7588
+ inputSchema: opensteerStateQueryInputSchema,
7589
+ outputSchema: opensteerStateQueryOutputSchema,
7590
+ requiredCapabilities: [
7591
+ "inspect.cookies",
7592
+ "inspect.localStorage",
7593
+ "inspect.sessionStorage",
7594
+ "pages.manage"
7595
+ ]
7670
7596
  }),
7671
7597
  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: []
7598
+ name: "session.fetch",
7599
+ description: "Execute a session-aware HTTP request with browser cookies and automatic transport selection.",
7600
+ inputSchema: opensteerSessionFetchInputSchema,
7601
+ outputSchema: exports.opensteerSessionFetchOutputSchema,
7602
+ requiredCapabilities: [],
7603
+ resolveRequiredCapabilities: (input) => {
7604
+ switch (input.transport ?? "auto") {
7605
+ case "direct":
7606
+ return [];
7607
+ case "matched-tls":
7608
+ return ["inspect.cookies"];
7609
+ case "page":
7610
+ return ["pages.manage"];
7611
+ case "auto":
7612
+ return ["inspect.cookies", "pages.manage"];
7613
+ }
7614
+ }
7677
7615
  }),
7678
7616
  defineSemanticOperationSpec({
7679
7617
  name: "computer.execute",
@@ -7711,12 +7649,18 @@ var opensteerSemanticOperationSpecificationsBase = [
7711
7649
  requiredCapabilities: ["sessions.manage"]
7712
7650
  })
7713
7651
  ];
7714
- var opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecificationsBase.map((spec) => ({
7652
+ var exposedSemanticOperationNameSet = new Set(
7653
+ opensteerExposedSemanticOperationNames
7654
+ );
7655
+ var opensteerSemanticOperationSpecificationsInternal = opensteerSemanticOperationSpecificationsBase.map((spec) => ({
7715
7656
  ...spec,
7716
7657
  packageRunnable: opensteerPackageRunnableSemanticOperationNames.has(spec.name)
7717
7658
  }));
7659
+ var opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecificationsInternal.filter(
7660
+ (spec) => exposedSemanticOperationNameSet.has(spec.name)
7661
+ );
7718
7662
  var opensteerSemanticOperationSpecificationMap = Object.fromEntries(
7719
- opensteerSemanticOperationSpecifications.map((spec) => [spec.name, spec])
7663
+ opensteerSemanticOperationSpecificationsInternal.map((spec) => [spec.name, spec])
7720
7664
  );
7721
7665
  var semanticRestBasePath = `${OPENSTEER_PROTOCOL_REST_BASE_PATH}/semantic`;
7722
7666
  var opensteerSemanticRestEndpoints = opensteerSemanticOperationSpecifications.map((spec) => ({
@@ -7733,11 +7677,12 @@ var readOnlyOperations = /* @__PURE__ */ new Set([
7733
7677
  "page.snapshot",
7734
7678
  "dom.extract",
7735
7679
  "network.query",
7736
- "request-plan.get",
7737
- "request-plan.list"
7680
+ "network.detail",
7681
+ "session.cookies",
7682
+ "session.storage",
7683
+ "session.state"
7738
7684
  ]);
7739
7685
  var destructiveOperations = /* @__PURE__ */ new Set([
7740
- "network.clear",
7741
7686
  "session.close"
7742
7687
  ]);
7743
7688
  function toolNameFromOperation(operation) {
@@ -7983,12 +7928,7 @@ exports.isOpensteerRef = isOpensteerRef;
7983
7928
  exports.isSupportedProtocolVersion = isSupportedProtocolVersion;
7984
7929
  exports.layoutViewportSchema = layoutViewportSchema;
7985
7930
  exports.literalSchema = literalSchema;
7986
- exports.minimizationFieldClassificationSchema = minimizationFieldClassificationSchema;
7987
- exports.minimizationFieldResultSchema = minimizationFieldResultSchema;
7988
7931
  exports.networkCaptureStateSchema = networkCaptureStateSchema;
7989
- exports.networkDiffEntropySchema = networkDiffEntropySchema;
7990
- exports.networkDiffFieldKindSchema = networkDiffFieldKindSchema;
7991
- exports.networkDiffFieldSchema = networkDiffFieldSchema;
7992
7932
  exports.networkInitiatorSchema = networkInitiatorSchema;
7993
7933
  exports.networkInitiatorTypeSchema = networkInitiatorTypeSchema;
7994
7934
  exports.networkQueryRecordSchema = networkQueryRecordSchema;
@@ -8037,6 +7977,8 @@ exports.opensteerCapabilitySetSchema = opensteerCapabilitySetSchema;
8037
7977
  exports.opensteerCaptchaSolveInputSchema = opensteerCaptchaSolveInputSchema;
8038
7978
  exports.opensteerCaptchaSolveOutputSchema = opensteerCaptchaSolveOutputSchema;
8039
7979
  exports.opensteerComputerAnnotationNames = opensteerComputerAnnotationNames;
7980
+ exports.opensteerCookieQueryInputSchema = opensteerCookieQueryInputSchema;
7981
+ exports.opensteerCookieQueryOutputSchema = opensteerCookieQueryOutputSchema;
8040
7982
  exports.opensteerErrorCodeSchema = opensteerErrorCodeSchema;
8041
7983
  exports.opensteerErrorCodes = opensteerErrorCodes;
8042
7984
  exports.opensteerErrorEnvelopeSchema = opensteerErrorEnvelopeSchema;
@@ -8044,6 +7986,7 @@ exports.opensteerErrorSchema = opensteerErrorSchema;
8044
7986
  exports.opensteerEventSchema = opensteerEventSchema;
8045
7987
  exports.opensteerExecutableResolverKindSchema = opensteerExecutableResolverKindSchema;
8046
7988
  exports.opensteerExecutableResolverSchema = opensteerExecutableResolverSchema;
7989
+ exports.opensteerExposedSemanticOperationNames = opensteerExposedSemanticOperationNames;
8047
7990
  exports.opensteerGetAuthRecipeInputSchema = opensteerGetAuthRecipeInputSchema;
8048
7991
  exports.opensteerGetRecipeInputSchema = opensteerGetRecipeInputSchema;
8049
7992
  exports.opensteerGetRequestPlanInputSchema = opensteerGetRequestPlanInputSchema;
@@ -8068,13 +8011,11 @@ exports.opensteerListRequestPlansOutputSchema = opensteerListRequestPlansOutputS
8068
8011
  exports.opensteerMcpTools = opensteerMcpTools;
8069
8012
  exports.opensteerNetworkClearInputSchema = opensteerNetworkClearInputSchema;
8070
8013
  exports.opensteerNetworkClearOutputSchema = opensteerNetworkClearOutputSchema;
8071
- exports.opensteerNetworkDiffInputSchema = opensteerNetworkDiffInputSchema;
8072
- exports.opensteerNetworkDiffOutputSchema = opensteerNetworkDiffOutputSchema;
8073
- exports.opensteerNetworkMinimizeInputSchema = opensteerNetworkMinimizeInputSchema;
8074
- exports.opensteerNetworkMinimizeOutputSchema = opensteerNetworkMinimizeOutputSchema;
8075
- exports.opensteerNetworkMinimizeSuccessPolicySchema = opensteerNetworkMinimizeSuccessPolicySchema;
8014
+ exports.opensteerNetworkDetailOutputSchema = opensteerNetworkDetailOutputSchema;
8076
8015
  exports.opensteerNetworkQueryInputSchema = opensteerNetworkQueryInputSchema;
8077
8016
  exports.opensteerNetworkQueryOutputSchema = opensteerNetworkQueryOutputSchema;
8017
+ exports.opensteerNetworkReplayInputSchema = opensteerNetworkReplayInputSchema;
8018
+ exports.opensteerNetworkSummaryRecordSchema = opensteerNetworkSummaryRecordSchema;
8078
8019
  exports.opensteerNetworkTagInputSchema = opensteerNetworkTagInputSchema;
8079
8020
  exports.opensteerNetworkTagOutputSchema = opensteerNetworkTagOutputSchema;
8080
8021
  exports.opensteerObservationClusterRelationshipKindSchema = opensteerObservationClusterRelationshipKindSchema;
@@ -8199,12 +8140,15 @@ exports.opensteerSemanticOperationNames = opensteerSemanticOperationNames;
8199
8140
  exports.opensteerSemanticOperationSpecificationMap = opensteerSemanticOperationSpecificationMap;
8200
8141
  exports.opensteerSemanticOperationSpecifications = opensteerSemanticOperationSpecifications;
8201
8142
  exports.opensteerSemanticRestEndpoints = opensteerSemanticRestEndpoints;
8143
+ exports.opensteerSessionFetchInputSchema = opensteerSessionFetchInputSchema;
8202
8144
  exports.opensteerSessionGrantKinds = opensteerSessionGrantKinds;
8203
8145
  exports.opensteerStateDeltaSchema = opensteerStateDeltaSchema;
8146
+ exports.opensteerStateQueryInputSchema = opensteerStateQueryInputSchema;
8147
+ exports.opensteerStateQueryOutputSchema = opensteerStateQueryOutputSchema;
8204
8148
  exports.opensteerStateSnapshotSchema = opensteerStateSnapshotSchema;
8205
8149
  exports.opensteerStateSourceKindSchema = opensteerStateSourceKindSchema;
8206
- exports.opensteerTransportProbeInputSchema = opensteerTransportProbeInputSchema;
8207
- exports.opensteerTransportProbeOutputSchema = opensteerTransportProbeOutputSchema;
8150
+ exports.opensteerStorageQueryInputSchema = opensteerStorageQueryInputSchema;
8151
+ exports.opensteerStorageQueryOutputSchema = opensteerStorageQueryOutputSchema;
8208
8152
  exports.opensteerValidationRuleKindSchema = opensteerValidationRuleKindSchema;
8209
8153
  exports.opensteerValidationRuleSchema = opensteerValidationRuleSchema;
8210
8154
  exports.opensteerValueReferenceKindSchema = opensteerValueReferenceKindSchema;
@@ -8250,8 +8194,6 @@ exports.traceBundleSchema = traceBundleSchema;
8250
8194
  exports.traceContextSchema = traceContextSchema;
8251
8195
  exports.traceRecordSchema = traceRecordSchema;
8252
8196
  exports.transportKindSchema = transportKindSchema;
8253
- exports.transportProbeLevelSchema = transportProbeLevelSchema;
8254
- exports.transportProbeResultSchema = transportProbeResultSchema;
8255
8197
  exports.unsupportedCapabilityError = unsupportedCapabilityError;
8256
8198
  exports.unsupportedVersionError = unsupportedVersionError;
8257
8199
  exports.validateJsonSchema = validateJsonSchema;