free-computer-use 0.1.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 (135) hide show
  1. package/.env.example +31 -0
  2. package/CHANGELOG.md +19 -0
  3. package/CONTRIBUTING.md +66 -0
  4. package/LICENSE +21 -0
  5. package/README.md +140 -0
  6. package/SECURITY.md +133 -0
  7. package/artifacts/benchmark-public.json +797 -0
  8. package/assets/readme/hero.svg +53 -0
  9. package/assets/readme/incident-demo.gif +0 -0
  10. package/assets/readme/incident-evidence.json +52 -0
  11. package/dist/actions/compiler.d.ts +5 -0
  12. package/dist/actions/compiler.js +16 -0
  13. package/dist/actions/compiler.js.map +1 -0
  14. package/dist/actions/executor.d.ts +38 -0
  15. package/dist/actions/executor.js +305 -0
  16. package/dist/actions/executor.js.map +1 -0
  17. package/dist/actions/policy.d.ts +4 -0
  18. package/dist/actions/policy.js +18 -0
  19. package/dist/actions/policy.js.map +1 -0
  20. package/dist/actions/schema.d.ts +4149 -0
  21. package/dist/actions/schema.js +59 -0
  22. package/dist/actions/schema.js.map +1 -0
  23. package/dist/adapters/generic.d.ts +14 -0
  24. package/dist/adapters/generic.js +33 -0
  25. package/dist/adapters/generic.js.map +1 -0
  26. package/dist/agent/Agent.d.ts +69 -0
  27. package/dist/agent/Agent.js +375 -0
  28. package/dist/agent/Agent.js.map +1 -0
  29. package/dist/agent/Control.d.ts +23 -0
  30. package/dist/agent/Control.js +51 -0
  31. package/dist/agent/Control.js.map +1 -0
  32. package/dist/agent/TokenBudget.d.ts +52 -0
  33. package/dist/agent/TokenBudget.js +47 -0
  34. package/dist/agent/TokenBudget.js.map +1 -0
  35. package/dist/agent/goalCriteria.d.ts +2 -0
  36. package/dist/agent/goalCriteria.js +13 -0
  37. package/dist/agent/goalCriteria.js.map +1 -0
  38. package/dist/browser/Browser.d.ts +72 -0
  39. package/dist/browser/Browser.js +378 -0
  40. package/dist/browser/Browser.js.map +1 -0
  41. package/dist/browser/DomExtractor.d.ts +6 -0
  42. package/dist/browser/DomExtractor.js +134 -0
  43. package/dist/browser/DomExtractor.js.map +1 -0
  44. package/dist/browser/Interaction.d.ts +43 -0
  45. package/dist/browser/Interaction.js +225 -0
  46. package/dist/browser/Interaction.js.map +1 -0
  47. package/dist/browser/NetworkGuardProxy.d.ts +31 -0
  48. package/dist/browser/NetworkGuardProxy.js +331 -0
  49. package/dist/browser/NetworkGuardProxy.js.map +1 -0
  50. package/dist/browser/Observer.d.ts +12 -0
  51. package/dist/browser/Observer.js +31 -0
  52. package/dist/browser/Observer.js.map +1 -0
  53. package/dist/browser/PageCompressor.d.ts +47 -0
  54. package/dist/browser/PageCompressor.js +62 -0
  55. package/dist/browser/PageCompressor.js.map +1 -0
  56. package/dist/browser/SecurityBoundaryError.d.ts +3 -0
  57. package/dist/browser/SecurityBoundaryError.js +4 -0
  58. package/dist/browser/SecurityBoundaryError.js.map +1 -0
  59. package/dist/browser/SelectorEngine.d.ts +18 -0
  60. package/dist/browser/SelectorEngine.js +72 -0
  61. package/dist/browser/SelectorEngine.js.map +1 -0
  62. package/dist/browser/types.d.ts +38 -0
  63. package/dist/browser/types.js +2 -0
  64. package/dist/browser/types.js.map +1 -0
  65. package/dist/cli/index.d.ts +2 -0
  66. package/dist/cli/index.js +284 -0
  67. package/dist/cli/index.js.map +1 -0
  68. package/dist/config.d.ts +11 -0
  69. package/dist/config.js +77 -0
  70. package/dist/config.js.map +1 -0
  71. package/dist/history/TraceStore.d.ts +29 -0
  72. package/dist/history/TraceStore.js +53 -0
  73. package/dist/history/TraceStore.js.map +1 -0
  74. package/dist/index.d.ts +18 -0
  75. package/dist/index.js +16 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/llm/ClaudeSubscriptionProvider.d.ts +26 -0
  78. package/dist/llm/ClaudeSubscriptionProvider.js +182 -0
  79. package/dist/llm/ClaudeSubscriptionProvider.js.map +1 -0
  80. package/dist/llm/CodexSubscriptionProvider.d.ts +26 -0
  81. package/dist/llm/CodexSubscriptionProvider.js +168 -0
  82. package/dist/llm/CodexSubscriptionProvider.js.map +1 -0
  83. package/dist/llm/FlashProvider.d.ts +27 -0
  84. package/dist/llm/FlashProvider.js +103 -0
  85. package/dist/llm/FlashProvider.js.map +1 -0
  86. package/dist/llm/LLMProvider.d.ts +37 -0
  87. package/dist/llm/LLMProvider.js +2 -0
  88. package/dist/llm/LLMProvider.js.map +1 -0
  89. package/dist/llm/cliEnvironment.d.ts +5 -0
  90. package/dist/llm/cliEnvironment.js +21 -0
  91. package/dist/llm/cliEnvironment.js.map +1 -0
  92. package/dist/llm/prompts.d.ts +4 -0
  93. package/dist/llm/prompts.js +12 -0
  94. package/dist/llm/prompts.js.map +1 -0
  95. package/dist/llm/structuredOutput.d.ts +3 -0
  96. package/dist/llm/structuredOutput.js +58 -0
  97. package/dist/llm/structuredOutput.js.map +1 -0
  98. package/dist/mcp/index.d.ts +13 -0
  99. package/dist/mcp/index.js +243 -0
  100. package/dist/mcp/index.js.map +1 -0
  101. package/dist/profile/ProfileStore.d.ts +7 -0
  102. package/dist/profile/ProfileStore.js +52 -0
  103. package/dist/profile/ProfileStore.js.map +1 -0
  104. package/dist/profile/VariableResolver.d.ts +15 -0
  105. package/dist/profile/VariableResolver.js +50 -0
  106. package/dist/profile/VariableResolver.js.map +1 -0
  107. package/dist/server/index.d.ts +14 -0
  108. package/dist/server/index.js +239 -0
  109. package/dist/server/index.js.map +1 -0
  110. package/dist/ui/app.js +132 -0
  111. package/dist/ui/index.html +29 -0
  112. package/dist/ui/logo.svg +5 -0
  113. package/dist/ui/results.js +59 -0
  114. package/dist/ui/style.css +33 -0
  115. package/dist/verification/Verifier.d.ts +72 -0
  116. package/dist/verification/Verifier.js +87 -0
  117. package/dist/verification/Verifier.js.map +1 -0
  118. package/dist/workflows/WorkflowEngine.d.ts +23 -0
  119. package/dist/workflows/WorkflowEngine.js +52 -0
  120. package/dist/workflows/WorkflowEngine.js.map +1 -0
  121. package/docs/ADOPTION.md +61 -0
  122. package/docs/ARCHITECTURE.md +65 -0
  123. package/docs/BENCHMARKS.md +64 -0
  124. package/docs/IMPLEMENTATION.md +93 -0
  125. package/docs/LOCAL_DATA.md +98 -0
  126. package/docs/LOCAL_VALIDATION.md +87 -0
  127. package/docs/MCP.md +81 -0
  128. package/docs/PROVIDERS.md +150 -0
  129. package/docs/RELEASE_CHECKLIST.md +37 -0
  130. package/docs/REQUIREMENTS.md +39 -0
  131. package/docs/SUPPORT_MATRIX.md +193 -0
  132. package/docs/THREAT_MODEL.md +108 -0
  133. package/docs/USEFUL_EXAMPLES.md +151 -0
  134. package/docs/brand-mark.svg +12 -0
  135. package/package.json +90 -0
@@ -0,0 +1,797 @@
1
+ {
2
+ "version": 1,
3
+ "measuredAt": "2026-09-18T16:52:19.246Z",
4
+ "mode": "real-api-free-public-websites",
5
+ "provider": "deepseek-flash",
6
+ "node": "v25.9.0",
7
+ "playwright": "1.63.0",
8
+ "safety": "Read-only tasks on public automation sandboxes. Settings and forms run only in the project-owned static lab and change browser state; no messages, purchases, account creation, uploads or real account changes. The harness explicitly approves each selected website; normal product mode waits for the human. Unknown origins and external sensitive actions are rejected.",
9
+ "method": "Each run has user-owned final criteria plus an independent scenario oracle. Successful runs are repeated with a compatible learned workflow and no provider installed. Session scenario manually seeds the synthetic public demo session, then verifies cookies/localStorage survive browser restart without logging in again.",
10
+ "limitations": "One run per scenario; public sites may change or be unavailable. These measurements do not establish general site success rates or savings against a screenshot-agent baseline. Costs use configured prices and are not billing receipts.",
11
+ "results": [
12
+ {
13
+ "scenario": "Product comparison · Books to Scrape",
14
+ "url": "https://books.toscrape.com/",
15
+ "status": "completed",
16
+ "correct": true,
17
+ "durationMs": 3324,
18
+ "browserActions": 1,
19
+ "failedActions": 0,
20
+ "llmCalls": 1,
21
+ "inputTokens": 3613,
22
+ "outputTokens": 159,
23
+ "estimatedCostUSD": 0.000936012,
24
+ "actionsPerLLMCall": 1,
25
+ "tokensPerAction": 3772,
26
+ "repairs": 0,
27
+ "workflowCacheHits": 0,
28
+ "pageCacheEntries": 1,
29
+ "planBatches": 1,
30
+ "compressionReduction": 0.8651806543943226,
31
+ "selectorSuccessRate": 1,
32
+ "usageEstimated": false,
33
+ "provider": "deepseek-flash",
34
+ "mode": "normal",
35
+ "approvedSites": [
36
+ "https://books.toscrape.com"
37
+ ],
38
+ "websiteApprovals": 2,
39
+ "actionApprovals": 0,
40
+ "sessionWasSeeded": false,
41
+ "domMutationInjected": false,
42
+ "learnedRepeat": {
43
+ "status": "completed",
44
+ "correct": true,
45
+ "durationMs": 1012,
46
+ "browserActions": 1,
47
+ "failedActions": 0,
48
+ "llmCalls": 0,
49
+ "inputTokens": 0,
50
+ "outputTokens": 0,
51
+ "estimatedCostUSD": null,
52
+ "actionsPerLLMCall": null,
53
+ "tokensPerAction": 0,
54
+ "repairs": 0,
55
+ "workflowCacheHits": 1,
56
+ "pageCacheEntries": 1,
57
+ "planBatches": 0,
58
+ "compressionReduction": 0.8651806543943226,
59
+ "selectorSuccessRate": 1,
60
+ "usageEstimated": false,
61
+ "provider": "none",
62
+ "mode": "normal",
63
+ "approvedSites": [
64
+ "https://books.toscrape.com"
65
+ ]
66
+ }
67
+ },
68
+ {
69
+ "scenario": "Travel search · BlazeDemo",
70
+ "url": "https://blazedemo.com/",
71
+ "status": "completed",
72
+ "correct": true,
73
+ "durationMs": 9230,
74
+ "browserActions": 4,
75
+ "failedActions": 0,
76
+ "llmCalls": 1,
77
+ "inputTokens": 1469,
78
+ "outputTokens": 218,
79
+ "estimatedCostUSD": 0.000401244,
80
+ "actionsPerLLMCall": 4,
81
+ "tokensPerAction": 421.75,
82
+ "repairs": 0,
83
+ "workflowCacheHits": 0,
84
+ "pageCacheEntries": 3,
85
+ "planBatches": 1,
86
+ "compressionReduction": 0.8255915863277826,
87
+ "selectorSuccessRate": 1,
88
+ "usageEstimated": false,
89
+ "provider": "deepseek-flash",
90
+ "mode": "normal",
91
+ "approvedSites": [
92
+ "https://blazedemo.com"
93
+ ],
94
+ "websiteApprovals": 2,
95
+ "actionApprovals": 0,
96
+ "sessionWasSeeded": false,
97
+ "domMutationInjected": false,
98
+ "learnedRepeat": {
99
+ "status": "completed",
100
+ "correct": true,
101
+ "durationMs": 2080,
102
+ "browserActions": 4,
103
+ "failedActions": 0,
104
+ "llmCalls": 0,
105
+ "inputTokens": 0,
106
+ "outputTokens": 0,
107
+ "estimatedCostUSD": null,
108
+ "actionsPerLLMCall": null,
109
+ "tokensPerAction": 0,
110
+ "repairs": 0,
111
+ "workflowCacheHits": 1,
112
+ "pageCacheEntries": 3,
113
+ "planBatches": 0,
114
+ "compressionReduction": 0.8255915863277826,
115
+ "selectorSuccessRate": 1,
116
+ "usageEstimated": false,
117
+ "provider": "none",
118
+ "mode": "normal",
119
+ "approvedSites": [
120
+ "https://blazedemo.com"
121
+ ]
122
+ }
123
+ },
124
+ {
125
+ "scenario": "Dashboard tables · The Internet",
126
+ "url": "https://the-internet.herokuapp.com/tables",
127
+ "status": "completed",
128
+ "correct": true,
129
+ "durationMs": 2635,
130
+ "browserActions": 1,
131
+ "failedActions": 0,
132
+ "llmCalls": 1,
133
+ "inputTokens": 1872,
134
+ "outputTokens": 182,
135
+ "estimatedCostUSD": 0.000478944,
136
+ "actionsPerLLMCall": 1,
137
+ "tokensPerAction": 2054,
138
+ "repairs": 0,
139
+ "workflowCacheHits": 0,
140
+ "pageCacheEntries": 1,
141
+ "planBatches": 1,
142
+ "compressionReduction": 0.6840167364016736,
143
+ "selectorSuccessRate": 1,
144
+ "usageEstimated": false,
145
+ "provider": "deepseek-flash",
146
+ "mode": "normal",
147
+ "approvedSites": [
148
+ "https://the-internet.herokuapp.com"
149
+ ],
150
+ "websiteApprovals": 2,
151
+ "actionApprovals": 0,
152
+ "sessionWasSeeded": false,
153
+ "domMutationInjected": false,
154
+ "learnedRepeat": {
155
+ "status": "completed",
156
+ "correct": true,
157
+ "durationMs": 1765,
158
+ "browserActions": 1,
159
+ "failedActions": 0,
160
+ "llmCalls": 0,
161
+ "inputTokens": 0,
162
+ "outputTokens": 0,
163
+ "estimatedCostUSD": null,
164
+ "actionsPerLLMCall": null,
165
+ "tokensPerAction": 0,
166
+ "repairs": 0,
167
+ "workflowCacheHits": 1,
168
+ "pageCacheEntries": 1,
169
+ "planBatches": 0,
170
+ "compressionReduction": 0.6840167364016736,
171
+ "selectorSuccessRate": 1,
172
+ "usageEstimated": false,
173
+ "provider": "none",
174
+ "mode": "normal",
175
+ "approvedSites": [
176
+ "https://the-internet.herokuapp.com"
177
+ ]
178
+ }
179
+ },
180
+ {
181
+ "scenario": "Dropdown setting · The Internet",
182
+ "url": "https://the-internet.herokuapp.com/dropdown",
183
+ "status": "completed",
184
+ "correct": true,
185
+ "durationMs": 4497,
186
+ "browserActions": 1,
187
+ "failedActions": 0,
188
+ "llmCalls": 1,
189
+ "inputTokens": 1337,
190
+ "outputTokens": 98,
191
+ "estimatedCostUSD": 0.00021764400000000002,
192
+ "actionsPerLLMCall": 1,
193
+ "tokensPerAction": 1435,
194
+ "repairs": 0,
195
+ "workflowCacheHits": 0,
196
+ "pageCacheEntries": 2,
197
+ "planBatches": 1,
198
+ "compressionReduction": 0.8608815426997245,
199
+ "selectorSuccessRate": 1,
200
+ "usageEstimated": false,
201
+ "provider": "deepseek-flash",
202
+ "mode": "normal",
203
+ "approvedSites": [
204
+ "https://the-internet.herokuapp.com"
205
+ ],
206
+ "websiteApprovals": 2,
207
+ "actionApprovals": 0,
208
+ "sessionWasSeeded": false,
209
+ "domMutationInjected": false,
210
+ "learnedRepeat": {
211
+ "status": "completed",
212
+ "correct": true,
213
+ "durationMs": 1400,
214
+ "browserActions": 1,
215
+ "failedActions": 0,
216
+ "llmCalls": 0,
217
+ "inputTokens": 0,
218
+ "outputTokens": 0,
219
+ "estimatedCostUSD": null,
220
+ "actionsPerLLMCall": null,
221
+ "tokensPerAction": 0,
222
+ "repairs": 0,
223
+ "workflowCacheHits": 1,
224
+ "pageCacheEntries": 2,
225
+ "planBatches": 0,
226
+ "compressionReduction": 0.8608815426997245,
227
+ "selectorSuccessRate": 1,
228
+ "usageEstimated": false,
229
+ "provider": "none",
230
+ "mode": "normal",
231
+ "approvedSites": [
232
+ "https://the-internet.herokuapp.com"
233
+ ]
234
+ }
235
+ },
236
+ {
237
+ "scenario": "Dynamic loading · The Internet",
238
+ "url": "https://the-internet.herokuapp.com/dynamic_loading/1",
239
+ "status": "completed",
240
+ "correct": true,
241
+ "durationMs": 8818,
242
+ "browserActions": 3,
243
+ "failedActions": 0,
244
+ "llmCalls": 1,
245
+ "inputTokens": 1335,
246
+ "outputTokens": 147,
247
+ "estimatedCostUSD": 0.00027584399999999997,
248
+ "actionsPerLLMCall": 3,
249
+ "tokensPerAction": 494,
250
+ "repairs": 0,
251
+ "workflowCacheHits": 0,
252
+ "pageCacheEntries": 2,
253
+ "planBatches": 1,
254
+ "compressionReduction": 0.8683206106870229,
255
+ "selectorSuccessRate": 1,
256
+ "usageEstimated": false,
257
+ "provider": "deepseek-flash",
258
+ "mode": "normal",
259
+ "approvedSites": [
260
+ "https://the-internet.herokuapp.com"
261
+ ],
262
+ "websiteApprovals": 2,
263
+ "actionApprovals": 0,
264
+ "sessionWasSeeded": false,
265
+ "domMutationInjected": false,
266
+ "learnedRepeat": {
267
+ "status": "completed",
268
+ "correct": true,
269
+ "durationMs": 6475,
270
+ "browserActions": 3,
271
+ "failedActions": 0,
272
+ "llmCalls": 0,
273
+ "inputTokens": 0,
274
+ "outputTokens": 0,
275
+ "estimatedCostUSD": null,
276
+ "actionsPerLLMCall": null,
277
+ "tokensPerAction": 0,
278
+ "repairs": 0,
279
+ "workflowCacheHits": 1,
280
+ "pageCacheEntries": 2,
281
+ "planBatches": 0,
282
+ "compressionReduction": 0.8683206106870229,
283
+ "selectorSuccessRate": 1,
284
+ "usageEstimated": false,
285
+ "provider": "none",
286
+ "mode": "normal",
287
+ "approvedSites": [
288
+ "https://the-internet.herokuapp.com"
289
+ ]
290
+ }
291
+ },
292
+ {
293
+ "scenario": "Structured research · Quotes to Scrape",
294
+ "url": "https://quotes.toscrape.com/",
295
+ "status": "completed",
296
+ "correct": true,
297
+ "durationMs": 1461,
298
+ "browserActions": 1,
299
+ "failedActions": 0,
300
+ "llmCalls": 1,
301
+ "inputTokens": 2065,
302
+ "outputTokens": 136,
303
+ "estimatedCostUSD": 0.000481644,
304
+ "actionsPerLLMCall": 1,
305
+ "tokensPerAction": 2201,
306
+ "repairs": 0,
307
+ "workflowCacheHits": 0,
308
+ "pageCacheEntries": 1,
309
+ "planBatches": 1,
310
+ "compressionReduction": 0.8166939443535188,
311
+ "selectorSuccessRate": 1,
312
+ "usageEstimated": false,
313
+ "provider": "deepseek-flash",
314
+ "mode": "normal",
315
+ "approvedSites": [
316
+ "https://quotes.toscrape.com"
317
+ ],
318
+ "websiteApprovals": 2,
319
+ "actionApprovals": 0,
320
+ "sessionWasSeeded": false,
321
+ "domMutationInjected": false,
322
+ "learnedRepeat": {
323
+ "status": "completed",
324
+ "correct": true,
325
+ "durationMs": 570,
326
+ "browserActions": 1,
327
+ "failedActions": 0,
328
+ "llmCalls": 0,
329
+ "inputTokens": 0,
330
+ "outputTokens": 0,
331
+ "estimatedCostUSD": null,
332
+ "actionsPerLLMCall": null,
333
+ "tokensPerAction": 0,
334
+ "repairs": 0,
335
+ "workflowCacheHits": 1,
336
+ "pageCacheEntries": 1,
337
+ "planBatches": 0,
338
+ "compressionReduction": 0.8166939443535188,
339
+ "selectorSuccessRate": 1,
340
+ "usageEstimated": false,
341
+ "provider": "none",
342
+ "mode": "normal",
343
+ "approvedSites": [
344
+ "https://quotes.toscrape.com"
345
+ ]
346
+ }
347
+ },
348
+ {
349
+ "scenario": "Invoice download · public Northstar lab",
350
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/invoices.html",
351
+ "status": "completed",
352
+ "correct": true,
353
+ "durationMs": 1513,
354
+ "browserActions": 1,
355
+ "failedActions": 0,
356
+ "llmCalls": 1,
357
+ "inputTokens": 1389,
358
+ "outputTokens": 81,
359
+ "estimatedCostUSD": 0.00021284399999999998,
360
+ "actionsPerLLMCall": 1,
361
+ "tokensPerAction": 1470,
362
+ "repairs": 0,
363
+ "workflowCacheHits": 0,
364
+ "pageCacheEntries": 1,
365
+ "planBatches": 1,
366
+ "compressionReduction": 0.993950598504616,
367
+ "selectorSuccessRate": 1,
368
+ "usageEstimated": false,
369
+ "provider": "deepseek-flash",
370
+ "mode": "normal",
371
+ "approvedSites": [
372
+ "https://othmaneblial.github.io"
373
+ ],
374
+ "websiteApprovals": 2,
375
+ "actionApprovals": 0,
376
+ "sessionWasSeeded": false,
377
+ "domMutationInjected": false,
378
+ "learnedRepeat": {
379
+ "status": "completed",
380
+ "correct": true,
381
+ "durationMs": 289,
382
+ "browserActions": 1,
383
+ "failedActions": 0,
384
+ "llmCalls": 0,
385
+ "inputTokens": 0,
386
+ "outputTokens": 0,
387
+ "estimatedCostUSD": null,
388
+ "actionsPerLLMCall": null,
389
+ "tokensPerAction": 0,
390
+ "repairs": 0,
391
+ "workflowCacheHits": 1,
392
+ "pageCacheEntries": 1,
393
+ "planBatches": 0,
394
+ "compressionReduction": 0.993950598504616,
395
+ "selectorSuccessRate": 1,
396
+ "usageEstimated": false,
397
+ "provider": "none",
398
+ "mode": "normal",
399
+ "approvedSites": [
400
+ "https://othmaneblial.github.io"
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "scenario": "Revenue extraction · public Northstar lab",
406
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/reports.html",
407
+ "status": "completed",
408
+ "correct": true,
409
+ "durationMs": 1448,
410
+ "browserActions": 1,
411
+ "failedActions": 0,
412
+ "llmCalls": 1,
413
+ "inputTokens": 1433,
414
+ "outputTokens": 140,
415
+ "estimatedCostUSD": 0.000296844,
416
+ "actionsPerLLMCall": 1,
417
+ "tokensPerAction": 1573,
418
+ "repairs": 0,
419
+ "workflowCacheHits": 0,
420
+ "pageCacheEntries": 1,
421
+ "planBatches": 1,
422
+ "compressionReduction": 0.9923549185302769,
423
+ "selectorSuccessRate": 1,
424
+ "usageEstimated": false,
425
+ "provider": "deepseek-flash",
426
+ "mode": "normal",
427
+ "approvedSites": [
428
+ "https://othmaneblial.github.io"
429
+ ],
430
+ "websiteApprovals": 2,
431
+ "actionApprovals": 0,
432
+ "sessionWasSeeded": false,
433
+ "domMutationInjected": false,
434
+ "learnedRepeat": {
435
+ "status": "completed",
436
+ "correct": true,
437
+ "durationMs": 239,
438
+ "browserActions": 1,
439
+ "failedActions": 0,
440
+ "llmCalls": 0,
441
+ "inputTokens": 0,
442
+ "outputTokens": 0,
443
+ "estimatedCostUSD": null,
444
+ "actionsPerLLMCall": null,
445
+ "tokensPerAction": 0,
446
+ "repairs": 0,
447
+ "workflowCacheHits": 1,
448
+ "pageCacheEntries": 1,
449
+ "planBatches": 0,
450
+ "compressionReduction": 0.9923549185302769,
451
+ "selectorSuccessRate": 1,
452
+ "usageEstimated": false,
453
+ "provider": "none",
454
+ "mode": "normal",
455
+ "approvedSites": [
456
+ "https://othmaneblial.github.io"
457
+ ]
458
+ }
459
+ },
460
+ {
461
+ "scenario": "Local preferences · public Northstar lab",
462
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/settings.html",
463
+ "status": "completed",
464
+ "correct": true,
465
+ "durationMs": 1511,
466
+ "browserActions": 3,
467
+ "failedActions": 0,
468
+ "llmCalls": 1,
469
+ "inputTokens": 1497,
470
+ "outputTokens": 160,
471
+ "estimatedCostUSD": 0.00034004399999999996,
472
+ "actionsPerLLMCall": 3,
473
+ "tokensPerAction": 552.3333333333334,
474
+ "repairs": 0,
475
+ "workflowCacheHits": 0,
476
+ "pageCacheEntries": 3,
477
+ "planBatches": 1,
478
+ "compressionReduction": 0.9912074620269359,
479
+ "selectorSuccessRate": 1,
480
+ "usageEstimated": false,
481
+ "provider": "deepseek-flash",
482
+ "mode": "normal",
483
+ "approvedSites": [
484
+ "https://othmaneblial.github.io"
485
+ ],
486
+ "websiteApprovals": 2,
487
+ "actionApprovals": 2,
488
+ "sessionWasSeeded": false,
489
+ "domMutationInjected": false,
490
+ "learnedRepeat": {
491
+ "status": "completed",
492
+ "correct": true,
493
+ "durationMs": 360,
494
+ "browserActions": 3,
495
+ "failedActions": 0,
496
+ "llmCalls": 0,
497
+ "inputTokens": 0,
498
+ "outputTokens": 0,
499
+ "estimatedCostUSD": null,
500
+ "actionsPerLLMCall": null,
501
+ "tokensPerAction": 0,
502
+ "repairs": 0,
503
+ "workflowCacheHits": 1,
504
+ "pageCacheEntries": 3,
505
+ "planBatches": 0,
506
+ "compressionReduction": 0.9912074620269359,
507
+ "selectorSuccessRate": 1,
508
+ "usageEstimated": false,
509
+ "provider": "none",
510
+ "mode": "normal",
511
+ "approvedSites": [
512
+ "https://othmaneblial.github.io"
513
+ ]
514
+ }
515
+ },
516
+ {
517
+ "scenario": "Persistent session · public Northstar lab",
518
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/session-dashboard.html",
519
+ "status": "completed",
520
+ "correct": true,
521
+ "durationMs": 1403,
522
+ "browserActions": 1,
523
+ "failedActions": 0,
524
+ "llmCalls": 1,
525
+ "inputTokens": 1409,
526
+ "outputTokens": 101,
527
+ "estimatedCostUSD": 0.00024284399999999998,
528
+ "actionsPerLLMCall": 1,
529
+ "tokensPerAction": 1510,
530
+ "repairs": 0,
531
+ "workflowCacheHits": 0,
532
+ "pageCacheEntries": 2,
533
+ "planBatches": 1,
534
+ "compressionReduction": 0.9937794687456235,
535
+ "selectorSuccessRate": 1,
536
+ "usageEstimated": false,
537
+ "provider": "deepseek-flash",
538
+ "mode": "normal",
539
+ "approvedSites": [
540
+ "https://othmaneblial.github.io"
541
+ ],
542
+ "websiteApprovals": 2,
543
+ "actionApprovals": 0,
544
+ "sessionWasSeeded": true,
545
+ "domMutationInjected": false,
546
+ "learnedRepeat": {
547
+ "status": "completed",
548
+ "correct": true,
549
+ "durationMs": 273,
550
+ "browserActions": 1,
551
+ "failedActions": 0,
552
+ "llmCalls": 0,
553
+ "inputTokens": 0,
554
+ "outputTokens": 0,
555
+ "estimatedCostUSD": null,
556
+ "actionsPerLLMCall": null,
557
+ "tokensPerAction": 0,
558
+ "repairs": 0,
559
+ "workflowCacheHits": 1,
560
+ "pageCacheEntries": 1,
561
+ "planBatches": 0,
562
+ "compressionReduction": 0.9937794687456235,
563
+ "selectorSuccessRate": 1,
564
+ "usageEstimated": false,
565
+ "provider": "none",
566
+ "mode": "normal",
567
+ "approvedSites": [
568
+ "https://othmaneblial.github.io"
569
+ ]
570
+ }
571
+ },
572
+ {
573
+ "scenario": "Dynamic modal · public Northstar lab",
574
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/dynamic.html",
575
+ "status": "completed",
576
+ "correct": true,
577
+ "durationMs": 3470,
578
+ "browserActions": 4,
579
+ "failedActions": 0,
580
+ "llmCalls": 2,
581
+ "inputTokens": 2858,
582
+ "outputTokens": 265,
583
+ "estimatedCostUSD": 0.000535656,
584
+ "actionsPerLLMCall": 2,
585
+ "tokensPerAction": 780.75,
586
+ "repairs": 0,
587
+ "workflowCacheHits": 0,
588
+ "pageCacheEntries": 4,
589
+ "planBatches": 2,
590
+ "compressionReduction": 0.994453701222283,
591
+ "selectorSuccessRate": 1,
592
+ "usageEstimated": false,
593
+ "provider": "deepseek-flash",
594
+ "mode": "normal",
595
+ "approvedSites": [
596
+ "https://othmaneblial.github.io"
597
+ ],
598
+ "websiteApprovals": 2,
599
+ "actionApprovals": 0,
600
+ "sessionWasSeeded": false,
601
+ "domMutationInjected": false,
602
+ "learnedRepeat": {
603
+ "status": "completed",
604
+ "correct": true,
605
+ "durationMs": 1451,
606
+ "browserActions": 4,
607
+ "failedActions": 0,
608
+ "llmCalls": 0,
609
+ "inputTokens": 0,
610
+ "outputTokens": 0,
611
+ "estimatedCostUSD": null,
612
+ "actionsPerLLMCall": null,
613
+ "tokensPerAction": 0,
614
+ "repairs": 0,
615
+ "workflowCacheHits": 1,
616
+ "pageCacheEntries": 4,
617
+ "planBatches": 0,
618
+ "compressionReduction": 0.994453701222283,
619
+ "selectorSuccessRate": 1,
620
+ "usageEstimated": false,
621
+ "provider": "none",
622
+ "mode": "normal",
623
+ "approvedSites": [
624
+ "https://othmaneblial.github.io"
625
+ ]
626
+ }
627
+ },
628
+ {
629
+ "scenario": "Embedded form · public Northstar lab",
630
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/frame.html",
631
+ "status": "completed",
632
+ "correct": true,
633
+ "durationMs": 2483,
634
+ "browserActions": 3,
635
+ "failedActions": 0,
636
+ "llmCalls": 1,
637
+ "inputTokens": 1543,
638
+ "outputTokens": 143,
639
+ "estimatedCostUSD": 0.00033344399999999996,
640
+ "actionsPerLLMCall": 3,
641
+ "tokensPerAction": 562,
642
+ "repairs": 0,
643
+ "workflowCacheHits": 0,
644
+ "pageCacheEntries": 4,
645
+ "planBatches": 1,
646
+ "compressionReduction": 0.9944867541933374,
647
+ "selectorSuccessRate": 1,
648
+ "usageEstimated": false,
649
+ "provider": "deepseek-flash",
650
+ "mode": "normal",
651
+ "approvedSites": [
652
+ "https://othmaneblial.github.io"
653
+ ],
654
+ "websiteApprovals": 2,
655
+ "actionApprovals": 2,
656
+ "sessionWasSeeded": false,
657
+ "domMutationInjected": false,
658
+ "learnedRepeat": {
659
+ "status": "completed",
660
+ "correct": true,
661
+ "durationMs": 1078,
662
+ "browserActions": 3,
663
+ "failedActions": 0,
664
+ "llmCalls": 0,
665
+ "inputTokens": 0,
666
+ "outputTokens": 0,
667
+ "estimatedCostUSD": null,
668
+ "actionsPerLLMCall": null,
669
+ "tokensPerAction": 0,
670
+ "repairs": 0,
671
+ "workflowCacheHits": 1,
672
+ "pageCacheEntries": 4,
673
+ "planBatches": 0,
674
+ "compressionReduction": 0.9944867541933374,
675
+ "selectorSuccessRate": 1,
676
+ "usageEstimated": false,
677
+ "provider": "none",
678
+ "mode": "normal",
679
+ "approvedSites": [
680
+ "https://othmaneblial.github.io"
681
+ ]
682
+ }
683
+ },
684
+ {
685
+ "scenario": "Multiple tabs · public Northstar lab",
686
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/tabs.html",
687
+ "status": "completed",
688
+ "correct": true,
689
+ "durationMs": 4734,
690
+ "browserActions": 5,
691
+ "failedActions": 1,
692
+ "llmCalls": 3,
693
+ "inputTokens": 4475,
694
+ "outputTokens": 461,
695
+ "estimatedCostUSD": 0.0009549,
696
+ "actionsPerLLMCall": 1.6666666666666667,
697
+ "tokensPerAction": 987.2,
698
+ "repairs": 1,
699
+ "workflowCacheHits": 0,
700
+ "pageCacheEntries": 2,
701
+ "planBatches": 1,
702
+ "compressionReduction": 0.9933769409892463,
703
+ "selectorSuccessRate": 1,
704
+ "usageEstimated": false,
705
+ "provider": "deepseek-flash",
706
+ "mode": "normal",
707
+ "approvedSites": [
708
+ "https://othmaneblial.github.io"
709
+ ],
710
+ "websiteApprovals": 2,
711
+ "actionApprovals": 0,
712
+ "sessionWasSeeded": false,
713
+ "domMutationInjected": false,
714
+ "learnedRepeat": {
715
+ "status": "completed",
716
+ "correct": true,
717
+ "durationMs": 407,
718
+ "browserActions": 5,
719
+ "failedActions": 0,
720
+ "llmCalls": 0,
721
+ "inputTokens": 0,
722
+ "outputTokens": 0,
723
+ "estimatedCostUSD": null,
724
+ "actionsPerLLMCall": null,
725
+ "tokensPerAction": 0,
726
+ "repairs": 0,
727
+ "workflowCacheHits": 1,
728
+ "pageCacheEntries": 2,
729
+ "planBatches": 0,
730
+ "compressionReduction": 0.9933769409892463,
731
+ "selectorSuccessRate": 1,
732
+ "usageEstimated": false,
733
+ "provider": "none",
734
+ "mode": "normal",
735
+ "approvedSites": [
736
+ "https://othmaneblial.github.io"
737
+ ]
738
+ }
739
+ },
740
+ {
741
+ "scenario": "DOM repair · public Northstar lab",
742
+ "url": "https://othmaneblial.github.io/FreeComputerUse/lab/changed.html",
743
+ "status": "completed",
744
+ "correct": true,
745
+ "durationMs": 6578,
746
+ "browserActions": 1,
747
+ "failedActions": 1,
748
+ "llmCalls": 2,
749
+ "inputTokens": 2934,
750
+ "outputTokens": 134,
751
+ "estimatedCostUSD": 0.000401256,
752
+ "actionsPerLLMCall": 0.5,
753
+ "tokensPerAction": 3068,
754
+ "repairs": 1,
755
+ "workflowCacheHits": 0,
756
+ "pageCacheEntries": 3,
757
+ "planBatches": 1,
758
+ "compressionReduction": 0.9935898184365696,
759
+ "selectorSuccessRate": 0.5,
760
+ "usageEstimated": false,
761
+ "provider": "deepseek-flash",
762
+ "mode": "normal",
763
+ "approvedSites": [
764
+ "https://othmaneblial.github.io"
765
+ ],
766
+ "websiteApprovals": 2,
767
+ "actionApprovals": 0,
768
+ "sessionWasSeeded": false,
769
+ "domMutationInjected": true,
770
+ "learnedRepeat": {
771
+ "status": "completed",
772
+ "correct": true,
773
+ "durationMs": 334,
774
+ "browserActions": 1,
775
+ "failedActions": 0,
776
+ "llmCalls": 0,
777
+ "inputTokens": 0,
778
+ "outputTokens": 0,
779
+ "estimatedCostUSD": null,
780
+ "actionsPerLLMCall": null,
781
+ "tokensPerAction": 0,
782
+ "repairs": 0,
783
+ "workflowCacheHits": 1,
784
+ "pageCacheEntries": 2,
785
+ "planBatches": 0,
786
+ "compressionReduction": 0.9935898184365696,
787
+ "selectorSuccessRate": 1,
788
+ "usageEstimated": false,
789
+ "provider": "none",
790
+ "mode": "normal",
791
+ "approvedSites": [
792
+ "https://othmaneblial.github.io"
793
+ ]
794
+ }
795
+ }
796
+ ]
797
+ }