@depup/openai 7.32.0-depup.0 → 7.34.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +2 -2
  3. package/changes.json +1 -1
  4. package/helpers/browser.d.mts +634 -0
  5. package/helpers/browser.d.mts.map +1 -0
  6. package/helpers/browser.d.ts +634 -0
  7. package/helpers/browser.d.ts.map +1 -0
  8. package/helpers/browser.js +1148 -0
  9. package/helpers/browser.js.map +1 -0
  10. package/helpers/browser.mjs +1143 -0
  11. package/helpers/browser.mjs.map +1 -0
  12. package/helpers/computer.d.mts +133 -0
  13. package/helpers/computer.d.mts.map +1 -0
  14. package/helpers/computer.d.ts +133 -0
  15. package/helpers/computer.d.ts.map +1 -0
  16. package/helpers/computer.js +782 -0
  17. package/helpers/computer.js.map +1 -0
  18. package/helpers/computer.mjs +778 -0
  19. package/helpers/computer.mjs.map +1 -0
  20. package/helpers/decisions-tool-runner.d.mts +74 -0
  21. package/helpers/decisions-tool-runner.d.mts.map +1 -0
  22. package/helpers/decisions-tool-runner.d.ts +74 -0
  23. package/helpers/decisions-tool-runner.d.ts.map +1 -0
  24. package/helpers/decisions-tool-runner.js +491 -0
  25. package/helpers/decisions-tool-runner.js.map +1 -0
  26. package/helpers/decisions-tool-runner.mjs +486 -0
  27. package/helpers/decisions-tool-runner.mjs.map +1 -0
  28. package/helpers/responses-tool-runner.d.mts +241 -0
  29. package/helpers/responses-tool-runner.d.mts.map +1 -0
  30. package/helpers/responses-tool-runner.d.ts +241 -0
  31. package/helpers/responses-tool-runner.d.ts.map +1 -0
  32. package/helpers/responses-tool-runner.js +2525 -0
  33. package/helpers/responses-tool-runner.js.map +1 -0
  34. package/helpers/responses-tool-runner.mjs +2519 -0
  35. package/helpers/responses-tool-runner.mjs.map +1 -0
  36. package/index.d.mts +1 -0
  37. package/index.d.mts.map +1 -1
  38. package/index.d.ts +1 -0
  39. package/index.d.ts.map +1 -1
  40. package/index.js +3 -1
  41. package/index.js.map +1 -1
  42. package/index.mjs +1 -0
  43. package/index.mjs.map +1 -1
  44. package/internal/native-response-message.d.mts +4 -0
  45. package/internal/native-response-message.d.mts.map +1 -0
  46. package/internal/native-response-message.d.ts +4 -0
  47. package/internal/native-response-message.d.ts.map +1 -0
  48. package/internal/native-response-message.js +179 -0
  49. package/internal/native-response-message.js.map +1 -0
  50. package/internal/native-response-message.mjs +174 -0
  51. package/internal/native-response-message.mjs.map +1 -0
  52. package/internal/responses/response-accumulator.d.mts +8 -1
  53. package/internal/responses/response-accumulator.d.mts.map +1 -1
  54. package/internal/responses/response-accumulator.d.ts +8 -1
  55. package/internal/responses/response-accumulator.d.ts.map +1 -1
  56. package/internal/responses/response-accumulator.js +54 -30
  57. package/internal/responses/response-accumulator.js.map +1 -1
  58. package/internal/responses/response-accumulator.mjs +50 -30
  59. package/internal/responses/response-accumulator.mjs.map +1 -1
  60. package/internal/runner-diagnostics.d.mts +21 -0
  61. package/internal/runner-diagnostics.d.mts.map +1 -0
  62. package/internal/runner-diagnostics.d.ts +21 -0
  63. package/internal/runner-diagnostics.d.ts.map +1 -0
  64. package/internal/runner-diagnostics.js +57 -0
  65. package/internal/runner-diagnostics.js.map +1 -0
  66. package/internal/runner-diagnostics.mjs +53 -0
  67. package/internal/runner-diagnostics.mjs.map +1 -0
  68. package/internal/runner-lifecycle.d.mts +19 -0
  69. package/internal/runner-lifecycle.d.mts.map +1 -0
  70. package/internal/runner-lifecycle.d.ts +19 -0
  71. package/internal/runner-lifecycle.d.ts.map +1 -0
  72. package/internal/runner-lifecycle.js +230 -0
  73. package/internal/runner-lifecycle.js.map +1 -0
  74. package/internal/runner-lifecycle.mjs +221 -0
  75. package/internal/runner-lifecycle.mjs.map +1 -0
  76. package/internal/utils/log.d.mts.map +1 -1
  77. package/internal/utils/log.d.ts.map +1 -1
  78. package/internal/utils/log.js +4 -0
  79. package/internal/utils/log.js.map +1 -1
  80. package/internal/utils/log.mjs +4 -0
  81. package/internal/utils/log.mjs.map +1 -1
  82. package/lib/beta/agents/parse-result.d.mts +2 -0
  83. package/lib/beta/agents/parse-result.d.mts.map +1 -1
  84. package/lib/beta/agents/parse-result.d.ts +2 -0
  85. package/lib/beta/agents/parse-result.d.ts.map +1 -1
  86. package/lib/responses/ResponseStream.d.mts +2 -2
  87. package/lib/responses/ResponseStream.d.mts.map +1 -1
  88. package/lib/responses/ResponseStream.d.ts +2 -2
  89. package/lib/responses/ResponseStream.d.ts.map +1 -1
  90. package/lib/responses/ResponseStream.js +355 -20
  91. package/lib/responses/ResponseStream.js.map +1 -1
  92. package/lib/responses/ResponseStream.mjs +357 -22
  93. package/lib/responses/ResponseStream.mjs.map +1 -1
  94. package/package.json +3 -3
  95. package/resources/admin/organization/audit-logs.d.mts +1 -1
  96. package/resources/admin/organization/audit-logs.d.mts.map +1 -1
  97. package/resources/admin/organization/audit-logs.d.ts +1 -1
  98. package/resources/admin/organization/audit-logs.d.ts.map +1 -1
  99. package/resources/admin/organization/external-storage.d.mts +15 -3
  100. package/resources/admin/organization/external-storage.d.mts.map +1 -1
  101. package/resources/admin/organization/external-storage.d.ts +15 -3
  102. package/resources/admin/organization/external-storage.d.ts.map +1 -1
  103. package/resources/admin/organization/index.d.mts +2 -2
  104. package/resources/admin/organization/index.d.mts.map +1 -1
  105. package/resources/admin/organization/index.d.ts +2 -2
  106. package/resources/admin/organization/index.d.ts.map +1 -1
  107. package/resources/admin/organization/index.js.map +1 -1
  108. package/resources/admin/organization/index.mjs.map +1 -1
  109. package/resources/admin/organization/organization.d.mts +4 -4
  110. package/resources/admin/organization/organization.d.mts.map +1 -1
  111. package/resources/admin/organization/organization.d.ts +4 -4
  112. package/resources/admin/organization/organization.d.ts.map +1 -1
  113. package/resources/admin/organization/organization.js.map +1 -1
  114. package/resources/admin/organization/organization.mjs.map +1 -1
  115. package/resources/admin/organization/projects/api-keys.d.mts +32 -1
  116. package/resources/admin/organization/projects/api-keys.d.mts.map +1 -1
  117. package/resources/admin/organization/projects/api-keys.d.ts +32 -1
  118. package/resources/admin/organization/projects/api-keys.d.ts.map +1 -1
  119. package/resources/admin/organization/projects/api-keys.js +26 -0
  120. package/resources/admin/organization/projects/api-keys.js.map +1 -1
  121. package/resources/admin/organization/projects/api-keys.mjs +26 -0
  122. package/resources/admin/organization/projects/api-keys.mjs.map +1 -1
  123. package/resources/admin/organization/projects/index.d.mts +1 -1
  124. package/resources/admin/organization/projects/index.d.mts.map +1 -1
  125. package/resources/admin/organization/projects/index.d.ts +1 -1
  126. package/resources/admin/organization/projects/index.d.ts.map +1 -1
  127. package/resources/admin/organization/projects/index.js.map +1 -1
  128. package/resources/admin/organization/projects/index.mjs.map +1 -1
  129. package/resources/admin/organization/projects/projects.d.mts +3 -3
  130. package/resources/admin/organization/projects/projects.d.mts.map +1 -1
  131. package/resources/admin/organization/projects/projects.d.ts +3 -3
  132. package/resources/admin/organization/projects/projects.d.ts.map +1 -1
  133. package/resources/admin/organization/projects/projects.js.map +1 -1
  134. package/resources/admin/organization/projects/projects.mjs.map +1 -1
  135. package/resources/admin/organization/usage.d.mts +202 -1
  136. package/resources/admin/organization/usage.d.mts.map +1 -1
  137. package/resources/admin/organization/usage.d.ts +202 -1
  138. package/resources/admin/organization/usage.d.ts.map +1 -1
  139. package/resources/admin/organization/usage.js +19 -0
  140. package/resources/admin/organization/usage.js.map +1 -1
  141. package/resources/admin/organization/usage.mjs +19 -0
  142. package/resources/admin/organization/usage.mjs.map +1 -1
  143. package/resources/beta/agents/agents.d.mts +28 -10
  144. package/resources/beta/agents/agents.d.mts.map +1 -1
  145. package/resources/beta/agents/agents.d.ts +28 -10
  146. package/resources/beta/agents/agents.d.ts.map +1 -1
  147. package/resources/beta/agents/agents.js.map +1 -1
  148. package/resources/beta/agents/agents.mjs.map +1 -1
  149. package/resources/beta/agents/environments/environments.d.mts +2 -2
  150. package/resources/beta/agents/environments/environments.d.mts.map +1 -1
  151. package/resources/beta/agents/environments/environments.d.ts +2 -2
  152. package/resources/beta/agents/environments/environments.d.ts.map +1 -1
  153. package/resources/beta/agents/environments/files.d.mts +3 -2
  154. package/resources/beta/agents/environments/files.d.mts.map +1 -1
  155. package/resources/beta/agents/environments/files.d.ts +3 -2
  156. package/resources/beta/agents/environments/files.d.ts.map +1 -1
  157. package/resources/beta/agents/environments/files.js +3 -2
  158. package/resources/beta/agents/environments/files.js.map +1 -1
  159. package/resources/beta/agents/environments/files.mjs +3 -2
  160. package/resources/beta/agents/environments/files.mjs.map +1 -1
  161. package/resources/beta/agents/index.d.mts +1 -1
  162. package/resources/beta/agents/index.d.mts.map +1 -1
  163. package/resources/beta/agents/index.d.ts +1 -1
  164. package/resources/beta/agents/index.d.ts.map +1 -1
  165. package/resources/beta/agents/index.js.map +1 -1
  166. package/resources/beta/agents/index.mjs.map +1 -1
  167. package/resources/beta/agents/sessions/artifacts.d.mts +2 -10
  168. package/resources/beta/agents/sessions/artifacts.d.mts.map +1 -1
  169. package/resources/beta/agents/sessions/artifacts.d.ts +2 -10
  170. package/resources/beta/agents/sessions/artifacts.d.ts.map +1 -1
  171. package/resources/beta/agents/sessions/sessions.d.mts +35 -8
  172. package/resources/beta/agents/sessions/sessions.d.mts.map +1 -1
  173. package/resources/beta/agents/sessions/sessions.d.ts +35 -8
  174. package/resources/beta/agents/sessions/sessions.d.ts.map +1 -1
  175. package/resources/beta/agents/sessions/sessions.js.map +1 -1
  176. package/resources/beta/agents/sessions/sessions.mjs.map +1 -1
  177. package/resources/beta/agents/vaults/credentials.d.mts +9 -6
  178. package/resources/beta/agents/vaults/credentials.d.mts.map +1 -1
  179. package/resources/beta/agents/vaults/credentials.d.ts +9 -6
  180. package/resources/beta/agents/vaults/credentials.d.ts.map +1 -1
  181. package/resources/beta/agents/vaults/credentials.js +1 -1
  182. package/resources/beta/agents/vaults/credentials.js.map +1 -1
  183. package/resources/beta/agents/vaults/credentials.mjs +1 -1
  184. package/resources/beta/agents/vaults/credentials.mjs.map +1 -1
  185. package/resources/beta/agents/vaults/index.d.mts +1 -1
  186. package/resources/beta/agents/vaults/index.d.mts.map +1 -1
  187. package/resources/beta/agents/vaults/index.d.ts +1 -1
  188. package/resources/beta/agents/vaults/index.d.ts.map +1 -1
  189. package/resources/beta/agents/vaults/index.js.map +1 -1
  190. package/resources/beta/agents/vaults/index.mjs.map +1 -1
  191. package/resources/beta/agents/vaults/vaults.d.mts +38 -7
  192. package/resources/beta/agents/vaults/vaults.d.mts.map +1 -1
  193. package/resources/beta/agents/vaults/vaults.d.ts +38 -7
  194. package/resources/beta/agents/vaults/vaults.d.ts.map +1 -1
  195. package/resources/beta/agents/vaults/vaults.js +22 -1
  196. package/resources/beta/agents/vaults/vaults.js.map +1 -1
  197. package/resources/beta/agents/vaults/vaults.mjs +22 -1
  198. package/resources/beta/agents/vaults/vaults.mjs.map +1 -1
  199. package/resources/beta/responses/responses.d.mts +135 -3
  200. package/resources/beta/responses/responses.d.mts.map +1 -1
  201. package/resources/beta/responses/responses.d.ts +135 -3
  202. package/resources/beta/responses/responses.d.ts.map +1 -1
  203. package/resources/beta/responses/responses.js.map +1 -1
  204. package/resources/beta/responses/responses.mjs.map +1 -1
  205. package/resources/chat/completions/completions.d.mts +1 -1
  206. package/resources/chat/completions/completions.d.ts +1 -1
  207. package/resources/conversations/items.d.mts +46 -0
  208. package/resources/conversations/items.d.mts.map +1 -1
  209. package/resources/conversations/items.d.ts +46 -0
  210. package/resources/conversations/items.d.ts.map +1 -1
  211. package/resources/decisions.d.mts +48 -21
  212. package/resources/decisions.d.mts.map +1 -1
  213. package/resources/decisions.d.ts +48 -21
  214. package/resources/decisions.d.ts.map +1 -1
  215. package/resources/decisions.js +2 -11
  216. package/resources/decisions.js.map +1 -1
  217. package/resources/decisions.mjs +2 -11
  218. package/resources/decisions.mjs.map +1 -1
  219. package/resources/live/live.d.mts +1 -1
  220. package/resources/live/live.d.mts.map +1 -1
  221. package/resources/live/live.d.ts +1 -1
  222. package/resources/live/live.d.ts.map +1 -1
  223. package/resources/live/live.js.map +1 -1
  224. package/resources/live/live.mjs.map +1 -1
  225. package/resources/responses/responses.d.mts +141 -3
  226. package/resources/responses/responses.d.mts.map +1 -1
  227. package/resources/responses/responses.d.ts +141 -3
  228. package/resources/responses/responses.d.ts.map +1 -1
  229. package/resources/responses/responses.js.map +1 -1
  230. package/resources/responses/responses.mjs.map +1 -1
  231. package/resources/safety/alerts.d.mts +5 -0
  232. package/resources/safety/alerts.d.mts.map +1 -1
  233. package/resources/safety/alerts.d.ts +5 -0
  234. package/resources/safety/alerts.d.ts.map +1 -1
  235. package/resources/webhooks/webhooks.d.mts +5 -6
  236. package/resources/webhooks/webhooks.d.mts.map +1 -1
  237. package/resources/webhooks/webhooks.d.ts +5 -6
  238. package/resources/webhooks/webhooks.d.ts.map +1 -1
  239. package/resources/webhooks/webhooks.js.map +1 -1
  240. package/resources/webhooks/webhooks.mjs.map +1 -1
  241. package/src/helpers/browser.ts +1583 -0
  242. package/src/helpers/computer.ts +1001 -0
  243. package/src/helpers/decisions-tool-runner.ts +641 -0
  244. package/src/helpers/responses-tool-runner.ts +3265 -0
  245. package/src/index.ts +1 -0
  246. package/src/internal/native-response-message.ts +218 -0
  247. package/src/internal/responses/response-accumulator.ts +63 -32
  248. package/src/internal/runner-diagnostics.ts +93 -0
  249. package/src/internal/runner-lifecycle.ts +248 -0
  250. package/src/internal/utils/log.ts +4 -0
  251. package/src/lib/responses/ResponseStream.ts +387 -21
  252. package/src/resources/admin/organization/audit-logs.ts +2 -1
  253. package/src/resources/admin/organization/external-storage.ts +28 -2
  254. package/src/resources/admin/organization/index.ts +3 -0
  255. package/src/resources/admin/organization/organization.ts +6 -0
  256. package/src/resources/admin/organization/projects/api-keys.ts +45 -0
  257. package/src/resources/admin/organization/projects/index.ts +1 -0
  258. package/src/resources/admin/organization/projects/projects.ts +5 -0
  259. package/src/resources/admin/organization/usage.ts +259 -0
  260. package/src/resources/beta/agents/agents.ts +31 -8
  261. package/src/resources/beta/agents/environments/environments.ts +2 -2
  262. package/src/resources/beta/agents/environments/files.ts +3 -2
  263. package/src/resources/beta/agents/index.ts +1 -0
  264. package/src/resources/beta/agents/sessions/artifacts.ts +2 -12
  265. package/src/resources/beta/agents/sessions/sessions.ts +39 -9
  266. package/src/resources/beta/agents/vaults/credentials.ts +8 -7
  267. package/src/resources/beta/agents/vaults/index.ts +1 -0
  268. package/src/resources/beta/agents/vaults/vaults.ts +48 -7
  269. package/src/resources/beta/responses/responses.ts +159 -3
  270. package/src/resources/chat/completions/completions.ts +1 -1
  271. package/src/resources/conversations/items.ts +54 -0
  272. package/src/resources/decisions.ts +48 -21
  273. package/src/resources/live/live.ts +1 -0
  274. package/src/resources/responses/responses.ts +165 -3
  275. package/src/resources/safety/alerts.ts +6 -0
  276. package/src/resources/webhooks/webhooks.ts +11 -12
  277. package/src/version.ts +1 -1
  278. package/version.d.mts +1 -1
  279. package/version.d.ts +1 -1
  280. package/version.js +1 -1
  281. package/version.mjs +1 -1
@@ -0,0 +1,634 @@
1
+ import { OpenAIError } from "../error.js";
2
+ import type { RunnerDiagnosticObserver } from "../internal/runner-diagnostics.js";
3
+ import type { FunctionTool, ResponseFunctionToolCall, ResponseInputImageContent, ResponseInputItem } from "../resources/responses/responses.js";
4
+ export type { RunnerDiagnostic, RunnerDiagnosticObserver } from "../internal/runner-diagnostics.js";
5
+ declare const fields: {
6
+ readonly text: {
7
+ readonly type: "string";
8
+ };
9
+ readonly optionalText: {
10
+ readonly type: readonly ["string", "null"];
11
+ };
12
+ readonly strings: {
13
+ readonly type: "array";
14
+ readonly items: {
15
+ readonly type: "string";
16
+ };
17
+ };
18
+ readonly filter: {
19
+ readonly type: "string";
20
+ readonly enum: readonly ["all", "interactive"];
21
+ };
22
+ readonly direction: {
23
+ readonly type: "string";
24
+ readonly enum: readonly ["up", "down", "left", "right"];
25
+ };
26
+ readonly amount: {
27
+ readonly type: "integer";
28
+ readonly minimum: 0;
29
+ readonly maximum: number;
30
+ };
31
+ readonly timeout: {
32
+ readonly type: "integer";
33
+ readonly minimum: 1;
34
+ readonly maximum: 30000;
35
+ };
36
+ readonly region: {
37
+ readonly type: "array";
38
+ readonly items: {
39
+ readonly type: "integer";
40
+ readonly minimum: 0;
41
+ readonly maximum: number;
42
+ };
43
+ readonly minItems: 4;
44
+ readonly maxItems: 4;
45
+ };
46
+ readonly coordinate: {
47
+ readonly type: "integer";
48
+ readonly minimum: 0;
49
+ readonly maximum: number;
50
+ };
51
+ readonly checked: {
52
+ readonly type: "boolean";
53
+ };
54
+ readonly button: {
55
+ readonly type: "string";
56
+ readonly enum: readonly ["left", "right", "middle"];
57
+ };
58
+ readonly clickCount: {
59
+ readonly type: "integer";
60
+ readonly enum: readonly [1, 2, 3];
61
+ };
62
+ readonly modifiers: {
63
+ readonly type: "array";
64
+ readonly items: {
65
+ readonly type: "string";
66
+ readonly enum: readonly ["Control", "Alt", "Meta", "Shift"];
67
+ };
68
+ readonly minItems: 0;
69
+ readonly maxItems: 4;
70
+ readonly description: "Unique modifier keys held for this operation.";
71
+ };
72
+ readonly path: {
73
+ readonly type: "array";
74
+ readonly items: {
75
+ readonly type: "object";
76
+ readonly properties: {
77
+ readonly x: {
78
+ readonly type: "integer";
79
+ readonly minimum: 0;
80
+ readonly maximum: number;
81
+ };
82
+ readonly y: {
83
+ readonly type: "integer";
84
+ readonly minimum: 0;
85
+ readonly maximum: number;
86
+ };
87
+ };
88
+ readonly required: readonly ["x", "y"];
89
+ readonly additionalProperties: false;
90
+ };
91
+ readonly minItems: 2;
92
+ readonly maxItems: 100;
93
+ };
94
+ readonly heldKeys: {
95
+ readonly type: "array";
96
+ readonly items: {
97
+ readonly type: "string";
98
+ readonly description: "Nonempty driver-supported key, at most 64 UTF-8 bytes.";
99
+ };
100
+ readonly minItems: 1;
101
+ readonly maxItems: 8;
102
+ readonly description: "Unique driver-supported keys held for this operation.";
103
+ };
104
+ readonly holdDuration: {
105
+ readonly type: "integer";
106
+ readonly minimum: 1;
107
+ readonly maximum: 3000;
108
+ };
109
+ readonly scope: {
110
+ readonly type: readonly ["string", "null"];
111
+ readonly description: "Null or a nonempty driver-issued scope ref, at most 256 UTF-8 bytes. Never a selector.";
112
+ };
113
+ readonly depth: {
114
+ readonly type: "integer";
115
+ readonly minimum: 1;
116
+ readonly maximum: 32;
117
+ };
118
+ readonly diagnosticSource: {
119
+ readonly type: "string";
120
+ readonly enum: readonly ["console", "network"];
121
+ };
122
+ readonly diagnosticLimit: {
123
+ readonly type: "integer";
124
+ readonly minimum: 1;
125
+ readonly maximum: 100;
126
+ };
127
+ readonly script: {
128
+ readonly type: "string";
129
+ readonly description: "Nonempty page script containing valid Unicode.";
130
+ };
131
+ readonly fileGrant: {
132
+ readonly type: "string";
133
+ readonly description: "Nonempty caller-issued file grant, at most 256 UTF-8 bytes.";
134
+ };
135
+ readonly visibleText: {
136
+ readonly type: "string";
137
+ readonly description: "Nonempty visible text, at most 256 UTF-8 bytes after whitespace normalization.";
138
+ };
139
+ };
140
+ type Field = keyof typeof fields;
141
+ type FieldValue<F extends Field> = {
142
+ text: string;
143
+ optionalText: string | null;
144
+ strings: string[];
145
+ filter: 'all' | 'interactive';
146
+ direction: 'up' | 'down' | 'left' | 'right';
147
+ amount: number;
148
+ timeout: number;
149
+ region: [number, number, number, number];
150
+ visibleText: string;
151
+ coordinate: number;
152
+ checked: boolean;
153
+ button: 'left' | 'right' | 'middle';
154
+ clickCount: 1 | 2 | 3;
155
+ modifiers: ('Control' | 'Alt' | 'Meta' | 'Shift')[];
156
+ path: {
157
+ x: number;
158
+ y: number;
159
+ }[];
160
+ heldKeys: string[];
161
+ holdDuration: number;
162
+ scope: string | null;
163
+ depth: number;
164
+ diagnosticSource: 'console' | 'network';
165
+ diagnosticLimit: number;
166
+ script: string;
167
+ fileGrant: string;
168
+ }[F];
169
+ declare const members: {
170
+ readonly navigate: {
171
+ readonly description: "Navigate a tab to a URL.";
172
+ readonly changes: true;
173
+ readonly args: {
174
+ readonly url: "text";
175
+ readonly tab_id: "optionalText";
176
+ };
177
+ };
178
+ readonly read_page: {
179
+ readonly description: "Read page structure and opaque interactive element refs.";
180
+ readonly changes: false;
181
+ readonly args: {
182
+ readonly tab_id: "optionalText";
183
+ readonly filter: "filter";
184
+ };
185
+ };
186
+ readonly read_page_scoped: {
187
+ readonly description: "Read within an observed section, or discover sections with a null root. Depth counts DOM levels.";
188
+ readonly changes: false;
189
+ readonly optIn: true;
190
+ readonly args: {
191
+ readonly tab_id: "optionalText";
192
+ readonly root: "scope";
193
+ readonly depth: "depth";
194
+ readonly filter: "filter";
195
+ };
196
+ };
197
+ readonly read_diagnostics: {
198
+ readonly description: "Read a bounded, driver-filtered console or network summary. Requires approval.";
199
+ readonly changes: false;
200
+ readonly sensitive: true;
201
+ readonly optIn: true;
202
+ readonly args: {
203
+ readonly tab_id: "optionalText";
204
+ readonly source: "diagnosticSource";
205
+ readonly limit: "diagnosticLimit";
206
+ };
207
+ };
208
+ readonly run_script: {
209
+ readonly description: "Run an approved script in an explicitly allowed page. Returns text.";
210
+ readonly changes: true;
211
+ readonly optIn: true;
212
+ readonly args: {
213
+ readonly tab_id: "optionalText";
214
+ readonly source: "script";
215
+ readonly timeout_ms: "timeout";
216
+ };
217
+ };
218
+ readonly upload_file: {
219
+ readonly description: "Upload a caller-approved file using its task-scoped grant. Requires separate file approval.";
220
+ readonly changes: true;
221
+ readonly optIn: true;
222
+ readonly args: {
223
+ readonly grant_id: "fileGrant";
224
+ };
225
+ };
226
+ readonly download_file: {
227
+ readonly description: "Retrieve a caller-approved file using its task-scoped grant. Requires separate file approval.";
228
+ readonly changes: true;
229
+ readonly optIn: true;
230
+ readonly args: {
231
+ readonly grant_id: "fileGrant";
232
+ };
233
+ };
234
+ readonly get_page_text: {
235
+ readonly description: "Read visible page text.";
236
+ readonly changes: false;
237
+ readonly args: {
238
+ readonly tab_id: "optionalText";
239
+ };
240
+ };
241
+ readonly find: {
242
+ readonly description: "Find page elements by text or description.";
243
+ readonly changes: false;
244
+ readonly args: {
245
+ readonly query: "text";
246
+ readonly tab_id: "optionalText";
247
+ };
248
+ };
249
+ readonly click: {
250
+ readonly description: "Click an element by its opaque ref.";
251
+ readonly changes: true;
252
+ readonly args: {
253
+ readonly target: "text";
254
+ readonly tab_id: "optionalText";
255
+ };
256
+ };
257
+ readonly click_at: {
258
+ readonly description: "Click full-viewport CSS coordinates with a button, click count, and held modifiers.";
259
+ readonly changes: true;
260
+ readonly optIn: true;
261
+ readonly args: {
262
+ readonly tab_id: "optionalText";
263
+ readonly x: "coordinate";
264
+ readonly y: "coordinate";
265
+ readonly button: "button";
266
+ readonly click_count: "clickCount";
267
+ readonly keys: "modifiers";
268
+ };
269
+ };
270
+ readonly drag_path: {
271
+ readonly description: "Drag the left button through 2 to 100 full-viewport CSS points with held modifiers.";
272
+ readonly changes: true;
273
+ readonly optIn: true;
274
+ readonly args: {
275
+ readonly tab_id: "optionalText";
276
+ readonly path: "path";
277
+ readonly keys: "modifiers";
278
+ };
279
+ };
280
+ readonly hold_keys: {
281
+ readonly description: "Hold driver-supported keys for at most 3000 milliseconds, then release them.";
282
+ readonly changes: true;
283
+ readonly optIn: true;
284
+ readonly args: {
285
+ readonly tab_id: "optionalText";
286
+ readonly keys: "heldKeys";
287
+ readonly duration_ms: "holdDuration";
288
+ };
289
+ };
290
+ readonly type: {
291
+ readonly description: "Fill a referenced control or type at the current focus.";
292
+ readonly changes: true;
293
+ readonly args: {
294
+ readonly text: "text";
295
+ readonly target: "optionalText";
296
+ readonly tab_id: "optionalText";
297
+ };
298
+ };
299
+ readonly key: {
300
+ readonly description: "Press a key combination.";
301
+ readonly changes: true;
302
+ readonly args: {
303
+ readonly keys: "strings";
304
+ readonly tab_id: "optionalText";
305
+ };
306
+ };
307
+ readonly scroll: {
308
+ readonly description: "Scroll the page in the given direction.";
309
+ readonly changes: true;
310
+ readonly args: {
311
+ readonly direction: "direction";
312
+ readonly amount: "amount";
313
+ readonly tab_id: "optionalText";
314
+ };
315
+ };
316
+ readonly scroll_to: {
317
+ readonly description: "Scroll an already observed target into view. Read again before acting.";
318
+ readonly changes: true;
319
+ readonly args: {
320
+ readonly target: "text";
321
+ readonly tab_id: "optionalText";
322
+ };
323
+ };
324
+ readonly wait_for: {
325
+ readonly description: "Wait for reported visible text, within a bounded timeout in milliseconds.";
326
+ readonly changes: false;
327
+ readonly args: {
328
+ readonly text: "visibleText";
329
+ readonly timeout_ms: "timeout";
330
+ readonly tab_id: "optionalText";
331
+ };
332
+ };
333
+ readonly select_option: {
334
+ readonly description: "Select values in a referenced select control.";
335
+ readonly changes: true;
336
+ readonly args: {
337
+ readonly target: "text";
338
+ readonly values: "strings";
339
+ readonly tab_id: "optionalText";
340
+ };
341
+ };
342
+ readonly hover: {
343
+ readonly description: "Hover over a referenced element.";
344
+ readonly changes: true;
345
+ readonly args: {
346
+ readonly target: "text";
347
+ readonly tab_id: "optionalText";
348
+ };
349
+ };
350
+ readonly hover_at: {
351
+ readonly description: "Move the pointer to full-viewport CSS coordinates without pressing a button.";
352
+ readonly changes: true;
353
+ readonly optIn: true;
354
+ readonly args: {
355
+ readonly tab_id: "optionalText";
356
+ readonly x: "coordinate";
357
+ readonly y: "coordinate";
358
+ };
359
+ };
360
+ readonly set_checked: {
361
+ readonly description: "Set an observed checkbox to the requested state. Repeating the same value does not toggle it.";
362
+ readonly changes: true;
363
+ readonly optIn: true;
364
+ readonly args: {
365
+ readonly tab_id: "optionalText";
366
+ readonly target: "text";
367
+ readonly checked: "checked";
368
+ };
369
+ };
370
+ readonly screenshot: {
371
+ readonly description: "Capture the visible tab as an image.";
372
+ readonly changes: false;
373
+ readonly args: {
374
+ readonly tab_id: "optionalText";
375
+ };
376
+ };
377
+ readonly zoom: {
378
+ readonly description: "Capture a region [x0,y0,x1,y1]. Subsequent coordinates stay in the full viewport.";
379
+ readonly changes: false;
380
+ readonly args: {
381
+ readonly tab_id: "optionalText";
382
+ readonly region: "region";
383
+ };
384
+ };
385
+ readonly new_tab: {
386
+ readonly description: "Open a tab, optionally at a URL.";
387
+ readonly changes: true;
388
+ readonly args: {
389
+ readonly url: "optionalText";
390
+ };
391
+ };
392
+ readonly list_tabs: {
393
+ readonly description: "List tabs, titles, URLs and active tab.";
394
+ readonly changes: false;
395
+ readonly args: {};
396
+ };
397
+ readonly switch_tab: {
398
+ readonly description: "Activate a tab.";
399
+ readonly changes: true;
400
+ readonly args: {
401
+ readonly tab_id: "text";
402
+ };
403
+ };
404
+ readonly close_tab: {
405
+ readonly description: "Close a tab.";
406
+ readonly changes: true;
407
+ readonly args: {
408
+ readonly tab_id: "text";
409
+ };
410
+ };
411
+ };
412
+ /** Fixed browser method names. Only methods implemented by the driver are advertised. */
413
+ export type BrowserMember = keyof typeof members;
414
+ /** Fixed member names, including opt-ins. This list never reads a driver. */
415
+ export declare const BROWSER_MEMBERS: readonly BrowserMember[];
416
+ /** Standard members. A partial driver advertises only the members it implements. */
417
+ export declare const DEFAULT_BROWSER_MEMBERS: readonly BrowserMember[];
418
+ /** Validated wire arguments for a browser member. Optional IDs use explicit null. */
419
+ export type BrowserArguments<M extends BrowserMember> = {
420
+ [K in keyof (typeof members)[M]['args']]: FieldValue<Extract<(typeof members)[M]['args'][K], Field>>;
421
+ };
422
+ /** Current tabs as observed by the driver after each operation. */
423
+ export interface BrowserState {
424
+ /** Stable driver-owned IDs and an accurate indication of the active tab. */
425
+ tabs: {
426
+ /** Opaque ID accepted by tab operations. */
427
+ id: string;
428
+ /** Page title, with browser-owned credentials excluded. */
429
+ title: string;
430
+ /** Current page URL, with browser-owned credentials excluded. */
431
+ url: string;
432
+ /** True only for the active tab. */
433
+ active: boolean;
434
+ }[];
435
+ /** Optional bounded observation. Drivers own event history and title filtering. */
436
+ observation?: BrowserObservationV1 | undefined;
437
+ }
438
+ /** Driver-owned, non-consuming bounded observation. URL displays contain origins only. */
439
+ export interface BrowserObservationV1 {
440
+ version: 1;
441
+ sequence: number;
442
+ dropped_changes: number;
443
+ title_truncated: boolean;
444
+ changes: BrowserStateChange[];
445
+ }
446
+ /** Notices never contain raw URLs, dialog text, download names, or private metadata. */
447
+ export type BrowserStateChange = {
448
+ type: 'tab_opened' | 'tab_closed' | 'tab_switched' | 'navigation';
449
+ sequence: number;
450
+ tab_id: string;
451
+ } | {
452
+ type: 'navigation_refused';
453
+ sequence: number;
454
+ tab_id: string | null;
455
+ reason: 'policy' | 'unsupported';
456
+ } | {
457
+ type: 'dialog_dismissed';
458
+ sequence: number;
459
+ tab_id: string;
460
+ kind: 'alert' | 'confirm' | 'prompt' | 'beforeunload' | 'other';
461
+ } | {
462
+ type: 'download';
463
+ sequence: number;
464
+ tab_id: string | null;
465
+ status: 'blocked' | 'started' | 'completed' | 'failed';
466
+ };
467
+ declare const readOmissions: readonly ["report_limit", "text_limit", "target_limit", "work_limit", "frame_limit", "unsupported_root", "unsupported_control", "remote_action", "private", "value", "name_limit"];
468
+ /** Public, driver-approved option text and value, never raw element metadata. */
469
+ export interface BrowserReadOption {
470
+ label: string;
471
+ value: string;
472
+ /** Only published for listbox choices when the driver authorizes reading the current selection. */
473
+ selected?: boolean | undefined;
474
+ }
475
+ /** A driver-owned actionable reference to a bounded, privacy-filtered control. */
476
+ export interface BrowserReadElement {
477
+ ref: string;
478
+ role: 'button' | 'textbox' | 'combobox' | 'checkbox' | 'radio' | 'slider' | 'listbox';
479
+ label: string;
480
+ value?: string | undefined;
481
+ options?: BrowserReadOption[] | undefined;
482
+ /** Only published for checkbox/radio controls when the driver authorizes reading their state. */
483
+ checked?: boolean | undefined;
484
+ }
485
+ /** Optional bounded result for read_page, find, and get_page_text.
486
+ * Drivers own DOM visibility, field privacy, and reference validity.
487
+ * get_page_text must return no elements.
488
+ */
489
+ export interface BrowserReadV1 {
490
+ version: 1;
491
+ text: string;
492
+ elements: BrowserReadElement[];
493
+ omitted: (typeof readOmissions)[number][];
494
+ }
495
+ /** A diagnostic report contains text and omissions, without actionable elements. */
496
+ export interface BrowserTextReadV1 extends BrowserReadV1 {
497
+ elements: never[];
498
+ }
499
+ /** A bounded section read. Scope refs select subsequent reads and cannot authorize element actions. */
500
+ export interface BrowserScopedReadV1 extends BrowserReadV1 {
501
+ scopes: {
502
+ ref: string;
503
+ label: string;
504
+ }[];
505
+ }
506
+ /** A terminal file result for this call. It does not confirm a later business action. */
507
+ export type BrowserFileOutcome = {
508
+ version: 1;
509
+ cleanup: 'not_started' | 'pending' | 'completed';
510
+ } & ({
511
+ status: 'completed';
512
+ effect: 'completed';
513
+ } | {
514
+ status: 'refused';
515
+ effect: 'none';
516
+ } | {
517
+ status: 'unknown';
518
+ effect: 'unknown';
519
+ } | {
520
+ status: 'interrupted';
521
+ effect: 'none' | 'unknown';
522
+ });
523
+ /** A run_script result must be a string containing valid Unicode. */
524
+ export type BrowserResult<M extends BrowserMember> = M extends 'screenshot' | 'zoom' ? ResponseInputImageContent : M extends 'list_tabs' ? BrowserState : M extends 'read_page_scoped' ? BrowserScopedReadV1 : M extends 'read_diagnostics' ? BrowserTextReadV1 : M extends 'run_script' ? string : M extends 'upload_file' | 'download_file' ? BrowserFileOutcome : M extends 'read_page' | 'get_page_text' | 'find' ? string | BrowserReadV1 | null | void : string | void;
525
+ /** An isolated, caller-owned browser. Implement only the capabilities you want exposed. */
526
+ export type BrowserDriver = {
527
+ /** Report current browser state, including after a refused or failed call. Failure stops the runner. */
528
+ state: (options?: {
529
+ signal: AbortSignal | undefined;
530
+ }) => BrowserState | Promise<BrowserState>;
531
+ } & {
532
+ [M in Exclude<BrowserMember, 'list_tabs'>]?: (args: BrowserArguments<M>, options: {
533
+ signal: AbortSignal | undefined;
534
+ }) => BrowserResult<M> | Promise<BrowserResult<M>>;
535
+ };
536
+ /** State and validated action passed to consent callbacks, detached from execution. */
537
+ export type BrowserConfirmContext = {
538
+ [M in BrowserMember]: {
539
+ /** Selected fixed browser member. */
540
+ readonly member: M;
541
+ /** Fields validated against the advertised function schema. */
542
+ readonly arguments: Readonly<BrowserArguments<M>> & Readonly<Record<string, unknown>>;
543
+ /**
544
+ * Prior observation, not a lock on the document or focused control.
545
+ * Document-specific consent requires the driver to bind and check the original target at execution.
546
+ * Contains no caller-owned browser credentials.
547
+ */
548
+ readonly state: BrowserState;
549
+ /** Identity of this proposed call, for local consent records. */
550
+ readonly call_id: string;
551
+ };
552
+ }[BrowserMember];
553
+ /** Read members that an application can require consent for before any driver state is observed. */
554
+ export type BrowserReadMember = {
555
+ [M in BrowserMember]: (typeof members)[M]['changes'] extends false ? M : never;
556
+ }[BrowserMember];
557
+ /** No state has been read yet. An application can consult its own policy using the call and tab IDs. */
558
+ export type BrowserReadConfirmContext = {
559
+ [M in BrowserReadMember]: {
560
+ readonly phase: 'before_read';
561
+ readonly member: M;
562
+ readonly arguments: Readonly<BrowserArguments<M>> & Readonly<Record<string, unknown>>;
563
+ readonly call_id: string;
564
+ readonly state: null;
565
+ };
566
+ }[BrowserReadMember];
567
+ /** Browser consent and navigation policy. Callbacks receive detached validated arguments. */
568
+ export interface BrowserOptions {
569
+ /** Fixed member allowlist. Omit to expose implemented standard members and list_tabs, without opt-ins. */
570
+ members?: readonly BrowserMember[];
571
+ /** Enable additional members without reconstructing defaults. Cannot be combined with members. */
572
+ additionalMembers?: readonly BrowserMember[];
573
+ /** Required for state changes and selected sensitive reads. Only exactly true authorizes a call. */
574
+ confirm?: (context: BrowserConfirmContext, execution: {
575
+ signal: AbortSignal | undefined;
576
+ }) => boolean | Promise<boolean>;
577
+ /** Required for navigation and new tabs. This does not replace browser-level request interception. */
578
+ urlPolicy?: (context: BrowserConfirmContext, url: string, execution: {
579
+ signal: AbortSignal | undefined;
580
+ }) => boolean | Promise<boolean>;
581
+ /** Local timings and reason codes. No page content or error messages are included. */
582
+ onDiagnostic?: RunnerDiagnosticObserver;
583
+ }
584
+ /** Explicitly gated reads use the existing confirm callback before the first driver state read. */
585
+ export interface BrowserReadOptions extends Omit<BrowserOptions, 'confirm'> {
586
+ confirmReads: readonly BrowserReadMember[];
587
+ confirm: (context: BrowserConfirmContext | BrowserReadConfirmContext, execution: {
588
+ signal: AbortSignal | undefined;
589
+ }) => boolean | Promise<boolean>;
590
+ }
591
+ /** An intentional, user-safe driver error. Only this message may be sent back to the model. */
592
+ export declare class BrowserError extends OpenAIError {
593
+ /** Stable error type for controlled driver failures. */
594
+ name: string;
595
+ }
596
+ /** Dispatches a fixed set of structured browser functions against a caller-owned driver. */
597
+ export declare class BrowserToolset {
598
+ private readonly lifecycle;
599
+ private readonly enabled;
600
+ private readonly driver;
601
+ private readonly options;
602
+ private readonly confirmReads;
603
+ /** A mutating driver requires confirm. A navigable driver also requires urlPolicy. */
604
+ constructor(driver: BrowserDriver, options?: BrowserOptions);
605
+ constructor(driver: BrowserDriver, options: BrowserReadOptions);
606
+ private registerDriver;
607
+ private static requirePolicy;
608
+ /** Function declarations for the enabled members. A partial driver omits unsupported capabilities. */
609
+ tools(): FunctionTool[];
610
+ /** Stop new work. If draining, await the current execute before closing your driver. */
611
+ close(): {
612
+ status: 'closed' | 'draining';
613
+ };
614
+ /** Execute one completed browser function for a caller-managed loop.
615
+ * Accepts generated API call types and checks status before any driver work.
616
+ */
617
+ execute(call: ResponseFunctionToolCall, options?: {
618
+ signal?: AbortSignal;
619
+ }): Promise<ResponseInputItem.FunctionCallOutput>;
620
+ /** Executes or skips a registered call and reports failure without parsing its public output.
621
+ * @internal
622
+ */
623
+ executeWithStatus(call: ResponseFunctionToolCall, signal?: AbortSignal, skip?: boolean, onDiagnostic?: RunnerDiagnosticObserver): Promise<{
624
+ output: ResponseInputItem.FunctionCallOutput;
625
+ ok: boolean;
626
+ }>;
627
+ private approveRead;
628
+ private executeOwned;
629
+ private static perform;
630
+ private policyFor;
631
+ private static output;
632
+ private static authorize;
633
+ }
634
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/helpers/browser.ts"],"names":[],"mappings":"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"}