waterplane 0.1.25 → 0.1.26

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 (342) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/SECURITY.md +24 -4
  3. package/node_modules/@waterplane/shared/dist/agentseries/compare.d.ts +8 -0
  4. package/node_modules/@waterplane/shared/dist/agentseries/compare.js +103 -0
  5. package/node_modules/@waterplane/shared/dist/agentseries/compare.js.map +1 -0
  6. package/node_modules/@waterplane/shared/dist/agentseries/markers.d.ts +17 -0
  7. package/node_modules/@waterplane/shared/dist/agentseries/markers.js +125 -0
  8. package/node_modules/@waterplane/shared/dist/agentseries/markers.js.map +1 -0
  9. package/node_modules/@waterplane/shared/dist/agentseries/series.d.ts +16 -0
  10. package/node_modules/@waterplane/shared/dist/agentseries/series.js +93 -0
  11. package/node_modules/@waterplane/shared/dist/agentseries/series.js.map +1 -0
  12. package/node_modules/@waterplane/shared/dist/agentseries/stats.d.ts +8 -0
  13. package/node_modules/@waterplane/shared/dist/agentseries/stats.js +33 -0
  14. package/node_modules/@waterplane/shared/dist/agentseries/stats.js.map +1 -0
  15. package/node_modules/@waterplane/shared/dist/agentseries/types.d.ts +103 -0
  16. package/node_modules/@waterplane/shared/dist/agentseries/types.js +11 -0
  17. package/node_modules/@waterplane/shared/dist/agentseries/types.js.map +1 -0
  18. package/node_modules/@waterplane/shared/dist/agentseries.d.ts +10 -0
  19. package/node_modules/@waterplane/shared/dist/agentseries.js +11 -0
  20. package/node_modules/@waterplane/shared/dist/agentseries.js.map +1 -0
  21. package/node_modules/@waterplane/shared/dist/calday.d.ts +5 -0
  22. package/node_modules/@waterplane/shared/dist/calday.js +10 -0
  23. package/node_modules/@waterplane/shared/dist/calday.js.map +1 -1
  24. package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.d.ts +13 -1
  25. package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js +22 -4
  26. package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js.map +1 -1
  27. package/node_modules/@waterplane/shared/dist/clihealth.d.ts +1 -1
  28. package/node_modules/@waterplane/shared/dist/clihealth.js +1 -1
  29. package/node_modules/@waterplane/shared/dist/clihealth.js.map +1 -1
  30. package/node_modules/@waterplane/shared/dist/dictate.d.ts +6 -0
  31. package/node_modules/@waterplane/shared/dist/dictate.js.map +1 -1
  32. package/node_modules/@waterplane/shared/dist/dictatemodels.d.ts +23 -0
  33. package/node_modules/@waterplane/shared/dist/dictatemodels.js +31 -0
  34. package/node_modules/@waterplane/shared/dist/dictatemodels.js.map +1 -0
  35. package/node_modules/@waterplane/shared/dist/healthspend.d.ts +23 -0
  36. package/node_modules/@waterplane/shared/dist/healthspend.js +31 -0
  37. package/node_modules/@waterplane/shared/dist/healthspend.js.map +1 -1
  38. package/node_modules/@waterplane/shared/dist/index.d.ts +7 -0
  39. package/node_modules/@waterplane/shared/dist/index.js +7 -0
  40. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  41. package/node_modules/@waterplane/shared/dist/installrow.js +10 -0
  42. package/node_modules/@waterplane/shared/dist/installrow.js.map +1 -1
  43. package/node_modules/@waterplane/shared/dist/itempaths.d.ts +23 -0
  44. package/node_modules/@waterplane/shared/dist/itempaths.js +38 -0
  45. package/node_modules/@waterplane/shared/dist/itempaths.js.map +1 -1
  46. package/node_modules/@waterplane/shared/dist/pluginlaunch.d.ts +3 -2
  47. package/node_modules/@waterplane/shared/dist/pluginlaunch.js +1 -1
  48. package/node_modules/@waterplane/shared/dist/pluginlaunch.js.map +1 -1
  49. package/node_modules/@waterplane/shared/dist/pricelist.d.ts +57 -0
  50. package/node_modules/@waterplane/shared/dist/pricelist.js +128 -0
  51. package/node_modules/@waterplane/shared/dist/pricelist.js.map +1 -0
  52. package/node_modules/@waterplane/shared/dist/pricing.d.ts +86 -9
  53. package/node_modules/@waterplane/shared/dist/pricing.js +140 -20
  54. package/node_modules/@waterplane/shared/dist/pricing.js.map +1 -1
  55. package/node_modules/@waterplane/shared/dist/queue/queuelanestate.d.ts +14 -0
  56. package/node_modules/@waterplane/shared/dist/queue/queuelanestate.js +25 -0
  57. package/node_modules/@waterplane/shared/dist/queue/queuelanestate.js.map +1 -0
  58. package/node_modules/@waterplane/shared/dist/queue/queueplan.d.ts +4 -0
  59. package/node_modules/@waterplane/shared/dist/queue/queueplan.js +21 -0
  60. package/node_modules/@waterplane/shared/dist/queue/queueplan.js.map +1 -1
  61. package/node_modules/@waterplane/shared/dist/queue/queuewords.js +2 -1
  62. package/node_modules/@waterplane/shared/dist/queue/queuewords.js.map +1 -1
  63. package/node_modules/@waterplane/shared/dist/queue.d.ts +2 -0
  64. package/node_modules/@waterplane/shared/dist/queue.js +1 -0
  65. package/node_modules/@waterplane/shared/dist/queue.js.map +1 -1
  66. package/node_modules/@waterplane/shared/dist/skillstate.d.ts +51 -0
  67. package/node_modules/@waterplane/shared/dist/skillstate.js +176 -0
  68. package/node_modules/@waterplane/shared/dist/skillstate.js.map +1 -0
  69. package/node_modules/@waterplane/shared/dist/skillwords.d.ts +10 -0
  70. package/node_modules/@waterplane/shared/dist/skillwords.js +18 -0
  71. package/node_modules/@waterplane/shared/dist/skillwords.js.map +1 -0
  72. package/node_modules/@waterplane/shared/dist/wire/agentreadings.d.ts +147 -3
  73. package/node_modules/@waterplane/shared/dist/wire/agentreadings.js +29 -0
  74. package/node_modules/@waterplane/shared/dist/wire/agentreadings.js.map +1 -1
  75. package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +2 -0
  76. package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +4 -0
  77. package/node_modules/@waterplane/shared/dist/wire/dictatesetup.d.ts +42 -0
  78. package/node_modules/@waterplane/shared/dist/wire/dictatesetup.js +9 -0
  79. package/node_modules/@waterplane/shared/dist/wire/dictatesetup.js.map +1 -0
  80. package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.d.ts +22 -1
  81. package/node_modules/@waterplane/shared/dist/wire/skills.d.ts +142 -0
  82. package/node_modules/@waterplane/shared/dist/wire/skills.js +6 -0
  83. package/node_modules/@waterplane/shared/dist/wire/skills.js.map +1 -0
  84. package/node_modules/@waterplane/shared/dist/wire/sysstat.d.ts +17 -0
  85. package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +4 -0
  86. package/npm-shrinkwrap.json +2 -2
  87. package/package.json +1 -1
  88. package/packages/extensions/diskspace/waterplane-plugin.json +16 -0
  89. package/packages/extensions/links/waterplane-plugin.json +18 -0
  90. package/packages/host/dist/agentclass.d.ts +42 -31
  91. package/packages/host/dist/agentclass.js +155 -5
  92. package/packages/host/dist/agentclass.js.map +1 -1
  93. package/packages/host/dist/agentmarkers.d.ts +49 -0
  94. package/packages/host/dist/agentmarkers.js +255 -0
  95. package/packages/host/dist/agentmarkers.js.map +1 -0
  96. package/packages/host/dist/agentreadings.d.ts +30 -2
  97. package/packages/host/dist/agentreadings.js +89 -7
  98. package/packages/host/dist/agentreadings.js.map +1 -1
  99. package/packages/host/dist/agentscan.d.ts +1 -1
  100. package/packages/host/dist/agentscan.js +107 -9
  101. package/packages/host/dist/agentscan.js.map +1 -1
  102. package/packages/host/dist/archive.js +9 -3
  103. package/packages/host/dist/archive.js.map +1 -1
  104. package/packages/host/dist/artifacts.js +4 -7
  105. package/packages/host/dist/artifacts.js.map +1 -1
  106. package/packages/host/dist/askrules.js +12 -4
  107. package/packages/host/dist/askrules.js.map +1 -1
  108. package/packages/host/dist/auth.d.ts +1 -0
  109. package/packages/host/dist/auth.js +5 -3
  110. package/packages/host/dist/auth.js.map +1 -1
  111. package/packages/host/dist/autopull.js +4 -8
  112. package/packages/host/dist/autopull.js.map +1 -1
  113. package/packages/host/dist/backends/claude.js +1 -0
  114. package/packages/host/dist/backends/claude.js.map +1 -1
  115. package/packages/host/dist/backends/derive.js +3 -1
  116. package/packages/host/dist/backends/derive.js.map +1 -1
  117. package/packages/host/dist/binguard.js +19 -2
  118. package/packages/host/dist/binguard.js.map +1 -1
  119. package/packages/host/dist/capture.js +7 -10
  120. package/packages/host/dist/capture.js.map +1 -1
  121. package/packages/host/dist/clifixtures.d.ts +24 -4
  122. package/packages/host/dist/clifixtures.js +50 -10
  123. package/packages/host/dist/clifixtures.js.map +1 -1
  124. package/packages/host/dist/clihealth.d.ts +8 -2
  125. package/packages/host/dist/clihealth.js +11 -3
  126. package/packages/host/dist/clihealth.js.map +1 -1
  127. package/packages/host/dist/costwindow.js +4 -2
  128. package/packages/host/dist/costwindow.js.map +1 -1
  129. package/packages/host/dist/ctxlog/ctxagents.d.ts +2 -0
  130. package/packages/host/dist/ctxlog/ctxagents.js +5 -5
  131. package/packages/host/dist/ctxlog/ctxagents.js.map +1 -1
  132. package/packages/host/dist/ctxlog/ctxcursor.d.ts +2 -0
  133. package/packages/host/dist/ctxlog/ctxcursor.js +2 -2
  134. package/packages/host/dist/ctxlog/ctxcursor.js.map +1 -1
  135. package/packages/host/dist/ctxlog/ctxupdate.js +11 -6
  136. package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
  137. package/packages/host/dist/deliver/deliverknobs.d.ts +0 -2
  138. package/packages/host/dist/deliver/deliverknobs.js +0 -2
  139. package/packages/host/dist/deliver/deliverknobs.js.map +1 -1
  140. package/packages/host/dist/deliver/deliverproof.d.ts +3 -2
  141. package/packages/host/dist/deliver/deliverproof.js +9 -8
  142. package/packages/host/dist/deliver/deliverproof.js.map +1 -1
  143. package/packages/host/dist/deliver/deliverreturn.d.ts +3 -2
  144. package/packages/host/dist/deliver/deliverreturn.js +13 -12
  145. package/packages/host/dist/deliver/deliverreturn.js.map +1 -1
  146. package/packages/host/dist/deliver/deliverrun.js +20 -18
  147. package/packages/host/dist/deliver/deliverrun.js.map +1 -1
  148. package/packages/host/dist/deliver/deliverscreen.d.ts +2 -1
  149. package/packages/host/dist/deliver/deliverscreen.js +9 -8
  150. package/packages/host/dist/deliver/deliverscreen.js.map +1 -1
  151. package/packages/host/dist/deliver/delivertypes.d.ts +4 -0
  152. package/packages/host/dist/deliver.js +2 -1
  153. package/packages/host/dist/deliver.js.map +1 -1
  154. package/packages/host/dist/dictate.d.ts +11 -0
  155. package/packages/host/dist/dictate.js +20 -10
  156. package/packages/host/dist/dictate.js.map +1 -1
  157. package/packages/host/dist/dictatesetup.d.ts +54 -0
  158. package/packages/host/dist/dictatesetup.js +261 -0
  159. package/packages/host/dist/dictatesetup.js.map +1 -0
  160. package/packages/host/dist/doctor.js +1 -1
  161. package/packages/host/dist/doctor.js.map +1 -1
  162. package/packages/host/dist/exposurepush.js +2 -2
  163. package/packages/host/dist/exposurepush.js.map +1 -1
  164. package/packages/host/dist/extensions/diskspace/host/candidates.d.mts +180 -0
  165. package/packages/host/dist/extensions/diskspace/host/candidates.mjs +716 -0
  166. package/packages/host/dist/extensions/diskspace/host/candidates.mjs.map +1 -0
  167. package/packages/host/dist/extensions/diskspace/host/engine.d.mts +21 -0
  168. package/packages/host/dist/extensions/diskspace/host/engine.mjs +498 -0
  169. package/packages/host/dist/extensions/diskspace/host/engine.mjs.map +1 -0
  170. package/packages/host/dist/extensions/diskspace/host/index.d.mts +25 -0
  171. package/packages/host/dist/extensions/diskspace/host/index.mjs +135 -0
  172. package/packages/host/dist/extensions/diskspace/host/index.mjs.map +1 -0
  173. package/packages/host/dist/extensions/diskspace/host/large.d.mts +11 -0
  174. package/packages/host/dist/extensions/diskspace/host/large.mjs +56 -0
  175. package/packages/host/dist/extensions/diskspace/host/large.mjs.map +1 -0
  176. package/packages/host/dist/extensions/diskspace/host/run.d.mts +94 -0
  177. package/packages/host/dist/extensions/diskspace/host/run.mjs +200 -0
  178. package/packages/host/dist/extensions/diskspace/host/run.mjs.map +1 -0
  179. package/packages/host/dist/extensions/diskspace/shared/wire.d.mts +197 -0
  180. package/packages/host/dist/extensions/diskspace/shared/wire.mjs +23 -0
  181. package/packages/host/dist/extensions/diskspace/shared/wire.mjs.map +1 -0
  182. package/packages/host/dist/extensions/links/host/engine.d.mts +39 -0
  183. package/packages/host/dist/extensions/links/host/engine.mjs +285 -0
  184. package/packages/host/dist/extensions/links/host/engine.mjs.map +1 -0
  185. package/packages/host/dist/extensions/links/host/index.d.mts +10 -0
  186. package/packages/host/dist/extensions/links/host/index.mjs +72 -0
  187. package/packages/host/dist/extensions/links/host/index.mjs.map +1 -0
  188. package/packages/host/dist/extensions/links/host/parse.d.mts +61 -0
  189. package/packages/host/dist/extensions/links/host/parse.mjs +225 -0
  190. package/packages/host/dist/extensions/links/host/parse.mjs.map +1 -0
  191. package/packages/host/dist/extensions/links/host/run.d.mts +15 -0
  192. package/packages/host/dist/extensions/links/host/run.mjs +32 -0
  193. package/packages/host/dist/extensions/links/host/run.mjs.map +1 -0
  194. package/packages/host/dist/extensions/links/host/store.d.mts +11 -0
  195. package/packages/host/dist/extensions/links/host/store.mjs +76 -0
  196. package/packages/host/dist/extensions/links/host/store.mjs.map +1 -0
  197. package/packages/host/dist/extensions/links/shared/wire.d.mts +141 -0
  198. package/packages/host/dist/extensions/links/shared/wire.mjs +20 -0
  199. package/packages/host/dist/extensions/links/shared/wire.mjs.map +1 -0
  200. package/packages/host/dist/git.d.ts +5 -3
  201. package/packages/host/dist/git.js +16 -28
  202. package/packages/host/dist/git.js.map +1 -1
  203. package/packages/host/dist/halt.js +16 -3
  204. package/packages/host/dist/halt.js.map +1 -1
  205. package/packages/host/dist/jsonstore.d.ts +16 -4
  206. package/packages/host/dist/jsonstore.js +32 -8
  207. package/packages/host/dist/jsonstore.js.map +1 -1
  208. package/packages/host/dist/landedbase.d.ts +41 -0
  209. package/packages/host/dist/landedbase.js +59 -0
  210. package/packages/host/dist/landedbase.js.map +1 -0
  211. package/packages/host/dist/lantls.js +2 -2
  212. package/packages/host/dist/lantls.js.map +1 -1
  213. package/packages/host/dist/limitretry.js +2 -3
  214. package/packages/host/dist/limitretry.js.map +1 -1
  215. package/packages/host/dist/localledger.js +9 -12
  216. package/packages/host/dist/localledger.js.map +1 -1
  217. package/packages/host/dist/main.js +2 -0
  218. package/packages/host/dist/main.js.map +1 -1
  219. package/packages/host/dist/opendeliveries.d.ts +4 -0
  220. package/packages/host/dist/opendeliveries.js +27 -1
  221. package/packages/host/dist/opendeliveries.js.map +1 -1
  222. package/packages/host/dist/plugins/setupcontrib.js +3 -2
  223. package/packages/host/dist/plugins/setupcontrib.js.map +1 -1
  224. package/packages/host/dist/pricefetch.d.ts +80 -0
  225. package/packages/host/dist/pricefetch.js +289 -0
  226. package/packages/host/dist/pricefetch.js.map +1 -0
  227. package/packages/host/dist/pricegap.d.ts +11 -0
  228. package/packages/host/dist/pricegap.js +30 -0
  229. package/packages/host/dist/pricegap.js.map +1 -0
  230. package/packages/host/dist/repohealthscopes.js +16 -24
  231. package/packages/host/dist/repohealthscopes.js.map +1 -1
  232. package/packages/host/dist/repos.d.ts +4 -0
  233. package/packages/host/dist/repos.js +1 -1
  234. package/packages/host/dist/repos.js.map +1 -1
  235. package/packages/host/dist/routes/apiagentpoints.d.ts +5 -0
  236. package/packages/host/dist/routes/apiagentpoints.js +48 -0
  237. package/packages/host/dist/routes/apiagentpoints.js.map +1 -0
  238. package/packages/host/dist/routes/apidictate.d.ts +2 -0
  239. package/packages/host/dist/routes/apidictate.js +27 -0
  240. package/packages/host/dist/routes/apidictate.js.map +1 -0
  241. package/packages/host/dist/routes/apihost.js +3 -2
  242. package/packages/host/dist/routes/apihost.js.map +1 -1
  243. package/packages/host/dist/routes/apirepofiles.js +3 -1
  244. package/packages/host/dist/routes/apirepofiles.js.map +1 -1
  245. package/packages/host/dist/routes/apirepowork.js +3 -2
  246. package/packages/host/dist/routes/apirepowork.js.map +1 -1
  247. package/packages/host/dist/routes/apiroutes.js +4 -1
  248. package/packages/host/dist/routes/apiroutes.js.map +1 -1
  249. package/packages/host/dist/routes/apiskills.d.ts +3 -0
  250. package/packages/host/dist/routes/apiskills.js +81 -0
  251. package/packages/host/dist/routes/apiskills.js.map +1 -0
  252. package/packages/host/dist/routes/apistats.js +2 -2
  253. package/packages/host/dist/routes/apistats.js.map +1 -1
  254. package/packages/host/dist/server/billingwire.js +5 -0
  255. package/packages/host/dist/server/billingwire.js.map +1 -1
  256. package/packages/host/dist/server/deliveries.d.ts +4 -1
  257. package/packages/host/dist/server/deliveries.js +38 -6
  258. package/packages/host/dist/server/deliveries.js.map +1 -1
  259. package/packages/host/dist/server/intentDeps.js +7 -6
  260. package/packages/host/dist/server/intentDeps.js.map +1 -1
  261. package/packages/host/dist/server/wsops.js +2 -1
  262. package/packages/host/dist/server/wsops.js.map +1 -1
  263. package/packages/host/dist/sessions/core.d.ts +1 -0
  264. package/packages/host/dist/sessions/ctxseries.js +7 -5
  265. package/packages/host/dist/sessions/ctxseries.js.map +1 -1
  266. package/packages/host/dist/sessions/drive.d.ts +6 -1
  267. package/packages/host/dist/sessions/drive.js +13 -10
  268. package/packages/host/dist/sessions/drive.js.map +1 -1
  269. package/packages/host/dist/sessions/record.js +16 -17
  270. package/packages/host/dist/sessions/record.js.map +1 -1
  271. package/packages/host/dist/sessions/sidechannel.js +1 -1
  272. package/packages/host/dist/sessions/sidechannel.js.map +1 -1
  273. package/packages/host/dist/sessions/turn.js +5 -0
  274. package/packages/host/dist/sessions/turn.js.map +1 -1
  275. package/packages/host/dist/sessions.d.ts +2 -1
  276. package/packages/host/dist/sessions.js +1 -1
  277. package/packages/host/dist/sessions.js.map +1 -1
  278. package/packages/host/dist/settle.d.ts +3 -2
  279. package/packages/host/dist/settle.js +13 -13
  280. package/packages/host/dist/settle.js.map +1 -1
  281. package/packages/host/dist/sidecar/sidecarname.d.ts +2 -0
  282. package/packages/host/dist/sidecar/sidecarname.js +5 -1
  283. package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
  284. package/packages/host/dist/sidecar/sidecarroute.d.ts +1 -1
  285. package/packages/host/dist/sidecar/sidecarroute.js +5 -0
  286. package/packages/host/dist/sidecar/sidecarroute.js.map +1 -1
  287. package/packages/host/dist/sidecar.d.ts +1 -1
  288. package/packages/host/dist/sidecar.js +1 -1
  289. package/packages/host/dist/sidecar.js.map +1 -1
  290. package/packages/host/dist/skills/skillinventory.d.ts +23 -0
  291. package/packages/host/dist/skills/skillinventory.js +275 -0
  292. package/packages/host/dist/skills/skillinventory.js.map +1 -0
  293. package/packages/host/dist/skills/skilllayers.d.ts +28 -0
  294. package/packages/host/dist/skills/skilllayers.js +73 -0
  295. package/packages/host/dist/skills/skilllayers.js.map +1 -0
  296. package/packages/host/dist/skills/skillrecommend.d.ts +42 -0
  297. package/packages/host/dist/skills/skillrecommend.js +171 -0
  298. package/packages/host/dist/skills/skillrecommend.js.map +1 -0
  299. package/packages/host/dist/skills/skillrefs.d.ts +2 -0
  300. package/packages/host/dist/skills/skillrefs.js +50 -0
  301. package/packages/host/dist/skills/skillrefs.js.map +1 -0
  302. package/packages/host/dist/skills/skilluse.d.ts +57 -0
  303. package/packages/host/dist/skills/skilluse.js +242 -0
  304. package/packages/host/dist/skills/skilluse.js.map +1 -0
  305. package/packages/host/dist/skills/skillweight.d.ts +18 -0
  306. package/packages/host/dist/skills/skillweight.js +69 -0
  307. package/packages/host/dist/skills/skillweight.js.map +1 -0
  308. package/packages/host/dist/skills/skillwrite.d.ts +56 -0
  309. package/packages/host/dist/skills/skillwrite.js +183 -0
  310. package/packages/host/dist/skills/skillwrite.js.map +1 -0
  311. package/packages/host/dist/sysstat.d.ts +34 -1
  312. package/packages/host/dist/sysstat.js +82 -14
  313. package/packages/host/dist/sysstat.js.map +1 -1
  314. package/packages/host/dist/tokenscan.js +5 -2
  315. package/packages/host/dist/tokenscan.js.map +1 -1
  316. package/packages/host/dist/tokenstats.js +7 -4
  317. package/packages/host/dist/tokenstats.js.map +1 -1
  318. package/packages/host/dist/transcript/transcriptparse.js +2 -2
  319. package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
  320. package/packages/host/dist/waitclock.d.ts +12 -0
  321. package/packages/host/dist/waitclock.js +23 -0
  322. package/packages/host/dist/waitclock.js.map +1 -0
  323. package/packages/host/dist/worktreeleftover.js +13 -15
  324. package/packages/host/dist/worktreeleftover.js.map +1 -1
  325. package/packages/web/dist/assets/demo-DHkwSmU5.js +26 -0
  326. package/packages/web/dist/assets/{icons-D8RlmSLR.js → icons-5lVTFNUU.js} +1 -1
  327. package/packages/web/dist/assets/index-Bh4cH6X8.js +170 -0
  328. package/packages/web/dist/assets/index-F7VHtsLI.css +1 -0
  329. package/packages/web/dist/assets/shared-BvQMg9ra.js +51 -0
  330. package/packages/web/dist/assets/sheets-Cwi72V02.js +257 -0
  331. package/packages/web/dist/assets/sheets-DjU2XiUd.css +1 -0
  332. package/packages/web/dist/build-id.txt +1 -1
  333. package/packages/web/dist/buildstamp.json +1 -1
  334. package/packages/web/dist/index.html +7 -7
  335. package/packages/web/dist/sw.js +2 -2
  336. package/release.json +11 -3
  337. package/packages/web/dist/assets/demo-mKJo0QVO.js +0 -26
  338. package/packages/web/dist/assets/index-B6f7Lcp1.js +0 -170
  339. package/packages/web/dist/assets/index-DQIK94fc.css +0 -1
  340. package/packages/web/dist/assets/shared-Cd69oxHd.js +0 -51
  341. package/packages/web/dist/assets/sheets-BImsk1_Y.js +0 -256
  342. package/packages/web/dist/assets/sheets-DoUhPGK0.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"opendeliveries.js","sourceRoot":"","sources":["../src/opendeliveries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opendeliveries.js","sourceRoot":"","sources":["../src/opendeliveries.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { BACKENDS, backendInfos } from "../backends/index.js";
2
2
  import { onPath } from "../pathx.js";
3
3
  import { existsSync } from "node:fs";
4
4
  import { TAILSCALE_WATCHDOG_FIX, installTailscaleWatchdog, tailscaleWatchdogRow } from "../tailscaleguard.js";
5
+ import { livePriceListRow } from "../pricefetch.js";
5
6
  let source = null;
6
7
  export function setSetupSource(s) { source = s; }
7
8
  /** The fix ids active plugins and extensions answer right now; none without a registry. */
@@ -19,8 +20,8 @@ export function contributedChecks(worktree) {
19
20
  * subject is the root the repos are found under.
20
21
  */
21
22
  export function hostChecks(root) {
22
- // Core's own desktop rows first (`tailscaleguard.ts`, the backends' version drift), then the contributed ones.
23
- const core = [tailscaleWatchdogRow(), ...backendCliRows(), ...backendDriftRows()].filter((c) => c !== null);
23
+ // Core's own desktop rows first (`tailscaleguard.ts`, the price list, the backends' version drift), then the contributed ones.
24
+ const core = [tailscaleWatchdogRow(), livePriceListRow(), ...backendCliRows(), ...backendDriftRows()].filter((c) => c !== null);
24
25
  return [...core, ...(source ? source.setupChecks({ worktree: root }).filter((c) => c.scope === "host") : [])];
25
26
  }
26
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"setupcontrib.js","sourceRoot":"","sources":["../../src/plugins/setupcontrib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupcontrib.js","sourceRoot":"","sources":["../../src/plugins/setupcontrib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { type ComplianceCheck, type Rate } from "@waterplane/shared";
2
+ export declare const PRICE_FETCH_FILE = "pricelist.json";
3
+ /** A good read older than this is fetched again at boot, and the daily timer's period. */
4
+ export declare const PRICE_REFRESH_MS: number;
5
+ /** On-demand fetches (an unpriced model met) are at most this often. */
6
+ export declare const PRICE_GAP_MIN_MS = 3600000;
7
+ /** A gap in tokens older than this asks for nothing — a model last used months ago is history. */
8
+ export declare const PRICE_GAP_RECENT_MS: number;
9
+ /** The setup check warns when the last good read is older than this. */
10
+ export declare const PRICE_STALE_MS: number;
11
+ export interface PriceListState {
12
+ /** The last good read; absent until one succeeded. */
13
+ good?: {
14
+ rates: Record<string, Rate>;
15
+ longPrompt: Record<string, Rate & {
16
+ overTokens: number;
17
+ }>;
18
+ fetchedAt: number;
19
+ };
20
+ lastTryAt?: number;
21
+ /** Why the last try failed, a sentence; absent when it succeeded. */
22
+ lastError?: string;
23
+ /** Anthropic models met with no rate: alias → when their newest unpriced tokens were spent. */
24
+ gaps?: Record<string, number>;
25
+ }
26
+ /** One GET → the body text, or a failure sentence. Injected in tests: no network there. */
27
+ export type FetchText = (url: string) => Promise<{
28
+ ok: true;
29
+ text: string;
30
+ } | {
31
+ ok: false;
32
+ why: string;
33
+ }>;
34
+ /** The real GET: fixed HTTPS URL, 20 s, no cookies (Node's fetch keeps none), a generic agent. */
35
+ export declare const fetchPriceText: FetchText;
36
+ /** HTTPS on claude.com or anthropic.com (or a subdomain) — where the price page may move to. */
37
+ export declare function priceHostOk(u: string): boolean;
38
+ export interface PriceFetchDeps {
39
+ /** `<state dir>`; `pricelist.json` lives here. */
40
+ stateDir: string;
41
+ fetchText?: FetchText;
42
+ now?: () => number;
43
+ /** Read at CALL time; default `WATERPLANE_PRICE_FETCH` !== "0". */
44
+ enabled?: () => boolean;
45
+ log?: (line: string) => void;
46
+ }
47
+ export interface PriceFetch {
48
+ /** Install the cached good read; fetch if it is over a day old; arm the daily timer. */
49
+ start(): Promise<void>;
50
+ stop(): void;
51
+ /** One read of the page now. Resolves to whether rates were installed. */
52
+ fetchNow(): Promise<boolean>;
53
+ /** A ledger met an unpriced Anthropic model (via `pricegap.ts`). */
54
+ noteGap(model: string, usedAt: number): void;
55
+ state(): PriceListState;
56
+ enabled(): boolean;
57
+ }
58
+ /** Whether `WATERPLANE_PRICE_FETCH` leaves fetching on (it is on unless `0`). */
59
+ export declare const priceFetchEnabled: () => boolean;
60
+ export declare function createPriceFetch(deps: PriceFetchDeps): PriceFetch;
61
+ /**
62
+ * The desktop's `price-list` row. Sentences only — nothing here fetches or
63
+ * changes a price. Warn when the last good read is over a week old while
64
+ * fetching is on, or when an Anthropic model was unpriced in the last week.
65
+ */
66
+ export declare function priceListRow(st: PriceListState, enabled: boolean, now?: number): ComplianceCheck;
67
+ /** Boot: create the instance, listen for gaps, install the cache and maybe fetch. Never throws. */
68
+ export declare function startPriceFetch(stateDir: string): PriceFetch;
69
+ /** The `welcome` field: the installed read, absent when the host prices from its built-in table. */
70
+ export declare function welcomePrices(): {
71
+ prices?: {
72
+ rates: Record<string, Rate>;
73
+ longPrompt?: Record<string, Rate & {
74
+ overTokens: number;
75
+ }>;
76
+ fetchedAt: number;
77
+ };
78
+ };
79
+ /** The desktop row, or null when the daemon did not start the reader (a test, `--doctor`). */
80
+ export declare function livePriceListRow(): ComplianceCheck | null;
@@ -0,0 +1,289 @@
1
+ /**
2
+ * Reading Anthropic's price page, so this desktop prices a new model or a
3
+ * changed rate the day the page says so (the parse and its rules:
4
+ * `@waterplane/shared`'s `pricelist.ts`; what the rates feed: `pricing.ts`).
5
+ *
6
+ * ── What goes over the network ──────────────────────────────────────────────
7
+ *
8
+ * ONE `GET` of the fixed `PRICE_LIST_URL` (HTTPS), with a generic user agent,
9
+ * no cookies, no identifiers and nothing about this desktop in it. At boot when
10
+ * the last good read is older than a day, then once a day, and on demand (at
11
+ * most once an hour) when a ledger meets an Anthropic model it cannot price.
12
+ * `WATERPLANE_PRICE_FETCH=0` stops all of it; the built-in table is then used.
13
+ *
14
+ * ── What is kept ────────────────────────────────────────────────────────────
15
+ *
16
+ * `<state dir>/pricelist.json`: the last GOOD read (rates, the long-prompt
17
+ * cards, when) plus the last try and its failure sentence. A read that fails
18
+ * — the network, a non-200, a body too big, or a page the parser refuses —
19
+ * keeps what was installed and records why; it never removes a good read.
20
+ * A cached good read is installed at boot whatever its age: a page read a
21
+ * month ago is still nearer the truth than the table this build shipped with.
22
+ *
23
+ * Not imported by the ledgers (`costwindow.ts` and the context ledgers are
24
+ * bundled into the VS Code extension): they report a gap through
25
+ * `pricegap.ts`, which this module listens on.
26
+ */
27
+ import { join } from "node:path";
28
+ import { BRAND, PRICES, PRICES_AS_OF, envName, PRICE_LIST_MAX_BYTES, PRICE_LIST_URL, installPriceList, installedPriceList, logTag, normalizeModel, parsePriceList, priceListDiff, rateFor, } from "@waterplane/shared";
29
+ import { env } from "./env.js";
30
+ import { readJsonGuarded, writeJsonAtomic } from "./jsonstore.js";
31
+ import { onPriceGap } from "./pricegap.js";
32
+ export const PRICE_FETCH_FILE = "pricelist.json";
33
+ const DAY_MS = 24 * 3_600_000;
34
+ /** A good read older than this is fetched again at boot, and the daily timer's period. */
35
+ export const PRICE_REFRESH_MS = DAY_MS;
36
+ /** On-demand fetches (an unpriced model met) are at most this often. */
37
+ export const PRICE_GAP_MIN_MS = 3_600_000;
38
+ /** A gap in tokens older than this asks for nothing — a model last used months ago is history. */
39
+ export const PRICE_GAP_RECENT_MS = 7 * DAY_MS;
40
+ /** The setup check warns when the last good read is older than this. */
41
+ export const PRICE_STALE_MS = 7 * DAY_MS;
42
+ const FETCH_TIMEOUT_MS = 20_000;
43
+ const USER_AGENT = `${BRAND.slug}-pricecheck`;
44
+ /** The real GET: fixed HTTPS URL, 20 s, no cookies (Node's fetch keeps none), a generic agent. */
45
+ export const fetchPriceText = async (url) => {
46
+ if (!url.startsWith("https://"))
47
+ return { ok: false, why: "The price page address is not HTTPS, so it was not read." };
48
+ let res;
49
+ try {
50
+ res = await fetch(url, {
51
+ headers: { "user-agent": USER_AGENT, accept: "text/markdown, text/plain;q=0.9, */*;q=0.1" },
52
+ redirect: "follow",
53
+ credentials: "omit",
54
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
55
+ });
56
+ }
57
+ catch (e) {
58
+ const name = e?.name;
59
+ return { ok: false, why: name === "TimeoutError" || name === "AbortError"
60
+ ? "Anthropic's price page did not answer within 20 seconds."
61
+ : "Anthropic's price page could not be reached (no network, or the name did not resolve)." };
62
+ }
63
+ // Redirects are followed, but only to Anthropic's own sites over HTTPS: anything else is not the page.
64
+ if (!priceHostOk(res.url || url)) {
65
+ try {
66
+ await res.body?.cancel();
67
+ }
68
+ catch { /* nothing to free */ }
69
+ return { ok: false, why: "The price page address led somewhere other than Anthropic's own sites, so it was not read." };
70
+ }
71
+ if (res.status !== 200) {
72
+ try {
73
+ await res.body?.cancel();
74
+ }
75
+ catch { /* nothing to free */ }
76
+ return { ok: false, why: `Anthropic's price page answered ${res.status} instead of the page.` };
77
+ }
78
+ const len = Number(res.headers.get("content-length"));
79
+ if (Number.isFinite(len) && len > PRICE_LIST_MAX_BYTES) {
80
+ try {
81
+ await res.body?.cancel();
82
+ }
83
+ catch { /* nothing to free */ }
84
+ return { ok: false, why: "The price page was far larger than expected, so it was not read." };
85
+ }
86
+ // Read with a cap, so a page that lies about (or omits) its length still stops.
87
+ const chunks = [];
88
+ let size = 0;
89
+ try {
90
+ const reader = res.body?.getReader();
91
+ if (reader) {
92
+ for (;;) {
93
+ const { done, value } = await reader.read();
94
+ if (done)
95
+ break;
96
+ size += value.byteLength;
97
+ if (size > PRICE_LIST_MAX_BYTES) {
98
+ try {
99
+ await reader.cancel();
100
+ }
101
+ catch { /* nothing to free */ }
102
+ return { ok: false, why: "The price page was far larger than expected, so it was not read." };
103
+ }
104
+ chunks.push(value);
105
+ }
106
+ }
107
+ }
108
+ catch {
109
+ return { ok: false, why: "Anthropic's price page stopped part-way through." };
110
+ }
111
+ return { ok: true, text: Buffer.concat(chunks).toString("utf8") };
112
+ };
113
+ /** HTTPS on claude.com or anthropic.com (or a subdomain) — where the price page may move to. */
114
+ export function priceHostOk(u) {
115
+ try {
116
+ const { protocol, hostname } = new URL(u);
117
+ return protocol === "https:" && ["claude.com", "anthropic.com"].some((d) => hostname === d || hostname.endsWith(`.${d}`));
118
+ }
119
+ catch {
120
+ return false;
121
+ }
122
+ }
123
+ /** Whether `WATERPLANE_PRICE_FETCH` leaves fetching on (it is on unless `0`). */
124
+ export const priceFetchEnabled = () => env("PRICE_FETCH")?.trim() !== "0";
125
+ /** The long-prompt cards of a stored read, each one whole or dropped (a read from before they were kept has none). */
126
+ function cleanLongCards(v) {
127
+ if (!v || typeof v !== "object" || Array.isArray(v))
128
+ return undefined;
129
+ const ok = (n) => typeof n === "number" && Number.isFinite(n) && n > 0;
130
+ const out = {};
131
+ for (const [id, c] of Object.entries(v)) {
132
+ if (c && ok(c.input) && ok(c.output) && ok(c.overTokens) && (c.cacheRead == null || ok(c.cacheRead))) {
133
+ out[id] = { input: c.input, output: c.output, overTokens: c.overTokens, ...(c.cacheRead != null ? { cacheRead: c.cacheRead } : {}) };
134
+ }
135
+ }
136
+ return Object.keys(out).length ? out : undefined;
137
+ }
138
+ const accept = (v) => !!v && typeof v === "object" && !Array.isArray(v);
139
+ export function createPriceFetch(deps) {
140
+ const file = join(deps.stateDir, PRICE_FETCH_FILE);
141
+ const fetchText = deps.fetchText ?? fetchPriceText;
142
+ const now = deps.now ?? Date.now;
143
+ const enabled = deps.enabled ?? priceFetchEnabled;
144
+ const log = deps.log ?? ((l) => console.log(`${logTag} ${l}`));
145
+ let st = readJsonGuarded(file, {}, accept);
146
+ let timer = null;
147
+ let inFlight = null;
148
+ const save = () => {
149
+ try {
150
+ writeJsonAtomic(file, st);
151
+ }
152
+ catch (e) {
153
+ log(`price list: could not save ${file}: ${e.message}`);
154
+ }
155
+ };
156
+ const install = (g) => installPriceList({ rates: g.rates, longPrompt: cleanLongCards(g.longPrompt), fetchedAt: g.fetchedAt });
157
+ async function readOnce() {
158
+ const at = now();
159
+ const got = await fetchText(PRICE_LIST_URL).catch(() => ({ ok: false, why: "Anthropic's price page could not be read." }));
160
+ const parsed = got.ok ? parsePriceList(got.text) : null;
161
+ if (!got.ok || !parsed || !parsed.ok) {
162
+ const why = !got.ok ? got.why : parsed && !parsed.ok ? parsed.why : "The price page could not be read.";
163
+ st = { ...st, lastTryAt: at, lastError: why };
164
+ save();
165
+ log(`price list: kept ${st.good ? `the read of ${new Date(st.good.fetchedAt).toISOString().slice(0, 10)}` : "the built-in prices"} — ${why}`);
166
+ return false;
167
+ }
168
+ const before = st.good?.rates ?? PRICES;
169
+ const changed = priceListDiff(parsed.rates, before);
170
+ st = { ...st, good: { rates: parsed.rates, longPrompt: parsed.longPrompt, fetchedAt: at }, lastTryAt: at, lastError: undefined };
171
+ // A model the page now prices is no longer a gap.
172
+ if (st.gaps)
173
+ for (const id of Object.keys(st.gaps))
174
+ if (parsed.rates[id])
175
+ delete st.gaps[id];
176
+ save();
177
+ install(st.good);
178
+ if (changed.length) {
179
+ log(`price list: read ${Object.keys(parsed.rates).length} models off Anthropic's price page; against ${before === PRICES ? `the built-in table (${PRICES_AS_OF})` : "the previous read"}:`);
180
+ for (const l of changed)
181
+ log(` ${l}`);
182
+ }
183
+ return true;
184
+ }
185
+ function fetchNow() {
186
+ if (!enabled())
187
+ return Promise.resolve(false);
188
+ inFlight ??= readOnce().finally(() => { inFlight = null; });
189
+ return inFlight;
190
+ }
191
+ return {
192
+ async start() {
193
+ // Off means the built-in table, not a frozen cache of an old read.
194
+ if (!enabled()) {
195
+ installPriceList(null);
196
+ return;
197
+ }
198
+ if (st.good && st.good.rates && typeof st.good.fetchedAt === "number")
199
+ install(st.good);
200
+ if (!st.good || now() - st.good.fetchedAt > PRICE_REFRESH_MS)
201
+ await fetchNow();
202
+ timer ??= setInterval(() => { void fetchNow(); }, PRICE_REFRESH_MS);
203
+ timer.unref?.();
204
+ },
205
+ stop() {
206
+ if (timer)
207
+ clearInterval(timer);
208
+ timer = null;
209
+ },
210
+ fetchNow,
211
+ noteGap(model, usedAt) {
212
+ const t = now();
213
+ if (!Number.isFinite(usedAt) || t - usedAt > PRICE_GAP_RECENT_MS)
214
+ return;
215
+ // Keyed by the canonical alias, as the page's rates are, so a read that prices the model clears it.
216
+ const id = normalizeModel(model) ?? model;
217
+ const gaps = (st.gaps ??= {});
218
+ if (!(gaps[id] >= usedAt)) {
219
+ gaps[id] = usedAt;
220
+ save();
221
+ }
222
+ // At most one read an hour, counted from the last try of ANY kind (boot, daily, a gap) and
223
+ // persisted with it, so a restart does not reset the limit.
224
+ if (!enabled() || t - (st.lastTryAt ?? 0) < PRICE_GAP_MIN_MS)
225
+ return;
226
+ void fetchNow();
227
+ },
228
+ state: () => st,
229
+ enabled,
230
+ };
231
+ }
232
+ const day = (ms) => new Date(ms).toISOString().slice(0, 10);
233
+ /**
234
+ * The desktop's `price-list` row. Sentences only — nothing here fetches or
235
+ * changes a price. Warn when the last good read is over a week old while
236
+ * fetching is on, or when an Anthropic model was unpriced in the last week.
237
+ */
238
+ export function priceListRow(st, enabled, now = Date.now()) {
239
+ const base = { id: "price-list", label: "Model prices", scope: "host", fix: null };
240
+ if (!enabled) {
241
+ return { ...base, status: "pass",
242
+ detail: `Built-in prices dated ${PRICES_AS_OF} are used, because ${envName("PRICE_FETCH")}=0 turns off reading Anthropic's price page.` };
243
+ }
244
+ // A model priced since (by a read, or a built-in row) is no longer a gap, whatever the file still says.
245
+ const gaps = Object.entries(st.gaps ?? {})
246
+ .filter(([m, at]) => now - at <= PRICE_GAP_RECENT_MS && rateFor(m) == null).map(([m]) => m).sort();
247
+ const lines = [];
248
+ let warn = false;
249
+ if (gaps.length) {
250
+ warn = true;
251
+ lines.push(...gaps.map((m) => `${m} is not on Anthropic's price page yet; its tokens are counted but not priced.`));
252
+ }
253
+ const g = st.good;
254
+ if (!g) {
255
+ warn = true;
256
+ lines.push(`Anthropic's price page has not been read yet, so built-in prices dated ${PRICES_AS_OF} are used.` +
257
+ (st.lastError ? ` Last try: ${st.lastError}` : ""));
258
+ }
259
+ else if (now - g.fetchedAt > PRICE_STALE_MS) {
260
+ warn = true;
261
+ lines.push(`Prices were last read from Anthropic's price page on ${day(g.fetchedAt)}, over a week ago.` +
262
+ (st.lastError ? ` Last try: ${st.lastError}` : ""));
263
+ }
264
+ else {
265
+ lines.unshift(`Prices read from Anthropic's price page on ${day(g.fetchedAt)}.`);
266
+ }
267
+ return { ...base, status: warn ? "warn" : "pass", detail: lines.join(" ") };
268
+ }
269
+ // ── The daemon's one instance ──────────────────────────────────────────────
270
+ let live = null;
271
+ /** Boot: create the instance, listen for gaps, install the cache and maybe fetch. Never throws. */
272
+ export function startPriceFetch(stateDir) {
273
+ live?.stop();
274
+ live = createPriceFetch({ stateDir });
275
+ const pf = live;
276
+ onPriceGap((model, usedAt) => pf.noteGap(model, usedAt));
277
+ void pf.start().catch(() => undefined);
278
+ return pf;
279
+ }
280
+ /** The `welcome` field: the installed read, absent when the host prices from its built-in table. */
281
+ export function welcomePrices() {
282
+ const p = installedPriceList();
283
+ return p ? { prices: { rates: p.rates, ...(p.longPrompt ? { longPrompt: p.longPrompt } : {}), fetchedAt: p.fetchedAt } } : {};
284
+ }
285
+ /** The desktop row, or null when the daemon did not start the reader (a test, `--doctor`). */
286
+ export function livePriceListRow() {
287
+ return live ? priceListRow(live.state(), live.enabled()) : null;
288
+ }
289
+ //# sourceMappingURL=pricefetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricefetch.js","sourceRoot":"","sources":["../src/pricefetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type GapListener = (model: string, usedAt: number) => void;
2
+ /** Set (or clear) who hears about an unpriced Anthropic model. */
3
+ export declare function onPriceGap(fn: GapListener | null): void;
4
+ /**
5
+ * Called where a ledger puts tokens into `unpriced`. Only an Anthropic model
6
+ * (never `<synthetic>`) with no rate counts — a local model has no list price
7
+ * to read. `usedAt` is when those tokens were spent (epoch ms), so a model last
8
+ * used months ago does not keep asking for the page.
9
+ */
10
+ export declare function notePriceGap(model: string | null | undefined, usedAt: number): void;
11
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The ledgers' one line to the price-list reader: "I just met an Anthropic
3
+ * model I could not price". Dependency-free on purpose — `costwindow.ts` and
4
+ * the context ledgers are bundled into the VS Code extension from source, and
5
+ * the fetch (`pricefetch.ts`) must not ride along. The host registers the
6
+ * listener at boot; in the extension nobody does, and a gap is just counted.
7
+ */
8
+ import { isAnthropicModel, rateFor } from "@waterplane/shared";
9
+ let listener = null;
10
+ /** Set (or clear) who hears about an unpriced Anthropic model. */
11
+ export function onPriceGap(fn) {
12
+ listener = fn;
13
+ }
14
+ /**
15
+ * Called where a ledger puts tokens into `unpriced`. Only an Anthropic model
16
+ * (never `<synthetic>`) with no rate counts — a local model has no list price
17
+ * to read. `usedAt` is when those tokens were spent (epoch ms), so a model last
18
+ * used months ago does not keep asking for the page.
19
+ */
20
+ export function notePriceGap(model, usedAt) {
21
+ if (!listener || !model || model === "<synthetic>")
22
+ return;
23
+ if (!isAnthropicModel(model) || rateFor(model) != null)
24
+ return;
25
+ try {
26
+ listener(model, usedAt);
27
+ }
28
+ catch { /* a reading is not worth a throw */ }
29
+ }
30
+ //# sourceMappingURL=pricegap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricegap.js","sourceRoot":"","sources":["../src/pricegap.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG/D,IAAI,QAAQ,GAAuB,IAAI,CAAC;AAExC,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,EAAsB;IAC/C,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgC,EAAE,MAAc;IAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,aAAa;QAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;QAAE,OAAO;IAC/D,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;AACjF,CAAC"}
@@ -29,8 +29,8 @@
29
29
  * leading slash. The engine normalises again on its own side — two checks, not
30
30
  * one, because this file writes what the daemon will later hand to a spawn.
31
31
  */
32
- import { writeJsonAtomic } from "./jsonstore.js";
33
- import { existsSync, mkdirSync, readFileSync, statSync } from "node:fs";
32
+ import { readJsonGuarded, writeJsonAtomic } from "./jsonstore.js";
33
+ import { mkdirSync, statSync } from "node:fs";
34
34
  import { dirname, join, resolve } from "node:path";
35
35
  import { repoStateDir } from "./branddirs.js";
36
36
  /** The most scopes one repo may carry. A cap, not a policy: every scope is a
@@ -71,30 +71,22 @@ export function cleanScope(wt, raw) {
71
71
  * anything that is no longer a directory dropped — a scope whose folder was
72
72
  * renamed is not a reading, and its stale series file says so on its own. */
73
73
  export function readScopes(wt) {
74
- try {
75
- const path = fileFor(wt);
76
- if (!existsSync(path))
77
- return [];
78
- const raw = JSON.parse(readFileSync(path, "utf8"));
79
- const list = Array.isArray(raw) ? raw : raw?.scopes;
80
- if (!Array.isArray(list))
81
- return [];
82
- const out = [];
83
- for (const v of list) {
84
- const s = cleanScope(wt, v);
85
- if (s && !out.includes(s))
86
- out.push(s);
87
- if (out.length >= MAX_SCOPES)
88
- break;
89
- }
90
- return out;
91
- }
92
- catch {
93
- // Unreadable or corrupt is the same as none: a repo whose scope list cannot
94
- // be parsed still has a repo-wide series, and taking the sheet down over it
95
- // would hide the readings that do exist.
74
+ // Absent, or kept aside as `.corrupt-<ts>` when corrupt or of the wrong shape (the next
75
+ // writeScopes replaces the name). A repo whose scope list cannot be read still has a
76
+ // repo-wide series, and taking the sheet down over it would hide the readings that do exist.
77
+ const raw = readJsonGuarded(fileFor(wt), null, (v) => Array.isArray(v) || Array.isArray(v?.scopes));
78
+ const list = Array.isArray(raw) ? raw : raw?.scopes;
79
+ if (!Array.isArray(list))
96
80
  return [];
81
+ const out = [];
82
+ for (const v of list) {
83
+ const s = cleanScope(wt, v);
84
+ if (s && !out.includes(s))
85
+ out.push(s);
86
+ if (out.length >= MAX_SCOPES)
87
+ break;
97
88
  }
89
+ return out;
98
90
  }
99
91
  /**
100
92
  * Replace the list. Returns what was actually stored, which is what the client
@@ -1 +1 @@
1
- {"version":3,"file":"repohealthscopes.js","sourceRoot":"","sources":["../src/repohealthscopes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repohealthscopes.js","sourceRoot":"","sources":["../src/repohealthscopes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { type RepoTarget } from "@waterplane/shared";
2
2
  export declare function targetId(worktreePath: string): string;
3
+ export declare function gitWorktrees(repoDir: string): Promise<{
4
+ path: string;
5
+ branch: string;
6
+ }[]>;
3
7
  /**
4
8
  * Recursively scan `root` for directories containing a `.git` entry, then
5
9
  * enumerate every worktree of each. One target per worktree. Stops descending
@@ -9,7 +9,7 @@ import { displayNameOf, noteScannedNames } from "./reponames.js";
9
9
  export function targetId(worktreePath) {
10
10
  return createHash("sha1").update(worktreePath).digest("hex").slice(0, 10);
11
11
  }
12
- async function gitWorktrees(repoDir) {
12
+ export async function gitWorktrees(repoDir) {
13
13
  try {
14
14
  const { stdout } = await pexec("git", ["worktree", "list", "--porcelain"], { cwd: repoDir });
15
15
  const out = [];