waterplane 0.1.6 → 0.1.11

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 (496) hide show
  1. package/CHANGELOG.md +92 -1
  2. package/README.md +1 -1
  3. package/SECURITY.md +11 -3
  4. package/deploy/node-version +1 -1
  5. package/node_modules/@waterplane/shared/dist/agentfiles.d.ts +17 -0
  6. package/node_modules/@waterplane/shared/dist/agentfiles.js +58 -4
  7. package/node_modules/@waterplane/shared/dist/agentfiles.js.map +1 -1
  8. package/node_modules/@waterplane/shared/dist/alwaysonwords.d.ts +83 -0
  9. package/node_modules/@waterplane/shared/dist/alwaysonwords.js +209 -0
  10. package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -0
  11. package/node_modules/@waterplane/shared/dist/autocompact.js +1 -1
  12. package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -1
  13. package/node_modules/@waterplane/shared/dist/backendsources.d.ts +11 -1
  14. package/node_modules/@waterplane/shared/dist/backendsources.js.map +1 -1
  15. package/node_modules/@waterplane/shared/dist/branchmode.d.ts +27 -0
  16. package/node_modules/@waterplane/shared/dist/branchmode.js +80 -0
  17. package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -0
  18. package/node_modules/@waterplane/shared/dist/buildstamp.d.ts +37 -0
  19. package/node_modules/@waterplane/shared/dist/buildstamp.js +95 -0
  20. package/node_modules/@waterplane/shared/dist/buildstamp.js.map +1 -0
  21. package/node_modules/@waterplane/shared/dist/burn.d.ts +16 -1
  22. package/node_modules/@waterplane/shared/dist/burn.js +30 -0
  23. package/node_modules/@waterplane/shared/dist/burn.js.map +1 -1
  24. package/node_modules/@waterplane/shared/dist/changebrief.d.ts +61 -0
  25. package/node_modules/@waterplane/shared/dist/changebrief.js +70 -0
  26. package/node_modules/@waterplane/shared/dist/changebrief.js.map +1 -0
  27. package/node_modules/@waterplane/shared/dist/desktopfiles.d.ts +100 -0
  28. package/node_modules/@waterplane/shared/dist/desktopfiles.js +192 -0
  29. package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -0
  30. package/node_modules/@waterplane/shared/dist/exposure.d.ts +175 -0
  31. package/node_modules/@waterplane/shared/dist/exposure.js +357 -0
  32. package/node_modules/@waterplane/shared/dist/exposure.js.map +1 -0
  33. package/node_modules/@waterplane/shared/dist/exposurepush.d.ts +60 -0
  34. package/node_modules/@waterplane/shared/dist/exposurepush.js +103 -0
  35. package/node_modules/@waterplane/shared/dist/exposurepush.js.map +1 -0
  36. package/node_modules/@waterplane/shared/dist/healthindex/commits.d.ts +26 -0
  37. package/node_modules/@waterplane/shared/dist/healthindex/commits.js +57 -0
  38. package/node_modules/@waterplane/shared/dist/healthindex/commits.js.map +1 -0
  39. package/node_modules/@waterplane/shared/dist/healthindex/move.d.ts +25 -0
  40. package/node_modules/@waterplane/shared/dist/healthindex/move.js +79 -0
  41. package/node_modules/@waterplane/shared/dist/healthindex/move.js.map +1 -0
  42. package/node_modules/@waterplane/shared/dist/healthindex/readings.d.ts +53 -0
  43. package/node_modules/@waterplane/shared/dist/healthindex/readings.js +154 -0
  44. package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -0
  45. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.d.ts +41 -0
  46. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js +19 -0
  47. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js.map +1 -0
  48. package/node_modules/@waterplane/shared/dist/healthindex/score.d.ts +26 -0
  49. package/node_modules/@waterplane/shared/dist/healthindex/score.js +154 -0
  50. package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -0
  51. package/node_modules/@waterplane/shared/dist/healthindex/types.d.ts +206 -0
  52. package/node_modules/@waterplane/shared/dist/healthindex/types.js +58 -0
  53. package/node_modules/@waterplane/shared/dist/healthindex/types.js.map +1 -0
  54. package/node_modules/@waterplane/shared/dist/healthindex/vs.d.ts +26 -0
  55. package/node_modules/@waterplane/shared/dist/healthindex/vs.js +38 -0
  56. package/node_modules/@waterplane/shared/dist/healthindex/vs.js.map +1 -0
  57. package/node_modules/@waterplane/shared/dist/healthindex/words.d.ts +28 -0
  58. package/node_modules/@waterplane/shared/dist/healthindex/words.js +69 -0
  59. package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -0
  60. package/node_modules/@waterplane/shared/dist/healthindex.d.ts +15 -411
  61. package/node_modules/@waterplane/shared/dist/healthindex.js +8 -602
  62. package/node_modules/@waterplane/shared/dist/healthindex.js.map +1 -1
  63. package/node_modules/@waterplane/shared/dist/hints.js +5 -0
  64. package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
  65. package/node_modules/@waterplane/shared/dist/index.d.ts +29 -0
  66. package/node_modules/@waterplane/shared/dist/index.js +29 -0
  67. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  68. package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +31 -1
  69. package/node_modules/@waterplane/shared/dist/intent/kind.js +27 -3
  70. package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
  71. package/node_modules/@waterplane/shared/dist/intent.d.ts +1 -1
  72. package/node_modules/@waterplane/shared/dist/intent.js +1 -1
  73. package/node_modules/@waterplane/shared/dist/intent.js.map +1 -1
  74. package/node_modules/@waterplane/shared/dist/launchmodes.d.ts +2 -0
  75. package/node_modules/@waterplane/shared/dist/launchmodes.js +12 -0
  76. package/node_modules/@waterplane/shared/dist/launchmodes.js.map +1 -1
  77. package/node_modules/@waterplane/shared/dist/ledgerspan.d.ts +59 -0
  78. package/node_modules/@waterplane/shared/dist/ledgerspan.js +99 -0
  79. package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -0
  80. package/node_modules/@waterplane/shared/dist/netretry.d.ts +38 -0
  81. package/node_modules/@waterplane/shared/dist/netretry.js +31 -0
  82. package/node_modules/@waterplane/shared/dist/netretry.js.map +1 -0
  83. package/node_modules/@waterplane/shared/dist/netretrycfg.d.ts +12 -0
  84. package/node_modules/@waterplane/shared/dist/netretrycfg.js +27 -0
  85. package/node_modules/@waterplane/shared/dist/netretrycfg.js.map +1 -0
  86. package/node_modules/@waterplane/shared/dist/nodemin.d.ts +6 -4
  87. package/node_modules/@waterplane/shared/dist/nodemin.js +6 -4
  88. package/node_modules/@waterplane/shared/dist/nodemin.js.map +1 -1
  89. package/node_modules/@waterplane/shared/dist/optins.d.ts +35 -1
  90. package/node_modules/@waterplane/shared/dist/optins.js +39 -1
  91. package/node_modules/@waterplane/shared/dist/optins.js.map +1 -1
  92. package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +364 -0
  93. package/node_modules/@waterplane/shared/dist/plugin/api.js +2 -0
  94. package/node_modules/@waterplane/shared/dist/plugin/api.js.map +1 -0
  95. package/node_modules/@waterplane/shared/dist/plugin/backend.d.ts +197 -0
  96. package/node_modules/@waterplane/shared/dist/plugin/backend.js +9 -0
  97. package/node_modules/@waterplane/shared/dist/plugin/backend.js.map +1 -0
  98. package/node_modules/@waterplane/shared/dist/plugin/manifest.d.ts +160 -0
  99. package/node_modules/@waterplane/shared/dist/plugin/manifest.js +98 -0
  100. package/node_modules/@waterplane/shared/dist/plugin/manifest.js.map +1 -0
  101. package/node_modules/@waterplane/shared/dist/plugin/module.d.ts +98 -0
  102. package/node_modules/@waterplane/shared/dist/plugin/module.js +13 -0
  103. package/node_modules/@waterplane/shared/dist/plugin/module.js.map +1 -0
  104. package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +64 -0
  105. package/node_modules/@waterplane/shared/dist/plugin/version.js +84 -0
  106. package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -0
  107. package/node_modules/@waterplane/shared/dist/plugin.d.ts +5 -867
  108. package/node_modules/@waterplane/shared/dist/plugin.js +27 -186
  109. package/node_modules/@waterplane/shared/dist/plugin.js.map +1 -1
  110. package/node_modules/@waterplane/shared/dist/pluginlaunch.d.ts +7 -0
  111. package/node_modules/@waterplane/shared/dist/prview.d.ts +23 -0
  112. package/node_modules/@waterplane/shared/dist/prview.js +107 -0
  113. package/node_modules/@waterplane/shared/dist/prview.js.map +1 -0
  114. package/node_modules/@waterplane/shared/dist/repohealth.d.ts +4 -0
  115. package/node_modules/@waterplane/shared/dist/repohealth.js.map +1 -1
  116. package/node_modules/@waterplane/shared/dist/schedule/schedaction.d.ts +29 -0
  117. package/node_modules/@waterplane/shared/dist/schedule/schedaction.js +22 -0
  118. package/node_modules/@waterplane/shared/dist/schedule/schedaction.js.map +1 -1
  119. package/node_modules/@waterplane/shared/dist/schedule/schedclean.js +26 -0
  120. package/node_modules/@waterplane/shared/dist/schedule/schedclean.js.map +1 -1
  121. package/node_modules/@waterplane/shared/dist/schedule.d.ts +1 -1
  122. package/node_modules/@waterplane/shared/dist/schedule.js +1 -1
  123. package/node_modules/@waterplane/shared/dist/schedule.js.map +1 -1
  124. package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +20 -5
  125. package/node_modules/@waterplane/shared/dist/sessionbudget.js +42 -16
  126. package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
  127. package/node_modules/@waterplane/shared/dist/weekburn.d.ts +114 -0
  128. package/node_modules/@waterplane/shared/dist/weekburn.js +205 -0
  129. package/node_modules/@waterplane/shared/dist/weekburn.js.map +1 -0
  130. package/node_modules/@waterplane/shared/dist/wire/alwayson.d.ts +64 -0
  131. package/node_modules/@waterplane/shared/dist/wire/alwayson.js +7 -0
  132. package/node_modules/@waterplane/shared/dist/wire/alwayson.js.map +1 -0
  133. package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +4 -0
  134. package/node_modules/@waterplane/shared/dist/wire/backendtokens.d.ts +6 -0
  135. package/node_modules/@waterplane/shared/dist/wire/backendtokens.js +0 -9
  136. package/node_modules/@waterplane/shared/dist/wire/backendtokens.js.map +1 -1
  137. package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +20 -0
  138. package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +15 -1
  139. package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +10 -0
  140. package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +12 -2
  141. package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +129 -1
  142. package/node_modules/@waterplane/shared/dist/wire/notify.js +79 -1
  143. package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
  144. package/node_modules/@waterplane/shared/dist/wire/pullrequest.d.ts +42 -0
  145. package/node_modules/@waterplane/shared/dist/wire/pullrequest.js +2 -0
  146. package/node_modules/@waterplane/shared/dist/wire/pullrequest.js.map +1 -0
  147. package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +119 -0
  148. package/node_modules/@waterplane/shared/dist/wire/repo.js +8 -3
  149. package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
  150. package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +3 -1
  151. package/node_modules/@waterplane/shared/dist/wire/session/contextspark.d.ts +7 -0
  152. package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +4 -1
  153. package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +25 -0
  154. package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
  155. package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +4 -0
  156. package/node_modules/@waterplane/shared/dist/wire/work.d.ts +13 -0
  157. package/node_modules/@waterplane/shared/dist/wire/work.js.map +1 -1
  158. package/npm-shrinkwrap.json +3 -3
  159. package/package.json +2 -2
  160. package/packages/extensions/scorecard/waterplane-plugin.json +10 -0
  161. package/packages/host/dist/agentexposure.d.ts +13 -0
  162. package/packages/host/dist/agentexposure.js +90 -0
  163. package/packages/host/dist/agentexposure.js.map +1 -0
  164. package/packages/host/dist/agentintents.js +2 -2
  165. package/packages/host/dist/agentintents.js.map +1 -1
  166. package/packages/host/dist/agentwatch.d.ts +3 -7
  167. package/packages/host/dist/agentwatch.js.map +1 -1
  168. package/packages/host/dist/alwayson.d.ts +18 -0
  169. package/packages/host/dist/alwayson.js +159 -0
  170. package/packages/host/dist/alwayson.js.map +1 -0
  171. package/packages/host/dist/answergate.d.ts +3 -7
  172. package/packages/host/dist/answergate.js.map +1 -1
  173. package/packages/host/dist/attentionstore.d.ts +61 -0
  174. package/packages/host/dist/attentionstore.js +162 -0
  175. package/packages/host/dist/attentionstore.js.map +1 -0
  176. package/packages/host/dist/backends/claude.js +1 -1
  177. package/packages/host/dist/backends/claude.js.map +1 -1
  178. package/packages/host/dist/backends/derive.js +1 -0
  179. package/packages/host/dist/backends/derive.js.map +1 -1
  180. package/packages/host/dist/backends/registry.js +4 -1
  181. package/packages/host/dist/backends/registry.js.map +1 -1
  182. package/packages/host/dist/backends/types.d.ts +2 -0
  183. package/packages/host/dist/besidespend.d.ts +22 -0
  184. package/packages/host/dist/besidespend.js +65 -0
  185. package/packages/host/dist/besidespend.js.map +1 -0
  186. package/packages/host/dist/boxkit.d.ts +19 -0
  187. package/packages/host/dist/boxkit.js +38 -0
  188. package/packages/host/dist/boxkit.js.map +1 -0
  189. package/packages/host/dist/branchrules.d.ts +14 -0
  190. package/packages/host/dist/branchrules.js +47 -0
  191. package/packages/host/dist/branchrules.js.map +1 -0
  192. package/packages/host/dist/builds.d.ts +31 -1
  193. package/packages/host/dist/builds.js +55 -3
  194. package/packages/host/dist/builds.js.map +1 -1
  195. package/packages/host/dist/buildversions.d.ts +2 -0
  196. package/packages/host/dist/buildversions.js +36 -0
  197. package/packages/host/dist/buildversions.js.map +1 -0
  198. package/packages/host/dist/burnwatch.d.ts +23 -11
  199. package/packages/host/dist/burnwatch.js +51 -2
  200. package/packages/host/dist/burnwatch.js.map +1 -1
  201. package/packages/host/dist/changebrief.d.ts +37 -0
  202. package/packages/host/dist/changebrief.js +157 -0
  203. package/packages/host/dist/changebrief.js.map +1 -0
  204. package/packages/host/dist/cli/index.js +1 -1
  205. package/packages/host/dist/cli/index.js.map +1 -1
  206. package/packages/host/dist/clihealth.d.ts +2 -0
  207. package/packages/host/dist/clihealth.js +11 -2
  208. package/packages/host/dist/clihealth.js.map +1 -1
  209. package/packages/host/dist/compliance.d.ts +5 -1
  210. package/packages/host/dist/compliance.js +70 -31
  211. package/packages/host/dist/compliance.js.map +1 -1
  212. package/packages/host/dist/composer.d.ts +3 -1
  213. package/packages/host/dist/composer.js +3 -1
  214. package/packages/host/dist/composer.js.map +1 -1
  215. package/packages/host/dist/ctxlog/ctxcursor.d.ts +36 -1
  216. package/packages/host/dist/ctxlog/ctxcursor.js +96 -2
  217. package/packages/host/dist/ctxlog/ctxcursor.js.map +1 -1
  218. package/packages/host/dist/ctxlog/ctxproject.js +2 -1
  219. package/packages/host/dist/ctxlog/ctxproject.js.map +1 -1
  220. package/packages/host/dist/ctxlog/ctxupdate.js +13 -2
  221. package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
  222. package/packages/host/dist/diskwatch.d.ts +4 -6
  223. package/packages/host/dist/diskwatch.js +3 -1
  224. package/packages/host/dist/diskwatch.js.map +1 -1
  225. package/packages/host/dist/eraseen.d.ts +6 -0
  226. package/packages/host/dist/eraseen.js +100 -0
  227. package/packages/host/dist/eraseen.js.map +1 -0
  228. package/packages/host/dist/exposure.d.ts +56 -0
  229. package/packages/host/dist/exposure.js +371 -0
  230. package/packages/host/dist/exposure.js.map +1 -0
  231. package/packages/host/dist/exposurepush.d.ts +28 -0
  232. package/packages/host/dist/exposurepush.js +136 -0
  233. package/packages/host/dist/exposurepush.js.map +1 -0
  234. package/packages/host/dist/exposurerun.d.ts +18 -0
  235. package/packages/host/dist/exposurerun.js +126 -0
  236. package/packages/host/dist/exposurerun.js.map +1 -0
  237. package/packages/host/dist/exposurewatch.d.ts +29 -0
  238. package/packages/host/dist/exposurewatch.js +127 -0
  239. package/packages/host/dist/exposurewatch.js.map +1 -0
  240. package/packages/host/dist/extensions/scorecard/host/engine.d.mts +54 -0
  241. package/packages/host/dist/extensions/scorecard/host/engine.mjs +303 -0
  242. package/packages/host/dist/extensions/scorecard/host/engine.mjs.map +1 -0
  243. package/packages/host/dist/extensions/scorecard/host/gitslug.d.mts +5 -0
  244. package/packages/host/dist/extensions/scorecard/host/gitslug.mjs +45 -0
  245. package/packages/host/dist/extensions/scorecard/host/gitslug.mjs.map +1 -0
  246. package/packages/host/dist/extensions/scorecard/host/index.d.mts +15 -0
  247. package/packages/host/dist/extensions/scorecard/host/index.mjs +47 -0
  248. package/packages/host/dist/extensions/scorecard/host/index.mjs.map +1 -0
  249. package/packages/host/dist/extensions/scorecard/host/store.d.mts +12 -0
  250. package/packages/host/dist/extensions/scorecard/host/store.mjs +91 -0
  251. package/packages/host/dist/extensions/scorecard/host/store.mjs.map +1 -0
  252. package/packages/host/dist/extensions/scorecard/shared/logic.d.mts +42 -0
  253. package/packages/host/dist/extensions/scorecard/shared/logic.mjs +170 -0
  254. package/packages/host/dist/extensions/scorecard/shared/logic.mjs.map +1 -0
  255. package/packages/host/dist/extensions/scorecard/shared/wire.d.mts +140 -0
  256. package/packages/host/dist/extensions/scorecard/shared/wire.mjs +29 -0
  257. package/packages/host/dist/extensions/scorecard/shared/wire.mjs.map +1 -0
  258. package/packages/host/dist/forge/github.d.ts +3 -0
  259. package/packages/host/dist/forge/github.js +82 -0
  260. package/packages/host/dist/forge/github.js.map +1 -0
  261. package/packages/host/dist/forge/index.d.ts +14 -0
  262. package/packages/host/dist/forge/index.js +32 -0
  263. package/packages/host/dist/forge/index.js.map +1 -0
  264. package/packages/host/dist/forge/types.d.ts +52 -0
  265. package/packages/host/dist/forge/types.js +2 -0
  266. package/packages/host/dist/forge/types.js.map +1 -0
  267. package/packages/host/dist/git.d.ts +36 -3
  268. package/packages/host/dist/git.js +119 -41
  269. package/packages/host/dist/git.js.map +1 -1
  270. package/packages/host/dist/gitnotify.d.ts +24 -0
  271. package/packages/host/dist/gitnotify.js +60 -0
  272. package/packages/host/dist/gitnotify.js.map +1 -0
  273. package/packages/host/dist/healthwatch.d.ts +2 -1
  274. package/packages/host/dist/healthwatch.js +4 -2
  275. package/packages/host/dist/healthwatch.js.map +1 -1
  276. package/packages/host/dist/intents/adapters.js +45 -14
  277. package/packages/host/dist/intents/adapters.js.map +1 -1
  278. package/packages/host/dist/intents/contract.d.ts +4 -0
  279. package/packages/host/dist/intents/contract.js.map +1 -1
  280. package/packages/host/dist/intents/fire.js +7 -1
  281. package/packages/host/dist/intents/fire.js.map +1 -1
  282. package/packages/host/dist/intents/manager.d.ts +3 -3
  283. package/packages/host/dist/intents/manager.js +2 -2
  284. package/packages/host/dist/intents/manager.js.map +1 -1
  285. package/packages/host/dist/intents/watch.d.ts +10 -2
  286. package/packages/host/dist/intents/watch.js +27 -2
  287. package/packages/host/dist/intents/watch.js.map +1 -1
  288. package/packages/host/dist/localcistatus.d.ts +22 -0
  289. package/packages/host/dist/localcistatus.js +105 -0
  290. package/packages/host/dist/localcistatus.js.map +1 -0
  291. package/packages/host/dist/main.js +40 -10
  292. package/packages/host/dist/main.js.map +1 -1
  293. package/packages/host/dist/net.d.ts +2 -0
  294. package/packages/host/dist/net.js +11 -2
  295. package/packages/host/dist/net.js.map +1 -1
  296. package/packages/host/dist/netlog.d.ts +40 -0
  297. package/packages/host/dist/netlog.js +165 -0
  298. package/packages/host/dist/netlog.js.map +1 -0
  299. package/packages/host/dist/netretrycfg.d.ts +7 -0
  300. package/packages/host/dist/netretrycfg.js +51 -0
  301. package/packages/host/dist/netretrycfg.js.map +1 -0
  302. package/packages/host/dist/notifyprefs.d.ts +6 -2
  303. package/packages/host/dist/notifyprefs.js +20 -5
  304. package/packages/host/dist/notifyprefs.js.map +1 -1
  305. package/packages/host/dist/notifytypes.d.ts +58 -0
  306. package/packages/host/dist/notifytypes.js +2 -0
  307. package/packages/host/dist/notifytypes.js.map +1 -0
  308. package/packages/host/dist/opendeliveries.js +24 -0
  309. package/packages/host/dist/opendeliveries.js.map +1 -1
  310. package/packages/host/dist/optins.d.ts +28 -1
  311. package/packages/host/dist/optins.js +96 -4
  312. package/packages/host/dist/optins.js.map +1 -1
  313. package/packages/host/dist/peers/agentpeer.js +1 -1
  314. package/packages/host/dist/peers/agentpeer.js.map +1 -1
  315. package/packages/host/dist/peers/jobs.d.ts +2 -4
  316. package/packages/host/dist/peers/jobs.js +6 -1
  317. package/packages/host/dist/peers/jobs.js.map +1 -1
  318. package/packages/host/dist/plugins/pluginapi.js +2 -0
  319. package/packages/host/dist/plugins/pluginapi.js.map +1 -1
  320. package/packages/host/dist/plugins/pluginregistry.d.ts +3 -8
  321. package/packages/host/dist/plugins/pluginregistry.js +1 -1
  322. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  323. package/packages/host/dist/protectmain.d.ts +35 -0
  324. package/packages/host/dist/protectmain.js +73 -0
  325. package/packages/host/dist/protectmain.js.map +1 -0
  326. package/packages/host/dist/prpush.d.ts +30 -0
  327. package/packages/host/dist/prpush.js +171 -0
  328. package/packages/host/dist/prpush.js.map +1 -0
  329. package/packages/host/dist/prs.d.ts +70 -0
  330. package/packages/host/dist/prs.js +328 -0
  331. package/packages/host/dist/prs.js.map +1 -0
  332. package/packages/host/dist/push.d.ts +19 -0
  333. package/packages/host/dist/push.js.map +1 -1
  334. package/packages/host/dist/render.d.ts +57 -0
  335. package/packages/host/dist/render.js +57 -39
  336. package/packages/host/dist/render.js.map +1 -1
  337. package/packages/host/dist/repohealth.js +5 -2
  338. package/packages/host/dist/repohealth.js.map +1 -1
  339. package/packages/host/dist/repohealthapproval.d.ts +3 -0
  340. package/packages/host/dist/repohealthapproval.js +92 -2
  341. package/packages/host/dist/repohealthapproval.js.map +1 -1
  342. package/packages/host/dist/repos.js +7 -1
  343. package/packages/host/dist/repos.js.map +1 -1
  344. package/packages/host/dist/reposkill.d.ts +8 -5
  345. package/packages/host/dist/reposkill.js +16 -11
  346. package/packages/host/dist/reposkill.js.map +1 -1
  347. package/packages/host/dist/reposkilltext.d.ts +8 -1
  348. package/packages/host/dist/reposkilltext.js +72 -3
  349. package/packages/host/dist/reposkilltext.js.map +1 -1
  350. package/packages/host/dist/routes/apihost.js +26 -2
  351. package/packages/host/dist/routes/apihost.js.map +1 -1
  352. package/packages/host/dist/routes/apiprs.d.ts +2 -0
  353. package/packages/host/dist/routes/apiprs.js +45 -0
  354. package/packages/host/dist/routes/apiprs.js.map +1 -0
  355. package/packages/host/dist/routes/apirepofiles.js +12 -1
  356. package/packages/host/dist/routes/apirepofiles.js.map +1 -1
  357. package/packages/host/dist/routes/apirepowork.js +48 -24
  358. package/packages/host/dist/routes/apirepowork.js.map +1 -1
  359. package/packages/host/dist/routes/apiroutes.js +2 -1
  360. package/packages/host/dist/routes/apiroutes.js.map +1 -1
  361. package/packages/host/dist/routes/apisession.js +24 -0
  362. package/packages/host/dist/routes/apisession.js.map +1 -1
  363. package/packages/host/dist/routes/apistats.js +12 -7
  364. package/packages/host/dist/routes/apistats.js.map +1 -1
  365. package/packages/host/dist/routes/apisystem.js +23 -1
  366. package/packages/host/dist/routes/apisystem.js.map +1 -1
  367. package/packages/host/dist/routes/apitable.d.ts +10 -0
  368. package/packages/host/dist/routes/apitable.js.map +1 -1
  369. package/packages/host/dist/routes/apiweekburn.d.ts +2 -0
  370. package/packages/host/dist/routes/apiweekburn.js +30 -0
  371. package/packages/host/dist/routes/apiweekburn.js.map +1 -0
  372. package/packages/host/dist/routes/session.js +4 -0
  373. package/packages/host/dist/routes/session.js.map +1 -1
  374. package/packages/host/dist/routes/system.js +33 -6
  375. package/packages/host/dist/routes/system.js.map +1 -1
  376. package/packages/host/dist/routes/types.d.ts +29 -21
  377. package/packages/host/dist/routes/work/workbuild.js +3 -2
  378. package/packages/host/dist/routes/work/workbuild.js.map +1 -1
  379. package/packages/host/dist/routes/work/workschedule.js +33 -3
  380. package/packages/host/dist/routes/work/workschedule.js.map +1 -1
  381. package/packages/host/dist/screenlog.d.ts +20 -0
  382. package/packages/host/dist/screenlog.js +40 -0
  383. package/packages/host/dist/screenlog.js.map +1 -1
  384. package/packages/host/dist/server/clients.d.ts +14 -24
  385. package/packages/host/dist/server/clients.js +77 -11
  386. package/packages/host/dist/server/clients.js.map +1 -1
  387. package/packages/host/dist/server/ctx.d.ts +2 -0
  388. package/packages/host/dist/server/ctxseal.d.ts +1 -1
  389. package/packages/host/dist/server/ctxseal.js +6 -6
  390. package/packages/host/dist/server/ctxseal.js.map +1 -1
  391. package/packages/host/dist/server/deliveries.js +4 -2
  392. package/packages/host/dist/server/deliveries.js.map +1 -1
  393. package/packages/host/dist/server/http.js +2 -2
  394. package/packages/host/dist/server/http.js.map +1 -1
  395. package/packages/host/dist/server/intentDeps.js +4 -1
  396. package/packages/host/dist/server/intentDeps.js.map +1 -1
  397. package/packages/host/dist/server/intentEvents.js +9 -4
  398. package/packages/host/dist/server/intentEvents.js.map +1 -1
  399. package/packages/host/dist/server/scan.js +23 -1
  400. package/packages/host/dist/server/scan.js.map +1 -1
  401. package/packages/host/dist/server/sessionEvents.js +37 -10
  402. package/packages/host/dist/server/sessionEvents.js.map +1 -1
  403. package/packages/host/dist/sessions/agentpoll.d.ts +31 -0
  404. package/packages/host/dist/sessions/agentpoll.js +176 -0
  405. package/packages/host/dist/sessions/agentpoll.js.map +1 -0
  406. package/packages/host/dist/sessions/apiretry.d.ts +59 -0
  407. package/packages/host/dist/sessions/apiretry.js +240 -0
  408. package/packages/host/dist/sessions/apiretry.js.map +1 -0
  409. package/packages/host/dist/sessions/askwatch.d.ts +62 -0
  410. package/packages/host/dist/sessions/askwatch.js +169 -0
  411. package/packages/host/dist/sessions/askwatch.js.map +1 -0
  412. package/packages/host/dist/sessions/boxes.d.ts +2 -23
  413. package/packages/host/dist/sessions/boxes.js +10 -664
  414. package/packages/host/dist/sessions/boxes.js.map +1 -1
  415. package/packages/host/dist/sessions/boxread.d.ts +47 -0
  416. package/packages/host/dist/sessions/boxread.js +628 -0
  417. package/packages/host/dist/sessions/boxread.js.map +1 -0
  418. package/packages/host/dist/sessions/core.d.ts +16 -1
  419. package/packages/host/dist/sessions/ctxseries.js +3 -0
  420. package/packages/host/dist/sessions/ctxseries.js.map +1 -1
  421. package/packages/host/dist/sessions/drive.d.ts +20 -6
  422. package/packages/host/dist/sessions/drive.js +43 -8
  423. package/packages/host/dist/sessions/drive.js.map +1 -1
  424. package/packages/host/dist/sessions/knobs.d.ts +8 -0
  425. package/packages/host/dist/sessions/knobs.js +9 -0
  426. package/packages/host/dist/sessions/knobs.js.map +1 -1
  427. package/packages/host/dist/sessions/record.js +7 -2
  428. package/packages/host/dist/sessions/record.js.map +1 -1
  429. package/packages/host/dist/sessions/resume.d.ts +17 -0
  430. package/packages/host/dist/sessions/resume.js +65 -11
  431. package/packages/host/dist/sessions/resume.js.map +1 -1
  432. package/packages/host/dist/sessions/roster.js +3 -0
  433. package/packages/host/dist/sessions/roster.js.map +1 -1
  434. package/packages/host/dist/sessions/sidechannel.d.ts +1 -1
  435. package/packages/host/dist/sessions/sidechannel.js +2 -2
  436. package/packages/host/dist/sessions/turn.d.ts +15 -58
  437. package/packages/host/dist/sessions/turn.js +17 -356
  438. package/packages/host/dist/sessions/turn.js.map +1 -1
  439. package/packages/host/dist/sessions.d.ts +7 -1
  440. package/packages/host/dist/sessions.js +22 -13
  441. package/packages/host/dist/sessions.js.map +1 -1
  442. package/packages/host/dist/settle.d.ts +6 -0
  443. package/packages/host/dist/settle.js +26 -21
  444. package/packages/host/dist/settle.js.map +1 -1
  445. package/packages/host/dist/setupprefs.d.ts +26 -1
  446. package/packages/host/dist/setupprefs.js +49 -1
  447. package/packages/host/dist/setupprefs.js.map +1 -1
  448. package/packages/host/dist/sidecar/sidecarname.d.ts +2 -0
  449. package/packages/host/dist/sidecar/sidecarname.js +5 -1
  450. package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
  451. package/packages/host/dist/sidecar/sidecarroute.d.ts +1 -1
  452. package/packages/host/dist/sidecar/sidecarroute.js +5 -0
  453. package/packages/host/dist/sidecar/sidecarroute.js.map +1 -1
  454. package/packages/host/dist/sidecar.d.ts +1 -1
  455. package/packages/host/dist/sidecar.js +1 -1
  456. package/packages/host/dist/sidecar.js.map +1 -1
  457. package/packages/host/dist/tokenscan.d.ts +4 -0
  458. package/packages/host/dist/tokenscan.js +6 -1
  459. package/packages/host/dist/tokenscan.js.map +1 -1
  460. package/packages/host/dist/tokenstats.js +3 -1
  461. package/packages/host/dist/tokenstats.js.map +1 -1
  462. package/packages/host/dist/transcript/transcriptparse.js +6 -1
  463. package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
  464. package/packages/host/dist/transcript/transcriptturns.d.ts +29 -0
  465. package/packages/host/dist/transcript/transcriptturns.js +27 -0
  466. package/packages/host/dist/transcript/transcriptturns.js.map +1 -1
  467. package/packages/host/dist/transcript.d.ts +1 -1
  468. package/packages/host/dist/transcript.js +1 -1
  469. package/packages/host/dist/transcript.js.map +1 -1
  470. package/packages/host/dist/usagesources.d.ts +1 -1
  471. package/packages/host/dist/usagesources.js +7 -2
  472. package/packages/host/dist/usagesources.js.map +1 -1
  473. package/packages/host/dist/weekburn.d.ts +75 -0
  474. package/packages/host/dist/weekburn.js +251 -0
  475. package/packages/host/dist/weekburn.js.map +1 -0
  476. package/packages/host/dist/worktreeleftover.d.ts +9 -0
  477. package/packages/host/dist/worktreeleftover.js +17 -1
  478. package/packages/host/dist/worktreeleftover.js.map +1 -1
  479. package/packages/web/dist/assets/demo-C1GHaeTv.js +23 -0
  480. package/packages/web/dist/assets/icons-DlcvcZoo.js +1 -0
  481. package/packages/web/dist/assets/index-BBc6xwDA.css +1 -0
  482. package/packages/web/dist/assets/index-DzQKnksZ.js +169 -0
  483. package/packages/web/dist/assets/shared-Cl34umPA.js +47 -0
  484. package/packages/web/dist/assets/{sheets-Bjv2L-cG.css → sheets-DoUhPGK0.css} +1 -1
  485. package/packages/web/dist/assets/sheets-_3_SvXAx.js +220 -0
  486. package/packages/web/dist/build-id.txt +1 -1
  487. package/packages/web/dist/buildstamp.json +1 -0
  488. package/packages/web/dist/index.html +7 -7
  489. package/packages/web/dist/sw.js +14 -3
  490. package/release.json +7 -4
  491. package/packages/web/dist/assets/demo-CXlqlYE4.js +0 -23
  492. package/packages/web/dist/assets/icons-BbqDBVjw.js +0 -1
  493. package/packages/web/dist/assets/index-CgPoyb3Y.css +0 -1
  494. package/packages/web/dist/assets/index-D5JKj8DK.js +0 -169
  495. package/packages/web/dist/assets/shared-eyaskl5l.js +0 -47
  496. package/packages/web/dist/assets/sheets-BzzL2re1.js +0 -204
@@ -72,414 +72,18 @@
72
72
  * the file.
73
73
  */
74
74
  /** The five baskets the score reads, in the order the body names them. */
75
- export declare const HEALTH_ENTRIES: readonly ["size", "retouch", "hatches", "context", "untested"];
76
- export type HealthEntry = (typeof HEALTH_ENTRIES)[number];
77
- /**
78
- * The GOOD value of each reading — at or under it, the entry scores 100.
79
- * Opinion, and PROVISIONAL: picked by the owner from the repos on this
80
- * desktop on 2026-10-17, not a published standard. `retouch` most of all (a
81
- * fortnight's rework rate has no long record behind it yet). A repo that
82
- * disagrees overrides the value it is compared with (`central`), never these.
83
- * `context` has none here: its good line IS the repo's own warn line
84
- * (`contextweight.ts`): the setup sheet calls a repo lean under it, so the index
85
- * must not call the same repo unhealthy.
86
- */
87
- export declare const HEALTH_GOOD: {
88
- /** Line-weighted mean file length, lines. */
89
- readonly lineMean: 500;
90
- /** Longest source file, lines. */
91
- readonly max: 1000;
92
- /** Share of source-file edits that rework the previous edit. Provisional. */
93
- readonly retouch: 0.15;
94
- /** UNEXPLAINED escape hatches per 1,000 source lines. */
95
- readonly hatches: 2;
96
- /** Share of source files no test reaches. */
97
- readonly untested: 0.2;
98
- };
99
- /** Context's good line, as a share of the repo's warn line: all of it — the setup sheet calibrated
100
- * that line so a well-organised repo is NOT flagged; half of it made the two disagree on one number. */
101
- export declare const HEALTH_CONTEXT_GOOD_SHARE = 1;
102
- /** The headline never sits more than this many points above its worst entry. */
103
- export declare const HEALTH_SCORE_CAP_GAP = 30;
104
- /** An entry scoring under this is a `warn` alert… */
105
- export declare const HEALTH_ALERT_WARN = 50;
106
- /** …and under this a `severe` one. */
107
- export declare const HEALTH_ALERT_SEVERE = 25;
108
- /** Links of history needed before a move is called at all. */
109
- export declare const HEALTH_INDEX_MIN_WEEKS = 8;
110
- /** Prior rolling four-week windows needed before a MONTH move is called. */
111
- export declare const HEALTH_INDEX_MIN_MONTH_WINDOWS = 4;
112
- /** Width of the month horizon, in weekly points. */
113
- export declare const HEALTH_INDEX_MONTH_WEEKS = 4;
114
- /** A move must sit below this percentile of its own past to be a drop… */
115
- export declare const HEALTH_INDEX_LOW_PCT = 10;
116
- /** …or above this one to be a rise. */
117
- export declare const HEALTH_INDEX_HIGH_PCT = 90;
118
- /** …AND move the score by at least this many points. */
119
- export declare const HEALTH_INDEX_MIN_POINTS = 2;
120
- /**
121
- * The context-weight warn line when the repo has none of its own: the setup
122
- * checklist's `DEFAULT_CONTEXT_LIMITS.maxChars` (`contextweight.ts`), restated
123
- * as a literal so this module carries no import cycle through the index.
124
- * Pinned equal to it by the test.
125
- */
126
- export declare const HEALTH_INDEX_DEFAULT_WARN_CHARS = 16000;
127
- /** The engine's `context.reason` for a tree with no CLAUDE.md (`metrics/context.mjs`; a tools test pins the two equal). */
128
- export declare const HEALTH_NO_CLAUDE_MD = "no CLAUDE.md at this commit";
129
- /**
130
- * The fields of one series row this module reads. Everything is optional
131
- * because a row is parsed JSON: a family can be absent (`{value: null,
132
- * reason}`) or missing outright, and either way that entry is absent.
133
- */
134
- export interface HealthSeriesRow {
135
- sha?: string;
136
- day: string;
137
- ts: number;
138
- batch?: boolean;
139
- prereg?: string;
140
- size?: {
141
- value?: {
142
- p95?: unknown;
143
- max?: unknown;
144
- maxPath?: unknown;
145
- lineMean?: unknown;
146
- } | null;
147
- } | null;
148
- retouch?: {
149
- value?: {
150
- rate?: unknown;
151
- } | null;
152
- } | null;
153
- hatches?: {
154
- value?: Record<string, unknown> | null;
155
- } | null;
156
- context?: {
157
- value?: {
158
- claudeMdChars?: unknown;
159
- descChars?: unknown;
160
- } | null;
161
- reason?: unknown;
162
- } | null;
163
- untested?: {
164
- value?: unknown[] | null;
165
- } | null;
166
- classics?: {
167
- value?: {
168
- loc?: unknown;
169
- files?: unknown;
170
- } | null;
171
- } | null;
172
- /** The repo's disables and overrides in force on this row; absent = none. */
173
- central?: HealthRowCentral | null;
174
- }
175
- /** `row.central` — written by the engine's `central.mjs`. */
176
- export interface HealthRowCentral {
177
- /** Fingerprint of what was APPLIED on this row; "" (or absent) = nothing. */
178
- fp?: unknown;
179
- disabled?: Record<string, {
180
- why?: unknown;
181
- } | null> | null;
182
- override?: Record<string, {
183
- value?: unknown;
184
- why?: unknown;
185
- } | null> | null;
186
- }
187
- /** Size's two sub-readings, each with its value and score. */
188
- export interface HealthSizeParts {
189
- lineMean: {
190
- value: number;
191
- score: number;
192
- };
193
- max: {
194
- value: number;
195
- score: number;
196
- path: string | null;
197
- };
198
- }
199
- /** Which reading an alert is about: an entry, or one of size's two sub-readings. */
200
- export type HealthAlertSubject = Exclude<HealthEntry, "size"> | "lineMean" | "max";
201
- export interface HealthAlert {
202
- level: "warn" | "severe";
203
- /** The entry the alert counts against (`size` for both sub-readings). */
204
- entry: HealthEntry;
205
- subject: HealthAlertSubject;
206
- /** The value read (after any override) and its good line. */
207
- value: number;
208
- good: number;
209
- score: number;
210
- /** The longest file's path, on a `max` alert where the engine named it. */
211
- path?: string;
212
- /** One sentence: `severe: lib/a.dart is 8,397 lines (good: under 1,000)`. */
213
- text: string;
214
- }
215
- export interface HealthIndexPoint {
216
- /** The ISO week's Monday, `YYYY-MM-DD` (UTC). */
217
- week: string;
218
- /** The headline SCORE, 0–100: `min(mean, worst + HEALTH_SCORE_CAP_GAP)`. */
219
- index: number;
220
- /** Geometric mean of the enabled entries' scores, before the cap. */
221
- mean: number;
222
- /** Each enabled entry's score, 0–100. */
223
- scores: Partial<Record<HealthEntry, number>>;
224
- /** Size's two sub-readings; null where size is disabled. */
225
- sizeParts: HealthSizeParts | null;
226
- /** The worst entry when the cap set the headline (`index < mean`), else null. */
227
- cappedBy: HealthEntry | null;
228
- /** Every entry or size sub-reading under `HEALTH_ALERT_WARN`, worst first. */
229
- alerts: HealthAlert[];
230
- /** A prereg or `central` change since the previous scored week: the score
231
- * stands as measured, but the link is not used to call a move. */
232
- gap: boolean;
233
- /** `ln(index / previous index)`; `null` on the first scored week and on a gap. */
234
- lnLink: number | null;
235
- /** How many entries the contributions split the mean's move over (0 on the first week and a gap). */
236
- comparable: number;
237
- /**
238
- * Each entry's share of the MEAN's move, in LOG POINTS:
239
- * `prevMean · (ln s_cur − ln s_prev) / n`. Log points are what is additive —
240
- * the terms of a geometric mean add in log space — so these sum EXACTLY to
241
- * `prevMean · ln(mean / prevMean)`. Negative = that entry's score fell
242
- * (its metric rose). The cap is explained apart, by `cappedBy`.
243
- */
244
- contributions: Partial<Record<HealthEntry, number>>;
245
- /** The values read this week (after any override); size's is `lineMean`. */
246
- values: Partial<Record<HealthEntry, number>>;
247
- prereg: string | null;
248
- /**
249
- * Days since the previous SCORED week (Monday to Monday, so a multiple of
250
- * 7); null on the first. A week with no commit has no row, and a week with a
251
- * partial basket has no score, so a link over 7 days spans weeks with no
252
- * score — a reader should be told before reading it as one week's move.
253
- */
254
- spanDays: number | null;
255
- /** Why a gap was marked: the engine's definition moved, or the repo's own
256
- * `central` config moved. (`nothing` is no longer produced: every scored
257
- * week has every enabled entry.) */
258
- gapReason?: "prereg" | "central" | "nothing";
259
- /** The repo's `central` fingerprint this week; "" = none applied. */
260
- central: string;
261
- /** Entries the repo disabled this week — out of the mean, not absent readings. */
262
- disabled: HealthEntry[];
263
- /** Entries whose value this week is the repo's override, not the engine's. */
264
- overridden: HealthEntry[];
265
- /** Source files and lines this week (`classics`), so growth can be stated;
266
- * null where that reading was absent. */
267
- tree: {
268
- files: number;
269
- loc: number;
270
- } | null;
271
- }
272
- export interface HealthIndexSeries {
273
- /** The first SCORED week — no longer a "100", just where the line starts. */
274
- baselineWeek: string;
275
- /** One point per scored week, oldest first. */
276
- points: HealthIndexPoint[];
277
- }
278
- /** `100 · min(1, good / value)`; a value at or under 0 is 100. */
279
- export declare function healthScore(value: number, good: number): number;
280
- /** The Monday (UTC) of the ISO week holding `day` (`YYYY-MM-DD`), or null for a malformed day. */
281
- export declare function isoWeekOf(day: string): string | null;
282
- /** The last row (greatest `ts`) of each ISO week, oldest week first. */
283
- export declare function healthWeeks(rows: readonly HealthSeriesRow[]): {
284
- week: string;
285
- row: HealthSeriesRow;
286
- }[];
287
- /** The good line of the context entry for a repo's warn line (null = the default). */
288
- export declare function healthContextGood(contextWarnChars: number | null): number;
289
- /** One week's readings: the five values (size's is `lineMean`), plus size's longest file. */
290
- export interface HealthEntryReadings {
291
- values: Partial<Record<HealthEntry, number>>;
292
- /** The longest file, read beside `lineMean`; absent where size is. */
293
- max?: {
294
- value: number;
295
- path: string | null;
296
- };
297
- }
298
- /**
299
- * One week's values, raw (no epsilon, no floor — `min(1, good/value)` is
300
- * finite for any value ≥ 0); an entry is absent where its reading is.
301
- *
302
- * - `size` is `lineMean` and needs `max` beside it; either missing ⇒ absent.
303
- * - `untested` is a SHARE: `untested.count / classics.files` — the source-file
304
- * count of the same tree, which counts test files too, so the share is a
305
- * floor. A share and not the count, so a repo that grows does not read as
306
- * slipping just for having more modules.
307
- * - `hatches` is UNEXPLAINED escapes per kLOC where the row classified them
308
- * (engine 2026-10-16a on); every occurrence on an older row.
309
- * - `context` is `claudeMdChars + descChars`; `descChars` null (no counted
310
- * skills) counts as 0 descriptions.
311
- */
312
- export declare function healthEntryReadings(row: HealthSeriesRow): HealthEntryReadings;
313
- /** The five values alone — `healthEntryReadings(row).values`. The warn line is not read here any more (scores read it). */
314
- export declare function healthEntryValues(row: HealthSeriesRow, _contextWarnChars?: number | null): Partial<Record<HealthEntry, number>>;
315
- /**
316
- * What the repo applied on this row: its fingerprint and which entries it
317
- * disabled or overrode. An entry both disabled and overridden reads disabled
318
- * (the engine never writes both; a hand-edited row must not count twice).
319
- */
320
- export declare function centralOf(row: HealthSeriesRow): {
321
- fp: string;
322
- disabled: HealthEntry[];
323
- overridden: HealthEntry[];
324
- };
325
- /** Plain names for an entry, as the cap sentence names it. */
326
- export declare const HEALTH_ENTRY_LABEL: Record<HealthEntry, string>;
327
- /**
328
- * The cap, said once: `null` when the cap did not set the number. The worst
329
- * entry's score is derived (`value − HEALTH_SCORE_CAP_GAP`), so the wire
330
- * summary can be worded from its three fields alone.
331
- */
332
- export declare function healthCapWords(s: {
333
- value: number;
334
- mean: number;
335
- cappedBy: HealthEntry | null;
336
- }): string | null;
337
- /**
338
- * The scored series. `null` when no week has every enabled entry — no score
339
- * is no series, never a number nobody measured.
340
- */
341
- export declare function healthIndex(rows: readonly HealthSeriesRow[], contextWarnChars: number | null): HealthIndexSeries | null;
342
- /** One row by the SAME formula a week uses (`scoreWeek`); null when an enabled entry is absent. */
343
- export declare function healthRowScore(row: HealthSeriesRow, contextWarnChars: number | null): {
344
- index: number;
345
- mean: number;
346
- scores: Partial<Record<HealthEntry, number>>;
347
- cappedBy: HealthEntry | null;
348
- } | null;
349
- /** One scored commit (a series row) for the phone's commits axis. No lnLink, contributions or move. */
350
- export interface HealthCommitPoint {
351
- sha7: string;
352
- day: string;
353
- ts: number;
354
- week: string;
355
- index: number;
356
- mean: number;
357
- cappedBy: HealthEntry | null;
358
- /** Prereg or central fingerprint differs from the previous scored row: do not join the line. */
359
- gap: boolean;
360
- }
361
- export interface HealthCommitSeries {
362
- points: HealthCommitPoint[];
363
- /** Scored rows before thinning. */
364
- total: number;
365
- thinned: boolean;
366
- }
367
- /** Thin to ~`max`: each ISO week's LAST point stays; `ceil(n/max)`-long runs keep their min and max index. At most 2*max + weeks. */
368
- export declare function thinCommitPoints(points: readonly HealthCommitPoint[], max: number): HealthCommitPoint[];
369
- /** Every scorable row as a commit point, thinned to about `max`; `null` when no row scores. */
370
- export declare function healthIndexCommits(rows: readonly HealthSeriesRow[], contextWarnChars: number | null, max?: number): HealthCommitSeries | null;
371
- /** `absent` = an older host (no key), `none` = the host looked and nothing scores, else `present`. */
372
- export declare function healthCommitsAvailability(view: {
373
- commits?: HealthCommitSeries | null;
374
- } | null | undefined): "absent" | "none" | "present";
375
- /** How far back "vs 12 weeks ago" looks, in weeks. */
376
- export declare const HEALTH_INDEX_VS_WEEKS = 12;
377
- export interface HealthIndexVs {
378
- /** `now.index / then.index` — 1.05 is five percent healthier. */
379
- ratio: number;
380
- /** Score points between the two (`now − then`). */
381
- delta: number;
382
- then: HealthIndexPoint;
383
- now: HealthIndexPoint;
384
- /** Weeks actually between the two points — `weeks` asked or more, since a
385
- * week nobody measured has no point. The UI names `then.week`. */
386
- weeks: number;
387
- }
388
- /**
389
- * "Vs 12 weeks ago": the score at `points[at]` (default the latest) against
390
- * the LATEST measured point at least `weeks` earlier — however much further
391
- * back that is, because a week with no commit has no row and the honest
392
- * comparison names the week it actually used (`then.week`, `weeks`). Null
393
- * only when no point sits that far back (a series younger than the horizon).
394
- *
395
- * Both ends are absolute scores, so the ratio is simply the two numbers —
396
- * including any prereg or `central` change between them (the point's `gap`
397
- * says one happened; the caller decides whether to say so).
398
- */
399
- export declare function healthIndexVs(points: readonly HealthIndexPoint[], weeks?: number, at?: number): HealthIndexVs | null;
400
- export interface HealthMove {
401
- kind: "drop" | "rise" | null;
402
- horizon: "week" | "month" | null;
403
- /** Index points the horizon moved (latest − then); null when there is no comparable move to state. */
404
- delta: number | null;
405
- reason: string;
406
- }
407
- export interface HealthMoveOpts {
408
- minWeeks?: number;
409
- minMonthWindows?: number;
410
- lowPct?: number;
411
- highPct?: number;
412
- minPoints?: number;
413
- }
414
- /**
415
- * Whether the latest move is unusual for THIS repo: the week's link against
416
- * the distribution of every earlier link, then (only if the week says nothing)
417
- * the last four weeks against every earlier rolling four-week change. Both
418
- * need the percentile AND a minimum number of points, so a dead-flat series
419
- * cannot call a 0.1-point wobble a drop. Under `HEALTH_INDEX_MIN_WEEKS` links
420
- * of history there is no distribution to stand on: `kind: null`, with why.
421
- */
422
- export declare function assessHealthMove(points: readonly HealthIndexPoint[], opts?: HealthMoveOpts): HealthMove;
423
- /** A signed whole number with a real minus sign: `−4`, `+3`, `±0`. */
424
- export declare function signedPoints(n: number): string;
425
- export interface HealthWords {
426
- /** Short label for the repo row: `Health 94 −4`. */
427
- chip: string;
428
- /** `Health score 94 (−4 this week)`. */
429
- title: string;
430
- /** Names the (at most two) metrics that carried the move, or "" when none can be named. */
431
- body: string;
432
- }
433
- /**
434
- * When the latest measured week happened, worded against the week it is now:
435
- * `this week` only when they are the same ISO week — a week with no commit has
436
- * no point, so the newest one can be months old — else `in the week of <Monday>`.
437
- * `currentWeek` absent = the caller did not say, and the claim falls back to
438
- * naming the week (never a `this week` nobody checked).
439
- */
440
- export declare function healthWeekWhen(week: string, currentWeek?: string | null): string;
441
- /**
442
- * The notification and chip wording for a called move. `null` when there is
443
- * nothing to say (no move called, or no points) — a sentence is never written
444
- * around a null. `currentWeek` (the ISO week's Monday, `isoWeekOf(today)`)
445
- * decides whether the latest point may be called "this week".
446
- */
447
- export declare function healthMoveWords(points: readonly HealthIndexPoint[], move: HealthMove, currentWeek?: string | null): HealthWords | null;
448
- /** What `RepoTarget.healthIndex` carries. */
449
- export interface RepoHealthIndex {
450
- /** The latest headline score, 0–100. */
451
- value: number;
452
- /** The latest week's move in score points; null on a gap week or the first scored week. */
453
- deltaWeek: number | null;
454
- /** The latest week's Monday. */
455
- week: string;
456
- move: "drop" | "rise" | null;
457
- /** The mean before the cap, so `healthCapWords` can be said from this summary alone. */
458
- mean?: number;
459
- /** The entry holding the score down when the cap set it, else null. */
460
- cappedBy?: HealthEntry | null;
461
- /** The worst alert level on the latest week; null when nothing is under the warn line. */
462
- alert?: "warn" | "severe" | null;
463
- /** That worst alert's sentence; null with it. */
464
- alertText?: string | null;
465
- }
466
- /** The wire summary for one repo, or null where there is no index (the field stays ABSENT, never 0). */
467
- export declare function repoHealthIndexOf(series: HealthIndexSeries | null, move?: HealthMove | null): RepoHealthIndex | null;
468
- /**
469
- * `GET /api/repos/:id/healthindex` — the whole scored series for the phone's
470
- * chart (the latest point carries the alerts and `cappedBy`), the called move
471
- * and its words. `series: null` + `reason` when there is no series file or no
472
- * scored week yet; never a made-up number.
473
- */
474
- export interface HealthIndexResponse {
475
- series: HealthIndexSeries | null;
476
- move: HealthMove | null;
477
- words: HealthWords | null;
478
- /** ISO time of the last weekly refresh this host ran for the repo, if any. */
479
- lastRefresh: string | null;
480
- reason?: string;
481
- /** Context per request by ISO week (`healthspend.ts`); absent with no ledger (older host; VS Code before its first log scan). */
482
- spend?: import("./healthspend.js").HealthSpendWeek[];
483
- /** Scored commits, thinned. ABSENT only on an older host; null = no row scores (or no series). */
484
- commits?: HealthCommitSeries | null;
485
- }
75
+ export { HEALTH_ENTRIES, HEALTH_GOOD, HEALTH_CONTEXT_GOOD_SHARE, HEALTH_SCORE_CAP_GAP, HEALTH_ALERT_WARN, HEALTH_ALERT_SEVERE, HEALTH_INDEX_MIN_WEEKS, HEALTH_INDEX_MIN_MONTH_WINDOWS, HEALTH_INDEX_MONTH_WEEKS, HEALTH_INDEX_LOW_PCT, HEALTH_INDEX_HIGH_PCT, HEALTH_INDEX_MIN_POINTS, HEALTH_INDEX_DEFAULT_WARN_CHARS, HEALTH_NO_CLAUDE_MD, } from "./healthindex/types.js";
76
+ export type { HealthEntry, HealthSeriesRow, HealthRowCentral, HealthSizeParts, HealthAlertSubject, HealthAlert, HealthIndexPoint, HealthIndexSeries, } from "./healthindex/types.js";
77
+ export { healthScore, isoWeekOf, healthWeeks, healthContextGood, healthEntryReadings, healthEntryValues, centralOf, } from "./healthindex/readings.js";
78
+ export type { HealthEntryReadings, } from "./healthindex/readings.js";
79
+ export { HEALTH_ENTRY_LABEL, healthCapWords, healthIndex, healthRowScore, } from "./healthindex/score.js";
80
+ export { thinCommitPoints, healthIndexCommits, healthCommitsAvailability, } from "./healthindex/commits.js";
81
+ export type { HealthCommitPoint, HealthCommitSeries, } from "./healthindex/commits.js";
82
+ export { HEALTH_INDEX_VS_WEEKS, healthIndexVs, } from "./healthindex/vs.js";
83
+ export type { HealthIndexVs, } from "./healthindex/vs.js";
84
+ export { assessHealthMove, } from "./healthindex/move.js";
85
+ export type { HealthMove, HealthMoveOpts, } from "./healthindex/move.js";
86
+ export { signedPoints, healthWeekWhen, healthMoveWords, } from "./healthindex/words.js";
87
+ export type { HealthWords, } from "./healthindex/words.js";
88
+ export { repoHealthIndexOf, } from "./healthindex/repoindex.js";
89
+ export type { RepoHealthIndex, HealthIndexResponse, } from "./healthindex/repoindex.js";