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
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Skills and plugins switch — the wire (docs/analysis/skills-switch/PLAN.md). REST, no WebSocket
3
+ * message. Every optional field means "this host did not say"; a value is never guessed.
4
+ */
5
+ /** The `skillOverrides` values, in CLI rank order (on < name-only < user-invocable-only < off). */
6
+ export type SkillState = "on" | "name-only" | "user-invocable-only" | "off";
7
+ export declare const SKILL_STATES: readonly SkillState[];
8
+ export type SkillSource = "personal" | "project" | "plugin" | "synced-skill" | "bundled";
9
+ export type SwitchLevel = "global" | "repo-local" | "repo-shared";
10
+ /** One settings file, as read. */
11
+ export interface SkillLayer {
12
+ level: SwitchLevel;
13
+ /** Display path ("~/.claude/settings.json", ".claude/settings.local.json"). */
14
+ path: string;
15
+ /** sha1 of the text, or "absent"; echoed back by a write. */
16
+ rev: string;
17
+ /** False: not JSON / not an object / a key is not an object. */
18
+ readable: boolean;
19
+ why?: string;
20
+ }
21
+ export interface SkillRow {
22
+ kind: "skill";
23
+ /** The `skillOverrides` key = the listing name. */
24
+ id: string;
25
+ source: SkillSource;
26
+ /** Plugin id when `source === "plugin"`. */
27
+ plugin?: string;
28
+ /** Value at each level; ABSENT when that file has no key (not "on"). */
29
+ set: Partial<Record<SwitchLevel, SkillState>>;
30
+ effective: SkillState;
31
+ from: SwitchLevel | "default" | "locked";
32
+ locked?: string;
33
+ /** Who fixed the value when `from` is "locked": the skill's own frontmatter (`disable-model-invocation`); absent = a managed setting. */
34
+ lockedBy?: "author";
35
+ /** Name + description line; ABSENT = unmeasured. */
36
+ listingChars?: number;
37
+ bodyChars?: number;
38
+ /** `skillListingMaxDescChars` was set. */
39
+ capped?: boolean;
40
+ /** False for plugin skills (the CLI ignores `skillOverrides` for them). */
41
+ switchable: boolean;
42
+ why?: string;
43
+ /** ABSENT while counting / no log. */
44
+ uses?: {
45
+ d30: number;
46
+ all: number;
47
+ typed30: number;
48
+ typedAll: number;
49
+ };
50
+ }
51
+ export interface PluginRow {
52
+ kind: "plugin";
53
+ /** "sales@synced" = the `enabledPlugins` key. */
54
+ id: string;
55
+ name: string;
56
+ version?: string;
57
+ scope: string;
58
+ set: Partial<Record<SwitchLevel, boolean>>;
59
+ enabled: boolean;
60
+ from: SwitchLevel | "default" | "locked";
61
+ /** Ids of its SkillRows (read-only). */
62
+ skills: string[];
63
+ /** Sum of its skills' lines; ABSENT if any skill is unmeasured (`why` says so). */
64
+ listingChars?: number;
65
+ /** Names only; unsized, never 0. */
66
+ mcpServers?: number;
67
+ why?: string;
68
+ }
69
+ export interface SkillInventoryDoc {
70
+ v: 1;
71
+ at: number;
72
+ repoId?: string;
73
+ layers: SkillLayer[];
74
+ rows: (SkillRow | PluginRow)[];
75
+ /** A total always ships with its split. */
76
+ totals: {
77
+ skillChars?: number;
78
+ pluginChars?: number;
79
+ unmeasured: number;
80
+ };
81
+ usage: {
82
+ state: "ready" | "counting" | "absent";
83
+ done?: number;
84
+ total?: number;
85
+ why?: string;
86
+ since30: number;
87
+ /** `ready` on the previous scan's counts while a newer scan runs: the screen asks again. */ refreshing?: boolean;
88
+ };
89
+ hostNote?: string;
90
+ }
91
+ /** `to: "inherit"` deletes the key at that level. */
92
+ export interface SkillChange {
93
+ kind: "skill" | "plugin";
94
+ id: string;
95
+ to: SkillState | boolean | "inherit";
96
+ }
97
+ /** `revs`: the layer rev the screen read, keyed by level. */
98
+ export interface SkillWriteRequest {
99
+ level: SwitchLevel;
100
+ revs: Partial<Record<SwitchLevel, string>>;
101
+ changes: SkillChange[];
102
+ }
103
+ export type SkillWriteResponse = {
104
+ ok: true;
105
+ file: string;
106
+ changed: {
107
+ id: string;
108
+ from: string;
109
+ to: string;
110
+ }[];
111
+ ignoredNote?: string;
112
+ gitignored?: boolean;
113
+ doc: SkillInventoryDoc;
114
+ } | {
115
+ ok: false;
116
+ error: string;
117
+ status: 400 | 409 | 422;
118
+ };
119
+ export interface SkillSuggestion {
120
+ kind: "skill" | "plugin";
121
+ id: string;
122
+ to: "name-only" | "user-invocable-only" | "off";
123
+ reason: string;
124
+ savedChars?: number;
125
+ uses30?: number;
126
+ usesAll?: number;
127
+ }
128
+ export interface SkillRecommendResponse {
129
+ ok: boolean;
130
+ suggestions: SkillSuggestion[];
131
+ note?: string;
132
+ /** Model suggestions the host refused (unknown id, unswitchable, bad value). */
133
+ dropped: number;
134
+ spend?: {
135
+ model?: string;
136
+ costUsd?: number;
137
+ inputTokens?: number;
138
+ outputTokens?: number;
139
+ };
140
+ error?: string;
141
+ limited?: boolean;
142
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Skills and plugins switch — the wire (docs/analysis/skills-switch/PLAN.md). REST, no WebSocket
3
+ * message. Every optional field means "this host did not say"; a value is never guessed.
4
+ */
5
+ export const SKILL_STATES = ["on", "name-only", "user-invocable-only", "off"];
6
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/wire/skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC"}
@@ -138,6 +138,23 @@ export interface ProcSnapshot {
138
138
  rssSumBytes: number;
139
139
  /** How many rows each list holds at most. */
140
140
  cap: number;
141
+ /** CPU per live waterplane session: every process under that session's tmux
142
+ * pane (the CLI, its tools, builds and tests it started), summed. Busiest
143
+ * first, capped, sessions under 1% left out. Absent when the panes could
144
+ * not be listed — never an empty list standing in for "unknown". */
145
+ bySession?: SessionCpuRow[];
146
+ }
147
+ /** One session's share of the CPU, folded over its process tree. */
148
+ export interface SessionCpuRow {
149
+ /** The waterplane session id — the phone resolves it to its tab label. */
150
+ sessionId: string;
151
+ /** Per-core percent summed, as `top`; can exceed 100. */
152
+ cpuPct: number;
153
+ rssBytes: number;
154
+ /** How many processes were folded in. */
155
+ procs: number;
156
+ /** The busiest program in it, by name, so "450%" says what is running. */
157
+ top: string;
141
158
  }
142
159
  /** One fan, as the sensor names it. */
143
160
  export interface FanRow {
@@ -576,6 +576,10 @@ export interface TokenStatsDoc {
576
576
  */
577
577
  top?: TokenConvo[];
578
578
  pricesAsOf: string;
579
+ /** `list`: the rates were read off Anthropic's price page on `pricesAsOf`.
580
+ * `builtin`: the table shipped with this version, dated `pricesAsOf`.
581
+ * Absent on an older host — which always meant the built-in table. */
582
+ pricesFrom?: "list" | "builtin";
579
583
  /** First and last counted turn, epoch ms. Null when there is nothing. */
580
584
  firstAt: number | null;
581
585
  lastAt: number | null;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "waterplane",
9
- "version": "0.1.25",
9
+ "version": "0.1.26",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@noble/curves": "2.4.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "type": "module",
5
5
  "description": "waterplane — phone-native remote control for Claude Code on your PC",
6
6
  "license": "MIT",
@@ -0,0 +1,16 @@
1
+ {
2
+ "id": "diskspace",
3
+ "name": "disk space",
4
+ "version": "0.1.0",
5
+ "apiVersion": "2.0",
6
+ "description": "What is filling this desktop's disk: regenerable caches and build output with a delete button each, AI models (Hugging Face, Ollama), sizes of what can only be shown, and an on-demand large-file find. Deletes name a candidate the host computed itself, never a path. Experimental; off until switched on. macOS, Linux, and Windows through WSL.",
7
+ "summary": "Shows what is filling this computer's disk and lets you delete the things that can be rebuilt.",
8
+ "maturity": "preview",
9
+ "host": "host/index.mts",
10
+ "web": "web/index.ts",
11
+ "optional": true,
12
+ "experimental": true,
13
+ "places": [
14
+ "Settings: free space from the last scan, and the full disk space screen"
15
+ ]
16
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "id": "links",
3
+ "name": "links",
4
+ "version": "0.1.0",
5
+ "apiVersion": "2.0",
6
+ "description": "One list of every project's links: dev servers running on this desktop (through their tailscale serve front door), Cloud Run services and Firebase Hosting sites. The host finds them; a person pins the ones worth keeping, with an up/down check per pin. Off until switched on: cloud discovery runs gcloud with this desktop's own sign-in.",
7
+ "summary": "Lists your projects' web addresses (dev servers, Cloud Run, Firebase) and checks whether each pinned one is up.",
8
+ "places": [
9
+ "Home menu: the list of pinned and found links, with up or down for each pin",
10
+ "Session menu: the same list, from inside a session",
11
+ "Repo row: how many links this repo has; a tap lists only those"
12
+ ],
13
+ "maturity": "preview",
14
+ "host": "host/index.mts",
15
+ "web": "web/index.ts",
16
+ "optional": true,
17
+ "experimental": true
18
+ }
@@ -1,33 +1,4 @@
1
- /**
2
- * Agent readings, the PURE half: how a conversation is classified, and how the
3
- * per-log summaries fold into one repo's weekly readings. No disk, no clock
4
- * (the caller passes `now`), so `packages/host/test/agentreadings.test.mjs`
5
- * pins every rule here on hand-built summaries. The disk half is
6
- * `agentscan.ts`; the store and the route's document `agentreadings.ts`.
7
- *
8
- * ── Rework classification (the rule the region's `?` quotes) ────────────────
9
- *
10
- * A conversation is REWORK when its first prompt (the person's own words, with
11
- * pasted blocks and command wrappers cut out) or its title says it is mending
12
- * something — the words in `REWORK_RE`. It is FEATURE only when the prompt
13
- * OPENS with a building verb (`FEATURE_RE`) and no rework word appears. Every
14
- * other conversation is UNKNOWN — never feature by default, because "the rest"
15
- * is mostly questions, reviews, plans and chores, and filing them as features
16
- * would make the rework share look small for no reason anyone measured.
17
- * The agents of a `review-repair` workflow run are rework whatever their
18
- * parent was; every other subagent is spent under its parent's class.
19
- *
20
- * ── What "fresh" means for exploration cost ─────────────────────────────────
21
- *
22
- * A log is FRESH when it began as a new conversation: not a fork (a copied
23
- * record still names another session in `session_id`/`sessionId`), not a
24
- * continuation (its first prompt is the CLI's "continued from a previous
25
- * conversation" summary) and not a headless `claude -p` run (`entrypoint`
26
- * `sdk-*`: the naming and review helpers, which never edit). A resume that
27
- * appends to the same log keeps the log's beginning, so its first edit is
28
- * still the session's first.
29
- */
30
- import { type AgentReadingAbsent, type AgentReadingRules, type AgentReadingsWeek, type ReworkClass } from "@waterplane/shared";
1
+ import { type SeriesBucket, type RepoSpendWeek, type AgentReadingAbsent, type AgentReadingRules, type AgentReadingsWeek, type StartPart, type ReworkClass } from "@waterplane/shared";
31
2
  /** The four kinds + the 1-hour subset + requests, positional (as `tokenscan.ts`'s `Tally`). */
32
3
  export type WeekTally = [input: number, output: number, cacheRead: number, cacheWrite: number, cacheWrite1h: number, requests: number];
33
4
  /** One top-level conversation log, as `agentscan.ts` read it. */
@@ -56,6 +27,23 @@ export interface ConvSummary {
56
27
  cm?: 1;
57
28
  /** Workflow run ids (`wf_…`) launched from a `review-repair` script. */
58
29
  rr?: string[];
30
+ /** Start-of-session readings (`StartReading`): model, CLI version, first-request tokens, parts, looks, requests. */
31
+ sr?: StartSummary;
32
+ }
33
+ /** What `agentscan.ts`'s `StartReading` leaves in a summary; every field absent where the log did not say. */
34
+ export interface StartSummary {
35
+ /** Model of the first counted request. */
36
+ md?: string;
37
+ /** The `version` field of the first record that had one. */
38
+ cli?: string;
39
+ /** First request's input + cache read + cache write. */
40
+ st?: number;
41
+ /** Chars per start part, from the attachments before that request. */
42
+ pt?: Partial<Record<StartPart, number>>;
43
+ /** Looks before the first edit; absent = never edited. */
44
+ lk?: number;
45
+ /** Counted requests (not in a fork's copied prefix). */
46
+ rq: number;
59
47
  }
60
48
  /** One subagent log (`<conv>/subagents/…/agent-*.jsonl`). */
61
49
  export interface AgentLogSummary {
@@ -64,12 +52,30 @@ export interface AgentLogSummary {
64
52
  /** The workflow run directory it sits in (`wf_…`), when it is a workflow's agent. */
65
53
  wf?: string;
66
54
  wk: Record<string, WeekTally>;
55
+ /** First record's time (ms). */
56
+ t0?: number;
57
+ sr?: StartSummary;
67
58
  }
68
59
  export declare const EDIT_TOOLS: ReadonlySet<string>;
60
+ /** Tools that only read the local tree. WebFetch is not here: it reads the network, not the repo. Worded for people by shared `LOOK_RULE_TEXT`. */
61
+ export declare const LOOK_TOOLS: ReadonlySet<string>;
62
+ /** A Bash command that only looks, after its leading `cd … &&`. */
63
+ export declare const LOOK_CMD_RE: RegExp;
64
+ /** Whether one tool call is a look (see `LOOK_RULE_TEXT`). */
65
+ export declare function isLookCall(name: string, command: unknown): boolean;
66
+ /**
67
+ * The start-context chars one `attachment` row adds, by part. A row that is not one, or whose shape
68
+ * moved, yields nothing — never a zero. Instruction files split by their own `type`: `AutoMem` is
69
+ * the auto-memory index, every other file (User, Project, Local, managed) is a CLAUDE.md.
70
+ * The attachment shapes are `ctxlog/ctxcursor.ts`'s `carriedPartsOf`; this only regroups them.
71
+ */
72
+ export declare function startPartsOf(row: Record<string, unknown>): [StartPart, number][];
69
73
  /** The words that make a conversation rework. Whole words, any case. */
70
74
  export declare const REWORK_RE: RegExp;
71
75
  /** A prompt that OPENS with one of these (and has no rework word) is feature work. */
72
76
  export declare const FEATURE_RE: RegExp;
77
+ /** The region pools models; the token-stats card compares one at a time. Said on every pooled reading. */
78
+ export declare const POOLED_MODELS_TEXT = "Every model that ran is pooled in this week's median, so a switch of model moves it as well as an instruction edit does; the Agent readings over time card in the token stats takes one model at a time.";
73
79
  export declare const RULES: AgentReadingRules;
74
80
  /** The person's own words: pasted blocks, command wrappers and system reminders cut out. */
75
81
  export declare function promptWords(text: string): string;
@@ -95,11 +101,16 @@ export declare function inRepairRun(wf: string | undefined, runs: readonly strin
95
101
  export interface EscapedInputs {
96
102
  crash: Record<string, number> | AgentReadingAbsent;
97
103
  bugs: Record<string, number> | AgentReadingAbsent;
104
+ /** The token ledger's rows for the repo, by week, or why there are none. */
105
+ spend?: Record<string, RepoSpendWeek> | AgentReadingAbsent;
98
106
  }
99
107
  /**
100
108
  * Fold one repo's conversations into its weekly readings for `weeks`
101
109
  * (oldest first). Pure: every number comes from the summaries handed in.
102
110
  */
103
- export declare function foldAgentWeeks(convs: readonly ResolvedConv[], weeks: readonly string[], escaped: EscapedInputs): AgentReadingsWeek[];
111
+ export declare function foldAgentWeeks(convs: readonly ResolvedConv[], weeks: readonly string[], escaped: EscapedInputs,
112
+ /** The agent series by week (`seriesOf(points, { grain: "week" })`) — the token-stats card's
113
+ * function too, so the two can never disagree. Omitted = no start/looks/requests readings. */
114
+ series?: readonly SeriesBucket[]): AgentReadingsWeek[];
104
115
  /** Count instants into weeks. Undated entries (`NaN`) are dropped. */
105
116
  export declare function countByWeek(instants: readonly number[]): Record<string, number>;
@@ -27,16 +27,115 @@
27
27
  * appends to the same log keeps the log's beginning, so its first edit is
28
28
  * still the session's first.
29
29
  */
30
- import { isAgentAbsent, isoWeekOf, hourKey } from "@waterplane/shared";
30
+ import { carriedPartsOf } from "./ctxlog/ctxcursor.js";
31
+ import { LOOK_RULE_TEXT, SERIES_MIN_N, START_PARTS, isAgentAbsent, isoWeekOf, hourKey, seriesTooFewText } from "@waterplane/shared";
31
32
  export const EDIT_TOOLS = new Set(["Edit", "Write", "MultiEdit", "NotebookEdit"]);
33
+ /** Tools that only read the local tree. WebFetch is not here: it reads the network, not the repo. Worded for people by shared `LOOK_RULE_TEXT`. */
34
+ export const LOOK_TOOLS = new Set(["Read", "Grep", "Glob", "LS", "NotebookRead"]);
35
+ /** A leading `cd <dir> &&` (any number of them) is not the command. */
36
+ const CD_PREFIX_RE = /^\s*cd\s+(?:"[^"]*"|'[^']*'|[^&;|\s]+)\s*&&\s*/;
37
+ /** A Bash command that only looks, after its leading `cd … &&`. */
38
+ export const LOOK_CMD_RE = /^(?:grep|rg|find|ls|cat|head|tail|sed\s+-n|wc|jq|tree|git\s+(?:log|show|diff|grep|blame|status))(?![\w-])/;
39
+ /** Whether one tool call is a look (see `LOOK_RULE_TEXT`). */
40
+ export function isLookCall(name, command) {
41
+ if (LOOK_TOOLS.has(name))
42
+ return true;
43
+ if (name !== "Bash" || typeof command !== "string")
44
+ return false;
45
+ let c = command;
46
+ for (let i = 0; i < 4 && CD_PREFIX_RE.test(c); i++)
47
+ c = c.replace(CD_PREFIX_RE, "");
48
+ return LOOK_CMD_RE.test(c.trimStart());
49
+ }
50
+ const strLen = (v) => typeof v === "string" ? v.length : v && typeof v === "object" ? JSON.stringify(v).length : null;
51
+ /**
52
+ * The start-context chars one `attachment` row adds, by part. A row that is not one, or whose shape
53
+ * moved, yields nothing — never a zero. Instruction files split by their own `type`: `AutoMem` is
54
+ * the auto-memory index, every other file (User, Project, Local, managed) is a CLAUDE.md.
55
+ * The attachment shapes are `ctxlog/ctxcursor.ts`'s `carriedPartsOf`; this only regroups them.
56
+ */
57
+ export function startPartsOf(row) {
58
+ const a = row.type === "attachment" ? row.attachment : undefined;
59
+ if (!a || typeof a !== "object" || typeof a.type !== "string")
60
+ return [];
61
+ const out = [];
62
+ switch (a.type) {
63
+ case "hook_success": {
64
+ const n = strLen(a.content ?? a.stdout);
65
+ if (n !== null)
66
+ out.push(["hooks", n]);
67
+ return out;
68
+ }
69
+ case "session_context": {
70
+ const n = strLen(a.context);
71
+ if (n !== null)
72
+ out.push(["session", n]);
73
+ return out;
74
+ }
75
+ case "environment": {
76
+ const n = strLen(a.snapshot);
77
+ if (n !== null)
78
+ out.push(["session", n]);
79
+ return out;
80
+ }
81
+ case "date": {
82
+ const n = strLen(a.date);
83
+ if (n !== null)
84
+ out.push(["session", n]);
85
+ return out;
86
+ }
87
+ case "model": {
88
+ const n = strLen(a.text);
89
+ if (n !== null)
90
+ out.push(["session", n]);
91
+ return out;
92
+ }
93
+ }
94
+ for (const p of carriedPartsOf(row)) {
95
+ switch (p.kind) {
96
+ case "system_prompt":
97
+ out.push(["system", p.chars]);
98
+ break;
99
+ case "tool_schemas":
100
+ out.push(["tools", p.chars]);
101
+ break;
102
+ case "instructions":
103
+ for (const f of p.files ?? [])
104
+ out.push([f.type === "AutoMem" ? "memory" : "claudeMd", f.chars]);
105
+ break;
106
+ case "skill_listing":
107
+ out.push(["skills", p.chars]);
108
+ break;
109
+ case "deferred_tools":
110
+ out.push(["deferredTools", p.chars]);
111
+ break;
112
+ case "agent_listing":
113
+ out.push(["agents", p.chars]);
114
+ break;
115
+ case "hook_context":
116
+ out.push(["hooks", p.chars]);
117
+ break;
118
+ case "mcp_instructions":
119
+ out.push(["other", p.chars]);
120
+ break;
121
+ }
122
+ }
123
+ return out;
124
+ }
32
125
  /** The words that make a conversation rework. Whole words, any case. */
33
126
  export const REWORK_RE = /\b(fix(?:es|ed|ing)?|repair(?:s|ed|ing)?|broken|again|bugs?|regress(?:ion|ions|ed)?|revert(?:s|ed)?|(?:does ?n[o']t|not) work(?:ing)?)\b/i;
34
127
  /** A prompt that OPENS with one of these (and has no rework word) is feature work. */
35
128
  export const FEATURE_RE = /^(?:please\s+)?(add|build|implement|create|introduce|make|new|support|design|write)\b/i;
129
+ /** The region pools models; the token-stats card compares one at a time. Said on every pooled reading. */
130
+ export const POOLED_MODELS_TEXT = "Every model that ran is pooled in this week's median, so a switch of model moves it as well as an instruction edit does; the Agent readings over time card in the token stats takes one model at a time.";
36
131
  export const RULES = {
37
- explore: "Median input-side tokens (fresh input + cache read + cache write) a fresh session spent before its first file edit (Edit, Write, MultiEdit or NotebookEdit), counted in the week it started. Forked, continued and headless (claude -p) logs are left out; sessions that never edited are counted beside it, not in it. Tokens the session's own subagents spent are not in it. Lower is better: less reading before the work starts.",
132
+ start: `What a fresh session's first request carried, measured off this desktop's conversation logs (not estimated): the median of its tokens (fresh input + cache read + cache write) over fresh interactive sessions that started this week — forked, continued and headless (claude -p) logs left out. Under it, the median characters per part of that start (the parts the log records before the first request, named as in "what every turn carries"); a part's median is over the sessions that recorded it, and the part medians do not add up to the token figure. Subagent logs that started this week are their own line, never in the session median. A median needs at least ${SERIES_MIN_N} sessions; with fewer the reading is not taken. ${POOLED_MODELS_TEXT}`,
133
+ explore: `Two medians over one set of sessions: fresh sessions that started this week and reached a first file edit (Edit, Write, MultiEdit or NotebookEdit). Tokens: the input side (fresh input + cache read + cache write) the session sent before that edit; the split under it is the median session's own. Looks: calls that only read before that edit. ${LOOK_RULE_TEXT} Forked, continued and headless (claude -p) logs are left out; sessions that never edited are counted beside it, not in it; the session's own subagents are in neither figure. A median needs at least ${SERIES_MIN_N} sessions; with fewer the reading is not taken. ${POOLED_MODELS_TEXT}`,
134
+ requests: `Median requests (replies from the model, a streamed reply counted once) of a fresh session that ran a git commit that did not error, counted in the week the session STARTED — unlike Compactions, which counts a session in the week its log last moved. Forked, continued, headless and subagent logs are left out. A median needs at least ${SERIES_MIN_N} sessions; with fewer the reading is not taken. ${POOLED_MODELS_TEXT}`,
38
135
  rework: "Rework = a conversation whose first prompt or title says fix, repair, broken, again, bug, regression, revert or not working, plus every agent of a review-repair workflow run. Feature = a prompt that opens with add, build, implement, create, introduce, make, new, support, design or write and has none of those words. Everything else is unknown, never feature. Tokens are filed under the week they were spent; subagents under their conversation's class.",
39
136
  compact: "Compactions per session that ran a git commit that did not error, counted in the week the session's log last moved. The same count over every session that week stands beside it.",
137
+ spend: "Requests and list-price dollars the token ledger filed under this repo (its worktrees folded in) on the days of this week, subagents included — the same rows as the token-stats screen's By repo. Dollars are a counterfactual off the ledger's one dated price table, not a bill; a request on a model with no price adds no dollars, so the price per request divides by priced requests only. Context per request is the input side (fresh input + cache read + cache write) over every request.",
138
+ activity: "Conversations whose log spent tokens this week (one running over two weeks counts in both), how many of them started this week, and the subagent logs under them that spent tokens. The token split is the same total as Rework spend, cut by whose log it was in: the conversation's own, or its subagents'.",
40
139
  escaped: "Crash groups marked in the exposure watch's triage file (the week of the mark's latest change), and backlog items whose category is bug (the week they were added; items deleted from the backlog are gone from this count).",
41
140
  };
42
141
  /** The person's own words: pasted blocks, command wrappers and system reminders cut out. */
@@ -88,20 +187,65 @@ export function inRepairRun(wf, runs) {
88
187
  return runs.some((r) => r === wf || r.startsWith(wf) || wf.startsWith(r));
89
188
  }
90
189
  const absent = (why) => ({ absent: why });
190
+ const plural = (n, one) => `${n} ${n === 1 ? one : `${one}s`}`;
91
191
  /**
92
192
  * Fold one repo's conversations into its weekly readings for `weeks`
93
193
  * (oldest first). Pure: every number comes from the summaries handed in.
94
194
  */
95
- export function foldAgentWeeks(convs, weeks, escaped) {
195
+ export function foldAgentWeeks(convs, weeks, escaped,
196
+ /** The agent series by week (`seriesOf(points, { grain: "week" })`) — the token-stats card's
197
+ * function too, so the two can never disagree. Omitted = no start/looks/requests readings. */
198
+ series) {
199
+ const byWeek = new Map((series ?? []).map((b) => [b.key, b]));
96
200
  return weeks.map((week) => ({
97
201
  week,
98
- explore: exploreOf(convs, week),
202
+ ...(escaped.spend ? { spend: spendOf(escaped.spend, week) } : {}),
203
+ activity: activityOf(convs, week),
204
+ ...(series ? { start: startOf(byWeek.get(week)) } : {}),
205
+ explore: exploreOf(convs, week, series ? (byWeek.get(week)?.look ?? absent(seriesTooFewText(0, "look"))) : undefined),
206
+ ...(series ? { requests: byWeek.get(week)?.req ?? absent(seriesTooFewText(0, "req")) } : {}),
99
207
  rework: reworkOf(convs, week),
100
208
  compact: compactOf(convs, week),
101
209
  escaped: escapedOf(escaped, week),
102
210
  }));
103
211
  }
104
- function exploreOf(convs, week) {
212
+ function spendOf(s, week) {
213
+ if (isAgentAbsent(s))
214
+ return s;
215
+ return s[week] ?? absent("The token ledger has no request from this repo this week.");
216
+ }
217
+ function activityOf(convs, week) {
218
+ let sessions = 0, started = 0, agents = 0, mainTok = 0, agentTok = 0;
219
+ for (const { conv, agents: subs } of convs) {
220
+ const own = conv.wk[week];
221
+ let spent = !!own && tallyTotal(own) > 0;
222
+ if (own)
223
+ mainTok += tallyTotal(own);
224
+ for (const a of subs) {
225
+ const t = a.wk[week];
226
+ if (!t || !tallyTotal(t))
227
+ continue;
228
+ agents++;
229
+ agentTok += tallyTotal(t);
230
+ spent = true;
231
+ }
232
+ if (!spent)
233
+ continue;
234
+ sessions++;
235
+ if (conv.t0 !== undefined && weekOfMs(conv.t0) === week)
236
+ started++;
237
+ }
238
+ if (!sessions)
239
+ return absent("No conversation spent tokens in this repo this week.");
240
+ return { sessions, started, agents, mainTok, agentTok };
241
+ }
242
+ function startOf(b) {
243
+ if (!b)
244
+ return absent("No session or subagent started in this repo this week.");
245
+ const parts = START_PARTS.flatMap(({ id }) => (b.parts[id] ? [{ id, chars: b.parts[id] }] : []));
246
+ return { fresh: b.fresh, tok: b.start, parts, sub: b.subStart };
247
+ }
248
+ function exploreOf(convs, week, looks) {
105
249
  const started = convs.filter(({ conv }) => conv.t0 !== undefined && weekOfMs(conv.t0) === week);
106
250
  if (!started.length)
107
251
  return absent("No session started in this repo this week.");
@@ -114,6 +258,11 @@ function exploreOf(convs, week) {
114
258
  ? `None of the ${fresh.length} fresh session${fresh.length === 1 ? "" : "s"} this week edited a file.`
115
259
  : `All ${skipped} session${skipped === 1 ? "" : "s"} this week were forked, continued or headless.`);
116
260
  }
261
+ // The look median is the series' (minimum SERIES_MIN_N); the token median follows the same
262
+ // minimum so both figures stand over one set of sessions or neither is taken.
263
+ if (looks && edited.length < SERIES_MIN_N) {
264
+ return absent(`${seriesTooFewText(edited.length, "look")} ${plural(noEdit, "fresh session")} never edited; ${skipped} left out (forked, continued or headless).`);
265
+ }
117
266
  const inputSide = (e) => e[0] + e[1] + e[2];
118
267
  const sorted = [...edited].sort((a, b) => inputSide(a) - inputSide(b));
119
268
  // The LOWER middle: an even count would otherwise average two sessions into
@@ -124,6 +273,7 @@ function exploreOf(convs, week) {
124
273
  medianTok: inputSide(mid),
125
274
  split: { input: mid[0], output: 0, cacheRead: mid[1], cacheWrite: mid[2], cacheWrite1h: 0, turns: mid[3] },
126
275
  medianRequests: mid[3],
276
+ ...(looks ? { looks } : {}),
127
277
  };
128
278
  }
129
279
  function reworkOf(convs, week) {
@@ -1 +1 @@
1
- {"version":3,"file":"agentclass.js","sourceRoot":"","sources":["../src/agentclass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentclass.js","sourceRoot":"","sources":["../src/agentclass.ts"],"names":[],"mappings":"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"}