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
@@ -30,10 +30,16 @@ import { InstallLogStore } from "./installlog.js";
30
30
  import { SettingsStore } from "./settings.js";
31
31
  import { PushManager } from "./push.js";
32
32
  import { NotifyPrefsStore } from "./notifyprefs.js";
33
+ import { AttentionStore } from "./attentionstore.js";
34
+ import { setPrNotify } from "./prs.js";
35
+ import { setGitOutcomeSink } from "./git.js";
36
+ import { reportExplainOutcome, reportGitOutcome, startPushFailureWatch } from "./gitnotify.js";
37
+ import { setExplainSink } from "./explainjob.js";
33
38
  import { UpdateChecker } from "./update.js";
34
39
  import { createPluginUpdates, createUpdateApplier } from "./updates/wire.js";
35
40
  import { SetupWatcher } from "./setupwatch.js";
36
41
  import { createHealthWatch } from "./healthwatch.js";
42
+ import { createExposurePush } from "./exposurepush.js";
37
43
  import { startDiskWatch } from "./diskwatch.js";
38
44
  import { NetStats } from "./netstats.js";
39
45
  import { DecisionLog } from "./decisionlog.js";
@@ -48,7 +54,9 @@ import { UiStats } from "./uistats.js";
48
54
  import { UsageChecker } from "./usage.js";
49
55
  import { createUsageSources } from "./usagesources.js";
50
56
  import { UsageLog } from "./usagelog.js";
51
- import { createBurnWatch } from "./burnwatch.js";
57
+ import { createBurnWatch, createSourceBurnWatch } from "./burnwatch.js";
58
+ import { createWeekBurn } from "./weekburn.js";
59
+ import { cachedTargets, discoverTargets } from "./repos.js";
52
60
  import { costMeta } from "./costwindow.js";
53
61
  import { hostStateDir } from "./branddirs.js";
54
62
  import { BudgetStore } from "./budget.js";
@@ -146,13 +154,19 @@ installChecklistStores(ROOT);
146
154
  /** Who is connected and how anything reaches them — sockets, `send`/`broadcast`,
147
155
  * auth re-evaluation, the watched set, the notification feed and `notify()`.
148
156
  * See `server/clients.ts`. */
149
- const { attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized, authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone, send, broadcast, notifications, notify, } = createClients({ auth, notifyPrefs, push, sessions });
157
+ const { attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized, authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone, send, broadcast, notifications, notify, notificationFeed, clearNotifications, handleNotification, resolveAttention, resolveAttentionPrefix, attention, } = createClients({ auth, notifyPrefs, push, sessions, attention: new AttentionStore(ROOT) });
150
158
  ctx.healthWatch = createHealthWatch(ROOT, notify);
151
159
  Object.assign(ctx, {
152
160
  attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized,
153
161
  authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone,
154
- send, broadcast, notifications, notify,
162
+ send, broadcast, notifications, notify, notificationFeed, clearNotifications, handleNotification,
163
+ resolveAttention, resolveAttentionPrefix, attention,
155
164
  });
165
+ // A host-run pull or push that ended is told once (`gitnotify.ts`): failed ⇒ attention, pushed ⇒ a receipt; a push from a terminal is no outcome, so a minute tick asks git about each open push failure.
166
+ setGitOutcomeSink((o) => reportGitOutcome(o, ctx));
167
+ const stopPushWatch = DOCTOR ? undefined : startPushFailureWatch({ attention: ctx.attention, resolveAttention: (k, n) => ctx.resolveAttention(k, n), worktrees: async () => new Map((await cachedTargets(ROOT)).map((t) => [t.id, t.worktreePath])) });
168
+ setExplainSink((o) => reportExplainOutcome(o, ctx));
169
+ setPrNotify(ctx); // PR changes seen by the leased poll (prs.ts) ride the git notify path
156
170
  const deliveries = createDeliveries(ctx);
157
171
  ctx.startPrompt = deliveries.startPrompt;
158
172
  ctx.deliverChain = deliveries.deliverChain;
@@ -168,7 +182,10 @@ ctx.deliverInput = deliveries.deliverInput;
168
182
  * week. The record is fed from ten call sites (`clihealth.ts` names them); the
169
183
  * singleton is what stops call site eleven from forgetting.
170
184
  */
171
- const cliHealthStore = new CliHealthStore(ROOT, (health, rollup) => broadcast({ t: "clihealth", health, rollup, source: cliHealthStore.source() }), (kind, p) => notify(kind, p));
185
+ const cliHealthStore = new CliHealthStore(ROOT, (health, rollup) => broadcast({ t: "clihealth", health, rollup, source: cliHealthStore.source() }),
186
+ // Keyed per signal so a recovery can resolve it (tag `clihealth-<id>` → key `cli:<id>`).
187
+ (kind, p) => notify(kind, p.tag.startsWith("clihealth-") ? { ...p, key: `cli:${p.tag.slice(10)}` } : p));
188
+ cliHealthStore.onRecovered = (id) => { ctx.resolveAttention(`cli:${id}`, "recovered"); };
172
189
  setCliHealth(cliHealthStore);
173
190
  ctx.cliHealthStore = cliHealthStore;
174
191
  /**
@@ -392,15 +409,28 @@ ctx.uiStats = uiStats;
392
409
  */
393
410
  const usageLog = new UsageLog(ROOT);
394
411
  const burnWatch = createBurnWatch({ usageLog, costWindow: (a, b) => tokenStats.costWindow(a, b, costMeta(sessions, intents), 60_000), notify, stateDir: hostStateDir(ROOT) });
412
+ // The week-end burn (weekburn.ts): the weekly pick, its lazy backlog packages and the once-a-week nudge.
413
+ // Closures, not values: `usage` and `billingWire` are defined below and read only when the callback runs.
414
+ const weekBurn = createWeekBurn({
415
+ stateDir: hostStateDir(ROOT), usage: () => usage.get(), usageLog, subscription: () => billingWire.scraped(),
416
+ rows: () => intents.list(), repos: () => discoverTargets(ROOT),
417
+ add: (text, repoDir, label, opts) => backlog.add(text, repoDir, label, undefined, true, opts),
418
+ health: (dir) => ctx.healthWatch.summaryFor(dir), notify, notifyOn: () => notifyEnabled(notifyPrefs.get(), "weekburn"),
419
+ changed: () => syncUsagePolling(),
420
+ });
421
+ ctx.weekBurn = weekBurn;
395
422
  const usage = new UsageChecker(ROOT, (u) => {
396
423
  usageLog.note(u);
397
424
  void burnWatch.observe(u);
425
+ void weekBurn.observe(u);
398
426
  usageSources.publish(); // `usage` + every source's `readings` (usagesources.ts)
399
427
  // A fresh reading can flip the budget either way (over, or back under after a
400
428
  // reset): publishing it HERE makes the phone's queue rows explain themselves unasked.
401
429
  ctx.publishBudget();
402
430
  });
403
- const usageSources = createUsageSources(ROOT, () => usage.get(), broadcast);
431
+ const sourceBurn = createSourceBurnWatch({ history: (s) => usageSources.history(s)?.samples ?? null, notify, stateDir: hostStateDir(ROOT) }); /* the burn push per non-claude source, on each fresh reading */
432
+ const usageSources = createUsageSources(ROOT, () => usage.get(), broadcast, (r) => { if (notifyEnabled(notifyPrefs.get(), "burn"))
433
+ void sourceBurn.observe(r); });
404
434
  ctx.usageLog = usageLog;
405
435
  ctx.usage = usage;
406
436
  ctx.usageSources = usageSources;
@@ -424,7 +454,7 @@ usage.seed(usageLog.last());
424
454
  // Billing profile + dollar-period spend (server/billingwire.ts); the budget reads them.
425
455
  const billingWire = createBillingWire(ctx);
426
456
  ctx.billing = billingWire.billing;
427
- const budget = new BudgetStore(ROOT, () => usage.get(), () => billingWire.spend(), () => billingWire.scraped());
457
+ const budget = new BudgetStore(ROOT, () => usage.get(), () => billingWire.spend(), () => billingWire.scraped(), () => billingWire.spendWhy());
428
458
  ctx.budget = budget;
429
459
  setSpendPeriodSource(() => budget.usdPeriods());
430
460
  ctx.publishBudget = billingWire.publishBudget; // tells clients the verdict, only when it moved
@@ -441,9 +471,10 @@ function syncUsagePolling() {
441
471
  const cfg = budget.get();
442
472
  const forBudget = cfg.enabled && (cfg.sessionMax < 100 || (cfg.weeklyMax != null && cfg.weeklyMax < 100) || (cfg.leftoverMax != null && cfg.leftoverMax < 100));
443
473
  billingWire.syncSpendFold();
444
- const forBurn = burnWatch.armed() && notifyEnabled(notifyPrefs.get(), "burn"); // the burn push only sees polled readings
474
+ const forBurn = (burnWatch.armed() || sourceBurn.armed()) && notifyEnabled(notifyPrefs.get(), "burn"); // the burn push only sees polled readings
445
475
  // A known non-subscription account has no /usage screen worth a `claude` spawn; `unknown` polls as before.
446
- const gated = forPlugins || forBudget || forBurn || sessions.wantsBudgetUsage();
476
+ const forWeekBurn = weekBurn.armed(); // a pick for this week, `recurring`, or this week's nudge still possible
477
+ const gated = forPlugins || forBudget || forBurn || forWeekBurn || sessions.wantsBudgetUsage();
447
478
  usageSources.setPolling(gated); // other sources: same predicate, not claude's billing gate
448
479
  if (!billingWire.scraped())
449
480
  usage.stopPolling();
@@ -496,11 +527,11 @@ if (acks.lost)
496
527
  acks.onWriteError = (message) => notify("undelivered", ackWriteNotice(message)); // …and so is one that stopped reaching the disk
497
528
  // So is a lost password file (auth.ts: fails closed) and an unreadable or newer intent store (intents/disk.ts).
498
529
  if (auth.lost)
499
- notify("info", authLostNotice(auth.lost));
530
+ notify("info", { ...authLostNotice(auth.lost), level: "attention" });
500
531
  {
501
532
  const n = intents.storeNotice();
502
533
  if (n)
503
- notify("backlog", n);
534
+ notify("backlog", { ...n, level: "attention" });
504
535
  }
505
536
  /**
506
537
  * Connectivity + delivery telemetry. Counts the things you can only see in
@@ -647,7 +678,9 @@ async function main() {
647
678
  if (!DOCTOR)
648
679
  void ctx.healthWatch.start(); // setup checklist swept; health index cached, engine re-run weekly
649
680
  if (!DOCTOR)
650
- startDiskWatch({ notify }); // low disk: one push per level (macOS ends Tailscale to free space)
681
+ createExposurePush(ROOT, notify, (k, n) => ctx.resolveAttention(k, n)).start(); // one push per new exposure alert on a watched repo; boot sweep after 30 s, then every 10 min
682
+ if (!DOCTOR)
683
+ startDiskWatch({ notify, recovered: () => { ctx.resolveAttention("disk", "disk space back"); } }); // low disk: one push per level (macOS ends Tailscale to free space)
651
684
  const attachWs = (server) => {
652
685
  // permessage-deflate: the socket carries base64'd PTY output, and a claude
653
686
  // TUI repaint is tens of KB of highly repetitive ANSI — the single largest
@@ -686,7 +719,7 @@ async function main() {
686
719
  void runChecks(doctorInput, true, true, true).then(printBootSummary).catch(() => { });
687
720
  }
688
721
  }
689
- installShutdown(ctx);
722
+ installShutdown(ctx, [stopPushWatch]);
690
723
  main().catch((err) => {
691
724
  console.error(`${logTag} fatal`, err);
692
725
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AACrD,OAAO,EACe,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAAC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvO,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAAC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAAC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9M,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAAC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAAC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAAC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9Q,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAAC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAAC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAAC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChR,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1H,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;AACzC;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,iFAAiF;AACjF,iFAAiF;AACjF,6EAA6E;AAC7E;;;;;+CAK+C;AAC/C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,GAAG,GAAG,EAAoB,CAAC;AACjC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAE7E,+EAA+E;AAC/E,gFAAgF;AAChF,2DAA2D;AAC3D,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;AAC5H,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAAC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAAC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAClH,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAAC,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;AAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAE/G,gBAAgB,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,kDAAkD;AAC9I,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxB,4FAA4F;AAC5F,yEAAyE;AACzE,oBAAoB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,IAAI,CAAC,MAAM;IAAE,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAChB;iFACiF;AACjF,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;AAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAC,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;AAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACjI;;;2CAG2C;AAC3C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1C,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;AAE5B;;;;gBAIgB;AAChB,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAE7B;;+BAE+B;AAC/B,MAAM,EACJ,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EACnF,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EACpF,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAChG,gBAAgB,EAAE,sBAAsB,EAAE,SAAS,GACpD,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAAC,GAAG,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjJ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;IACjB,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB;IACnF,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB;IACpF,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB;IAChG,gBAAgB,EAAE,sBAAsB,EAAE,SAAS;CACpD,CAAC,CAAC;AACH,0MAA0M;AAC1M,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAAC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,uEAAuE;AAE1b,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACzC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;AAAC,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;AACrF,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;AAAC,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,EACJ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;AAClG,yFAAyF;AACzF,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxG,CAAC;AACF,cAAc,CAAC,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,YAAY,CAAC,cAAc,CAAC,CAAC;AAC7B,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;AAC5B;;;;;;;;;GASG;AACH,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AAEtF;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC3C,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxB,4EAA4E;AAC5E,8EAA8E;AAC9E,qEAAqE;AACrE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACvI,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACvC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;AACnD,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAAC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAC3D,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAAC,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACrE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;AAChC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAE1D,yEAAyE;AACzE,wEAAwE;AACxE,MAAM,OAAO,GAAkB,IAAI,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAEtB;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC9E;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;IAC/B,OAAO;IACP,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;CAC7C,CAAC,CAAC;AACH,MAAM,OAAO,GAAmB,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACzF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACjE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACrF,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACzC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACnD,SAAS,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnG;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACpD,SAAS,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAErG;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,cAAc,GAAG,kBAAkB,CAAC;IACxC,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;IAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;CACrC,CAAC,CAAC;AACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAAC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,MAAM,CAAC,MAAM,0BAA0B,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mCAAmC,CAAC,CAAC;IAC/J,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,UAAU;QAAE,WAAW,CAAC,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,2HAA2H;AAC3H,uGAAuG;AACvG,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAEzC,+EAA+E;AAC/E,+EAA+E;AAC/E,4CAA4C;AAC5C,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEtB,gFAAgF;AAChF,6EAA6E;AAC7E,wCAAwC;AACxC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpF,4EAA4E;AAC5E,gDAAgD;AAChD,IAAI,CAAC,MAAM;IAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACzI,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAClC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;AACpC,UAAU,CAAC,mBAAmB,EAAE,CAAC;AACjC,IAAI,CAAC,MAAM;IAAE,cAAc,CAAC,KAAK,EAAE,CAAC;AACpC,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,8EAA8E;AAErI,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;IACzC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,0CAA0C;IAC1C,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AAEtB,iFAAiF;AACjF,MAAM,WAAW,GAAgB,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1J,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;AAC9B;;;;GAIG;AACH,MAAM,YAAY,GAAG,IAAI,OAAO,CAC9B,IAAI,EACJ,CAAC,EAAE,EAAE,EAAE;IACL,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAC/C,CAAC;AACF,UAAU,CAAC,YAAY,CAAC,CAAC;AACzB,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;AAChC;;;;GAIG;AACH,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;AAC5B;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3C,+EAA+E;AAC/E,kEAAkE;AAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAClC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9K,yGAAyG;AACzG,0GAA0G;AAC1G,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;IAC3G,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9D,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7F,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC;IACtH,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;CAClC,CAAC,CAAC;AACH,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;IACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,wDAAwD;IAChF,8EAA8E;IAC9E,sFAAsF;IACtF,GAAG,CAAC,aAAa,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,gEAAgE;AAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;IAAE,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAAC,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;AAC9b;;;;GAIG;AACH;;;;;;;;;;GAUG;AACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5B,wFAAwF;AACxF,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAAC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAC9E,MAAM,MAAM,GAAgB,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AACjO,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,gDAAgD;AAC/F,6EAA6E;AAC7E,SAAS,gBAAgB;IACvB,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACxC,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,oGAAoG;IACpG,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IAChK,WAAW,CAAC,aAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,0CAA0C;IACjJ,2GAA2G;IAC3G,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,yEAAyE;IAC/G,MAAM,KAAK,GAAG,UAAU,IAAI,SAAS,IAAI,OAAO,IAAI,WAAW,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,2DAA2D;IAC3L,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,WAAW,EAAE,CAAC;SAC3C,IAAI,KAAK;QAAE,KAAK,CAAC,YAAY,EAAE,CAAC;;QAAM,KAAK,CAAC,WAAW,EAAE,CAAC;AACjE,CAAC;AACD,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACxC;;;GAGG;AACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC;IACjC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,oCAAoC;IACjG,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrH,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAe,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAe,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,iCAAiC;CACtT,CAAC,CAAC;AACH,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB,GAAG,CAAC,aAAa,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AACtF,GAAG,CAAC,aAAa,GAAG,mBAAmB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAC7G,IAAI,CAAC,MAAM;IAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5J,+DAA+D;AAC/D,2EAA2E;AAC3E,IAAI,CAAC,MAAM;IAAE,gBAAgB,EAAE,CAAC;AAChC,gGAAgG;AAChG,IAAI,CAAC,MAAM;IAAE,KAAK,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC;IACC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,2CAA2C,CAAC,CAAC,UAAU,0BAA0B,CAAC,CAAC;AAC/I,CAAC;AACD,IAAI,CAAC,KAAK,CAAC,OAAO;IAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,6BAA6B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9F,wEAAwE;AAExE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAE7B,wEAAwE;AAExE;;;GAGG;AACH,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACjC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAC,IAAI,IAAI,CAAC,IAAI;IAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kCAAkC;AACtH,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gDAAgD;AACjI,gHAAgH;AAChH,IAAI,IAAI,CAAC,IAAI;IAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACpF,CAAC;IAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAAC,IAAI,CAAC;QAAE,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAAC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/B,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAAC,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAEtH;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,EAAa,EAAE,GAAkB;IAC5D,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AACD,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAE9C,KAAK,UAAU,IAAI;IACjB,IAAI,MAAM,EAAE,CAAC;QACX,2EAA2E;QAC3E,wDAAwD;QACxD,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,iCAAiC,kBAAkB,GAAG,IAAI,cAAc,CAAC,CAAC;YACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IACD,+EAA+E;IAC/E,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,yEAAyE;IACzE,0BAA0B;IAC1B,KAAK,kBAAkB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACvC,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW;QAClE,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE;QAC9B,6EAA6E;QAC7E,2EAA2E;QAC3E,+EAA+E;QAC/E,6EAA6E;QAC7E,mCAAmC;QACnC,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG;KACzC,CAAC;IACF,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;;YAChF,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC;IAChD,2EAA2E;IAC3E,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,OAAO;QACjB,CAAC,CAAC,CAAC,OAAO,CAAC;QACX,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,0DAA0D,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAC/B,WAAW,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CACV,GAAG,MAAM,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C;YAC5F,GAAG,MAAM,0BAA0B,OAAO,CAAC,cAAc,CAAC,qEAAqE,CAChI,CAAC;QACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC;IAAC,eAAe,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,+CAA+C;IAClK,IAAI,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,gFAAgF,CAAC,CAAC;IAEpJ,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,qBAAqB;IACrB,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7G,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,KAAK,EAAE,CAAC;gBACR,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBACrC,IAAI,GAAG,EAAE,CAAC;oBACR,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9H,CAAC;qBAAM,IAAI,KAAK,IAAI,EAAE;oBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAO,wDAAwD;IAChF,oFAAoF;IACpF,yEAAyE;IACzE,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,0CAA0C;IACvG,OAAO,CAAC,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,mDAAmD;IAC5G,UAAU,CAAC,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,MAAM;QAAE,KAAK,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,mEAAmE;IAClI,IAAI,CAAC,MAAM;QAAE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,8FAA8F;IAC3L,IAAI,CAAC,MAAM;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oEAAoE;IAEpL,MAAM,QAAQ,GAAG,CAAC,MAAuC,EAAE,EAAE;QAC3D,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,qDAAqD;YACzF,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,0EAA0E;YAC1H,iBAAiB,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,SAAS,EAAE,GAAG;gBACd,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAC7C,gBAAgB,EAAE,EAAE;aACrB;SACF,CAAC,CAAC;QACH,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,yDAAyD;IACjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,yEAAyE,CAAC,CAAC;IAEhG,yEAAyE;IACzE,6EAA6E;IAC7E,qFAAqF;IACrF,yCAAyC;IACzC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7B,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,KAAK,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAyC,CAAC,CAAC,CAAC;IAC9H,CAAC;AACH,CAAC;AAED,eAAe,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAEtC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { networkInterfaces } from "node:os";
1
2
  /**
2
3
  * Find the local Tailscale IPv4 (100.64.0.0/10 CGNAT range) if present.
3
4
  * Mirrors the trick the Python drop server uses: enumerate interfaces and
@@ -47,6 +48,7 @@ export declare function requestPeerKind(remoteAddress: string | undefined | null
47
48
  /** This desktop's name as a person would call it: the OS hostname, minus the
48
49
  * `.local` mDNS suffix macOS appends. */
49
50
  export declare function hostName(): string;
51
+ export declare function lanIpsFrom(ifaces: ReturnType<typeof networkInterfaces>): string[];
50
52
  export declare function lanIps(): string[];
51
53
  export declare function tailscaleIp(): Promise<string | null>;
52
54
  /**
@@ -96,9 +96,15 @@ export function requestPeerKind(remoteAddress, headers) {
96
96
  export function hostName() {
97
97
  return hostname().replace(/\.local$/i, "") || "desktop";
98
98
  }
99
- export function lanIps() {
99
+ /** Interfaces a phone on the same Wi-Fi can never reach: VM and container
100
+ * bridges (OrbStack/UTM `bridge*` + `vmenet*`, Docker, libvirt, VirtualBox,
101
+ * VMware) and tunnels. Offering their addresses as a LAN link is a dead chip. */
102
+ const VIRTUAL_IFACE = /^(bridge|vmenet|vmnet|vboxnet|docker|br-|veth|virbr|utun|tun|tap|wg|zt|cni|flannel|lxc|lxd)/i;
103
+ export function lanIpsFrom(ifaces) {
100
104
  const out = [];
101
- for (const addrs of Object.values(networkInterfaces())) {
105
+ for (const [name, addrs] of Object.entries(ifaces)) {
106
+ if (VIRTUAL_IFACE.test(name))
107
+ continue;
102
108
  for (const a of addrs ?? []) {
103
109
  if (a.family === "IPv4" && !a.internal && !a.address.startsWith("100."))
104
110
  out.push(a.address);
@@ -106,6 +112,9 @@ export function lanIps() {
106
112
  }
107
113
  return out;
108
114
  }
115
+ export function lanIps() {
116
+ return lanIpsFrom(networkInterfaces());
117
+ }
109
118
  export async function tailscaleIp() {
110
119
  const candidates = new Set();
111
120
  for (const addrs of Object.values(networkInterfaces())) {
@@ -1 +1 @@
1
- {"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The short line the phone shows for a transient API error, or null when the
3
+ * text is not one. The `API Error:` prefix is required (it is what marks the
4
+ * CLI's give-up) and dropped from the label; the label is the first sentence,
5
+ * capped at 100 chars.
6
+ */
7
+ export declare function transientApiError(text: string): string | null;
8
+ export interface NetLogVerdict {
9
+ /**
10
+ * `transient`: the NEWEST assistant row is a transient give-up.
11
+ * `clear`: the newest assistant row is anything else (a served reply, a wall, a stub error).
12
+ * `unknown`: no log, or no assistant row in the tail — nothing to say.
13
+ */
14
+ state: "transient" | "clear" | "unknown";
15
+ /** When the transient row was written (epoch ms); null unless `transient`. */
16
+ at: number | null;
17
+ /** The phone's short line; null unless `transient`. */
18
+ error: string | null;
19
+ }
20
+ /** The verdict of one parsed row, or null when the row is not an assistant row. */
21
+ export declare function netRowVerdict(row: Record<string, unknown>): NetLogVerdict | null;
22
+ /** What the conversation log says about the NEWEST assistant row. */
23
+ export declare function readNetLog(path: string): NetLogVerdict;
24
+ /** Default wait before retry n (0-based): quick first, then widening. */
25
+ export declare const NET_LADDER_MS: readonly number[];
26
+ /** Default number of retries before giving up and saying so. */
27
+ export declare const NET_MAX_ATTEMPTS = 8;
28
+ /**
29
+ * The wait before retry `attempt` (0-based count of retries ALREADY sent), or
30
+ * null once `max` retries have been sent — the cap. Past the ladder's end the
31
+ * last rung repeats.
32
+ */
33
+ export declare function netRetryDelay(attempt: number, max?: number, ladder?: readonly number[]): number | null;
34
+ /**
35
+ * Is this transient row a NEW give-up, i.e. one the turn that just ended wrote?
36
+ * It must be stamped at/after that turn started (minus a little clock slack) —
37
+ * else it is an old error still newest in a log whose turn ended for some other
38
+ * reason (an Esc, a hook), and typing `continue` there would be a prompt nobody sent.
39
+ */
40
+ export declare function freshGiveUp(v: NetLogVerdict, turnStartedAt: number | undefined, slackMs?: number): boolean;
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Did the last turn end because the CLI gave up on a TRANSIENT API error —
3
+ * asked of the CLI's own log, never of the screen.
4
+ *
5
+ * The CLI retries a failed request itself ("attempt 1/10"), but during a DNS or
6
+ * Wi-Fi outage that budget runs out in seconds to minutes and the TURN ENDS. The
7
+ * give-up is written to the conversation jsonl as a DATED synthetic assistant row:
8
+ *
9
+ * {"type":"assistant","timestamp":"…","isApiErrorMessage":true,"error":"server_error",
10
+ * "message":{"model":"<synthetic>","content":[{"type":"text","text":"API Error: …"}]}}
11
+ *
12
+ * Two facts together make a row transient here, and both are needed:
13
+ * - `error === "server_error"` — a stub's `400` carries `unknown`, and nothing
14
+ * but the CLI's own classification is trusted for which side failed;
15
+ * - the TEXT has a known transient shape (`transientApiError`): a network errno,
16
+ * can't reach, connection lost/dropped/refused, no response, 5xx/529.
17
+ * A spend wall is an API-error row too: `detectSpendText` claims it first, because
18
+ * a wall is `limitlog.ts`/`spendwall.ts`'s and a retry there spends nothing but
19
+ * attempts. A `quotaLimits` rejection is a usage limit — never ours. An unknown
20
+ * shape is no retry: degrade to absent, never guess.
21
+ *
22
+ * The ladder is here too (`netRetryDelay`), pure, like `limitretry.ts`'s.
23
+ */
24
+ import { closeSync, openSync, readSync, statSync } from "node:fs";
25
+ import { stamp } from "./convlog.js";
26
+ import { detectSpendText } from "./limit.js";
27
+ /** A give-up is the last row of its turn, so the answer is always near the end. */
28
+ const MAX_READ = 256 * 1024;
29
+ /**
30
+ * The transient shapes, each a phrase the CLI prints. Kept as a list so a new
31
+ * wording is one line and a test row. Case-insensitive; matched against the
32
+ * text AFTER the `API Error:` prefix.
33
+ */
34
+ const TRANSIENT = [
35
+ /\b(?:ENOTFOUND|EAI_AGAIN|ECONNRESET|ECONNREFUSED|ECONNABORTED|ETIMEDOUT|ENETUNREACH|ENETDOWN|EHOSTUNREACH|EPIPE|UND_ERR_[A-Z_]+)\b/,
36
+ /\bcan(?:'|’)?t reach the API\b|\bcannot reach the API\b|\bunable to (?:connect|reach)\b/i,
37
+ /\bconnection (?:lost|dropped|refused|reset|error|closed|timed out)\b/i,
38
+ /\bno response from (?:the )?API\b/i,
39
+ /\brequest timed out\b|\btimed out waiting\b/i,
40
+ /^(?:5\d\d)\b/,
41
+ /\boverloaded\b|\bservice unavailable\b|\bbad gateway\b|\bgateway time-?out\b|\binternal server error\b/i,
42
+ ];
43
+ /**
44
+ * The short line the phone shows for a transient API error, or null when the
45
+ * text is not one. The `API Error:` prefix is required (it is what marks the
46
+ * CLI's give-up) and dropped from the label; the label is the first sentence,
47
+ * capped at 100 chars.
48
+ */
49
+ export function transientApiError(text) {
50
+ const m = /^\s*API Error:\s*([\s\S]*)$/.exec(text);
51
+ if (!m)
52
+ return null;
53
+ const body = m[1].trim();
54
+ if (!body || detectSpendText(text).spend)
55
+ return null;
56
+ if (!TRANSIENT.some((re) => re.test(body)))
57
+ return null;
58
+ const first = body.split("\n")[0];
59
+ // First sentence, but keep a trailing errno in parentheses: "… DNS (ENOTFOUND)".
60
+ const cut = /^(.*?\.)(?:\s|$)/.exec(first);
61
+ const label = (cut && cut[1].length >= 12 ? cut[1] : first).trim();
62
+ return label.length > 100 ? label.slice(0, 99) + "…" : label;
63
+ }
64
+ const UNKNOWN = { state: "unknown", at: null, error: null };
65
+ const CLEAR = { state: "clear", at: null, error: null };
66
+ /** The verdict of one parsed row, or null when the row is not an assistant row. */
67
+ export function netRowVerdict(row) {
68
+ if (row.type !== "assistant")
69
+ return null;
70
+ const msg = row.message;
71
+ if (msg?.model !== "<synthetic>" || row.isApiErrorMessage !== true)
72
+ return CLEAR;
73
+ if (row.error !== "server_error" || row.quotaLimits)
74
+ return CLEAR;
75
+ const error = transientApiError(rowText(row));
76
+ const at = stamp(row);
77
+ // Undated is not a give-up we can place against our own attempts: absent.
78
+ if (!error || at == null)
79
+ return CLEAR;
80
+ return { state: "transient", at, error };
81
+ }
82
+ /** What the conversation log says about the NEWEST assistant row. */
83
+ export function readNetLog(path) {
84
+ let st;
85
+ try {
86
+ st = statSync(path);
87
+ }
88
+ catch {
89
+ return UNKNOWN;
90
+ }
91
+ const start = Math.max(0, st.size - MAX_READ);
92
+ const len = st.size - start;
93
+ if (len <= 0)
94
+ return UNKNOWN;
95
+ const buf = Buffer.allocUnsafe(len);
96
+ let fd;
97
+ try {
98
+ fd = openSync(path, "r");
99
+ }
100
+ catch {
101
+ return UNKNOWN;
102
+ }
103
+ try {
104
+ readSync(fd, buf, 0, len, start);
105
+ }
106
+ catch {
107
+ return UNKNOWN;
108
+ }
109
+ finally {
110
+ closeSync(fd);
111
+ }
112
+ const lines = buf.toString("utf8").split("\n");
113
+ if (start > 0)
114
+ lines.shift(); // a tail read starts mid-record
115
+ for (let i = lines.length - 1; i >= 0; i--) {
116
+ const line = lines[i];
117
+ if (!line || line.charCodeAt(0) !== 123 /* { */ || !line.includes('"assistant"'))
118
+ continue;
119
+ let row;
120
+ try {
121
+ row = JSON.parse(line);
122
+ }
123
+ catch {
124
+ continue;
125
+ }
126
+ const v = netRowVerdict(row);
127
+ if (v)
128
+ return v;
129
+ }
130
+ return UNKNOWN;
131
+ }
132
+ function rowText(row) {
133
+ const c = row.message?.content;
134
+ if (typeof c === "string")
135
+ return c;
136
+ if (!Array.isArray(c))
137
+ return "";
138
+ return c.map((b) => (b && typeof b.text === "string" ? b.text : "")).filter(Boolean).join("\n");
139
+ }
140
+ // ── The ladder ──────────────────────────────────────────────────────
141
+ /** Default wait before retry n (0-based): quick first, then widening. */
142
+ export const NET_LADDER_MS = [20_000, 60_000, 120_000, 300_000, 600_000, 900_000];
143
+ /** Default number of retries before giving up and saying so. */
144
+ export const NET_MAX_ATTEMPTS = 8;
145
+ /**
146
+ * The wait before retry `attempt` (0-based count of retries ALREADY sent), or
147
+ * null once `max` retries have been sent — the cap. Past the ladder's end the
148
+ * last rung repeats.
149
+ */
150
+ export function netRetryDelay(attempt, max = NET_MAX_ATTEMPTS, ladder = NET_LADDER_MS) {
151
+ if (!(attempt >= 0) || attempt >= max)
152
+ return null;
153
+ const rungs = ladder.length ? ladder : NET_LADDER_MS;
154
+ return rungs[Math.min(attempt, rungs.length - 1)];
155
+ }
156
+ /**
157
+ * Is this transient row a NEW give-up, i.e. one the turn that just ended wrote?
158
+ * It must be stamped at/after that turn started (minus a little clock slack) —
159
+ * else it is an old error still newest in a log whose turn ended for some other
160
+ * reason (an Esc, a hook), and typing `continue` there would be a prompt nobody sent.
161
+ */
162
+ export function freshGiveUp(v, turnStartedAt, slackMs = 2000) {
163
+ return v.state === "transient" && v.at != null && turnStartedAt != null && turnStartedAt > 0 && v.at >= turnStartedAt - slackMs;
164
+ }
165
+ //# sourceMappingURL=netlog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlog.js","sourceRoot":"","sources":["../src/netlog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type NetRetryConfig } from "@waterplane/shared";
2
+ /** The gate `apiretry.ts` asks before arming a retry. */
3
+ export declare function netRetryOn(): boolean;
4
+ /** What `netretry.config` carries. */
5
+ export declare function netRetryConfig(): NetRetryConfig;
6
+ /** Save the switch. A failed write keeps the in-memory value for this process. */
7
+ export declare function setNetRetry(enabled: boolean): NetRetryConfig;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The person's switch for the network-error retry (`sessions/apiretry.ts`,
3
+ * R-connection-025), persisted to `<state dir>/netretry.json` the way the
4
+ * halt latch is (`halt.ts`): module state, read once, written atomically.
5
+ *
6
+ * - Absent file ⇒ ON (the default; a host that was never switched has no file).
7
+ * A present-but-unreadable file is moved aside by `readJsonGuarded` and reads
8
+ * as the default too: the retry is the safe side of an outage.
9
+ * - `WATERPLANE_NET_RETRY=0` (`NET_RETRY_ENV_ON` below, read once at import) is a HARD
10
+ * override: off whatever the switch says, and `netRetryConfig().envOff` says
11
+ * so for the phone's sentence (shared `netRetryEnvOffText`).
12
+ * - Turning it off cancels every pending retry — that is the caller's (the
13
+ * route), through the slice's own cancel path (`SessionManager.netRetryCancel`).
14
+ */
15
+ import { existsSync } from "node:fs";
16
+ import { join } from "node:path";
17
+ import { logTag } from "@waterplane/shared";
18
+ import { ROOT, env } from "./env.js";
19
+ import { hostStateDir } from "./branddirs.js";
20
+ import { readJsonGuarded, writeJsonAtomic } from "./jsonstore.js";
21
+ /** The env half: `WATERPLANE_NET_RETRY=0` forces the retry off whatever the switch says. */
22
+ const NET_RETRY_ENV_ON = env("NET_RETRY") !== "0";
23
+ let saved = null;
24
+ const path = () => join(hostStateDir(ROOT), "netretry.json");
25
+ function load() {
26
+ if (saved != null)
27
+ return saved;
28
+ const p = path();
29
+ if (!existsSync(p))
30
+ return (saved = true);
31
+ const v = readJsonGuarded(p, { enabled: true }, (x) => typeof x === "object" && x !== null);
32
+ return (saved = v.enabled !== false);
33
+ }
34
+ /** The gate `apiretry.ts` asks before arming a retry. */
35
+ export function netRetryOn() { return NET_RETRY_ENV_ON && load(); }
36
+ /** What `netretry.config` carries. */
37
+ export function netRetryConfig() {
38
+ return NET_RETRY_ENV_ON ? { enabled: load() } : { enabled: load(), envOff: true };
39
+ }
40
+ /** Save the switch. A failed write keeps the in-memory value for this process. */
41
+ export function setNetRetry(enabled) {
42
+ saved = enabled;
43
+ try {
44
+ writeJsonAtomic(path(), { enabled });
45
+ }
46
+ catch (e) {
47
+ console.error(`${logTag} net retry: could not persist the switch (${enabled ? "on" : "off"}) — it holds until this process ends`, e);
48
+ }
49
+ return netRetryConfig();
50
+ }
51
+ //# sourceMappingURL=netretrycfg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netretrycfg.js","sourceRoot":"","sources":["../src/netretrycfg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElE,4FAA4F;AAC5F,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;AAElD,IAAI,KAAK,GAAmB,IAAI,CAAC;AACjC,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAErE,SAAS,IAAI;IACX,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,eAAe,CAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACnH,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,UAAU,KAAc,OAAO,gBAAgB,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAE5E,sCAAsC;AACtC,MAAM,UAAU,cAAc;IAC5B,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpF,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,KAAK,GAAG,OAAO,CAAC;IAChB,IAAI,CAAC;QAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,6CAA6C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sCAAsC,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IACnJ,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC"}