@contraagent/ui 0.0.0-stage → 0.1.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 (1037) hide show
  1. package/README.md +130 -2
  2. package/custom-elements.json +7084 -0
  3. package/dist/adapters/check-rows.d.ts +18 -0
  4. package/dist/adapters/check-rows.d.ts.map +1 -0
  5. package/dist/adapters/check-rows.js +75 -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 +20 -0
  76. package/dist/adapters/panel-body.d.ts.map +1 -0
  77. package/dist/adapters/panel-body.js +63 -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 +985 -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/clock.d.ts +20 -0
  137. package/dist/core/clock.d.ts.map +1 -0
  138. package/dist/core/clock.js +45 -0
  139. package/dist/core/clock.js.map +1 -0
  140. package/dist/core/events.d.ts +107 -0
  141. package/dist/core/events.d.ts.map +1 -0
  142. package/dist/core/events.js +5 -0
  143. package/dist/core/events.js.map +1 -0
  144. package/dist/core/i18n.d.ts +21 -0
  145. package/dist/core/i18n.d.ts.map +1 -0
  146. package/dist/core/i18n.js +71 -0
  147. package/dist/core/i18n.js.map +1 -0
  148. package/dist/core/index.d.ts +5 -0
  149. package/dist/core/index.d.ts.map +1 -0
  150. package/dist/core/index.js +7 -0
  151. package/dist/core/index.js.map +1 -0
  152. package/dist/core/memory.d.ts +51 -0
  153. package/dist/core/memory.d.ts.map +1 -0
  154. package/dist/core/memory.js +174 -0
  155. package/dist/core/memory.js.map +1 -0
  156. package/dist/core/route.d.ts +62 -0
  157. package/dist/core/route.d.ts.map +1 -0
  158. package/dist/core/route.js +143 -0
  159. package/dist/core/route.js.map +1 -0
  160. package/dist/core/router.d.ts +27 -0
  161. package/dist/core/router.d.ts.map +1 -0
  162. package/dist/core/router.js +57 -0
  163. package/dist/core/router.js.map +1 -0
  164. package/dist/core/scroll.d.ts +21 -0
  165. package/dist/core/scroll.d.ts.map +1 -0
  166. package/dist/core/scroll.js +74 -0
  167. package/dist/core/scroll.js.map +1 -0
  168. package/dist/core/view-route.d.ts +62 -0
  169. package/dist/core/view-route.d.ts.map +1 -0
  170. package/dist/core/view-route.js +143 -0
  171. package/dist/core/view-route.js.map +1 -0
  172. package/dist/core/view-router.d.ts +27 -0
  173. package/dist/core/view-router.d.ts.map +1 -0
  174. package/dist/core/view-router.js +57 -0
  175. package/dist/core/view-router.js.map +1 -0
  176. package/dist/define/all.d.ts +13 -0
  177. package/dist/define/all.d.ts.map +1 -0
  178. package/dist/define/all.js +14 -0
  179. package/dist/define/all.js.map +1 -0
  180. package/dist/define/contracts.d.ts +2 -0
  181. package/dist/define/contracts.d.ts.map +1 -0
  182. package/dist/define/contracts.js +3 -0
  183. package/dist/define/contracts.js.map +1 -0
  184. package/dist/define/definitions.d.ts +3 -0
  185. package/dist/define/definitions.d.ts.map +1 -0
  186. package/dist/define/definitions.js +4 -0
  187. package/dist/define/definitions.js.map +1 -0
  188. package/dist/define/journal-table.d.ts +2 -0
  189. package/dist/define/journal-table.d.ts.map +1 -0
  190. package/dist/define/journal-table.js +3 -0
  191. package/dist/define/journal-table.js.map +1 -0
  192. package/dist/define/kpis.d.ts +2 -0
  193. package/dist/define/kpis.d.ts.map +1 -0
  194. package/dist/define/kpis.js +3 -0
  195. package/dist/define/kpis.js.map +1 -0
  196. package/dist/define/monitor.d.ts +2 -0
  197. package/dist/define/monitor.d.ts.map +1 -0
  198. package/dist/define/monitor.js +3 -0
  199. package/dist/define/monitor.js.map +1 -0
  200. package/dist/define/overview.d.ts +2 -0
  201. package/dist/define/overview.d.ts.map +1 -0
  202. package/dist/define/overview.js +3 -0
  203. package/dist/define/overview.js.map +1 -0
  204. package/dist/define/pipeline-graph.d.ts +2 -0
  205. package/dist/define/pipeline-graph.d.ts.map +1 -0
  206. package/dist/define/pipeline-graph.js +3 -0
  207. package/dist/define/pipeline-graph.js.map +1 -0
  208. package/dist/define/procs.d.ts +3 -0
  209. package/dist/define/procs.d.ts.map +1 -0
  210. package/dist/define/procs.js +4 -0
  211. package/dist/define/procs.js.map +1 -0
  212. package/dist/define/task-table.d.ts +2 -0
  213. package/dist/define/task-table.d.ts.map +1 -0
  214. package/dist/define/task-table.js +3 -0
  215. package/dist/define/task-table.js.map +1 -0
  216. package/dist/define/task-view.d.ts +2 -0
  217. package/dist/define/task-view.d.ts.map +1 -0
  218. package/dist/define/task-view.js +3 -0
  219. package/dist/define/task-view.js.map +1 -0
  220. package/dist/define/timeline.d.ts +2 -0
  221. package/dist/define/timeline.d.ts.map +1 -0
  222. package/dist/define/timeline.js +3 -0
  223. package/dist/define/timeline.js.map +1 -0
  224. package/dist/define/transcript.d.ts +2 -0
  225. package/dist/define/transcript.d.ts.map +1 -0
  226. package/dist/define/transcript.js +3 -0
  227. package/dist/define/transcript.js.map +1 -0
  228. package/dist/elements/lists/ca-contracts.d.ts +46 -0
  229. package/dist/elements/lists/ca-contracts.d.ts.map +1 -0
  230. package/dist/elements/lists/ca-contracts.js +199 -0
  231. package/dist/elements/lists/ca-contracts.js.map +1 -0
  232. package/dist/elements/lists/ca-definitions.d.ts +41 -0
  233. package/dist/elements/lists/ca-definitions.d.ts.map +1 -0
  234. package/dist/elements/lists/ca-definitions.js +182 -0
  235. package/dist/elements/lists/ca-definitions.js.map +1 -0
  236. package/dist/elements/lists/ca-journal-table.d.ts +37 -0
  237. package/dist/elements/lists/ca-journal-table.d.ts.map +1 -0
  238. package/dist/elements/lists/ca-journal-table.js +170 -0
  239. package/dist/elements/lists/ca-journal-table.js.map +1 -0
  240. package/dist/elements/lists/ca-panel-body.d.ts +29 -0
  241. package/dist/elements/lists/ca-panel-body.d.ts.map +1 -0
  242. package/dist/elements/lists/ca-panel-body.js +144 -0
  243. package/dist/elements/lists/ca-panel-body.js.map +1 -0
  244. package/dist/elements/lists/ca-panel-view.d.ts +21 -0
  245. package/dist/elements/lists/ca-panel-view.d.ts.map +1 -0
  246. package/dist/elements/lists/ca-panel-view.js +59 -0
  247. package/dist/elements/lists/ca-panel-view.js.map +1 -0
  248. package/dist/elements/lists/ca-proc-tree.d.ts +16 -0
  249. package/dist/elements/lists/ca-proc-tree.d.ts.map +1 -0
  250. package/dist/elements/lists/ca-proc-tree.js +63 -0
  251. package/dist/elements/lists/ca-proc-tree.js.map +1 -0
  252. package/dist/elements/lists/ca-procs-view.d.ts +27 -0
  253. package/dist/elements/lists/ca-procs-view.d.ts.map +1 -0
  254. package/dist/elements/lists/ca-procs-view.js +91 -0
  255. package/dist/elements/lists/ca-procs-view.js.map +1 -0
  256. package/dist/elements/lists/ca-task-table.d.ts +33 -0
  257. package/dist/elements/lists/ca-task-table.d.ts.map +1 -0
  258. package/dist/elements/lists/ca-task-table.js +115 -0
  259. package/dist/elements/lists/ca-task-table.js.map +1 -0
  260. package/dist/elements/lists/filters.d.ts +28 -0
  261. package/dist/elements/lists/filters.d.ts.map +1 -0
  262. package/dist/elements/lists/filters.js +71 -0
  263. package/dist/elements/lists/filters.js.map +1 -0
  264. package/dist/elements/lists/index.d.ts +9 -0
  265. package/dist/elements/lists/index.d.ts.map +1 -0
  266. package/dist/elements/lists/index.js +9 -0
  267. package/dist/elements/lists/index.js.map +1 -0
  268. package/dist/elements/overview/ca-kpis.d.ts +32 -0
  269. package/dist/elements/overview/ca-kpis.d.ts.map +1 -0
  270. package/dist/elements/overview/ca-kpis.js +62 -0
  271. package/dist/elements/overview/ca-kpis.js.map +1 -0
  272. package/dist/elements/overview/ca-model-usage.d.ts +25 -0
  273. package/dist/elements/overview/ca-model-usage.d.ts.map +1 -0
  274. package/dist/elements/overview/ca-model-usage.js +118 -0
  275. package/dist/elements/overview/ca-model-usage.js.map +1 -0
  276. package/dist/elements/overview/ca-overview.d.ts +66 -0
  277. package/dist/elements/overview/ca-overview.d.ts.map +1 -0
  278. package/dist/elements/overview/ca-overview.js +456 -0
  279. package/dist/elements/overview/ca-overview.js.map +1 -0
  280. package/dist/elements/overview/ca-pipeline-graph.d.ts +211 -0
  281. package/dist/elements/overview/ca-pipeline-graph.d.ts.map +1 -0
  282. package/dist/elements/overview/ca-pipeline-graph.js +616 -0
  283. package/dist/elements/overview/ca-pipeline-graph.js.map +1 -0
  284. package/dist/elements/overview/ca-pipeline-progress.d.ts +17 -0
  285. package/dist/elements/overview/ca-pipeline-progress.d.ts.map +1 -0
  286. package/dist/elements/overview/ca-pipeline-progress.js +119 -0
  287. package/dist/elements/overview/ca-pipeline-progress.js.map +1 -0
  288. package/dist/elements/overview/ca-plan-matrix.d.ts +27 -0
  289. package/dist/elements/overview/ca-plan-matrix.d.ts.map +1 -0
  290. package/dist/elements/overview/ca-plan-matrix.js +113 -0
  291. package/dist/elements/overview/ca-plan-matrix.js.map +1 -0
  292. package/dist/elements/overview/ca-quota.d.ts +42 -0
  293. package/dist/elements/overview/ca-quota.d.ts.map +1 -0
  294. package/dist/elements/overview/ca-quota.js +179 -0
  295. package/dist/elements/overview/ca-quota.js.map +1 -0
  296. package/dist/elements/overview/ca-run-driver.d.ts +33 -0
  297. package/dist/elements/overview/ca-run-driver.d.ts.map +1 -0
  298. package/dist/elements/overview/ca-run-driver.js +146 -0
  299. package/dist/elements/overview/ca-run-driver.js.map +1 -0
  300. package/dist/elements/overview/ca-spend-breakdown.d.ts +24 -0
  301. package/dist/elements/overview/ca-spend-breakdown.d.ts.map +1 -0
  302. package/dist/elements/overview/ca-spend-breakdown.js +108 -0
  303. package/dist/elements/overview/ca-spend-breakdown.js.map +1 -0
  304. package/dist/elements/overview/ca-timeline.d.ts +28 -0
  305. package/dist/elements/overview/ca-timeline.d.ts.map +1 -0
  306. package/dist/elements/overview/ca-timeline.js +72 -0
  307. package/dist/elements/overview/ca-timeline.js.map +1 -0
  308. package/dist/elements/overview/ca-workers.d.ts +23 -0
  309. package/dist/elements/overview/ca-workers.d.ts.map +1 -0
  310. package/dist/elements/overview/ca-workers.js +86 -0
  311. package/dist/elements/overview/ca-workers.js.map +1 -0
  312. package/dist/elements/overview/flow-types.d.ts +2 -0
  313. package/dist/elements/overview/flow-types.d.ts.map +1 -0
  314. package/dist/elements/overview/flow-types.js +2 -0
  315. package/dist/elements/overview/flow-types.js.map +1 -0
  316. package/dist/elements/overview/graph/arrange.d.ts +16 -0
  317. package/dist/elements/overview/graph/arrange.d.ts.map +1 -0
  318. package/dist/elements/overview/graph/arrange.js +152 -0
  319. package/dist/elements/overview/graph/arrange.js.map +1 -0
  320. package/dist/elements/overview/graph/card.d.ts +64 -0
  321. package/dist/elements/overview/graph/card.d.ts.map +1 -0
  322. package/dist/elements/overview/graph/card.js +160 -0
  323. package/dist/elements/overview/graph/card.js.map +1 -0
  324. package/dist/elements/overview/graph/flow-index.d.ts +52 -0
  325. package/dist/elements/overview/graph/flow-index.d.ts.map +1 -0
  326. package/dist/elements/overview/graph/flow-index.js +121 -0
  327. package/dist/elements/overview/graph/flow-index.js.map +1 -0
  328. package/dist/elements/overview/graph/highlight.d.ts +14 -0
  329. package/dist/elements/overview/graph/highlight.d.ts.map +1 -0
  330. package/dist/elements/overview/graph/highlight.js +33 -0
  331. package/dist/elements/overview/graph/highlight.js.map +1 -0
  332. package/dist/elements/overview/graph/layer.d.ts +32 -0
  333. package/dist/elements/overview/graph/layer.d.ts.map +1 -0
  334. package/dist/elements/overview/graph/layer.js +92 -0
  335. package/dist/elements/overview/graph/layer.js.map +1 -0
  336. package/dist/elements/overview/graph/layout.d.ts +80 -0
  337. package/dist/elements/overview/graph/layout.d.ts.map +1 -0
  338. package/dist/elements/overview/graph/layout.js +261 -0
  339. package/dist/elements/overview/graph/layout.js.map +1 -0
  340. package/dist/elements/overview/graph/marks.d.ts +18 -0
  341. package/dist/elements/overview/graph/marks.d.ts.map +1 -0
  342. package/dist/elements/overview/graph/marks.js +17 -0
  343. package/dist/elements/overview/graph/marks.js.map +1 -0
  344. package/dist/elements/overview/graph/matrix.d.ts +58 -0
  345. package/dist/elements/overview/graph/matrix.d.ts.map +1 -0
  346. package/dist/elements/overview/graph/matrix.js +93 -0
  347. package/dist/elements/overview/graph/matrix.js.map +1 -0
  348. package/dist/elements/overview/graph/nav.d.ts +15 -0
  349. package/dist/elements/overview/graph/nav.d.ts.map +1 -0
  350. package/dist/elements/overview/graph/nav.js +80 -0
  351. package/dist/elements/overview/graph/nav.js.map +1 -0
  352. package/dist/elements/overview/graph/pan-zoom.d.ts +83 -0
  353. package/dist/elements/overview/graph/pan-zoom.d.ts.map +1 -0
  354. package/dist/elements/overview/graph/pan-zoom.js +189 -0
  355. package/dist/elements/overview/graph/pan-zoom.js.map +1 -0
  356. package/dist/elements/overview/graph/paths.d.ts +9 -0
  357. package/dist/elements/overview/graph/paths.d.ts.map +1 -0
  358. package/dist/elements/overview/graph/paths.js +44 -0
  359. package/dist/elements/overview/graph/paths.js.map +1 -0
  360. package/dist/elements/overview/graph/place-card.d.ts +36 -0
  361. package/dist/elements/overview/graph/place-card.d.ts.map +1 -0
  362. package/dist/elements/overview/graph/place-card.js +68 -0
  363. package/dist/elements/overview/graph/place-card.js.map +1 -0
  364. package/dist/elements/overview/graph/project.d.ts +31 -0
  365. package/dist/elements/overview/graph/project.d.ts.map +1 -0
  366. package/dist/elements/overview/graph/project.js +455 -0
  367. package/dist/elements/overview/graph/project.js.map +1 -0
  368. package/dist/elements/overview/graph/selection.d.ts +31 -0
  369. package/dist/elements/overview/graph/selection.d.ts.map +1 -0
  370. package/dist/elements/overview/graph/selection.js +44 -0
  371. package/dist/elements/overview/graph/selection.js.map +1 -0
  372. package/dist/elements/overview/graph/states.d.ts +6 -0
  373. package/dist/elements/overview/graph/states.d.ts.map +1 -0
  374. package/dist/elements/overview/graph/states.js +5 -0
  375. package/dist/elements/overview/graph/states.js.map +1 -0
  376. package/dist/elements/overview/graph/types.d.ts +124 -0
  377. package/dist/elements/overview/graph/types.d.ts.map +1 -0
  378. package/dist/elements/overview/graph/types.js +3 -0
  379. package/dist/elements/overview/graph/types.js.map +1 -0
  380. package/dist/elements/overview/graph/view.d.ts +16 -0
  381. package/dist/elements/overview/graph/view.d.ts.map +1 -0
  382. package/dist/elements/overview/graph/view.js +20 -0
  383. package/dist/elements/overview/graph/view.js.map +1 -0
  384. package/dist/elements/overview/index.d.ts +10 -0
  385. package/dist/elements/overview/index.d.ts.map +1 -0
  386. package/dist/elements/overview/index.js +10 -0
  387. package/dist/elements/overview/index.js.map +1 -0
  388. package/dist/elements/overview/kpis-model.d.ts +31 -0
  389. package/dist/elements/overview/kpis-model.d.ts.map +1 -0
  390. package/dist/elements/overview/kpis-model.js +30 -0
  391. package/dist/elements/overview/kpis-model.js.map +1 -0
  392. package/dist/elements/overview/logic.d.ts +442 -0
  393. package/dist/elements/overview/logic.d.ts.map +1 -0
  394. package/dist/elements/overview/logic.js +1431 -0
  395. package/dist/elements/overview/logic.js.map +1 -0
  396. package/dist/elements/overview/pipeline-graph/actions.d.ts +16 -0
  397. package/dist/elements/overview/pipeline-graph/actions.d.ts.map +1 -0
  398. package/dist/elements/overview/pipeline-graph/actions.js +42 -0
  399. package/dist/elements/overview/pipeline-graph/actions.js.map +1 -0
  400. package/dist/elements/overview/pipeline-graph/crumbs.d.ts +15 -0
  401. package/dist/elements/overview/pipeline-graph/crumbs.d.ts.map +1 -0
  402. package/dist/elements/overview/pipeline-graph/crumbs.js +70 -0
  403. package/dist/elements/overview/pipeline-graph/crumbs.js.map +1 -0
  404. package/dist/elements/overview/pipeline-graph/dag.d.ts +4 -0
  405. package/dist/elements/overview/pipeline-graph/dag.d.ts.map +1 -0
  406. package/dist/elements/overview/pipeline-graph/dag.js +259 -0
  407. package/dist/elements/overview/pipeline-graph/dag.js.map +1 -0
  408. package/dist/elements/overview/pipeline-graph/host.d.ts +24 -0
  409. package/dist/elements/overview/pipeline-graph/host.d.ts.map +1 -0
  410. package/dist/elements/overview/pipeline-graph/host.js +2 -0
  411. package/dist/elements/overview/pipeline-graph/host.js.map +1 -0
  412. package/dist/elements/overview/pipeline-graph/icons.d.ts +5 -0
  413. package/dist/elements/overview/pipeline-graph/icons.d.ts.map +1 -0
  414. package/dist/elements/overview/pipeline-graph/icons.js +13 -0
  415. package/dist/elements/overview/pipeline-graph/icons.js.map +1 -0
  416. package/dist/elements/overview/pipeline-graph/inspector.d.ts +5 -0
  417. package/dist/elements/overview/pipeline-graph/inspector.d.ts.map +1 -0
  418. package/dist/elements/overview/pipeline-graph/inspector.js +100 -0
  419. package/dist/elements/overview/pipeline-graph/inspector.js.map +1 -0
  420. package/dist/elements/overview/pipeline-graph/legend.d.ts +9 -0
  421. package/dist/elements/overview/pipeline-graph/legend.d.ts.map +1 -0
  422. package/dist/elements/overview/pipeline-graph/legend.js +59 -0
  423. package/dist/elements/overview/pipeline-graph/legend.js.map +1 -0
  424. package/dist/elements/overview/pipeline-graph/matrix.d.ts +4 -0
  425. package/dist/elements/overview/pipeline-graph/matrix.d.ts.map +1 -0
  426. package/dist/elements/overview/pipeline-graph/matrix.js +193 -0
  427. package/dist/elements/overview/pipeline-graph/matrix.js.map +1 -0
  428. package/dist/elements/overview/pipeline-graph/outline.d.ts +53 -0
  429. package/dist/elements/overview/pipeline-graph/outline.d.ts.map +1 -0
  430. package/dist/elements/overview/pipeline-graph/outline.js +111 -0
  431. package/dist/elements/overview/pipeline-graph/outline.js.map +1 -0
  432. package/dist/elements/overview/pipeline-graph/strings.d.ts +11 -0
  433. package/dist/elements/overview/pipeline-graph/strings.d.ts.map +1 -0
  434. package/dist/elements/overview/pipeline-graph/strings.js +49 -0
  435. package/dist/elements/overview/pipeline-graph/strings.js.map +1 -0
  436. package/dist/elements/overview/pipeline-graph/styles.d.ts +4 -0
  437. package/dist/elements/overview/pipeline-graph/styles.d.ts.map +1 -0
  438. package/dist/elements/overview/pipeline-graph/styles.js +96 -0
  439. package/dist/elements/overview/pipeline-graph/styles.js.map +1 -0
  440. package/dist/elements/overview/pipeline-graph/table.d.ts +11 -0
  441. package/dist/elements/overview/pipeline-graph/table.d.ts.map +1 -0
  442. package/dist/elements/overview/pipeline-graph/table.js +74 -0
  443. package/dist/elements/overview/pipeline-graph/table.js.map +1 -0
  444. package/dist/elements/overview/pipeline-graph/tools.d.ts +5 -0
  445. package/dist/elements/overview/pipeline-graph/tools.d.ts.map +1 -0
  446. package/dist/elements/overview/pipeline-graph/tools.js +48 -0
  447. package/dist/elements/overview/pipeline-graph/tools.js.map +1 -0
  448. package/dist/elements/overview/pipeline-graph/words.d.ts +45 -0
  449. package/dist/elements/overview/pipeline-graph/words.d.ts.map +1 -0
  450. package/dist/elements/overview/pipeline-graph/words.js +108 -0
  451. package/dist/elements/overview/pipeline-graph/words.js.map +1 -0
  452. package/dist/elements/overview/place-card.d.ts +36 -0
  453. package/dist/elements/overview/place-card.d.ts.map +1 -0
  454. package/dist/elements/overview/place-card.js +68 -0
  455. package/dist/elements/overview/place-card.js.map +1 -0
  456. package/dist/elements/overview/timeline-model.d.ts +44 -0
  457. package/dist/elements/overview/timeline-model.d.ts.map +1 -0
  458. package/dist/elements/overview/timeline-model.js +53 -0
  459. package/dist/elements/overview/timeline-model.js.map +1 -0
  460. package/dist/elements/shared/ca-count.d.ts +17 -0
  461. package/dist/elements/shared/ca-count.d.ts.map +1 -0
  462. package/dist/elements/shared/ca-count.js +59 -0
  463. package/dist/elements/shared/ca-count.js.map +1 -0
  464. package/dist/elements/shared/ca-definition.d.ts +26 -0
  465. package/dist/elements/shared/ca-definition.d.ts.map +1 -0
  466. package/dist/elements/shared/ca-definition.js +202 -0
  467. package/dist/elements/shared/ca-definition.js.map +1 -0
  468. package/dist/elements/shared/ca-elapsed.d.ts +14 -0
  469. package/dist/elements/shared/ca-elapsed.d.ts.map +1 -0
  470. package/dist/elements/shared/ca-elapsed.js +33 -0
  471. package/dist/elements/shared/ca-elapsed.js.map +1 -0
  472. package/dist/elements/shared/ca-json-tree.d.ts +16 -0
  473. package/dist/elements/shared/ca-json-tree.d.ts.map +1 -0
  474. package/dist/elements/shared/ca-json-tree.js +52 -0
  475. package/dist/elements/shared/ca-json-tree.js.map +1 -0
  476. package/dist/elements/shared/ca-markdown.d.ts +19 -0
  477. package/dist/elements/shared/ca-markdown.d.ts.map +1 -0
  478. package/dist/elements/shared/ca-markdown.js +59 -0
  479. package/dist/elements/shared/ca-markdown.js.map +1 -0
  480. package/dist/elements/shared/contract-parts.d.ts +35 -0
  481. package/dist/elements/shared/contract-parts.d.ts.map +1 -0
  482. package/dist/elements/shared/contract-parts.js +151 -0
  483. package/dist/elements/shared/contract-parts.js.map +1 -0
  484. package/dist/elements/shared/fact-line.d.ts +4 -0
  485. package/dist/elements/shared/fact-line.d.ts.map +1 -0
  486. package/dist/elements/shared/fact-line.js +8 -0
  487. package/dist/elements/shared/fact-line.js.map +1 -0
  488. package/dist/elements/shared/file-card.d.ts +17 -0
  489. package/dist/elements/shared/file-card.d.ts.map +1 -0
  490. package/dist/elements/shared/file-card.js +37 -0
  491. package/dist/elements/shared/file-card.js.map +1 -0
  492. package/dist/elements/shared/prompt-text.d.ts +5 -0
  493. package/dist/elements/shared/prompt-text.d.ts.map +1 -0
  494. package/dist/elements/shared/prompt-text.js +13 -0
  495. package/dist/elements/shared/prompt-text.js.map +1 -0
  496. package/dist/elements/shared/task-chip.d.ts +10 -0
  497. package/dist/elements/shared/task-chip.d.ts.map +1 -0
  498. package/dist/elements/shared/task-chip.js +19 -0
  499. package/dist/elements/shared/task-chip.js.map +1 -0
  500. package/dist/elements/shell/ca-clock.d.ts +13 -0
  501. package/dist/elements/shell/ca-clock.d.ts.map +1 -0
  502. package/dist/elements/shell/ca-clock.js +30 -0
  503. package/dist/elements/shell/ca-clock.js.map +1 -0
  504. package/dist/elements/shell/ca-hosts.d.ts +21 -0
  505. package/dist/elements/shell/ca-hosts.d.ts.map +1 -0
  506. package/dist/elements/shell/ca-hosts.js +97 -0
  507. package/dist/elements/shell/ca-hosts.js.map +1 -0
  508. package/dist/elements/shell/ca-monitor.d.ts +180 -0
  509. package/dist/elements/shell/ca-monitor.d.ts.map +1 -0
  510. package/dist/elements/shell/ca-monitor.js +547 -0
  511. package/dist/elements/shell/ca-monitor.js.map +1 -0
  512. package/dist/elements/shell/ca-run-picker.d.ts +71 -0
  513. package/dist/elements/shell/ca-run-picker.d.ts.map +1 -0
  514. package/dist/elements/shell/ca-run-picker.js +313 -0
  515. package/dist/elements/shell/ca-run-picker.js.map +1 -0
  516. package/dist/elements/shell/ca-theme-switch.d.ts +36 -0
  517. package/dist/elements/shell/ca-theme-switch.d.ts.map +1 -0
  518. package/dist/elements/shell/ca-theme-switch.js +186 -0
  519. package/dist/elements/shell/ca-theme-switch.js.map +1 -0
  520. package/dist/elements/shell/ca-toasts.d.ts +23 -0
  521. package/dist/elements/shell/ca-toasts.d.ts.map +1 -0
  522. package/dist/elements/shell/ca-toasts.js +88 -0
  523. package/dist/elements/shell/ca-toasts.js.map +1 -0
  524. package/dist/elements/shell/header.d.ts +13 -0
  525. package/dist/elements/shell/header.d.ts.map +1 -0
  526. package/dist/elements/shell/header.js +38 -0
  527. package/dist/elements/shell/header.js.map +1 -0
  528. package/dist/elements/shell/styles.d.ts +2 -0
  529. package/dist/elements/shell/styles.d.ts.map +1 -0
  530. package/dist/elements/shell/styles.js +72 -0
  531. package/dist/elements/shell/styles.js.map +1 -0
  532. package/dist/elements/shell/tabs.d.ts +32 -0
  533. package/dist/elements/shell/tabs.d.ts.map +1 -0
  534. package/dist/elements/shell/tabs.js +125 -0
  535. package/dist/elements/shell/tabs.js.map +1 -0
  536. package/dist/elements/shell/views.d.ts +27 -0
  537. package/dist/elements/shell/views.d.ts.map +1 -0
  538. package/dist/elements/shell/views.js +55 -0
  539. package/dist/elements/shell/views.js.map +1 -0
  540. package/dist/elements/task/ca-task-view.d.ts +55 -0
  541. package/dist/elements/task/ca-task-view.d.ts.map +1 -0
  542. package/dist/elements/task/ca-task-view.js +199 -0
  543. package/dist/elements/task/ca-task-view.js.map +1 -0
  544. package/dist/elements/task/ca-transcript.d.ts +74 -0
  545. package/dist/elements/task/ca-transcript.d.ts.map +1 -0
  546. package/dist/elements/task/ca-transcript.js +241 -0
  547. package/dist/elements/task/ca-transcript.js.map +1 -0
  548. package/dist/elements/task/context.d.ts +57 -0
  549. package/dist/elements/task/context.d.ts.map +1 -0
  550. package/dist/elements/task/context.js +61 -0
  551. package/dist/elements/task/context.js.map +1 -0
  552. package/dist/elements/task/header.d.ts +9 -0
  553. package/dist/elements/task/header.d.ts.map +1 -0
  554. package/dist/elements/task/header.js +287 -0
  555. package/dist/elements/task/header.js.map +1 -0
  556. package/dist/elements/task/index.d.ts +3 -0
  557. package/dist/elements/task/index.d.ts.map +1 -0
  558. package/dist/elements/task/index.js +3 -0
  559. package/dist/elements/task/index.js.map +1 -0
  560. package/dist/elements/task/inputs.d.ts +28 -0
  561. package/dist/elements/task/inputs.d.ts.map +1 -0
  562. package/dist/elements/task/inputs.js +27 -0
  563. package/dist/elements/task/inputs.js.map +1 -0
  564. package/dist/elements/task/panes/definition.d.ts +5 -0
  565. package/dist/elements/task/panes/definition.d.ts.map +1 -0
  566. package/dist/elements/task/panes/definition.js +5 -0
  567. package/dist/elements/task/panes/definition.js.map +1 -0
  568. package/dist/elements/task/panes/io.d.ts +8 -0
  569. package/dist/elements/task/panes/io.d.ts.map +1 -0
  570. package/dist/elements/task/panes/io.js +184 -0
  571. package/dist/elements/task/panes/io.js.map +1 -0
  572. package/dist/elements/task/panes/transcript.d.ts +5 -0
  573. package/dist/elements/task/panes/transcript.d.ts.map +1 -0
  574. package/dist/elements/task/panes/transcript.js +29 -0
  575. package/dist/elements/task/panes/transcript.js.map +1 -0
  576. package/dist/elements/task/rounds.d.ts +14 -0
  577. package/dist/elements/task/rounds.d.ts.map +1 -0
  578. package/dist/elements/task/rounds.js +59 -0
  579. package/dist/elements/task/rounds.js.map +1 -0
  580. package/dist/elements/task/styles.d.ts +2 -0
  581. package/dist/elements/task/styles.d.ts.map +1 -0
  582. package/dist/elements/task/styles.js +66 -0
  583. package/dist/elements/task/styles.js.map +1 -0
  584. package/dist/elements/task/transcript-model.d.ts +106 -0
  585. package/dist/elements/task/transcript-model.d.ts.map +1 -0
  586. package/dist/elements/task/transcript-model.js +280 -0
  587. package/dist/elements/task/transcript-model.js.map +1 -0
  588. package/dist/elements/task/who.d.ts +5 -0
  589. package/dist/elements/task/who.d.ts.map +1 -0
  590. package/dist/elements/task/who.js +30 -0
  591. package/dist/elements/task/who.js.map +1 -0
  592. package/dist/elements/trends/ca-trends.d.ts +55 -0
  593. package/dist/elements/trends/ca-trends.d.ts.map +1 -0
  594. package/dist/elements/trends/ca-trends.js +213 -0
  595. package/dist/elements/trends/ca-trends.js.map +1 -0
  596. package/dist/events.d.ts +107 -0
  597. package/dist/events.d.ts.map +1 -0
  598. package/dist/events.js +5 -0
  599. package/dist/events.js.map +1 -0
  600. package/dist/i18n.d.ts +16 -0
  601. package/dist/i18n.d.ts.map +1 -0
  602. package/dist/i18n.js +48 -0
  603. package/dist/i18n.js.map +1 -0
  604. package/dist/index.d.ts +14 -0
  605. package/dist/index.d.ts.map +1 -0
  606. package/dist/index.js +22 -0
  607. package/dist/index.js.map +1 -0
  608. package/dist/lib/clock.d.ts +20 -0
  609. package/dist/lib/clock.d.ts.map +1 -0
  610. package/dist/lib/clock.js +45 -0
  611. package/dist/lib/clock.js.map +1 -0
  612. package/dist/lib/format.d.ts +35 -0
  613. package/dist/lib/format.d.ts.map +1 -0
  614. package/dist/lib/format.js +117 -0
  615. package/dist/lib/format.js.map +1 -0
  616. package/dist/lib/highlight.d.ts +5 -0
  617. package/dist/lib/highlight.d.ts.map +1 -0
  618. package/dist/lib/highlight.js +86 -0
  619. package/dist/lib/highlight.js.map +1 -0
  620. package/dist/lib/labels.d.ts +103 -0
  621. package/dist/lib/labels.d.ts.map +1 -0
  622. package/dist/lib/labels.js +249 -0
  623. package/dist/lib/labels.js.map +1 -0
  624. package/dist/lib/markdown.d.ts +13 -0
  625. package/dist/lib/markdown.d.ts.map +1 -0
  626. package/dist/lib/markdown.js +118 -0
  627. package/dist/lib/markdown.js.map +1 -0
  628. package/dist/lib/memory.d.ts +27 -0
  629. package/dist/lib/memory.d.ts.map +1 -0
  630. package/dist/lib/memory.js +117 -0
  631. package/dist/lib/memory.js.map +1 -0
  632. package/dist/lib/quota-format.d.ts +28 -0
  633. package/dist/lib/quota-format.d.ts.map +1 -0
  634. package/dist/lib/quota-format.js +67 -0
  635. package/dist/lib/quota-format.js.map +1 -0
  636. package/dist/lib/scroll.d.ts +16 -0
  637. package/dist/lib/scroll.d.ts.map +1 -0
  638. package/dist/lib/scroll.js +70 -0
  639. package/dist/lib/scroll.js.map +1 -0
  640. package/dist/lib/status.d.ts +25 -0
  641. package/dist/lib/status.d.ts.map +1 -0
  642. package/dist/lib/status.js +40 -0
  643. package/dist/lib/status.js.map +1 -0
  644. package/dist/lib/tone.d.ts +29 -0
  645. package/dist/lib/tone.d.ts.map +1 -0
  646. package/dist/lib/tone.js +97 -0
  647. package/dist/lib/tone.js.map +1 -0
  648. package/dist/lib/trends.d.ts +15 -0
  649. package/dist/lib/trends.d.ts.map +1 -0
  650. package/dist/lib/trends.js +36 -0
  651. package/dist/lib/trends.js.map +1 -0
  652. package/dist/locales/codes.d.ts +14 -0
  653. package/dist/locales/codes.d.ts.map +1 -0
  654. package/dist/locales/codes.js +21 -0
  655. package/dist/locales/codes.js.map +1 -0
  656. package/dist/locales/ja.d.ts +761 -0
  657. package/dist/locales/ja.d.ts.map +1 -0
  658. package/dist/locales/ja.js +767 -0
  659. package/dist/locales/ja.js.map +1 -0
  660. package/dist/route.d.ts +46 -0
  661. package/dist/route.d.ts.map +1 -0
  662. package/dist/route.js +102 -0
  663. package/dist/route.js.map +1 -0
  664. package/dist/router.d.ts +23 -0
  665. package/dist/router.d.ts.map +1 -0
  666. package/dist/router.js +55 -0
  667. package/dist/router.js.map +1 -0
  668. package/dist/styles/base.d.ts +11 -0
  669. package/dist/styles/base.d.ts.map +1 -0
  670. package/dist/styles/base.js +241 -0
  671. package/dist/styles/base.js.map +1 -0
  672. package/dist/styles/chips.d.ts +2 -0
  673. package/dist/styles/chips.d.ts.map +1 -0
  674. package/dist/styles/chips.js +18 -0
  675. package/dist/styles/chips.js.map +1 -0
  676. package/dist/styles/executor-icon.d.ts +3 -0
  677. package/dist/styles/executor-icon.d.ts.map +1 -0
  678. package/dist/styles/executor-icon.js +9 -0
  679. package/dist/styles/executor-icon.js.map +1 -0
  680. package/dist/styles/facts.d.ts +2 -0
  681. package/dist/styles/facts.d.ts.map +1 -0
  682. package/dist/styles/facts.js +7 -0
  683. package/dist/styles/facts.js.map +1 -0
  684. package/dist/styles/index.d.ts +17 -0
  685. package/dist/styles/index.d.ts.map +1 -0
  686. package/dist/styles/index.js +16 -0
  687. package/dist/styles/index.js.map +1 -0
  688. package/dist/styles/layout.d.ts +2 -0
  689. package/dist/styles/layout.d.ts.map +1 -0
  690. package/dist/styles/layout.js +30 -0
  691. package/dist/styles/layout.js.map +1 -0
  692. package/dist/styles/legend.d.ts +2 -0
  693. package/dist/styles/legend.d.ts.map +1 -0
  694. package/dist/styles/legend.js +8 -0
  695. package/dist/styles/legend.js.map +1 -0
  696. package/dist/styles/meter.d.ts +3 -0
  697. package/dist/styles/meter.d.ts.map +1 -0
  698. package/dist/styles/meter.js +9 -0
  699. package/dist/styles/meter.js.map +1 -0
  700. package/dist/styles/motion.d.ts +2 -0
  701. package/dist/styles/motion.d.ts.map +1 -0
  702. package/dist/styles/motion.js +27 -0
  703. package/dist/styles/motion.js.map +1 -0
  704. package/dist/styles/prose.d.ts +3 -0
  705. package/dist/styles/prose.d.ts.map +1 -0
  706. package/dist/styles/prose.js +59 -0
  707. package/dist/styles/prose.js.map +1 -0
  708. package/dist/styles/reset.d.ts +2 -0
  709. package/dist/styles/reset.d.ts.map +1 -0
  710. package/dist/styles/reset.js +13 -0
  711. package/dist/styles/reset.js.map +1 -0
  712. package/dist/styles/status.d.ts +2 -0
  713. package/dist/styles/status.d.ts.map +1 -0
  714. package/dist/styles/status.js +52 -0
  715. package/dist/styles/status.js.map +1 -0
  716. package/dist/styles/text.d.ts +2 -0
  717. package/dist/styles/text.d.ts.map +1 -0
  718. package/dist/styles/text.js +21 -0
  719. package/dist/styles/text.js.map +1 -0
  720. package/dist/styles/theme-sheet.d.ts +12 -0
  721. package/dist/styles/theme-sheet.d.ts.map +1 -0
  722. package/dist/styles/theme-sheet.js +24 -0
  723. package/dist/styles/theme-sheet.js.map +1 -0
  724. package/dist/styles/themes.d.ts +75 -0
  725. package/dist/styles/themes.d.ts.map +1 -0
  726. package/dist/styles/themes.js +452 -0
  727. package/dist/styles/themes.js.map +1 -0
  728. package/dist/styles/tokens.d.ts +8 -0
  729. package/dist/styles/tokens.d.ts.map +1 -0
  730. package/dist/styles/tokens.js +32 -0
  731. package/dist/styles/tokens.js.map +1 -0
  732. package/dist/themes/boot.d.ts +7 -0
  733. package/dist/themes/boot.d.ts.map +1 -0
  734. package/dist/themes/boot.js +14 -0
  735. package/dist/themes/boot.js.map +1 -0
  736. package/dist/themes/choice.d.ts +16 -0
  737. package/dist/themes/choice.d.ts.map +1 -0
  738. package/dist/themes/choice.js +45 -0
  739. package/dist/themes/choice.js.map +1 -0
  740. package/dist/themes/data.d.ts +42 -0
  741. package/dist/themes/data.d.ts.map +1 -0
  742. package/dist/themes/data.js +356 -0
  743. package/dist/themes/data.js.map +1 -0
  744. package/dist/themes/index.d.ts +5 -0
  745. package/dist/themes/index.d.ts.map +1 -0
  746. package/dist/themes/index.js +8 -0
  747. package/dist/themes/index.js.map +1 -0
  748. package/dist/themes/sheet.d.ts +12 -0
  749. package/dist/themes/sheet.d.ts.map +1 -0
  750. package/dist/themes/sheet.js +24 -0
  751. package/dist/themes/sheet.js.map +1 -0
  752. package/dist/themes/tokens-list.d.ts +15 -0
  753. package/dist/themes/tokens-list.d.ts.map +1 -0
  754. package/dist/themes/tokens-list.js +62 -0
  755. package/dist/themes/tokens-list.js.map +1 -0
  756. package/dist/words/api-error.d.ts +4 -0
  757. package/dist/words/api-error.d.ts.map +1 -0
  758. package/dist/words/api-error.js +13 -0
  759. package/dist/words/api-error.js.map +1 -0
  760. package/dist/words/attempts.d.ts +17 -0
  761. package/dist/words/attempts.d.ts.map +1 -0
  762. package/dist/words/attempts.js +26 -0
  763. package/dist/words/attempts.js.map +1 -0
  764. package/dist/words/causes.d.ts +33 -0
  765. package/dist/words/causes.d.ts.map +1 -0
  766. package/dist/words/causes.js +58 -0
  767. package/dist/words/causes.js.map +1 -0
  768. package/dist/words/changes.d.ts +9 -0
  769. package/dist/words/changes.d.ts.map +1 -0
  770. package/dist/words/changes.js +21 -0
  771. package/dist/words/changes.js.map +1 -0
  772. package/dist/words/claims.d.ts +9 -0
  773. package/dist/words/claims.d.ts.map +1 -0
  774. package/dist/words/claims.js +12 -0
  775. package/dist/words/claims.js.map +1 -0
  776. package/dist/words/context.d.ts +18 -0
  777. package/dist/words/context.d.ts.map +1 -0
  778. package/dist/words/context.js +39 -0
  779. package/dist/words/context.js.map +1 -0
  780. package/dist/words/contract.d.ts +25 -0
  781. package/dist/words/contract.d.ts.map +1 -0
  782. package/dist/words/contract.js +52 -0
  783. package/dist/words/contract.js.map +1 -0
  784. package/dist/words/credential.d.ts +5 -0
  785. package/dist/words/credential.d.ts.map +1 -0
  786. package/dist/words/credential.js +7 -0
  787. package/dist/words/credential.js.map +1 -0
  788. package/dist/words/executor.d.ts +12 -0
  789. package/dist/words/executor.d.ts.map +1 -0
  790. package/dist/words/executor.js +20 -0
  791. package/dist/words/executor.js.map +1 -0
  792. package/dist/words/export.d.ts +8 -0
  793. package/dist/words/export.d.ts.map +1 -0
  794. package/dist/words/export.js +17 -0
  795. package/dist/words/export.js.map +1 -0
  796. package/dist/words/format.d.ts +36 -0
  797. package/dist/words/format.d.ts.map +1 -0
  798. package/dist/words/format.js +109 -0
  799. package/dist/words/format.js.map +1 -0
  800. package/dist/words/hops.d.ts +12 -0
  801. package/dist/words/hops.d.ts.map +1 -0
  802. package/dist/words/hops.js +27 -0
  803. package/dist/words/hops.js.map +1 -0
  804. package/dist/words/hosts.d.ts +18 -0
  805. package/dist/words/hosts.d.ts.map +1 -0
  806. package/dist/words/hosts.js +22 -0
  807. package/dist/words/hosts.js.map +1 -0
  808. package/dist/words/index.d.ts +27 -0
  809. package/dist/words/index.d.ts.map +1 -0
  810. package/dist/words/index.js +31 -0
  811. package/dist/words/index.js.map +1 -0
  812. package/dist/words/models.d.ts +10 -0
  813. package/dist/words/models.d.ts.map +1 -0
  814. package/dist/words/models.js +45 -0
  815. package/dist/words/models.js.map +1 -0
  816. package/dist/words/outcome.d.ts +14 -0
  817. package/dist/words/outcome.d.ts.map +1 -0
  818. package/dist/words/outcome.js +58 -0
  819. package/dist/words/outcome.js.map +1 -0
  820. package/dist/words/panels.d.ts +11 -0
  821. package/dist/words/panels.d.ts.map +1 -0
  822. package/dist/words/panels.js +50 -0
  823. package/dist/words/panels.js.map +1 -0
  824. package/dist/words/passes.d.ts +11 -0
  825. package/dist/words/passes.d.ts.map +1 -0
  826. package/dist/words/passes.js +13 -0
  827. package/dist/words/passes.js.map +1 -0
  828. package/dist/words/preflight.d.ts +28 -0
  829. package/dist/words/preflight.d.ts.map +1 -0
  830. package/dist/words/preflight.js +30 -0
  831. package/dist/words/preflight.js.map +1 -0
  832. package/dist/words/priority.d.ts +5 -0
  833. package/dist/words/priority.d.ts.map +1 -0
  834. package/dist/words/priority.js +7 -0
  835. package/dist/words/priority.js.map +1 -0
  836. package/dist/words/prompt.d.ts +10 -0
  837. package/dist/words/prompt.d.ts.map +1 -0
  838. package/dist/words/prompt.js +17 -0
  839. package/dist/words/prompt.js.map +1 -0
  840. package/dist/words/quota.d.ts +35 -0
  841. package/dist/words/quota.d.ts.map +1 -0
  842. package/dist/words/quota.js +102 -0
  843. package/dist/words/quota.js.map +1 -0
  844. package/dist/words/rests.d.ts +26 -0
  845. package/dist/words/rests.d.ts.map +1 -0
  846. package/dist/words/rests.js +77 -0
  847. package/dist/words/rests.js.map +1 -0
  848. package/dist/words/rounds.d.ts +14 -0
  849. package/dist/words/rounds.d.ts.map +1 -0
  850. package/dist/words/rounds.js +60 -0
  851. package/dist/words/rounds.js.map +1 -0
  852. package/dist/words/row-extras.d.ts +7 -0
  853. package/dist/words/row-extras.d.ts.map +1 -0
  854. package/dist/words/row-extras.js +26 -0
  855. package/dist/words/row-extras.js.map +1 -0
  856. package/dist/words/run-line.d.ts +40 -0
  857. package/dist/words/run-line.d.ts.map +1 -0
  858. package/dist/words/run-line.js +66 -0
  859. package/dist/words/run-line.js.map +1 -0
  860. package/dist/words/stop.d.ts +6 -0
  861. package/dist/words/stop.d.ts.map +1 -0
  862. package/dist/words/stop.js +69 -0
  863. package/dist/words/stop.js.map +1 -0
  864. package/dist/words/table.d.ts +4 -0
  865. package/dist/words/table.d.ts.map +1 -0
  866. package/dist/words/table.js +8 -0
  867. package/dist/words/table.js.map +1 -0
  868. package/dist/words/task-definition.d.ts +23 -0
  869. package/dist/words/task-definition.d.ts.map +1 -0
  870. package/dist/words/task-definition.js +27 -0
  871. package/dist/words/task-definition.js.map +1 -0
  872. package/dist/words/time-box.d.ts +8 -0
  873. package/dist/words/time-box.d.ts.map +1 -0
  874. package/dist/words/time-box.js +12 -0
  875. package/dist/words/time-box.js.map +1 -0
  876. package/dist/words/trends.d.ts +86 -0
  877. package/dist/words/trends.d.ts.map +1 -0
  878. package/dist/words/trends.js +104 -0
  879. package/dist/words/trends.js.map +1 -0
  880. package/dist/words/units.d.ts +9 -0
  881. package/dist/words/units.d.ts.map +1 -0
  882. package/dist/words/units.js +12 -0
  883. package/dist/words/units.js.map +1 -0
  884. package/docs/embed.md +118 -0
  885. package/docs/events.md +38 -0
  886. package/docs/examples/embed.html +31 -0
  887. package/docs/examples/journal.ts +32 -0
  888. package/docs/examples/live-transcript.ts +22 -0
  889. package/docs/examples/vite/index.html +30 -0
  890. package/docs/examples/vite/main.ts +23 -0
  891. package/docs/languages.md +48 -0
  892. package/docs/live-data.md +17 -0
  893. package/docs/theming.md +21 -0
  894. package/docs/tsconfig.json +14 -0
  895. package/package.json +131 -4
  896. package/src/adapters/check-rows.ts +78 -0
  897. package/src/adapters/filters.ts +76 -0
  898. package/src/adapters/graph/compound.ts +359 -0
  899. package/src/adapters/graph/flow-index.ts +154 -0
  900. package/src/adapters/graph/highlight.ts +40 -0
  901. package/src/adapters/graph/input.ts +236 -0
  902. package/src/adapters/graph/layer.ts +92 -0
  903. package/src/adapters/graph/matrix.ts +133 -0
  904. package/src/adapters/graph/plans.fixture.ts +194 -0
  905. package/src/adapters/graph/project.ts +358 -0
  906. package/src/adapters/graph/selection.ts +54 -0
  907. package/src/adapters/graph/states.ts +10 -0
  908. package/src/adapters/graph/types.ts +148 -0
  909. package/src/adapters/graph/words.ts +146 -0
  910. package/src/adapters/index.ts +22 -0
  911. package/src/adapters/journal-columns.ts +200 -0
  912. package/src/adapters/kpi-tiles.ts +211 -0
  913. package/src/adapters/lanes.ts +98 -0
  914. package/src/adapters/model-shares.ts +62 -0
  915. package/src/adapters/panel-body.ts +74 -0
  916. package/src/adapters/preflight.ts +27 -0
  917. package/src/adapters/task-columns.ts +120 -0
  918. package/src/adapters/transcript/index.ts +14 -0
  919. package/src/adapters/transcript/model.ts +156 -0
  920. package/src/adapters/transcript/rounds.ts +86 -0
  921. package/src/adapters/transcript/sections.ts +82 -0
  922. package/src/adapters/transcript/web.ts +40 -0
  923. package/src/adapters/transcript/who.ts +53 -0
  924. package/src/adapters/trends.ts +337 -0
  925. package/src/controllers/locale.ts +47 -0
  926. package/src/controllers/shortcuts.ts +69 -0
  927. package/src/controllers/stream.ts +103 -0
  928. package/src/controllers/task-detail.ts +54 -0
  929. package/src/controllers/theme.ts +73 -0
  930. package/src/core/events.ts +120 -0
  931. package/src/core/i18n.ts +76 -0
  932. package/src/core/index.ts +6 -0
  933. package/src/core/memory.ts +177 -0
  934. package/src/core/scroll.ts +73 -0
  935. package/src/core/view-route.ts +177 -0
  936. package/src/core/view-router.ts +66 -0
  937. package/src/define/all.ts +13 -0
  938. package/src/define/contracts.ts +2 -0
  939. package/src/define/definitions.ts +3 -0
  940. package/src/define/journal-table.ts +2 -0
  941. package/src/define/kpis.ts +2 -0
  942. package/src/define/monitor.ts +2 -0
  943. package/src/define/overview.ts +2 -0
  944. package/src/define/pipeline-graph.ts +2 -0
  945. package/src/define/procs.ts +3 -0
  946. package/src/define/task-table.ts +2 -0
  947. package/src/define/task-view.ts +2 -0
  948. package/src/define/timeline.ts +2 -0
  949. package/src/define/transcript.ts +2 -0
  950. package/src/elements/lists/ca-contracts.ts +204 -0
  951. package/src/elements/lists/ca-definitions.ts +170 -0
  952. package/src/elements/lists/ca-journal-table.ts +141 -0
  953. package/src/elements/lists/ca-panel-body.ts +139 -0
  954. package/src/elements/lists/ca-panel-view.ts +50 -0
  955. package/src/elements/lists/ca-proc-tree.ts +57 -0
  956. package/src/elements/lists/ca-procs-view.ts +89 -0
  957. package/src/elements/lists/ca-task-table.ts +94 -0
  958. package/src/elements/lists/index.ts +8 -0
  959. package/src/elements/overview/ca-kpis.ts +51 -0
  960. package/src/elements/overview/ca-model-usage.ts +113 -0
  961. package/src/elements/overview/ca-overview.ts +492 -0
  962. package/src/elements/overview/ca-pipeline-graph.ts +617 -0
  963. package/src/elements/overview/ca-quota.ts +164 -0
  964. package/src/elements/overview/ca-run-driver.ts +140 -0
  965. package/src/elements/overview/ca-spend-breakdown.ts +107 -0
  966. package/src/elements/overview/ca-timeline.ts +57 -0
  967. package/src/elements/overview/ca-workers.ts +82 -0
  968. package/src/elements/overview/index.ts +9 -0
  969. package/src/elements/overview/pipeline-graph/actions.ts +45 -0
  970. package/src/elements/overview/pipeline-graph/crumbs.ts +75 -0
  971. package/src/elements/overview/pipeline-graph/host.ts +26 -0
  972. package/src/elements/overview/pipeline-graph/inspector.ts +104 -0
  973. package/src/elements/overview/pipeline-graph/outline.ts +150 -0
  974. package/src/elements/overview/pipeline-graph/strings.ts +53 -0
  975. package/src/elements/overview/pipeline-graph/styles.ts +97 -0
  976. package/src/elements/shared/ca-definition.ts +206 -0
  977. package/src/elements/shared/contract-parts.ts +158 -0
  978. package/src/elements/shared/file-card.ts +49 -0
  979. package/src/elements/shared/prompt-text.ts +13 -0
  980. package/src/elements/shared/task-chip.ts +18 -0
  981. package/src/elements/shell/ca-clock.ts +27 -0
  982. package/src/elements/shell/ca-hosts.ts +93 -0
  983. package/src/elements/shell/ca-monitor.ts +526 -0
  984. package/src/elements/shell/ca-run-picker.ts +284 -0
  985. package/src/elements/shell/ca-theme-switch.ts +170 -0
  986. package/src/elements/shell/ca-toasts.ts +100 -0
  987. package/src/elements/shell/header.ts +45 -0
  988. package/src/elements/shell/styles.ts +72 -0
  989. package/src/elements/shell/tabs.ts +143 -0
  990. package/src/elements/shell/views.ts +67 -0
  991. package/src/elements/task/ca-task-view.ts +157 -0
  992. package/src/elements/task/ca-transcript.ts +214 -0
  993. package/src/elements/task/context.ts +105 -0
  994. package/src/elements/task/header.ts +292 -0
  995. package/src/elements/task/index.ts +2 -0
  996. package/src/elements/task/inputs.ts +46 -0
  997. package/src/elements/task/panes/definition.ts +7 -0
  998. package/src/elements/task/panes/io.ts +190 -0
  999. package/src/elements/task/panes/transcript.ts +29 -0
  1000. package/src/elements/task/styles.ts +66 -0
  1001. package/src/elements/trends/ca-trends.ts +204 -0
  1002. package/src/index.ts +23 -0
  1003. package/src/lib/tone.ts +109 -0
  1004. package/src/lib/trends.ts +44 -0
  1005. package/src/locales/codes.ts +23 -0
  1006. package/src/locales/ja.ts +771 -0
  1007. package/src/words/api-error.ts +17 -0
  1008. package/src/words/attempts.ts +28 -0
  1009. package/src/words/causes.ts +67 -0
  1010. package/src/words/changes.ts +27 -0
  1011. package/src/words/claims.ts +16 -0
  1012. package/src/words/context.ts +47 -0
  1013. package/src/words/contract.ts +63 -0
  1014. package/src/words/credential.ts +8 -0
  1015. package/src/words/executor.ts +22 -0
  1016. package/src/words/export.ts +22 -0
  1017. package/src/words/format.ts +107 -0
  1018. package/src/words/hops.ts +30 -0
  1019. package/src/words/hosts.ts +37 -0
  1020. package/src/words/index.ts +30 -0
  1021. package/src/words/models.ts +50 -0
  1022. package/src/words/outcome.ts +61 -0
  1023. package/src/words/panels.ts +53 -0
  1024. package/src/words/passes.ts +18 -0
  1025. package/src/words/preflight.ts +53 -0
  1026. package/src/words/priority.ts +8 -0
  1027. package/src/words/prompt.ts +20 -0
  1028. package/src/words/quota.ts +108 -0
  1029. package/src/words/rests.ts +96 -0
  1030. package/src/words/rounds.ts +56 -0
  1031. package/src/words/row-extras.ts +24 -0
  1032. package/src/words/run-line.ts +77 -0
  1033. package/src/words/stop.ts +65 -0
  1034. package/src/words/table.ts +10 -0
  1035. package/src/words/task-definition.ts +37 -0
  1036. package/src/words/time-box.ts +21 -0
  1037. package/src/words/trends.ts +118 -0
@@ -0,0 +1,33 @@
1
+ export function taskLinks(nodes) {
2
+ const waiters = new Map();
3
+ for (const n of nodes)
4
+ for (const d of n.after ?? [])
5
+ (waiters.get(d) ?? waiters.set(d, []).get(d))?.push(n.key);
6
+ return { byKey: new Map(nodes.map((n) => [n.key, n])), waiters };
7
+ }
8
+ /**
9
+ * The tasks to highlight for `hl` (a unit, or the key of a task without one): the
10
+ * unit's own, and every task joined to them upstream or downstream (a task without a
11
+ * unit, another unit's).
12
+ */
13
+ export function related(nodes, links, hl) {
14
+ const seeds = nodes.filter((n) => (n.unit ? n.unit === hl : n.key === hl)).map((n) => n.key);
15
+ const on = new Set(seeds);
16
+ const walk = (next) => {
17
+ const seen = new Set(seeds);
18
+ const queue = [...seeds];
19
+ for (let k = queue.pop(); k !== undefined; k = queue.pop()) {
20
+ for (const x of next(k)) {
21
+ if (seen.has(x))
22
+ continue;
23
+ seen.add(x);
24
+ on.add(x);
25
+ queue.push(x);
26
+ }
27
+ }
28
+ };
29
+ walk((k) => links.waiters.get(k) ?? []);
30
+ walk((k) => links.byKey.get(k)?.after ?? []);
31
+ return on;
32
+ }
33
+ //# sourceMappingURL=highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/highlight.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,SAAS,CAAC,KAA0B;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjH,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,KAA0B,EAAE,KAAgB,EAAE,EAAU;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,IAAwC,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACZ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { Plan } from '@contraagent/api';
2
+ import { type LayerGraph, type LayerOrder } from './types.js';
3
+ /**
4
+ * The layer `path` of the plan's flow. Pass the `order` of the last graph of this layer as
5
+ * `prev` to keep its nodes in place; `down` routes the edges for a drawing top to bottom
6
+ * (a box's label is then on the side its edges come in).
7
+ */
8
+ export declare function layerGraph(plan: Plan, path?: readonly string[], prev?: LayerOrder, down?: boolean): LayerGraph;
9
+ /**
10
+ * The layer the graph opens on: from the top, down while a layer has a single
11
+ * node and it is a function's. It stops at a single function node whose flow call
12
+ * raised or was closed, so a run that failed inside a flow opens on the node that
13
+ * shows it, not inside it. A failed or not started task does not stop it: the layer
14
+ * below shows that task's own mark. A static flow lands on its kinds.
15
+ */
16
+ export declare function autoLayer(plan: Plan): string[];
17
+ /** A layer's segments: its path, and the loop box entered at its end (null when none). */
18
+ export declare function splitLayer(segments: readonly string[]): {
19
+ path: string[];
20
+ loop: string | null;
21
+ };
22
+ /**
23
+ * The layer `segments` names, as the plan has it: the segments themselves when the
24
+ * plan has that layer (a prefix of a task's flow path, and the loop box after it);
25
+ * else, when the last function is named by its `module.qualname` (or, failing that,
26
+ * its name) and the plan reaches it by one flow path only, that flow path, with the
27
+ * loop box when the layer there has it. Null when the plan has no such layer.
28
+ */
29
+ export declare function resolveLayer(plan: Plan, segments: readonly string[]): string[] | null;
30
+ /** One level up from `segments`: null at the top (the layer the graph opens on, `auto`), [] for that layer. */
31
+ export declare function parentLayer(segments: readonly string[], auto: readonly string[]): string[] | null;
32
+ //# sourceMappingURL=layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/layer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAgB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,SAAS,MAAM,EAAO,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,UAAQ,GAAG,UAAU,CAEhH;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CA4B9C;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAG/F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAgBrF;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAIjG"}
@@ -0,0 +1,92 @@
1
+ import { indexOf, instanceOf, placeOf, shortName, startsWith } from './flow-index.js';
2
+ import { project } from './project.js';
3
+ import { LOOP_SEGMENT } from './types.js';
4
+ /**
5
+ * The layer `path` of the plan's flow. Pass the `order` of the last graph of this layer as
6
+ * `prev` to keep its nodes in place; `down` routes the edges for a drawing top to bottom
7
+ * (a box's label is then on the side its edges come in).
8
+ */
9
+ export function layerGraph(plan, path = [], prev, down = false) {
10
+ return project(plan, path, prev, down).graph;
11
+ }
12
+ /**
13
+ * The layer the graph opens on: from the top, down while a layer has a single
14
+ * node and it is a function's. It stops at a single function node whose flow call
15
+ * raised or was closed, so a run that failed inside a flow opens on the node that
16
+ * shows it, not inside it. A failed or not started task does not stop it: the layer
17
+ * below shows that task's own mark. A static flow lands on its kinds.
18
+ */
19
+ export function autoLayer(plan) {
20
+ const ix = indexOf(plan);
21
+ const path = [];
22
+ // The failure sites: flow calls that raised or were closed with no raised descendant.
23
+ // The graph stops on the node that shows one, not inside it. A plan with no flow calls
24
+ // cannot tell its failure sites, so it descends as if there were none.
25
+ const raised = new Set();
26
+ if (ix.calls)
27
+ for (const c of ix.calls.values())
28
+ if (c.state === 'raised' || c.state === 'closed')
29
+ raised.add(c.id);
30
+ const isSite = (id) => raised.has(id) && ![...raised].some((r) => r !== id && r.startsWith(`${id}.`));
31
+ for (;;) {
32
+ let only = null;
33
+ let one = true;
34
+ const mine = [];
35
+ for (const t of ix.tasks) {
36
+ if (!startsWith(t.path, path))
37
+ continue;
38
+ const p = placeOf(t, path.length);
39
+ if (p.type === 'kind' || (only && only.id !== p.id)) {
40
+ one = false;
41
+ break;
42
+ }
43
+ only = p;
44
+ mine.push(t);
45
+ }
46
+ // Stop before entering a single function node that is itself a failure site.
47
+ const atSite = mine.some((t) => isSite(instanceOf(t, path.length, ix.calls).id));
48
+ if (!one || !only || atSite)
49
+ return path;
50
+ path.push(only.name);
51
+ }
52
+ }
53
+ /** A layer's segments: its path, and the loop box entered at its end (null when none). */
54
+ export function splitLayer(segments) {
55
+ const last = segments[segments.length - 1];
56
+ return last?.startsWith(LOOP_SEGMENT) ? { path: segments.slice(0, -1), loop: last } : { path: [...segments], loop: null };
57
+ }
58
+ /**
59
+ * The layer `segments` names, as the plan has it: the segments themselves when the
60
+ * plan has that layer (a prefix of a task's flow path, and the loop box after it);
61
+ * else, when the last function is named by its `module.qualname` (or, failing that,
62
+ * its name) and the plan reaches it by one flow path only, that flow path, with the
63
+ * loop box when the layer there has it. Null when the plan has no such layer.
64
+ */
65
+ export function resolveLayer(plan, segments) {
66
+ const { path, loop } = splitLayer(segments);
67
+ const ix = indexOf(plan);
68
+ const hasLoop = (p) => !loop || layerGraph(plan, p).boxes.some((b) => b.id === loop);
69
+ if (ix.tasks.some((t) => startsWith(t.path, path)))
70
+ return hasLoop(path) ? [...segments] : null;
71
+ const name = path[path.length - 1];
72
+ if (name === undefined)
73
+ return null;
74
+ const found = (match) => {
75
+ const by = new Map();
76
+ for (const t of ix.tasks)
77
+ t.path.forEach((fn, i) => match(fn) && by.set(t.path.slice(0, i + 1).join('/'), t.path.slice(0, i + 1)));
78
+ return [...by.values()];
79
+ };
80
+ const exact = found((fn) => fn === name);
81
+ const named = exact.length ? exact : found((fn) => shortName(fn) === name);
82
+ const only = named.length === 1 ? named[0] : null;
83
+ return only && hasLoop(only) ? (loop ? [...only, loop] : only) : null;
84
+ }
85
+ /** One level up from `segments`: null at the top (the layer the graph opens on, `auto`), [] for that layer. */
86
+ export function parentLayer(segments, auto) {
87
+ if (segments.length <= auto.length)
88
+ return null;
89
+ const up = segments.slice(0, -1);
90
+ return up.length <= auto.length ? [] : up;
91
+ }
92
+ //# sourceMappingURL=layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import type { LayerGraph } from './types.js';
2
+ export interface Size {
3
+ w: number;
4
+ h: number;
5
+ }
6
+ /** A rectangle in the drawing. */
7
+ export interface Rect {
8
+ x: number;
9
+ y: number;
10
+ w: number;
11
+ h: number;
12
+ }
13
+ /** A straight stretch of an edge along the flow, from `a` to `b`, `at` across it; an edge bends between two. */
14
+ export interface Run {
15
+ a: number;
16
+ b: number;
17
+ at: number;
18
+ }
19
+ export interface GraphLayout {
20
+ /** The drawing's size, its margin included. */
21
+ w: number;
22
+ h: number;
23
+ /** Every node, stub and loop box, by id. */
24
+ at: Record<string, Rect>;
25
+ /** Every route, with its runs. */
26
+ edges: {
27
+ from: string;
28
+ to: string;
29
+ type: 'after' | 'created';
30
+ runs: Run[];
31
+ }[];
32
+ /** Each loop box's return to its next pass. */
33
+ returns: LoopReturn[];
34
+ down: boolean;
35
+ }
36
+ /**
37
+ * A loop box's return to its next pass, along the flow (`u`) and across it (`v`): from
38
+ * the far side of its last layer's outermost item (`from`, at `v0`) out to a band
39
+ * past its content (`band`), back along the band, and in to its first layer's
40
+ * outermost item (`to`, at `v1`). Left to right the band is under the nodes; top to
41
+ * bottom, on their right.
42
+ */
43
+ export interface LoopReturn {
44
+ box: string;
45
+ from: number;
46
+ v0: number;
47
+ to: number;
48
+ v1: number;
49
+ band: number;
50
+ }
51
+ /** The spaces of a drawing; left to right unless `down`. */
52
+ export interface LayoutSpace {
53
+ /** Between two layers, at the top level and in a loop box. */
54
+ gap: number;
55
+ boxGap: number;
56
+ /** Between two items of a layer, and next to a point an edge passes. */
57
+ sep: number;
58
+ pointSep: number;
59
+ /** A loop box's padding, and the space under its label. */
60
+ pad: number;
61
+ /** The space after a box's content, across the flow: the band its return to the next pass runs in. */
62
+ padEnd: number;
63
+ margin: number;
64
+ }
65
+ /** The band past a loop box's content that its return to the next pass runs in, and the return's corner radius. */
66
+ export declare const RETURN_BAND = 24;
67
+ export declare const RETURN_R = 6;
68
+ export declare const SPACE: Record<'across' | 'down', LayoutSpace>;
69
+ /**
70
+ * Where everything of a layer's graph is drawn, from the sizes of its nodes, its stubs
71
+ * and its loop boxes' labels (`lbl:<box id>`): left to right, or top to bottom when
72
+ * `down`. Each container is laid out inside out, a box being one item of its parent:
73
+ * its layers side by side, an item at the start of its layer; across the flow, each
74
+ * item as near as its order allows to the items it is joined to (sweeps of weighted
75
+ * isotonic regression), so chains run straight. An edge runs along its points and
76
+ * bends only in the gap between two layers; it enters and leaves a box where its
77
+ * point inside is, and never passes a node or a box's label.
78
+ */
79
+ export declare function layoutGraph(g: LayerGraph, sizes: ReadonlyMap<string, Size>, down?: boolean): GraphLayout;
80
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kCAAkC;AAClC,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,gHAAgH;AAChH,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,CAAC;IAC9E,+CAA+C;IAC/C,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,sGAAsG;IACtG,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mHAAmH;AACnH,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,WAAW,CAGxD,CAAC;AAsBF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,UAAQ,GAAG,WAAW,CA4NtG"}
@@ -0,0 +1,261 @@
1
+ // The drawing of a layer's graph: coordinates from the measured sizes, and each
2
+ // edge as straight runs that bend only between layers.
3
+ import { isPoint } from './arrange.js';
4
+ /** The band past a loop box's content that its return to the next pass runs in, and the return's corner radius. */
5
+ export const RETURN_BAND = 24;
6
+ export const RETURN_R = 6;
7
+ export const SPACE = {
8
+ across: { gap: 56, boxGap: 40, sep: 16, pointSep: 12, pad: 12, padEnd: RETURN_BAND, margin: 16 },
9
+ down: { gap: 40, boxGap: 32, sep: 16, pointSep: 12, pad: 10, padEnd: RETURN_BAND, margin: 16 },
10
+ };
11
+ /** Tops (across the flow) nearest to `want` that keep the order and each gap: weighted isotonic regression (pool adjacent violators). */
12
+ function placeRow(want, gaps, weight) {
13
+ const off = [0];
14
+ for (let i = 1; i < want.length; i++)
15
+ off.push(off[i - 1] + gaps[i - 1]);
16
+ const blocks = [];
17
+ want.forEach((v, i) => {
18
+ const w = weight[i] ?? 1;
19
+ blocks.push({ sum: w * (v - off[i]), w, n: 1 });
20
+ while (blocks.length > 1) {
21
+ const b = blocks[blocks.length - 1];
22
+ const a = blocks[blocks.length - 2];
23
+ if (a.sum / a.w <= b.sum / b.w)
24
+ break;
25
+ blocks.splice(-2, 2, { sum: a.sum + b.sum, w: a.w + b.w, n: a.n + b.n });
26
+ }
27
+ });
28
+ const out = [];
29
+ for (const b of blocks)
30
+ for (let k = 0; k < b.n; k++)
31
+ out.push(b.sum / b.w + off[out.length]);
32
+ return out;
33
+ }
34
+ /**
35
+ * Where everything of a layer's graph is drawn, from the sizes of its nodes, its stubs
36
+ * and its loop boxes' labels (`lbl:<box id>`): left to right, or top to bottom when
37
+ * `down`. Each container is laid out inside out, a box being one item of its parent:
38
+ * its layers side by side, an item at the start of its layer; across the flow, each
39
+ * item as near as its order allows to the items it is joined to (sweeps of weighted
40
+ * isotonic regression), so chains run straight. An edge runs along its points and
41
+ * bends only in the gap between two layers; it enters and leaves a box where its
42
+ * point inside is, and never passes a node or a box's label.
43
+ */
44
+ export function layoutGraph(g, sizes, down = false) {
45
+ const S = SPACE[down ? 'down' : 'across'];
46
+ const len = (s) => (down ? s.h : s.w);
47
+ const brd = (s) => (down ? s.w : s.h);
48
+ const boxIds = new Set(g.boxes.map((b) => b.id));
49
+ const label = (box) => sizes.get(`lbl:${box}`) ?? { w: 0, h: 0 };
50
+ // A box's padding: along the flow, and across it. Its label is in a band at its top: across
51
+ // the flow left to right; along it top to bottom, where a gap under the label lets edges in.
52
+ const padOf = (box) => down
53
+ ? { u0: label(box).h + S.pad + S.gap / 2, u1: S.pad, v0: S.pad, v1: S.padEnd, minU: 0, minV: label(box).w + 2 * S.pad }
54
+ : { u0: S.pad, u1: S.pad, v0: label(box).h + S.pad, v1: S.padEnd, minU: label(box).w + 2 * S.pad, minV: 0 };
55
+ const extent = new Map(); // a box's size, along and across
56
+ const slotSize = (id) => {
57
+ if (boxIds.has(id))
58
+ return extent.get(id) ?? { u: 0, v: 0 };
59
+ if (isPoint(id))
60
+ return { u: 0, v: 0 };
61
+ const s = sizes.get(id) ?? { w: 0, h: 0 };
62
+ return { u: len(s), v: brd(s) };
63
+ };
64
+ const local = new Map();
65
+ const layerIn = new Map();
66
+ const depth = (c) => (c === '' ? 0 : c.split('.').length);
67
+ const containers = ['', ...g.boxes.map((b) => b.id)].sort((a, b) => depth(b) - depth(a));
68
+ // Where an edge meets a slot, across the flow from the slot's top: a node's middle,
69
+ // a point, or (a box) where the edge's step inside it is.
70
+ const attach = (ri, si) => {
71
+ const steps = g.routes[ri]?.steps ?? [];
72
+ const s = steps[si];
73
+ if (isPoint(s.id))
74
+ return 0;
75
+ if (!boxIds.has(s.id))
76
+ return slotSize(s.id).v / 2;
77
+ const inner = steps[si - 1]?.in === s.id ? si - 1 : si + 1;
78
+ const step = steps[inner];
79
+ return padOf(s.id).v0 + (local.get(s.id)?.top.get(step.id) ?? 0) + attach(ri, inner);
80
+ };
81
+ for (const c of containers) {
82
+ const rows = (g.slots[c] ?? []).map((r) => [...r]);
83
+ layerIn.set(c, new Map(rows.flatMap((r, i) => r.map((id) => [id, i]))));
84
+ const width = rows.map((r) => Math.max(0, ...r.map((id) => slotSize(id).u)));
85
+ const gap = c === '' ? S.gap : S.boxGap;
86
+ const start = [];
87
+ width.forEach((_, i) => start.push(i ? start[i - 1] + width[i - 1] + gap : 0));
88
+ // The joins inside this container: slot a of layer l to slot b of layer l + 1.
89
+ const links = [];
90
+ g.routes.forEach((r, ri) => r.steps.forEach((s, si) => {
91
+ const p = r.steps[si - 1];
92
+ if (si && p && p.in === c && s.in === c && layerIn.get(c)?.get(p.id) !== layerIn.get(c)?.get(s.id))
93
+ links.push({ a: p.id, b: s.id, oa: attach(ri, si - 1), ob: attach(ri, si) });
94
+ }));
95
+ // Points sit close to each other and to a node, further from a box (its next-pass mark is on its edge).
96
+ const sepOf = (a, b) => b === undefined ? 0 : boxIds.has(a) || boxIds.has(b) || !(isPoint(a) || isPoint(b)) ? S.sep : S.pointSep;
97
+ const top = new Map();
98
+ for (const r of rows) {
99
+ let v = 0;
100
+ r.forEach((id, i) => {
101
+ top.set(id, v);
102
+ v += slotSize(id).v + sepOf(id, r[i + 1]);
103
+ });
104
+ }
105
+ const place = (r, want) => {
106
+ const desired = r.map((id) => {
107
+ const xs = want(id);
108
+ return xs.length ? xs.reduce((a, b) => a + b, 0) / xs.length : (top.get(id) ?? 0);
109
+ });
110
+ const gaps = r.map((id, i) => slotSize(id).v + sepOf(id, r[i + 1]));
111
+ // The nodes first, as if the points between them were fixed in size; then the points, around the nodes.
112
+ const real = r.map((id, i) => (isPoint(id) ? -1 : i)).filter((i) => i >= 0);
113
+ const span = (i, j) => gaps.slice(i, j).reduce((a, b) => a + b, 0);
114
+ const at = placeRow(real.map((i) => desired[i]), real.map((i, k) => (k + 1 < real.length ? span(i, real[k + 1]) : 0)), real.map(() => 1));
115
+ real.forEach((i, k) => (desired[i] = at[k]));
116
+ placeRow(desired, gaps, r.map((id) => (isPoint(id) ? 1 : 1e6))).forEach((v, i) => top.set(r[i], Math.round(v * 100) / 100));
117
+ };
118
+ // A node lines up with the nodes it is joined to, when it has any on that side, else with the points;
119
+ // a point lines up with whatever it is joined to, so a chain runs straight and a long edge goes round it.
120
+ const near = (id, ls) => {
121
+ const real = isPoint(id) ? ls : ls.filter((x) => !isPoint(x.other));
122
+ return (real.length ? real : ls).map((x) => x.at);
123
+ };
124
+ const fromPrev = (id) => near(id, links.filter((l) => l.b === id).map((l) => ({ other: l.a, at: (top.get(l.a) ?? 0) + l.oa - l.ob })));
125
+ const fromNext = (id) => near(id, links.filter((l) => l.a === id).map((l) => ({ other: l.b, at: (top.get(l.b) ?? 0) + l.ob - l.oa })));
126
+ for (let sweep = 0; sweep < 8; sweep++) {
127
+ const order = rows.map((_, i) => i);
128
+ if (sweep % 2)
129
+ order.reverse();
130
+ for (const i of order)
131
+ place(rows[i], sweep % 2 ? fromNext : fromPrev);
132
+ }
133
+ for (const r of rows)
134
+ place(r, (id) => [...fromPrev(id), ...fromNext(id)]);
135
+ const lo = top.size ? Math.min(...top.values()) : 0;
136
+ for (const [id, v] of top)
137
+ top.set(id, v - lo);
138
+ const u = (start[start.length - 1] ?? 0) + (width[width.length - 1] ?? 0);
139
+ const v = Math.max(0, ...rows.flat().map((id) => (top.get(id) ?? 0) + slotSize(id).v));
140
+ local.set(c, { rows, start, width, top, u, v });
141
+ if (c !== '') {
142
+ const p = padOf(c);
143
+ extent.set(c, { u: Math.max(p.u0 + u + p.u1, p.minU), v: Math.max(p.v0 + v + p.v1, p.minV) });
144
+ }
145
+ }
146
+ // Inside out, then outside in: each container's place in the drawing.
147
+ const at = {};
148
+ const origin = new Map();
149
+ const rect = (u, v, s) => (down ? { x: v, y: u, w: s.v, h: s.u } : { x: u, y: v, w: s.u, h: s.v });
150
+ const put = (c, ou, ov) => {
151
+ origin.set(c, { u: ou, v: ov });
152
+ const l = local.get(c);
153
+ l.rows.forEach((r, i) => r.forEach((id) => {
154
+ if (isPoint(id))
155
+ return;
156
+ const u = ou + l.start[i];
157
+ const v = ov + (l.top.get(id) ?? 0);
158
+ at[id] = rect(u, v, slotSize(id));
159
+ if (boxIds.has(id)) {
160
+ const p = padOf(id);
161
+ put(id, u + p.u0, v + p.v0);
162
+ }
163
+ }));
164
+ };
165
+ put('', S.margin, S.margin);
166
+ const whole = local.get('');
167
+ const U = whole.u + 2 * S.margin;
168
+ const V = whole.v + 2 * S.margin;
169
+ // A container's layer l: where it starts and ends along the flow, in the drawing.
170
+ const col = (c, l) => {
171
+ const lc = local.get(c);
172
+ const o = origin.get(c) ?? { u: 0, v: 0 };
173
+ const c0 = o.u + (lc.start[l] ?? 0);
174
+ return [c0, c0 + (lc.width[l] ?? 0)];
175
+ };
176
+ const layer = (c, id) => layerIn.get(c)?.get(id) ?? 0;
177
+ const byOf = (s) => (s && isPoint(s.id) ? (/\|by:([^|]*)\|/.exec(s.id)?.[1] ?? '') : '');
178
+ const edges = g.routes.map((r, ri) => {
179
+ const vOf = (si) => {
180
+ const s = r.steps[si];
181
+ const o = origin.get(s.in) ?? { u: 0, v: 0 };
182
+ return o.v + (local.get(s.in)?.top.get(s.id) ?? 0) + attach(ri, si);
183
+ };
184
+ const runs = r.steps.map((s, si) => {
185
+ const prev = r.steps[si - 1];
186
+ const next = r.steps[si + 1];
187
+ const [c0, c1] = col(s.in, layer(s.in, s.id));
188
+ const v = vOf(si);
189
+ if (si === 0)
190
+ return { a: c0 + slotSize(s.id).u, b: c1, at: v };
191
+ if (si === r.steps.length - 1)
192
+ return { a: c0, b: c0, at: v };
193
+ if (isPoint(s.id)) {
194
+ const box = byOf(s);
195
+ // Beside a box: from where it left the box's side, or up to where it goes in.
196
+ if (box && prev?.id === box)
197
+ return { a: col(box, layer(box, r.steps[si - 2]?.id ?? '') + 1)[0], b: c1, at: v };
198
+ if (box && next?.id === box) {
199
+ const ln = layer(box, r.steps[si + 2]?.id ?? '');
200
+ const gap = ln > 0 ? col(box, ln - 1)[1] : (at[box] ? (down ? at[box].y : at[box].x) : c0) + label(box).h + S.pad;
201
+ return { a: c0, b: gap, at: v };
202
+ }
203
+ return { a: c0, b: c1, at: v };
204
+ }
205
+ const p = padOf(s.id);
206
+ const inner = local.get(s.id);
207
+ // Out of a box: at its far side, or through its side after the layer it leaves.
208
+ if (prev?.in === s.id) {
209
+ if (byOf(next) === s.id) {
210
+ const u = col(s.id, layer(s.id, prev.id) + 1)[0];
211
+ return { a: u, b: u, at: vOf(si + 1) };
212
+ }
213
+ return { a: c0 + p.u0 + inner.u, b: c1, at: v };
214
+ }
215
+ // Into a box: at its near side, or through its side before the layer it goes to.
216
+ if (byOf(prev) === s.id) {
217
+ const u = col(s.id, layer(s.id, next?.id ?? ''))[0];
218
+ return { a: u, b: u, at: vOf(si + 1) };
219
+ }
220
+ return { a: c0, b: c0 + p.u0, at: v };
221
+ });
222
+ return { from: r.from, to: r.to, type: r.type, runs };
223
+ });
224
+ // Each box's return to its next pass: from its last layer's item that reaches furthest
225
+ // across the flow, along the band past the content, to its first layer's.
226
+ const returns = g.boxes.flatMap((b) => {
227
+ const l = local.get(b.id);
228
+ const o = origin.get(b.id);
229
+ if (!l || !o)
230
+ return [];
231
+ const outer = (row) => {
232
+ const ids = (row ?? []).filter((id) => !isPoint(id));
233
+ let best = null;
234
+ for (const id of ids) {
235
+ const s = slotSize(id);
236
+ const v = (l.top.get(id) ?? 0) + s.v;
237
+ if (!best || v > best.v)
238
+ best = { u: s.u, v };
239
+ }
240
+ return best;
241
+ };
242
+ const real = l.rows.map((r, i) => (r.some((id) => !isPoint(id)) ? i : -1)).filter((i) => i >= 0);
243
+ const fi = real[0] ?? 0;
244
+ const li = real[real.length - 1] ?? 0;
245
+ const last = outer(l.rows[li]);
246
+ const first = outer(l.rows[fi]);
247
+ if (!last || !first)
248
+ return [];
249
+ // An item's middle along the flow, as wide as its layer; one layer: either side of its middle.
250
+ let from = o.u + (l.start[li] ?? 0) + (l.width[li] ?? 0) / 2;
251
+ let to = o.u + (l.start[fi] ?? 0) + (l.width[fi] ?? 0) / 2;
252
+ if (from - to < 4 * RETURN_R) {
253
+ const d = Math.max(2 * RETURN_R, Math.min(28, Math.min(last.u, first.u) / 4));
254
+ from = (from + to) / 2 + d;
255
+ to = from - 2 * d;
256
+ }
257
+ return [{ box: b.id, from, v0: o.v + last.v, to, v1: o.v + first.v, band: o.v + l.v + RETURN_BAND / 2 }];
258
+ });
259
+ return { w: down ? V : U, h: down ? U : V, at, edges, returns, down };
260
+ }
261
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { TaskState } from '@contraagent/api';
2
+ import type { GraphNode, NodeCounts } from './types.js';
3
+ /** How a node lays out its unit marks: as many columns as units up to 12, then 10, then 20; smaller marks as they grow. */
4
+ export declare function markGrid(units: number): {
5
+ cols: number;
6
+ size: number;
7
+ };
8
+ /** Above this many marks, a node shows a bar of its counts and lists its failed marks. */
9
+ export declare const BAR_MARKS = 200;
10
+ /** A node shows its marks as a bar of counts. */
11
+ export declare const asBar: (n: Pick<GraphNode, "units" | "single">) => boolean;
12
+ /** A node's bar: each state's share of its marks, in `order`, the states it has only. */
13
+ export declare function barParts(c: NodeCounts, order: readonly TaskState[]): {
14
+ state: TaskState;
15
+ n: number;
16
+ pct: number;
17
+ }[];
18
+ //# sourceMappingURL=marks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/marks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD,2HAA2H;AAC3H,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAItE;AAED,0FAA0F;AAC1F,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,iDAAiD;AACjD,eAAO,MAAM,KAAK,GAAI,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC,KAAG,OAAiF,CAAC;AAEjJ,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAEnH"}
@@ -0,0 +1,17 @@
1
+ /** How a node lays out its unit marks: as many columns as units up to 12, then 10, then 20; smaller marks as they grow. */
2
+ export function markGrid(units) {
3
+ if (units <= 12)
4
+ return { cols: Math.max(1, units), size: 12 };
5
+ if (units <= 100)
6
+ return { cols: 10, size: 10 };
7
+ return { cols: 20, size: 6 };
8
+ }
9
+ /** Above this many marks, a node shows a bar of its counts and lists its failed marks. */
10
+ export const BAR_MARKS = 200;
11
+ /** A node shows its marks as a bar of counts. */
12
+ export const asBar = (n) => n.units.filter((m) => m !== null).length + n.single.length > BAR_MARKS;
13
+ /** A node's bar: each state's share of its marks, in `order`, the states it has only. */
14
+ export function barParts(c, order) {
15
+ return order.filter((s) => c[s] > 0).map((s) => ({ state: s, n: c[s], pct: (100 * c[s]) / Math.max(1, c.total) }));
16
+ }
17
+ //# sourceMappingURL=marks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marks.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/marks.ts"],"names":[],"mappings":"AAIA,2HAA2H;AAC3H,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/D,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,iDAAiD;AACjD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAsC,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;AAEjJ,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,CAAa,EAAE,KAA2B;IACjE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACrH,CAAC"}