@wenathlan/devthink 2.0.15 → 2.0.20

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 +54 -0
  2. package/{dist/bridge.d.ts → bridge.d.ts} +1 -1
  3. package/bridge.d.ts.map +1 -0
  4. package/bridge.js +1877 -0
  5. package/bun.d.ts.map +1 -0
  6. package/bun.js +52329 -0
  7. package/caps/background.json +712 -0
  8. package/caps/cli.json +360 -0
  9. package/caps/library.json +3611 -0
  10. package/caps/mcp.json +126 -0
  11. package/caps/pagebridge.json +377 -0
  12. package/caps/popup.json +51 -0
  13. package/caps/sidepanel.json +522 -0
  14. package/checksums.txt +142 -0
  15. package/cli.d.ts.map +1 -0
  16. package/{dist/cli.js → cli.js} +2 -2
  17. package/companion.d.ts.map +1 -0
  18. package/companion.js +389 -0
  19. package/crossbrowser.d.ts.map +1 -0
  20. package/crossbrowser.js +1191 -0
  21. package/dashdone.d.ts.map +1 -0
  22. package/dashdone.js +368 -0
  23. package/deno.d.ts.map +1 -0
  24. package/deno.js +52325 -0
  25. package/devthink.umd.js +52346 -0
  26. package/fixtures/bun.ts +7 -0
  27. package/fixtures/cjs.js +6 -0
  28. package/fixtures/deno.ts +6 -0
  29. package/fixtures/example-org-pagestate.json +22 -0
  30. package/fixtures/importers/automa-workflow.json +18 -0
  31. package/fixtures/importers/selenium-side.json +20 -0
  32. package/fixtures/importers/tabular-plan.csv +7 -0
  33. package/fixtures/importers/uivision-macro.json +10 -0
  34. package/fixtures/importers/v1-plan.json +13 -0
  35. package/fixtures/mcp-client.mjs +14 -0
  36. package/fixtures/pages/checkout.html +192 -0
  37. package/fixtures/pages/dashboard.html +110 -0
  38. package/fixtures/pages/feed.html +113 -0
  39. package/fixtures/pages/product-grid.html +150 -0
  40. package/fixtures/plans/form-inventory-plan.json +11 -0
  41. package/fixtures/plans/release-notes-plan.json +11 -0
  42. package/fixtures/recipes/agentscompete.json +11 -0
  43. package/fixtures/recipes/agentsforms.json +11 -0
  44. package/fixtures/recipes/agentsmonitor.json +11 -0
  45. package/fixtures/recipes/agentsreview.json +29 -0
  46. package/fixtures/recipes/agentswarm.json +11 -0
  47. package/fixtures/recipes/fillcalendar.json +12 -0
  48. package/fixtures/recipes/fillcheckout.json +13 -0
  49. package/fixtures/recipes/filldependentdropdowns.json +12 -0
  50. package/fixtures/recipes/fillfromcsv.json +13 -0
  51. package/fixtures/recipes/fillloginform.json +12 -0
  52. package/fixtures/recipes/fillmultistepwizard.json +13 -0
  53. package/fixtures/recipes/fillregistration.json +12 -0
  54. package/fixtures/recipes/fillsearchfilters.json +12 -0
  55. package/fixtures/recipes/filltypeahead.json +11 -0
  56. package/fixtures/recipes/monitoralerts.json +12 -0
  57. package/fixtures/recipes/monitoravailability.json +11 -0
  58. package/fixtures/recipes/monitornetworkquiet.json +12 -0
  59. package/fixtures/recipes/monitorpagechanges.json +11 -0
  60. package/fixtures/recipes/monitorpricechange.json +11 -0
  61. package/fixtures/recipes/monitorschedule.json +12 -0
  62. package/fixtures/recipes/scrapedynamicprices.json +13 -0
  63. package/fixtures/recipes/scrapeimagegallery.json +12 -0
  64. package/fixtures/recipes/scrapeinfinitefeed.json +13 -0
  65. package/fixtures/recipes/scrapenestedlists.json +12 -0
  66. package/fixtures/recipes/scrapeproductgrid.json +12 -0
  67. package/fixtures/recipes/scrapereviews.json +12 -0
  68. package/fixtures/recipes/scrapesearchresults.json +12 -0
  69. package/fixtures/recipes/scrapetablepagination.json +12 -0
  70. package/fixtures/recipes/testaccessibility.json +34 -0
  71. package/fixtures/recipes/testconsoleerrors.json +12 -0
  72. package/fixtures/recipes/testdeeplinks.json +12 -0
  73. package/fixtures/recipes/testformvalidation.json +13 -0
  74. package/fixtures/recipes/testlayoutshift.json +12 -0
  75. package/fixtures/recipes/testlinkcheck.json +12 -0
  76. package/fixtures/recipes/testloadtiming.json +12 -0
  77. package/fixtures/recipes/testvisualdiff.json +12 -0
  78. package/fixtures/workflows/changelog-digest-workflow.json +13 -0
  79. package/fixtures/workflows/form-survey-workflow.json +13 -0
  80. package/gallery.json +706 -0
  81. package/hardening.d.ts.map +1 -0
  82. package/hardening.js +188 -0
  83. package/headless.d.ts.map +1 -0
  84. package/headless.js +11522 -0
  85. package/http.d.ts.map +1 -0
  86. package/http.js +2165 -0
  87. package/index.cjs +54682 -0
  88. package/index.d.ts.map +1 -0
  89. package/index.js +52310 -0
  90. package/index.neutral.js +46343 -0
  91. package/{web/manifest.json → manifest.json} +1 -1
  92. package/mcp.d.ts.map +1 -0
  93. package/mcp.js +20515 -0
  94. package/memory.d.ts.map +1 -0
  95. package/{memory.ts → memory.js} +2310 -3834
  96. package/nativehost.template.json +10 -0
  97. package/node.cjs +54686 -0
  98. package/node.d.ts.map +1 -0
  99. package/pack.d.ts.map +1 -0
  100. package/pack.js +805 -0
  101. package/package.json +83 -176
  102. package/policy.d.ts.map +1 -0
  103. package/{policy.ts → policy.js} +4679 -5073
  104. package/progress.d.ts.map +1 -0
  105. package/progress.js +645 -0
  106. package/protocol.d.ts.map +1 -0
  107. package/protocol.js +8334 -0
  108. package/schemas/audit.schema.json +226 -0
  109. package/schemas/capability.schema.json +113 -0
  110. package/schemas/envelope.schema.json +162 -0
  111. package/schemas/memory.schema.json +51 -0
  112. package/schemas/observation.schema.json +113 -0
  113. package/schemas/plan.schema.json +208 -0
  114. package/schemas/progress.schema.json +126 -0
  115. package/schemas/proposal.schema.json +68 -0
  116. package/schemas/session.schema.json +82 -0
  117. package/schemas/tool.schema.json +94 -0
  118. package/server.d.ts.map +1 -0
  119. package/server.js +28877 -0
  120. package/umd-example.html +18 -0
  121. package/umd.d.ts.map +1 -0
  122. package/accounts.ts +0 -2087
  123. package/agent.ts +0 -2331
  124. package/antigravity.ts +0 -2139
  125. package/apifreeze.ts +0 -4146
  126. package/auth.ts +0 -642
  127. package/background.ts +0 -16837
  128. package/bridge.ts +0 -2080
  129. package/build.ts +0 -54
  130. package/bun.ts +0 -26
  131. package/capture.ts +0 -1614
  132. package/checksecrets.ts +0 -72
  133. package/cjs.ts +0 -9
  134. package/cli.ts +0 -3500
  135. package/commands.ts +0 -1101
  136. package/companion.ts +0 -450
  137. package/compatibility.ts +0 -37
  138. package/config.ts +0 -3137
  139. package/constants.ts +0 -943
  140. package/core.ts +0 -1473
  141. package/crossbrowser.ts +0 -1359
  142. package/dashdone.ts +0 -605
  143. package/data.ts +0 -943
  144. package/database.ts +0 -133
  145. package/debug.ts +0 -850
  146. package/deno.ts +0 -27
  147. package/devthink.ts +0 -707
  148. package/dist/accounts.d.ts +0 -409
  149. package/dist/agent.d.ts +0 -837
  150. package/dist/antigravity.d.ts +0 -380
  151. package/dist/apifreeze.d.ts +0 -113
  152. package/dist/auth.d.ts +0 -224
  153. package/dist/capture.d.ts +0 -595
  154. package/dist/cjs.d.ts +0 -6
  155. package/dist/commands.d.ts +0 -310
  156. package/dist/compatibility.d.ts +0 -17
  157. package/dist/config.d.ts +0 -1853
  158. package/dist/constants.d.ts +0 -637
  159. package/dist/core.d.ts +0 -361
  160. package/dist/data.d.ts +0 -330
  161. package/dist/database.d.ts +0 -24
  162. package/dist/debug.d.ts +0 -270
  163. package/dist/engine.d.ts +0 -74
  164. package/dist/environments.d.ts +0 -244
  165. package/dist/evidence.d.ts +0 -277
  166. package/dist/export.d.ts +0 -311
  167. package/dist/fingerprint.d.ts +0 -594
  168. package/dist/flow.d.ts +0 -300
  169. package/dist/gates.d.ts +0 -103
  170. package/dist/identity.d.ts +0 -51
  171. package/dist/ids.d.ts +0 -7
  172. package/dist/llm.d.ts +0 -652
  173. package/dist/models.d.ts +0 -1807
  174. package/dist/net.d.ts +0 -325
  175. package/dist/neutral.d.ts +0 -41
  176. package/dist/oauth.d.ts +0 -703
  177. package/dist/page.d.ts +0 -1166
  178. package/dist/perf.d.ts +0 -481
  179. package/dist/plan.d.ts +0 -134
  180. package/dist/project.d.ts +0 -395
  181. package/dist/providers.d.ts +0 -37
  182. package/dist/quota.d.ts +0 -453
  183. package/dist/recovery.d.ts +0 -621
  184. package/dist/request.d.ts +0 -1492
  185. package/dist/run.d.ts +0 -779
  186. package/dist/runtime.d.ts +0 -212
  187. package/dist/search.d.ts +0 -375
  188. package/dist/security.d.ts +0 -534
  189. package/dist/serve.d.ts +0 -136
  190. package/dist/session.d.ts +0 -296
  191. package/dist/storage.d.ts +0 -53
  192. package/dist/streaming.d.ts +0 -1119
  193. package/dist/swarm.d.ts +0 -328
  194. package/dist/tools.d.ts +0 -170
  195. package/dist/types.d.ts +0 -8357
  196. package/dist/utils.d.ts +0 -82
  197. package/dist/version.d.ts +0 -7
  198. package/dist/versionregistry.d.ts +0 -406
  199. package/dist/views.d.ts +0 -579
  200. package/dist/workbenchsession.d.ts +0 -69
  201. package/dist/workflow.d.ts +0 -649
  202. package/docs/readme.md +0 -92
  203. package/docs/schemas/antigravity.json +0 -192
  204. package/engine.ts +0 -1524
  205. package/environments.ts +0 -1005
  206. package/evidence.ts +0 -643
  207. package/export.ts +0 -889
  208. package/fingerprint.ts +0 -1458
  209. package/flow.ts +0 -1190
  210. package/gates.ts +0 -307
  211. package/gateway.ts +0 -34
  212. package/hardening.ts +0 -191
  213. package/headless.ts +0 -369
  214. package/http.ts +0 -2110
  215. package/identity.ts +0 -246
  216. package/ids.ts +0 -26
  217. package/index.ts +0 -369
  218. package/llm.ts +0 -2682
  219. package/mcp.ts +0 -1835
  220. package/models.ts +0 -3805
  221. package/modes.ts +0 -43
  222. package/net.ts +0 -1214
  223. package/neutral.ts +0 -362
  224. package/node.ts +0 -26
  225. package/oauth.ts +0 -2216
  226. package/offscreen.ts +0 -170
  227. package/pack.ts +0 -956
  228. package/page.ts +0 -7824
  229. package/pagebridge.ts +0 -1116
  230. package/perf.ts +0 -957
  231. package/plan.ts +0 -672
  232. package/plugin.ts +0 -76
  233. package/prisma.config.ts +0 -27
  234. package/progress.ts +0 -1308
  235. package/project.ts +0 -1291
  236. package/protocol.ts +0 -4187
  237. package/providers.ts +0 -246
  238. package/quota.ts +0 -1887
  239. package/recovery.ts +0 -2433
  240. package/request.ts +0 -4482
  241. package/run.ts +0 -2135
  242. package/runtime.ts +0 -526
  243. package/search.ts +0 -1760
  244. package/security.ts +0 -1673
  245. package/serve.ts +0 -419
  246. package/server.ts +0 -5538
  247. package/session.ts +0 -1162
  248. package/storage.ts +0 -182
  249. package/streaming.ts +0 -4101
  250. package/swarm.ts +0 -884
  251. package/sync.ts +0 -56
  252. package/tests/agentcert.test.ts +0 -128
  253. package/tests/agentfleet.test.ts +0 -214
  254. package/tests/agentreview.test.ts +0 -241
  255. package/tests/agentstream.test.ts +0 -335
  256. package/tests/agentwork.test.ts +0 -356
  257. package/tests/apifreeze.test.ts +0 -290
  258. package/tests/apimap.test.ts +0 -112
  259. package/tests/approvalgate.test.ts +0 -175
  260. package/tests/artifactmanifest.test.ts +0 -204
  261. package/tests/attentionfeed.test.ts +0 -163
  262. package/tests/backgroundruns.test.ts +0 -100
  263. package/tests/batchscheduling.test.ts +0 -131
  264. package/tests/blackboard.test.ts +0 -238
  265. package/tests/bridge.test.ts +0 -1088
  266. package/tests/browsercoverage.test.ts +0 -134
  267. package/tests/browserpolyfills.test.ts +0 -124
  268. package/tests/build.mjs +0 -1260
  269. package/tests/clientauth.test.ts +0 -223
  270. package/tests/clitools.test.ts +0 -578
  271. package/tests/confirmgates.test.ts +0 -190
  272. package/tests/containerpack.test.ts +0 -143
  273. package/tests/controlflow.test.ts +0 -2120
  274. package/tests/coordination.test.ts +0 -345
  275. package/tests/copyscreen.test.ts +0 -139
  276. package/tests/core.test.ts +0 -417
  277. package/tests/costcert.test.ts +0 -95
  278. package/tests/crossbrowser.test.ts +0 -115
  279. package/tests/cspaudit.test.ts +0 -79
  280. package/tests/dashdone.test.ts +0 -615
  281. package/tests/datagrid.test.ts +0 -137
  282. package/tests/doccheck.test.ts +0 -107
  283. package/tests/dombatch.test.ts +0 -109
  284. package/tests/emulation.test.ts +0 -282
  285. package/tests/environments.test.ts +0 -259
  286. package/tests/evidenceviews.test.ts +0 -88
  287. package/tests/exporttools.test.ts +0 -185
  288. package/tests/firefoxprep.test.ts +0 -134
  289. package/tests/flowlibrary.test.ts +0 -242
  290. package/tests/flowrun.test.ts +0 -303
  291. package/tests/forensics.test.ts +0 -439
  292. package/tests/gateway.test.ts +0 -939
  293. package/tests/headlesslib.test.ts +0 -171
  294. package/tests/httpstream.test.ts +0 -277
  295. package/tests/immutablelog.test.ts +0 -157
  296. package/tests/inboundguard.test.ts +0 -177
  297. package/tests/lazyload.test.ts +0 -72
  298. package/tests/librarymodes.test.ts +0 -623
  299. package/tests/llm.test.ts +0 -696
  300. package/tests/manifest.test.ts +0 -226
  301. package/tests/maskinputs.test.ts +0 -150
  302. package/tests/matrixverify.test.ts +0 -111
  303. package/tests/mavenpack.test.ts +0 -75
  304. package/tests/mcpserver.test.ts +0 -704
  305. package/tests/memory.test.ts +0 -4155
  306. package/tests/memorycare.test.ts +0 -230
  307. package/tests/migrateplan.test.ts +0 -349
  308. package/tests/minimization.test.ts +0 -414
  309. package/tests/modelroute.test.ts +0 -112
  310. package/tests/multiagent.test.ts +0 -440
  311. package/tests/nativebridge.test.ts +0 -807
  312. package/tests/navigation.test.ts +0 -284
  313. package/tests/nugetpack.test.ts +0 -83
  314. package/tests/orchestration.test.ts +0 -449
  315. package/tests/originpolicy.test.ts +0 -405
  316. package/tests/outputcompare.test.ts +0 -97
  317. package/tests/package.test.ts +0 -91
  318. package/tests/pagebridge.test.ts +0 -5909
  319. package/tests/pentest.test.ts +0 -75
  320. package/tests/perfrecords.test.ts +0 -257
  321. package/tests/permdiff.test.ts +0 -85
  322. package/tests/phishguard.test.ts +0 -128
  323. package/tests/pickerviews.test.ts +0 -155
  324. package/tests/pipelines.test.ts +0 -381
  325. package/tests/planlint.test.ts +0 -240
  326. package/tests/planreview.test.ts +0 -383
  327. package/tests/platformtargets.test.ts +0 -56
  328. package/tests/policy.test.ts +0 -8284
  329. package/tests/portability.test.ts +0 -96
  330. package/tests/progress.test.ts +0 -1036
  331. package/tests/promptlibrary.test.ts +0 -116
  332. package/tests/protocol.test.ts +0 -4793
  333. package/tests/publishingpipeline.test.ts +0 -314
  334. package/tests/quickactions.test.ts +0 -164
  335. package/tests/readiness.test.ts +0 -78
  336. package/tests/recipes.test.ts +0 -163
  337. package/tests/redactshots.test.ts +0 -216
  338. package/tests/registernvidiakeys.ts +0 -51
  339. package/tests/relayserve.test.ts +0 -304
  340. package/tests/releasenotes.test.ts +0 -276
  341. package/tests/resilience.test.ts +0 -467
  342. package/tests/resourceaware.test.ts +0 -187
  343. package/tests/runbudget.test.ts +0 -125
  344. package/tests/runhistory.test.ts +0 -299
  345. package/tests/runreplay.test.ts +0 -113
  346. package/tests/runresume.test.ts +0 -184
  347. package/tests/runstate.test.ts +0 -288
  348. package/tests/runtimeadapters.test.ts +0 -251
  349. package/tests/safariskeleton.test.ts +0 -115
  350. package/tests/sandboxframe.test.ts +0 -196
  351. package/tests/sbom.test.ts +0 -105
  352. package/tests/secretvault.test.ts +0 -188
  353. package/tests/selcache.test.ts +0 -111
  354. package/tests/sessioninterface.test.ts +0 -791
  355. package/tests/sessions.test.ts +0 -591
  356. package/tests/siteprefs.test.ts +0 -228
  357. package/tests/snapshotdelta.test.ts +0 -165
  358. package/tests/statusviews.test.ts +0 -237
  359. package/tests/stepmeter.test.ts +0 -200
  360. package/tests/streamparse.test.ts +0 -163
  361. package/tests/stylepruning.test.ts +0 -90
  362. package/tests/surfaces.test.ts +0 -282
  363. package/tests/sweep.test.ts +0 -78
  364. package/tests/syncbridge.test.ts +0 -164
  365. package/tests/taskqueue.test.ts +0 -206
  366. package/tests/toolcalls.test.ts +0 -336
  367. package/tests/toolcatalog.test.ts +0 -201
  368. package/tests/torture-agent.test.ts +0 -706
  369. package/tests/torture-auth.test.ts +0 -461
  370. package/tests/torture-commands.test.ts +0 -895
  371. package/tests/torture-data.test.ts +0 -923
  372. package/tests/torture-environments.test.ts +0 -285
  373. package/tests/torture-export.test.ts +0 -263
  374. package/tests/torture-http.test.ts +0 -1379
  375. package/tests/torture-llm.test.ts +0 -808
  376. package/tests/torture-memory.test.ts +0 -1084
  377. package/tests/torture-plan.test.ts +0 -829
  378. package/tests/torture-run.test.ts +0 -626
  379. package/tests/torture-session.test.ts +0 -928
  380. package/tests/torture-swarm.test.ts +0 -1245
  381. package/tests/torture-tools.test.ts +0 -964
  382. package/tests/torture-workflow.test.ts +0 -2354
  383. package/tests/tourviews.test.ts +0 -52
  384. package/tests/transparency.test.ts +0 -147
  385. package/tests/trigger.test.ts +0 -941
  386. package/tests/v1sunset.test.ts +0 -428
  387. package/tests/virtlist.test.ts +0 -94
  388. package/tests/vision.test.ts +0 -540
  389. package/tests/vsixpack.test.ts +0 -145
  390. package/tests/webapi.test.ts +0 -523
  391. package/tests/workflow.test.ts +0 -1785
  392. package/tests/workfloweditor.test.ts +0 -759
  393. package/tests/xpipack.test.ts +0 -128
  394. package/tools.ts +0 -734
  395. package/types.ts +0 -9908
  396. package/umd.ts +0 -9
  397. package/utils.ts +0 -249
  398. package/version.ts +0 -8
  399. package/versionregistry.ts +0 -1310
  400. package/views.ts +0 -2153
  401. package/vitest.config.ts +0 -12
  402. package/web/App.tsx +0 -78
  403. package/web/README.md +0 -47
  404. package/web/capacitor.config.ts +0 -46
  405. package/web/const.ts +0 -19
  406. package/web/control.shell.tsx +0 -66
  407. package/web/dashboardpage.ts +0 -554
  408. package/web/db.ts +0 -493
  409. package/web/design.html +0 -541
  410. package/web/gatewayview/Gateway.tsx +0 -345
  411. package/web/gatewayview/config.ts +0 -1042
  412. package/web/gatewayview/definition.ts +0 -174
  413. package/web/icons.ts +0 -15
  414. package/web/optionspage.ts +0 -691
  415. package/web/popup.ts +0 -1651
  416. package/web/schema.prisma +0 -176
  417. package/web/sidepanel.ts +0 -7941
  418. package/web/sitemanifest.json +0 -13
  419. package/web/terminal-ui.tsx +0 -622
  420. package/web/transparencypage.ts +0 -541
  421. package/web/vite.config.ts +0 -39
  422. package/web/workspace.ts +0 -23
  423. package/workbenchmemory.ts +0 -104
  424. package/workbenchsession.ts +0 -304
  425. package/workflow.ts +0 -4495
  426. /package/{dist/bun.d.ts → bun.d.ts} +0 -0
  427. /package/{dist/cli.d.ts → cli.d.ts} +0 -0
  428. /package/{dist/companion.d.ts → companion.d.ts} +0 -0
  429. /package/{dist/crossbrowser.d.ts → crossbrowser.d.ts} +0 -0
  430. /package/{dist/dashdone.d.ts → dashdone.d.ts} +0 -0
  431. /package/{dist/deno.d.ts → deno.d.ts} +0 -0
  432. /package/{dist/hardening.d.ts → hardening.d.ts} +0 -0
  433. /package/{dist/headless.d.ts → headless.d.ts} +0 -0
  434. /package/{dist/http.d.ts → http.d.ts} +0 -0
  435. /package/{dist/index.d.ts → index.d.ts} +0 -0
  436. /package/{dist/mcp.d.ts → mcp.d.ts} +0 -0
  437. /package/{dist/memory.d.ts → memory.d.ts} +0 -0
  438. /package/{dist/node.d.ts → node.d.ts} +0 -0
  439. /package/{dist/pack.d.ts → pack.d.ts} +0 -0
  440. /package/{dist/policy.d.ts → policy.d.ts} +0 -0
  441. /package/{dist/progress.d.ts → progress.d.ts} +0 -0
  442. /package/{dist/protocol.d.ts → protocol.d.ts} +0 -0
  443. /package/{dist/server.d.ts → server.d.ts} +0 -0
  444. /package/{dist/umd.d.ts → umd.d.ts} +0 -0
package/dist/flow.d.ts DELETED
@@ -1,300 +0,0 @@
1
- /**
2
- * The flow module of the 1.1.90 consolidation: every correlated variation of the flow logic interned in this one file, so the module family carries one surface without duplicate variations.
3
- * The correlation is the flow a reviewed plan travels: flowlibrary holds the template store the flow starts from (schemastrict manifest validation, publisher signature verification with quarantine, grant diffs mapped onto originprofiles, fresh consent for sensitive entries, install and fork resolution into native workflow records); flowrun executes a plan file through the same pipeline the extension runs (the grants gate, the parseworkflowproposal validation, the per step consent gates routed to the consent provider, the driver execution and the sealed immutable log chain the run writes); and syncbridge moves the same manifests between machines behind an explicit opt in with digest conflict detection, so the template a flow starts from stays the template the bridge carries.
4
- * Nothing is hardcoded: the registry origin and the endpoint of every provider stay user configured values, and no library, run or bridge path ever bypasses the human review.
5
- */
6
- import type { flowlibraryentry, flowlibrarymanifest, publishdescriptor, workflowrecord, schemaerror } from "./types.js";
7
- /** Computes the manifest digest every store deduplicates by and every sync conflict detects with. */
8
- export declare function manifestdigest(manifest: flowlibrarymanifest): Promise<string>;
9
- /** Validates one raw manifest under schemastrict: the shape errors name their path and expected shape, and the capability gate refuses kinds the installed capability set lacks. */
10
- export declare function validatemanifest(input: {
11
- manifest: unknown;
12
- capabilities: string[];
13
- }): Promise<{
14
- ok: boolean;
15
- errors: schemaerror[];
16
- reason: string;
17
- manifest?: flowlibrarymanifest;
18
- }>;
19
- /** Verifies the publisher signature of one manifest when present: the descriptor digest must match the recomputed manifest digest and the signature must seal the publisher, the digest and the provenance, so a signature over any other body refuses in full. */
20
- export declare function verifypublishersignature(manifest: flowlibrarymanifest): Promise<{
21
- verified: boolean;
22
- reason: string;
23
- }>;
24
- /** Signs one manifest with the publisher seal so tests and publishers produce verifiable descriptors; the seal covers the digest and the provenance exactly as the verification reads them. */
25
- export declare function signmanifest(manifest: flowlibrarymanifest, provenance: string, publishedat: number): Promise<publishdescriptor>;
26
- /** Builds one flowlibrary entry with its provenance attached: an unverified publisher quarantines the entry while a verified signature installs it as available. */
27
- export declare function libraryentryof(input: {
28
- manifest: flowlibrarymanifest;
29
- provenance: string;
30
- now: number;
31
- }): Promise<flowlibraryentry>;
32
- /** Reads the grant diff of one manifest against the grants the profile holds: the added grants map onto originprofiles at import time so the import dialog shows exactly what the entry would newly hold. */
33
- export declare function grantdiffof(input: {
34
- manifest: flowlibrarymanifest;
35
- heldgrants: string[];
36
- }): {
37
- added: string[];
38
- kept: string[];
39
- originmappings: Array<{
40
- origin: string;
41
- kinds: string[];
42
- }>;
43
- };
44
- /** Reads the fresh consent descriptor a sensitive manifest needs before any import completes; a non sensitive manifest needs none. */
45
- export declare function sensitiveconsentfor(manifest: flowlibrarymanifest, freshconsent: boolean): {
46
- required: boolean;
47
- reason: string;
48
- };
49
- /** Builds the proposal objective one library import lands as: the import never executes directly, it routes through the same proposal flow and plan review as every task. */
50
- export declare function libraryproposalof(entry: flowlibraryentry): {
51
- objective: string;
52
- reviewed: boolean;
53
- reason: string;
54
- };
55
- /** Resolves one manifest into a native workflow record: the steps keep their reviewed kinds while the selector namespaces rewrite for the local profile, and the record lands pending its review approval exactly like any import. */
56
- export declare function installlibrary(input: {
57
- entry: flowlibraryentry;
58
- selectornamespace?: string;
59
- now: number;
60
- }): workflowrecord;
61
- /** Diffs the versions of one library update before it replaces the local entry: the changed steps, the added grants and the version movement all surface so the update never overwrites silently. */
62
- export declare function updatelibrary(input: {
63
- incoming: flowlibraryentry;
64
- existing: flowlibraryentry;
65
- }): {
66
- changedsteps: string[];
67
- addedgrants: string[];
68
- versionfrom: string;
69
- versionto: string;
70
- replace: boolean;
71
- reason: string;
72
- };
73
- /** Reads the removal outcome of one library entry: the local forks stay untouched because a fork is an independent local workflow the store owns apart from its template. */
74
- export declare function removelibrary(input: {
75
- entry: flowlibraryentry;
76
- forks: workflowrecord[];
77
- }): {
78
- removed: string;
79
- keptforks: string[];
80
- reason: string;
81
- };
82
- /** Forks one library entry into an independent local workflow: the fork copies the steps with their rewritten selectors and owns its own name from its creation on. */
83
- export declare function forklibrary(input: {
84
- entry: flowlibraryentry;
85
- now: number;
86
- }): workflowrecord;
87
- /** Searches the flowlibrary entries for the dashboardpage browser: the query matches the title, the description and the publisher while the filter narrows the publisher, the sensitive mark or the state. */
88
- export declare function librarysearch(input: {
89
- entries: flowlibraryentry[];
90
- query?: string;
91
- filter?: {
92
- publisher?: string;
93
- sensitive?: boolean;
94
- state?: string;
95
- };
96
- }): flowlibraryentry[];
97
- /** Reads one browser row of a library entry: the publisher, the version and the required grants per entry the browser lists before any install. */
98
- export declare function librarybrowserow(entry: flowlibraryentry): {
99
- id: string;
100
- title: string;
101
- publisher: string;
102
- version: string;
103
- grants: string[];
104
- sensitive: boolean;
105
- state: string;
106
- registry?: string;
107
- };
108
- /** Reads the full step list of one library entry the entry view shows before install: every step with its kind, label, target and namespace beside the data expectations with their minimization hints. */
109
- export declare function librarystepsview(entry: flowlibraryentry): Array<{
110
- id: string;
111
- kind: string;
112
- label: string;
113
- target?: string;
114
- namespace?: string;
115
- families: string[];
116
- fields: string[];
117
- }>;
118
- /** Reads the minimization summary of one manifest: the data families its steps expect and the fields each family limits itself to. */
119
- export declare function dataexpectationssummary(manifest: flowlibrarymanifest): Array<{
120
- family: string;
121
- fields: string[];
122
- steps: string[];
123
- }>;
124
- /** Builds one library lifecycle event for the immutable log and the store: every install, update and removal records with its entry provenance. */
125
- export declare function libraryeventof(input: {
126
- kind: "install" | "update" | "remove";
127
- entryid: string;
128
- title: string;
129
- version: string;
130
- detail: string;
131
- now: number;
132
- }): {
133
- id: string;
134
- kind: "install" | "update" | "remove";
135
- entryid: string;
136
- title: string;
137
- version: string;
138
- detail: string;
139
- at: number;
140
- };
141
- /** Exports the manifest list of the flowlibrary for audit: one entry per manifest with its digest, publisher, version, state and provenance and no step payload. */
142
- export declare function exportlibrarymanifests(entries: flowlibraryentry[]): Array<{
143
- id: string;
144
- title: string;
145
- publisher: string;
146
- version: string;
147
- digest: string;
148
- state: string;
149
- provenance: string;
150
- addedat: number;
151
- }>;
152
- import type { consentprovider, flowrunevent, flowrunoutcome, flowrunrequest, flowrungate, planfile, planfilestep, storedrunlog } from "./types.js";
153
- /**
154
- * Flowrun logic of the 1.1.67 family.
155
- * The terminal executes a plan file through the same pipeline the extension runs: the request parses into its options, the plan file becomes a workflow proposal that passes the same parseworkflowproposal validation, the run never starts without an origin grant file or an interactive prompt, every sensitive step waits at its consent gate routed to the consent provider (the terminal prompt in the cli, a host callback in the headless library), every outcome lands in the sealed immutable log chain the run writes to its output directory, and the logstream events and the stepstimeline render for the terminal.
156
- * The run never skips a gate: a refused gate revokes the run, a failed step fails it, and both exit non zero.
157
- */
158
- /** The driver a flowrun executes its steps through: the extension driver rides the reviewed executor, the headless driver rides a remote browser session and the dry run driver validates without page effects. */
159
- export interface flowdriver {
160
- execute(step: planfilestep, at: number): Promise<{
161
- state: "done" | "failed";
162
- summary: string;
163
- duration: number;
164
- }>;
165
- }
166
- /** Parses one flowrun request from terminal arguments: the plan path is mandatory, the format defaults to human, the output directory defaults to the plan directory and the flags stay user choices. */
167
- export declare function parseflowrunrequest(args: string[]): flowrunrequest;
168
- /** Parses one origin grants file: a list of granted HTTPS origins the run holds for its whole duration. */
169
- export declare function parsegrantsfile(value: unknown): string[];
170
- /** Builds the workflow proposal value of one plan file so the same parseworkflowproposal validation the extension runs decides whether the run starts. */
171
- export declare function flowproposalvalue(file: planfile): Record<string, unknown>;
172
- /** Reads whether one plan file step is sensitive: the same risk and sensitive class derivation the extension runs decides which steps wait at a gate. */
173
- export declare function flowstepsensitive(step: planfilestep): boolean;
174
- /** Builds one flowrun gate wait: the gate the run holds at while the consent provider resolves it. */
175
- export declare function flowgateof(step: planfilestep, origin: string, reason: string): flowrungate;
176
- /** The dry run driver: it validates each step without page effects, so a flowrun with the dry run flag walks the plan and writes its chain without touching any browser. */
177
- export declare function dryflowdriver(): flowdriver;
178
- /** Reads the exit code of one flowrun state: a done run exits zero, a failed run exits one and a revoked run exits two. */
179
- export declare function flowrunexitcodeof(state: flowrunoutcome["state"]): number;
180
- /** Renders one flowrun event stream for the terminal: the human format prints one line per event and the json format prints one json object per line. */
181
- export declare function renderflowevents(events: flowrunevent[], format: "human" | "json"): string;
182
- /** Derives the stepstimeline rows of one flowrun from its events: one row per step with its status, summary and the gate wait it stood at. */
183
- export declare function flowtimelinerowsof(events: flowrunevent[]): Array<{
184
- stepid: string;
185
- status: "waiting" | "done" | "failed" | "revoked";
186
- summary: string;
187
- at: number;
188
- }>;
189
- /** Renders the stepstimeline of one flowrun for the terminal: one line per step row with its status marker. */
190
- export declare function renderflowtimeline(events: flowrunevent[]): string;
191
- /** Runs one plan file through the same pipeline the extension runs: the grants gate, the workflow proposal validation, the per step consent gates routed to the provider, the driver execution and the sealed immutable log chain the run writes. */
192
- export declare function runflow(input: {
193
- request: flowrunrequest;
194
- file: planfile;
195
- grants: string[];
196
- provider?: consentprovider;
197
- driver?: flowdriver;
198
- now: number;
199
- clock?: () => number;
200
- emit?: (event: flowrunevent) => void;
201
- }): Promise<{
202
- outcome: flowrunoutcome;
203
- events: flowrunevent[];
204
- log: storedrunlog;
205
- }>;
206
- /** Reads the flowrun report of one finished run: the outcome beside the rendered event stream and the terminal timeline, one json document the output directory keeps. */
207
- export declare function flowrunreport(input: {
208
- outcome: flowrunoutcome;
209
- events: flowrunevent[];
210
- }): {
211
- version: string;
212
- outcome: flowrunoutcome;
213
- events: flowrunevent[];
214
- timeline: string;
215
- };
216
- import type { syncbridgeconflict, syncbridgehook } from "./types.js";
217
- /**
218
- * Syncbridge logic of the 1.1.66 family.
219
- * The manifest sync between machines lives here: every hook declares its provider, direction and state behind an explicit opt in with no default on, the file provider moves manifests through manual import and export while the web provider stays a stub behind the opt in gate, the digest of every manifest detects conflicts and both versions surface instead of a silent overwrite, and the scope gate refuses any payload that carries a secret or a log entry because the bridge moves manifests only.
220
- * Nothing is hardcoded: the endpoint of every provider stays the user's configured value, and no hook ever turns itself on.
221
- */
222
- /** Computes the sync digest of one manifest: the canonical body the conflict detection compares across machines. */
223
- export declare function syncdigestof(manifest: flowlibrarymanifest): Promise<string>;
224
- /** Builds one syncbridge hook with its opt in off: no hook ever defaults on, the user flips the opt in from the optionspage. */
225
- export declare function syncbridgehookof(input: {
226
- provider: "file" | "web";
227
- direction: "pull" | "push" | "both";
228
- endpoint: string;
229
- now: number;
230
- }): syncbridgehook;
231
- /** Flips the explicit opt in of one hook: only the user turns a hook on or off and the state resets to idle. */
232
- export declare function syncbridgeoptinflip(hook: syncbridgehook, optin: boolean): syncbridgehook;
233
- /** Reads the provider registry the optionspage lists: the file provider with its manual import and export and the web provider stub behind the opt in gate. */
234
- export declare function syncbridgeproviders(): Array<{
235
- provider: "file" | "web";
236
- label: string;
237
- operations: string[];
238
- note: string;
239
- }>;
240
- /** Exports one manifest list as the syncbridge file payload: the manifests travel with their digests while secrets and logs never enter the payload under any flag. */
241
- export declare function syncbridgeexportpayload(manifests: flowlibrarymanifest[]): Promise<{
242
- version: 1;
243
- kind: "syncbridge";
244
- manifests: flowlibrarymanifest[];
245
- digests: string[];
246
- exclusions: string[];
247
- }>;
248
- /** Validates one syncbridge payload for import: the scope gate refuses a payload that carries secrets or log entries in full while a manifest only payload validates with its digest list. */
249
- export declare function syncbridgevalidate(payload: {
250
- kind?: string;
251
- manifests?: unknown;
252
- digests?: unknown;
253
- exclusions?: unknown;
254
- secrets?: unknown;
255
- logs?: unknown;
256
- }): {
257
- ok: boolean;
258
- reason: string;
259
- };
260
- /** Runs one pull or push scan of a hook and returns its conflict records instead of a silent overwrite: the digest comparison of every manifest id surfaces both versions whenever the digests differ. */
261
- export declare function syncbridgescan(input: {
262
- hook: syncbridgehook;
263
- local: Array<{
264
- manifestid: string;
265
- version: string;
266
- digest: string;
267
- }>;
268
- remote: Array<{
269
- manifestid: string;
270
- version: string;
271
- digest: string;
272
- }>;
273
- now: number;
274
- }): Promise<{
275
- conflicts: syncbridgeconflict[];
276
- synced: string[];
277
- reason: string;
278
- }>;
279
- /** Resolves one syncbridge conflict with a distinct user action: local keeps the local manifest, remote takes the remote one and merge defers the union to the user editor. */
280
- export declare function resolveconflict(conflict: syncbridgeconflict, resolution: "local" | "remote" | "merge", now: number): syncbridgeconflict;
281
- /** Lists the conflicts of one hook the optionspage shows with their resolve actions. */
282
- export declare function conflictsfor(conflicts: syncbridgeconflict[], hookid?: string): syncbridgeconflict[];
283
- /** Reads the web provider stub descriptor: the stub names its operations and stays honest that no network call ships before its backend exists. */
284
- export declare function webproviderstub(hook: syncbridgehook): {
285
- hookid: string;
286
- endpoint: string;
287
- optin: boolean;
288
- operations: string[];
289
- stub: true;
290
- reason: string;
291
- };
292
- /** Reads the file provider adapter of one hook: pull parses a dropped sync payload, push serializes the manifest list and list reads the local manifests; every operation moves manifests only. */
293
- export declare function fileproviderof(hook: syncbridgehook): {
294
- hookid: string;
295
- operations: Array<{
296
- kind: "pull" | "push" | "list";
297
- label: string;
298
- }>;
299
- };
300
- //# sourceMappingURL=flow.d.ts.map
package/dist/gates.d.ts DELETED
@@ -1,103 +0,0 @@
1
- /**
2
- * The gates module of the 1.1.90 consolidation: every correlated variation of the human confirmation gate logic interned in this one file, so the module family carries one surface without duplicate variations.
3
- * The correlation is the human gate itself: confirmgates holds the sensitive class gates of the run steps (confirmpay for money, confirmdelete for destruction and confirmcreds for credentials, each resolved only through one distinct human action with no timeout path and no batch approval) and approvalgate holds the remote client gates of the agent protocol (the approval raise with the full call arguments, the client identity and the called tool in every prompt, the secret redaction of the marked fields, the approve and refuse resolution with its actor and latency record and the timeout that refuses an unanswered gate by default).
4
- * No gate window, class list or batch rule is ever hardcoded anywhere in the family: every timeout stays the user's choice beside the documented default, the gate payloads show exactly what the human reviews, and no gate ever resolves without its distinct human action.
5
- */
6
- import type { confirmgate, gatekind, gateresolution, sensitiveclass, toolstep } from "./types.js";
7
- /** Maps the sensitive classes of one step to its gated family: payment classes gate through confirmpay, delete classes through confirmdelete and credential classes through confirmcreds, while publish grades and plain sensitive by default steps ride their consent window prompt alone. */
8
- export declare function gatekindfor(classes: sensitiveclass[]): gatekind | undefined;
9
- /** Builds the payload of one confirmpay gate: the amount, the payee origin and the target element of the step the human reviews. */
10
- export declare function paypayload(input: {
11
- amount?: string;
12
- payeeorigin: string;
13
- target?: string;
14
- }): Record<string, string>;
15
- /** Builds the payload of one confirmdelete gate: the target, the scope and the irreversibility of the destructive step the human reviews. */
16
- export declare function deletepayload(input: {
17
- target?: string;
18
- scope: string;
19
- irreversibility: string;
20
- }): Record<string, string>;
21
- /** Builds the payload of one confirmcreds gate: the credential label only, because the value stays behind the vault and no gate ever reveals it. */
22
- export declare function credspayload(label: string): Record<string, string>;
23
- /** Opens one confirm gate for a gated step: the payload the human reviews, the origin provenance and the open state that only an explicit user action resolves. */
24
- export declare function opengate(input: {
25
- kind: gatekind;
26
- stepid: string;
27
- runid: string;
28
- origin: string;
29
- payload: Record<string, string>;
30
- now: number;
31
- gateid?: string;
32
- }): confirmgate;
33
- /** Reads the state of the gate one step waits at: no gate, an open gate the step pauses at, a resolved gate the step passes and a refused gate the step never dispatches through. */
34
- export declare function gatestateof(gates: confirmgate[], stepid: string): {
35
- state: "none" | "open" | "resolved" | "refused";
36
- gate?: confirmgate;
37
- };
38
- /** Resolves exactly one gate through one explicit human action: the decision names its acting user, an already resolved or refused gate stays terminal, and no timeout path exists because only a human resolves a gate. */
39
- export declare function resolvegate(input: {
40
- gates: confirmgate[];
41
- gateid: string;
42
- decision: "resolved" | "refused";
43
- actor: string;
44
- now: number;
45
- }): {
46
- gates: confirmgate[];
47
- resolution?: gateresolution;
48
- };
49
- /** Refuses batch approvals: one human action resolves exactly one gate, so a resolution request that names several gates refuses in full. */
50
- export declare function nobatchresolution(gateids: string[]): {
51
- allowed: boolean;
52
- reason: string;
53
- };
54
- /** Builds the plain language prompt of one gate: confirmpay names the amount, the payee origin and the target element, confirmdelete names the target, the scope and the irreversibility, and confirmcreds names the credential label only. */
55
- export declare function gateprompttext(gate: confirmgate): string;
56
- /** Builds the gate descriptor of one gated step from its reviewed shape: the payload fields the human reviews read from the step options, the plan origin and the vault label of a credential step. */
57
- export declare function gateforstep(input: {
58
- step: Pick<toolstep, "id" | "kind" | "target" | "options">;
59
- classes: sensitiveclass[];
60
- runid: string;
61
- origin: string;
62
- credentiallabel?: string;
63
- now: number;
64
- }): confirmgate | undefined;
65
- import type { approvalrequest, approvalexec, clientidentity } from "./types.js";
66
- /**
67
- * Approval gates of the 1.1.55 agent protocol part two.
68
- * Every sensitive tool call a remote client raises lands behind a human approval gate in this file: the gate raise with the full call arguments, the client identity and the called tool in every prompt, the secret redaction of the fields the user marked secret, the approve and refuse resolution with its actor and latency record, and the timeout that refuses an unanswered gate by default.
69
- * The gates never bypass review: an approved gate executes exactly the call it holds while refused and expired gates never execute anything.
70
- */
71
- /** The documented default approval window of two minutes; any user configured window wins and an unanswered gate refuses by default. */
72
- export declare const defaultapprovalwindowms = 120000;
73
- /** Raises one approval gate for a sensitive tool call: the full call arguments, the reason in plain language, the fields the user marked secret and the timeout that refuses by default. */
74
- export declare function requireapproval(input: {
75
- clientid: string;
76
- tool: string;
77
- reason: string;
78
- params: Record<string, unknown>;
79
- now: number;
80
- timeout?: number;
81
- secretfields?: string[];
82
- id?: string;
83
- }): approvalrequest;
84
- /** Resolves one pending approval gate: the decision of the acting user closes the gate and returns the execution record with the latency from the raise; already closed gates stay untouched. */
85
- export declare function resolveapproval(input: {
86
- requests: approvalrequest[];
87
- id: string;
88
- decision: "approved" | "refused";
89
- actor: string;
90
- now: number;
91
- }): {
92
- requests: approvalrequest[];
93
- exec?: approvalexec;
94
- };
95
- /** Expires every unanswered approval gate past its timeout window: the default disposition of an expired gate is refusal and the records stay for the audit trail. */
96
- export declare function expireapprovals(requests: approvalrequest[], now: number): approvalrequest[];
97
- /** Returns the pending and resolved gates of the approval view, newest raise first. */
98
- export declare function listapprovals(requests: approvalrequest[]): approvalrequest[];
99
- /** Redacts the call arguments of one approval prompt: every field the user marked secret carries its redaction marker while the rest of the arguments stay visible for review. */
100
- export declare function redactparams(params: Record<string, unknown>, secretfields: string[]): Record<string, unknown>;
101
- /** Builds the plain language approval prompt every gate surfaces: the client identity, the called tool, the reason and the full call arguments with the secret fields redacted. */
102
- export declare function approvalprompt(request: approvalrequest, identity?: clientidentity): string;
103
- //# sourceMappingURL=gates.d.ts.map
@@ -1,51 +0,0 @@
1
- import { type DevThinkPaths } from "./config.js";
2
- export type DevThinkIdentity = {
3
- version: 1;
4
- userId: string;
5
- deviceId: string;
6
- createdAt: string;
7
- };
8
- export type PairingRecord = {
9
- id: string;
10
- userId: string;
11
- deviceId: string;
12
- codeHash?: string;
13
- createdAt: string;
14
- expiresAt: number;
15
- usedAt?: string;
16
- revokedAt?: string;
17
- };
18
- export type BrowserSession = {
19
- id: string;
20
- userId: string;
21
- deviceId: string;
22
- tokenHash: string;
23
- createdAt: string;
24
- expiresAt: number;
25
- revokedAt?: string;
26
- };
27
- export declare function normalizePublicUserId(value: string): string;
28
- export declare function getIdentity(paths: DevThinkPaths): DevThinkIdentity;
29
- /** Updates the public local-person identifier and migrates active local pairing records. */
30
- export declare function setIdentityUserId(paths: DevThinkPaths, requestedUserId: string): DevThinkIdentity;
31
- export declare function createPairing(paths: DevThinkPaths, lifetimeMs?: number): {
32
- identity: DevThinkIdentity;
33
- pairingId: string;
34
- code: string;
35
- expiresAt: number;
36
- };
37
- /** Builds a one-time workbench invitation without embedding any provider credential. */
38
- export declare function createPairingLink(pagesUrl: string | undefined, gatewayUrl: string | undefined, pairingId: string, oneTimeCode: string): string | undefined;
39
- export declare function consumePairing(paths: DevThinkPaths, pairingId: string, oneTimeCode: string, sessionLifetimeMs?: number): {
40
- token: string;
41
- identity: DevThinkIdentity;
42
- expiresAt: number;
43
- } | undefined;
44
- export declare function verifyBrowserSession(paths: DevThinkPaths, token: string | undefined): BrowserSession | undefined;
45
- export declare function revokeBrowserSessions(paths: DevThinkPaths): number;
46
- export declare function pairingStatus(paths: DevThinkPaths): {
47
- identity: DevThinkIdentity;
48
- activePairs: number;
49
- activeSessions: number;
50
- };
51
- //# sourceMappingURL=identity.d.ts.map
package/dist/ids.d.ts DELETED
@@ -1,7 +0,0 @@
1
- /** Generates a 50-bit compact suffix that avoids ambiguous characters. */
2
- export declare function compactToken(): string;
3
- /** Creates a short identifier such as `s_1e9k2m7v3q`; existing longer IDs remain valid inputs. */
4
- export declare function createCompactId(prefix: string): string;
5
- /** Identifies the compact format without rejecting existing legacy identifiers. */
6
- export declare function isCompactId(value: string): boolean;
7
- //# sourceMappingURL=ids.d.ts.map