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":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qEAAqE;AACrE,cAAc,mBAAmB,CAAC;AAClC,+EAA+E;AAC/E,cAAc,aAAa,CAAC;AAC5B,wEAAwE;AACxE,cAAc,eAAe,CAAC;AAC9B,kEAAkE;AAClE,cAAc,eAAe,CAAC;AAC9B,qFAAqF;AACrF,cAAc,WAAW,CAAC;AAE1B;6EAC6E;AAC7E,cAAc,mBAAmB,CAAC;AAElC,mFAAmF;AACnF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAE5B,8EAA8E;AAC9E,cAAc,qBAAqB,CAAC;AACpC,6FAA6F;AAC7F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,2FAA2F;AAC3F,cAAc,sBAAsB,CAAC;AAErC,uEAAuE;AACvE,cAAc,kBAAkB,CAAC;AACjC,8EAA8E;AAC9E,cAAc,sBAAsB,CAAC;AAErC,oFAAoF;AACpF,cAAc,gBAAgB,CAAC;AAE/B;+EAC+E;AAC/E,cAAc,mBAAmB,CAAC;AAElC;;mDAEmD;AACnD,cAAc,mBAAmB,CAAC;AAElC;gDACgD;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAElC,uFAAuF;AACvF,cAAc,gBAAgB,CAAC;AAC/B,8GAA8G;AAC9G,cAAc,oBAAoB,CAAC;AACnC,8FAA8F;AAC9F,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,2EAA2E;AAC3E,cAAc,sBAAsB,CAAC;AAErC,0EAA0E;AAC1E,cAAc,mBAAmB,CAAC;AAElC,0EAA0E;AAC1E,cAAc,oBAAoB,CAAC;AACnC,+EAA+E;AAC/E,cAAc,kBAAkB,CAAC;AAEjC,2EAA2E;AAC3E,yEAAyE;AACzE,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,8EAA8E;AAC9E,cAAc,YAAY,CAAC;AAC3B,6EAA6E;AAC7E,oDAAoD;AACpD,cAAc,gBAAgB,CAAC;AAE/B,2EAA2E;AAC3E,+EAA+E;AAC/E,cAAc,cAAc,CAAC;AAE7B,6EAA6E;AAC7E,4EAA4E;AAC5E,cAAc,YAAY,CAAC;AAC3B,2EAA2E;AAC3E,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAC9B,gFAAgF;AAChF,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,iDAAiD;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,qFAAqF;AACrF,cAAc,eAAe,CAAC;AAE9B,gFAAgF;AAChF,cAAc,eAAe,CAAC;AAE9B,4EAA4E;AAC5E,cAAc,eAAe,CAAC;AAE9B,+EAA+E;AAC/E,2CAA2C;AAC3C,cAAc,gBAAgB,CAAC;AAE/B,0EAA0E;AAC1E,cAAc,YAAY,CAAC;AAE3B;uEACuE;AACvE,cAAc,cAAc,CAAC;AAC7B,4EAA4E;AAC5E,cAAc,eAAe,CAAC;AAE9B;0EAC0E;AAC1E,cAAc,eAAe,CAAC;AAE9B;gEACgE;AAChE,cAAc,gBAAgB,CAAC;AAE/B;4EAC4E;AAC5E,cAAc,cAAc,CAAC;AAE7B;iFACiF;AACjF,cAAc,YAAY,CAAC;AAE3B;0EAC0E;AAC1E,cAAc,oBAAoB,CAAC;AAEnC;0EAC0E;AAC1E,cAAc,kBAAkB,CAAC;AAEjC;0EAC0E;AAC1E,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAEhC,8FAA8F;AAC9F,cAAc,yBAAyB,CAAC;AAExC,8EAA8E;AAC9E,cAAc,qBAAqB,CAAC;AACpC,gHAAgH;AAChH,cAAc,kBAAkB,CAAC;AACjC,+FAA+F;AAC/F,cAAc,kBAAkB,CAAC;AACjC,oFAAoF;AACpF,cAAc,eAAe,CAAC;AAE9B;yEACyE;AACzE,cAAc,aAAa,CAAC;AAE5B;+EAC+E;AAC/E,cAAc,aAAa,CAAC;AAE5B;qCACqC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC;iFACiF;AACjF,cAAc,YAAY,CAAC;AAE3B;gFACgF;AAChF,cAAc,cAAc,CAAC;AAE7B;wEACwE;AACxE,cAAc,cAAc,CAAC;AAE7B;uEACuE;AACvE,cAAc,UAAU,CAAC;AAEzB;wEACwE;AACxE,cAAc,aAAa,CAAC;AAE5B;4EAC4E;AAC5E,cAAc,aAAa,CAAC;AAE5B;yCACyC;AACzC,cAAc,cAAc,CAAC;AAE7B;0DAC0D;AAC1D,cAAc,gBAAgB,CAAC;AAE/B;gFACgF;AAChF,cAAc,gBAAgB,CAAC;AAE/B;4DAC4D;AAC5D,cAAc,mBAAmB,CAAC;AAElC;;+DAE+D;AAC/D,cAAc,kBAAkB,CAAC;AAEjC;;sCAEsC;AACtC,cAAc,oBAAoB,CAAC;AACnC,wHAAwH;AACxH,cAAc,iBAAiB,CAAC;AAChC,yHAAyH;AACzH,cAAc,gBAAgB,CAAC;AAC/B,6HAA6H;AAC7H,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC;+EAC+E;AAC/E,cAAc,kBAAkB,CAAC;AAEjC;+EAC+E;AAC/E,cAAc,aAAa,CAAC;AAE5B;4EAC4E;AAC5E,cAAc,aAAa,CAAC;AAE5B,qGAAqG;AACrG,cAAc,aAAa,CAAC;AAE5B;oEACoE;AACpE,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B;oEACoE;AACpE,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAEhC;;oDAEoD;AACpD,cAAc,iBAAiB,CAAC;AAChC,qGAAqG;AACrG,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAE1B;+EAC+E;AAC/E,cAAc,aAAa,CAAC;AAE5B;;uCAEuC;AACvC,cAAc,aAAa,CAAC;AAE5B,qFAAqF;AACrF,cAAc,kBAAkB,CAAC;AAEjC;;qCAEqC;AACrC,cAAc,gBAAgB,CAAC;AAE/B;uDACuD;AACvD,cAAc,gBAAgB,CAAC;AAE/B,8EAA8E;AAC9E,wEAAwE;AACxE,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,mGAAmG;AACnG,cAAc,iBAAiB,CAAC;AAEhC;;oBAEoB;AACpB,cAAc,gBAAgB,CAAC;AAE/B;yEACyE;AACzE,cAAc,iBAAiB,CAAC;AAEhC;;sEAEsE;AACtE,cAAc,gBAAgB,CAAC;AAC/B;oFACoF;AACpF,cAAc,iBAAiB,CAAC;AAEhC;;2EAE2E;AAC3E,cAAc,kBAAkB,CAAC;AAEjC;;2CAE2C;AAC3C,cAAc,cAAc,CAAC;AAE7B;;mDAEmD;AACnD,cAAc,cAAc,CAAC;AAE7B;+EAC+E;AAC/E,cAAc,cAAc,CAAC;AAE7B;mEACmE;AACnE,cAAc,YAAY,CAAC;AAE3B;;kEAEkE;AAClE,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAElC;;gCAEgC;AAChC,cAAc,iBAAiB,CAAC;AAEhC;;;wCAGwC;AACxC,cAAc,qBAAqB,CAAC;AACpC;+EAC+E;AAC/E,cAAc,kBAAkB,CAAC;AACjC,gGAAgG;AAChG,cAAc,0BAA0B,CAAC;AACzC,gFAAgF;AAChF,cAAc,kBAAkB,CAAC;AACjC,kFAAkF;AAClF,cAAc,mBAAmB,CAAC;AAClC,uGAAuG;AACvG,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAE9B;4EAC4E;AAC5E,cAAc,iBAAiB,CAAC;AAEhC;;;aAGa;AACb,cAAc,aAAa,CAAC;AAE5B;iEACiE;AACjE,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC;+EAC+E;AAC/E,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,6EAA6E;AAC7E,cAAc,cAAc,CAAC;AAE7B;qDACqD;AACrD,cAAc,kBAAkB,CAAC;AACjC,6GAA6G;AAC7G,cAAc,qBAAqB,CAAC;AAEpC,yFAAyF;AACzF,cAAc,mBAAmB,CAAC;AAElC,0FAA0F;AAC1F,cAAc,iBAAiB,CAAC;AAEhC;6EAC6E;AAC7E,cAAc,eAAe,CAAC;AAE9B;4EAC4E;AAC5E,cAAc,iBAAiB,CAAC;AAChC,uEAAuE;AACvE,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B;+CAC+C;AAC/C,cAAc,aAAa,CAAC;AAE5B,wFAAwF;AACxF,cAAc,iBAAiB,CAAC"}
@@ -153,6 +153,16 @@ export function failureText(error) {
153
153
  "with nobody there to answer it. Retry with the phone in hand: if Play Protect asks, install anyway. If it " +
154
154
  "refuses without asking, Play Store › Play Protect says why";
155
155
  }
156
+ // An older versionCode than the copy installed. The platform's status is INVALID ("not a valid app"
157
+ // on the native side), which reads as a broken file; it is a stale build — often the Play flavor's
158
+ // APK against the Play Store's copy, which only Play updates (owner, 2026-11-10).
159
+ const down = /VERSION_DOWNGRADE.*?version code (\d+) is older than current (\d+)/i.exec(error);
160
+ if (down || /VERSION_DOWNGRADE/.test(error)) {
161
+ const codes = down ? ` (version code ${down[1]}, the phone has ${down[2]})` : "";
162
+ return `this build is older than the copy already on this phone${codes}, and Android never installs an older ` +
163
+ "version over a newer one — a retry fails the same way. Build a newer one; a copy from the Play Store updates " +
164
+ "only through the Play Store (INSTALL_FAILED_VERSION_DOWNGRADE)";
165
+ }
156
166
  if (/Session was abandoned/i.test(error)) {
157
167
  return "the install was dropped before it finished — Android abandons one when the app is closed mid-install or " +
158
168
  "the confirm dialog goes unanswered. A retry starts a fresh one";
@@ -1 +1 @@
1
- {"version":3,"file":"installrow.js","sourceRoot":"","sources":["../src/installrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installrow.js","sourceRoot":"","sources":["../src/installrow.ts"],"names":[],"mappings":"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"}
@@ -23,3 +23,26 @@ export declare function imagePaths(text: string): string[];
23
23
  * (`docs/flow.png`) are both files a rewritten text has to keep naming.
24
24
  */
25
25
  export declare function transportPaths(text: string): string[];
26
+ /**
27
+ * How long the desktop holds a prompt for an inbox file the phone has not
28
+ * finished uploading (`awaitInboxFiles`, host `routes/session.ts`). A cap, not
29
+ * a promise: past it the prompt is typed anyway, exactly as before the hold.
30
+ * Inside the phone's own patience — its retries JOIN the held delivery
31
+ * (`inputsInFlight`) and it gives a submit eight 90 s windows.
32
+ */
33
+ export declare const INBOX_HOLD_MS: number;
34
+ /** Only a name the phone minted this recently is waited for (see below). */
35
+ export declare const INBOX_FRESH_MS: number;
36
+ /**
37
+ * The `.claude/inbox/` paths in a prompt that the phone minted RECENTLY — the
38
+ * ones whose bytes may still be on their way.
39
+ *
40
+ * The phone names an upload before it sends it (`plannedInboxPath`:
41
+ * `<stem>-<Date.now() base 36><6 id chars><ext>`), so the prompt naming a
42
+ * picture can reach the desktop before the picture does. The minted stamp is
43
+ * what separates that from a path that will simply never exist (an old file
44
+ * the sweep removed, a hand-typed name): only a name stamped within
45
+ * `INBOX_FRESH_MS` of `now` is returned, so an old or foreign path never holds
46
+ * a prompt. No stamp ⇒ not returned.
47
+ */
48
+ export declare function freshInboxRefs(text: string, now: number, freshMs?: number): string[];
@@ -79,4 +79,42 @@ export function transportPaths(text) {
79
79
  const out = m ? m.map(trimPath) : [];
80
80
  return [...new Set([...out, ...imagePaths(text)])];
81
81
  }
82
+ /**
83
+ * How long the desktop holds a prompt for an inbox file the phone has not
84
+ * finished uploading (`awaitInboxFiles`, host `routes/session.ts`). A cap, not
85
+ * a promise: past it the prompt is typed anyway, exactly as before the hold.
86
+ * Inside the phone's own patience — its retries JOIN the held delivery
87
+ * (`inputsInFlight`) and it gives a submit eight 90 s windows.
88
+ */
89
+ export const INBOX_HOLD_MS = 5 * 60_000;
90
+ /** Only a name the phone minted this recently is waited for (see below). */
91
+ export const INBOX_FRESH_MS = 2 * 60 * 60_000;
92
+ /**
93
+ * The `.claude/inbox/` paths in a prompt that the phone minted RECENTLY — the
94
+ * ones whose bytes may still be on their way.
95
+ *
96
+ * The phone names an upload before it sends it (`plannedInboxPath`:
97
+ * `<stem>-<Date.now() base 36><6 id chars><ext>`), so the prompt naming a
98
+ * picture can reach the desktop before the picture does. The minted stamp is
99
+ * what separates that from a path that will simply never exist (an old file
100
+ * the sweep removed, a hand-typed name): only a name stamped within
101
+ * `INBOX_FRESH_MS` of `now` is returned, so an old or foreign path never holds
102
+ * a prompt. No stamp ⇒ not returned.
103
+ */
104
+ export function freshInboxRefs(text, now, freshMs = INBOX_FRESH_MS) {
105
+ if (typeof text !== "string" || !text)
106
+ return [];
107
+ const out = [];
108
+ for (const p of transportPaths(text)) {
109
+ if (!p.startsWith(".claude/inbox/"))
110
+ continue;
111
+ const m = /-([0-9a-z]{8})[0-9a-z]{6}(?:\.[A-Za-z0-9]+)?$/.exec(p);
112
+ if (!m)
113
+ continue;
114
+ const at = parseInt(m[1], 36);
115
+ if (Number.isFinite(at) && Math.abs(now - at) <= freshMs)
116
+ out.push(p);
117
+ }
118
+ return out;
119
+ }
82
120
  //# sourceMappingURL=itempaths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itempaths.js","sourceRoot":"","sources":["../src/itempaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,mDAAmD,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;AAEnG,qFAAqF;AACrF,MAAM,UAAU,GAAG,gDAAgD,CAAC;AAEpE;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,KAAK,IAAI,CAAyB,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAI,CAAC;YACjE,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;YACd,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"itempaths.js","sourceRoot":"","sources":["../src/itempaths.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,7 @@ export type Provider = {
76
76
  } | {
77
77
  store: string;
78
78
  };
79
- export type FactName = "turns" | "dialogs" | "questions" | "plan" | "delivery" | "transcript" | "context" | "tokens" | "usage" | "agents" | "conversations" | "asking" | "limits" | "mode" | "commands";
79
+ export type FactName = "turns" | "dialogs" | "questions" | "plan" | "delivery" | "transcript" | "context" | "tokens" | "usage" | "agents" | "conversations" | "asking" | "limits" | "mode" | "commands" | "skills";
80
80
  export declare const FACT_NAMES: readonly FactName[];
81
81
  /**
82
82
  * The providers per fact. A fact left out has none — ABSENT. Core names per fact (the host
@@ -85,7 +85,8 @@ export declare const FACT_NAMES: readonly FactName[];
85
85
  * questions / asking: screen `question-ts` · plan: screen `planbox` · context: screen
86
86
  * `context-meter` · limits: screen `limit-ts` · usage: screen `usage-probe` · transcript /
87
87
  * context / conversations / tokens: store `claude-jsonl` (+ contributed store readers) ·
88
- * agents: store `claude-agents`. `delivery`, `mode` and `commands` (2.2) take `{source:true}` only.
88
+ * agents: store `claude-agents`. `skills`: store `claude-settings` (the skills and plugins switch).
89
+ * `delivery`, `mode` and `commands` (2.2) take `{source:true}` only.
89
90
  */
90
91
  export type BackendFacts = Partial<Record<FactName, readonly Provider[]>>;
91
92
  /** Facts about the BINARY — what it accepts, never which reader answers what (that is `facts`). */
@@ -1,3 +1,3 @@
1
1
  export const FACT_NAMES = ["turns", "dialogs", "questions", "plan", "delivery", "transcript",
2
- "context", "tokens", "usage", "agents", "conversations", "asking", "limits", "mode", "commands"];
2
+ "context", "tokens", "usage", "agents", "conversations", "asking", "limits", "mode", "commands", "skills"];
3
3
  //# sourceMappingURL=pluginlaunch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pluginlaunch.js","sourceRoot":"","sources":["../src/pluginlaunch.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY;IAC/G,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"pluginlaunch.js","sourceRoot":"","sources":["../src/pluginlaunch.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY;IAC/G,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Reading Anthropic's own price page into rates — so a running installation
3
+ * prices a new model, or a changed rate, the day the page says so rather than
4
+ * the day somebody ships a release.
5
+ *
6
+ * Why this exists: the built-in table (`pricing.ts`) went five weeks without
7
+ * Claude Fable 5.2 (every one of its turns unpriced) and charged Claude Sonnet
8
+ * 5.5's cache reads at the 0.1× rule while the page said 0.05× — doubling the
9
+ * biggest line of every Sonnet session. An open-source install cannot wait for
10
+ * its owner to update.
11
+ *
12
+ * ── The source ──────────────────────────────────────────────────────────────
13
+ *
14
+ * `PRICE_LIST_URL` is the Markdown form of the docs pricing page. Its first
15
+ * table states all four rates per model — base input, 5-minute write, 1-hour
16
+ * write, cache hits, output — so nothing here is derived from a multiplier.
17
+ *
18
+ * ── The rule: a page we cannot read gives NO prices, never wrong ones ───────
19
+ *
20
+ * The page is somebody else's prose and its shape will change. So the parse is
21
+ * strict and all-or-nothing: the header must be exactly the six columns, every
22
+ * price cell exactly `$N / MTok`, and every row must pass the arithmetic the
23
+ * page has always held to (5-minute write = 1.25× input, 1-hour write = 2×
24
+ * input, a cache read no dearer than input, output no cheaper). One row that
25
+ * fails means the columns no longer mean what we think, so the WHOLE read is
26
+ * refused with a sentence and the host keeps what it had. A row whose NAME we
27
+ * cannot turn into a model id is skipped, not fatal: the page grows rows for
28
+ * things we have never logged.
29
+ *
30
+ * Pure: no fetch, no clock, no disk. The host owns all three (`pricefetch.ts`).
31
+ */
32
+ import type { Rate } from "./pricing.js";
33
+ export declare const PRICE_LIST_URL = "https://platform.claude.com/docs/en/about-claude/pricing.md";
34
+ /** The page is ~56 KB; anything far past that is not the page. */
35
+ export declare const PRICE_LIST_MAX_BYTES = 1000000;
36
+ export type PriceListParse = {
37
+ ok: true;
38
+ /** Canonical alias → rate, `cacheRead` always set (the page states it). */
39
+ rates: Record<string, Rate>;
40
+ /** A model's dearer card for long prompts (Haiku 5.5 past 100K tokens).
41
+ * Recorded, not yet charged — the ledger does not split by prompt length. */
42
+ longPrompt: Record<string, Rate & {
43
+ overTokens: number;
44
+ }>;
45
+ /** Rows skipped because their name is not a model we can key. */
46
+ skipped: string[];
47
+ } | {
48
+ ok: false;
49
+ why: string;
50
+ };
51
+ export declare function parsePriceList(md: string): PriceListParse;
52
+ /**
53
+ * How the read list differs from the built-in table, one line per model — for
54
+ * the maintainer script and the host's log. Never shown as a correction of
55
+ * anybody's bill: both are list prices.
56
+ */
57
+ export declare function priceListDiff(read: Record<string, Rate>, builtin: Record<string, Rate>, mult?: number): string[];
@@ -0,0 +1,128 @@
1
+ export const PRICE_LIST_URL = "https://platform.claude.com/docs/en/about-claude/pricing.md";
2
+ /** The page is ~56 KB; anything far past that is not the page. */
3
+ export const PRICE_LIST_MAX_BYTES = 1_000_000;
4
+ /** Fewer priced rows than this and the table we found is not the model table. */
5
+ const MIN_ROWS = 5;
6
+ const HEADER = ["Model", "Base input tokens", "5m cache writes", "1h cache writes", "Cache hits and refreshes", "Output tokens"];
7
+ const cells = (line) => {
8
+ const parts = line.split("|").map((c) => c.trim());
9
+ // A table row starts and ends with a pipe: drop the empty ends.
10
+ return parts.slice(1, parts.length - 1);
11
+ };
12
+ /** `$0.20 / MTok<sup>1</sup>` → 0.2. Anything else → null. */
13
+ function dollars(cell) {
14
+ const m = /^\$(\d{1,4}(?:\.\d{1,4})?)\s*\/\s*MTok(?:\s*<sup>\d+<\/sup>)?$/.exec(cell);
15
+ if (!m)
16
+ return null;
17
+ const v = Number(m[1]);
18
+ return Number.isFinite(v) && v > 0 && v < 1000 ? v : null;
19
+ }
20
+ /** Longest first-column cell read; a retired-model note with a URL is well under this. */
21
+ const MODEL_CELL_MAX = 300;
22
+ const near = (a, b) => Math.abs(a - b) <= 1e-9 + 1e-6 * Math.abs(b);
23
+ /**
24
+ * `Claude Opus 4.1 ([retired, …](https://…))` → `{ id: "claude-opus-4-1" }`.
25
+ * `Claude Haiku 5.5 (for prompts over 100,000 tokens)` → also `overTokens: 100000`.
26
+ * Null when the name is not `Claude <Family> <version>` plus those two kinds of note.
27
+ */
28
+ function modelOf(cell) {
29
+ // No real model name is this long; bounds the regexes below on a hostile cell.
30
+ if (cell.length > MODEL_CELL_MAX)
31
+ return null;
32
+ // A parenthesised Markdown link is a status note ("limited availability", "retired").
33
+ let name = cell.replace(/\(\[[^\]]*\]\([^)]*\)\)/g, "").trim();
34
+ let overTokens;
35
+ let upTo = false;
36
+ const card = /\(for prompts (up to|over) ([\d,]+) tokens\)$/.exec(name);
37
+ if (card) {
38
+ name = name.slice(0, card.index).trim();
39
+ if (card[1] === "over")
40
+ overTokens = Number(card[2].replace(/,/g, ""));
41
+ else
42
+ upTo = true;
43
+ }
44
+ const m = /^Claude ([A-Z][a-z]+) (\d+(?:\.\d+)?)$/.exec(name);
45
+ if (!m)
46
+ return null;
47
+ const id = `claude-${m[1].toLowerCase()}-${m[2].replace(".", "-")}`;
48
+ return overTokens ? { id, overTokens } : { id, upTo };
49
+ }
50
+ export function parsePriceList(md) {
51
+ if (typeof md !== "string" || !md)
52
+ return { ok: false, why: "The price page came back empty." };
53
+ if (md.length > PRICE_LIST_MAX_BYTES)
54
+ return { ok: false, why: "The price page was far larger than expected, so it was not read." };
55
+ const lines = md.split(/\r?\n/);
56
+ const at = lines.findIndex((l) => {
57
+ const c = cells(l.trim());
58
+ return c.length === HEADER.length && c.every((v, i) => v === HEADER[i]);
59
+ });
60
+ if (at < 0)
61
+ return { ok: false, why: "The price page no longer has the model table this version knows how to read." };
62
+ if (!/^\|\s*:?-+/.test((lines[at + 1] ?? "").trim()))
63
+ return { ok: false, why: "The model table on the price page has an unexpected shape." };
64
+ const rates = {};
65
+ const longPrompt = {};
66
+ const skipped = [];
67
+ for (let i = at + 2; i < lines.length; i++) {
68
+ const line = lines[i].trim();
69
+ if (!line.startsWith("|"))
70
+ break;
71
+ const c = cells(line);
72
+ if (c.length !== HEADER.length)
73
+ return { ok: false, why: "A row of the price table has the wrong number of columns." };
74
+ const model = modelOf(c[0]);
75
+ if (!model) {
76
+ skipped.push(c[0]);
77
+ continue;
78
+ }
79
+ const [input, w5m, w1h, read, output] = c.slice(1).map(dollars);
80
+ if (input == null || w5m == null || w1h == null || read == null || output == null) {
81
+ return { ok: false, why: `The price row for ${model.id} has a price this version cannot read.` };
82
+ }
83
+ if (!near(w5m, input * 1.25) || !near(w1h, input * 2) || read > input || output < input) {
84
+ return { ok: false, why: `The price row for ${model.id} no longer adds up the way the price page always has, so none of it was used.` };
85
+ }
86
+ const rate = { input, output, cacheRead: read };
87
+ if (model.overTokens) {
88
+ longPrompt[model.id] = { ...rate, overTokens: model.overTokens };
89
+ continue;
90
+ }
91
+ if (rates[model.id])
92
+ return { ok: false, why: `The price page lists ${model.id} twice.` };
93
+ rates[model.id] = rate;
94
+ }
95
+ if (Object.keys(rates).length < MIN_ROWS)
96
+ return { ok: false, why: "The price table had too few rows to be the model table." };
97
+ return { ok: true, rates, longPrompt, skipped };
98
+ }
99
+ /**
100
+ * How the read list differs from the built-in table, one line per model — for
101
+ * the maintainer script and the host's log. Never shown as a correction of
102
+ * anybody's bill: both are list prices.
103
+ */
104
+ export function priceListDiff(read, builtin, mult = 0.1) {
105
+ const out = [];
106
+ for (const [id, r] of Object.entries(read)) {
107
+ const b = builtin[id];
108
+ if (!b) {
109
+ out.push(`${id}: not in the built-in table ($${r.input}/$${r.output}, cache read $${r.cacheRead})`);
110
+ continue;
111
+ }
112
+ const bRead = b.cacheRead ?? b.input * mult;
113
+ const d = [];
114
+ if (!near(b.input, r.input))
115
+ d.push(`input $${b.input} → $${r.input}`);
116
+ if (!near(b.output, r.output))
117
+ d.push(`output $${b.output} → $${r.output}`);
118
+ if (r.cacheRead != null && !near(bRead, r.cacheRead))
119
+ d.push(`cache read $${+bRead.toFixed(4)} → $${r.cacheRead}`);
120
+ if (d.length)
121
+ out.push(`${id}: ${d.join(", ")}`);
122
+ }
123
+ for (const id of Object.keys(builtin))
124
+ if (!read[id])
125
+ out.push(`${id}: in the built-in table, not on the page`);
126
+ return out;
127
+ }
128
+ //# sourceMappingURL=pricelist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricelist.js","sourceRoot":"","sources":["../src/pricelist.ts"],"names":[],"mappings":"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"}
@@ -68,13 +68,17 @@
68
68
  * them fell back to a token total beside priced siblings; Haiku 5.5 added
69
69
  * 2026-10-09 from the same skill's table and its migration notes — $0.10/
70
70
  * $0.50 at a prompt of 100K tokens or fewer, cache at the multipliers —
71
- * after 1.1M of its tokens sat unpriced in one week).
71
+ * after 1.1M of its tokens sat unpriced in one week; Fable 5.2 added and
72
+ * Sonnet 5.5's cache read corrected 2026-11-12 from the same table —
73
+ * Fable 5.2 $8/$40, cache read $0.20, after 3,241 of its log records sat
74
+ * unpriced; Sonnet 5.5 reads the cache at $0.10, not the rule's $0.20, so
75
+ * every Sonnet 5.5 session had been charged twice that line).
72
76
  * `PRICES_AS_OF` is carried to the UI so the screen can say how old the
73
77
  * table is rather than implying it is current.
74
78
  */
75
79
  /** When this table was taken. Shown, so a stale rate is visible rather than
76
80
  * silently authoritative. */
77
- export declare const PRICES_AS_OF = "2026-10-09";
81
+ export declare const PRICES_AS_OF = "2026-11-12";
78
82
  /** Multipliers on a model's INPUT rate. */
79
83
  export declare const CACHE_READ_MULT = 0.1;
80
84
  export declare const CACHE_WRITE_5M_MULT = 1.25;
@@ -87,7 +91,8 @@ export interface Rate {
87
91
  * The published cache-READ rate, USD per million, where the list states one
88
92
  * that is not `input × CACHE_READ_MULT`.
89
93
  *
90
- * Absent means the multiplier — every model but Fable 5.1 and Opus 5.5. Carried
94
+ * Absent means the multiplier — every model but Fable/Mythos 5.1 and 5.2,
95
+ * Opus 5.5 and Sonnet 5.5. Carried
91
96
  * as an absolute rate rather than as a per-model multiplier because that is
92
97
  * how the price list states it, and a second derivation is a second place to
93
98
  * get it wrong.
@@ -108,14 +113,43 @@ interface PriceEntry extends Rate {
108
113
  * one of those would be priced wrongly here, which is why the screen calls this
109
114
  * a list-price estimate rather than a cost.
110
115
  *
111
- * The Mythos ids are the two the list does NOT price (they are not on the
112
- * public page at all). They are kept at their Fable twins' input/output rates,
113
- * which is what the model documentation states — but Fable 5.1's cache-read
114
- * discount is deliberately NOT extended to `claude-mythos-5-1`: that number is
115
- * unstated for it, and the 0.1× rule is the one that errs dear rather than
116
- * cheap.
116
+ * This is the BUILT-IN floor. A running host overlays the rates it reads off
117
+ * Anthropic's own price page (`pricelist.ts`, `installPriceList`), so a new
118
+ * model or a changed rate reaches an installation without a release; this
119
+ * table is what prices a desktop that has never read the page or is told not
120
+ * to (`WATERPLANE_PRICE_FETCH=0`). Every row here was checked against that
121
+ * page on 2026-11-12, Mythos and the retired models included.
117
122
  */
118
123
  export declare const PRICES: Record<string, PriceEntry>;
124
+ /**
125
+ * A model's dearer card for LONG prompts, keyed by the canonical alias. The
126
+ * page prices Haiku 5.5 by prompt length: a request whose prompt (input plus
127
+ * cache reads plus cache writes) is over `overTokens` pays this card for ALL of
128
+ * its tokens, cache hits included, and each request is judged on its own.
129
+ *
130
+ * Built-in floor, like `PRICES`; the host overlays the page's own long cards
131
+ * (`LivePrices.longPrompt`). Checked against the page on 2026-11-12.
132
+ */
133
+ export declare const LONG_PROMPT: Record<string, Rate & {
134
+ overTokens: number;
135
+ }>;
136
+ /** The mark a price key carries when its requests were over the long-prompt line. */
137
+ export declare const LONG_PROMPT_MARK = "@long";
138
+ /**
139
+ * The key ONE request prices under: its own model, or `<alias>@long` when the
140
+ * model has a long-prompt card and this request's prompt is past its line.
141
+ * Asked per request, never of a bucket — a bucket's sum says nothing about
142
+ * any one prompt's length. A model without a long card keeps its raw id.
143
+ */
144
+ export declare function priceKeyOf(model: string | null | undefined, t: {
145
+ input: number;
146
+ cacheRead: number;
147
+ cacheWrite: number;
148
+ }): string | null;
149
+ /** `claude-haiku-5-5@long` → ` (prompts over 100K)`; anything else → "". For labels. */
150
+ export declare function longPromptNote(id: string): string;
151
+ /** A tallied model key as a row names it: the alias, plus the long-prompt note when it has the mark. */
152
+ export declare function priceKeyLabel(key: string): string;
119
153
  /**
120
154
  * The alias a logged model id prices under, or null when it is not one of ours.
121
155
  *
@@ -129,6 +163,43 @@ export declare function normalizeModel(model: string | null | undefined): string
129
163
  /** The rate for a model on a given day, or null when we have no list price.
130
164
  * `day` is `YYYY-MM-DD`; omit it to get the current (non-intro) rate. */
131
165
  export declare function rateFor(model: string | null | undefined, day?: string): Rate | null;
166
+ /** Rates read off Anthropic's own price page, overlaid on `PRICES`. */
167
+ export interface LivePrices {
168
+ /** Keyed by the canonical alias, like `PRICES`. Every rate carries `cacheRead`. */
169
+ rates: Record<string, Rate>;
170
+ /** Long-prompt cards the page states (Haiku 5.5 past 100K), overlaid on `LONG_PROMPT`. */
171
+ longPrompt?: Record<string, Rate & {
172
+ overTokens: number;
173
+ }>;
174
+ /** When the page was read, epoch ms. */
175
+ fetchedAt: number;
176
+ }
177
+ /**
178
+ * Put a parsed price list in front of the built-in table — or take it away
179
+ * (`null`). The HOST calls this (from its cached copy at boot, and after every
180
+ * good read); nothing in shared fetches. A model the page lists is priced by
181
+ * the page; one it does not list falls back to `PRICES`, then to null.
182
+ */
183
+ export declare function installPriceList(p: LivePrices | null): void;
184
+ /** Changes whenever the rates in force change — a cache key for priced money. */
185
+ export declare function priceGeneration(): number;
186
+ /** When the rates in force last changed, epoch ms; 0 when never this process. */
187
+ export declare function priceListChangedAt(): number;
188
+ /** The list installed now, or null — what the host hands the phone in `welcome`. */
189
+ export declare function installedPriceList(): LivePrices | null;
190
+ /** Where the rates in force came from — the two wire fields every cost document carries. */
191
+ export declare function priceListSource(): {
192
+ pricesAsOf: string;
193
+ pricesFrom: "list" | "builtin";
194
+ };
195
+ /**
196
+ * Where a dollar figure's rates came from, as one phrase every screen shares. `pricesFrom`
197
+ * absent (an older host) reads as the built-in table.
198
+ */
199
+ export declare function priceSourceText(doc: {
200
+ pricesAsOf: string;
201
+ pricesFrom?: "list" | "builtin";
202
+ }): string;
132
203
  /** Whether a model has a published list price at all. */
133
204
  export declare function isPriced(model: string | null | undefined): boolean;
134
205
  /** The counts one cost calculation needs. A subset of `TokenTotals`, spelled
@@ -163,6 +234,12 @@ export declare function addCost(a: CostBreakdown, b: CostBreakdown): CostBreakdo
163
234
  * usage it could not price and say so on screen.
164
235
  */
165
236
  export declare function costOf(t: Priceable, model: string | null | undefined, day?: string): CostBreakdown | null;
237
+ /**
238
+ * Price ONE request: `costOf` under `priceKeyOf`, so a Haiku 5.5 request with a
239
+ * prompt past 100K tokens pays the long card. Only for a single request's
240
+ * counts — a bucket goes through `costOf` with the key it was tallied under.
241
+ */
242
+ export declare function costOfRequest(t: Priceable, model: string | null | undefined, day?: string): CostBreakdown | null;
166
243
  /**
167
244
  * `$1,284.40` / `$4.21` / `$0.0031` / `$0`.
168
245
  *