waterplane 0.1.11 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +47 -23
  3. package/node_modules/@waterplane/shared/dist/agentfiles.js +27 -3
  4. package/node_modules/@waterplane/shared/dist/agentfiles.js.map +1 -1
  5. package/node_modules/@waterplane/shared/dist/alwaysonwords.d.ts +11 -0
  6. package/node_modules/@waterplane/shared/dist/alwaysonwords.js +29 -5
  7. package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -1
  8. package/node_modules/@waterplane/shared/dist/artifacts.js +5 -1
  9. package/node_modules/@waterplane/shared/dist/artifacts.js.map +1 -1
  10. package/node_modules/@waterplane/shared/dist/askrules.d.ts +0 -13
  11. package/node_modules/@waterplane/shared/dist/askrules.js +2 -1
  12. package/node_modules/@waterplane/shared/dist/askrules.js.map +1 -1
  13. package/node_modules/@waterplane/shared/dist/assess/sasswords.js +4 -0
  14. package/node_modules/@waterplane/shared/dist/assess/sasswords.js.map +1 -1
  15. package/node_modules/@waterplane/shared/dist/autocompact.js +2 -1
  16. package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -1
  17. package/node_modules/@waterplane/shared/dist/block.d.ts +114 -0
  18. package/node_modules/@waterplane/shared/dist/block.js +104 -0
  19. package/node_modules/@waterplane/shared/dist/block.js.map +1 -0
  20. package/node_modules/@waterplane/shared/dist/branchmode.d.ts +8 -2
  21. package/node_modules/@waterplane/shared/dist/branchmode.js +8 -0
  22. package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -1
  23. package/node_modules/@waterplane/shared/dist/budget.d.ts +7 -1
  24. package/node_modules/@waterplane/shared/dist/budget.js +11 -3
  25. package/node_modules/@waterplane/shared/dist/budget.js.map +1 -1
  26. package/node_modules/@waterplane/shared/dist/buildscan.d.ts +16 -0
  27. package/node_modules/@waterplane/shared/dist/buildscan.js +73 -7
  28. package/node_modules/@waterplane/shared/dist/buildscan.js.map +1 -1
  29. package/node_modules/@waterplane/shared/dist/calday.d.ts +4 -0
  30. package/node_modules/@waterplane/shared/dist/calday.js +25 -0
  31. package/node_modules/@waterplane/shared/dist/calday.js.map +1 -0
  32. package/node_modules/@waterplane/shared/dist/changebrief.d.ts +16 -0
  33. package/node_modules/@waterplane/shared/dist/claudeconfig.js +2 -1
  34. package/node_modules/@waterplane/shared/dist/claudeconfig.js.map +1 -1
  35. package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js +1 -1
  36. package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js.map +1 -1
  37. package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js +1 -0
  38. package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js.map +1 -1
  39. package/node_modules/@waterplane/shared/dist/clirestart.js +23 -1
  40. package/node_modules/@waterplane/shared/dist/clirestart.js.map +1 -1
  41. package/node_modules/@waterplane/shared/dist/costwindow.d.ts +24 -5
  42. package/node_modules/@waterplane/shared/dist/costwindow.js +35 -15
  43. package/node_modules/@waterplane/shared/dist/costwindow.js.map +1 -1
  44. package/node_modules/@waterplane/shared/dist/desktopfiles.js +2 -1
  45. package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -1
  46. package/node_modules/@waterplane/shared/dist/dictate.js +1 -1
  47. package/node_modules/@waterplane/shared/dist/dictate.js.map +1 -1
  48. package/node_modules/@waterplane/shared/dist/followup.d.ts +1 -1
  49. package/node_modules/@waterplane/shared/dist/followup.js +8 -6
  50. package/node_modules/@waterplane/shared/dist/followup.js.map +1 -1
  51. package/node_modules/@waterplane/shared/dist/healthindex/readings.js +1 -1
  52. package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -1
  53. package/node_modules/@waterplane/shared/dist/healthindex/score.js +3 -1
  54. package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -1
  55. package/node_modules/@waterplane/shared/dist/healthindex/words.d.ts +1 -1
  56. package/node_modules/@waterplane/shared/dist/healthindex/words.js +61 -6
  57. package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -1
  58. package/node_modules/@waterplane/shared/dist/hints.js +14 -3
  59. package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
  60. package/node_modules/@waterplane/shared/dist/hosturl.d.ts +0 -24
  61. package/node_modules/@waterplane/shared/dist/hosturl.js +3 -2
  62. package/node_modules/@waterplane/shared/dist/hosturl.js.map +1 -1
  63. package/node_modules/@waterplane/shared/dist/index.d.ts +19 -3
  64. package/node_modules/@waterplane/shared/dist/index.js +19 -3
  65. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  66. package/node_modules/@waterplane/shared/dist/installrow.d.ts +156 -0
  67. package/node_modules/@waterplane/shared/dist/installrow.js +261 -0
  68. package/node_modules/@waterplane/shared/dist/installrow.js.map +1 -0
  69. package/node_modules/@waterplane/shared/dist/intent/clean.d.ts +87 -0
  70. package/node_modules/@waterplane/shared/dist/intent/clean.js +51 -3
  71. package/node_modules/@waterplane/shared/dist/intent/clean.js.map +1 -1
  72. package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +9 -0
  73. package/node_modules/@waterplane/shared/dist/intent/kind.js +9 -0
  74. package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
  75. package/node_modules/@waterplane/shared/dist/intent/types.d.ts +19 -0
  76. package/node_modules/@waterplane/shared/dist/intent/types.js.map +1 -1
  77. package/node_modules/@waterplane/shared/dist/intent/verdict.js +9 -16
  78. package/node_modules/@waterplane/shared/dist/intent/verdict.js.map +1 -1
  79. package/node_modules/@waterplane/shared/dist/intent/words.d.ts +2 -1
  80. package/node_modules/@waterplane/shared/dist/intent/words.js +12 -2
  81. package/node_modules/@waterplane/shared/dist/intent/words.js.map +1 -1
  82. package/node_modules/@waterplane/shared/dist/intent.d.ts +2 -2
  83. package/node_modules/@waterplane/shared/dist/intent.js +2 -2
  84. package/node_modules/@waterplane/shared/dist/intent.js.map +1 -1
  85. package/node_modules/@waterplane/shared/dist/itempaths.d.ts +0 -10
  86. package/node_modules/@waterplane/shared/dist/itempaths.js +30 -3
  87. package/node_modules/@waterplane/shared/dist/itempaths.js.map +1 -1
  88. package/node_modules/@waterplane/shared/dist/ledgerspan.d.ts +47 -0
  89. package/node_modules/@waterplane/shared/dist/ledgerspan.js +102 -5
  90. package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -1
  91. package/node_modules/@waterplane/shared/dist/lineartrim.d.ts +11 -0
  92. package/node_modules/@waterplane/shared/dist/lineartrim.js +22 -0
  93. package/node_modules/@waterplane/shared/dist/lineartrim.js.map +1 -0
  94. package/node_modules/@waterplane/shared/dist/naming.d.ts +3 -1
  95. package/node_modules/@waterplane/shared/dist/naming.js +6 -2
  96. package/node_modules/@waterplane/shared/dist/naming.js.map +1 -1
  97. package/node_modules/@waterplane/shared/dist/netfuse.d.ts +5 -0
  98. package/node_modules/@waterplane/shared/dist/netfuse.js +6 -1
  99. package/node_modules/@waterplane/shared/dist/netfuse.js.map +1 -1
  100. package/node_modules/@waterplane/shared/dist/netretry.d.ts +63 -2
  101. package/node_modules/@waterplane/shared/dist/netretry.js +78 -5
  102. package/node_modules/@waterplane/shared/dist/netretry.js.map +1 -1
  103. package/node_modules/@waterplane/shared/dist/pairing.js +6 -1
  104. package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -1
  105. package/node_modules/@waterplane/shared/dist/passive.js +3 -0
  106. package/node_modules/@waterplane/shared/dist/passive.js.map +1 -1
  107. package/node_modules/@waterplane/shared/dist/peer.js +2 -1
  108. package/node_modules/@waterplane/shared/dist/peer.js.map +1 -1
  109. package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +38 -0
  110. package/node_modules/@waterplane/shared/dist/plugin/manifest.d.ts +23 -0
  111. package/node_modules/@waterplane/shared/dist/plugin/manifest.js +8 -0
  112. package/node_modules/@waterplane/shared/dist/plugin/manifest.js.map +1 -1
  113. package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +7 -1
  114. package/node_modules/@waterplane/shared/dist/plugin/version.js +7 -1
  115. package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -1
  116. package/node_modules/@waterplane/shared/dist/queue/queuelane.d.ts +23 -2
  117. package/node_modules/@waterplane/shared/dist/queue/queuelane.js +16 -4
  118. package/node_modules/@waterplane/shared/dist/queue/queuelane.js.map +1 -1
  119. package/node_modules/@waterplane/shared/dist/queue/queueserial.d.ts +11 -2
  120. package/node_modules/@waterplane/shared/dist/queue/queueserial.js +16 -5
  121. package/node_modules/@waterplane/shared/dist/queue/queueserial.js.map +1 -1
  122. package/node_modules/@waterplane/shared/dist/queue/queuewords.js +1 -0
  123. package/node_modules/@waterplane/shared/dist/queue/queuewords.js.map +1 -1
  124. package/node_modules/@waterplane/shared/dist/repotwins.d.ts +31 -0
  125. package/node_modules/@waterplane/shared/dist/repotwins.js +52 -0
  126. package/node_modules/@waterplane/shared/dist/repotwins.js.map +1 -0
  127. package/node_modules/@waterplane/shared/dist/requirements.js +9 -2
  128. package/node_modules/@waterplane/shared/dist/requirements.js.map +1 -1
  129. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.d.ts +1 -0
  130. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js +1 -0
  131. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js.map +1 -1
  132. package/node_modules/@waterplane/shared/dist/schedule/schedrule.d.ts +3 -0
  133. package/node_modules/@waterplane/shared/dist/schedule/schedrule.js.map +1 -1
  134. package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +15 -3
  135. package/node_modules/@waterplane/shared/dist/sessionbudget.js +23 -11
  136. package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
  137. package/node_modules/@waterplane/shared/dist/sessionwindow.d.ts +25 -0
  138. package/node_modules/@waterplane/shared/dist/sessionwindow.js +24 -0
  139. package/node_modules/@waterplane/shared/dist/sessionwindow.js.map +1 -0
  140. package/node_modules/@waterplane/shared/dist/statedir.js +2 -1
  141. package/node_modules/@waterplane/shared/dist/statedir.js.map +1 -1
  142. package/node_modules/@waterplane/shared/dist/sweep.d.ts +2 -1
  143. package/node_modules/@waterplane/shared/dist/sweep.js +2 -1
  144. package/node_modules/@waterplane/shared/dist/sweep.js.map +1 -1
  145. package/node_modules/@waterplane/shared/dist/themeoverlay.js +1 -1
  146. package/node_modules/@waterplane/shared/dist/themeoverlay.js.map +1 -1
  147. package/node_modules/@waterplane/shared/dist/tokens.d.ts +4 -3
  148. package/node_modules/@waterplane/shared/dist/tokens.js +9 -7
  149. package/node_modules/@waterplane/shared/dist/tokens.js.map +1 -1
  150. package/node_modules/@waterplane/shared/dist/urls.js +1 -1
  151. package/node_modules/@waterplane/shared/dist/urls.js.map +1 -1
  152. package/node_modules/@waterplane/shared/dist/weekburn.d.ts +31 -1
  153. package/node_modules/@waterplane/shared/dist/weekburn.js +53 -8
  154. package/node_modules/@waterplane/shared/dist/weekburn.js.map +1 -1
  155. package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +8 -0
  156. package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +5 -0
  157. package/node_modules/@waterplane/shared/dist/wire/install.d.ts +5 -110
  158. package/node_modules/@waterplane/shared/dist/wire/install.js +0 -28
  159. package/node_modules/@waterplane/shared/dist/wire/install.js.map +1 -1
  160. package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +1 -25
  161. package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +29 -0
  162. package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +0 -10
  163. package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +80 -3
  164. package/node_modules/@waterplane/shared/dist/wire/notify.js +71 -4
  165. package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
  166. package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +12 -0
  167. package/node_modules/@waterplane/shared/dist/wire/repo.js +1 -1
  168. package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
  169. package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +8 -1
  170. package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +29 -3
  171. package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +56 -4
  172. package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
  173. package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +33 -0
  174. package/node_modules/@waterplane/shared/dist/wire/work.d.ts +4 -2
  175. package/node_modules/@waterplane/shared/dist/wire/work.js.map +1 -1
  176. package/node_modules/@waterplane/shared/dist/wordof.d.ts +11 -0
  177. package/node_modules/@waterplane/shared/dist/wordof.js +14 -0
  178. package/node_modules/@waterplane/shared/dist/wordof.js.map +1 -0
  179. package/node_modules/@waterplane/shared/dist/working.d.ts +12 -0
  180. package/node_modules/@waterplane/shared/dist/working.js +55 -4
  181. package/node_modules/@waterplane/shared/dist/working.js.map +1 -1
  182. package/node_modules/@waterplane/shared/dist/yamlfront.d.ts +5 -0
  183. package/node_modules/@waterplane/shared/dist/yamlfront.js +101 -0
  184. package/node_modules/@waterplane/shared/dist/yamlfront.js.map +1 -0
  185. package/npm-shrinkwrap.json +2 -2
  186. package/package.json +1 -1
  187. package/packages/extensions/android-apps/waterplane-plugin.json +11 -0
  188. package/packages/host/dist/agentbuild.d.ts +48 -0
  189. package/packages/host/dist/agentbuild.js +105 -0
  190. package/packages/host/dist/agentbuild.js.map +1 -0
  191. package/packages/host/dist/agentintents.js +6 -7
  192. package/packages/host/dist/agentintents.js.map +1 -1
  193. package/packages/host/dist/agents.d.ts +2 -0
  194. package/packages/host/dist/agents.js +6 -1
  195. package/packages/host/dist/agents.js.map +1 -1
  196. package/packages/host/dist/androidenv.d.ts +10 -0
  197. package/packages/host/dist/androidenv.js +34 -2
  198. package/packages/host/dist/androidenv.js.map +1 -1
  199. package/packages/host/dist/apkcheck.d.ts +1 -1
  200. package/packages/host/dist/apkcheck.js +5 -5
  201. package/packages/host/dist/apkcheck.js.map +1 -1
  202. package/packages/host/dist/appready.d.ts +1 -1
  203. package/packages/host/dist/artifacts.js +6 -2
  204. package/packages/host/dist/artifacts.js.map +1 -1
  205. package/packages/host/dist/assess/hassrun.js +4 -1
  206. package/packages/host/dist/assess/hassrun.js.map +1 -1
  207. package/packages/host/dist/attentionstore.d.ts +44 -11
  208. package/packages/host/dist/attentionstore.js +94 -24
  209. package/packages/host/dist/attentionstore.js.map +1 -1
  210. package/packages/host/dist/backends/claude-local.d.ts +34 -3
  211. package/packages/host/dist/backends/claude-local.js +86 -15
  212. package/packages/host/dist/backends/claude-local.js.map +1 -1
  213. package/packages/host/dist/backends/claude-sources.d.ts +2 -0
  214. package/packages/host/dist/backends/claude-sources.js +18 -0
  215. package/packages/host/dist/backends/claude-sources.js.map +1 -1
  216. package/packages/host/dist/backends/claude.js +2 -1
  217. package/packages/host/dist/backends/claude.js.map +1 -1
  218. package/packages/host/dist/backends/index.d.ts +7 -0
  219. package/packages/host/dist/backends/index.js +12 -1
  220. package/packages/host/dist/backends/index.js.map +1 -1
  221. package/packages/host/dist/backends/overhead.d.ts +7 -5
  222. package/packages/host/dist/backends/overhead.js +15 -13
  223. package/packages/host/dist/backends/overhead.js.map +1 -1
  224. package/packages/host/dist/budget.d.ts +3 -2
  225. package/packages/host/dist/budget.js +5 -3
  226. package/packages/host/dist/budget.js.map +1 -1
  227. package/packages/host/dist/builds.d.ts +1 -0
  228. package/packages/host/dist/builds.js +3 -1
  229. package/packages/host/dist/builds.js.map +1 -1
  230. package/packages/host/dist/burnwatch.js +11 -6
  231. package/packages/host/dist/burnwatch.js.map +1 -1
  232. package/packages/host/dist/clifixtures.d.ts +3 -0
  233. package/packages/host/dist/clifixtures.js +9 -1
  234. package/packages/host/dist/clifixtures.js.map +1 -1
  235. package/packages/host/dist/compliance.js +34 -1
  236. package/packages/host/dist/compliance.js.map +1 -1
  237. package/packages/host/dist/composer.d.ts +22 -0
  238. package/packages/host/dist/composer.js +23 -0
  239. package/packages/host/dist/composer.js.map +1 -1
  240. package/packages/host/dist/context.js +29 -4
  241. package/packages/host/dist/context.js.map +1 -1
  242. package/packages/host/dist/convlog.d.ts +1 -1
  243. package/packages/host/dist/convlog.js +1 -1
  244. package/packages/host/dist/costwindow.d.ts +25 -0
  245. package/packages/host/dist/costwindow.js +63 -1
  246. package/packages/host/dist/costwindow.js.map +1 -1
  247. package/packages/host/dist/ctxlog/ctxagents.js +16 -25
  248. package/packages/host/dist/ctxlog/ctxagents.js.map +1 -1
  249. package/packages/host/dist/ctxlog/ctxupdate.js +18 -23
  250. package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
  251. package/packages/host/dist/ctxlog/usagerecord.d.ts +28 -0
  252. package/packages/host/dist/ctxlog/usagerecord.js +81 -0
  253. package/packages/host/dist/ctxlog/usagerecord.js.map +1 -0
  254. package/packages/host/dist/deliver/deliverreturn.d.ts +24 -0
  255. package/packages/host/dist/deliver/deliverreturn.js +37 -0
  256. package/packages/host/dist/deliver/deliverreturn.js.map +1 -1
  257. package/packages/host/dist/deliver/deliverrun.js +11 -11
  258. package/packages/host/dist/deliver/deliverrun.js.map +1 -1
  259. package/packages/host/dist/deliver/deliverscreen.js +4 -10
  260. package/packages/host/dist/deliver/deliverscreen.js.map +1 -1
  261. package/packages/host/dist/doctorclaude.d.ts +5 -1
  262. package/packages/host/dist/doctorclaude.js +7 -2
  263. package/packages/host/dist/doctorclaude.js.map +1 -1
  264. package/packages/host/dist/explainjob.d.ts +24 -0
  265. package/packages/host/dist/explainjob.js +80 -0
  266. package/packages/host/dist/explainjob.js.map +1 -0
  267. package/packages/host/dist/extensions/android-apps/host/index.d.mts +9 -0
  268. package/packages/host/dist/extensions/android-apps/host/index.mjs +59 -0
  269. package/packages/host/dist/extensions/android-apps/host/index.mjs.map +1 -0
  270. package/packages/host/dist/extensions/android-apps/host/installlog.d.mts +49 -0
  271. package/packages/host/dist/extensions/android-apps/host/installlog.mjs +196 -0
  272. package/packages/host/dist/extensions/android-apps/host/installlog.mjs.map +1 -0
  273. package/packages/host/dist/extensions/android-apps/host/readiness.d.mts +9 -0
  274. package/packages/host/dist/extensions/android-apps/host/readiness.mjs +5 -0
  275. package/packages/host/dist/extensions/android-apps/host/readiness.mjs.map +1 -0
  276. package/packages/host/dist/extensions/android-apps/shared/wire.d.mts +287 -0
  277. package/{node_modules/@waterplane/shared/dist/installlog.js → packages/host/dist/extensions/android-apps/shared/wire.mjs} +74 -1
  278. package/packages/host/dist/extensions/android-apps/shared/wire.mjs.map +1 -0
  279. package/packages/host/dist/files.d.ts +14 -12
  280. package/packages/host/dist/files.js +64 -94
  281. package/packages/host/dist/files.js.map +1 -1
  282. package/packages/host/dist/forge/github.js +18 -4
  283. package/packages/host/dist/forge/github.js.map +1 -1
  284. package/packages/host/dist/forge/types.d.ts +8 -2
  285. package/packages/host/dist/git.d.ts +13 -21
  286. package/packages/host/dist/git.js +81 -98
  287. package/packages/host/dist/git.js.map +1 -1
  288. package/packages/host/dist/gitnotify.d.ts +32 -2
  289. package/packages/host/dist/gitnotify.js +118 -11
  290. package/packages/host/dist/gitnotify.js.map +1 -1
  291. package/packages/host/dist/headlessauth.d.ts +24 -0
  292. package/packages/host/dist/headlessauth.js +63 -0
  293. package/packages/host/dist/headlessauth.js.map +1 -0
  294. package/packages/host/dist/host.js +21 -2
  295. package/packages/host/dist/host.js.map +1 -1
  296. package/packages/host/dist/hoststore.js +2 -2
  297. package/packages/host/dist/hoststore.js.map +1 -1
  298. package/packages/host/dist/intents/adapters.js +25 -7
  299. package/packages/host/dist/intents/adapters.js.map +1 -1
  300. package/packages/host/dist/intents/clock.d.ts +6 -3
  301. package/packages/host/dist/intents/clock.js +19 -5
  302. package/packages/host/dist/intents/clock.js.map +1 -1
  303. package/packages/host/dist/intents/contract.d.ts +17 -5
  304. package/packages/host/dist/intents/contract.js.map +1 -1
  305. package/packages/host/dist/intents/disk.d.ts +16 -0
  306. package/packages/host/dist/intents/disk.js +26 -1
  307. package/packages/host/dist/intents/disk.js.map +1 -1
  308. package/packages/host/dist/intents/ladder.js +3 -1
  309. package/packages/host/dist/intents/ladder.js.map +1 -1
  310. package/packages/host/dist/intents/watch.d.ts +22 -4
  311. package/packages/host/dist/intents/watch.js +63 -19
  312. package/packages/host/dist/intents/watch.js.map +1 -1
  313. package/packages/host/dist/intents/write.d.ts +28 -1
  314. package/packages/host/dist/intents/write.js +87 -2
  315. package/packages/host/dist/intents/write.js.map +1 -1
  316. package/packages/host/dist/limitretry.d.ts +22 -3
  317. package/packages/host/dist/limitretry.js +20 -0
  318. package/packages/host/dist/limitretry.js.map +1 -1
  319. package/packages/host/dist/login.d.ts +1 -0
  320. package/packages/host/dist/login.js +17 -0
  321. package/packages/host/dist/login.js.map +1 -1
  322. package/packages/host/dist/main.js +13 -21
  323. package/packages/host/dist/main.js.map +1 -1
  324. package/packages/host/dist/naming.js +6 -0
  325. package/packages/host/dist/naming.js.map +1 -1
  326. package/packages/host/dist/netlog.d.ts +9 -0
  327. package/packages/host/dist/netlog.js +32 -3
  328. package/packages/host/dist/netlog.js.map +1 -1
  329. package/packages/host/dist/notifytypes.d.ts +5 -0
  330. package/packages/host/dist/periodspend.d.ts +22 -3
  331. package/packages/host/dist/periodspend.js +44 -4
  332. package/packages/host/dist/periodspend.js.map +1 -1
  333. package/packages/host/dist/plugins/pluginapi.js +43 -10
  334. package/packages/host/dist/plugins/pluginapi.js.map +1 -1
  335. package/packages/host/dist/plugins/pluginauto.d.ts +21 -0
  336. package/packages/host/dist/plugins/pluginauto.js +67 -0
  337. package/packages/host/dist/plugins/pluginauto.js.map +1 -0
  338. package/packages/host/dist/plugins/pluginregistry.d.ts +50 -1
  339. package/packages/host/dist/plugins/pluginregistry.js +129 -7
  340. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  341. package/packages/host/dist/plugins/plugintoolkit/sessionof.d.ts +47 -0
  342. package/packages/host/dist/plugins/plugintoolkit/sessionof.js +136 -0
  343. package/packages/host/dist/plugins/plugintoolkit/sessionof.js.map +1 -0
  344. package/packages/host/dist/prmergestore.d.ts +31 -0
  345. package/packages/host/dist/prmergestore.js +106 -0
  346. package/packages/host/dist/prmergestore.js.map +1 -0
  347. package/packages/host/dist/prpush.d.ts +9 -1
  348. package/packages/host/dist/prpush.js +226 -46
  349. package/packages/host/dist/prpush.js.map +1 -1
  350. package/packages/host/dist/prs.d.ts +49 -1
  351. package/packages/host/dist/prs.js +413 -60
  352. package/packages/host/dist/prs.js.map +1 -1
  353. package/packages/host/dist/push.d.ts +66 -1
  354. package/packages/host/dist/push.js +238 -8
  355. package/packages/host/dist/push.js.map +1 -1
  356. package/packages/host/dist/pushlanded.d.ts +29 -0
  357. package/packages/host/dist/pushlanded.js +61 -0
  358. package/packages/host/dist/pushlanded.js.map +1 -0
  359. package/packages/host/dist/pushreach.d.ts +9 -0
  360. package/packages/host/dist/pushreach.js +102 -0
  361. package/packages/host/dist/pushreach.js.map +1 -0
  362. package/packages/host/dist/pushverdict.d.ts +42 -0
  363. package/packages/host/dist/pushverdict.js +110 -0
  364. package/packages/host/dist/pushverdict.js.map +1 -0
  365. package/packages/host/dist/question.js +10 -1
  366. package/packages/host/dist/question.js.map +1 -1
  367. package/packages/host/dist/recover/authgate.d.ts +174 -0
  368. package/packages/host/dist/recover/authgate.js +317 -0
  369. package/packages/host/dist/recover/authgate.js.map +1 -0
  370. package/packages/host/dist/recover/blockpush.d.ts +89 -0
  371. package/packages/host/dist/recover/blockpush.js +119 -0
  372. package/packages/host/dist/recover/blockpush.js.map +1 -0
  373. package/packages/host/dist/recover/giveuplatch.d.ts +42 -0
  374. package/packages/host/dist/recover/giveuplatch.js +48 -0
  375. package/packages/host/dist/recover/giveuplatch.js.map +1 -0
  376. package/packages/host/dist/recover/recoverwrite.d.ts +174 -0
  377. package/packages/host/dist/recover/recoverwrite.js +137 -0
  378. package/packages/host/dist/recover/recoverwrite.js.map +1 -0
  379. package/packages/host/dist/recover/wavegate.d.ts +145 -0
  380. package/packages/host/dist/recover/wavegate.js +277 -0
  381. package/packages/host/dist/recover/wavegate.js.map +1 -0
  382. package/packages/host/dist/repohealth.d.ts +8 -2
  383. package/packages/host/dist/repohealth.js +16 -6
  384. package/packages/host/dist/repohealth.js.map +1 -1
  385. package/packages/host/dist/repos.d.ts +20 -1
  386. package/packages/host/dist/repos.js +73 -2
  387. package/packages/host/dist/repos.js.map +1 -1
  388. package/packages/host/dist/reposkill.js +1 -1
  389. package/packages/host/dist/reposkill.js.map +1 -1
  390. package/packages/host/dist/reposkilltext.js +69 -19
  391. package/packages/host/dist/reposkilltext.js.map +1 -1
  392. package/packages/host/dist/review.js +7 -2
  393. package/packages/host/dist/review.js.map +1 -1
  394. package/packages/host/dist/routes/apigitspend.d.ts +2 -0
  395. package/packages/host/dist/routes/apigitspend.js +40 -0
  396. package/packages/host/dist/routes/apigitspend.js.map +1 -0
  397. package/packages/host/dist/routes/apihost.js +32 -27
  398. package/packages/host/dist/routes/apihost.js.map +1 -1
  399. package/packages/host/dist/routes/apiprs.js +3 -1
  400. package/packages/host/dist/routes/apiprs.js.map +1 -1
  401. package/packages/host/dist/routes/apirepofiles.js +2 -1
  402. package/packages/host/dist/routes/apirepofiles.js.map +1 -1
  403. package/packages/host/dist/routes/apirepowork.d.ts +6 -0
  404. package/packages/host/dist/routes/apirepowork.js +5 -17
  405. package/packages/host/dist/routes/apirepowork.js.map +1 -1
  406. package/packages/host/dist/routes/apisystem.js +10 -0
  407. package/packages/host/dist/routes/apisystem.js.map +1 -1
  408. package/packages/host/dist/routes/apitable.d.ts +4 -7
  409. package/packages/host/dist/routes/apitable.js.map +1 -1
  410. package/packages/host/dist/routes/apiweekburn.js +3 -3
  411. package/packages/host/dist/routes/apiweekburn.js.map +1 -1
  412. package/packages/host/dist/routes/session.js +20 -0
  413. package/packages/host/dist/routes/session.js.map +1 -1
  414. package/packages/host/dist/routes/system.js +7 -43
  415. package/packages/host/dist/routes/system.js.map +1 -1
  416. package/packages/host/dist/routes/types.d.ts +0 -3
  417. package/packages/host/dist/routes/work/workintent.js +6 -2
  418. package/packages/host/dist/routes/work/workintent.js.map +1 -1
  419. package/packages/host/dist/scaffold.d.ts +13 -0
  420. package/packages/host/dist/scaffold.js +31 -0
  421. package/packages/host/dist/scaffold.js.map +1 -1
  422. package/packages/host/dist/server/billingwire.d.ts +3 -1
  423. package/packages/host/dist/server/billingwire.js +4 -2
  424. package/packages/host/dist/server/billingwire.js.map +1 -1
  425. package/packages/host/dist/server/clients.js +10 -6
  426. package/packages/host/dist/server/clients.js.map +1 -1
  427. package/packages/host/dist/server/ctxseal.d.ts +1 -1
  428. package/packages/host/dist/server/ctxseal.js +1 -1
  429. package/packages/host/dist/server/ctxseal.js.map +1 -1
  430. package/packages/host/dist/server/http.js +0 -2
  431. package/packages/host/dist/server/http.js.map +1 -1
  432. package/packages/host/dist/server/intentDeps.js +15 -5
  433. package/packages/host/dist/server/intentDeps.js.map +1 -1
  434. package/packages/host/dist/server/plugins.d.ts +21 -0
  435. package/packages/host/dist/server/plugins.js +28 -0
  436. package/packages/host/dist/server/plugins.js.map +1 -0
  437. package/packages/host/dist/server/sessionEvents.js +24 -52
  438. package/packages/host/dist/server/sessionEvents.js.map +1 -1
  439. package/packages/host/dist/server/shutdown.d.ts +3 -1
  440. package/packages/host/dist/server/shutdown.js +11 -5
  441. package/packages/host/dist/server/shutdown.js.map +1 -1
  442. package/packages/host/dist/sessionbudget.d.ts +2 -0
  443. package/packages/host/dist/sessionbudget.js +17 -6
  444. package/packages/host/dist/sessionbudget.js.map +1 -1
  445. package/packages/host/dist/sessions/agentpoll.d.ts +11 -0
  446. package/packages/host/dist/sessions/agentpoll.js +42 -12
  447. package/packages/host/dist/sessions/agentpoll.js.map +1 -1
  448. package/packages/host/dist/sessions/apiretry.d.ts +161 -12
  449. package/packages/host/dist/sessions/apiretry.js +489 -65
  450. package/packages/host/dist/sessions/apiretry.js.map +1 -1
  451. package/packages/host/dist/sessions/boxread.js +9 -3
  452. package/packages/host/dist/sessions/boxread.js.map +1 -1
  453. package/packages/host/dist/sessions/core.d.ts +50 -7
  454. package/packages/host/dist/sessions/drive.js +8 -5
  455. package/packages/host/dist/sessions/drive.js.map +1 -1
  456. package/packages/host/dist/sessions/endsession.d.ts +11 -0
  457. package/packages/host/dist/sessions/endsession.js +72 -0
  458. package/packages/host/dist/sessions/endsession.js.map +1 -0
  459. package/packages/host/dist/sessions/haltall.d.ts +14 -0
  460. package/packages/host/dist/sessions/haltall.js +32 -1
  461. package/packages/host/dist/sessions/haltall.js.map +1 -1
  462. package/packages/host/dist/sessions/knobs.d.ts +15 -0
  463. package/packages/host/dist/sessions/knobs.js +15 -0
  464. package/packages/host/dist/sessions/knobs.js.map +1 -1
  465. package/packages/host/dist/sessions/loopwatch.d.ts +2 -0
  466. package/packages/host/dist/sessions/loopwatch.js +73 -0
  467. package/packages/host/dist/sessions/loopwatch.js.map +1 -0
  468. package/packages/host/dist/sessions/resume.d.ts +25 -36
  469. package/packages/host/dist/sessions/resume.js +97 -188
  470. package/packages/host/dist/sessions/resume.js.map +1 -1
  471. package/packages/host/dist/sessions/signinwait.d.ts +44 -0
  472. package/packages/host/dist/sessions/signinwait.js +286 -0
  473. package/packages/host/dist/sessions/signinwait.js.map +1 -0
  474. package/packages/host/dist/sessions/tmux.js +26 -2
  475. package/packages/host/dist/sessions/tmux.js.map +1 -1
  476. package/packages/host/dist/sessions/turn.js +38 -6
  477. package/packages/host/dist/sessions/turn.js.map +1 -1
  478. package/packages/host/dist/sessions/wall.d.ts +8 -5
  479. package/packages/host/dist/sessions/wall.js +112 -66
  480. package/packages/host/dist/sessions/wall.js.map +1 -1
  481. package/packages/host/dist/sessions.d.ts +9 -6
  482. package/packages/host/dist/sessions.js +23 -73
  483. package/packages/host/dist/sessions.js.map +1 -1
  484. package/packages/host/dist/settle.d.ts +24 -2
  485. package/packages/host/dist/settle.js +70 -30
  486. package/packages/host/dist/settle.js.map +1 -1
  487. package/packages/host/dist/setupwatch.d.ts +10 -8
  488. package/packages/host/dist/setupwatch.js +19 -16
  489. package/packages/host/dist/setupwatch.js.map +1 -1
  490. package/packages/host/dist/sidecar/sidecarname.d.ts +3 -0
  491. package/packages/host/dist/sidecar/sidecarname.js +4 -0
  492. package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
  493. package/packages/host/dist/tokenscan.d.ts +0 -4
  494. package/packages/host/dist/tokenscan.js +14 -38
  495. package/packages/host/dist/tokenscan.js.map +1 -1
  496. package/packages/host/dist/tokenstats.js +13 -17
  497. package/packages/host/dist/tokenstats.js.map +1 -1
  498. package/packages/host/dist/toolloop.d.ts +30 -0
  499. package/packages/host/dist/toolloop.js +117 -0
  500. package/packages/host/dist/toolloop.js.map +1 -0
  501. package/packages/host/dist/transcript/transcriptparse.js +11 -25
  502. package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
  503. package/packages/host/dist/usage.d.ts +12 -2
  504. package/packages/host/dist/usage.js +35 -3
  505. package/packages/host/dist/usage.js.map +1 -1
  506. package/packages/host/dist/visualskill.js +2 -2
  507. package/packages/host/dist/weekburn.d.ts +7 -3
  508. package/packages/host/dist/weekburn.js +32 -7
  509. package/packages/host/dist/weekburn.js.map +1 -1
  510. package/packages/web/dist/assets/demo-TmjAByxC.js +26 -0
  511. package/packages/web/dist/assets/icons-B48F-4nA.js +1 -0
  512. package/packages/web/dist/assets/index-CVkUvHP9.js +170 -0
  513. package/packages/web/dist/assets/index-CpdyS6Xe.css +1 -0
  514. package/packages/web/dist/assets/shared-PjlyyA4P.js +50 -0
  515. package/packages/web/dist/assets/sheets-DqpgjB8i.js +248 -0
  516. package/packages/web/dist/build-id.txt +1 -1
  517. package/packages/web/dist/buildstamp.json +1 -1
  518. package/packages/web/dist/index.html +6 -6
  519. package/packages/web/dist/sw.js +8 -4
  520. package/release.json +6 -3
  521. package/scripts/windows/wsl-setup.sh +10 -1
  522. package/tools/repohealth/constants.mjs +21 -1
  523. package/tools/repohealth/fixture.json +493 -30
  524. package/tools/repohealth/lang/typescript-resolve.mjs +354 -0
  525. package/tools/repohealth/metrics/graph.mjs +258 -0
  526. package/tools/repohealth/metrics/size.mjs +1 -1
  527. package/tools/repohealth/own.mjs +4 -4
  528. package/tools/repohealth/packs/c.mjs +4 -0
  529. package/tools/repohealth/packs/common.mjs +4 -0
  530. package/tools/repohealth/packs/dart.mjs +4 -0
  531. package/tools/repohealth/packs/kotlin.mjs +8 -0
  532. package/tools/repohealth/packs/python.mjs +8 -0
  533. package/tools/repohealth/packs/shell.mjs +4 -0
  534. package/tools/repohealth/packs/typescript.mjs +278 -7
  535. package/tools/repohealth/readings.mjs +39 -0
  536. package/tools/repohealth/series.mjs +1 -0
  537. package/tools/repohealth/snapshot.mjs +14 -0
  538. package/tools/repohealth/types.mjs +12 -0
  539. package/tools/repohealth.mjs +37 -6
  540. package/node_modules/@waterplane/shared/dist/installlog.d.ts +0 -137
  541. package/node_modules/@waterplane/shared/dist/installlog.js.map +0 -1
  542. package/packages/host/dist/installlog.d.ts +0 -25
  543. package/packages/host/dist/installlog.js +0 -137
  544. package/packages/host/dist/installlog.js.map +0 -1
  545. package/packages/web/dist/assets/demo-C1GHaeTv.js +0 -23
  546. package/packages/web/dist/assets/icons-DlcvcZoo.js +0 -1
  547. package/packages/web/dist/assets/index-BBc6xwDA.css +0 -1
  548. package/packages/web/dist/assets/index-DzQKnksZ.js +0 -169
  549. package/packages/web/dist/assets/shared-Cl34umPA.js +0 -47
  550. package/packages/web/dist/assets/sheets-_3_SvXAx.js +0 -220
package/CHANGELOG.md CHANGED
@@ -5,6 +5,87 @@ version — so entries are grouped by the release they shipped in. A fixed secur
5
5
  vulnerability in what ships is listed under a **Security:** bullet of the release that
6
6
  fixed it, with its CVE or GHSA id when one exists.
7
7
 
8
+ ## 0.1.15
9
+
10
+ ### New
11
+
12
+ - **Sessions blocked on something outside them are one list.** The launcher's *N at limit* chip is now *N blocked*: signed out, waiting on a network retry, out of credit or at the usage limit. The chip opens exactly the sessions it counted, and the sheet groups them sign-in, network, spend, usage limit, with each one's own controls. Backlog auto-fire, schedules and queued work no longer type into a signed-out session or one mid network retry.
13
+ - **One sign-in brings the stopped sessions back, when you say so.** A signed-out account stops every session; the desktop now notices the sign-out, pushes *Signed out — N sessions stopped*, watches for the sign-in, and then asks *continue the N sessions that stopped?*. Nothing is typed until you tap. A session that a first-timer opens signed out says to send `/login`, with a one-tap button.
14
+ - **A network outage retries as one wave.** When several sessions give up on the network together, the first retry goes alone and the rest follow once it gets through; the held ones show whose retry they wait behind.
15
+ - **No recovery types over your words.** A usage-limit, network or sign-in continue never types into a desktop composer holding half-typed words; the row says it is held and why.
16
+ - **Pick a window into the compose bar** (desktop browsers): any window or screen, attached like a pasted screenshot, through the browser's own picker.
17
+ - **Android apps is an extension.** The Apps screen moved into the optional built-in `android-apps`, which switches itself on when this desktop has an Android repo; a phone talking to a desktop without one hears nothing about installing apps. One card per app: build, download, install.
18
+ - **Rescan names folders it skipped** for having no git, with *git init* one tap away.
19
+ - **Always-on file lists** in Repo readings and VS Code are drawn like the session's *what every turn carries*.
20
+ - **Copilot and local models:** a setup row for skills Copilot cannot load, a *ready for Copilot & local models* preset, and a guide. `claude-local` sessions start without your settings file by default.
21
+ - **Strips fold from one control**, and one corner button brings every folded strip back. *Copy reference* puts the session's address on the clipboard. A second Ctrl+E closes the tab list, and the chord works with the tab strip off.
22
+
23
+ ### Fixed
24
+
25
+ - The CLI's dim proposal in the composer is no longer published as the agent's question.
26
+ - A signed-out turn ends the turn instead of looking busy until the next hook.
27
+ - A session stuck in a tool loop is flagged for follow-up, never stopped.
28
+ - A trust box painted over typed words is answered and the words go again; a trust box is a wall unless the backend auto-accepts trust.
29
+ - A plan with no 5-hour window collapses that figure and the session choices, and says why.
30
+ - A weekly wall's bare clock time is kept as a lower bound; `/btw` counts as a turn that starts nothing.
31
+ - A ledger in another extension's shape is a sentence in token stats, not a blank panel.
32
+ - Nested bullets under a numbered item stay inside it in the reader; a templated Gradle `versionName` is not read as a version, and a build repeating an older version says so.
33
+ - Twenty-eight regular expressions rewritten to run in linear time (CodeQL polynomial-ReDoS alerts), behaviour pinned by differential tests.
34
+
35
+ ## 0.1.14
36
+
37
+ 0.1.13 and 0.1.12 were tagged but never released; their changes ship here.
38
+
39
+ ### New
40
+
41
+ - **Token stats step back through earlier weeks.** The weekly limit chart has older and newer arrows at its two edges, over the desktop's 30 days of kept usage. A past week shows no rate or projection, and the running window's figure hides while you look back.
42
+ - **Repo health reads the import graph.** Two new series: the files caught in import cycles (the largest cycles listed with their members) and imports per file at the 95th percentile, with the file that imports most. TypeScript `paths`, `baseUrl` and workspace packages are resolved, so a missed edge does not hide a cycle; an import inside a comment or a string is not an edge, and a file whose imports cannot be read makes the reading absent rather than smaller.
43
+
44
+ ### Fixed
45
+
46
+ - A push that lost a race to another push of the same commit says it landed, instead of showing a failure for work that is on the remote, and leaves git's tracking branch and upstream as a successful push would. A remote that moved to anyone else's commit, or one that does not answer the check in time, is still a refusal.
47
+ - The context badge no longer reads a meter figure that the conversation itself shows, such as a quoted line, a diff row or a tool result.
48
+ - The always-on overhead is read from the session's first request even when that request names no model; it is absent rather than a bigger, later figure.
49
+
50
+ ## 0.1.13
51
+
52
+ 0.1.12 was tagged but never released; its changes ship here.
53
+
54
+ ### New
55
+
56
+ - **A PR-mode push is safer and says what it did.** In a repo that takes changes only through a pull request, the push goes to its own `wp/` branch and never to the default branch, which is read from GitHub. Main moves back only if nothing was committed after the push; a commit that landed late is named by its sha. A retry after a failed PR open reuses the branch already pushed, and an unknown default branch is refused in words instead of pushing plain.
57
+ - **Merge when green keeps your choice, and the desktop tidies after the merge.** The pull request card merges by the method you picked, or lets the desktop choose if you picked none. A merge you asked for survives a desktop restart, and once GitHub says it is merged the desktop tidies the checkout once. You get one notice with the receipt, and something is filed for you only when part of the tidy needs a person.
58
+ - **A failed push names its branch and opens on itself.** The git view and What's new say which branch failed. A tapped push notification opens that failure, and a push clears only its own branch's failure, once git shows the commit on the remote. A repeated network error is one log line an hour, and a notification too large for the push service is cut to fit and resent smaller.
59
+ - **The git view opens on the right repo, and Back keeps it.** The toolbar's diff and untracked count open the session's repo. A reload or an update restart lands on the repo you had open, and the branch list shows the current branch's upstream (a branch whose upstream is gone shows none).
60
+ - **A build sheet shows its own run.** Starting a build selects its run, and a refused or dismissed start says so with the desktop's reason instead of reading *Starting* for ever. A run that left the list opens nothing and says why.
61
+ - **Budget caps follow the backend you switch to.** A cap the new backend cannot carry is set aside, not deleted, says what it was, and comes back when you switch back. Editing the field discards a set-aside cap.
62
+ - **Native-unit amounts read right.** A small positive amount in a backend's own unit prints as *<0.1* and never as 0.
63
+ - **Pausing a schedule is its own switch.** A paused rule stays paused when you edit it or give it a new time, and an older desktop's paused rule is read as paused.
64
+ - **Backlog and queue sheets keep your place.** The backlog cut you were on is the one Back returns to, every in-session door opens it on the session's repo, and a repo you opened it from stays in the cut. The send queue's sentences read right in singular and plural, and a failed send tells *not submitted* from *not confirmed*.
65
+
66
+ ### Fixed
67
+
68
+ - **Token stats no longer print a span they cannot stand behind.** When some records carry no date, claude's ledger says how many it could not place. A calendar span, the trend or a budget over that range says why it refuses, one past-window box refuses without blanking the others, and the undated count reads the same on every screen.
69
+ - The week boundary, daily averages and hourly charts keep the right days across a daylight-saving change, including the repeated hour in autumn.
70
+ - A launcher whose repo list is still loading says it is waiting, instead of *No repos under host root*, and the git view on a host with no repos no longer waits for ever.
71
+ - The setup checks run in the background when a session opens, and an older check never replaces a fresher result.
72
+ - A screen you leave (gallery viewer, token-stats history, diff sides, scrollback, found desktops, leftover worktrees) now cancels its request on the desktop instead of letting it finish unwanted.
73
+ - A backlog row, build, fan-out, health-index or budget state this phone does not recognise is shown as a sentence instead of breaking the sheet.
74
+ - Leaving a session returns to a launcher sheet only when it comes back whole, and an exited session clears its agents and shells.
75
+ - The Docker entrypoint and the WSL setup check the Claude installer script against a pinned sha256 before running it.
76
+
77
+ ## 0.1.12
78
+
79
+ ### New
80
+
81
+ - **Two repos with the same folder name are told apart.** When the desktop finds two clones that share a folder name, everywhere you pick or read a repo (the launcher, the repo picker, the send and schedule sheets, Activity, the week-end burn) names each with the shortest part of its path that differs, e.g. *ciqkit · garmin/* and *ciqkit · out-ciqkit/*. The launcher lists them as two groups instead of merging them into one.
82
+ - **The week-end burn and a repo's backlog link both ways.** A row the burn wrote says *from the week-end burn* and opens the burn. The repo's backlog says what the burn is doing there, counts its rows (the count opens exactly those) and opens the burn sheet. Each repo in the burn sheet opens its backlog on the burn's rows.
83
+ - **The week-end burn says how it works, and you write its prompt.** Numbered steps say when sessions start, what each is told, and when it stops. You can replace the default task, add a line per repo, and see the exact prompt each repo's sessions get before anything runs. The safety rules (one change, tests, commit, never push) are always added.
84
+ - **A turn out of network retries is stalled, not failed.** It stays running with *retry now* and the retry switch on its row, the desktop probes every 30 minutes, and work queued behind it says why it waits. The desktop now listens for the CLI's `StopFailure`, since an API error never sends `Stop`.
85
+ - **The git view's *explain* runs on the desktop.** Leaving the screen no longer loses the brief: a notification says when it is ready, and reopening shows the running job or the last answer.
86
+ - **A button that files a backlog row opens the backlog on that row.**
87
+ - **Plugin API 2.4:** `api.sessionOf` says which live session a requesting process belongs to.
88
+
8
89
  ## 0.1.11
9
90
 
10
91
  The first public release since 0.1.6. 0.1.10 was tagged but never released; its changes, and those of 0.1.7 to 0.1.9, ship here.
package/README.md CHANGED
@@ -12,9 +12,9 @@ customized: a plugin adds the button, switch or status line your way of working
12
12
  [How it compares](#how-it-compares) · [Security](SECURITY.md) · [Open source (MIT)](LICENSE) ·
13
13
  macOS, Linux, Windows via WSL2 · Android app or web app, no iOS app yet
14
14
 
15
- <a href="https://waterplane-dev.github.io/media/first-look-01e0e72583.mp4"><img src="docs/media/first-look.gif" width="270" alt="A session starts from the phone; Claude Code on the desktop builds the app and screenshots it in the iOS simulator and the Android emulator; the two screenshots are combined, the clipped Android button circled and sent back; Claude fixes it, re-checks both, and the debug APK arrives as a download for the real phone"></a>
15
+ <a href="https://waterplane-dev.github.io/media/first-look-9e3dc02a21.mp4"><img src="docs/media/first-look.gif" width="270" alt="A session starts from the phone; Claude Code on the desktop builds the app and screenshots it in the iOS simulator and the Android emulator; the two screenshots are combined, the clipped Android button circled and sent back; Claude fixes it, re-checks both, and the debug APK arrives as a download for the real phone"></a>
16
16
 
17
- *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/first-look-01e0e72583.mp4), with pause and seek.*
17
+ *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/first-look-9e3dc02a21.mp4), with pause and seek.*
18
18
  <!-- /site:intro -->
19
19
 
20
20
  - **The real CLI, not a re-implementation.** Every slash command, plan and trust prompt and the
@@ -35,9 +35,9 @@ elsewhere: the Mac Studio builds and runs the simulators while the notebook only
35
35
  The window gets a sidebar of repos, the session in the middle and a panel beside it, and it is
36
36
  the same sessions, queue and costs, so what you left on the laptop is waiting on the phone.
37
37
 
38
- <a href="https://waterplane-dev.github.io/media/desktop-179819b225.mp4"><img src="docs/media/desktop.gif" width="720" alt="The same app in a laptop's browser: repos in a sidebar, todo-garden's session started in the main pane, the prompt sent with Cmd+Return, Claude Code builds and checks the iOS simulator and the Android emulator, and the gallery opens as a panel beside the session with both screenshots"></a>
38
+ <a href="https://waterplane-dev.github.io/media/desktop-7af0b11f01.mp4"><img src="docs/media/desktop.gif" width="720" alt="The same app in a laptop's browser: repos in a sidebar, todo-garden's session started in the main pane, the prompt sent with Cmd+Return, Claude Code builds and checks the iOS simulator and the Android emulator, and the gallery opens as a panel beside the session with both screenshots"></a>
39
39
 
40
- *A short loop. [The whole film as a video](https://waterplane-dev.github.io/media/desktop-179819b225.mp4).*
40
+ *A short loop. [The whole film as a video](https://waterplane-dev.github.io/media/desktop-7af0b11f01.mp4).*
41
41
 
42
42
  Desktops can also work for each other. Pair two of them and an agent on one can hand a job to the
43
43
  other (run the Windows build, the tests on the bigger machine): the branch travels through your
@@ -120,7 +120,9 @@ You need:
120
120
  (`curl -fsSL https://claude.ai/install.sh | bash`, or `npm install -g @anthropic-ai/claude-code`),
121
121
  and something for it to run on: a **paid Claude plan** (Pro, Max, Team) or an **Anthropic API
122
122
  key** — run `claude` once and sign in — or, with no account, a **local model through Ollama**.
123
- GitHub Copilot works too, as a plugin (`install.sh --with copilot`).
123
+ GitHub Copilot works too, as a [plugin](https://github.com/waterplane-dev/waterplane-plugin-copilot)
124
+ (`install.sh --with copilot`). Making a repo work well for Copilot and local models:
125
+ [guide](docs/guide-other-agents.md).
124
126
  - **A way for the phone to reach the desktop.** Recommended: **[Tailscale](https://tailscale.com)**
125
127
  on both, on the same tailnet. It works from anywhere, its device sign-in is the gate, and its HTTPS
126
128
  gives the phone push, install and clipboard. From the same Wi-Fi or over a VPN of your own, a
@@ -147,9 +149,9 @@ npm run build
147
149
  npm start
148
150
  ```
149
151
 
150
- <a href="https://waterplane-dev.github.io/media/setup-7fd327bf01.mp4"><img src="docs/media/setup.gif" width="270" alt="The desktop builds and starts the host; on the phone the app lists the repo, + now starts claude in it, and its trust question is answered with a tap"></a>
152
+ <a href="https://waterplane-dev.github.io/media/setup-30becef6cf.mp4"><img src="docs/media/setup.gif" width="270" alt="The desktop builds and starts the host; on the phone the app lists the repo, + now starts claude in it, and its trust question is answered with a tap"></a>
151
153
 
152
- *From `npm run build` on the desktop to claude running in your repo on the phone. [The whole setup as a video](https://waterplane-dev.github.io/media/setup-7fd327bf01.mp4), with pause and seek.*
154
+ *From `npm run build` on the desktop to claude running in your repo on the phone. [The whole setup as a video](https://waterplane-dev.github.io/media/setup-30becef6cf.mp4), with pause and seek.*
153
155
 
154
156
  `npm run doctor` (or `waterplane doctor`) is the first thing to re-run when something misbehaves:
155
157
  it names what is wrong and what to type. The host lists the git repos under `~/dev` (or
@@ -173,9 +175,9 @@ updating and every environment variable: [docs/install.md](docs/install.md).
173
175
  <!-- site:outbox -->
174
176
  ### What Claude made, on your phone
175
177
 
176
- <a href="https://waterplane-dev.github.io/media/gallery-and-files-9f1edea03e.mp4"><img src="docs/media/gallery-and-files.png" width="270" alt="The gallery lists what Claude left in the outbox: a markdown file, a live HTML page and a screenshot open on the phone"></a>
178
+ <a href="https://waterplane-dev.github.io/media/gallery-and-files-6250099dbb.mp4"><img src="docs/media/gallery-and-files.png" width="270" alt="The gallery lists what Claude left in the outbox: a markdown file, a live HTML page and a screenshot open on the phone"></a>
177
179
 
178
- *[The walkthrough as a video](https://waterplane-dev.github.io/media/gallery-and-files-9f1edea03e.mp4).*
180
+ *[The walkthrough as a video](https://waterplane-dev.github.io/media/gallery-and-files-6250099dbb.mp4).*
179
181
 
180
182
  What Claude leaves in `.claude/outbox/` appears on the phone as a picture or a file, with a badge on
181
183
  the repo and a notification. Open it full size, draw a circle or a box on it, type what to change,
@@ -186,9 +188,9 @@ of text to point Claude at it.
186
188
  <!-- site:limit -->
187
189
  ### When the usage limit hits, it carries on
188
190
 
189
- <a href="https://waterplane-dev.github.io/media/limit-and-budget-d61307c1a1.mp4"><img src="docs/media/limit-and-budget.gif" width="270" alt="Claude stops at the 5-hour usage wall; at the reset waterplane types continue and the turn finishes"></a>
191
+ <a href="https://waterplane-dev.github.io/media/limit-and-budget-49f91fd711.mp4"><img src="docs/media/limit-and-budget.gif" width="270" alt="Claude stops at the 5-hour usage wall; at the reset waterplane types continue and the turn finishes"></a>
190
192
 
191
- *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/limit-and-budget-d61307c1a1.mp4), with pause and seek.*
193
+ *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/limit-and-budget-49f91fd711.mp4), with pause and seek.*
192
194
 
193
195
  When a session hits a Claude usage limit, the host notices, waits for the reset and continues it,
194
196
  reopening the conversation with `--continue` if the CLI exited. Bounded retries, and an off switch
@@ -200,9 +202,9 @@ your words kept and the reason said.
200
202
  <!-- site:queue -->
201
203
  ### Queue it now, or schedule it against the usage windows
202
204
 
203
- <a href="https://waterplane-dev.github.io/media/queue-and-schedule-a2c6c90637.mp4"><img src="docs/media/queue-and-schedule.gif" width="270" alt="A prompt queued behind a running turn starts by itself when the turn ends; schedules wait for a time or for the weekly window"></a>
205
+ <a href="https://waterplane-dev.github.io/media/queue-and-schedule-1cb4c31dac.mp4"><img src="docs/media/queue-and-schedule.gif" width="270" alt="A prompt queued behind a running turn starts by itself when the turn ends; schedules wait for a time or for the weekly window"></a>
204
206
 
205
- *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/queue-and-schedule-a2c6c90637.mp4), with pause and seek.*
207
+ *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/queue-and-schedule-1cb4c31dac.mp4), with pause and seek.*
206
208
 
207
209
  A prompt sent while you are offline or while the session is busy waits in a queue and is typed in
208
210
  exactly once. Or post a prompt for later: at a time, when the session goes quiet, after another one
@@ -213,15 +215,16 @@ before the reset, spend what is left"). The Backlog holds a repo's work that nob
213
215
  <!-- site:cost -->
214
216
  ### Know what it costs
215
217
 
216
- <a href="https://waterplane-dev.github.io/media/numbers-edb5a4da7e.mp4"><img src="docs/media/numbers.gif" width="270" alt="A week of heavy use priced at API list price, what drives the cost, and when a fresh session would be cheaper"></a>
218
+ <a href="https://waterplane-dev.github.io/media/numbers-6b4a0ebc6b.mp4"><img src="docs/media/numbers.gif" width="270" alt="A week of heavy use priced at API list price, what drives the cost, and a ten-hour session whose subagents are most of its bill"></a>
217
219
 
218
- *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/numbers-edb5a4da7e.mp4), with pause and seek.*
220
+ *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/numbers-6b4a0ebc6b.mp4), with pause and seek.*
219
221
 
220
222
  Every finished turn says what it cost: tokens in, out and cached, and dollars at list price, plus
221
223
  what the *next* turn will cost compared with a fresh session. The token ledger splits every total by
222
224
  day, repo and model; the header carries the 5-hour and weekly usage windows with their resets; each
223
- session has a context sheet showing how full the window was over time and where it compacted. A
224
- per-repo check weighs `CLAUDE.md` and skill descriptions, the part every turn pays for again. All
225
+ session has a context sheet showing how full the window was over time and where it compacted, and
226
+ on a fan-out session what its subagents cost, each one as a bar, the skills they loaded and what
227
+ every turn carries before your prompt. A per-repo check weighs `CLAUDE.md` and skill descriptions, the part every turn pays for again. All
225
228
  read off the CLI's own logs and screens; where there is nothing to read, nothing is shown rather
226
229
  than a guess.
227
230
  <!-- /site:cost -->
@@ -229,9 +232,9 @@ than a guess.
229
232
  <!-- site:health -->
230
233
  ### Repo health, so the vibe coding stays maintainable
231
234
 
232
- <a href="https://waterplane-dev.github.io/media/repo-health-55ce394cae.mp4"><img src="docs/media/repo-health.gif" width="270" alt="A repo vibe-coded for eight months scores 46 out of 100: one 8,397-line file caps the score, two severe warnings name it, and the trend slides from 100 in February"></a>
235
+ <a href="https://waterplane-dev.github.io/media/repo-health-a6076318e5.mp4"><img src="docs/media/repo-health.gif" width="270" alt="A repo vibe-coded for eight months scores 46 out of 100: one 8,397-line file caps the score, two severe warnings name it, and the trend slides from 100 in February"></a>
233
236
 
234
- *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/repo-health-55ce394cae.mp4), with pause and seek.*
237
+ *A short loop. [The whole walkthrough as a video](https://waterplane-dev.github.io/media/repo-health-a6076318e5.mp4), with pause and seek.*
235
238
 
236
239
  Vibe coding drifts into a mess quietly, and a steady number does not mean a healthy repo. Each repo
237
240
  gets one health score out of 100, measured against fixed good values: file length, files reworked
@@ -341,7 +344,7 @@ plainly:
341
344
 
342
345
  ## Built with waterplane
343
346
 
344
- **ciqkit** is developer tooling for Garmin Connect IQ watch apps: a broker that makes the Connect IQ
347
+ **[ciqkit](https://github.com/JohannesHoh/ciqkit)** is developer tooling for Garmin Connect IQ watch apps: a broker that makes the Connect IQ
345
348
  simulator usable from scripts, CI and coding agents, plus static checks for watch screens. It and
346
349
  the watch apps it serves were developed largely from a phone with waterplane: build on the desktop,
347
350
  run it in the simulator, and get the verified screenshot in the phone's gallery. waterplane shells out
@@ -353,9 +356,30 @@ Garmin watch app on the Connect IQ store that counts indoor boulder problems by
353
356
  rate and the accelerometer, with a companion web app for live sessions. It is closed source; it was
354
357
  built, tested on the simulator and shipped to the store with waterplane, mostly from a phone.
355
358
 
356
- **Little Painter** is a small Android app for children: brush, shapes that stay movable after the
357
- finger lifts, a paint bucket, and a parent mode. It was written with waterplane, with the APK built
358
- from the phone's build sheet.
359
+ **[Little Painter](https://play.google.com/store/apps/details?id=io.github.johanneshoh.childpaint)**
360
+ is a small Android app for children: brush, shapes that stay movable after the finger lifts, a paint
361
+ bucket, and a parent mode. It was written with waterplane, with the APK built from the phone's build
362
+ sheet. [Source](https://github.com/waterplane-dev/child-paint).
363
+
364
+ **[Talking Pictures](https://play.google.com/store/apps/details?id=de.hoh.talkingpictures)** is an
365
+ Android app for small children: take a photo, put invisible spots on the things in it, record your
366
+ own voice behind each spot, and hand the phone over. It is offline, with no network permission. It
367
+ was built with waterplane; it is closed source.
368
+
369
+ **[Waterplane Game](https://play.google.com/store/apps/details?id=dev.waterplane.game)** is a small
370
+ Android side-scroller in which you fly the waterplane logo through storm clouds, rock spires,
371
+ lighthouses and reefs. It was built from a phone, start to finish: one prompt sent through
372
+ waterplane, then one follow-up to test it on an emulator.
373
+ [Source](https://github.com/waterplane-dev/waterplane-game).
374
+
375
+ All public repos: [waterplane](https://github.com/waterplane-dev/waterplane) ·
376
+ [demo](https://github.com/waterplane-dev/demo) ·
377
+ [waterplane-plugin-copilot](https://github.com/waterplane-dev/waterplane-plugin-copilot) ·
378
+ [waterplane.dev site](https://github.com/waterplane-dev/waterplane-dev.github.io) ·
379
+ [media](https://github.com/waterplane-dev/media) ·
380
+ [child-paint](https://github.com/waterplane-dev/child-paint) ·
381
+ [waterplane-game](https://github.com/waterplane-dev/waterplane-game) ·
382
+ [ciqkit](https://github.com/JohannesHoh/ciqkit).
359
383
 
360
384
  ## Known limits
361
385
 
@@ -25,6 +25,7 @@
25
25
  * Pure: the caller hands in a synchronous reader over the folder (`AgentFilesFs`).
26
26
  */
27
27
  import { CHARS_PER_TOKEN, frontmatterLines, skillDescChars } from "./contextweight.js";
28
+ import { wordOf } from "./wordof.js";
28
29
  export const READER_NAME = { claude: "Claude Code", copilot: "Copilot" };
29
30
  /** The YAML frontmatter as raw lines, or null. Only flat keys and simple lists are read. */
30
31
  function frontmatter(text) {
@@ -316,7 +317,7 @@ export function claudeWeightInput(files) {
316
317
  }
317
318
  /** One repeat, said: the two files, what they share, who carries both — and for the migration case, how one copy serves both agents. */
318
319
  export function overlapWords(o, fmt = String) {
319
- const who = o.readers.map((r) => READER_NAME[r]).join(" and ");
320
+ const who = o.readers.map((r) => wordOf(READER_NAME, r, r)).join(" and ");
320
321
  const pair = new Set([o.a, o.b]);
321
322
  const fix = pair.has("CLAUDE.md") && pair.has("AGENTS.md")
322
323
  ? " One copy is enough: keep the text in AGENTS.md and let CLAUDE.md be the single line @AGENTS.md, which Claude Code inlines."
@@ -333,6 +334,29 @@ export function copilotWeightWords(t, fmt = String) {
333
334
  const scoped = t.scoped ? `, plus ${fmt(t.scoped)} characters when a matching file is touched` : "";
334
335
  return `Copilot carries ~${fmt(Math.round(t.always / CHARS_PER_TOKEN))} tokens (${fmt(t.always)} characters) from ${t.files} ${t.files === 1 ? "file" : "files"} here on every request${scoped}. Copilot bills per request, not per token, so this costs context room, not money.`;
335
336
  }
337
+ /** `/(^|\/)\.claude\/<dir>\/.+\.md$/.test(p)` without the regex: CodeQL flags that shape as
338
+ * quadratic (the `.+` re-scans from every `.claude/<dir>/` occurrence). `.` crosses no line
339
+ * terminator, so only an occurrence after the LAST one can match; of those the earliest on a
340
+ * segment boundary leaves the longest tail, and the tail must be one character plus `.md`. */
341
+ function underClaudeDir(p, dir) {
342
+ if (!p.endsWith(".md"))
343
+ return false;
344
+ const seg = `.claude/${dir}/`;
345
+ let from = 0;
346
+ for (let i = p.length - 1; i >= 0; i--) {
347
+ const c = p[i];
348
+ if (c === "\n" || c === "\r" || c === "\u2028" || c === "\u2029") {
349
+ from = i + 1;
350
+ break;
351
+ }
352
+ }
353
+ for (let at = p.indexOf(seg, from); at >= 0; at = p.indexOf(seg, at + 1)) {
354
+ if (at > 0 && p[at - 1] !== "/")
355
+ continue;
356
+ return p.length - (at + seg.length) >= 4;
357
+ }
358
+ return false;
359
+ }
336
360
  /**
337
361
  * The weight of ONE file opened on its own, recognised by its name and folder — the viewer has no
338
362
  * inventory, and a SKILL.md or CLAUDE.md is the same file under any root. Null for anything else.
@@ -356,7 +380,7 @@ export function instructionFileWeight(path, text) {
356
380
  kind = "instructions";
357
381
  parts = classifyInstructions(text, []);
358
382
  }
359
- else if (/(^|\/)\.claude\/rules\/.+\.md$/.test(p)) {
383
+ else if (underClaudeDir(p, "rules")) {
360
384
  kind = "rule";
361
385
  parts = classifyRule(text, []);
362
386
  }
@@ -364,7 +388,7 @@ export function instructionFileWeight(path, text) {
364
388
  kind = "subagent";
365
389
  parts = classifySkill(text, []);
366
390
  }
367
- else if (/(^|\/)\.claude\/commands\/.+\.md$/.test(p)) {
391
+ else if (underClaudeDir(p, "commands")) {
368
392
  kind = "command";
369
393
  parts = classifySkill(text, []);
370
394
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentfiles.js","sourceRoot":"","sources":["../src/agentfiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentfiles.js","sourceRoot":"","sources":["../src/agentfiles.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,17 @@ export interface CarriedRow {
59
59
  undocumented?: true;
60
60
  }
61
61
  export declare const CARRIED_REMAINDER_LABEL = "everything else in the first request: your prompt, and whatever the harness sent that the log does not record (\u2248)";
62
+ /**
63
+ * One always-on row's figures in the carried list's grammar, so a repo's file list and a session's
64
+ * "what every turn carries" read the same: `num` is what the row puts in every turn, right-aligned
65
+ * like a carried part; `rest` is what joins only when a matching file is touched or the skill is
66
+ * used. An unsized row has no `num` and its reason as `rest` (never a 0); a sized row that puts
67
+ * nothing in every turn says so in `num`.
68
+ */
69
+ export declare function alwaysOnRowFigures(r: AlwaysOnRow, fmt?: Fmt): {
70
+ num: string | null;
71
+ rest: string | null;
72
+ };
62
73
  /**
63
74
  * `firstRequestTok` minus the parts' estimated tokens; null without the anchor, and null — never 0 —
64
75
  * when the estimate already exceeds the request (JSON schemas tokenise denser than ~4 chars a token,
@@ -8,10 +8,12 @@
8
8
  * fact and tokens per part are an estimate, always worded `~`/"about"; an unsized row is NAMED,
9
9
  * never counted as 0; nothing here refuses or applies anything.
10
10
  */
11
+ import { trimEndChars } from "./lineartrim.js";
11
12
  import { countedByThreshold, claudeWeightInput, MCP_UNSIZED } from "./agentfiles.js";
12
13
  import { CHARS_PER_TOKEN, weighContext } from "./contextweight.js";
13
14
  import { fmtCount } from "./tokens.js";
14
15
  import { CARRIED_KINDS } from "./wire/alwayson.js";
16
+ import { wordOf } from "./wordof.js";
15
17
  const tokOf = (chars) => Math.round(chars / CHARS_PER_TOKEN);
16
18
  const plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
17
19
  /** One row per inventory row, in the inventory's order. */
@@ -98,7 +100,7 @@ export function desktopPathWords(p, configDirWords = DEFAULT_CONFIG_DIR_WORDS) {
98
100
  return "not on disk";
99
101
  if (p.startsWith("~") || p.startsWith("/") || /^[A-Za-z]:[\\/]/.test(p) || p.startsWith("\\\\"))
100
102
  return p;
101
- return `${configDirWords.replace(/[\\/]+$/, "")}/${p}`;
103
+ return `${trimEndChars(configDirWords, "\\/")}/${p}`;
102
104
  }
103
105
  /** Whether an unsized row is an MCP server whose schemas arrive at connect time (the When column says "every request" only for those). */
104
106
  export const isUnsizedServer = (f) => f.unsized === MCP_UNSIZED;
@@ -115,9 +117,29 @@ function carriedLabel(p) {
115
117
  case "hook_context": return n != null && n > 1 ? `hook context (${n})` : "hook context";
116
118
  case "system_prompt": return `system prompt ${UNDOC}`;
117
119
  case "tool_schemas": return `tool schemas ${UNDOC}`;
120
+ // `kind` is the host's reading of the CLI's log: a kind a newer host
121
+ // names reaches an older phone with no case for it.
122
+ default: return "a part this app version cannot name";
118
123
  }
119
124
  }
120
125
  const charsWords = (chars, fmt) => `~${fmt(tokOf(chars))} tokens · ${fmt(chars)} chars`;
126
+ /**
127
+ * One always-on row's figures in the carried list's grammar, so a repo's file list and a session's
128
+ * "what every turn carries" read the same: `num` is what the row puts in every turn, right-aligned
129
+ * like a carried part; `rest` is what joins only when a matching file is touched or the skill is
130
+ * used. An unsized row has no `num` and its reason as `rest` (never a 0); a sized row that puts
131
+ * nothing in every turn says so in `num`.
132
+ */
133
+ export function alwaysOnRowFigures(r, fmt = fmtCount) {
134
+ if (r.unsized)
135
+ return { num: null, rest: r.unsized };
136
+ const always = r.always ?? 0, scoped = r.scoped ?? 0, onDemand = r.onDemand ?? 0;
137
+ const rest = [
138
+ scoped ? `+ ${charsWords(scoped, fmt)} when a matching file is touched` : null,
139
+ onDemand ? `+ ${charsWords(onDemand, fmt)} only when used` : null,
140
+ ].filter(Boolean).join("; ");
141
+ return { num: always ? charsWords(always, fmt) : "nothing every turn", rest: rest || null };
142
+ }
121
143
  const partsTok = (c) => Math.round(c.parts.reduce((n, p) => n + p.chars, 0) / CHARS_PER_TOKEN);
122
144
  /**
123
145
  * `firstRequestTok` minus the parts' estimated tokens; null without the anchor, and null — never 0 —
@@ -161,6 +183,8 @@ const PART_NOUN = {
161
183
  system_prompt: "the system prompt",
162
184
  tool_schemas: "tool schemas",
163
185
  };
186
+ /** `laterKinds` are the host's, so a kind this build lacks is still a noun. */
187
+ const partNoun = (k) => wordOf(PART_NOUN, k, "a part this app version cannot name");
164
188
  const capital = (s) => s.charAt(0).toUpperCase() + s.slice(1);
165
189
  const andList = (xs) => (xs.length <= 1 ? xs.join("") : `${xs.slice(0, -1).join(", ")} and ${xs[xs.length - 1]}`);
166
190
  /**
@@ -176,7 +200,7 @@ export function carriedWords(c, fmt = fmtCount, opts = {}) {
176
200
  const docChars = c.parts.filter((p) => !p.undocumented && p.kind !== "system_prompt" && p.kind !== "tool_schemas").reduce((n, p) => n + p.chars, 0);
177
201
  const named = (c.laterKinds ?? []).filter((k) => k in PART_NOUN);
178
202
  const later = named.length
179
- ? ` ${capital(andList(named.map((k) => PART_NOUN[k])))} changed later in the conversation; the change is not folded in.`
203
+ ? ` ${capital(andList(named.map((k) => partNoun(k))))} changed later in the conversation; the change is not folded in.`
180
204
  : c.laterDeltas > 0
181
205
  ? ` ${c.laterDeltas === 1 ? "One kind" : `${c.laterDeltas} kinds`} of these changed later in the conversation; the change is not folded in.`
182
206
  : "";
@@ -185,13 +209,13 @@ export function carriedWords(c, fmt = fmtCount, opts = {}) {
185
209
  }
186
210
  const out = [`The first request carried ${fmt(c.firstRequestTok)} tokens.`];
187
211
  if (documented.length)
188
- out.push(`About ${fmt(tokOf(docChars))} of them (${fmt(docChars)} chars) are ${andList(documented.map((k) => PART_NOUN[k]))} the CLI attached;`);
212
+ out.push(`About ${fmt(tokOf(docChars))} of them (${fmt(docChars)} chars) are ${andList(documented.map((k) => partNoun(k)))} the CLI attached;`);
189
213
  const snap = ["system_prompt", "tool_schemas"].filter((k) => kinds.has(k));
190
- const unknown = ["system_prompt", "tool_schemas"].filter((k) => !kinds.has(k)).map((k) => PART_NOUN[k]);
214
+ const unknown = ["system_prompt", "tool_schemas"].filter((k) => !kinds.has(k)).map((k) => partNoun(k));
191
215
  if (snap.length) {
192
216
  const said = snap.map((k) => {
193
217
  const chars = c.parts.filter((p) => p.kind === k).reduce((n, p) => n + p.chars, 0);
194
- return `${PART_NOUN[k]} at about ${fmt(tokOf(chars))} tokens (${fmt(chars)} chars)`;
218
+ return `${partNoun(k)} at about ${fmt(tokOf(chars))} tokens (${fmt(chars)} chars)`;
195
219
  });
196
220
  out.push(`${documented.length ? "an" : "An"} undocumented record puts ${andList(said)};`);
197
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alwaysonwords.js","sourceRoot":"","sources":["../src/alwaysonwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;AACrE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAsB5F,2DAA2D;AAC3D,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,CAAC,CAAoC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACrJ,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE,OAAO;YAC7D,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;YACxE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC7D,CAAC;QACF,IAAI,CAAC,CAAC,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,CAAC,GAAG;YAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC5C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC;;gBAAM,KAAK,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACpF,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,SAAS;QAC3B,CAAC,EAAE,CAAC;QACJ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAqC,EAAE,KAAa,EAAE,EAAE,CAC5E,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,KAAK,6CAA6C,CAAC,CAAC,CAAC,EAAE,CAAC;MAC1G,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,MAAW,QAAQ;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACxD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,8BAA8B,GAAG,CAAC,OAAO,CAAC,4EAA4E,GAAG,CAAC,MAAM,CAAC,gEAAgE;YACnM,CAAC,CAAC,4FAA4F,CAAC;QACjG,GAAG,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3K,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,oEAAoE,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,6EAA6E,YAAY,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACzO,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,uHAAuH;AACvH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,iBAAyB,wBAAwB;IAC3F,IAAI,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC;IAC7B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1G,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,0IAA0I;AAC1I,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAuB,EAAW,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;AAmB/F,MAAM,CAAC,MAAM,uBAAuB,GAClC,mHAAmH,CAAC;AAEtH,MAAM,KAAK,GAAG,uBAAuB,CAAC;AAEtC,SAAS,YAAY,CAAC,CAAc;IAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,cAAc,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAChD,KAAK,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;QACnG,KAAK,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC7G,KAAK,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC/F,KAAK,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACxF,KAAK,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;QACxF,KAAK,eAAe,CAAC,CAAC,OAAO,iBAAiB,KAAK,EAAE,CAAC;QACtD,KAAK,cAAc,CAAC,CAAC,OAAO,gBAAgB,KAAK,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,GAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;AAErG,MAAM,QAAQ,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;AAE/G;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IAChD,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,0BAA0B,GACrC,uGAAuG,CAAC;AAE1G,gKAAgK;AAChK,MAAM,UAAU,WAAW,CAAC,CAAiB,EAAE,MAAW,QAAQ;IAChE,MAAM,KAAK,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9F,MAAM,GAAG,GAAe,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACtI,IAAI,CAAC,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/J,IAAI,CAAC,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,CAAC,YAAY;YAAE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzI,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAgC;IAC7C,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,mBAAmB;IAClC,YAAY,EAAE,cAAc;CAC7B,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,OAAO,GAAG,CAAC,EAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5H;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,CAAiB,EAAE,MAAW,QAAQ,EAAE,OAAoC,EAAE;IACzG,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpJ,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;QACxB,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kEAAkE;QACxH,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,QAAQ,2EAA2E;YAC5I,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,kGAAkG,KAAK,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,eAAe,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACxK,MAAM,IAAI,GAAI,CAAC,eAAe,EAAE,cAAc,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAI,CAAC,eAAe,EAAE,cAAc,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;QACtF,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,6BAA6B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;aACpH,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC;;QACI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,+CAA+C,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5H,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"alwaysonwords.js","sourceRoot":"","sources":["../src/alwaysonwords.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@
28
28
  * word the switches with the same vocabulary the host acts on. The disk half is
29
29
  * `host/artifacts.ts`.
30
30
  */
31
+ import { trimEndChars, trimStartChars } from "./lineartrim.js";
31
32
  /**
32
33
  * On, on, and three.
33
34
  *
@@ -152,7 +153,10 @@ export function stampOf(when) {
152
153
  /** Only what a filename may hold, with the separators this module splits on
153
154
  * preserved. Anything else becomes a `-`, and runs collapse. */
154
155
  function slug(s) {
155
- return s.replace(/[^A-Za-z0-9.+~_-]+/g, "-").replace(/-{2,}/g, "-").replace(/^[-.]+|[-.]+$/g, "");
156
+ // The edge trim is two loops, not `/^[-.]+|[-.]+$/g`: that alternation retries
157
+ // a `-.-.` run from every offset (quadratic); the loops strip the same edges.
158
+ const t = s.replace(/[^A-Za-z0-9.+~_-]+/g, "-").replace(/-{2,}/g, "-");
159
+ return trimEndChars(trimStartChars(t, "-."), "-.");
156
160
  }
157
161
  /**
158
162
  * The name a collected artifact gets.