@contraagent/ui 0.0.0-stage → 0.2.0

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 (731) hide show
  1. package/README.md +137 -2
  2. package/custom-elements.json +7286 -0
  3. package/dist/adapters/check-rows.d.ts +20 -0
  4. package/dist/adapters/check-rows.d.ts.map +1 -0
  5. package/dist/adapters/check-rows.js +77 -0
  6. package/dist/adapters/check-rows.js.map +1 -0
  7. package/dist/adapters/filters.d.ts +29 -0
  8. package/dist/adapters/filters.d.ts.map +1 -0
  9. package/dist/adapters/filters.js +74 -0
  10. package/dist/adapters/filters.js.map +1 -0
  11. package/dist/adapters/graph/compound.d.ts +93 -0
  12. package/dist/adapters/graph/compound.d.ts.map +1 -0
  13. package/dist/adapters/graph/compound.js +322 -0
  14. package/dist/adapters/graph/compound.js.map +1 -0
  15. package/dist/adapters/graph/flow-index.d.ts +54 -0
  16. package/dist/adapters/graph/flow-index.d.ts.map +1 -0
  17. package/dist/adapters/graph/flow-index.js +129 -0
  18. package/dist/adapters/graph/flow-index.js.map +1 -0
  19. package/dist/adapters/graph/highlight.d.ts +14 -0
  20. package/dist/adapters/graph/highlight.d.ts.map +1 -0
  21. package/dist/adapters/graph/highlight.js +33 -0
  22. package/dist/adapters/graph/highlight.js.map +1 -0
  23. package/dist/adapters/graph/input.d.ts +50 -0
  24. package/dist/adapters/graph/input.d.ts.map +1 -0
  25. package/dist/adapters/graph/input.js +201 -0
  26. package/dist/adapters/graph/input.js.map +1 -0
  27. package/dist/adapters/graph/layer.d.ts +33 -0
  28. package/dist/adapters/graph/layer.d.ts.map +1 -0
  29. package/dist/adapters/graph/layer.js +94 -0
  30. package/dist/adapters/graph/layer.js.map +1 -0
  31. package/dist/adapters/graph/matrix.d.ts +62 -0
  32. package/dist/adapters/graph/matrix.d.ts.map +1 -0
  33. package/dist/adapters/graph/matrix.js +96 -0
  34. package/dist/adapters/graph/matrix.js.map +1 -0
  35. package/dist/adapters/graph/project.d.ts +49 -0
  36. package/dist/adapters/graph/project.d.ts.map +1 -0
  37. package/dist/adapters/graph/project.js +319 -0
  38. package/dist/adapters/graph/project.js.map +1 -0
  39. package/dist/adapters/graph/selection.d.ts +31 -0
  40. package/dist/adapters/graph/selection.d.ts.map +1 -0
  41. package/dist/adapters/graph/selection.js +48 -0
  42. package/dist/adapters/graph/selection.js.map +1 -0
  43. package/dist/adapters/graph/states.d.ts +6 -0
  44. package/dist/adapters/graph/states.d.ts.map +1 -0
  45. package/dist/adapters/graph/states.js +5 -0
  46. package/dist/adapters/graph/states.js.map +1 -0
  47. package/dist/adapters/graph/types.d.ts +141 -0
  48. package/dist/adapters/graph/types.d.ts.map +1 -0
  49. package/dist/adapters/graph/types.js +3 -0
  50. package/dist/adapters/graph/types.js.map +1 -0
  51. package/dist/adapters/graph/words.d.ts +48 -0
  52. package/dist/adapters/graph/words.d.ts.map +1 -0
  53. package/dist/adapters/graph/words.js +128 -0
  54. package/dist/adapters/graph/words.js.map +1 -0
  55. package/dist/adapters/index.d.ts +18 -0
  56. package/dist/adapters/index.d.ts.map +1 -0
  57. package/dist/adapters/index.js +23 -0
  58. package/dist/adapters/index.js.map +1 -0
  59. package/dist/adapters/journal-columns.d.ts +21 -0
  60. package/dist/adapters/journal-columns.d.ts.map +1 -0
  61. package/dist/adapters/journal-columns.js +179 -0
  62. package/dist/adapters/journal-columns.js.map +1 -0
  63. package/dist/adapters/kpi-tiles.d.ts +47 -0
  64. package/dist/adapters/kpi-tiles.d.ts.map +1 -0
  65. package/dist/adapters/kpi-tiles.js +173 -0
  66. package/dist/adapters/kpi-tiles.js.map +1 -0
  67. package/dist/adapters/lanes.d.ts +31 -0
  68. package/dist/adapters/lanes.d.ts.map +1 -0
  69. package/dist/adapters/lanes.js +75 -0
  70. package/dist/adapters/lanes.js.map +1 -0
  71. package/dist/adapters/model-shares.d.ts +27 -0
  72. package/dist/adapters/model-shares.d.ts.map +1 -0
  73. package/dist/adapters/model-shares.js +52 -0
  74. package/dist/adapters/model-shares.js.map +1 -0
  75. package/dist/adapters/panel-body.d.ts +34 -0
  76. package/dist/adapters/panel-body.d.ts.map +1 -0
  77. package/dist/adapters/panel-body.js +90 -0
  78. package/dist/adapters/panel-body.js.map +1 -0
  79. package/dist/adapters/preflight.d.ts +12 -0
  80. package/dist/adapters/preflight.d.ts.map +1 -0
  81. package/dist/adapters/preflight.js +15 -0
  82. package/dist/adapters/preflight.js.map +1 -0
  83. package/dist/adapters/task-columns.d.ts +19 -0
  84. package/dist/adapters/task-columns.d.ts.map +1 -0
  85. package/dist/adapters/task-columns.js +107 -0
  86. package/dist/adapters/task-columns.js.map +1 -0
  87. package/dist/adapters/transcript/index.d.ts +6 -0
  88. package/dist/adapters/transcript/index.d.ts.map +1 -0
  89. package/dist/adapters/transcript/index.js +8 -0
  90. package/dist/adapters/transcript/index.js.map +1 -0
  91. package/dist/adapters/transcript/model.d.ts +42 -0
  92. package/dist/adapters/transcript/model.d.ts.map +1 -0
  93. package/dist/adapters/transcript/model.js +128 -0
  94. package/dist/adapters/transcript/model.js.map +1 -0
  95. package/dist/adapters/transcript/rounds.d.ts +15 -0
  96. package/dist/adapters/transcript/rounds.d.ts.map +1 -0
  97. package/dist/adapters/transcript/rounds.js +74 -0
  98. package/dist/adapters/transcript/rounds.js.map +1 -0
  99. package/dist/adapters/transcript/sections.d.ts +18 -0
  100. package/dist/adapters/transcript/sections.d.ts.map +1 -0
  101. package/dist/adapters/transcript/sections.js +69 -0
  102. package/dist/adapters/transcript/sections.js.map +1 -0
  103. package/dist/adapters/transcript/web.d.ts +12 -0
  104. package/dist/adapters/transcript/web.d.ts.map +1 -0
  105. package/dist/adapters/transcript/web.js +39 -0
  106. package/dist/adapters/transcript/web.js.map +1 -0
  107. package/dist/adapters/transcript/who.d.ts +15 -0
  108. package/dist/adapters/transcript/who.d.ts.map +1 -0
  109. package/dist/adapters/transcript/who.js +42 -0
  110. package/dist/adapters/transcript/who.js.map +1 -0
  111. package/dist/adapters/trends.d.ts +11 -0
  112. package/dist/adapters/trends.d.ts.map +1 -0
  113. package/dist/adapters/trends.js +316 -0
  114. package/dist/adapters/trends.js.map +1 -0
  115. package/dist/contraagent-ui.js +1028 -0
  116. package/dist/controllers/locale.d.ts +25 -0
  117. package/dist/controllers/locale.d.ts.map +1 -0
  118. package/dist/controllers/locale.js +33 -0
  119. package/dist/controllers/locale.js.map +1 -0
  120. package/dist/controllers/shortcuts.d.ts +29 -0
  121. package/dist/controllers/shortcuts.d.ts.map +1 -0
  122. package/dist/controllers/shortcuts.js +51 -0
  123. package/dist/controllers/shortcuts.js.map +1 -0
  124. package/dist/controllers/stream.d.ts +41 -0
  125. package/dist/controllers/stream.d.ts.map +1 -0
  126. package/dist/controllers/stream.js +90 -0
  127. package/dist/controllers/stream.js.map +1 -0
  128. package/dist/controllers/task-detail.d.ts +22 -0
  129. package/dist/controllers/task-detail.d.ts.map +1 -0
  130. package/dist/controllers/task-detail.js +50 -0
  131. package/dist/controllers/task-detail.js.map +1 -0
  132. package/dist/controllers/theme.d.ts +32 -0
  133. package/dist/controllers/theme.d.ts.map +1 -0
  134. package/dist/controllers/theme.js +56 -0
  135. package/dist/controllers/theme.js.map +1 -0
  136. package/dist/core/events.d.ts +107 -0
  137. package/dist/core/events.d.ts.map +1 -0
  138. package/dist/core/events.js +5 -0
  139. package/dist/core/events.js.map +1 -0
  140. package/dist/core/i18n.d.ts +21 -0
  141. package/dist/core/i18n.d.ts.map +1 -0
  142. package/dist/core/i18n.js +71 -0
  143. package/dist/core/i18n.js.map +1 -0
  144. package/dist/core/index.d.ts +5 -0
  145. package/dist/core/index.d.ts.map +1 -0
  146. package/dist/core/index.js +7 -0
  147. package/dist/core/index.js.map +1 -0
  148. package/dist/core/memory.d.ts +51 -0
  149. package/dist/core/memory.d.ts.map +1 -0
  150. package/dist/core/memory.js +174 -0
  151. package/dist/core/memory.js.map +1 -0
  152. package/dist/core/scroll.d.ts +21 -0
  153. package/dist/core/scroll.d.ts.map +1 -0
  154. package/dist/core/scroll.js +74 -0
  155. package/dist/core/scroll.js.map +1 -0
  156. package/dist/core/view-route.d.ts +62 -0
  157. package/dist/core/view-route.d.ts.map +1 -0
  158. package/dist/core/view-route.js +143 -0
  159. package/dist/core/view-route.js.map +1 -0
  160. package/dist/core/view-router.d.ts +27 -0
  161. package/dist/core/view-router.d.ts.map +1 -0
  162. package/dist/core/view-router.js +57 -0
  163. package/dist/core/view-router.js.map +1 -0
  164. package/dist/define/all.d.ts +13 -0
  165. package/dist/define/all.d.ts.map +1 -0
  166. package/dist/define/all.js +14 -0
  167. package/dist/define/all.js.map +1 -0
  168. package/dist/define/contracts.d.ts +2 -0
  169. package/dist/define/contracts.d.ts.map +1 -0
  170. package/dist/define/contracts.js +3 -0
  171. package/dist/define/contracts.js.map +1 -0
  172. package/dist/define/definitions.d.ts +3 -0
  173. package/dist/define/definitions.d.ts.map +1 -0
  174. package/dist/define/definitions.js +4 -0
  175. package/dist/define/definitions.js.map +1 -0
  176. package/dist/define/journal-table.d.ts +2 -0
  177. package/dist/define/journal-table.d.ts.map +1 -0
  178. package/dist/define/journal-table.js +3 -0
  179. package/dist/define/journal-table.js.map +1 -0
  180. package/dist/define/kpis.d.ts +2 -0
  181. package/dist/define/kpis.d.ts.map +1 -0
  182. package/dist/define/kpis.js +3 -0
  183. package/dist/define/kpis.js.map +1 -0
  184. package/dist/define/monitor.d.ts +2 -0
  185. package/dist/define/monitor.d.ts.map +1 -0
  186. package/dist/define/monitor.js +3 -0
  187. package/dist/define/monitor.js.map +1 -0
  188. package/dist/define/overview.d.ts +2 -0
  189. package/dist/define/overview.d.ts.map +1 -0
  190. package/dist/define/overview.js +3 -0
  191. package/dist/define/overview.js.map +1 -0
  192. package/dist/define/pipeline-graph.d.ts +2 -0
  193. package/dist/define/pipeline-graph.d.ts.map +1 -0
  194. package/dist/define/pipeline-graph.js +3 -0
  195. package/dist/define/pipeline-graph.js.map +1 -0
  196. package/dist/define/procs.d.ts +3 -0
  197. package/dist/define/procs.d.ts.map +1 -0
  198. package/dist/define/procs.js +4 -0
  199. package/dist/define/procs.js.map +1 -0
  200. package/dist/define/task-table.d.ts +2 -0
  201. package/dist/define/task-table.d.ts.map +1 -0
  202. package/dist/define/task-table.js +3 -0
  203. package/dist/define/task-table.js.map +1 -0
  204. package/dist/define/task-view.d.ts +2 -0
  205. package/dist/define/task-view.d.ts.map +1 -0
  206. package/dist/define/task-view.js +3 -0
  207. package/dist/define/task-view.js.map +1 -0
  208. package/dist/define/timeline.d.ts +2 -0
  209. package/dist/define/timeline.d.ts.map +1 -0
  210. package/dist/define/timeline.js +3 -0
  211. package/dist/define/timeline.js.map +1 -0
  212. package/dist/define/transcript.d.ts +2 -0
  213. package/dist/define/transcript.d.ts.map +1 -0
  214. package/dist/define/transcript.js +3 -0
  215. package/dist/define/transcript.js.map +1 -0
  216. package/dist/elements/lists/ca-contracts.d.ts +46 -0
  217. package/dist/elements/lists/ca-contracts.d.ts.map +1 -0
  218. package/dist/elements/lists/ca-contracts.js +199 -0
  219. package/dist/elements/lists/ca-contracts.js.map +1 -0
  220. package/dist/elements/lists/ca-definitions.d.ts +41 -0
  221. package/dist/elements/lists/ca-definitions.d.ts.map +1 -0
  222. package/dist/elements/lists/ca-definitions.js +182 -0
  223. package/dist/elements/lists/ca-definitions.js.map +1 -0
  224. package/dist/elements/lists/ca-journal-table.d.ts +37 -0
  225. package/dist/elements/lists/ca-journal-table.d.ts.map +1 -0
  226. package/dist/elements/lists/ca-journal-table.js +170 -0
  227. package/dist/elements/lists/ca-journal-table.js.map +1 -0
  228. package/dist/elements/lists/ca-panel-body.d.ts +42 -0
  229. package/dist/elements/lists/ca-panel-body.d.ts.map +1 -0
  230. package/dist/elements/lists/ca-panel-body.js +210 -0
  231. package/dist/elements/lists/ca-panel-body.js.map +1 -0
  232. package/dist/elements/lists/ca-panel-view.d.ts +21 -0
  233. package/dist/elements/lists/ca-panel-view.d.ts.map +1 -0
  234. package/dist/elements/lists/ca-panel-view.js +59 -0
  235. package/dist/elements/lists/ca-panel-view.js.map +1 -0
  236. package/dist/elements/lists/ca-proc-tree.d.ts +16 -0
  237. package/dist/elements/lists/ca-proc-tree.d.ts.map +1 -0
  238. package/dist/elements/lists/ca-proc-tree.js +63 -0
  239. package/dist/elements/lists/ca-proc-tree.js.map +1 -0
  240. package/dist/elements/lists/ca-procs-view.d.ts +27 -0
  241. package/dist/elements/lists/ca-procs-view.d.ts.map +1 -0
  242. package/dist/elements/lists/ca-procs-view.js +91 -0
  243. package/dist/elements/lists/ca-procs-view.js.map +1 -0
  244. package/dist/elements/lists/ca-task-table.d.ts +33 -0
  245. package/dist/elements/lists/ca-task-table.d.ts.map +1 -0
  246. package/dist/elements/lists/ca-task-table.js +115 -0
  247. package/dist/elements/lists/ca-task-table.js.map +1 -0
  248. package/dist/elements/lists/index.d.ts +9 -0
  249. package/dist/elements/lists/index.d.ts.map +1 -0
  250. package/dist/elements/lists/index.js +9 -0
  251. package/dist/elements/lists/index.js.map +1 -0
  252. package/dist/elements/overview/ca-kpis.d.ts +32 -0
  253. package/dist/elements/overview/ca-kpis.d.ts.map +1 -0
  254. package/dist/elements/overview/ca-kpis.js +62 -0
  255. package/dist/elements/overview/ca-kpis.js.map +1 -0
  256. package/dist/elements/overview/ca-model-usage.d.ts +25 -0
  257. package/dist/elements/overview/ca-model-usage.d.ts.map +1 -0
  258. package/dist/elements/overview/ca-model-usage.js +118 -0
  259. package/dist/elements/overview/ca-model-usage.js.map +1 -0
  260. package/dist/elements/overview/ca-overview.d.ts +67 -0
  261. package/dist/elements/overview/ca-overview.d.ts.map +1 -0
  262. package/dist/elements/overview/ca-overview.js +463 -0
  263. package/dist/elements/overview/ca-overview.js.map +1 -0
  264. package/dist/elements/overview/ca-pipeline-graph.d.ts +211 -0
  265. package/dist/elements/overview/ca-pipeline-graph.d.ts.map +1 -0
  266. package/dist/elements/overview/ca-pipeline-graph.js +616 -0
  267. package/dist/elements/overview/ca-pipeline-graph.js.map +1 -0
  268. package/dist/elements/overview/ca-quota.d.ts +42 -0
  269. package/dist/elements/overview/ca-quota.d.ts.map +1 -0
  270. package/dist/elements/overview/ca-quota.js +179 -0
  271. package/dist/elements/overview/ca-quota.js.map +1 -0
  272. package/dist/elements/overview/ca-run-driver.d.ts +33 -0
  273. package/dist/elements/overview/ca-run-driver.d.ts.map +1 -0
  274. package/dist/elements/overview/ca-run-driver.js +146 -0
  275. package/dist/elements/overview/ca-run-driver.js.map +1 -0
  276. package/dist/elements/overview/ca-services.d.ts +25 -0
  277. package/dist/elements/overview/ca-services.d.ts.map +1 -0
  278. package/dist/elements/overview/ca-services.js +77 -0
  279. package/dist/elements/overview/ca-services.js.map +1 -0
  280. package/dist/elements/overview/ca-spend-breakdown.d.ts +24 -0
  281. package/dist/elements/overview/ca-spend-breakdown.d.ts.map +1 -0
  282. package/dist/elements/overview/ca-spend-breakdown.js +108 -0
  283. package/dist/elements/overview/ca-spend-breakdown.js.map +1 -0
  284. package/dist/elements/overview/ca-timeline.d.ts +28 -0
  285. package/dist/elements/overview/ca-timeline.d.ts.map +1 -0
  286. package/dist/elements/overview/ca-timeline.js +72 -0
  287. package/dist/elements/overview/ca-timeline.js.map +1 -0
  288. package/dist/elements/overview/ca-workers.d.ts +23 -0
  289. package/dist/elements/overview/ca-workers.d.ts.map +1 -0
  290. package/dist/elements/overview/ca-workers.js +86 -0
  291. package/dist/elements/overview/ca-workers.js.map +1 -0
  292. package/dist/elements/overview/index.d.ts +11 -0
  293. package/dist/elements/overview/index.d.ts.map +1 -0
  294. package/dist/elements/overview/index.js +11 -0
  295. package/dist/elements/overview/index.js.map +1 -0
  296. package/dist/elements/overview/pipeline-graph/actions.d.ts +16 -0
  297. package/dist/elements/overview/pipeline-graph/actions.d.ts.map +1 -0
  298. package/dist/elements/overview/pipeline-graph/actions.js +42 -0
  299. package/dist/elements/overview/pipeline-graph/actions.js.map +1 -0
  300. package/dist/elements/overview/pipeline-graph/crumbs.d.ts +15 -0
  301. package/dist/elements/overview/pipeline-graph/crumbs.d.ts.map +1 -0
  302. package/dist/elements/overview/pipeline-graph/crumbs.js +70 -0
  303. package/dist/elements/overview/pipeline-graph/crumbs.js.map +1 -0
  304. package/dist/elements/overview/pipeline-graph/host.d.ts +24 -0
  305. package/dist/elements/overview/pipeline-graph/host.d.ts.map +1 -0
  306. package/dist/elements/overview/pipeline-graph/host.js +2 -0
  307. package/dist/elements/overview/pipeline-graph/host.js.map +1 -0
  308. package/dist/elements/overview/pipeline-graph/inspector.d.ts +5 -0
  309. package/dist/elements/overview/pipeline-graph/inspector.d.ts.map +1 -0
  310. package/dist/elements/overview/pipeline-graph/inspector.js +100 -0
  311. package/dist/elements/overview/pipeline-graph/inspector.js.map +1 -0
  312. package/dist/elements/overview/pipeline-graph/outline.d.ts +53 -0
  313. package/dist/elements/overview/pipeline-graph/outline.d.ts.map +1 -0
  314. package/dist/elements/overview/pipeline-graph/outline.js +111 -0
  315. package/dist/elements/overview/pipeline-graph/outline.js.map +1 -0
  316. package/dist/elements/overview/pipeline-graph/strings.d.ts +11 -0
  317. package/dist/elements/overview/pipeline-graph/strings.d.ts.map +1 -0
  318. package/dist/elements/overview/pipeline-graph/strings.js +49 -0
  319. package/dist/elements/overview/pipeline-graph/strings.js.map +1 -0
  320. package/dist/elements/overview/pipeline-graph/styles.d.ts +4 -0
  321. package/dist/elements/overview/pipeline-graph/styles.d.ts.map +1 -0
  322. package/dist/elements/overview/pipeline-graph/styles.js +96 -0
  323. package/dist/elements/overview/pipeline-graph/styles.js.map +1 -0
  324. package/dist/elements/shared/ca-definition.d.ts +26 -0
  325. package/dist/elements/shared/ca-definition.d.ts.map +1 -0
  326. package/dist/elements/shared/ca-definition.js +202 -0
  327. package/dist/elements/shared/ca-definition.js.map +1 -0
  328. package/dist/elements/shared/contract-parts.d.ts +35 -0
  329. package/dist/elements/shared/contract-parts.d.ts.map +1 -0
  330. package/dist/elements/shared/contract-parts.js +167 -0
  331. package/dist/elements/shared/contract-parts.js.map +1 -0
  332. package/dist/elements/shared/file-card.d.ts +17 -0
  333. package/dist/elements/shared/file-card.d.ts.map +1 -0
  334. package/dist/elements/shared/file-card.js +37 -0
  335. package/dist/elements/shared/file-card.js.map +1 -0
  336. package/dist/elements/shared/prompt-text.d.ts +5 -0
  337. package/dist/elements/shared/prompt-text.d.ts.map +1 -0
  338. package/dist/elements/shared/prompt-text.js +13 -0
  339. package/dist/elements/shared/prompt-text.js.map +1 -0
  340. package/dist/elements/shared/task-chip.d.ts +10 -0
  341. package/dist/elements/shared/task-chip.d.ts.map +1 -0
  342. package/dist/elements/shared/task-chip.js +19 -0
  343. package/dist/elements/shared/task-chip.js.map +1 -0
  344. package/dist/elements/shell/ca-clock.d.ts +13 -0
  345. package/dist/elements/shell/ca-clock.d.ts.map +1 -0
  346. package/dist/elements/shell/ca-clock.js +30 -0
  347. package/dist/elements/shell/ca-clock.js.map +1 -0
  348. package/dist/elements/shell/ca-hosts.d.ts +21 -0
  349. package/dist/elements/shell/ca-hosts.d.ts.map +1 -0
  350. package/dist/elements/shell/ca-hosts.js +97 -0
  351. package/dist/elements/shell/ca-hosts.js.map +1 -0
  352. package/dist/elements/shell/ca-monitor.d.ts +182 -0
  353. package/dist/elements/shell/ca-monitor.d.ts.map +1 -0
  354. package/dist/elements/shell/ca-monitor.js +549 -0
  355. package/dist/elements/shell/ca-monitor.js.map +1 -0
  356. package/dist/elements/shell/ca-run-picker.d.ts +71 -0
  357. package/dist/elements/shell/ca-run-picker.d.ts.map +1 -0
  358. package/dist/elements/shell/ca-run-picker.js +313 -0
  359. package/dist/elements/shell/ca-run-picker.js.map +1 -0
  360. package/dist/elements/shell/ca-theme-switch.d.ts +36 -0
  361. package/dist/elements/shell/ca-theme-switch.d.ts.map +1 -0
  362. package/dist/elements/shell/ca-theme-switch.js +186 -0
  363. package/dist/elements/shell/ca-theme-switch.js.map +1 -0
  364. package/dist/elements/shell/ca-toasts.d.ts +23 -0
  365. package/dist/elements/shell/ca-toasts.d.ts.map +1 -0
  366. package/dist/elements/shell/ca-toasts.js +88 -0
  367. package/dist/elements/shell/ca-toasts.js.map +1 -0
  368. package/dist/elements/shell/header.d.ts +13 -0
  369. package/dist/elements/shell/header.d.ts.map +1 -0
  370. package/dist/elements/shell/header.js +38 -0
  371. package/dist/elements/shell/header.js.map +1 -0
  372. package/dist/elements/shell/styles.d.ts +2 -0
  373. package/dist/elements/shell/styles.d.ts.map +1 -0
  374. package/dist/elements/shell/styles.js +72 -0
  375. package/dist/elements/shell/styles.js.map +1 -0
  376. package/dist/elements/shell/tabs.d.ts +32 -0
  377. package/dist/elements/shell/tabs.d.ts.map +1 -0
  378. package/dist/elements/shell/tabs.js +125 -0
  379. package/dist/elements/shell/tabs.js.map +1 -0
  380. package/dist/elements/shell/views.d.ts +27 -0
  381. package/dist/elements/shell/views.d.ts.map +1 -0
  382. package/dist/elements/shell/views.js +55 -0
  383. package/dist/elements/shell/views.js.map +1 -0
  384. package/dist/elements/task/ca-task-view.d.ts +55 -0
  385. package/dist/elements/task/ca-task-view.d.ts.map +1 -0
  386. package/dist/elements/task/ca-task-view.js +199 -0
  387. package/dist/elements/task/ca-task-view.js.map +1 -0
  388. package/dist/elements/task/ca-transcript.d.ts +74 -0
  389. package/dist/elements/task/ca-transcript.d.ts.map +1 -0
  390. package/dist/elements/task/ca-transcript.js +241 -0
  391. package/dist/elements/task/ca-transcript.js.map +1 -0
  392. package/dist/elements/task/context.d.ts +57 -0
  393. package/dist/elements/task/context.d.ts.map +1 -0
  394. package/dist/elements/task/context.js +61 -0
  395. package/dist/elements/task/context.js.map +1 -0
  396. package/dist/elements/task/header.d.ts +9 -0
  397. package/dist/elements/task/header.d.ts.map +1 -0
  398. package/dist/elements/task/header.js +291 -0
  399. package/dist/elements/task/header.js.map +1 -0
  400. package/dist/elements/task/index.d.ts +3 -0
  401. package/dist/elements/task/index.d.ts.map +1 -0
  402. package/dist/elements/task/index.js +3 -0
  403. package/dist/elements/task/index.js.map +1 -0
  404. package/dist/elements/task/inputs.d.ts +28 -0
  405. package/dist/elements/task/inputs.d.ts.map +1 -0
  406. package/dist/elements/task/inputs.js +27 -0
  407. package/dist/elements/task/inputs.js.map +1 -0
  408. package/dist/elements/task/panes/definition.d.ts +5 -0
  409. package/dist/elements/task/panes/definition.d.ts.map +1 -0
  410. package/dist/elements/task/panes/definition.js +5 -0
  411. package/dist/elements/task/panes/definition.js.map +1 -0
  412. package/dist/elements/task/panes/io.d.ts +8 -0
  413. package/dist/elements/task/panes/io.d.ts.map +1 -0
  414. package/dist/elements/task/panes/io.js +184 -0
  415. package/dist/elements/task/panes/io.js.map +1 -0
  416. package/dist/elements/task/panes/transcript.d.ts +5 -0
  417. package/dist/elements/task/panes/transcript.d.ts.map +1 -0
  418. package/dist/elements/task/panes/transcript.js +29 -0
  419. package/dist/elements/task/panes/transcript.js.map +1 -0
  420. package/dist/elements/task/styles.d.ts +2 -0
  421. package/dist/elements/task/styles.d.ts.map +1 -0
  422. package/dist/elements/task/styles.js +66 -0
  423. package/dist/elements/task/styles.js.map +1 -0
  424. package/dist/elements/trends/ca-trends.d.ts +55 -0
  425. package/dist/elements/trends/ca-trends.d.ts.map +1 -0
  426. package/dist/elements/trends/ca-trends.js +213 -0
  427. package/dist/elements/trends/ca-trends.js.map +1 -0
  428. package/dist/index.d.ts +14 -0
  429. package/dist/index.d.ts.map +1 -0
  430. package/dist/index.js +22 -0
  431. package/dist/index.js.map +1 -0
  432. package/dist/lib/tone.d.ts +29 -0
  433. package/dist/lib/tone.d.ts.map +1 -0
  434. package/dist/lib/tone.js +97 -0
  435. package/dist/lib/tone.js.map +1 -0
  436. package/dist/lib/trends.d.ts +15 -0
  437. package/dist/lib/trends.d.ts.map +1 -0
  438. package/dist/lib/trends.js +36 -0
  439. package/dist/lib/trends.js.map +1 -0
  440. package/dist/locales/codes.d.ts +14 -0
  441. package/dist/locales/codes.d.ts.map +1 -0
  442. package/dist/locales/codes.js +21 -0
  443. package/dist/locales/codes.js.map +1 -0
  444. package/dist/locales/ja.d.ts +785 -0
  445. package/dist/locales/ja.d.ts.map +1 -0
  446. package/dist/locales/ja.js +791 -0
  447. package/dist/locales/ja.js.map +1 -0
  448. package/dist/words/api-error.d.ts +4 -0
  449. package/dist/words/api-error.d.ts.map +1 -0
  450. package/dist/words/api-error.js +13 -0
  451. package/dist/words/api-error.js.map +1 -0
  452. package/dist/words/attempts.d.ts +17 -0
  453. package/dist/words/attempts.d.ts.map +1 -0
  454. package/dist/words/attempts.js +26 -0
  455. package/dist/words/attempts.js.map +1 -0
  456. package/dist/words/causes.d.ts +33 -0
  457. package/dist/words/causes.d.ts.map +1 -0
  458. package/dist/words/causes.js +58 -0
  459. package/dist/words/causes.js.map +1 -0
  460. package/dist/words/changes.d.ts +9 -0
  461. package/dist/words/changes.d.ts.map +1 -0
  462. package/dist/words/changes.js +23 -0
  463. package/dist/words/changes.js.map +1 -0
  464. package/dist/words/claims.d.ts +9 -0
  465. package/dist/words/claims.d.ts.map +1 -0
  466. package/dist/words/claims.js +12 -0
  467. package/dist/words/claims.js.map +1 -0
  468. package/dist/words/context.d.ts +18 -0
  469. package/dist/words/context.d.ts.map +1 -0
  470. package/dist/words/context.js +39 -0
  471. package/dist/words/context.js.map +1 -0
  472. package/dist/words/contract.d.ts +25 -0
  473. package/dist/words/contract.d.ts.map +1 -0
  474. package/dist/words/contract.js +52 -0
  475. package/dist/words/contract.js.map +1 -0
  476. package/dist/words/credential.d.ts +5 -0
  477. package/dist/words/credential.d.ts.map +1 -0
  478. package/dist/words/credential.js +7 -0
  479. package/dist/words/credential.js.map +1 -0
  480. package/dist/words/executor.d.ts +12 -0
  481. package/dist/words/executor.d.ts.map +1 -0
  482. package/dist/words/executor.js +20 -0
  483. package/dist/words/executor.js.map +1 -0
  484. package/dist/words/export.d.ts +8 -0
  485. package/dist/words/export.d.ts.map +1 -0
  486. package/dist/words/export.js +17 -0
  487. package/dist/words/export.js.map +1 -0
  488. package/dist/words/format.d.ts +36 -0
  489. package/dist/words/format.d.ts.map +1 -0
  490. package/dist/words/format.js +109 -0
  491. package/dist/words/format.js.map +1 -0
  492. package/dist/words/hops.d.ts +12 -0
  493. package/dist/words/hops.d.ts.map +1 -0
  494. package/dist/words/hops.js +27 -0
  495. package/dist/words/hops.js.map +1 -0
  496. package/dist/words/hosts.d.ts +18 -0
  497. package/dist/words/hosts.d.ts.map +1 -0
  498. package/dist/words/hosts.js +22 -0
  499. package/dist/words/hosts.js.map +1 -0
  500. package/dist/words/index.d.ts +28 -0
  501. package/dist/words/index.d.ts.map +1 -0
  502. package/dist/words/index.js +32 -0
  503. package/dist/words/index.js.map +1 -0
  504. package/dist/words/models.d.ts +10 -0
  505. package/dist/words/models.d.ts.map +1 -0
  506. package/dist/words/models.js +45 -0
  507. package/dist/words/models.js.map +1 -0
  508. package/dist/words/outcome.d.ts +14 -0
  509. package/dist/words/outcome.d.ts.map +1 -0
  510. package/dist/words/outcome.js +58 -0
  511. package/dist/words/outcome.js.map +1 -0
  512. package/dist/words/panels.d.ts +17 -0
  513. package/dist/words/panels.d.ts.map +1 -0
  514. package/dist/words/panels.js +63 -0
  515. package/dist/words/panels.js.map +1 -0
  516. package/dist/words/passes.d.ts +11 -0
  517. package/dist/words/passes.d.ts.map +1 -0
  518. package/dist/words/passes.js +13 -0
  519. package/dist/words/passes.js.map +1 -0
  520. package/dist/words/preflight.d.ts +28 -0
  521. package/dist/words/preflight.d.ts.map +1 -0
  522. package/dist/words/preflight.js +30 -0
  523. package/dist/words/preflight.js.map +1 -0
  524. package/dist/words/priority.d.ts +5 -0
  525. package/dist/words/priority.d.ts.map +1 -0
  526. package/dist/words/priority.js +7 -0
  527. package/dist/words/priority.js.map +1 -0
  528. package/dist/words/prompt.d.ts +10 -0
  529. package/dist/words/prompt.d.ts.map +1 -0
  530. package/dist/words/prompt.js +17 -0
  531. package/dist/words/prompt.js.map +1 -0
  532. package/dist/words/quota.d.ts +35 -0
  533. package/dist/words/quota.d.ts.map +1 -0
  534. package/dist/words/quota.js +102 -0
  535. package/dist/words/quota.js.map +1 -0
  536. package/dist/words/rests.d.ts +26 -0
  537. package/dist/words/rests.d.ts.map +1 -0
  538. package/dist/words/rests.js +77 -0
  539. package/dist/words/rests.js.map +1 -0
  540. package/dist/words/rounds.d.ts +14 -0
  541. package/dist/words/rounds.d.ts.map +1 -0
  542. package/dist/words/rounds.js +60 -0
  543. package/dist/words/rounds.js.map +1 -0
  544. package/dist/words/row-extras.d.ts +7 -0
  545. package/dist/words/row-extras.d.ts.map +1 -0
  546. package/dist/words/row-extras.js +26 -0
  547. package/dist/words/row-extras.js.map +1 -0
  548. package/dist/words/run-line.d.ts +40 -0
  549. package/dist/words/run-line.d.ts.map +1 -0
  550. package/dist/words/run-line.js +66 -0
  551. package/dist/words/run-line.js.map +1 -0
  552. package/dist/words/services.d.ts +16 -0
  553. package/dist/words/services.d.ts.map +1 -0
  554. package/dist/words/services.js +45 -0
  555. package/dist/words/services.js.map +1 -0
  556. package/dist/words/stop.d.ts +6 -0
  557. package/dist/words/stop.d.ts.map +1 -0
  558. package/dist/words/stop.js +69 -0
  559. package/dist/words/stop.js.map +1 -0
  560. package/dist/words/table.d.ts +4 -0
  561. package/dist/words/table.d.ts.map +1 -0
  562. package/dist/words/table.js +8 -0
  563. package/dist/words/table.js.map +1 -0
  564. package/dist/words/task-definition.d.ts +23 -0
  565. package/dist/words/task-definition.d.ts.map +1 -0
  566. package/dist/words/task-definition.js +27 -0
  567. package/dist/words/task-definition.js.map +1 -0
  568. package/dist/words/time-box.d.ts +8 -0
  569. package/dist/words/time-box.d.ts.map +1 -0
  570. package/dist/words/time-box.js +12 -0
  571. package/dist/words/time-box.js.map +1 -0
  572. package/dist/words/trends.d.ts +86 -0
  573. package/dist/words/trends.d.ts.map +1 -0
  574. package/dist/words/trends.js +104 -0
  575. package/dist/words/trends.js.map +1 -0
  576. package/docs/embed.md +121 -0
  577. package/docs/events.md +38 -0
  578. package/docs/examples/embed.html +31 -0
  579. package/docs/examples/journal.ts +32 -0
  580. package/docs/examples/live-transcript.ts +22 -0
  581. package/docs/examples/vite/index.html +30 -0
  582. package/docs/examples/vite/main.ts +23 -0
  583. package/docs/languages.md +48 -0
  584. package/docs/live-data.md +17 -0
  585. package/docs/theming.md +21 -0
  586. package/docs/tsconfig.json +14 -0
  587. package/package.json +131 -4
  588. package/src/adapters/check-rows.ts +81 -0
  589. package/src/adapters/filters.ts +76 -0
  590. package/src/adapters/graph/compound.ts +359 -0
  591. package/src/adapters/graph/flow-index.ts +154 -0
  592. package/src/adapters/graph/highlight.ts +40 -0
  593. package/src/adapters/graph/input.ts +236 -0
  594. package/src/adapters/graph/layer.ts +92 -0
  595. package/src/adapters/graph/matrix.ts +133 -0
  596. package/src/adapters/graph/plans.fixture.ts +194 -0
  597. package/src/adapters/graph/project.ts +358 -0
  598. package/src/adapters/graph/selection.ts +54 -0
  599. package/src/adapters/graph/states.ts +10 -0
  600. package/src/adapters/graph/types.ts +148 -0
  601. package/src/adapters/graph/words.ts +146 -0
  602. package/src/adapters/index.ts +22 -0
  603. package/src/adapters/journal-columns.ts +200 -0
  604. package/src/adapters/kpi-tiles.ts +211 -0
  605. package/src/adapters/lanes.ts +98 -0
  606. package/src/adapters/model-shares.ts +62 -0
  607. package/src/adapters/panel-body.ts +112 -0
  608. package/src/adapters/preflight.ts +27 -0
  609. package/src/adapters/task-columns.ts +120 -0
  610. package/src/adapters/transcript/index.ts +14 -0
  611. package/src/adapters/transcript/model.ts +156 -0
  612. package/src/adapters/transcript/rounds.ts +86 -0
  613. package/src/adapters/transcript/sections.ts +82 -0
  614. package/src/adapters/transcript/web.ts +40 -0
  615. package/src/adapters/transcript/who.ts +53 -0
  616. package/src/adapters/trends.ts +337 -0
  617. package/src/controllers/locale.ts +47 -0
  618. package/src/controllers/shortcuts.ts +69 -0
  619. package/src/controllers/stream.ts +103 -0
  620. package/src/controllers/task-detail.ts +54 -0
  621. package/src/controllers/theme.ts +73 -0
  622. package/src/core/events.ts +120 -0
  623. package/src/core/i18n.ts +76 -0
  624. package/src/core/index.ts +6 -0
  625. package/src/core/memory.ts +177 -0
  626. package/src/core/scroll.ts +73 -0
  627. package/src/core/view-route.ts +177 -0
  628. package/src/core/view-router.ts +66 -0
  629. package/src/define/all.ts +13 -0
  630. package/src/define/contracts.ts +2 -0
  631. package/src/define/definitions.ts +3 -0
  632. package/src/define/journal-table.ts +2 -0
  633. package/src/define/kpis.ts +2 -0
  634. package/src/define/monitor.ts +2 -0
  635. package/src/define/overview.ts +2 -0
  636. package/src/define/pipeline-graph.ts +2 -0
  637. package/src/define/procs.ts +3 -0
  638. package/src/define/task-table.ts +2 -0
  639. package/src/define/task-view.ts +2 -0
  640. package/src/define/timeline.ts +2 -0
  641. package/src/define/transcript.ts +2 -0
  642. package/src/elements/lists/ca-contracts.ts +204 -0
  643. package/src/elements/lists/ca-definitions.ts +170 -0
  644. package/src/elements/lists/ca-journal-table.ts +141 -0
  645. package/src/elements/lists/ca-panel-body.ts +200 -0
  646. package/src/elements/lists/ca-panel-view.ts +50 -0
  647. package/src/elements/lists/ca-proc-tree.ts +57 -0
  648. package/src/elements/lists/ca-procs-view.ts +89 -0
  649. package/src/elements/lists/ca-task-table.ts +94 -0
  650. package/src/elements/lists/index.ts +8 -0
  651. package/src/elements/overview/ca-kpis.ts +51 -0
  652. package/src/elements/overview/ca-model-usage.ts +113 -0
  653. package/src/elements/overview/ca-overview.ts +499 -0
  654. package/src/elements/overview/ca-pipeline-graph.ts +617 -0
  655. package/src/elements/overview/ca-quota.ts +164 -0
  656. package/src/elements/overview/ca-run-driver.ts +140 -0
  657. package/src/elements/overview/ca-services.ts +66 -0
  658. package/src/elements/overview/ca-spend-breakdown.ts +107 -0
  659. package/src/elements/overview/ca-timeline.ts +57 -0
  660. package/src/elements/overview/ca-workers.ts +82 -0
  661. package/src/elements/overview/index.ts +10 -0
  662. package/src/elements/overview/pipeline-graph/actions.ts +45 -0
  663. package/src/elements/overview/pipeline-graph/crumbs.ts +75 -0
  664. package/src/elements/overview/pipeline-graph/host.ts +26 -0
  665. package/src/elements/overview/pipeline-graph/inspector.ts +104 -0
  666. package/src/elements/overview/pipeline-graph/outline.ts +150 -0
  667. package/src/elements/overview/pipeline-graph/strings.ts +53 -0
  668. package/src/elements/overview/pipeline-graph/styles.ts +97 -0
  669. package/src/elements/shared/ca-definition.ts +206 -0
  670. package/src/elements/shared/contract-parts.ts +174 -0
  671. package/src/elements/shared/file-card.ts +49 -0
  672. package/src/elements/shared/prompt-text.ts +13 -0
  673. package/src/elements/shared/task-chip.ts +18 -0
  674. package/src/elements/shell/ca-clock.ts +27 -0
  675. package/src/elements/shell/ca-hosts.ts +93 -0
  676. package/src/elements/shell/ca-monitor.ts +528 -0
  677. package/src/elements/shell/ca-run-picker.ts +284 -0
  678. package/src/elements/shell/ca-theme-switch.ts +170 -0
  679. package/src/elements/shell/ca-toasts.ts +100 -0
  680. package/src/elements/shell/header.ts +45 -0
  681. package/src/elements/shell/styles.ts +72 -0
  682. package/src/elements/shell/tabs.ts +143 -0
  683. package/src/elements/shell/views.ts +67 -0
  684. package/src/elements/task/ca-task-view.ts +157 -0
  685. package/src/elements/task/ca-transcript.ts +214 -0
  686. package/src/elements/task/context.ts +105 -0
  687. package/src/elements/task/header.ts +296 -0
  688. package/src/elements/task/index.ts +2 -0
  689. package/src/elements/task/inputs.ts +46 -0
  690. package/src/elements/task/panes/definition.ts +7 -0
  691. package/src/elements/task/panes/io.ts +190 -0
  692. package/src/elements/task/panes/transcript.ts +29 -0
  693. package/src/elements/task/styles.ts +66 -0
  694. package/src/elements/trends/ca-trends.ts +204 -0
  695. package/src/index.ts +23 -0
  696. package/src/lib/tone.ts +109 -0
  697. package/src/lib/trends.ts +44 -0
  698. package/src/locales/codes.ts +23 -0
  699. package/src/locales/ja.ts +795 -0
  700. package/src/words/api-error.ts +17 -0
  701. package/src/words/attempts.ts +28 -0
  702. package/src/words/causes.ts +67 -0
  703. package/src/words/changes.ts +29 -0
  704. package/src/words/claims.ts +16 -0
  705. package/src/words/context.ts +47 -0
  706. package/src/words/contract.ts +63 -0
  707. package/src/words/credential.ts +8 -0
  708. package/src/words/executor.ts +22 -0
  709. package/src/words/export.ts +22 -0
  710. package/src/words/format.ts +107 -0
  711. package/src/words/hops.ts +30 -0
  712. package/src/words/hosts.ts +37 -0
  713. package/src/words/index.ts +31 -0
  714. package/src/words/models.ts +50 -0
  715. package/src/words/outcome.ts +61 -0
  716. package/src/words/panels.ts +71 -0
  717. package/src/words/passes.ts +18 -0
  718. package/src/words/preflight.ts +53 -0
  719. package/src/words/priority.ts +8 -0
  720. package/src/words/prompt.ts +20 -0
  721. package/src/words/quota.ts +108 -0
  722. package/src/words/rests.ts +96 -0
  723. package/src/words/rounds.ts +56 -0
  724. package/src/words/row-extras.ts +24 -0
  725. package/src/words/run-line.ts +77 -0
  726. package/src/words/services.ts +57 -0
  727. package/src/words/stop.ts +65 -0
  728. package/src/words/table.ts +10 -0
  729. package/src/words/task-definition.ts +37 -0
  730. package/src/words/time-box.ts +21 -0
  731. package/src/words/trends.ts +118 -0
@@ -0,0 +1,28 @@
1
+ import type { PreflightRecord, DroppedRoute, Substitution } from '@contraagent/api';
2
+ /** A route as the history names it: `agent / model`, the agent alone for its default model. */
3
+ export declare const routeName: (agent: string, model: string) => string;
4
+ /** The label of the preflight's facts. */
5
+ export declare const preflightLabel: () => string;
6
+ /** What the preflight is, for its tooltip, with its policy. */
7
+ export declare const preflightTip: (policy: PreflightRecord["policy"]) => string;
8
+ /** A preflight that dropped no model. */
9
+ export declare const allAvailable: () => string;
10
+ /** A model that did not answer, or that its coding agent does not list (`dropped`). */
11
+ export declare const unavailableLabel: () => string;
12
+ /** A dropped model in one row: `claude / opus | identity work | rate limited | kinds review and summarize`. */
13
+ export declare const unavailableText: (d: DroppedRoute) => string;
14
+ /** A kind that runs on the first model that answered, in place of its own (`substituted`). */
15
+ export declare const replacedLabel: () => string;
16
+ /** What a replaced model is, for its tooltip. */
17
+ export declare const replacedTip: () => string;
18
+ /** A replaced model in one row: `review | claude / opus → claude / sonnet`. */
19
+ export declare const replacedText: (s: Substitution) => string;
20
+ /** A kind none of whose models is available (`kept`, `stopped`). */
21
+ export declare const noModelLabel: () => string;
22
+ /** What a kept kind is, for its tooltip. */
23
+ export declare const keptTip: () => string;
24
+ /** The title of a run the preflight ended before its first agent session (`stopped`). */
25
+ export declare const preflightStoppedTitle: () => string;
26
+ /** The cause of that end: `No available model for review and summarize`. */
27
+ export declare const preflightStoppedCause: (kinds: readonly string[]) => string;
28
+ //# sourceMappingURL=preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/words/preflight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKpF,+FAA+F;AAC/F,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAAiD,CAAC;AAE3G,0CAA0C;AAC1C,eAAO,MAAM,cAAc,QAAO,MAAmC,CAAC;AAEtE,+DAA+D;AAC/D,eAAO,MAAM,YAAY,GAAI,QAAQ,eAAe,CAAC,QAAQ,CAAC,KAAG,MACiC,CAAC;AAEnG,yCAAyC;AACzC,eAAO,MAAM,YAAY,QAAO,MAAqC,CAAC;AAEtE,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,QAAO,MAAgG,CAAC;AAErI,+GAA+G;AAC/G,eAAO,MAAM,eAAe,GAAI,GAAG,YAAY,KAAG,MAM/C,CAAC;AAEJ,8FAA8F;AAC9F,eAAO,MAAM,aAAa,QAAO,MAA+B,CAAC;AAEjE,iDAAiD;AACjD,eAAO,MAAM,WAAW,QAAO,MAAkG,CAAC;AAElI,+EAA+E;AAC/E,eAAO,MAAM,YAAY,GAAI,GAAG,YAAY,KAAG,MACmD,CAAC;AAEnG,oEAAoE;AACpE,eAAO,MAAM,YAAY,QAAO,MAAmC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,OAAO,QAAO,MAA4E,CAAC;AAExG,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,QAAO,MAAqD,CAAC;AAE/F,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAA6D,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { msg, str } from '@lit/localize';
2
+ import { credentialLabel } from './credential.js';
3
+ import { facts, listText } from './format.js';
4
+ /** A route as the history names it: `agent / model`, the agent alone for its default model. */
5
+ export const routeName = (agent, model) => (model ? `${agent} / ${model}` : agent);
6
+ /** The label of the preflight's facts. */
7
+ export const preflightLabel = () => msg('Model availability');
8
+ /** What the preflight is, for its tooltip, with its policy. */
9
+ export const preflightTip = (policy) => msg(str `One request to each model before the first agent session (preflight, policy ${policy})`);
10
+ /** A preflight that dropped no model. */
11
+ export const allAvailable = () => msg('all models available');
12
+ /** A model that did not answer, or that its coding agent does not list (`dropped`). */
13
+ export const unavailableLabel = () => msg('Unavailable', { desc: 'A model that did not answer the request before the run' });
14
+ /** A dropped model in one row: `claude / opus | identity work | rate limited | kinds review and summarize`. */
15
+ export const unavailableText = (d) => facts(routeName(d.agent, d.model), d.credential ? msg(str `identity ${credentialLabel(d.credential)}`) : '', d.reason, d.kinds.length ? msg(str `kinds ${listText(d.kinds)}`) : '');
16
+ /** A kind that runs on the first model that answered, in place of its own (`substituted`). */
17
+ export const replacedLabel = () => msg('Model replaced');
18
+ /** What a replaced model is, for its tooltip. */
19
+ export const replacedTip = () => msg('A kind with no available model, run on the first model that answered (substitute)');
20
+ /** A replaced model in one row: `review | claude / opus → claude / sonnet`. */
21
+ export const replacedText = (s) => facts(s.kind, `${routeName(s.from_agent, s.from_model)} → ${routeName(s.to_agent, s.to_model)}`);
22
+ /** A kind none of whose models is available (`kept`, `stopped`). */
23
+ export const noModelLabel = () => msg('No available model');
24
+ /** What a kept kind is, for its tooltip. */
25
+ export const keptTip = () => msg('A kind with no available model, run on its own model (kept)');
26
+ /** The title of a run the preflight ended before its first agent session (`stopped`). */
27
+ export const preflightStoppedTitle = () => msg('Ended before the first agent session');
28
+ /** The cause of that end: `No available model for review and summarize`. */
29
+ export const preflightStoppedCause = (kinds) => msg(str `No available model for ${listText(kinds)}`);
30
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/words/preflight.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE3G,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEtE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAiC,EAAU,EAAE,CACxE,GAAG,CAAC,GAAG,CAAA,+EAA+E,MAAM,GAAG,CAAC,CAAC;AAEnG,yCAAyC;AACzC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEtE,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC,CAAC;AAErI,+GAA+G;AAC/G,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAe,EAAU,EAAE,CACzD,KAAK,CACH,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,YAAY,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EACvE,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,SAAS,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC;AAEJ,8FAA8F;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEjE,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;AAElI,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAe,EAAU,EAAE,CACtD,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEnG,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAExG,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAE/F,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAwB,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,0BAA0B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** A task's priority as a fact: `Priority 2`; '' for the default, 0. */
2
+ export declare const priorityText: (p: number | null | undefined) => string;
3
+ /** What a task's priority is, for its tooltip. */
4
+ export declare const priorityTip: () => string;
5
+ //# sourceMappingURL=priority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../src/words/priority.ts"],"names":[],"mappings":"AAGA,wEAAwE;AACxE,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAA4C,CAAC;AAEzG,kDAAkD;AAClD,eAAO,MAAM,WAAW,QAAO,MAA4D,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Words for a task's priority (`PlanNode.priority`): a tie-breaker in the queue's order.
2
+ import { msg, str } from '@lit/localize';
3
+ /** A task's priority as a fact: `Priority 2`; '' for the default, 0. */
4
+ export const priorityText = (p) => (p ? msg(str `Priority ${p}`) : '');
5
+ /** What a task's priority is, for its tooltip. */
6
+ export const priorityTip = () => msg("Tie-breaker in the queue's order (priority)");
7
+ //# sourceMappingURL=priority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priority.js","sourceRoot":"","sources":["../../src/words/priority.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAA4B,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzG,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** `$unit` and `{{contract}}` picked out of an instructions template (escaped source). */
2
+ export declare function instructionsHtml(text: string): string;
3
+ /** The same, on already-rendered HTML. */
4
+ export declare const markInstructions: (html: string) => string;
5
+ /** A prompt's leading `TELEMETRY ...` line (which run and task it belongs to), apart from its prose. */
6
+ export declare function splitTelemetry(text: string): {
7
+ head: string;
8
+ body: string;
9
+ };
10
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/words/prompt.ts"],"names":[],"mappings":"AAIA,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAG4B,CAAC;AAE7E,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAG3E"}
@@ -0,0 +1,17 @@
1
+ // A prompt and an instructions template as a reader reads them: the template's
2
+ // placeholders picked out, and a prompt's TELEMETRY line apart from its prose.
3
+ import { esc } from '@contraagent/elements';
4
+ /** `$unit` and `{{contract}}` picked out of an instructions template (escaped source). */
5
+ export function instructionsHtml(text) {
6
+ return markInstructions(esc(text));
7
+ }
8
+ /** The same, on already-rendered HTML. */
9
+ export const markInstructions = (html) => html
10
+ .replace(/\$\{?([A-Za-z_]\w*)\}?/g, '<span class="pv">$&</span>')
11
+ .replace(/\{\{contract\}\}/g, '<span class="pv pc">{{contract}}</span>');
12
+ /** A prompt's leading `TELEMETRY ...` line (which run and task it belongs to), apart from its prose. */
13
+ export function splitTelemetry(text) {
14
+ const m = text.match(/^(TELEMETRY [^\n]*)\n+([\s\S]*)$/);
15
+ return m ? { head: m[1] ?? '', body: m[2] ?? '' } : { head: '', body: text };
16
+ }
17
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/words/prompt.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,IAAI;KACD,OAAO,CAAC,yBAAyB,EAAE,4BAA4B,CAAC;KAChE,OAAO,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,CAAC;AAE7E,wGAAwG;AACxG,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { QuotaReading } from '@contraagent/api';
2
+ /** A utilization as a whole percent: `14%`; '—' when not reported. */
3
+ export declare const pct: (v: number | null | undefined) => string;
4
+ /** A reading's `status` in words, with the window it is about when known (`near the limit | weekly`); '' for `allowed` (the usual case) or none. */
5
+ export declare function quotaStatusLabel(status: string | null | undefined, window?: string | null): string;
6
+ /**
7
+ * A usage window's name: `5-hour`, `weekly`, and a model's own window by its model
8
+ * (`seven_day_opus`: `weekly (opus)`); an unknown window as it is named.
9
+ */
10
+ export declare function windowName(window: string): string;
11
+ /** An account's digest, short, as a label: `account 3f9c2a`. */
12
+ export declare const accountLabel: (account: string) => string;
13
+ /** When a window resets, relative to now: `resets in 2h 58m`; '' when unknown. */
14
+ export declare function resetsIn(iso: string | null | undefined, now?: number): string;
15
+ /** A reading in one line, the weekly window first (the one that runs out first in practice): `weekly 41% | 5-hour 14%`. */
16
+ export declare const readingShort: (r: QuotaReading) => string;
17
+ /** A reading in full, for a tooltip: both windows, their resets, when it arrived. */
18
+ export declare function readingTip(r: QuotaReading): string;
19
+ /** A reading with its account: `weekly 41% | 5-hour 14% | default`. */
20
+ export declare const accountReading: (r: QuotaReading) => string;
21
+ /** One account's latest reading (`credential` + `last`). */
22
+ interface AccountLast {
23
+ credential: string;
24
+ last: QuotaReading;
25
+ }
26
+ /**
27
+ * The busiest account's latest reading, for a one-line summary:
28
+ * `weekly 43% | 5-hour 33%`; with more accounts, the busiest one's name and `1 more account`.
29
+ * `accounts` comes sorted, the highest weekly use first.
30
+ */
31
+ export declare function accountsLine(accounts: readonly AccountLast[]): string;
32
+ /** Every account's latest reading, one per line, for a tooltip. */
33
+ export declare const accountsTip: (accounts: readonly AccountLast[]) => string;
34
+ export {};
35
+ //# sourceMappingURL=quota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../src/words/quota.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKrD,sEAAsE;AACtE,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAqE,CAAC;AAEzH,oJAAoJ;AACpJ,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CASlG;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,gEAAgE;AAChE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAAkD,CAAC;AAElG,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,CAQjF;AAED,2HAA2H;AAC3H,eAAO,MAAM,YAAY,GAAI,GAAG,YAAY,KAAG,MAC4C,CAAC;AAE5F,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAoBlD;AASD,uEAAuE;AACvE,eAAO,MAAM,cAAc,GAAI,GAAG,YAAY,KAAG,MAA+D,CAAC;AAEjH,4DAA4D;AAC5D,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAQrE;AAED,mEAAmE;AACnE,eAAO,MAAM,WAAW,GAAI,UAAU,SAAS,WAAW,EAAE,KAAG,MACoE,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { msg, str } from '@lit/localize';
2
+ import { facts, fmtDur, localTime, sentence } from './format.js';
3
+ import { credentialLabel } from './credential.js';
4
+ /** A utilization as a whole percent: `14%`; '—' when not reported. */
5
+ export const pct = (v) => (v === null || v === undefined ? '—' : `${Math.round(v)}%`);
6
+ /** A reading's `status` in words, with the window it is about when known (`near the limit | weekly`); '' for `allowed` (the usual case) or none. */
7
+ export function quotaStatusLabel(status, window) {
8
+ if (!status || status === 'allowed')
9
+ return '';
10
+ const s = status.split(',');
11
+ const word = s.some((x) => ['rejected', 'exhausted', 'quota', 'blocked'].includes(x))
12
+ ? msg('limit reached')
13
+ : s.every((x) => ['allowed_warning', 'warning'].includes(x))
14
+ ? msg('near the limit')
15
+ : msg(str `unknown (${status})`);
16
+ return window ? facts(word, windowName(window)) : word;
17
+ }
18
+ /**
19
+ * A usage window's name: `5-hour`, `weekly`, and a model's own window by its model
20
+ * (`seven_day_opus`: `weekly (opus)`); an unknown window as it is named.
21
+ */
22
+ export function windowName(window) {
23
+ if (window === 'five_hour')
24
+ return msg('5-hour');
25
+ if (window === 'seven_day')
26
+ return msg('weekly');
27
+ const own = /^(five_hour|seven_day)_(.+)$/.exec(window);
28
+ if (own)
29
+ return own[1] === 'five_hour' ? msg(str `5-hour (${own[2]})`) : msg(str `weekly (${own[2]})`);
30
+ return window;
31
+ }
32
+ /** An account's digest, short, as a label: `account 3f9c2a`. */
33
+ export const accountLabel = (account) => msg(str `account ${account.slice(0, 6)}`);
34
+ /** When a window resets, relative to now: `resets in 2h 58m`; '' when unknown. */
35
+ export function resetsIn(iso, now = Date.now()) {
36
+ const t = Date.parse(iso ?? '');
37
+ if (Number.isNaN(t))
38
+ return '';
39
+ if (t <= now)
40
+ return msg('reset');
41
+ const h = (t - now) / 3_600_000;
42
+ // A weekly window is days away: days and hours read better than 121h.
43
+ const left = h >= 48 ? msg(str `${Math.floor(h / 24)}d ${Math.floor(h % 24)}h`) : fmtDur((t - now) / 1000);
44
+ return msg(str `resets in ${left}`);
45
+ }
46
+ /** A reading in one line, the weekly window first (the one that runs out first in practice): `weekly 41% | 5-hour 14%`. */
47
+ export const readingShort = (r) => facts(msg(str `weekly ${pct(r.seven_day_pct)}`), msg(str `5-hour ${pct(r.five_hour_pct)}`));
48
+ /** A reading in full, for a tooltip: both windows, their resets, when it arrived. */
49
+ export function readingTip(r) {
50
+ const parts = [
51
+ r.seven_day_resets_at
52
+ ? msg(str `Weekly usage ${pct(r.seven_day_pct)} (resets ${localTime(r.seven_day_resets_at, true)})`)
53
+ : msg(str `Weekly usage ${pct(r.seven_day_pct)}`),
54
+ r.five_hour_resets_at
55
+ ? msg(str `5-hour usage ${pct(r.five_hour_pct)} (resets ${localTime(r.five_hour_resets_at, true)})`)
56
+ : msg(str `5-hour usage ${pct(r.five_hour_pct)}`),
57
+ // The windows beyond the two: a model's own (`weekly (opus)`).
58
+ ...Object.entries(r.windows ?? {})
59
+ .filter(([name]) => name !== 'five_hour' && name !== 'seven_day')
60
+ .map(([name, w]) => msg(str `${sentence(windowName(name))} usage ${pct(w.pct)}`)),
61
+ msg(str `Reported ${localTime(r.observed_at, true)}`),
62
+ ];
63
+ const status = quotaStatusLabel(r.status, r.status_window);
64
+ if (status)
65
+ parts.push(msg(str `Status: ${status}`));
66
+ if (r.threshold_pct != null)
67
+ parts.push(msg(str `Warning threshold: ${pct(r.threshold_pct)}`));
68
+ if (r.overage_status)
69
+ parts.push(msg(str `Extra usage: ${extraUsage(r.overage_status)}`));
70
+ if (r.account)
71
+ parts.push(msg(str `Account: ${r.account}`));
72
+ return parts.join('\n');
73
+ }
74
+ /** Whether usage past the limit is allowed (`overage_status`): `allowed`, `not allowed`, else as reported. */
75
+ function extraUsage(status) {
76
+ if (status === 'allowed' || status === 'allowed_warning')
77
+ return msg('allowed');
78
+ if (status === 'rejected')
79
+ return msg('not allowed');
80
+ return status;
81
+ }
82
+ /** A reading with its account: `weekly 41% | 5-hour 14% | default`. */
83
+ export const accountReading = (r) => facts(readingShort(r), credentialLabel(r.credential));
84
+ /**
85
+ * The busiest account's latest reading, for a one-line summary:
86
+ * `weekly 43% | 5-hour 33%`; with more accounts, the busiest one's name and `1 more account`.
87
+ * `accounts` comes sorted, the highest weekly use first.
88
+ */
89
+ export function accountsLine(accounts) {
90
+ const top = accounts[0];
91
+ if (!top)
92
+ return '';
93
+ const more = accounts.length - 1;
94
+ // One account: its name is in the tooltip; with more, the line names the busiest.
95
+ if (!more)
96
+ return readingShort(top.last);
97
+ const line = accountReading(top.last);
98
+ return facts(line, more === 1 ? msg('1 more account') : msg(str `${more} more accounts`));
99
+ }
100
+ /** Every account's latest reading, one per line, for a tooltip. */
101
+ export const accountsTip = (accounts) => accounts.map((a) => (a.credential ? `${credentialLabel(a.credential)}\n${readingTip(a.last)}` : readingTip(a.last))).join('\n\n');
102
+ //# sourceMappingURL=quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../src/words/quota.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { CredentialRest, DeferralCause, QuotaCap, Rest, SkippedHop } from '@contraagent/api';
2
+ /** A cap in words: `limit 90%`. */
3
+ export declare const capLabel: (cap: number | null | undefined) => string;
4
+ /**
5
+ * Why an identity is paused, its facts after its name:
6
+ * `5-hour usage 93% | limit 90% | until 10/14 14:30`, or `Usage rule: over the pace`.
7
+ */
8
+ export declare function restFacts(r: Rest): string;
9
+ /** A paused identity in one line: `Identity personal paused | 5-hour usage 93% | limit 90% | until 10/14 14:30`. */
10
+ export declare const restLine: (r: Rest) => string;
11
+ /**
12
+ * Why the queue deferred a task, in words: `Past the deadline`, `Past the deadline of topic_work`,
13
+ * `Identity personal paused | ...`. `recorded`: the run's own sentence, for a cause these words do
14
+ * not name. `fn`: the function (`module.qualname`) of the flow call whose own deadline it was
15
+ * (`deferredIn`); '' for the run's. '' for none.
16
+ */
17
+ export declare function deferredText(cause: DeferralCause | null | undefined, recorded?: string, fn?: string): string;
18
+ /** The tooltip of a deferral: every paused identity, one per line; '' when there is nothing more to say. */
19
+ export declare function deferredTip(cause: DeferralCause | null | undefined): string;
20
+ /** A hop passed over without an agent session, in a model switch: `claude-haiku-5-5 (identity paused)`. */
21
+ export declare const skippedHopStep: (h: SkippedHop) => string;
22
+ /** One rest of an identity over a run: `Paused 10:31 → 10:45 | 5-hour usage 93% | limit 90%`; still paused: `Paused since 10:31 | ...`. */
23
+ export declare function restSpan(r: CredentialRest): string;
24
+ /** An identity's caps in one line: `Limits: 5-hour 90% | weekly 95%`; '' for none. */
25
+ export declare function capsLine(c: QuotaCap | undefined): string;
26
+ //# sourceMappingURL=rests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rests.d.ts","sourceRoot":"","sources":["../../src/words/rests.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAclG,mCAAmC;AACnC,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAwC,CAAC;AAEnG;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAGzC;AAED,oHAAoH;AACpH,eAAO,MAAM,QAAQ,GAAI,GAAG,IAAI,KAAG,MAAyF,CAAC;AAQ7H;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAK,EAAE,EAAE,SAAK,GAAG,MAAM,CAyBpG;AAED,4GAA4G;AAC5G,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG3E;AAED,2GAA2G;AAC3G,eAAO,MAAM,cAAc,GAAI,GAAG,UAAU,KAAG,MAAkE,CAAC;AAElH,2IAA2I;AAC3I,wBAAgB,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAGlD;AAED,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAOxD"}
@@ -0,0 +1,77 @@
1
+ import { msg, str } from '@lit/localize';
2
+ import { credentialLabel } from './credential.js';
3
+ import { facts, fmtDur, localTime } from './format.js';
4
+ import { pct } from './quota.js';
5
+ /** A window's usage in words: `5-hour usage 93%`, `Weekly usage 96%`. */
6
+ function usage(window, value) {
7
+ return window === 'seven_day' ? msg(str `Weekly usage ${pct(value)}`) : msg(str `5-hour usage ${pct(value)}`);
8
+ }
9
+ /** A cap as written in the config: `90%`, `0.5%` (a cap is not rounded: 0.5 is not 1). */
10
+ const capPct = (cap) => (cap == null ? '—' : `${Number(cap.toFixed(2))}%`);
11
+ /** A cap in words: `limit 90%`. */
12
+ export const capLabel = (cap) => msg(str `limit ${capPct(cap)}`);
13
+ /**
14
+ * Why an identity is paused, its facts after its name:
15
+ * `5-hour usage 93% | limit 90% | until 10/14 14:30`, or `Usage rule: over the pace`.
16
+ */
17
+ export function restFacts(r) {
18
+ if (r.rule)
19
+ return msg(str `Usage rule: ${r.rule}`);
20
+ return facts(usage(r.window ?? '', r.pct), capLabel(r.cap), r.until ? msg(str `until ${localTime(r.until, true)}`) : '');
21
+ }
22
+ /** A paused identity in one line: `Identity personal paused | 5-hour usage 93% | limit 90% | until 10/14 14:30`. */
23
+ export const restLine = (r) => facts(msg(str `Identity ${credentialLabel(r.credential)} paused`), restFacts(r));
24
+ /** The rests of a cause, one per identity (a pool's members, the hops of one identity). */
25
+ function byIdentity(rests) {
26
+ const seen = new Set();
27
+ return rests.filter((r) => !seen.has(r.credential) && seen.add(r.credential));
28
+ }
29
+ /**
30
+ * Why the queue deferred a task, in words: `Past the deadline`, `Past the deadline of topic_work`,
31
+ * `Identity personal paused | ...`. `recorded`: the run's own sentence, for a cause these words do
32
+ * not name. `fn`: the function (`module.qualname`) of the flow call whose own deadline it was
33
+ * (`deferredIn`); '' for the run's. '' for none.
34
+ */
35
+ export function deferredText(cause, recorded = '', fn = '') {
36
+ const own = fn ? fn.slice(fn.lastIndexOf('.') + 1) : '';
37
+ switch (cause?.cause) {
38
+ case 'deadline':
39
+ return own ? msg(str `Past the deadline of ${own}`) : msg('Past the deadline');
40
+ case 'grace_window':
41
+ return own ? msg(str `Past the deadline of ${own} and its finishing time`) : msg('Past the deadline and its finishing time');
42
+ case 'cannot_finish':
43
+ return facts(own ? msg(str `Cannot finish before the deadline of ${own}`) : msg('Cannot finish before the deadline'), cause.need_s != null ? msg(str `needs ${fmtDur(cause.need_s)}`) : '', cause.left_s != null ? msg(str `${fmtDur(cause.left_s)} left`) : '');
44
+ case 'dependency_not_queued':
45
+ return msg('An earlier task was never scheduled');
46
+ case 'dependency_deferred':
47
+ return msg('An earlier task was not run');
48
+ case 'rest': {
49
+ const rests = byIdentity(cause.rests ?? []);
50
+ if (!rests.length)
51
+ return recorded;
52
+ return rests.length === 1 ? restLine(rests[0]) : facts(restLine(rests[0]), msg(str `+${rests.length - 1} paused identities`));
53
+ }
54
+ default:
55
+ return recorded;
56
+ }
57
+ }
58
+ /** The tooltip of a deferral: every paused identity, one per line; '' when there is nothing more to say. */
59
+ export function deferredTip(cause) {
60
+ const rests = cause?.cause === 'rest' ? byIdentity(cause.rests ?? []) : [];
61
+ return rests.length > 1 ? rests.map(restLine).join('\n') : '';
62
+ }
63
+ /** A hop passed over without an agent session, in a model switch: `claude-haiku-5-5 (identity paused)`. */
64
+ export const skippedHopStep = (h) => msg(str `${h.model || h.route || '—'} (identity paused)`);
65
+ /** One rest of an identity over a run: `Paused 10:31 → 10:45 | 5-hour usage 93% | limit 90%`; still paused: `Paused since 10:31 | ...`. */
66
+ export function restSpan(r) {
67
+ const when = r.ended ? msg(str `Paused ${localTime(r.since)} → ${localTime(r.ended)}`) : msg(str `Paused since ${localTime(r.since)}`);
68
+ return facts(when, r.rule ? msg(str `Usage rule: ${r.rule}`) : facts(usage(r.window ?? '', r.pct), capLabel(r.cap)));
69
+ }
70
+ /** An identity's caps in one line: `Limits: 5-hour 90% | weekly 95%`; '' for none. */
71
+ export function capsLine(c) {
72
+ if (!c || (c.five_hour_pct == null && c.seven_day_pct == null))
73
+ return '';
74
+ const parts = facts(c.seven_day_pct != null ? msg(str `weekly ${capPct(c.seven_day_pct)}`) : '', c.five_hour_pct != null ? msg(str `5-hour ${capPct(c.five_hour_pct)}`) : '');
75
+ return msg(str `Limits: ${parts}`);
76
+ }
77
+ //# sourceMappingURL=rests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rests.js","sourceRoot":"","sources":["../../src/words/rests.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,yEAAyE;AACzE,SAAS,KAAK,CAAC,MAAc,EAAE,KAAgC;IAC7D,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAED,0FAA0F;AAC1F,MAAM,MAAM,GAAG,CAAC,GAA8B,EAAU,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE9G,mCAAmC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA8B,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAO;IAC/B,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAA,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,SAAS,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1H,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA,YAAY,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7H,2FAA2F;AAC3F,SAAS,UAAU,CAAiB,KAAmB;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAuC,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IAC1F,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,QAAQ,KAAK,EAAE,KAAK,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,wBAAwB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChF,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,wBAAwB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC9H,KAAK,eAAe;YAClB,OAAO,KAAK,CACV,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,wCAAwC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC,EACtG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EACnE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CACnE,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACpD,KAAK,qBAAqB;YACxB,OAAO,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,QAAQ,CAAC;YACnC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACjI,CAAC;QACD;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,WAAW,CAAC,KAAuC;IACjE,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAa,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,oBAAoB,CAAC,CAAC;AAElH,2IAA2I;AAC3I,MAAM,UAAU,QAAQ,CAAC,CAAiB;IACxC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,UAAU,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,gBAAgB,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,QAAQ,CAAC,CAAuB;IAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CACjB,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,UAAU,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1E,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,UAAU,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAA,WAAW,KAAK,EAAE,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { RoundInfo } from '../core/events.js';
2
+ /**
3
+ * "Attempt 1", "Correction 1", "Model switch"; with more than one attempt,
4
+ * "Attempt 2 | correction 1" and "Attempt 2 | model switch". `name` is the name of
5
+ * the round's attempt (`attemptNames`: "Attempt 1 | resumed run" in a resumed run).
6
+ */
7
+ export declare function roundLabel(r: RoundInfo, tries: number, name?: string): string;
8
+ /** One phrase on what this round was, for its prompt's heading; `resumed`: its attempt is the first of a resumed run. */
9
+ export declare function roundWhy(r: RoundInfo, resumed?: boolean): string;
10
+ /** A switched round's model, why it stopped, and the next model: `primary-model: rate limited → fallback-model`. */
11
+ export declare function switchText(r: RoundInfo): string;
12
+ /** The ✓ / ✕ mark, its word for screen readers and its tooltip. */
13
+ export declare function roundMark(r: RoundInfo, run: string): [mark: string, word: string, tip: string];
14
+ //# sourceMappingURL=rounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounds.d.ts","sourceRoot":"","sources":["../../src/words/rounds.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAA4B,GAAG,MAAM,CAShG;AAED,yHAAyH;AACzH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,UAAQ,GAAG,MAAM,CAM9D;AAED,oHAAoH;AACpH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAK/C;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAa9F"}
@@ -0,0 +1,60 @@
1
+ import { runRelative } from '@contraagent/api';
2
+ // How a round is named and explained to the reader (render time: msg()).
3
+ import { msg, str } from '@lit/localize';
4
+ import { facts } from './format.js';
5
+ import { attemptLabel } from './attempts.js';
6
+ import { stopLabel } from './stop.js';
7
+ /**
8
+ * "Attempt 1", "Correction 1", "Model switch"; with more than one attempt,
9
+ * "Attempt 2 | correction 1" and "Attempt 2 | model switch". `name` is the name of
10
+ * the round's attempt (`attemptNames`: "Attempt 1 | resumed run" in a resumed run).
11
+ */
12
+ export function roundLabel(r, tries, name = attemptLabel(r.tryNo - 1)) {
13
+ if (tries > 1) {
14
+ if (r.fixupNo)
15
+ return facts(name, msg(str `correction ${r.fixupNo}`));
16
+ if (r.hopNo)
17
+ return facts(name, msg('model switch'));
18
+ return name;
19
+ }
20
+ if (r.fixupNo)
21
+ return msg(str `Correction ${r.fixupNo}`);
22
+ if (r.hopNo)
23
+ return msg('Model switch');
24
+ return attemptLabel(0);
25
+ }
26
+ /** One phrase on what this round was, for its prompt's heading; `resumed`: its attempt is the first of a resumed run. */
27
+ export function roundWhy(r, resumed = false) {
28
+ if (r.fixupNo)
29
+ return msg('same agent session, after failed checks');
30
+ if (r.hopNo)
31
+ return msg('new agent session on the next model');
32
+ if (r.tryNo > 1 && resumed)
33
+ return msg('new agent session in the resumed run');
34
+ if (r.tryNo > 1)
35
+ return msg(str `new agent session after attempt ${r.tryNo - 1} failed`);
36
+ return msg('first agent session');
37
+ }
38
+ /** A switched round's model, why it stopped, and the next model: `primary-model: rate limited → fallback-model`. */
39
+ export function switchText(r) {
40
+ const from = r.model || msg('model');
41
+ return r.switchedTo
42
+ ? msg(str `${from}: ${stopLabel(r.switchedStop)} → ${r.switchedTo}`)
43
+ : msg(str `${from}: ${stopLabel(r.switchedStop)} → next model`);
44
+ }
45
+ /** The ✓ / ✕ mark, its word for screen readers and its tooltip. */
46
+ export function roundMark(r, run) {
47
+ switch (r.result) {
48
+ case 'ok':
49
+ return ['✓', msg('passed'), msg('Output passed checks')];
50
+ case 'rejected':
51
+ return ['✕', msg('failed checks'), msg('Output failed checks')];
52
+ case 'switched':
53
+ return ['✕', stopLabel(r.switchedStop), switchText(r)];
54
+ case 'failed':
55
+ return ['✕', msg('failed'), runRelative(r.row?.reason, run) || stopLabel(r.row?.stop)];
56
+ default:
57
+ return ['', '', ''];
58
+ }
59
+ }
60
+ //# sourceMappingURL=rounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rounds.js","sourceRoot":"","sources":["../../src/words/rounds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** What such a column is, for a header's tooltip. */
2
+ export declare const customColumnTip: () => string;
3
+ /** A custom column's value as text: a string as it is, a number or a boolean as written, anything else as compact JSON; '—' when absent. */
4
+ export declare function customValue(v: unknown): string;
5
+ /** The custom columns `names` of `row` that have a value, as `[name, text]`. */
6
+ export declare function customValues(row: object, names: readonly string[]): [string, string][];
7
+ //# sourceMappingURL=row-extras.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-extras.d.ts","sourceRoot":"","sources":["../../src/words/row-extras.ts"],"names":[],"mappings":"AAIA,qDAAqD;AACrD,eAAO,MAAM,eAAe,QAAO,MAA2C,CAAC;AAE/E,4IAA4I;AAC5I,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAS9C;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAGtF"}
@@ -0,0 +1,26 @@
1
+ // Words for a pipeline's own journal columns (`row_extras`): the columns it adds to each
2
+ // attempt's row, named by the pipeline itself.
3
+ import { msg } from '@lit/localize';
4
+ /** What such a column is, for a header's tooltip. */
5
+ export const customColumnTip = () => msg('Custom column (row_extras)');
6
+ /** A custom column's value as text: a string as it is, a number or a boolean as written, anything else as compact JSON; '—' when absent. */
7
+ export function customValue(v) {
8
+ if (v === null || v === undefined || v === '')
9
+ return '—';
10
+ if (typeof v === 'string')
11
+ return v;
12
+ if (typeof v === 'number' || typeof v === 'boolean')
13
+ return String(v);
14
+ try {
15
+ return JSON.stringify(v) ?? '—';
16
+ }
17
+ catch {
18
+ return '—'; // not JSON (a journal row is JSON, so only a hand-built value)
19
+ }
20
+ }
21
+ /** The custom columns `names` of `row` that have a value, as `[name, text]`. */
22
+ export function customValues(row, names) {
23
+ const r = row;
24
+ return names.filter((n) => r[n] !== null && r[n] !== undefined && r[n] !== '').map((n) => [n, customValue(r[n])]);
25
+ }
26
+ //# sourceMappingURL=row-extras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-extras.js","sourceRoot":"","sources":["../../src/words/row-extras.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,+CAA+C;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAE/E,4IAA4I;AAC5I,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,CAAC,+DAA+D;IAC7E,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAAwB;IAChE,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpH,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type RunDerived, type RunState, type RunSummary } from '@contraagent/api';
2
+ /** Each account's latest subscription reading, busiest weekly first: from the live journal once replayed, else the run list's. */
3
+ export declare const runLineAccounts: (state: RunState, summary: RunSummary) => import("@contraagent/api").AccountUsage[];
4
+ /**
5
+ * The header's run line: tasks that ended well out of all tasks (not attempts),
6
+ * the tasks that will not run, how long the run took, its cost and usage, running. Before the feed has
7
+ * replayed, no count: the run list's figures only.
8
+ */
9
+ export declare function runLine(state: RunState, summary: RunSummary, derived?: RunDerived): string;
10
+ /** The history bar's count, as the overview counts: "23 attempts | 4 not started". */
11
+ export declare function triesLine({ tries, notStarted }: RunDerived['tries']): string;
12
+ /** A stub run's mark (`RunSummary.stub`): its tasks were played by the stub agent. */
13
+ export declare const stubLabel: () => string;
14
+ /** What a stub run's mark means, for its tooltip. */
15
+ export declare const stubTip: () => string;
16
+ /** A replay's mark (`RunSummary.replay`): its agent tasks played their recordings. */
17
+ export declare const replayLabel: () => string;
18
+ /** What a replay's mark means, for its tooltip: where its recordings are. */
19
+ export declare const replayTip: (dir: string) => string;
20
+ /**
21
+ * A replay that also launched (`RunSummary.replay` with `stub` false, `record_missing`):
22
+ * some attempts played their recordings, the others ran and were recorded. Only
23
+ * then is each played attempt (`JournalRow.replayed`) marked: in a replay that
24
+ * launched nothing, the run's mark says it of every attempt.
25
+ */
26
+ export declare const mixedReplay: (r: Pick<RunSummary, "stub" | "replay"> | undefined) => boolean;
27
+ /** A replay that also launched: its mark. */
28
+ export declare const mixedReplayLabel: () => string;
29
+ /** What that mark means, for its tooltip: where its recordings are. */
30
+ export declare const mixedReplayTip: (dir: string) => string;
31
+ /** An attempt played from its recording (`JournalRow.replayed`), in a replay that also launched. */
32
+ export declare const replayedLabel: () => string;
33
+ /** What that mark means, for its tooltip. */
34
+ export declare const replayedTip: () => string;
35
+ /** The mark beside a run's name: a replay (one that also launched, or not), else a stub run; null for a run of coding agents. */
36
+ export declare function runMark(r: Pick<RunSummary, 'stub' | 'replay'> | undefined): {
37
+ text: string;
38
+ title: string;
39
+ } | null;
40
+ //# sourceMappingURL=run-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-line.d.ts","sourceRoot":"","sources":["../../src/words/run-line.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9H,kIAAkI;AAClI,eAAO,MAAM,eAAe,GAAI,OAAO,QAAQ,EAAE,SAAS,UAAU,8CACF,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAE,UAAiD,GAAG,MAAM,CAYhI;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAE5E;AAED,sFAAsF;AACtF,eAAO,MAAM,SAAS,QAAO,MAAsG,CAAC;AAEpI,qDAAqD;AACrD,eAAO,MAAM,OAAO,QAAO,MAA4E,CAAC;AAExG,sFAAsF;AACtF,eAAO,MAAM,WAAW,QAAO,MAAiH,CAAC;AAEjJ,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAgF,CAAC;AAEzH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,SAAS,KAAG,OAAiC,CAAC;AAEnH,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,QAAO,MACkG,CAAC;AAEvI,uEAAuE;AACvE,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MACkF,CAAC;AAEhI,oGAAoG;AACpG,eAAO,MAAM,aAAa,QAAO,MAA0F,CAAC;AAE5H,6CAA6C;AAC7C,eAAO,MAAM,WAAW,QAAO,MAAmD,CAAC;AAEnF,iIAAiI;AACjI,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKlH"}