@wenathlan/devthink 2.0.13 → 2.0.15

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 (444) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/accounts.ts +2087 -0
  3. package/agent.ts +2331 -0
  4. package/antigravity.ts +2139 -0
  5. package/apifreeze.ts +4146 -0
  6. package/auth.ts +642 -0
  7. package/background.ts +16837 -0
  8. package/bridge.ts +2080 -0
  9. package/build.ts +54 -0
  10. package/bun.ts +26 -0
  11. package/capture.ts +1614 -0
  12. package/checksecrets.ts +72 -0
  13. package/cjs.ts +9 -0
  14. package/cli.ts +3500 -0
  15. package/commands.ts +1101 -0
  16. package/companion.ts +450 -0
  17. package/compatibility.ts +37 -0
  18. package/config.ts +3137 -0
  19. package/constants.ts +943 -0
  20. package/core.ts +1473 -0
  21. package/crossbrowser.ts +1359 -0
  22. package/dashdone.ts +605 -0
  23. package/data.ts +943 -0
  24. package/database.ts +133 -0
  25. package/debug.ts +850 -0
  26. package/deno.ts +27 -0
  27. package/devthink.ts +707 -0
  28. package/dist/accounts.d.ts +409 -0
  29. package/dist/agent.d.ts +837 -0
  30. package/dist/antigravity.d.ts +380 -0
  31. package/dist/apifreeze.d.ts +113 -0
  32. package/dist/auth.d.ts +224 -0
  33. package/{bridge.d.ts → dist/bridge.d.ts} +1 -1
  34. package/dist/capture.d.ts +595 -0
  35. package/dist/cjs.d.ts +6 -0
  36. package/{cli.js → dist/cli.js} +2 -2
  37. package/dist/commands.d.ts +310 -0
  38. package/dist/compatibility.d.ts +17 -0
  39. package/dist/config.d.ts +1853 -0
  40. package/dist/constants.d.ts +637 -0
  41. package/dist/core.d.ts +361 -0
  42. package/dist/data.d.ts +330 -0
  43. package/dist/database.d.ts +24 -0
  44. package/dist/debug.d.ts +270 -0
  45. package/dist/engine.d.ts +74 -0
  46. package/dist/environments.d.ts +244 -0
  47. package/dist/evidence.d.ts +277 -0
  48. package/dist/export.d.ts +311 -0
  49. package/dist/fingerprint.d.ts +594 -0
  50. package/dist/flow.d.ts +300 -0
  51. package/dist/gates.d.ts +103 -0
  52. package/dist/identity.d.ts +51 -0
  53. package/dist/ids.d.ts +7 -0
  54. package/dist/llm.d.ts +652 -0
  55. package/dist/models.d.ts +1807 -0
  56. package/dist/net.d.ts +325 -0
  57. package/dist/neutral.d.ts +41 -0
  58. package/dist/oauth.d.ts +703 -0
  59. package/dist/page.d.ts +1166 -0
  60. package/dist/perf.d.ts +481 -0
  61. package/dist/plan.d.ts +134 -0
  62. package/dist/project.d.ts +395 -0
  63. package/dist/providers.d.ts +37 -0
  64. package/dist/quota.d.ts +453 -0
  65. package/dist/recovery.d.ts +621 -0
  66. package/dist/request.d.ts +1492 -0
  67. package/dist/run.d.ts +779 -0
  68. package/dist/runtime.d.ts +212 -0
  69. package/dist/search.d.ts +375 -0
  70. package/dist/security.d.ts +534 -0
  71. package/dist/serve.d.ts +136 -0
  72. package/dist/session.d.ts +296 -0
  73. package/dist/storage.d.ts +53 -0
  74. package/dist/streaming.d.ts +1119 -0
  75. package/dist/swarm.d.ts +328 -0
  76. package/dist/tools.d.ts +170 -0
  77. package/dist/types.d.ts +8357 -0
  78. package/dist/utils.d.ts +82 -0
  79. package/dist/version.d.ts +7 -0
  80. package/dist/versionregistry.d.ts +406 -0
  81. package/dist/views.d.ts +579 -0
  82. package/dist/workbenchsession.d.ts +69 -0
  83. package/dist/workflow.d.ts +649 -0
  84. package/docs/readme.md +92 -0
  85. package/docs/schemas/antigravity.json +192 -0
  86. package/engine.ts +1524 -0
  87. package/environments.ts +1005 -0
  88. package/evidence.ts +643 -0
  89. package/export.ts +889 -0
  90. package/fingerprint.ts +1458 -0
  91. package/flow.ts +1190 -0
  92. package/gates.ts +307 -0
  93. package/gateway.ts +34 -0
  94. package/hardening.ts +191 -0
  95. package/headless.ts +369 -0
  96. package/http.ts +2110 -0
  97. package/identity.ts +246 -0
  98. package/ids.ts +26 -0
  99. package/index.ts +369 -0
  100. package/llm.ts +2682 -0
  101. package/mcp.ts +1835 -0
  102. package/{memory.js → memory.ts} +3834 -2310
  103. package/models.ts +3805 -0
  104. package/modes.ts +43 -0
  105. package/net.ts +1214 -0
  106. package/neutral.ts +362 -0
  107. package/node.ts +26 -0
  108. package/oauth.ts +2216 -0
  109. package/offscreen.ts +170 -0
  110. package/pack.ts +956 -0
  111. package/package.json +175 -82
  112. package/page.ts +7824 -0
  113. package/pagebridge.ts +1116 -0
  114. package/perf.ts +957 -0
  115. package/plan.ts +672 -0
  116. package/plugin.ts +76 -0
  117. package/{policy.js → policy.ts} +5073 -4679
  118. package/prisma.config.ts +27 -0
  119. package/progress.ts +1308 -0
  120. package/project.ts +1291 -0
  121. package/protocol.ts +4187 -0
  122. package/providers.ts +246 -0
  123. package/quota.ts +1887 -0
  124. package/recovery.ts +2433 -0
  125. package/request.ts +4482 -0
  126. package/run.ts +2135 -0
  127. package/runtime.ts +526 -0
  128. package/search.ts +1760 -0
  129. package/security.ts +1673 -0
  130. package/serve.ts +419 -0
  131. package/server.ts +5538 -0
  132. package/session.ts +1162 -0
  133. package/storage.ts +182 -0
  134. package/streaming.ts +4101 -0
  135. package/swarm.ts +884 -0
  136. package/sync.ts +56 -0
  137. package/tests/agentcert.test.ts +128 -0
  138. package/tests/agentfleet.test.ts +214 -0
  139. package/tests/agentreview.test.ts +241 -0
  140. package/tests/agentstream.test.ts +335 -0
  141. package/tests/agentwork.test.ts +356 -0
  142. package/tests/apifreeze.test.ts +290 -0
  143. package/tests/apimap.test.ts +112 -0
  144. package/tests/approvalgate.test.ts +175 -0
  145. package/tests/artifactmanifest.test.ts +204 -0
  146. package/tests/attentionfeed.test.ts +163 -0
  147. package/tests/backgroundruns.test.ts +100 -0
  148. package/tests/batchscheduling.test.ts +131 -0
  149. package/tests/blackboard.test.ts +238 -0
  150. package/tests/bridge.test.ts +1088 -0
  151. package/tests/browsercoverage.test.ts +134 -0
  152. package/tests/browserpolyfills.test.ts +124 -0
  153. package/tests/build.mjs +1260 -0
  154. package/tests/clientauth.test.ts +223 -0
  155. package/tests/clitools.test.ts +578 -0
  156. package/tests/confirmgates.test.ts +190 -0
  157. package/tests/containerpack.test.ts +143 -0
  158. package/tests/controlflow.test.ts +2120 -0
  159. package/tests/coordination.test.ts +345 -0
  160. package/tests/copyscreen.test.ts +139 -0
  161. package/tests/core.test.ts +417 -0
  162. package/tests/costcert.test.ts +95 -0
  163. package/tests/crossbrowser.test.ts +115 -0
  164. package/tests/cspaudit.test.ts +79 -0
  165. package/tests/dashdone.test.ts +615 -0
  166. package/tests/datagrid.test.ts +137 -0
  167. package/tests/doccheck.test.ts +107 -0
  168. package/tests/dombatch.test.ts +109 -0
  169. package/tests/emulation.test.ts +282 -0
  170. package/tests/environments.test.ts +259 -0
  171. package/tests/evidenceviews.test.ts +88 -0
  172. package/tests/exporttools.test.ts +185 -0
  173. package/tests/firefoxprep.test.ts +134 -0
  174. package/tests/flowlibrary.test.ts +242 -0
  175. package/tests/flowrun.test.ts +303 -0
  176. package/tests/forensics.test.ts +439 -0
  177. package/tests/gateway.test.ts +939 -0
  178. package/tests/headlesslib.test.ts +171 -0
  179. package/tests/httpstream.test.ts +277 -0
  180. package/tests/immutablelog.test.ts +157 -0
  181. package/tests/inboundguard.test.ts +177 -0
  182. package/tests/lazyload.test.ts +72 -0
  183. package/tests/librarymodes.test.ts +623 -0
  184. package/tests/llm.test.ts +696 -0
  185. package/tests/manifest.test.ts +226 -0
  186. package/tests/maskinputs.test.ts +150 -0
  187. package/tests/matrixverify.test.ts +111 -0
  188. package/tests/mavenpack.test.ts +75 -0
  189. package/tests/mcpserver.test.ts +704 -0
  190. package/tests/memory.test.ts +4155 -0
  191. package/tests/memorycare.test.ts +230 -0
  192. package/tests/migrateplan.test.ts +349 -0
  193. package/tests/minimization.test.ts +414 -0
  194. package/tests/modelroute.test.ts +112 -0
  195. package/tests/multiagent.test.ts +440 -0
  196. package/tests/nativebridge.test.ts +807 -0
  197. package/tests/navigation.test.ts +284 -0
  198. package/tests/nugetpack.test.ts +83 -0
  199. package/tests/orchestration.test.ts +449 -0
  200. package/tests/originpolicy.test.ts +405 -0
  201. package/tests/outputcompare.test.ts +97 -0
  202. package/tests/package.test.ts +91 -0
  203. package/tests/pagebridge.test.ts +5909 -0
  204. package/tests/pentest.test.ts +75 -0
  205. package/tests/perfrecords.test.ts +257 -0
  206. package/tests/permdiff.test.ts +85 -0
  207. package/tests/phishguard.test.ts +128 -0
  208. package/tests/pickerviews.test.ts +155 -0
  209. package/tests/pipelines.test.ts +381 -0
  210. package/tests/planlint.test.ts +240 -0
  211. package/tests/planreview.test.ts +383 -0
  212. package/tests/platformtargets.test.ts +56 -0
  213. package/tests/policy.test.ts +8284 -0
  214. package/tests/portability.test.ts +96 -0
  215. package/tests/progress.test.ts +1036 -0
  216. package/tests/promptlibrary.test.ts +116 -0
  217. package/tests/protocol.test.ts +4793 -0
  218. package/tests/publishingpipeline.test.ts +314 -0
  219. package/tests/quickactions.test.ts +164 -0
  220. package/tests/readiness.test.ts +78 -0
  221. package/tests/recipes.test.ts +163 -0
  222. package/tests/redactshots.test.ts +216 -0
  223. package/tests/registernvidiakeys.ts +51 -0
  224. package/tests/relayserve.test.ts +304 -0
  225. package/tests/releasenotes.test.ts +276 -0
  226. package/tests/resilience.test.ts +467 -0
  227. package/tests/resourceaware.test.ts +187 -0
  228. package/tests/runbudget.test.ts +125 -0
  229. package/tests/runhistory.test.ts +299 -0
  230. package/tests/runreplay.test.ts +113 -0
  231. package/tests/runresume.test.ts +184 -0
  232. package/tests/runstate.test.ts +288 -0
  233. package/tests/runtimeadapters.test.ts +251 -0
  234. package/tests/safariskeleton.test.ts +115 -0
  235. package/tests/sandboxframe.test.ts +196 -0
  236. package/tests/sbom.test.ts +105 -0
  237. package/tests/secretvault.test.ts +188 -0
  238. package/tests/selcache.test.ts +111 -0
  239. package/tests/sessioninterface.test.ts +791 -0
  240. package/tests/sessions.test.ts +591 -0
  241. package/tests/siteprefs.test.ts +228 -0
  242. package/tests/snapshotdelta.test.ts +165 -0
  243. package/tests/statusviews.test.ts +237 -0
  244. package/tests/stepmeter.test.ts +200 -0
  245. package/tests/streamparse.test.ts +163 -0
  246. package/tests/stylepruning.test.ts +90 -0
  247. package/tests/surfaces.test.ts +282 -0
  248. package/tests/sweep.test.ts +78 -0
  249. package/tests/syncbridge.test.ts +164 -0
  250. package/tests/taskqueue.test.ts +206 -0
  251. package/tests/toolcalls.test.ts +336 -0
  252. package/tests/toolcatalog.test.ts +201 -0
  253. package/tests/torture-agent.test.ts +706 -0
  254. package/tests/torture-auth.test.ts +461 -0
  255. package/tests/torture-commands.test.ts +895 -0
  256. package/tests/torture-data.test.ts +923 -0
  257. package/tests/torture-environments.test.ts +285 -0
  258. package/tests/torture-export.test.ts +263 -0
  259. package/tests/torture-http.test.ts +1379 -0
  260. package/tests/torture-llm.test.ts +808 -0
  261. package/tests/torture-memory.test.ts +1084 -0
  262. package/tests/torture-plan.test.ts +829 -0
  263. package/tests/torture-run.test.ts +626 -0
  264. package/tests/torture-session.test.ts +928 -0
  265. package/tests/torture-swarm.test.ts +1245 -0
  266. package/tests/torture-tools.test.ts +964 -0
  267. package/tests/torture-workflow.test.ts +2354 -0
  268. package/tests/tourviews.test.ts +52 -0
  269. package/tests/transparency.test.ts +147 -0
  270. package/tests/trigger.test.ts +941 -0
  271. package/tests/v1sunset.test.ts +428 -0
  272. package/tests/virtlist.test.ts +94 -0
  273. package/tests/vision.test.ts +540 -0
  274. package/tests/vsixpack.test.ts +145 -0
  275. package/tests/webapi.test.ts +523 -0
  276. package/tests/workflow.test.ts +1785 -0
  277. package/tests/workfloweditor.test.ts +759 -0
  278. package/tests/xpipack.test.ts +128 -0
  279. package/tools.ts +734 -0
  280. package/types.ts +9908 -0
  281. package/umd.ts +9 -0
  282. package/utils.ts +249 -0
  283. package/version.ts +8 -0
  284. package/versionregistry.ts +1310 -0
  285. package/views.ts +2153 -0
  286. package/vitest.config.ts +12 -0
  287. package/web/App.tsx +78 -0
  288. package/web/README.md +47 -0
  289. package/web/capacitor.config.ts +46 -0
  290. package/web/const.ts +19 -0
  291. package/web/control.shell.tsx +66 -0
  292. package/web/dashboardpage.ts +554 -0
  293. package/web/db.ts +493 -0
  294. package/web/design.html +541 -0
  295. package/web/gatewayview/Gateway.tsx +345 -0
  296. package/web/gatewayview/config.ts +1042 -0
  297. package/web/gatewayview/definition.ts +174 -0
  298. package/web/icons.ts +15 -0
  299. package/{manifest.json → web/manifest.json} +1 -1
  300. package/web/optionspage.ts +691 -0
  301. package/web/popup.ts +1651 -0
  302. package/web/schema.prisma +176 -0
  303. package/web/sidepanel.ts +7941 -0
  304. package/web/sitemanifest.json +13 -0
  305. package/web/terminal-ui.tsx +622 -0
  306. package/web/transparencypage.ts +541 -0
  307. package/web/vite.config.ts +39 -0
  308. package/web/workspace.ts +23 -0
  309. package/workbenchmemory.ts +104 -0
  310. package/workbenchsession.ts +304 -0
  311. package/workflow.ts +4495 -0
  312. package/bridge.d.ts.map +0 -1
  313. package/bridge.js +0 -1877
  314. package/bun.d.ts.map +0 -1
  315. package/bun.js +0 -52329
  316. package/caps/background.json +0 -712
  317. package/caps/cli.json +0 -360
  318. package/caps/library.json +0 -3611
  319. package/caps/mcp.json +0 -126
  320. package/caps/pagebridge.json +0 -377
  321. package/caps/popup.json +0 -51
  322. package/caps/sidepanel.json +0 -522
  323. package/checksums.txt +0 -142
  324. package/cli.d.ts.map +0 -1
  325. package/companion.d.ts.map +0 -1
  326. package/companion.js +0 -389
  327. package/crossbrowser.d.ts.map +0 -1
  328. package/crossbrowser.js +0 -1191
  329. package/dashdone.d.ts.map +0 -1
  330. package/dashdone.js +0 -368
  331. package/deno.d.ts.map +0 -1
  332. package/deno.js +0 -52325
  333. package/devthink.umd.js +0 -52346
  334. package/fixtures/bun.ts +0 -7
  335. package/fixtures/cjs.js +0 -6
  336. package/fixtures/deno.ts +0 -6
  337. package/fixtures/example-org-pagestate.json +0 -22
  338. package/fixtures/importers/automa-workflow.json +0 -18
  339. package/fixtures/importers/selenium-side.json +0 -20
  340. package/fixtures/importers/tabular-plan.csv +0 -7
  341. package/fixtures/importers/uivision-macro.json +0 -10
  342. package/fixtures/importers/v1-plan.json +0 -13
  343. package/fixtures/mcp-client.mjs +0 -14
  344. package/fixtures/pages/checkout.html +0 -192
  345. package/fixtures/pages/dashboard.html +0 -110
  346. package/fixtures/pages/feed.html +0 -113
  347. package/fixtures/pages/product-grid.html +0 -150
  348. package/fixtures/plans/form-inventory-plan.json +0 -11
  349. package/fixtures/plans/release-notes-plan.json +0 -11
  350. package/fixtures/recipes/agentscompete.json +0 -11
  351. package/fixtures/recipes/agentsforms.json +0 -11
  352. package/fixtures/recipes/agentsmonitor.json +0 -11
  353. package/fixtures/recipes/agentsreview.json +0 -29
  354. package/fixtures/recipes/agentswarm.json +0 -11
  355. package/fixtures/recipes/fillcalendar.json +0 -12
  356. package/fixtures/recipes/fillcheckout.json +0 -13
  357. package/fixtures/recipes/filldependentdropdowns.json +0 -12
  358. package/fixtures/recipes/fillfromcsv.json +0 -13
  359. package/fixtures/recipes/fillloginform.json +0 -12
  360. package/fixtures/recipes/fillmultistepwizard.json +0 -13
  361. package/fixtures/recipes/fillregistration.json +0 -12
  362. package/fixtures/recipes/fillsearchfilters.json +0 -12
  363. package/fixtures/recipes/filltypeahead.json +0 -11
  364. package/fixtures/recipes/monitoralerts.json +0 -12
  365. package/fixtures/recipes/monitoravailability.json +0 -11
  366. package/fixtures/recipes/monitornetworkquiet.json +0 -12
  367. package/fixtures/recipes/monitorpagechanges.json +0 -11
  368. package/fixtures/recipes/monitorpricechange.json +0 -11
  369. package/fixtures/recipes/monitorschedule.json +0 -12
  370. package/fixtures/recipes/scrapedynamicprices.json +0 -13
  371. package/fixtures/recipes/scrapeimagegallery.json +0 -12
  372. package/fixtures/recipes/scrapeinfinitefeed.json +0 -13
  373. package/fixtures/recipes/scrapenestedlists.json +0 -12
  374. package/fixtures/recipes/scrapeproductgrid.json +0 -12
  375. package/fixtures/recipes/scrapereviews.json +0 -12
  376. package/fixtures/recipes/scrapesearchresults.json +0 -12
  377. package/fixtures/recipes/scrapetablepagination.json +0 -12
  378. package/fixtures/recipes/testaccessibility.json +0 -34
  379. package/fixtures/recipes/testconsoleerrors.json +0 -12
  380. package/fixtures/recipes/testdeeplinks.json +0 -12
  381. package/fixtures/recipes/testformvalidation.json +0 -13
  382. package/fixtures/recipes/testlayoutshift.json +0 -12
  383. package/fixtures/recipes/testlinkcheck.json +0 -12
  384. package/fixtures/recipes/testloadtiming.json +0 -12
  385. package/fixtures/recipes/testvisualdiff.json +0 -12
  386. package/fixtures/workflows/changelog-digest-workflow.json +0 -13
  387. package/fixtures/workflows/form-survey-workflow.json +0 -13
  388. package/gallery.json +0 -706
  389. package/hardening.d.ts.map +0 -1
  390. package/hardening.js +0 -188
  391. package/headless.d.ts.map +0 -1
  392. package/headless.js +0 -11522
  393. package/http.d.ts.map +0 -1
  394. package/http.js +0 -2165
  395. package/index.cjs +0 -54682
  396. package/index.d.ts.map +0 -1
  397. package/index.js +0 -52310
  398. package/index.neutral.js +0 -46343
  399. package/mcp.d.ts.map +0 -1
  400. package/mcp.js +0 -20515
  401. package/memory.d.ts.map +0 -1
  402. package/nativehost.template.json +0 -10
  403. package/node.cjs +0 -54686
  404. package/node.d.ts.map +0 -1
  405. package/pack.d.ts.map +0 -1
  406. package/pack.js +0 -805
  407. package/policy.d.ts.map +0 -1
  408. package/progress.d.ts.map +0 -1
  409. package/progress.js +0 -645
  410. package/protocol.d.ts.map +0 -1
  411. package/protocol.js +0 -8334
  412. package/schemas/audit.schema.json +0 -226
  413. package/schemas/capability.schema.json +0 -113
  414. package/schemas/envelope.schema.json +0 -162
  415. package/schemas/memory.schema.json +0 -51
  416. package/schemas/observation.schema.json +0 -113
  417. package/schemas/plan.schema.json +0 -208
  418. package/schemas/progress.schema.json +0 -126
  419. package/schemas/proposal.schema.json +0 -68
  420. package/schemas/session.schema.json +0 -82
  421. package/schemas/tool.schema.json +0 -94
  422. package/server.d.ts.map +0 -1
  423. package/server.js +0 -28877
  424. package/umd-example.html +0 -18
  425. package/umd.d.ts.map +0 -1
  426. /package/{bun.d.ts → dist/bun.d.ts} +0 -0
  427. /package/{cli.d.ts → dist/cli.d.ts} +0 -0
  428. /package/{companion.d.ts → dist/companion.d.ts} +0 -0
  429. /package/{crossbrowser.d.ts → dist/crossbrowser.d.ts} +0 -0
  430. /package/{dashdone.d.ts → dist/dashdone.d.ts} +0 -0
  431. /package/{deno.d.ts → dist/deno.d.ts} +0 -0
  432. /package/{hardening.d.ts → dist/hardening.d.ts} +0 -0
  433. /package/{headless.d.ts → dist/headless.d.ts} +0 -0
  434. /package/{http.d.ts → dist/http.d.ts} +0 -0
  435. /package/{index.d.ts → dist/index.d.ts} +0 -0
  436. /package/{mcp.d.ts → dist/mcp.d.ts} +0 -0
  437. /package/{memory.d.ts → dist/memory.d.ts} +0 -0
  438. /package/{node.d.ts → dist/node.d.ts} +0 -0
  439. /package/{pack.d.ts → dist/pack.d.ts} +0 -0
  440. /package/{policy.d.ts → dist/policy.d.ts} +0 -0
  441. /package/{progress.d.ts → dist/progress.d.ts} +0 -0
  442. /package/{protocol.d.ts → dist/protocol.d.ts} +0 -0
  443. /package/{server.d.ts → dist/server.d.ts} +0 -0
  444. /package/{umd.d.ts → dist/umd.d.ts} +0 -0
package/dist/data.d.ts ADDED
@@ -0,0 +1,330 @@
1
+ /** The data module of the 1.1.90 consolidation: every correlated variation of the dataset records, the streaming pipelines and the chunked parsing logic interned in this one file, so the module family carries one surface without duplicate variations. */
2
+ import type { artifactrecord, chunkextractcursor, chunkextractwindowresult, columnspec, dataset, datasetrow, dedupekey, exportedartifact, extractbatch, extractpipeline, extractrow, extractsession, gridcolumn, provlogentry, provenancerecord, samplepolicy, sourcestamprecord, streamcursor, streamstate, streamparsechunk, toolstep, transformrule } from "./types.js";
3
+ /**
4
+ * Dataset command logics for the background executors.
5
+ * Every correlated rule for dataset records, artifact exports with checksums, chunked streaming with backpressure, extraction cursors, loop row variables, provenance records and artifact retention lives in this file.
6
+ */
7
+ /** Builds one dataset record from a scraped grid result. */
8
+ export declare function builddataset(id: string, name: string, grid: {
9
+ columns: columnspec[];
10
+ rows: datasetrow[];
11
+ children?: Array<{
12
+ parentrow: number;
13
+ selector: string;
14
+ columns: columnspec[];
15
+ rows: datasetrow[];
16
+ }>;
17
+ }, at: number): dataset;
18
+ /** Computes the deterministic checksum of an exported artifact's content. */
19
+ export declare function checksum(value: string): string;
20
+ /** Serializes one dataset into the reviewed export format. */
21
+ export declare function exportcontent(datasetvalue: dataset, format: "csv" | "json" | "excel", delimiter?: string): string;
22
+ /** Builds one exported artifact record with its content and checksum for the task artifact store. */
23
+ export declare function exportartifact(id: string, datasetvalue: dataset, format: "csv" | "json" | "excel", stepid: string, content: string, at: number): exportedartifact;
24
+ /** Converts one exported artifact into the artifact record shape the run store keeps. */
25
+ export declare function artifactrecordof(artifact: exportedartifact): artifactrecord;
26
+ /** Plans the chunk boundaries of a streaming export from a user configured chunk size with no code ceiling. */
27
+ export declare function chunkplan(rows: number, chunk: number): Array<{
28
+ index: number;
29
+ from: number;
30
+ to: number;
31
+ }>;
32
+ /** True when the stream writer must wait for acknowledgements: pending writes reached the in-flight budget of one. */
33
+ export declare function backpressure(written: number, acknowledged: number): boolean;
34
+ /** Advances one stream state by one acknowledged chunk of rows. */
35
+ export declare function advancestream(state: streamstate, chunk: {
36
+ index: number;
37
+ to: number;
38
+ }, at: number, done: boolean): streamstate;
39
+ /** Returns the first unwritten row index of a stream, starting a fresh stream at zero. */
40
+ export declare function streamfrom(state: streamstate | undefined, rows: number): number;
41
+ /** Builds the initial stream state of one dataset. */
42
+ export declare function newstream(datasetvalue: dataset, chunks: number, at: number): streamstate;
43
+ /** Advances one extraction session by one extracted page with its row count. */
44
+ export declare function advancecursor(sessionvalue: extractsession, page: string, rows: number, at: number, done: boolean): extractsession;
45
+ /** Builds the initial extraction session of one dataset extraction. */
46
+ export declare function newextractsession(id: string, datasetid: string, name: string, target: string, next: string, planned: number, at: number): extractsession;
47
+ /** Returns the pages an interrupted extraction still owes after its stored cursor. */
48
+ export declare function remainingpages(sessionvalue: extractsession, planned: number): number;
49
+ /** Builds one provenance record of an exported artifact with its source url, step ref, row range and checksum. */
50
+ export declare function provenancefor(artifact: {
51
+ id: string;
52
+ name: string;
53
+ rowcount: number;
54
+ checksum: string;
55
+ }, url: string, stepid: string, at: number): provenancerecord;
56
+ /** Applies the user configured artifact retention to exported artifacts; an absent setting keeps everything. */
57
+ export declare function retainedexports<T>(records: T[], retention: number | undefined): T[];
58
+ /** Interpolates one text through the {{column}} tokens of a dataset row; only the row's own string values answer a token because an inherited property never leaks object internals into a step payload. The token walk is a single linear scan: a brace expression over library input answers attacker paced backtracking, so the scanner resolves each token with plain index arithmetic instead. */
59
+ export declare function interpolate(text: string, row: datasetrow): string;
60
+ /** Substitutes the row variables of one looprows iteration into the target, value and options of the inner step. */
61
+ export declare function loopstep(step: toolstep, row: datasetrow): toolstep;
62
+ /** Exposes one dataset row as the step variables of a looprows iteration. */
63
+ export declare function loopvariables(row: datasetrow): datasetrow;
64
+ /** Builds the grid preview of a dataset with its column order, total rows and sampled rows. */
65
+ export declare function gridpreview(datasetvalue: dataset, sample: number): {
66
+ datasetid: string;
67
+ columns: string[];
68
+ rows: number;
69
+ sample: datasetrow[];
70
+ };
71
+ /** Sorts dataset rows by one column key in the reviewed direction with a stable fallback for equal values. */
72
+ export declare function sortrows(rows: datasetrow[], key: string, direction: "asc" | "desc"): datasetrow[];
73
+ /** Builds the sheet push payload of one dataset for a reviewed sheet endpoint. */
74
+ export declare function sheetpayload(datasetvalue: dataset, sheet: string): {
75
+ sheet: string;
76
+ columns: string[];
77
+ rows: datasetrow[];
78
+ };
79
+ /** Merges reviewed transform rules and dedupe keys into the task rules record of one task. */
80
+ export declare function mergetaskrules(existing: {
81
+ taskid: string;
82
+ transforms: transformrule[];
83
+ dedupekeys: string[];
84
+ } | undefined, taskid: string, transforms: transformrule[], dedupekeys: string[], at: number): {
85
+ taskid: string;
86
+ transforms: transformrule[];
87
+ dedupekeys: string[];
88
+ at: number;
89
+ };
90
+ /** Streams the rows of one extract to its sink chunk by chunk: only the active chunk rides the write at a time, every chunk reports the rows and the bytes it persisted, the streamcursor records the last written position after each chunk so the checkpoint call sees every boundary, and an absent chunk size streams the whole extract as one chunk because the chunk bound stays a user choice with no code default. */
91
+ export declare function streamdisk(input: {
92
+ pipeline: extractpipeline;
93
+ rows: extractrow[];
94
+ write: (chunk: extractrow[]) => number;
95
+ cursor?: streamcursor;
96
+ chunk?: number;
97
+ checkpoint?: (cursor: streamcursor) => void;
98
+ now: number;
99
+ }): {
100
+ cursor: streamcursor;
101
+ rowswritten: number;
102
+ byteswritten: number;
103
+ chunks: number;
104
+ reason: string;
105
+ };
106
+ /** Continues one interrupted pipeline from its streamcursor: the rows the cursor offset and the persisted row keys already cover skip so nothing writes twice, the resume marks the pipeline in the provlog, and a pipeline of another plan or another origin refuses loudly because a resume continues exactly the extraction it came from. */
107
+ export declare function resumeextract(input: {
108
+ pipeline: extractpipeline;
109
+ rows: extractrow[];
110
+ cursor?: streamcursor;
111
+ persistedkeys?: string[];
112
+ logid?: string;
113
+ now: number;
114
+ }): {
115
+ pipeline: extractpipeline;
116
+ rows: extractrow[];
117
+ skipped: number;
118
+ cursor: streamcursor;
119
+ entry: provlogentry;
120
+ };
121
+ /** Applies the reviewed transform rules between extraction and export: every rule reshapes exactly its field through its reviewed operation — trim folds the whitespace, case folds the letters, number strips the non numeric shapes and date normalizes to ISO 8601 — the raw value stays beside the transformed value so the audit reads both sides, and a transform never drops a row: an operation that cannot apply keeps the raw value and names its refusal while every row survives the pass. */
122
+ export declare function transformvalues(input: {
123
+ rows: extractrow[];
124
+ rules: transformrule[];
125
+ }): {
126
+ rows: extractrow[];
127
+ applied: number;
128
+ refusals: string[];
129
+ };
130
+ /** Deduplicates the rows of one pipeline by its configured key: the key columns join into one comparison value under the configured normalization — whitespace folding, case folding, both or none — with every column part JSON quoted so a cell value that embeds the join separator never collides two distinct rows, the first occurrence of every key stays, the dropped rows report by count and by key, and an empty key list refuses loudly because a dedupe without its columns would compare whole rows the user never configured. */
131
+ export declare function deduperows(input: {
132
+ rows: extractrow[];
133
+ key: dedupekey;
134
+ }): {
135
+ kept: extractrow[];
136
+ dropped: number;
137
+ droppedkeys: string[];
138
+ reason: string;
139
+ };
140
+ /** Selects the preview subset of one extract by its sample policy: the first strategy takes the leading rows, the random strategy shuffles deterministically under the seeded generator the policy names, the stratified strategy spreads the pick evenly across the ordered extract, and the full extract never mutates — the subset copies its rows so the stored batch keeps exactly what it held. */
141
+ export declare function samplerows(input: {
142
+ rows: extractrow[];
143
+ policy: samplepolicy;
144
+ seed?: number;
145
+ }): {
146
+ rows: extractrow[];
147
+ strategy: samplepolicy["strategy"];
148
+ reason: string;
149
+ };
150
+ /** Stamps the rows of one extraction pass with their source: the url, the step id and the capture time build one sourcestamprecord, every row of the pass carries the stamp, every cell links to the stamp id so each value answers which page and step captured it, and a row that already carries the same stamp keeps it once because a stamped timestamp never rewrites. */
151
+ export declare function sourcestamp(input: {
152
+ rows: extractrow[];
153
+ stampid: string;
154
+ url: string;
155
+ stepid: string;
156
+ now: number;
157
+ }): {
158
+ rows: extractrow[];
159
+ stamp: sourcestamprecord;
160
+ };
161
+ /** Projects the rows of one extract into a read only grid model: the columns build from the observed fields with their kinds inferred from the sampled values and their widths derived from the content, the sort orders by any column without touching the stored extract, the filter keeps the rows whose cells carry the query, and every projected row carries its marks — stamped when its stamps exist, transformed for the fields whose raw values survive beside them, deduplicated for the rows a dedupe pass kept. */
162
+ export declare function pipelinegridpreview(input: {
163
+ rows: extractrow[];
164
+ sort?: {
165
+ column: string;
166
+ direction: "ascending" | "descending";
167
+ };
168
+ filter?: string;
169
+ dedupekeys?: string[];
170
+ }): {
171
+ columns: gridcolumn[];
172
+ rows: Array<{
173
+ key: string;
174
+ values: Record<string, string>;
175
+ stamped: boolean;
176
+ transformed: string[];
177
+ deduplicated: boolean;
178
+ }>;
179
+ total: number;
180
+ };
181
+ /** Appends one provenance log entry for one extraction operation: every stream, transform, dedupe, sample and resume pass lands exactly one entry with the row keys it touched and its redacted summary, the log refuses an entry whose id already sits in it because the provlog stays append only for the audit integrity, and the secret shaped values mask before the entry ever lands. */
182
+ export declare function provlog(input: {
183
+ entries: provlogentry[];
184
+ id: string;
185
+ pipelineid: string;
186
+ runid: string;
187
+ operation: provlogentry["operation"];
188
+ rowkeys: string[];
189
+ summary: string;
190
+ now: number;
191
+ }): {
192
+ entries: provlogentry[];
193
+ entry: provlogentry;
194
+ };
195
+ /** Answers the provenance query of one row key: every provlog entry that touches the row returns in order so the reader walks exactly the operations the row rode — the stream that persisted it, the transforms that reshaped it, the dedupe that kept or dropped it, the sample that previewed it and the resume that continued it. */
196
+ export declare function provlogquery(entries: provlogentry[], rowkey: string): provlogentry[];
197
+ /** Tracks the live state of the pipelines of the workspace: the running, paused and finished counts roll per run so the popup and the sidepanel read exactly how many extracts stream, wait and finished, and the counts derive from the stored pipelines without ever writing one. */
198
+ export declare function pipelinestate(input: {
199
+ pipelines: extractpipeline[];
200
+ }): {
201
+ running: number;
202
+ paused: number;
203
+ finished: number;
204
+ perrun: Array<{
205
+ runid: string;
206
+ running: number;
207
+ paused: number;
208
+ finished: number;
209
+ }>;
210
+ };
211
+ /** Builds one extract batch of a finished pass: the rows and their streamcursor bundle under the pipeline identity so the preview and the resume read exactly the same rows. */
212
+ export declare function extractbatchof(input: {
213
+ id: string;
214
+ pipeline: extractpipeline;
215
+ rows: extractrow[];
216
+ cursor: streamcursor;
217
+ now: number;
218
+ }): extractbatch;
219
+ /**
220
+ * Streamparse logic of the 1.1.68 family.
221
+ * Pages too large for one pass parse in chunks inside a worker: the stream tokenizer walks the page text window by window, yields observations progressively as each chunk completes and never holds the full page text in memory, while every chunk passes through the same schemastrict validation the one pass parser runs.
222
+ * Big tables extract through chunkextract: the cursor carries the table fingerprint, slices big tables into resumable row windows, emits each window as a partial extraction result, resumes from its cursor after an interruption and merges the windows into the datagrid incrementally.
223
+ */
224
+ /** The byte bound of one streamparse chunk the caller supplies: the bound stays the user's choice, and the parser never holds more than the current chunk. */
225
+ export type streamparseoptions = {
226
+ chunkbytes: number;
227
+ };
228
+ /** Splits one large page into chunk windows without holding the full text: the splitter returns the chunk count and the byte range of each chunk while the caller feeds one chunk at a time. */
229
+ export declare function streamparsewindows(input: {
230
+ bytes: number;
231
+ chunkbytes: number;
232
+ }): {
233
+ chunks: number;
234
+ windows: Array<{
235
+ index: number;
236
+ start: number;
237
+ end: number;
238
+ }>;
239
+ };
240
+ /** Tokenizes one chunk of a large page: the tokenizer walks the chunk text, splits text, element and attribute tokens and keeps the chunk bytes bounded so the full page text never assembles in memory. */
241
+ export declare function streamparsechunkof(input: {
242
+ index: number;
243
+ text: string;
244
+ chunkbytes: number;
245
+ last: boolean;
246
+ }): streamparsechunk;
247
+ /** Validates one streamparse chunk through the same schemastrict validation the one pass parser runs: a chunk outside the shape the parser accepts refuses the whole stream before any observation yields. */
248
+ export declare function validatesetreamparsechunk(chunk: unknown, expectedindex: number): {
249
+ valid: boolean;
250
+ reason?: string;
251
+ };
252
+ /** Yields the observations of one streamparse chunk progressively: each chunk completes into its own observation batch while the stream never waits for the last chunk before yielding the earlier ones. */
253
+ export declare function streamparseobservations(chunks: streamparsechunk[]): {
254
+ progressive: string[][];
255
+ total: number;
256
+ };
257
+ /** Builds the memory bound summary of one streamparse stream: the peak bytes stay at one chunk bound because the full page text never assembles in memory. */
258
+ export declare function streamparsememorybound(input: {
259
+ chunkbytes: number;
260
+ chunks: number;
261
+ }): {
262
+ peak: number;
263
+ fullpage: number;
264
+ saved: number;
265
+ };
266
+ /** Opens one chunkextract cursor at the head of a big table: the cursor carries the table fingerprint the resume verifies and the user configured row window. */
267
+ export declare function openchunkextractcursor(input: {
268
+ tableid: string;
269
+ fingerprint: string;
270
+ rows: number;
271
+ window?: number;
272
+ now?: number;
273
+ }): chunkextractcursor;
274
+ /** Slices one window of rows out of a big table: the cursor advances by the window size, the window emits as one partial extraction result and the cursor completes once the row range ends. */
275
+ export declare function chunkextractwindow(input: {
276
+ cursor: chunkextractcursor;
277
+ rows: Array<Record<string, string>>;
278
+ }): chunkextractwindowresult;
279
+ /** Resumes one chunkextract cursor after an interruption: the stored fingerprint must match the table the resume addresses or the resume refuses and the caller opens a fresh cursor. */
280
+ export declare function resumechunkextract(input: {
281
+ cursor: chunkextractcursor;
282
+ tableid: string;
283
+ fingerprint: string;
284
+ }): {
285
+ resumed: boolean;
286
+ reason: string;
287
+ };
288
+ /** Merges the windows of one chunkextract stream into the datagrid incrementally: every window appends its rows in arrival order while a repeated or out of order window never duplicates a row. */
289
+ export declare function mergechunkwindows(windows: chunkextractwindowresult[]): {
290
+ rows: Array<Record<string, string>>;
291
+ duplicates: number;
292
+ };
293
+ /** Reads the progress line of one chunkextract stream the datagrid shows: the rows extracted so far beside the total the cursor covers. */
294
+ export declare function chunkextractprogress(cursor: chunkextractcursor, totalrows: number): {
295
+ extracted: number;
296
+ total: number;
297
+ share: number;
298
+ complete: boolean;
299
+ };
300
+ /** Shapes one streamparse stream into the offscreen worker task payload: the chunked parse runs inside the worker pool the 1.1.60 family introduced, beside the chunkextract windows of big tables. */
301
+ export declare function streamparsetaskof(input: {
302
+ runid: string;
303
+ stepid: string;
304
+ chunkbytes: number;
305
+ chunks: number;
306
+ }): {
307
+ task: "streamparse";
308
+ runid: string;
309
+ stepid: string;
310
+ chunkbytes: number;
311
+ chunks: number;
312
+ };
313
+ /** Shapes one chunkextract window task into the offscreen worker payload: the worker slices one row window and returns the advanced cursor with its partial rows. */
314
+ export declare function chunkextracttaskof(input: {
315
+ runid: string;
316
+ stepid: string;
317
+ tableid: string;
318
+ fingerprint: string;
319
+ rowindex: number;
320
+ window: number;
321
+ }): {
322
+ task: "chunkextract";
323
+ runid: string;
324
+ stepid: string;
325
+ tableid: string;
326
+ fingerprint: string;
327
+ rowindex: number;
328
+ window: number;
329
+ };
330
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * database — prisma database client and persistence logic
3
+ * one file one responsibility — only db logic lives here
4
+ * uses prisma 7 with libsql adapter for serverless vercel netlify compat
5
+ * local dev uses gateway own sqlite at web/prisma/devthink.db
6
+ * production uses remote url from DATABASE_URL when it is libsql or http
7
+ * the client is LAZY: @prisma/client loads on the first database touch,
8
+ * never at import time (a fresh consumer can import the library and run
9
+ * the cli init before the generated client exists)
10
+ */
11
+ import type { PrismaClient } from "@prisma/client";
12
+ /** db — the shared prisma client singleton, lazy (the proxy instantiates
13
+ * the client — and loads @prisma/client — on the first database touch) */
14
+ export declare const db: PrismaClient;
15
+ /** savemsg — persist a chat message to the db never throws */
16
+ export declare function savemsg(data: Record<string, unknown>): Promise<void>;
17
+ /** getsession — retrieve or create a session by id */
18
+ export declare function getsession(sessionid: string): Promise<{
19
+ sessionid: string;
20
+ messagecount: number;
21
+ } | null>;
22
+ /** getmessagessince — get messages for a session for context management */
23
+ export declare function getsessionmessages(sessionid: string, limit?: number): Promise<unknown[]>;
24
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1,270 @@
1
+ /** The debug module of the 1.1.90 consolidation: every correlated variation of the cdp instrumentation and the profilers interned in this one file, so the module family carries one surface without duplicate variations. */
2
+ import type { attachtarget, breakpointspec, cdpallowlist, cdpcommand, cdpeventrule, cdpsession, cpuprofile, flowmetric, flowspec, growsample, heaprecord, memorytrend, pausestate, scriptoverride, shiftentry, sourcemapref, stackframe, stepmode, teardownplan, traceannotation, tracerecord, watchexpression } from "./types.js";
3
+ /**
4
+ * Devtools protocol bus for the 1.1.46 debugging family.
5
+ * Every correlated rule for the reviewed instrumented devtools session lives in this file: the domain grammar, the attach and detach lifecycle with the honest derivation note, the raw command records with duration and error class, the per session command serialization in send order, the domain event rules with match filters and per domain event counts, the breakpoint input grammar, the pause state capture with call frames, the step mode grammar, the watch expression values per pause, the script override url patterns and the teardown plan that reverts every breakpoint and override and decides the resume policy when the user detaches the debugger.
6
+ * The chrome devtools protocol is unavailable without the debugger permission, which the manifest gate forbids, so every command routes through the page-instrumented harness injected through the scripting api; the derivation is recorded on every session instead of hidden.
7
+ */
8
+ /** The debugging kinds of the devtools family, listed among the available capabilities of every proposal request. */
9
+ export declare const cdpkinds: string[];
10
+ /** The reviewed devtools domain grammar: runtime evaluation, log capture, debugger state, dom snapshots, network facts and page lifecycle; the enabled subset stays a user choice bounded by this grammar only. */
11
+ export declare const cdpdomains: string[];
12
+ /** Resolves the domain of one devtools method name of the form Domain.method; malformed methods resolve to undefined. */
13
+ export declare function methoddomain(method: string): string | undefined;
14
+ /** Normalizes one reviewed devtools domain allowlist: the enabled domains bounded by the reviewed domain grammar and the optional method gates inside the enabled domains; a gate list that names no method of the enabled domains is refused. */
15
+ export declare function cdpallowlistof(value: unknown): cdpallowlist | undefined;
16
+ /** True when the allowlist covers one method: the method domain must be enabled and a present method gate list must name the method. */
17
+ export declare function allowlistcovers(allowlist: cdpallowlist, method: string): boolean;
18
+ /** Attaches one instrumented devtools session to the run tab with the reviewed enabled domains and the honest debugger derivation note. */
19
+ export declare function attachcdpsession(input: {
20
+ id: string;
21
+ runid: string;
22
+ stepid: string;
23
+ tabid: number;
24
+ origin: string;
25
+ domains: string[];
26
+ now: number;
27
+ debuggerversion: string;
28
+ }): cdpsession;
29
+ /** Detaches one session cleanly: the detach time stamps the record and the domains stay auditable after the detach. */
30
+ export declare function detachcdpsession(session: cdpsession, at: number, userdetached?: boolean): cdpsession;
31
+ /** Builds one raw protocol command record with its method, params, domain, dotted result path, duration and error class. */
32
+ export declare function sendcdpcommand(input: {
33
+ id: string;
34
+ sessionid: string;
35
+ runid: string;
36
+ stepid: string;
37
+ method: string;
38
+ params?: Record<string, unknown>;
39
+ resultpath?: string;
40
+ duration: number;
41
+ errorclass?: string;
42
+ at: number;
43
+ }): cdpcommand;
44
+ /** Appends one command to the per session send queue so concurrent commands serialize in send order. */
45
+ export declare function serializecdpcommand(queue: cdpcommand[], command: cdpcommand): cdpcommand[];
46
+ /** Normalizes one reviewed domain event rule: the domain of the reviewed grammar, the event name and the optional payload match filter. */
47
+ export declare function cdpeventruleof(value: unknown): Pick<cdpeventrule, "domain" | "event" | "match"> | undefined;
48
+ /** Matches observed domain events against the reviewed rules and counts the matched events per domain; the match filter must appear in the payload before an event forwards. */
49
+ export declare function watchcdpevents(rules: cdpeventrule[], events: Array<{
50
+ domain: string;
51
+ event: string;
52
+ payload?: string;
53
+ }>): {
54
+ matched: Array<{
55
+ ruleid: string;
56
+ domain: string;
57
+ event: string;
58
+ payload?: string;
59
+ }>;
60
+ counts: Record<string, number>;
61
+ };
62
+ /** Normalizes one reviewed breakpoint input: the script url, the zero based line, the optional column and the condition of the reviewed expression grammar. */
63
+ export declare function breakpointinputof(value: unknown): Pick<breakpointspec, "url" | "line" | "column" | "condition"> | undefined;
64
+ /** Captures one pause state from the instrumented pause: the reason, the call frames, the hit breakpoint and the dom snapshot reference of the page bridge capture. */
65
+ export declare function capturepause(input: {
66
+ id: string;
67
+ runid: string;
68
+ stepid: string;
69
+ reason: string;
70
+ callframes: stackframe[];
71
+ hitbreakpoint?: string;
72
+ domsnapshotid?: string;
73
+ at: number;
74
+ }): pausestate;
75
+ /** Normalizes one reviewed step mode of the instrumented debugger: stepover, stepinto, stepout or resume. */
76
+ export declare function stepmodeof(value: unknown): stepmode | undefined;
77
+ /** Normalizes one reviewed watch expression input: the expression text and the pause scope it evaluates in. */
78
+ export declare function watchexpressionof(value: unknown): Pick<watchexpression, "expression" | "scope"> | undefined;
79
+ /** Records one watch value captured at a pause with the pause scope correlation. */
80
+ export declare function recordwatchvalue(expression: watchexpression, pauseid: string, value: string, at: number): watchexpression;
81
+ /** Normalizes one reviewed script override input: the url pattern that names its origin explicitly and the full fixture source. */
82
+ export declare function overrideinputof(value: unknown): Pick<scriptoverride, "urlpattern" | "source"> | undefined;
83
+ /** Matches one script url against a reviewed override pattern of an explicit https origin with single star segments and double star subtrees. */
84
+ export declare function overridematches(urlpattern: string, url: string): boolean;
85
+ /** Normalizes one reviewed teardown plan: the revert steps and the resume policy of resume, pause or ask. */
86
+ export declare function teardownplanof(value: unknown): teardownplan | undefined;
87
+ /** The teardown outcome of one session: every breakpoint and override reverts, the resume policy decides the continuation and a user detach keeps the session record alive for review while the run pauses. */
88
+ export interface teardowndecision {
89
+ session: cdpsession;
90
+ revertedbreakpoints: string[];
91
+ revertedoverrides: string[];
92
+ resumepolicy: teardownplan["resumepolicy"];
93
+ paused: boolean;
94
+ keepsalive: boolean;
95
+ }
96
+ /** Tears one session down safely: the revert steps of the reviewed teardown plan revert every active breakpoint and override in order, the session detaches, and a user detach keeps the session record alive while the run pauses for review before continuing. */
97
+ export declare function teardowncdpsession(input: {
98
+ session: cdpsession;
99
+ breakpoints: breakpointspec[];
100
+ overrides: scriptoverride[];
101
+ plan: teardownplan | undefined;
102
+ userdetached: boolean;
103
+ at: number;
104
+ }): teardowndecision;
105
+ /**
106
+ * Profilers for the 1.1.47 debugging part three family.
107
+ * Every correlated rule for the reviewed flow, heap, cpu, trace and source map instruments lives in this file: the flow metric grammar with per step mark windows and blocking sums, the on demand heap snapshot records with the user chosen interval, the growth trend slopes with the flagged steps, the cpu profile records with hot functions, the layout shift entries with impacted selectors, the trace records with the reviewed category list and step annotations, the offline replay of a captured trace file, and the source map references with stack rewriting.
108
+ * The chrome devtools protocol needs the debugger permission, which the manifest gate forbids, so every measurement derives from the performance timeline buffers, the injected instrumentation probes of the page harness and the existing page seams; the derivation stays recorded on every record instead of hidden.
109
+ */
110
+ /** The profiling kinds of the debugging part three family, listed among the available capabilities of every proposal request. */
111
+ export declare const profilerkinds: string[];
112
+ /** The reviewed flow metric set: navigation, paint and largest contentful paint timings, first input delay and interaction timings, and the blocking time sums per step window. */
113
+ export declare const flowmetricnames: string[];
114
+ /** The reviewed trace category list applied to every recorded trace; the enabled subset stays a user choice bounded by this grammar only. */
115
+ export declare const tracecategories: string[];
116
+ /** Normalizes one reviewed profiling attach target: the target kind of page, iframe, worker or service worker with an explicit https url. */
117
+ export declare function attachtargetof(value: unknown): attachtarget | undefined;
118
+ /** Normalizes one reviewed flow spec: a non-empty mark prefix, a non-empty step window and a metric list of the reviewed metric set. */
119
+ export declare function flowspecof(value: unknown): flowspec | undefined;
120
+ /** One flattened performance entry of the page buffers: the name, the entry type, the start time and the duration. */
121
+ export interface perfentry {
122
+ name: string;
123
+ type: string;
124
+ start: number;
125
+ duration: number;
126
+ }
127
+ /** Resolves the reviewed step windows of a flow spec from the performance marks of the prefix: every step id of the window gains its start and end from the marks of the measured page. */
128
+ export declare function stepwindows(spec: flowspec, marks: perfentry[]): Array<{
129
+ stepid: string;
130
+ start: number;
131
+ end: number;
132
+ }>;
133
+ /** Measures one reviewed flow from the performance buffers of the page: every metric of the reviewed set carries its window start and end, its duration and the step ids it spans, navigation, paint and largest contentful paint timings come from the navigation and paint buffers, first input delay and interaction timings from the event buffers and the blocking time is summed per step window from the long task entries over the fifty millisecond threshold. */
134
+ export declare function measure(input: {
135
+ runid: string;
136
+ stepid: string;
137
+ spec: flowspec;
138
+ entries: perfentry[];
139
+ now: number;
140
+ }): flowmetric[];
141
+ /** True when the user chosen heap interval allows a new on demand snapshot: the frequency bound stays a user choice only and an absent interval always allows the capture. */
142
+ export declare function heapintervalallowed(lastcapturedat: number | undefined, interval: number | undefined, now: number): boolean;
143
+ /** Captures one on demand heap snapshot record with its byte size, node count and capture time; the counts derive from the page performance memory buffer and the dom node count because no heap profiler exists without the debugger permission. */
144
+ export declare function heapsnap(input: {
145
+ id: string;
146
+ runid: string;
147
+ stepid: string;
148
+ origin: string;
149
+ usedbytes: number;
150
+ limitbytes: number;
151
+ nodecount: number;
152
+ now: number;
153
+ }): heaprecord;
154
+ /** Records one heap growth sample taken beside a step with the used and limit bytes of the page memory buffer. */
155
+ export declare function growsampleof(input: {
156
+ id: string;
157
+ runid: string;
158
+ stepid: string;
159
+ usedbytes: number;
160
+ limitbytes: number;
161
+ now: number;
162
+ }): growsample;
163
+ /** Computes the growth trend of the heap samples: the slope in bytes per millisecond from the first to the last sample, the sample count and the flagged steps whose per step growth exceeds the reviewed slope. */
164
+ export declare function growthtrend(input: {
165
+ runid: string;
166
+ samples: growsample[];
167
+ slope: number;
168
+ now: number;
169
+ }): memorytrend;
170
+ /** One cpu sample of the profiled window: the observed function name and the sampled time in milliseconds. */
171
+ export interface cpusample {
172
+ name: string;
173
+ time: number;
174
+ }
175
+ /** Captures one cpu profile record around the step window: the profiled duration, the sample count and the hot functions ranked by their accumulated sampled time; the samples derive from the long task attribution and event timing buffers because no sampling profiler exists without the debugger permission. */
176
+ export declare function cpusnap(input: {
177
+ id: string;
178
+ runid: string;
179
+ stepid: string;
180
+ origin: string;
181
+ duration: number;
182
+ samples: cpusample[];
183
+ now: number;
184
+ }): cpuprofile;
185
+ /** Normalizes one observed layout shift entry: the shift score, the start time and the impacted element selectors derived from the shift sources of the page observer. */
186
+ export declare function shiftentryof(value: unknown): shiftentry | undefined;
187
+ /** Starts one trace record of the flow with the reviewed category list; the record stops at the reviewed window end and the exported file derives from the performance timeline buffers. */
188
+ export declare function tracestart(input: {
189
+ id: string;
190
+ runid: string;
191
+ stepid: string;
192
+ origin: string;
193
+ categories: string[];
194
+ now: number;
195
+ }): tracerecord;
196
+ /** One derived trace event of the recorded window: the name, the reviewed category and the time offset from the trace start. */
197
+ export interface traceevent {
198
+ name: string;
199
+ category: string;
200
+ offset: number;
201
+ }
202
+ /** Serializes the recorded trace into its exportable file content: the honest derived format of the performance timeline events with the reviewed categories and the step annotations, never the devtools trace binary format. */
203
+ export declare function tracetofile(trace: tracerecord, events: traceevent[]): {
204
+ content: string;
205
+ bytesize: number;
206
+ events: number;
207
+ };
208
+ /** Normalizes one reviewed trace annotation input: the step id, the label and the time offset from the trace start. */
209
+ export declare function annotationof(value: unknown): traceannotation | undefined;
210
+ /** Writes the reviewed step ids and labels into the trace metadata: every annotation aligns with the run timeline entry of its step so the replay view shows the trace beside the reviewed steps; exported traces without step annotations are refused upstream. */
211
+ export declare function annotatetrace(input: {
212
+ trace: tracerecord;
213
+ annotations: traceannotation[];
214
+ timeline: Array<{
215
+ stepid: string;
216
+ time: number;
217
+ }>;
218
+ now: number;
219
+ }): tracerecord;
220
+ /** The offline replay of one captured trace file: the events, the category counts and the step annotations of the file render without a live browser. */
221
+ export declare function replaytrace(content: string): {
222
+ traceid: string;
223
+ runid: string;
224
+ categories: Record<string, number>;
225
+ events: Array<{
226
+ name: string;
227
+ category: string;
228
+ offset: number;
229
+ stepid?: string;
230
+ }>;
231
+ annotations: traceannotation[];
232
+ };
233
+ /** Resolves the sourceMappingURL declaration of one script source: the map url resolves against the script url and scripts without a declaration have no map to capture. */
234
+ export declare function mapurlof(scripturl: string, source: string): string | undefined;
235
+ /** Builds the source map reference drafts of the loaded scripts: every script with a sourceMappingURL declaration gains its map url while the parsed state is decided by the capture. */
236
+ export declare function capturesourcemaps(input: {
237
+ runid: string;
238
+ stepid: string;
239
+ origin: string;
240
+ scripts: Array<{
241
+ url: string;
242
+ source: string;
243
+ }>;
244
+ now: number;
245
+ }): sourcemapref[];
246
+ /** Rewrites one stack location through a parsed source map: the minimal mapping lookup decodes the mappings field, walks the generated lines and resolves the original source file and line of the generated position; unparsed maps leave the location untouched. */
247
+ export declare function rewritesourcelocation(input: {
248
+ url: string;
249
+ line: number;
250
+ column?: number;
251
+ }, map: {
252
+ sources?: string[];
253
+ mappings?: string;
254
+ }): {
255
+ url: string;
256
+ line: number;
257
+ } | undefined;
258
+ /** Expires the heavy profile bytes after the user configured retention window: the snapshot bytes, sample payloads and trace file bytes drop while the byte and node counts, the sample counts, hot functions, category lists and step annotations survive. */
259
+ export declare function expireprofilerecords(input: {
260
+ heaps: heaprecord[];
261
+ profiles: cpuprofile[];
262
+ traces: tracerecord[];
263
+ retention: number | undefined;
264
+ now: number;
265
+ }): {
266
+ heaps: heaprecord[];
267
+ profiles: cpuprofile[];
268
+ traces: tracerecord[];
269
+ };
270
+ //# sourceMappingURL=debug.d.ts.map