waterplane 0.1.6 → 0.1.14

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 (656) hide show
  1. package/CHANGELOG.md +146 -1
  2. package/README.md +47 -24
  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 +60 -5
  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 +215 -0
  10. package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -0
  11. package/node_modules/@waterplane/shared/dist/assess/sasswords.js +4 -0
  12. package/node_modules/@waterplane/shared/dist/assess/sasswords.js.map +1 -1
  13. package/node_modules/@waterplane/shared/dist/autocompact.js +3 -2
  14. package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -1
  15. package/node_modules/@waterplane/shared/dist/backendsources.d.ts +11 -1
  16. package/node_modules/@waterplane/shared/dist/backendsources.js.map +1 -1
  17. package/node_modules/@waterplane/shared/dist/branchmode.d.ts +33 -0
  18. package/node_modules/@waterplane/shared/dist/branchmode.js +88 -0
  19. package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -0
  20. package/node_modules/@waterplane/shared/dist/budget.d.ts +7 -1
  21. package/node_modules/@waterplane/shared/dist/budget.js +11 -3
  22. package/node_modules/@waterplane/shared/dist/budget.js.map +1 -1
  23. package/node_modules/@waterplane/shared/dist/buildstamp.d.ts +37 -0
  24. package/node_modules/@waterplane/shared/dist/buildstamp.js +95 -0
  25. package/node_modules/@waterplane/shared/dist/buildstamp.js.map +1 -0
  26. package/node_modules/@waterplane/shared/dist/burn.d.ts +16 -1
  27. package/node_modules/@waterplane/shared/dist/burn.js +30 -0
  28. package/node_modules/@waterplane/shared/dist/burn.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 +77 -0
  33. package/node_modules/@waterplane/shared/dist/changebrief.js +70 -0
  34. package/node_modules/@waterplane/shared/dist/changebrief.js.map +1 -0
  35. package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js +1 -0
  36. package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js.map +1 -1
  37. package/node_modules/@waterplane/shared/dist/costwindow.d.ts +24 -5
  38. package/node_modules/@waterplane/shared/dist/costwindow.js +35 -15
  39. package/node_modules/@waterplane/shared/dist/costwindow.js.map +1 -1
  40. package/node_modules/@waterplane/shared/dist/desktopfiles.d.ts +100 -0
  41. package/node_modules/@waterplane/shared/dist/desktopfiles.js +192 -0
  42. package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -0
  43. package/node_modules/@waterplane/shared/dist/exposure.d.ts +175 -0
  44. package/node_modules/@waterplane/shared/dist/exposure.js +357 -0
  45. package/node_modules/@waterplane/shared/dist/exposure.js.map +1 -0
  46. package/node_modules/@waterplane/shared/dist/exposurepush.d.ts +60 -0
  47. package/node_modules/@waterplane/shared/dist/exposurepush.js +103 -0
  48. package/node_modules/@waterplane/shared/dist/exposurepush.js.map +1 -0
  49. package/node_modules/@waterplane/shared/dist/healthindex/commits.d.ts +26 -0
  50. package/node_modules/@waterplane/shared/dist/healthindex/commits.js +57 -0
  51. package/node_modules/@waterplane/shared/dist/healthindex/commits.js.map +1 -0
  52. package/node_modules/@waterplane/shared/dist/healthindex/move.d.ts +25 -0
  53. package/node_modules/@waterplane/shared/dist/healthindex/move.js +79 -0
  54. package/node_modules/@waterplane/shared/dist/healthindex/move.js.map +1 -0
  55. package/node_modules/@waterplane/shared/dist/healthindex/readings.d.ts +53 -0
  56. package/node_modules/@waterplane/shared/dist/healthindex/readings.js +154 -0
  57. package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -0
  58. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.d.ts +41 -0
  59. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js +19 -0
  60. package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js.map +1 -0
  61. package/node_modules/@waterplane/shared/dist/healthindex/score.d.ts +26 -0
  62. package/node_modules/@waterplane/shared/dist/healthindex/score.js +156 -0
  63. package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -0
  64. package/node_modules/@waterplane/shared/dist/healthindex/types.d.ts +206 -0
  65. package/node_modules/@waterplane/shared/dist/healthindex/types.js +58 -0
  66. package/node_modules/@waterplane/shared/dist/healthindex/types.js.map +1 -0
  67. package/node_modules/@waterplane/shared/dist/healthindex/vs.d.ts +26 -0
  68. package/node_modules/@waterplane/shared/dist/healthindex/vs.js +38 -0
  69. package/node_modules/@waterplane/shared/dist/healthindex/vs.js.map +1 -0
  70. package/node_modules/@waterplane/shared/dist/healthindex/words.d.ts +28 -0
  71. package/node_modules/@waterplane/shared/dist/healthindex/words.js +124 -0
  72. package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -0
  73. package/node_modules/@waterplane/shared/dist/healthindex.d.ts +15 -411
  74. package/node_modules/@waterplane/shared/dist/healthindex.js +8 -602
  75. package/node_modules/@waterplane/shared/dist/healthindex.js.map +1 -1
  76. package/node_modules/@waterplane/shared/dist/hints.js +15 -0
  77. package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
  78. package/node_modules/@waterplane/shared/dist/index.d.ts +37 -0
  79. package/node_modules/@waterplane/shared/dist/index.js +37 -0
  80. package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
  81. package/node_modules/@waterplane/shared/dist/intent/clean.d.ts +87 -0
  82. package/node_modules/@waterplane/shared/dist/intent/clean.js +51 -3
  83. package/node_modules/@waterplane/shared/dist/intent/clean.js.map +1 -1
  84. package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +40 -1
  85. package/node_modules/@waterplane/shared/dist/intent/kind.js +36 -3
  86. package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
  87. package/node_modules/@waterplane/shared/dist/intent/types.d.ts +13 -0
  88. package/node_modules/@waterplane/shared/dist/intent/types.js.map +1 -1
  89. package/node_modules/@waterplane/shared/dist/intent/verdict.js +9 -16
  90. package/node_modules/@waterplane/shared/dist/intent/verdict.js.map +1 -1
  91. package/node_modules/@waterplane/shared/dist/intent/words.js +5 -0
  92. package/node_modules/@waterplane/shared/dist/intent/words.js.map +1 -1
  93. package/node_modules/@waterplane/shared/dist/intent.d.ts +2 -2
  94. package/node_modules/@waterplane/shared/dist/intent.js +2 -2
  95. package/node_modules/@waterplane/shared/dist/intent.js.map +1 -1
  96. package/node_modules/@waterplane/shared/dist/launchmodes.d.ts +2 -0
  97. package/node_modules/@waterplane/shared/dist/launchmodes.js +12 -0
  98. package/node_modules/@waterplane/shared/dist/launchmodes.js.map +1 -1
  99. package/node_modules/@waterplane/shared/dist/ledgerspan.d.ts +106 -0
  100. package/node_modules/@waterplane/shared/dist/ledgerspan.js +196 -0
  101. package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -0
  102. package/node_modules/@waterplane/shared/dist/naming.d.ts +3 -1
  103. package/node_modules/@waterplane/shared/dist/naming.js +6 -2
  104. package/node_modules/@waterplane/shared/dist/naming.js.map +1 -1
  105. package/node_modules/@waterplane/shared/dist/netfuse.d.ts +5 -0
  106. package/node_modules/@waterplane/shared/dist/netfuse.js +6 -1
  107. package/node_modules/@waterplane/shared/dist/netfuse.js.map +1 -1
  108. package/node_modules/@waterplane/shared/dist/netretry.d.ts +78 -0
  109. package/node_modules/@waterplane/shared/dist/netretry.js +85 -0
  110. package/node_modules/@waterplane/shared/dist/netretry.js.map +1 -0
  111. package/node_modules/@waterplane/shared/dist/netretrycfg.d.ts +12 -0
  112. package/node_modules/@waterplane/shared/dist/netretrycfg.js +27 -0
  113. package/node_modules/@waterplane/shared/dist/netretrycfg.js.map +1 -0
  114. package/node_modules/@waterplane/shared/dist/nodemin.d.ts +6 -4
  115. package/node_modules/@waterplane/shared/dist/nodemin.js +6 -4
  116. package/node_modules/@waterplane/shared/dist/nodemin.js.map +1 -1
  117. package/node_modules/@waterplane/shared/dist/optins.d.ts +35 -1
  118. package/node_modules/@waterplane/shared/dist/optins.js +39 -1
  119. package/node_modules/@waterplane/shared/dist/optins.js.map +1 -1
  120. package/node_modules/@waterplane/shared/dist/pairing.js +4 -0
  121. package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -1
  122. package/node_modules/@waterplane/shared/dist/passive.js +3 -0
  123. package/node_modules/@waterplane/shared/dist/passive.js.map +1 -1
  124. package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +394 -0
  125. package/node_modules/@waterplane/shared/dist/plugin/api.js +2 -0
  126. package/node_modules/@waterplane/shared/dist/plugin/api.js.map +1 -0
  127. package/node_modules/@waterplane/shared/dist/plugin/backend.d.ts +197 -0
  128. package/node_modules/@waterplane/shared/dist/plugin/backend.js +9 -0
  129. package/node_modules/@waterplane/shared/dist/plugin/backend.js.map +1 -0
  130. package/node_modules/@waterplane/shared/dist/plugin/manifest.d.ts +160 -0
  131. package/node_modules/@waterplane/shared/dist/plugin/manifest.js +98 -0
  132. package/node_modules/@waterplane/shared/dist/plugin/manifest.js.map +1 -0
  133. package/node_modules/@waterplane/shared/dist/plugin/module.d.ts +98 -0
  134. package/node_modules/@waterplane/shared/dist/plugin/module.js +13 -0
  135. package/node_modules/@waterplane/shared/dist/plugin/module.js.map +1 -0
  136. package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +66 -0
  137. package/node_modules/@waterplane/shared/dist/plugin/version.js +86 -0
  138. package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -0
  139. package/node_modules/@waterplane/shared/dist/plugin.d.ts +5 -867
  140. package/node_modules/@waterplane/shared/dist/plugin.js +27 -186
  141. package/node_modules/@waterplane/shared/dist/plugin.js.map +1 -1
  142. package/node_modules/@waterplane/shared/dist/pluginlaunch.d.ts +7 -0
  143. package/node_modules/@waterplane/shared/dist/prview.d.ts +23 -0
  144. package/node_modules/@waterplane/shared/dist/prview.js +107 -0
  145. package/node_modules/@waterplane/shared/dist/prview.js.map +1 -0
  146. package/node_modules/@waterplane/shared/dist/queue/queueserial.d.ts +11 -2
  147. package/node_modules/@waterplane/shared/dist/queue/queueserial.js +13 -4
  148. package/node_modules/@waterplane/shared/dist/queue/queueserial.js.map +1 -1
  149. package/node_modules/@waterplane/shared/dist/queue/queuewords.js +1 -0
  150. package/node_modules/@waterplane/shared/dist/queue/queuewords.js.map +1 -1
  151. package/node_modules/@waterplane/shared/dist/repohealth.d.ts +4 -0
  152. package/node_modules/@waterplane/shared/dist/repohealth.js.map +1 -1
  153. package/node_modules/@waterplane/shared/dist/repotwins.d.ts +31 -0
  154. package/node_modules/@waterplane/shared/dist/repotwins.js +52 -0
  155. package/node_modules/@waterplane/shared/dist/repotwins.js.map +1 -0
  156. package/node_modules/@waterplane/shared/dist/requirements.js +4 -1
  157. package/node_modules/@waterplane/shared/dist/requirements.js.map +1 -1
  158. package/node_modules/@waterplane/shared/dist/schedule/schedaction.d.ts +29 -0
  159. package/node_modules/@waterplane/shared/dist/schedule/schedaction.js +22 -0
  160. package/node_modules/@waterplane/shared/dist/schedule/schedaction.js.map +1 -1
  161. package/node_modules/@waterplane/shared/dist/schedule/schedclean.js +26 -0
  162. package/node_modules/@waterplane/shared/dist/schedule/schedclean.js.map +1 -1
  163. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.d.ts +1 -0
  164. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js +1 -0
  165. package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js.map +1 -1
  166. package/node_modules/@waterplane/shared/dist/schedule.d.ts +1 -1
  167. package/node_modules/@waterplane/shared/dist/schedule.js +1 -1
  168. package/node_modules/@waterplane/shared/dist/schedule.js.map +1 -1
  169. package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +34 -7
  170. package/node_modules/@waterplane/shared/dist/sessionbudget.js +59 -21
  171. package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
  172. package/node_modules/@waterplane/shared/dist/sweep.d.ts +2 -1
  173. package/node_modules/@waterplane/shared/dist/sweep.js +2 -1
  174. package/node_modules/@waterplane/shared/dist/sweep.js.map +1 -1
  175. package/node_modules/@waterplane/shared/dist/tokens.d.ts +4 -3
  176. package/node_modules/@waterplane/shared/dist/tokens.js +9 -7
  177. package/node_modules/@waterplane/shared/dist/tokens.js.map +1 -1
  178. package/node_modules/@waterplane/shared/dist/weekburn.d.ts +144 -0
  179. package/node_modules/@waterplane/shared/dist/weekburn.js +250 -0
  180. package/node_modules/@waterplane/shared/dist/weekburn.js.map +1 -0
  181. package/node_modules/@waterplane/shared/dist/wire/alwayson.d.ts +64 -0
  182. package/node_modules/@waterplane/shared/dist/wire/alwayson.js +7 -0
  183. package/node_modules/@waterplane/shared/dist/wire/alwayson.js.map +1 -0
  184. package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +4 -0
  185. package/node_modules/@waterplane/shared/dist/wire/backendtokens.d.ts +6 -0
  186. package/node_modules/@waterplane/shared/dist/wire/backendtokens.js +0 -9
  187. package/node_modules/@waterplane/shared/dist/wire/backendtokens.js.map +1 -1
  188. package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +25 -0
  189. package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +15 -1
  190. package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +24 -0
  191. package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +12 -2
  192. package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +194 -1
  193. package/node_modules/@waterplane/shared/dist/wire/notify.js +139 -1
  194. package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
  195. package/node_modules/@waterplane/shared/dist/wire/pullrequest.d.ts +42 -0
  196. package/node_modules/@waterplane/shared/dist/wire/pullrequest.js +2 -0
  197. package/node_modules/@waterplane/shared/dist/wire/pullrequest.js.map +1 -0
  198. package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +131 -0
  199. package/node_modules/@waterplane/shared/dist/wire/repo.js +8 -3
  200. package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
  201. package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +3 -1
  202. package/node_modules/@waterplane/shared/dist/wire/session/contextspark.d.ts +7 -0
  203. package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +4 -1
  204. package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +36 -0
  205. package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
  206. package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +30 -0
  207. package/node_modules/@waterplane/shared/dist/wire/work.d.ts +13 -0
  208. package/node_modules/@waterplane/shared/dist/wire/work.js.map +1 -1
  209. package/node_modules/@waterplane/shared/dist/wordof.d.ts +11 -0
  210. package/node_modules/@waterplane/shared/dist/wordof.js +14 -0
  211. package/node_modules/@waterplane/shared/dist/wordof.js.map +1 -0
  212. package/npm-shrinkwrap.json +3 -3
  213. package/package.json +2 -2
  214. package/packages/extensions/scorecard/waterplane-plugin.json +10 -0
  215. package/packages/host/dist/agentexposure.d.ts +13 -0
  216. package/packages/host/dist/agentexposure.js +90 -0
  217. package/packages/host/dist/agentexposure.js.map +1 -0
  218. package/packages/host/dist/agentintents.js +7 -8
  219. package/packages/host/dist/agentintents.js.map +1 -1
  220. package/packages/host/dist/agentwatch.d.ts +3 -7
  221. package/packages/host/dist/agentwatch.js.map +1 -1
  222. package/packages/host/dist/alwayson.d.ts +18 -0
  223. package/packages/host/dist/alwayson.js +159 -0
  224. package/packages/host/dist/alwayson.js.map +1 -0
  225. package/packages/host/dist/answergate.d.ts +3 -7
  226. package/packages/host/dist/answergate.js.map +1 -1
  227. package/packages/host/dist/attentionstore.d.ts +94 -0
  228. package/packages/host/dist/attentionstore.js +232 -0
  229. package/packages/host/dist/attentionstore.js.map +1 -0
  230. package/packages/host/dist/backends/claude-sources.d.ts +2 -0
  231. package/packages/host/dist/backends/claude-sources.js +12 -0
  232. package/packages/host/dist/backends/claude-sources.js.map +1 -1
  233. package/packages/host/dist/backends/claude.js +3 -2
  234. package/packages/host/dist/backends/claude.js.map +1 -1
  235. package/packages/host/dist/backends/derive.js +1 -0
  236. package/packages/host/dist/backends/derive.js.map +1 -1
  237. package/packages/host/dist/backends/overhead.d.ts +7 -5
  238. package/packages/host/dist/backends/overhead.js +15 -13
  239. package/packages/host/dist/backends/overhead.js.map +1 -1
  240. package/packages/host/dist/backends/registry.js +4 -1
  241. package/packages/host/dist/backends/registry.js.map +1 -1
  242. package/packages/host/dist/backends/types.d.ts +2 -0
  243. package/packages/host/dist/besidespend.d.ts +22 -0
  244. package/packages/host/dist/besidespend.js +65 -0
  245. package/packages/host/dist/besidespend.js.map +1 -0
  246. package/packages/host/dist/boxkit.d.ts +19 -0
  247. package/packages/host/dist/boxkit.js +38 -0
  248. package/packages/host/dist/boxkit.js.map +1 -0
  249. package/packages/host/dist/branchrules.d.ts +14 -0
  250. package/packages/host/dist/branchrules.js +47 -0
  251. package/packages/host/dist/branchrules.js.map +1 -0
  252. package/packages/host/dist/budget.d.ts +3 -2
  253. package/packages/host/dist/budget.js +5 -3
  254. package/packages/host/dist/budget.js.map +1 -1
  255. package/packages/host/dist/builds.d.ts +31 -1
  256. package/packages/host/dist/builds.js +55 -3
  257. package/packages/host/dist/builds.js.map +1 -1
  258. package/packages/host/dist/buildversions.d.ts +2 -0
  259. package/packages/host/dist/buildversions.js +36 -0
  260. package/packages/host/dist/buildversions.js.map +1 -0
  261. package/packages/host/dist/burnwatch.d.ts +23 -11
  262. package/packages/host/dist/burnwatch.js +57 -3
  263. package/packages/host/dist/burnwatch.js.map +1 -1
  264. package/packages/host/dist/changebrief.d.ts +37 -0
  265. package/packages/host/dist/changebrief.js +157 -0
  266. package/packages/host/dist/changebrief.js.map +1 -0
  267. package/packages/host/dist/cli/index.js +1 -1
  268. package/packages/host/dist/cli/index.js.map +1 -1
  269. package/packages/host/dist/clihealth.d.ts +2 -0
  270. package/packages/host/dist/clihealth.js +11 -2
  271. package/packages/host/dist/clihealth.js.map +1 -1
  272. package/packages/host/dist/compliance.d.ts +5 -1
  273. package/packages/host/dist/compliance.js +70 -31
  274. package/packages/host/dist/compliance.js.map +1 -1
  275. package/packages/host/dist/composer.d.ts +3 -1
  276. package/packages/host/dist/composer.js +3 -1
  277. package/packages/host/dist/composer.js.map +1 -1
  278. package/packages/host/dist/context.js +29 -4
  279. package/packages/host/dist/context.js.map +1 -1
  280. package/packages/host/dist/convlog.d.ts +1 -1
  281. package/packages/host/dist/convlog.js +1 -1
  282. package/packages/host/dist/costwindow.d.ts +25 -0
  283. package/packages/host/dist/costwindow.js +63 -1
  284. package/packages/host/dist/costwindow.js.map +1 -1
  285. package/packages/host/dist/ctxlog/ctxagents.js +16 -25
  286. package/packages/host/dist/ctxlog/ctxagents.js.map +1 -1
  287. package/packages/host/dist/ctxlog/ctxcursor.d.ts +36 -1
  288. package/packages/host/dist/ctxlog/ctxcursor.js +96 -2
  289. package/packages/host/dist/ctxlog/ctxcursor.js.map +1 -1
  290. package/packages/host/dist/ctxlog/ctxproject.js +2 -1
  291. package/packages/host/dist/ctxlog/ctxproject.js.map +1 -1
  292. package/packages/host/dist/ctxlog/ctxupdate.js +30 -24
  293. package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
  294. package/packages/host/dist/ctxlog/usagerecord.d.ts +28 -0
  295. package/packages/host/dist/ctxlog/usagerecord.js +81 -0
  296. package/packages/host/dist/ctxlog/usagerecord.js.map +1 -0
  297. package/packages/host/dist/diskwatch.d.ts +4 -6
  298. package/packages/host/dist/diskwatch.js +3 -1
  299. package/packages/host/dist/diskwatch.js.map +1 -1
  300. package/packages/host/dist/eraseen.d.ts +6 -0
  301. package/packages/host/dist/eraseen.js +100 -0
  302. package/packages/host/dist/eraseen.js.map +1 -0
  303. package/packages/host/dist/explainjob.d.ts +24 -0
  304. package/packages/host/dist/explainjob.js +80 -0
  305. package/packages/host/dist/explainjob.js.map +1 -0
  306. package/packages/host/dist/exposure.d.ts +56 -0
  307. package/packages/host/dist/exposure.js +371 -0
  308. package/packages/host/dist/exposure.js.map +1 -0
  309. package/packages/host/dist/exposurepush.d.ts +28 -0
  310. package/packages/host/dist/exposurepush.js +136 -0
  311. package/packages/host/dist/exposurepush.js.map +1 -0
  312. package/packages/host/dist/exposurerun.d.ts +18 -0
  313. package/packages/host/dist/exposurerun.js +126 -0
  314. package/packages/host/dist/exposurerun.js.map +1 -0
  315. package/packages/host/dist/exposurewatch.d.ts +29 -0
  316. package/packages/host/dist/exposurewatch.js +127 -0
  317. package/packages/host/dist/exposurewatch.js.map +1 -0
  318. package/packages/host/dist/extensions/scorecard/host/engine.d.mts +54 -0
  319. package/packages/host/dist/extensions/scorecard/host/engine.mjs +303 -0
  320. package/packages/host/dist/extensions/scorecard/host/engine.mjs.map +1 -0
  321. package/packages/host/dist/extensions/scorecard/host/gitslug.d.mts +5 -0
  322. package/packages/host/dist/extensions/scorecard/host/gitslug.mjs +45 -0
  323. package/packages/host/dist/extensions/scorecard/host/gitslug.mjs.map +1 -0
  324. package/packages/host/dist/extensions/scorecard/host/index.d.mts +15 -0
  325. package/packages/host/dist/extensions/scorecard/host/index.mjs +47 -0
  326. package/packages/host/dist/extensions/scorecard/host/index.mjs.map +1 -0
  327. package/packages/host/dist/extensions/scorecard/host/store.d.mts +12 -0
  328. package/packages/host/dist/extensions/scorecard/host/store.mjs +91 -0
  329. package/packages/host/dist/extensions/scorecard/host/store.mjs.map +1 -0
  330. package/packages/host/dist/extensions/scorecard/shared/logic.d.mts +42 -0
  331. package/packages/host/dist/extensions/scorecard/shared/logic.mjs +170 -0
  332. package/packages/host/dist/extensions/scorecard/shared/logic.mjs.map +1 -0
  333. package/packages/host/dist/extensions/scorecard/shared/wire.d.mts +140 -0
  334. package/packages/host/dist/extensions/scorecard/shared/wire.mjs +29 -0
  335. package/packages/host/dist/extensions/scorecard/shared/wire.mjs.map +1 -0
  336. package/packages/host/dist/files.d.ts +14 -12
  337. package/packages/host/dist/files.js +64 -94
  338. package/packages/host/dist/files.js.map +1 -1
  339. package/packages/host/dist/forge/github.d.ts +3 -0
  340. package/packages/host/dist/forge/github.js +96 -0
  341. package/packages/host/dist/forge/github.js.map +1 -0
  342. package/packages/host/dist/forge/index.d.ts +14 -0
  343. package/packages/host/dist/forge/index.js +32 -0
  344. package/packages/host/dist/forge/index.js.map +1 -0
  345. package/packages/host/dist/forge/types.d.ts +58 -0
  346. package/packages/host/dist/forge/types.js +2 -0
  347. package/packages/host/dist/forge/types.js.map +1 -0
  348. package/packages/host/dist/git.d.ts +41 -16
  349. package/packages/host/dist/git.js +162 -101
  350. package/packages/host/dist/git.js.map +1 -1
  351. package/packages/host/dist/gitnotify.d.ts +54 -0
  352. package/packages/host/dist/gitnotify.js +167 -0
  353. package/packages/host/dist/gitnotify.js.map +1 -0
  354. package/packages/host/dist/healthwatch.d.ts +2 -1
  355. package/packages/host/dist/healthwatch.js +4 -2
  356. package/packages/host/dist/healthwatch.js.map +1 -1
  357. package/packages/host/dist/hoststore.js +2 -2
  358. package/packages/host/dist/hoststore.js.map +1 -1
  359. package/packages/host/dist/intents/adapters.js +68 -19
  360. package/packages/host/dist/intents/adapters.js.map +1 -1
  361. package/packages/host/dist/intents/clock.d.ts +6 -3
  362. package/packages/host/dist/intents/clock.js +19 -5
  363. package/packages/host/dist/intents/clock.js.map +1 -1
  364. package/packages/host/dist/intents/contract.d.ts +15 -5
  365. package/packages/host/dist/intents/contract.js.map +1 -1
  366. package/packages/host/dist/intents/disk.d.ts +16 -0
  367. package/packages/host/dist/intents/disk.js +26 -1
  368. package/packages/host/dist/intents/disk.js.map +1 -1
  369. package/packages/host/dist/intents/fire.js +7 -1
  370. package/packages/host/dist/intents/fire.js.map +1 -1
  371. package/packages/host/dist/intents/ladder.js +3 -1
  372. package/packages/host/dist/intents/ladder.js.map +1 -1
  373. package/packages/host/dist/intents/manager.d.ts +3 -3
  374. package/packages/host/dist/intents/manager.js +2 -2
  375. package/packages/host/dist/intents/manager.js.map +1 -1
  376. package/packages/host/dist/intents/watch.d.ts +27 -3
  377. package/packages/host/dist/intents/watch.js +70 -9
  378. package/packages/host/dist/intents/watch.js.map +1 -1
  379. package/packages/host/dist/intents/write.d.ts +28 -1
  380. package/packages/host/dist/intents/write.js +87 -2
  381. package/packages/host/dist/intents/write.js.map +1 -1
  382. package/packages/host/dist/localcistatus.d.ts +22 -0
  383. package/packages/host/dist/localcistatus.js +105 -0
  384. package/packages/host/dist/localcistatus.js.map +1 -0
  385. package/packages/host/dist/main.js +45 -12
  386. package/packages/host/dist/main.js.map +1 -1
  387. package/packages/host/dist/net.d.ts +2 -0
  388. package/packages/host/dist/net.js +11 -2
  389. package/packages/host/dist/net.js.map +1 -1
  390. package/packages/host/dist/netlog.d.ts +40 -0
  391. package/packages/host/dist/netlog.js +165 -0
  392. package/packages/host/dist/netlog.js.map +1 -0
  393. package/packages/host/dist/netretrycfg.d.ts +7 -0
  394. package/packages/host/dist/netretrycfg.js +51 -0
  395. package/packages/host/dist/netretrycfg.js.map +1 -0
  396. package/packages/host/dist/notifyprefs.d.ts +6 -2
  397. package/packages/host/dist/notifyprefs.js +20 -5
  398. package/packages/host/dist/notifyprefs.js.map +1 -1
  399. package/packages/host/dist/notifytypes.d.ts +63 -0
  400. package/packages/host/dist/notifytypes.js +2 -0
  401. package/packages/host/dist/notifytypes.js.map +1 -0
  402. package/packages/host/dist/opendeliveries.js +24 -0
  403. package/packages/host/dist/opendeliveries.js.map +1 -1
  404. package/packages/host/dist/optins.d.ts +28 -1
  405. package/packages/host/dist/optins.js +96 -4
  406. package/packages/host/dist/optins.js.map +1 -1
  407. package/packages/host/dist/peers/agentpeer.js +1 -1
  408. package/packages/host/dist/peers/agentpeer.js.map +1 -1
  409. package/packages/host/dist/peers/jobs.d.ts +2 -4
  410. package/packages/host/dist/peers/jobs.js +6 -1
  411. package/packages/host/dist/peers/jobs.js.map +1 -1
  412. package/packages/host/dist/periodspend.d.ts +22 -3
  413. package/packages/host/dist/periodspend.js +44 -4
  414. package/packages/host/dist/periodspend.js.map +1 -1
  415. package/packages/host/dist/plugins/pluginapi.js +40 -10
  416. package/packages/host/dist/plugins/pluginapi.js.map +1 -1
  417. package/packages/host/dist/plugins/pluginregistry.d.ts +3 -8
  418. package/packages/host/dist/plugins/pluginregistry.js +1 -1
  419. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  420. package/packages/host/dist/plugins/plugintoolkit/sessionof.d.ts +47 -0
  421. package/packages/host/dist/plugins/plugintoolkit/sessionof.js +136 -0
  422. package/packages/host/dist/plugins/plugintoolkit/sessionof.js.map +1 -0
  423. package/packages/host/dist/prmergestore.d.ts +31 -0
  424. package/packages/host/dist/prmergestore.js +106 -0
  425. package/packages/host/dist/prmergestore.js.map +1 -0
  426. package/packages/host/dist/protectmain.d.ts +35 -0
  427. package/packages/host/dist/protectmain.js +73 -0
  428. package/packages/host/dist/protectmain.js.map +1 -0
  429. package/packages/host/dist/prpush.d.ts +38 -0
  430. package/packages/host/dist/prpush.js +351 -0
  431. package/packages/host/dist/prpush.js.map +1 -0
  432. package/packages/host/dist/prs.d.ts +118 -0
  433. package/packages/host/dist/prs.js +681 -0
  434. package/packages/host/dist/prs.js.map +1 -0
  435. package/packages/host/dist/push.d.ts +85 -1
  436. package/packages/host/dist/push.js +238 -8
  437. package/packages/host/dist/push.js.map +1 -1
  438. package/packages/host/dist/pushlanded.d.ts +29 -0
  439. package/packages/host/dist/pushlanded.js +61 -0
  440. package/packages/host/dist/pushlanded.js.map +1 -0
  441. package/packages/host/dist/pushreach.d.ts +9 -0
  442. package/packages/host/dist/pushreach.js +102 -0
  443. package/packages/host/dist/pushreach.js.map +1 -0
  444. package/packages/host/dist/pushverdict.d.ts +42 -0
  445. package/packages/host/dist/pushverdict.js +110 -0
  446. package/packages/host/dist/pushverdict.js.map +1 -0
  447. package/packages/host/dist/render.d.ts +57 -0
  448. package/packages/host/dist/render.js +57 -39
  449. package/packages/host/dist/render.js.map +1 -1
  450. package/packages/host/dist/repohealth.js +5 -2
  451. package/packages/host/dist/repohealth.js.map +1 -1
  452. package/packages/host/dist/repohealthapproval.d.ts +3 -0
  453. package/packages/host/dist/repohealthapproval.js +92 -2
  454. package/packages/host/dist/repohealthapproval.js.map +1 -1
  455. package/packages/host/dist/repos.d.ts +7 -1
  456. package/packages/host/dist/repos.js +30 -3
  457. package/packages/host/dist/repos.js.map +1 -1
  458. package/packages/host/dist/reposkill.d.ts +8 -5
  459. package/packages/host/dist/reposkill.js +16 -11
  460. package/packages/host/dist/reposkill.js.map +1 -1
  461. package/packages/host/dist/reposkilltext.d.ts +8 -1
  462. package/packages/host/dist/reposkilltext.js +85 -12
  463. package/packages/host/dist/reposkilltext.js.map +1 -1
  464. package/packages/host/dist/routes/apigitspend.d.ts +2 -0
  465. package/packages/host/dist/routes/apigitspend.js +40 -0
  466. package/packages/host/dist/routes/apigitspend.js.map +1 -0
  467. package/packages/host/dist/routes/apihost.js +17 -0
  468. package/packages/host/dist/routes/apihost.js.map +1 -1
  469. package/packages/host/dist/routes/apiprs.d.ts +2 -0
  470. package/packages/host/dist/routes/apiprs.js +47 -0
  471. package/packages/host/dist/routes/apiprs.js.map +1 -0
  472. package/packages/host/dist/routes/apirepofiles.js +13 -1
  473. package/packages/host/dist/routes/apirepofiles.js.map +1 -1
  474. package/packages/host/dist/routes/apirepowork.d.ts +6 -0
  475. package/packages/host/dist/routes/apirepowork.js +42 -33
  476. package/packages/host/dist/routes/apirepowork.js.map +1 -1
  477. package/packages/host/dist/routes/apiroutes.js +2 -1
  478. package/packages/host/dist/routes/apiroutes.js.map +1 -1
  479. package/packages/host/dist/routes/apisession.js +24 -0
  480. package/packages/host/dist/routes/apisession.js.map +1 -1
  481. package/packages/host/dist/routes/apistats.js +12 -7
  482. package/packages/host/dist/routes/apistats.js.map +1 -1
  483. package/packages/host/dist/routes/apisystem.js +23 -1
  484. package/packages/host/dist/routes/apisystem.js.map +1 -1
  485. package/packages/host/dist/routes/apitable.d.ts +10 -0
  486. package/packages/host/dist/routes/apitable.js.map +1 -1
  487. package/packages/host/dist/routes/apiweekburn.d.ts +2 -0
  488. package/packages/host/dist/routes/apiweekburn.js +30 -0
  489. package/packages/host/dist/routes/apiweekburn.js.map +1 -0
  490. package/packages/host/dist/routes/session.js +10 -0
  491. package/packages/host/dist/routes/session.js.map +1 -1
  492. package/packages/host/dist/routes/system.js +34 -6
  493. package/packages/host/dist/routes/system.js.map +1 -1
  494. package/packages/host/dist/routes/types.d.ts +29 -21
  495. package/packages/host/dist/routes/work/workbuild.js +3 -2
  496. package/packages/host/dist/routes/work/workbuild.js.map +1 -1
  497. package/packages/host/dist/routes/work/workintent.js +6 -2
  498. package/packages/host/dist/routes/work/workintent.js.map +1 -1
  499. package/packages/host/dist/routes/work/workschedule.js +33 -3
  500. package/packages/host/dist/routes/work/workschedule.js.map +1 -1
  501. package/packages/host/dist/screenlog.d.ts +20 -0
  502. package/packages/host/dist/screenlog.js +40 -0
  503. package/packages/host/dist/screenlog.js.map +1 -1
  504. package/packages/host/dist/server/billingwire.d.ts +3 -1
  505. package/packages/host/dist/server/billingwire.js +4 -2
  506. package/packages/host/dist/server/billingwire.js.map +1 -1
  507. package/packages/host/dist/server/clients.d.ts +14 -24
  508. package/packages/host/dist/server/clients.js +81 -11
  509. package/packages/host/dist/server/clients.js.map +1 -1
  510. package/packages/host/dist/server/ctx.d.ts +2 -0
  511. package/packages/host/dist/server/ctxseal.d.ts +1 -1
  512. package/packages/host/dist/server/ctxseal.js +6 -6
  513. package/packages/host/dist/server/ctxseal.js.map +1 -1
  514. package/packages/host/dist/server/deliveries.js +4 -2
  515. package/packages/host/dist/server/deliveries.js.map +1 -1
  516. package/packages/host/dist/server/http.js +2 -2
  517. package/packages/host/dist/server/http.js.map +1 -1
  518. package/packages/host/dist/server/intentDeps.js +13 -6
  519. package/packages/host/dist/server/intentDeps.js.map +1 -1
  520. package/packages/host/dist/server/intentEvents.js +9 -4
  521. package/packages/host/dist/server/intentEvents.js.map +1 -1
  522. package/packages/host/dist/server/scan.js +23 -1
  523. package/packages/host/dist/server/scan.js.map +1 -1
  524. package/packages/host/dist/server/sessionEvents.js +40 -15
  525. package/packages/host/dist/server/sessionEvents.js.map +1 -1
  526. package/packages/host/dist/server/shutdown.d.ts +3 -1
  527. package/packages/host/dist/server/shutdown.js +9 -1
  528. package/packages/host/dist/server/shutdown.js.map +1 -1
  529. package/packages/host/dist/sessionbudget.d.ts +2 -0
  530. package/packages/host/dist/sessionbudget.js +17 -6
  531. package/packages/host/dist/sessionbudget.js.map +1 -1
  532. package/packages/host/dist/sessions/agentpoll.d.ts +42 -0
  533. package/packages/host/dist/sessions/agentpoll.js +193 -0
  534. package/packages/host/dist/sessions/agentpoll.js.map +1 -0
  535. package/packages/host/dist/sessions/apiretry.d.ts +106 -0
  536. package/packages/host/dist/sessions/apiretry.js +387 -0
  537. package/packages/host/dist/sessions/apiretry.js.map +1 -0
  538. package/packages/host/dist/sessions/askwatch.d.ts +62 -0
  539. package/packages/host/dist/sessions/askwatch.js +169 -0
  540. package/packages/host/dist/sessions/askwatch.js.map +1 -0
  541. package/packages/host/dist/sessions/boxes.d.ts +2 -23
  542. package/packages/host/dist/sessions/boxes.js +10 -664
  543. package/packages/host/dist/sessions/boxes.js.map +1 -1
  544. package/packages/host/dist/sessions/boxread.d.ts +47 -0
  545. package/packages/host/dist/sessions/boxread.js +628 -0
  546. package/packages/host/dist/sessions/boxread.js.map +1 -0
  547. package/packages/host/dist/sessions/core.d.ts +22 -1
  548. package/packages/host/dist/sessions/ctxseries.js +3 -0
  549. package/packages/host/dist/sessions/ctxseries.js.map +1 -1
  550. package/packages/host/dist/sessions/drive.d.ts +20 -6
  551. package/packages/host/dist/sessions/drive.js +45 -12
  552. package/packages/host/dist/sessions/drive.js.map +1 -1
  553. package/packages/host/dist/sessions/endsession.d.ts +11 -0
  554. package/packages/host/dist/sessions/endsession.js +71 -0
  555. package/packages/host/dist/sessions/endsession.js.map +1 -0
  556. package/packages/host/dist/sessions/haltall.d.ts +14 -0
  557. package/packages/host/dist/sessions/haltall.js +32 -1
  558. package/packages/host/dist/sessions/haltall.js.map +1 -1
  559. package/packages/host/dist/sessions/knobs.d.ts +11 -0
  560. package/packages/host/dist/sessions/knobs.js +12 -0
  561. package/packages/host/dist/sessions/knobs.js.map +1 -1
  562. package/packages/host/dist/sessions/record.js +7 -2
  563. package/packages/host/dist/sessions/record.js.map +1 -1
  564. package/packages/host/dist/sessions/resume.d.ts +17 -0
  565. package/packages/host/dist/sessions/resume.js +65 -11
  566. package/packages/host/dist/sessions/resume.js.map +1 -1
  567. package/packages/host/dist/sessions/roster.js +3 -0
  568. package/packages/host/dist/sessions/roster.js.map +1 -1
  569. package/packages/host/dist/sessions/sidechannel.d.ts +1 -1
  570. package/packages/host/dist/sessions/sidechannel.js +2 -2
  571. package/packages/host/dist/sessions/tmux.js +21 -2
  572. package/packages/host/dist/sessions/tmux.js.map +1 -1
  573. package/packages/host/dist/sessions/turn.d.ts +15 -58
  574. package/packages/host/dist/sessions/turn.js +19 -358
  575. package/packages/host/dist/sessions/turn.js.map +1 -1
  576. package/packages/host/dist/sessions.d.ts +10 -7
  577. package/packages/host/dist/sessions.js +31 -79
  578. package/packages/host/dist/sessions.js.map +1 -1
  579. package/packages/host/dist/settle.d.ts +30 -2
  580. package/packages/host/dist/settle.js +94 -49
  581. package/packages/host/dist/settle.js.map +1 -1
  582. package/packages/host/dist/setupprefs.d.ts +26 -1
  583. package/packages/host/dist/setupprefs.js +49 -1
  584. package/packages/host/dist/setupprefs.js.map +1 -1
  585. package/packages/host/dist/setupwatch.d.ts +10 -8
  586. package/packages/host/dist/setupwatch.js +19 -16
  587. package/packages/host/dist/setupwatch.js.map +1 -1
  588. package/packages/host/dist/sidecar/sidecarname.d.ts +2 -0
  589. package/packages/host/dist/sidecar/sidecarname.js +5 -1
  590. package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
  591. package/packages/host/dist/sidecar/sidecarroute.d.ts +1 -1
  592. package/packages/host/dist/sidecar/sidecarroute.js +5 -0
  593. package/packages/host/dist/sidecar/sidecarroute.js.map +1 -1
  594. package/packages/host/dist/sidecar.d.ts +1 -1
  595. package/packages/host/dist/sidecar.js +1 -1
  596. package/packages/host/dist/sidecar.js.map +1 -1
  597. package/packages/host/dist/tokenscan.d.ts +4 -4
  598. package/packages/host/dist/tokenscan.js +18 -37
  599. package/packages/host/dist/tokenscan.js.map +1 -1
  600. package/packages/host/dist/tokenstats.js +16 -18
  601. package/packages/host/dist/tokenstats.js.map +1 -1
  602. package/packages/host/dist/transcript/transcriptparse.js +17 -26
  603. package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
  604. package/packages/host/dist/transcript/transcriptturns.d.ts +29 -0
  605. package/packages/host/dist/transcript/transcriptturns.js +27 -0
  606. package/packages/host/dist/transcript/transcriptturns.js.map +1 -1
  607. package/packages/host/dist/transcript.d.ts +1 -1
  608. package/packages/host/dist/transcript.js +1 -1
  609. package/packages/host/dist/transcript.js.map +1 -1
  610. package/packages/host/dist/usagesources.d.ts +1 -1
  611. package/packages/host/dist/usagesources.js +7 -2
  612. package/packages/host/dist/usagesources.js.map +1 -1
  613. package/packages/host/dist/visualskill.js +2 -2
  614. package/packages/host/dist/weekburn.d.ts +79 -0
  615. package/packages/host/dist/weekburn.js +276 -0
  616. package/packages/host/dist/weekburn.js.map +1 -0
  617. package/packages/host/dist/worktreeleftover.d.ts +9 -0
  618. package/packages/host/dist/worktreeleftover.js +17 -1
  619. package/packages/host/dist/worktreeleftover.js.map +1 -1
  620. package/packages/web/dist/assets/demo-DsZGy-MC.js +24 -0
  621. package/packages/web/dist/assets/icons-eqlvjswV.js +1 -0
  622. package/packages/web/dist/assets/index-GHwJuQb3.js +169 -0
  623. package/packages/web/dist/assets/index-VzDSZwwH.css +1 -0
  624. package/packages/web/dist/assets/shared-BWk5jXWb.js +49 -0
  625. package/packages/web/dist/assets/sheets-Dj-0m0DB.js +232 -0
  626. package/packages/web/dist/assets/{sheets-Bjv2L-cG.css → sheets-DoUhPGK0.css} +1 -1
  627. package/packages/web/dist/build-id.txt +1 -1
  628. package/packages/web/dist/buildstamp.json +1 -0
  629. package/packages/web/dist/index.html +7 -7
  630. package/packages/web/dist/sw.js +18 -3
  631. package/release.json +7 -4
  632. package/scripts/windows/wsl-setup.sh +10 -1
  633. package/tools/repohealth/constants.mjs +21 -1
  634. package/tools/repohealth/fixture.json +493 -30
  635. package/tools/repohealth/lang/typescript-resolve.mjs +354 -0
  636. package/tools/repohealth/metrics/graph.mjs +258 -0
  637. package/tools/repohealth/metrics/size.mjs +1 -1
  638. package/tools/repohealth/own.mjs +4 -4
  639. package/tools/repohealth/packs/c.mjs +4 -0
  640. package/tools/repohealth/packs/common.mjs +4 -0
  641. package/tools/repohealth/packs/dart.mjs +4 -0
  642. package/tools/repohealth/packs/kotlin.mjs +8 -0
  643. package/tools/repohealth/packs/python.mjs +8 -0
  644. package/tools/repohealth/packs/shell.mjs +4 -0
  645. package/tools/repohealth/packs/typescript.mjs +278 -7
  646. package/tools/repohealth/readings.mjs +39 -0
  647. package/tools/repohealth/series.mjs +1 -0
  648. package/tools/repohealth/snapshot.mjs +14 -0
  649. package/tools/repohealth/types.mjs +12 -0
  650. package/tools/repohealth.mjs +2 -0
  651. package/packages/web/dist/assets/demo-CXlqlYE4.js +0 -23
  652. package/packages/web/dist/assets/icons-BbqDBVjw.js +0 -1
  653. package/packages/web/dist/assets/index-CgPoyb3Y.css +0 -1
  654. package/packages/web/dist/assets/index-D5JKj8DK.js +0 -169
  655. package/packages/web/dist/assets/shared-eyaskl5l.js +0 -47
  656. package/packages/web/dist/assets/sheets-BzzL2re1.js +0 -204
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/wire/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;CAChK,CAAC;AAcX;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,MAAM,CAAC,CAAC;AAExE,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,KAAqC,EAAE,IAAsB;IACzF,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACnD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtE,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,MAAM,CAAC,GAAI,GAA+B,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/wire/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;CAC/L,CAAC;AAcX;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,MAAM,CAAC,CAAC;AAExE,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,KAAqC,EAAE,IAAsB;IACzF,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACnD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAiBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE7H;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAsB,EAAE,OAAuB,EAAE,QAAsB;IACjG,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IACrE,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,OAAO,CAAC,IAA8C;IACpE,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA0D;IACjF,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACxD,CAAC;AAqBD;;;+EAG+E;AAC/E,MAAM,UAAU,YAAY,CAAC,CAAe;IAC1C,+EAA+E;IAC/E,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,KAAK,IAAI;YACP,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5G,OAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;AAED;8FAC8F;AAC9F,MAAM,UAAU,aAAa,CAAC,CAAsB;IAClD,OAAO,CAAC,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC;AAClD,CAAC;AAED;;;;;;+CAM+C;AAC/C,MAAM,UAAU,iBAAiB,CAAC,GAA8B;IAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,4FAA4F;IAC5F,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAqB;IACnE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;;;oCAKoC;AACpC,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAe;IAC/D,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;+FAC+F;AAC/F,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,MAAc;IAC3D,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;qFACqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IAC/D,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;iGACiG;AACjG,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAe;IACxD,OAAO,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtE,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,MAAM,CAAC,GAAI,GAA+B,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA0GD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAqC,CAAC;QACnF,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtI,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAsB,CAAC;IACxI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ /** One of the person's open pull requests, as the PR card shows it (`prview.ts` builds it). */
2
+ export type PrCheckState = "running" | "passed" | "failed" | "skipped";
3
+ export type PrReviewDecision = "APPROVED" | "CHANGES_REQUESTED" | "REVIEW_REQUIRED";
4
+ export interface PrCheck {
5
+ name: string;
6
+ state: PrCheckState;
7
+ /** The check's own page (an Actions job URL, or a status target). Absent = none given. */
8
+ url?: string;
9
+ }
10
+ export interface PullRequestView {
11
+ number: number;
12
+ title: string;
13
+ /** Opens in the browser through the phone's existing shell-link path. */
14
+ url: string;
15
+ headRefName: string;
16
+ /** Absent = the forge did not say (no review rule, or an older gh). */
17
+ reviewDecision?: PrReviewDecision;
18
+ checks: PrCheck[];
19
+ /** false = conflicts; absent = not computed yet. */
20
+ mergeable?: boolean;
21
+ /** Auto-merge is switched on for this PR. */
22
+ autoMerge: boolean;
23
+ /** One sentence: why Merge cannot go through right now. Absent = nothing blocks it. */
24
+ blockedBy?: string;
25
+ }
26
+ /** What `GET git/prs/*` answers. `prs` absent = never read / gh unavailable (NOT "no PRs"). */
27
+ export interface PrListDoc {
28
+ prs?: PullRequestView[];
29
+ /** Epoch ms of the reading `prs` is from. */
30
+ at?: number;
31
+ /** Why there is no list: a sentence, only when `prs` is absent. */
32
+ why?: string;
33
+ }
34
+ /** The answer of every PR action (merge, auto-merge, close, failing log). */
35
+ export interface PrActionResult {
36
+ ok: boolean;
37
+ /** Receipt (what was done AND what was not), or the failing-check log tail. */
38
+ output?: string;
39
+ error?: string;
40
+ /** Failing-log only: the page to open when there is no Actions log to tail. */
41
+ url?: string;
42
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pullrequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pullrequest.js","sourceRoot":"","sources":["../../src/wire/pullrequest.ts"],"names":[],"mappings":""}
@@ -1,6 +1,9 @@
1
1
  /** A repo or worktree: its git state, its setup verdict, and the CLI install behind it. */
2
2
  import type { ContextLimitsView } from "../contextweight.js";
3
3
  import type { RepoHealthIndex } from "../healthindex.js";
4
+ import type { RepoInstructionsDoc } from "./alwayson.js";
5
+ import type { ExposureTriage } from "../exposure.js";
6
+ import type { BranchRules } from "../branchmode.js";
4
7
  /**
5
8
  * How this desktop's `claude` got onto the PATH, which is the ONLY thing that
6
9
  * decides what the update button may run. Read off the resolved binary path,
@@ -58,6 +61,9 @@ export interface GitStatus {
58
61
  behind: number;
59
62
  files: GitFile[];
60
63
  clean: boolean;
64
+ /** What the remote's own rules demand of the default branch. ABSENT = direct
65
+ * or unknown (no gh, no auth, non-GitHub, not read yet) — behave as direct. */
66
+ branchRules?: BranchRules;
61
67
  }
62
68
  /** One commit as the history view lists it. `at` is the author date, epoch ms. */
63
69
  export interface GitCommit {
@@ -142,6 +148,12 @@ export interface RepoTarget {
142
148
  branch: string;
143
149
  isPrimary: boolean;
144
150
  worktreePath: string;
151
+ /** Set only when another discovered clone has the same `repoName`: the
152
+ * shortest trailing part of THIS clone's parent path that tells the two apart
153
+ * (`garmin/`), the same on every worktree of the clone. Read it through
154
+ * `repoLabel`, never print `repoName` alone where a person picks a repo.
155
+ * ABSENT = no twin (or an older host). */
156
+ where?: string;
145
157
  /** Outbox artifacts dropped since this repo's outbox was last opened — the
146
158
  * "something to look at" badge. The inbox is deliberately NOT counted: it
147
159
  * holds what the phone itself uploaded. */
@@ -176,6 +188,32 @@ export interface RepoTarget {
176
188
  * pre-push checks take minutes) or a pull — so the launcher's git button can
177
189
  * spin while it runs. ABSENT = none running (or an older host). */
178
190
  gitRunning?: "push" | "pull";
191
+ /** The last pull or push of a verb here FAILED and nobody has handled it —
192
+ * derived on the host from its attention store with `needsYou`, so this
193
+ * chip, the bell and the feed row are one predicate. `id` is the feed
194
+ * item's (the git view's done sends `notification.handle` with it); `error`
195
+ * is the full failure text. ABSENT = none (or an older host). */
196
+ gitFailed?: {
197
+ verb: "pull" | "push";
198
+ at: number;
199
+ error: string;
200
+ id: string;
201
+ /** A failed push's branch (`NotificationItem.branch`); absent = older host or detached HEAD. */
202
+ branch?: string;
203
+ };
204
+ /** EVERY unhandled failed pull/push here, newest first (`gitFailed` is its head): a repo
205
+ * keeps one failed push per branch, and a tapped failure must open on ITSELF. ABSENT = an
206
+ * older host — the git view then shows `gitFailed`. */
207
+ gitFailures?: NonNullable<RepoTarget["gitFailed"]>[];
208
+ /** The newest build entry here whose last run FAILED, unhandled — same
209
+ * predicate as `gitFailed`. ABSENT = none (or an older host). */
210
+ buildFailed?: {
211
+ buildId: string;
212
+ name: string;
213
+ at: number;
214
+ error?: string;
215
+ id: string;
216
+ };
179
217
  /** A build command the desktop is running in this worktree right now (the
180
218
  * newest, when several are), so the launcher's build button can spin while
181
219
  * it runs. The live `build.run` frames take over once the phone has seen
@@ -324,6 +362,14 @@ export interface ComplianceCheck {
324
362
  detail: string;
325
363
  /** Fix action id (POST .../compliance/fix) when auto-remediable, else null. */
326
364
  fix: string | null;
365
+ /**
366
+ * Exposure SUMMARY row only: triage marks whose crash group / finding is not in the newest reading. Kept (the
367
+ * group may return), never auto-pruned; the phone lists them as "marked, not in today's reading" with Clear.
368
+ */
369
+ staleMarks?: Array<{
370
+ triageId: string;
371
+ triage: ExposureTriage;
372
+ }>;
327
373
  /** `"host"` when the check is about the HOST, not this repo (the Gemini
328
374
  * credential is one key for the whole daemon). Repo rollups skip these:
329
375
  * otherwise one unset env var reads as "every repo is misconfigured".
@@ -360,6 +406,58 @@ export interface ComplianceCheck {
360
406
  * ignoring" a guess about what it would say — the phone draws it folded.
361
407
  */
362
408
  ignored?: true;
409
+ /**
410
+ * A daily WATCH reading — what the outside world says about the repo's dependencies, stores and
411
+ * published surface (an OpenSSF Scorecard row, say) — rather than a convention the repo itself is
412
+ * wired to. The phone draws it in the readings sheet's `watch` region, not the set-up checklist;
413
+ * the badge counts it exactly as before. Exposure rows are watch rows by their `exposure` field
414
+ * (`isWatchCheck`), so only other contributors set this. Absent = a convention check.
415
+ */
416
+ watch?: true;
417
+ /**
418
+ * An exposure-watch finding (`id` is `exposure:<key>`), carried as data so the phone can show the
419
+ * measure, what crosses the line and since when without prising it out of `detail`. Only the
420
+ * exposure rows have it; the summary row (`exposure`) does not.
421
+ */
422
+ exposure?: {
423
+ key: string;
424
+ /** The repo's name as the watch knows it. */
425
+ name: string;
426
+ measure: string;
427
+ subject: string;
428
+ version?: string;
429
+ severity?: "critical" | "high" | "moderate" | "low" | "info";
430
+ level: "alert" | "digest";
431
+ sources: string[];
432
+ since?: string;
433
+ /** D3: crash group id (what a triage mark sticks to), and the app version reporting it. */
434
+ group?: string;
435
+ appVersion?: string;
436
+ /** A seen / investigating / fixed mark on this finding, with who and when. */
437
+ triage?: ExposureTriage;
438
+ /** The line this measure crosses, in words. Absent for a measure with no wording: never invented. */
439
+ threshold?: string;
440
+ };
441
+ /**
442
+ * A person (or a built-in decision) accepted this finding. It is still measured and still sent,
443
+ * because hiding it on the host would make "stop accepting" a guess about what the row would say;
444
+ * the phone draws it under "Accepted (n)". `builtIn` = shipped with waterplane, not typed by
445
+ * anyone, and nothing in the accepts file overrides it.
446
+ */
447
+ accepted?: {
448
+ reason: string;
449
+ at: string;
450
+ until?: {
451
+ version?: string;
452
+ } | {
453
+ date?: string;
454
+ } | {
455
+ change?: string;
456
+ };
457
+ builtIn?: true;
458
+ /** Set by a `fixed` triage mark (`applyTriage`), not by an accept: the phone offers "Clear mark", not "stop accepting". */
459
+ byMark?: true;
460
+ };
363
461
  }
364
462
  /** The checks that are a thing to consider rather than a finding, and the only
365
463
  * ones a person may ignore per repo. One list, read by both ends. */
@@ -377,6 +475,10 @@ export declare const ADVISORY_CHECKS: readonly string[];
377
475
  * Host scope is excluded for the reason `summarize()` gives: one unset
378
476
  * GEMINI_API_KEY is a fact about the daemon, and counting it would flag every
379
477
  * repo on the machine at once.
478
+ *
479
+ * An accepted exposure finding is not one either: it is still measured and
480
+ * sent, and the phone draws it under "Accepted (n)", but a decision a person
481
+ * already made must not keep the badge lit.
380
482
  */
381
483
  export declare function isSetupFinding(c: ComplianceCheck): boolean;
382
484
  /**
@@ -384,6 +486,7 @@ export declare function isSetupFinding(c: ComplianceCheck): boolean;
384
486
  * side of its line that nobody has ignored. Never a finding (see
385
487
  * `isSetupFinding`), so never counted — but still a row that offers its
386
488
  * remedy, because "consider" is a suggestion you can take, not one you can't.
489
+ * An accepted finding is neither a consider nor a finding (see `isSetupFinding`).
387
490
  */
388
491
  export declare function isSetupConsider(c: ComplianceCheck): boolean;
389
492
  /** Full compliance report for one repo/worktree. */
@@ -417,6 +520,8 @@ export interface ComplianceReport {
417
520
  * refuses the fix. Absent from an older desktop, which needed none.
418
521
  */
419
522
  confirm?: Record<string, string>;
523
+ /** Every always-on row of this repo and this desktop, for the list under `context-weight`. Absent from an older desktop. */
524
+ instructions?: RepoInstructionsDoc;
420
525
  }
421
526
  /** Result of ignoring (or un-ignoring) one advisory check in one repo.
422
527
  * `ok:false` = nothing was stored, and `error` says why. */
@@ -425,6 +530,32 @@ export interface ComplianceIgnoreResult {
425
530
  error?: string;
426
531
  report?: ComplianceReport;
427
532
  }
533
+ /** Accept (or stop accepting) one exposure finding. `until` ends the accept: a newer version than
534
+ * the one accepted, a date, or the finding's text changing (`change`); none means until undone. */
535
+ export interface ComplianceAcceptRequest {
536
+ id: string;
537
+ accept: boolean;
538
+ reason?: string;
539
+ until?: {
540
+ version: string;
541
+ } | {
542
+ date: string;
543
+ } | {
544
+ change: true;
545
+ };
546
+ }
547
+ /** Mark (or, with `clear`, unmark) one exposure finding or crash group as seen / investigating / fixed. `id` is a
548
+ * check id (`exposure:<key>`) or a triage id. `fixedIn` is required for "fixed". */
549
+ export interface ComplianceTriageRequest {
550
+ id: string;
551
+ state?: "seen" | "investigating" | "fixed";
552
+ fixedIn?: string;
553
+ commit?: string;
554
+ note?: string;
555
+ clear?: boolean;
556
+ }
557
+ /** Result of an accept request; same shape as the ignore result. */
558
+ export type ComplianceAcceptResult = ComplianceIgnoreResult;
428
559
  /** Result of writing (or clearing) one repo's context-weight thresholds.
429
560
  * `ok:false` means NOTHING was written — an out-of-range number is refused in
430
561
  * words rather than stored as a repaired value the user never chose. */
@@ -1,6 +1,6 @@
1
1
  /** The checks that are a thing to consider rather than a finding, and the only
2
2
  * ones a person may ignore per repo. One list, read by both ends. */
3
- export const ADVISORY_CHECKS = ["context-weight", "auto-compact", "apk-install"];
3
+ export const ADVISORY_CHECKS = ["context-weight", "auto-compact", "apk-install", "exposure"];
4
4
  /**
5
5
  * Whether one check is a FINDING — the predicate behind every setup number.
6
6
  *
@@ -14,17 +14,22 @@ export const ADVISORY_CHECKS = ["context-weight", "auto-compact", "apk-install"]
14
14
  * Host scope is excluded for the reason `summarize()` gives: one unset
15
15
  * GEMINI_API_KEY is a fact about the daemon, and counting it would flag every
16
16
  * repo on the machine at once.
17
+ *
18
+ * An accepted exposure finding is not one either: it is still measured and
19
+ * sent, and the phone draws it under "Accepted (n)", but a decision a person
20
+ * already made must not keep the badge lit.
17
21
  */
18
22
  export function isSetupFinding(c) {
19
- return c.scope !== "host" && c.status !== "pass" && !c.advisory && !c.ignored;
23
+ return c.scope !== "host" && c.status !== "pass" && !c.advisory && !c.ignored && !c.accepted;
20
24
  }
21
25
  /**
22
26
  * Whether one check is an open thing to CONSIDER: an advisory row on the wrong
23
27
  * side of its line that nobody has ignored. Never a finding (see
24
28
  * `isSetupFinding`), so never counted — but still a row that offers its
25
29
  * remedy, because "consider" is a suggestion you can take, not one you can't.
30
+ * An accepted finding is neither a consider nor a finding (see `isSetupFinding`).
26
31
  */
27
32
  export function isSetupConsider(c) {
28
- return c.scope !== "host" && c.status !== "pass" && !!c.advisory && !c.ignored;
33
+ return c.scope !== "host" && c.status !== "pass" && !!c.advisory && !c.ignored && !c.accepted;
29
34
  }
30
35
  //# sourceMappingURL=repo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/wire/repo.ts"],"names":[],"mappings":"AAoWA;sEACsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAEpG;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,CAAkB;IAC/C,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,CAAkB;IAChD,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/wire/repo.ts"],"names":[],"mappings":"AAkbA;sEACsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAEhH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAAC,CAAkB;IAC/C,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,CAAkB;IAChD,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChG,CAAC"}
@@ -124,4 +124,6 @@ export type SentSource = "compose" | "backlog" | "fanout" | "fanout-followup" |
124
124
  | "phone"
125
125
  /** Legacy: the in-core Gemini oracle, before it became a plugin. Kept so old
126
126
  * rows on disk still type-check and render. */
127
- | "oracle" | "limit";
127
+ | "oracle" | "limit"
128
+ /** The host's retry of a turn the CLI gave up on a transient API error (`sessions/netretry.ts`). */
129
+ | "netretry";
@@ -2,6 +2,7 @@ import type { CostBreakdown } from "../../pricing.js";
2
2
  import type { ColdStarts } from "../../sessioncost.js";
3
3
  import type { AutoCompactSource } from "../../autocompact.js";
4
4
  import type { TokenTotals } from "../telemetry.js";
5
+ import type { SessionCarried } from "../alwayson.js";
5
6
  import type { ContextSample, AgentRun, ContextEvent, CompactionLedger, SkillLoad } from "./context.js";
6
7
  /**
7
8
  * The context series, small enough to ride on every `SessionInfo` — the
@@ -381,6 +382,12 @@ export interface ContextSeriesDoc {
381
382
  * none" and "nobody looked" stay apart.
382
383
  */
383
384
  skills?: SkillLoad[];
385
+ /**
386
+ * What the FIRST request of this conversation carried, read off the CLI log's attachment records
387
+ * written before the first assistant usage (D2: the initial set; later deltas are only counted).
388
+ * Absent on an older host and where the log's head could not be read — never a guessed set.
389
+ */
390
+ carried?: SessionCarried;
384
391
  /**
385
392
  * What this conversation's compactions shed, saved and cost.
386
393
  *
@@ -3,7 +3,7 @@ import type { AnswerSuggestion, PluginBadge } from "../../plugin.js";
3
3
  import type { SessionBudgetInfo } from "../../sessionbudget.js";
4
4
  import type { ChannelHealth, SourceSessionSpend } from "../../backendsources.js";
5
5
  import type { StandingRule, DetectedPrompt } from "./promptbox.js";
6
- import type { Effort, PermissionMode, SessionLimit, SessionLogin, ShellLink, SessionAgent, SessionAsk, SessionShell } from "./launch.js";
6
+ import type { Effort, PermissionMode, SessionLimit, SessionNetRetry, SessionLogin, ShellLink, SessionAgent, SessionAsk, SessionShell } from "./launch.js";
7
7
  import type { ContextSpark } from "./contextspark.js";
8
8
  import type { KeyHint } from "../../keyhint.js";
9
9
  import type { Bookmark } from "./archive.js";
@@ -151,6 +151,9 @@ export interface SessionInfo {
151
151
  pluginRules?: Record<string, StandingRule[]>;
152
152
  /** Usage-limit state + auto-continue setting for this session. */
153
153
  limit?: SessionLimit;
154
+ /** The host retrying a turn the CLI gave up on a transient API error
155
+ * (`SessionNetRetry`). Absent/null = nothing being retried; an older host never sends it. */
156
+ netRetry?: SessionNetRetry | null;
154
157
  /** True when the session has been quiet (likely finished its turn). */
155
158
  idle?: boolean;
156
159
  /** Epoch ms when the session last went idle (turn finished). */
@@ -119,6 +119,42 @@ export interface SessionLimit {
119
119
  /** True when the user pushed this session to the front of the resume queue. */
120
120
  first: boolean;
121
121
  }
122
+ /**
123
+ * The host retrying a turn the CLI GAVE UP on a transient API error — a DNS or
124
+ * Wi-Fi outage outlasting the CLI's own retries ("Can't reach the API server
125
+ * (ENOTFOUND)", "529 Overloaded", "Connection dropped"). Read off the CLI's log
126
+ * (host `netlog.ts`), never the screen; the host types `continue` on a widening
127
+ * ladder (`sessions/netretry.ts`). Absent/null = nothing being retried.
128
+ */
129
+ export interface SessionNetRetry {
130
+ /** `waiting`: a `continue` is due at `nextAt`. `sent`: one was typed and its
131
+ * turn is running. `gaveup`: the cap was reached, or the retry could not be
132
+ * typed — `why` says which, and nothing more happens by itself. */
133
+ state: "waiting" | "sent" | "gaveup";
134
+ /** Retries already typed for this outage. */
135
+ attempt: number;
136
+ /** The most retries the host will type. */
137
+ max: number;
138
+ /** Epoch ms the next retry is due (`waiting`), or — on a `gaveup` — when
139
+ * the next STALL PROBE runs (one `continue` every `WATERPLANE_NET_RETRY_STALL_MS`
140
+ * while work is stalled and the switch is on). Null = nothing will be typed
141
+ * by itself. */
142
+ nextAt: number | null;
143
+ /** The CLI's own short line for the newest give-up, `API Error:` dropped. */
144
+ error: string;
145
+ /** When the CLI wrote that give-up (epoch ms). */
146
+ at: number;
147
+ /** For `gaveup` (or a `waiting` that is parked): the host's sentence why. */
148
+ why?: string;
149
+ /** This `waiting`/`sent` is a STALL PROBE: the ladder ran out and the host
150
+ * is trying once more on the slow cadence. The work waiting on the session
151
+ * is still stalled meanwhile (`netRetryStalls`). Absent = the ladder. */
152
+ probe?: boolean;
153
+ /** The person dismissed the session's retry line. It only HIDES the line:
154
+ * the stall stands (`netStalledOf` ignores this), so the work keeps its
155
+ * note and the silence ceiling still leaves it alone. */
156
+ dismissed?: boolean;
157
+ }
122
158
  /**
123
159
  * The `/login` flow, as far as the phone can act on it.
124
160
  *
@@ -7,7 +7,7 @@
7
7
  * live next to the union that happens to send it.
8
8
  */
9
9
  export type { PromptOption, StandingRule, DetectedPrompt } from "./session/promptbox.js";
10
- export type { SendView, Effort, PermissionMode, LaunchOpts, ExternalSession, LimitResumeMode, SessionLimit, SessionLogin, ShellLink, SessionAgent, SessionAsk, SessionShell, SessionShellDetail } from "./session/launch.js";
10
+ export type { SendView, Effort, PermissionMode, LaunchOpts, ExternalSession, LimitResumeMode, SessionLimit, SessionNetRetry, SessionLogin, ShellLink, SessionAgent, SessionAsk, SessionShell, SessionShellDetail } from "./session/launch.js";
11
11
  export type { SessionInfo, FollowUp, FollowUpBy } from "./session/info.js";
12
12
  export type { NewImage, RecentSession, ArchivedConversation, ArchiveListing, Bookmark, ClosedSession, ClosedBy, SessionOriginKind, SessionOrigin, HistoryEntry, SessionSearchScope, SessionSearchMatch, SessionSearchResult } from "./session/archive.js";
13
13
  export type { OpenDelivery } from "./session/delivery.js";
@@ -424,6 +424,10 @@ export interface TokenConvo {
424
424
  agentCost: CostBreakdown;
425
425
  /** Subagent transcripts folded in. */
426
426
  agents: number;
427
+ /** Tokens the parent log's FIRST answered request carried (input + cache
428
+ * read + cache write) — measured. Absent on an older host or a log with no
429
+ * answered request; agents' logs never feed it. */
430
+ firstTok?: number;
427
431
  /** Premium over re-reading paid for expired-cache rebuilds, USD; absent when
428
432
  * there were none. */
429
433
  coldUsd?: number;
@@ -467,6 +471,19 @@ export interface TokenGroup extends TokenTotals {
467
471
  */
468
472
  export interface TokenStatsDoc {
469
473
  totals: TokenTotals;
474
+ /** Records in `totals` that are in NO hour (no readable timestamp) — `LedgerHourly.undated`'s
475
+ * field and rule (`undatedWhy`): above 0, any sum of hours over a span is a floor, so a span
476
+ * figure reads ABSENT. Absent = an older host that does not say: read as before. */
477
+ undated?: number;
478
+ /** The newest mtime (epoch ms) of a log holding one of those `undated` records: none can be
479
+ * later, so a span starting after it misses none (`undatedSince`). Absent while `undated` is
480
+ * 0, or when a log's mtime is unknown — then every span is refused. */
481
+ undatedUntil?: number;
482
+ /** Per log holding `undated` records: `[mtime, count]`, ascending, bounded (shared
483
+ * `undatedLogsOf`), so a span counts only the logs written since it opened — the same N the
484
+ * host's `/api/costwindow` says (`undatedSince`). A log with an unknown mtime has no pair and is
485
+ * always counted. Absent = an older host: `undatedUntil` decides, as before. */
486
+ undatedLogs?: Array<[number, number]>;
470
487
  /** Ascending, and only days that had activity — a gap IS the weekend. */
471
488
  days: TokenDay[];
472
489
  /**
@@ -624,6 +641,19 @@ export interface TokenWindowSeries {
624
641
  * in the order they were asked. */
625
642
  export interface TokenWindowsDoc {
626
643
  series: TokenWindowSeries[];
644
+ /** Records in `totals` that are in NO hour (no readable timestamp) — `LedgerHourly.undated`'s
645
+ * field and rule (`undatedWhy`): above 0, any sum of hours over a span is a floor, so a span
646
+ * figure reads ABSENT. Absent = an older host that does not say: read as before. */
647
+ undated?: number;
648
+ /** The newest mtime (epoch ms) of a log holding one of those `undated` records: none can be
649
+ * later, so a span starting after it misses none (`undatedSince`). Absent while `undated` is
650
+ * 0, or when a log's mtime is unknown — then every span is refused. */
651
+ undatedUntil?: number;
652
+ /** Per log holding `undated` records: `[mtime, count]`, ascending, bounded (shared
653
+ * `undatedLogsOf`), so a span counts only the logs written since it opened — the same N the
654
+ * host's `/api/costwindow` says (`undatedSince`). A log with an unknown mtime has no pair and is
655
+ * always counted. Absent = an older host: `undatedUntil` decides, as before. */
656
+ undatedLogs?: Array<[number, number]>;
627
657
  /** When the ledger behind this was last brought up to date (the same scan
628
658
  * `TokenStatsDoc.scannedAt` reports), so a grid can say how old it is. */
629
659
  scannedAt: number;
@@ -135,6 +135,16 @@ export interface BacklogItem {
135
135
  error?: string;
136
136
  /** Archived items are hidden from the default backlog view but kept for reference. */
137
137
  archived?: boolean;
138
+ /**
139
+ * The row was CALLED OFF before it ran (`Intent.state` `canceled`): by the
140
+ * agent that posted it (`"agent"`, `isAgentWithdrawn` — a draft it replaced)
141
+ * or by anyone else (`"other"`: the phone, an assessment's dismissal). `status`
142
+ * stays `failed` so a phone that predates the field still draws a terminal
143
+ * row; one that reads it draws *withdrawn* / *called off*, counts it with the
144
+ * settled rows, and offers none of the verbs the host refuses on a cancelled
145
+ * row (run it again, drop the clock, re-time). `error` says who called it off.
146
+ */
147
+ calledOff?: "agent" | "other";
138
148
  /** Waits for a person's tap: auto-fire never starts it
139
149
  * (`Intent.manual`, an agent's backlog add). The row says so in
140
150
  * `MANUAL_HOLD_TEXT`. */
@@ -306,6 +316,9 @@ export interface BuildConfig {
306
316
  * ends ask.
307
317
  */
308
318
  params?: BuildParam[];
319
+ /** The artifact this entry produces, as its build records name it in
320
+ * `<repo>/.waterplane/versions.jsonl` (`buildstamp.ts`). Absent ⇒ the entry's own `id`. */
321
+ artifact?: string;
309
322
  }
310
323
  /**
311
324
  * One thing a build asks for at the moment you tap run.
@@ -1 +1 @@
1
- {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/wire/work.ts"],"names":[],"mappings":"AAAA,qGAAqG;AA+mBrG,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAC3B,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;CAChB,CAAC;AAuDF;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/wire/work.ts"],"names":[],"mappings":"AAAA,qGAAqG;AA4nBrG,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IAC3B,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;CAChB,CAAC;AAuDF;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A word for a value that crossed the wire.
3
+ *
4
+ * A `Record<Union, string>` table is total only for the build that compiled
5
+ * it: a value a newer host (or a newer phone) adds is not a key here, and
6
+ * `T[k]` reads `undefined` into a sentence. `wordOf` is the read that says
7
+ * what an unknown key reads as. Own keys only, so `"constructor"` is unknown
8
+ * too. Any value type: an icon table drawn as a component needs it most — an
9
+ * `undefined` component is not a blank, it throws and takes the sheet down. Lint: `local/total-wire-words` (tools/eslint/totalwords.js).
10
+ */
11
+ export declare function wordOf<K extends string, V = string>(table: Readonly<Record<K, V>>, k: string, fallback: V): V;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A word for a value that crossed the wire.
3
+ *
4
+ * A `Record<Union, string>` table is total only for the build that compiled
5
+ * it: a value a newer host (or a newer phone) adds is not a key here, and
6
+ * `T[k]` reads `undefined` into a sentence. `wordOf` is the read that says
7
+ * what an unknown key reads as. Own keys only, so `"constructor"` is unknown
8
+ * too. Any value type: an icon table drawn as a component needs it most — an
9
+ * `undefined` component is not a blank, it throws and takes the sheet down. Lint: `local/total-wire-words` (tools/eslint/totalwords.js).
10
+ */
11
+ export function wordOf(table, k, fallback) {
12
+ return Object.prototype.hasOwnProperty.call(table, k) ? table[k] : fallback;
13
+ }
14
+ //# sourceMappingURL=wordof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordof.js","sourceRoot":"","sources":["../src/wordof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAA+B,KAA6B,EAAE,CAAS,EAAE,QAAW;IACxG,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnF,CAAC"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.6",
3
+ "version": "0.1.14",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "waterplane",
9
- "version": "0.1.6",
9
+ "version": "0.1.14",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@xterm/headless": "5.5.0",
@@ -22,7 +22,7 @@
22
22
  "waterplane": "bin/waterplane.mjs"
23
23
  },
24
24
  "engines": {
25
- "node": ">=20.12"
25
+ "node": ">=22.12"
26
26
  }
27
27
  },
28
28
  "node_modules/@waterplane/shared": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waterplane",
3
- "version": "0.1.6",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "description": "waterplane — phone-native remote control for Claude Code on your PC",
6
6
  "license": "MIT",
@@ -27,7 +27,7 @@
27
27
  "waterplane": "bin/waterplane.mjs"
28
28
  },
29
29
  "engines": {
30
- "node": ">=20.12"
30
+ "node": ">=22.12"
31
31
  },
32
32
  "dependencies": {
33
33
  "@xterm/headless": "5.5.0",
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "scorecard",
3
+ "name": "Scorecard",
4
+ "version": "0.1.0",
5
+ "apiVersion": "2.0",
6
+ "description": "Shows the public OpenSSF Scorecard of a repo's GitHub remote: the score, which checks lose points, and a one-tap prompt for the agent to fix one. It reads only the public Scorecard and GitHub APIs (no sign-in, no model call) and only when you look. The repo's owner/name goes to api.github.com to check it is public; a private repo's name is never sent to OpenSSF.",
7
+ "host": "host/index.mts",
8
+ "web": "web/index.ts",
9
+ "optional": true
10
+ }
@@ -0,0 +1,13 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { SessionInfo } from "@waterplane/shared";
3
+ export interface AgentExposureDeps {
4
+ sessions: {
5
+ list(): SessionInfo[];
6
+ };
7
+ /** Re-run the repo's checklist after a write so the badge moves. Optional: tests omit it. */
8
+ refresh?(dir: string): void | Promise<void>;
9
+ json(res: ServerResponse, data: unknown, status?: number): void;
10
+ readJson(req: IncomingMessage): Promise<any>;
11
+ }
12
+ /** `true` when the request was this route's (answered, or refused). */
13
+ export declare function handleAgentExposure(req: IncomingMessage, res: ServerResponse, path: string, url: URL, d: AgentExposureDeps): Promise<boolean>;