@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.
- package/README.md +137 -2
- package/custom-elements.json +7286 -0
- package/dist/adapters/check-rows.d.ts +20 -0
- package/dist/adapters/check-rows.d.ts.map +1 -0
- package/dist/adapters/check-rows.js +77 -0
- package/dist/adapters/check-rows.js.map +1 -0
- package/dist/adapters/filters.d.ts +29 -0
- package/dist/adapters/filters.d.ts.map +1 -0
- package/dist/adapters/filters.js +74 -0
- package/dist/adapters/filters.js.map +1 -0
- package/dist/adapters/graph/compound.d.ts +93 -0
- package/dist/adapters/graph/compound.d.ts.map +1 -0
- package/dist/adapters/graph/compound.js +322 -0
- package/dist/adapters/graph/compound.js.map +1 -0
- package/dist/adapters/graph/flow-index.d.ts +54 -0
- package/dist/adapters/graph/flow-index.d.ts.map +1 -0
- package/dist/adapters/graph/flow-index.js +129 -0
- package/dist/adapters/graph/flow-index.js.map +1 -0
- package/dist/adapters/graph/highlight.d.ts +14 -0
- package/dist/adapters/graph/highlight.d.ts.map +1 -0
- package/dist/adapters/graph/highlight.js +33 -0
- package/dist/adapters/graph/highlight.js.map +1 -0
- package/dist/adapters/graph/input.d.ts +50 -0
- package/dist/adapters/graph/input.d.ts.map +1 -0
- package/dist/adapters/graph/input.js +201 -0
- package/dist/adapters/graph/input.js.map +1 -0
- package/dist/adapters/graph/layer.d.ts +33 -0
- package/dist/adapters/graph/layer.d.ts.map +1 -0
- package/dist/adapters/graph/layer.js +94 -0
- package/dist/adapters/graph/layer.js.map +1 -0
- package/dist/adapters/graph/matrix.d.ts +62 -0
- package/dist/adapters/graph/matrix.d.ts.map +1 -0
- package/dist/adapters/graph/matrix.js +96 -0
- package/dist/adapters/graph/matrix.js.map +1 -0
- package/dist/adapters/graph/project.d.ts +49 -0
- package/dist/adapters/graph/project.d.ts.map +1 -0
- package/dist/adapters/graph/project.js +319 -0
- package/dist/adapters/graph/project.js.map +1 -0
- package/dist/adapters/graph/selection.d.ts +31 -0
- package/dist/adapters/graph/selection.d.ts.map +1 -0
- package/dist/adapters/graph/selection.js +48 -0
- package/dist/adapters/graph/selection.js.map +1 -0
- package/dist/adapters/graph/states.d.ts +6 -0
- package/dist/adapters/graph/states.d.ts.map +1 -0
- package/dist/adapters/graph/states.js +5 -0
- package/dist/adapters/graph/states.js.map +1 -0
- package/dist/adapters/graph/types.d.ts +141 -0
- package/dist/adapters/graph/types.d.ts.map +1 -0
- package/dist/adapters/graph/types.js +3 -0
- package/dist/adapters/graph/types.js.map +1 -0
- package/dist/adapters/graph/words.d.ts +48 -0
- package/dist/adapters/graph/words.d.ts.map +1 -0
- package/dist/adapters/graph/words.js +128 -0
- package/dist/adapters/graph/words.js.map +1 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +23 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/journal-columns.d.ts +21 -0
- package/dist/adapters/journal-columns.d.ts.map +1 -0
- package/dist/adapters/journal-columns.js +179 -0
- package/dist/adapters/journal-columns.js.map +1 -0
- package/dist/adapters/kpi-tiles.d.ts +47 -0
- package/dist/adapters/kpi-tiles.d.ts.map +1 -0
- package/dist/adapters/kpi-tiles.js +173 -0
- package/dist/adapters/kpi-tiles.js.map +1 -0
- package/dist/adapters/lanes.d.ts +31 -0
- package/dist/adapters/lanes.d.ts.map +1 -0
- package/dist/adapters/lanes.js +75 -0
- package/dist/adapters/lanes.js.map +1 -0
- package/dist/adapters/model-shares.d.ts +27 -0
- package/dist/adapters/model-shares.d.ts.map +1 -0
- package/dist/adapters/model-shares.js +52 -0
- package/dist/adapters/model-shares.js.map +1 -0
- package/dist/adapters/panel-body.d.ts +34 -0
- package/dist/adapters/panel-body.d.ts.map +1 -0
- package/dist/adapters/panel-body.js +90 -0
- package/dist/adapters/panel-body.js.map +1 -0
- package/dist/adapters/preflight.d.ts +12 -0
- package/dist/adapters/preflight.d.ts.map +1 -0
- package/dist/adapters/preflight.js +15 -0
- package/dist/adapters/preflight.js.map +1 -0
- package/dist/adapters/task-columns.d.ts +19 -0
- package/dist/adapters/task-columns.d.ts.map +1 -0
- package/dist/adapters/task-columns.js +107 -0
- package/dist/adapters/task-columns.js.map +1 -0
- package/dist/adapters/transcript/index.d.ts +6 -0
- package/dist/adapters/transcript/index.d.ts.map +1 -0
- package/dist/adapters/transcript/index.js +8 -0
- package/dist/adapters/transcript/index.js.map +1 -0
- package/dist/adapters/transcript/model.d.ts +42 -0
- package/dist/adapters/transcript/model.d.ts.map +1 -0
- package/dist/adapters/transcript/model.js +128 -0
- package/dist/adapters/transcript/model.js.map +1 -0
- package/dist/adapters/transcript/rounds.d.ts +15 -0
- package/dist/adapters/transcript/rounds.d.ts.map +1 -0
- package/dist/adapters/transcript/rounds.js +74 -0
- package/dist/adapters/transcript/rounds.js.map +1 -0
- package/dist/adapters/transcript/sections.d.ts +18 -0
- package/dist/adapters/transcript/sections.d.ts.map +1 -0
- package/dist/adapters/transcript/sections.js +69 -0
- package/dist/adapters/transcript/sections.js.map +1 -0
- package/dist/adapters/transcript/web.d.ts +12 -0
- package/dist/adapters/transcript/web.d.ts.map +1 -0
- package/dist/adapters/transcript/web.js +39 -0
- package/dist/adapters/transcript/web.js.map +1 -0
- package/dist/adapters/transcript/who.d.ts +15 -0
- package/dist/adapters/transcript/who.d.ts.map +1 -0
- package/dist/adapters/transcript/who.js +42 -0
- package/dist/adapters/transcript/who.js.map +1 -0
- package/dist/adapters/trends.d.ts +11 -0
- package/dist/adapters/trends.d.ts.map +1 -0
- package/dist/adapters/trends.js +316 -0
- package/dist/adapters/trends.js.map +1 -0
- package/dist/contraagent-ui.js +1028 -0
- package/dist/controllers/locale.d.ts +25 -0
- package/dist/controllers/locale.d.ts.map +1 -0
- package/dist/controllers/locale.js +33 -0
- package/dist/controllers/locale.js.map +1 -0
- package/dist/controllers/shortcuts.d.ts +29 -0
- package/dist/controllers/shortcuts.d.ts.map +1 -0
- package/dist/controllers/shortcuts.js +51 -0
- package/dist/controllers/shortcuts.js.map +1 -0
- package/dist/controllers/stream.d.ts +41 -0
- package/dist/controllers/stream.d.ts.map +1 -0
- package/dist/controllers/stream.js +90 -0
- package/dist/controllers/stream.js.map +1 -0
- package/dist/controllers/task-detail.d.ts +22 -0
- package/dist/controllers/task-detail.d.ts.map +1 -0
- package/dist/controllers/task-detail.js +50 -0
- package/dist/controllers/task-detail.js.map +1 -0
- package/dist/controllers/theme.d.ts +32 -0
- package/dist/controllers/theme.d.ts.map +1 -0
- package/dist/controllers/theme.js +56 -0
- package/dist/controllers/theme.js.map +1 -0
- package/dist/core/events.d.ts +107 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +5 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/i18n.d.ts +21 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18n.js +71 -0
- package/dist/core/i18n.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/memory.d.ts +51 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +174 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/scroll.d.ts +21 -0
- package/dist/core/scroll.d.ts.map +1 -0
- package/dist/core/scroll.js +74 -0
- package/dist/core/scroll.js.map +1 -0
- package/dist/core/view-route.d.ts +62 -0
- package/dist/core/view-route.d.ts.map +1 -0
- package/dist/core/view-route.js +143 -0
- package/dist/core/view-route.js.map +1 -0
- package/dist/core/view-router.d.ts +27 -0
- package/dist/core/view-router.d.ts.map +1 -0
- package/dist/core/view-router.js +57 -0
- package/dist/core/view-router.js.map +1 -0
- package/dist/define/all.d.ts +13 -0
- package/dist/define/all.d.ts.map +1 -0
- package/dist/define/all.js +14 -0
- package/dist/define/all.js.map +1 -0
- package/dist/define/contracts.d.ts +2 -0
- package/dist/define/contracts.d.ts.map +1 -0
- package/dist/define/contracts.js +3 -0
- package/dist/define/contracts.js.map +1 -0
- package/dist/define/definitions.d.ts +3 -0
- package/dist/define/definitions.d.ts.map +1 -0
- package/dist/define/definitions.js +4 -0
- package/dist/define/definitions.js.map +1 -0
- package/dist/define/journal-table.d.ts +2 -0
- package/dist/define/journal-table.d.ts.map +1 -0
- package/dist/define/journal-table.js +3 -0
- package/dist/define/journal-table.js.map +1 -0
- package/dist/define/kpis.d.ts +2 -0
- package/dist/define/kpis.d.ts.map +1 -0
- package/dist/define/kpis.js +3 -0
- package/dist/define/kpis.js.map +1 -0
- package/dist/define/monitor.d.ts +2 -0
- package/dist/define/monitor.d.ts.map +1 -0
- package/dist/define/monitor.js +3 -0
- package/dist/define/monitor.js.map +1 -0
- package/dist/define/overview.d.ts +2 -0
- package/dist/define/overview.d.ts.map +1 -0
- package/dist/define/overview.js +3 -0
- package/dist/define/overview.js.map +1 -0
- package/dist/define/pipeline-graph.d.ts +2 -0
- package/dist/define/pipeline-graph.d.ts.map +1 -0
- package/dist/define/pipeline-graph.js +3 -0
- package/dist/define/pipeline-graph.js.map +1 -0
- package/dist/define/procs.d.ts +3 -0
- package/dist/define/procs.d.ts.map +1 -0
- package/dist/define/procs.js +4 -0
- package/dist/define/procs.js.map +1 -0
- package/dist/define/task-table.d.ts +2 -0
- package/dist/define/task-table.d.ts.map +1 -0
- package/dist/define/task-table.js +3 -0
- package/dist/define/task-table.js.map +1 -0
- package/dist/define/task-view.d.ts +2 -0
- package/dist/define/task-view.d.ts.map +1 -0
- package/dist/define/task-view.js +3 -0
- package/dist/define/task-view.js.map +1 -0
- package/dist/define/timeline.d.ts +2 -0
- package/dist/define/timeline.d.ts.map +1 -0
- package/dist/define/timeline.js +3 -0
- package/dist/define/timeline.js.map +1 -0
- package/dist/define/transcript.d.ts +2 -0
- package/dist/define/transcript.d.ts.map +1 -0
- package/dist/define/transcript.js +3 -0
- package/dist/define/transcript.js.map +1 -0
- package/dist/elements/lists/ca-contracts.d.ts +46 -0
- package/dist/elements/lists/ca-contracts.d.ts.map +1 -0
- package/dist/elements/lists/ca-contracts.js +199 -0
- package/dist/elements/lists/ca-contracts.js.map +1 -0
- package/dist/elements/lists/ca-definitions.d.ts +41 -0
- package/dist/elements/lists/ca-definitions.d.ts.map +1 -0
- package/dist/elements/lists/ca-definitions.js +182 -0
- package/dist/elements/lists/ca-definitions.js.map +1 -0
- package/dist/elements/lists/ca-journal-table.d.ts +37 -0
- package/dist/elements/lists/ca-journal-table.d.ts.map +1 -0
- package/dist/elements/lists/ca-journal-table.js +170 -0
- package/dist/elements/lists/ca-journal-table.js.map +1 -0
- package/dist/elements/lists/ca-panel-body.d.ts +42 -0
- package/dist/elements/lists/ca-panel-body.d.ts.map +1 -0
- package/dist/elements/lists/ca-panel-body.js +210 -0
- package/dist/elements/lists/ca-panel-body.js.map +1 -0
- package/dist/elements/lists/ca-panel-view.d.ts +21 -0
- package/dist/elements/lists/ca-panel-view.d.ts.map +1 -0
- package/dist/elements/lists/ca-panel-view.js +59 -0
- package/dist/elements/lists/ca-panel-view.js.map +1 -0
- package/dist/elements/lists/ca-proc-tree.d.ts +16 -0
- package/dist/elements/lists/ca-proc-tree.d.ts.map +1 -0
- package/dist/elements/lists/ca-proc-tree.js +63 -0
- package/dist/elements/lists/ca-proc-tree.js.map +1 -0
- package/dist/elements/lists/ca-procs-view.d.ts +27 -0
- package/dist/elements/lists/ca-procs-view.d.ts.map +1 -0
- package/dist/elements/lists/ca-procs-view.js +91 -0
- package/dist/elements/lists/ca-procs-view.js.map +1 -0
- package/dist/elements/lists/ca-task-table.d.ts +33 -0
- package/dist/elements/lists/ca-task-table.d.ts.map +1 -0
- package/dist/elements/lists/ca-task-table.js +115 -0
- package/dist/elements/lists/ca-task-table.js.map +1 -0
- package/dist/elements/lists/index.d.ts +9 -0
- package/dist/elements/lists/index.d.ts.map +1 -0
- package/dist/elements/lists/index.js +9 -0
- package/dist/elements/lists/index.js.map +1 -0
- package/dist/elements/overview/ca-kpis.d.ts +32 -0
- package/dist/elements/overview/ca-kpis.d.ts.map +1 -0
- package/dist/elements/overview/ca-kpis.js +62 -0
- package/dist/elements/overview/ca-kpis.js.map +1 -0
- package/dist/elements/overview/ca-model-usage.d.ts +25 -0
- package/dist/elements/overview/ca-model-usage.d.ts.map +1 -0
- package/dist/elements/overview/ca-model-usage.js +118 -0
- package/dist/elements/overview/ca-model-usage.js.map +1 -0
- package/dist/elements/overview/ca-overview.d.ts +67 -0
- package/dist/elements/overview/ca-overview.d.ts.map +1 -0
- package/dist/elements/overview/ca-overview.js +463 -0
- package/dist/elements/overview/ca-overview.js.map +1 -0
- package/dist/elements/overview/ca-pipeline-graph.d.ts +211 -0
- package/dist/elements/overview/ca-pipeline-graph.d.ts.map +1 -0
- package/dist/elements/overview/ca-pipeline-graph.js +616 -0
- package/dist/elements/overview/ca-pipeline-graph.js.map +1 -0
- package/dist/elements/overview/ca-quota.d.ts +42 -0
- package/dist/elements/overview/ca-quota.d.ts.map +1 -0
- package/dist/elements/overview/ca-quota.js +179 -0
- package/dist/elements/overview/ca-quota.js.map +1 -0
- package/dist/elements/overview/ca-run-driver.d.ts +33 -0
- package/dist/elements/overview/ca-run-driver.d.ts.map +1 -0
- package/dist/elements/overview/ca-run-driver.js +146 -0
- package/dist/elements/overview/ca-run-driver.js.map +1 -0
- package/dist/elements/overview/ca-services.d.ts +25 -0
- package/dist/elements/overview/ca-services.d.ts.map +1 -0
- package/dist/elements/overview/ca-services.js +77 -0
- package/dist/elements/overview/ca-services.js.map +1 -0
- package/dist/elements/overview/ca-spend-breakdown.d.ts +24 -0
- package/dist/elements/overview/ca-spend-breakdown.d.ts.map +1 -0
- package/dist/elements/overview/ca-spend-breakdown.js +108 -0
- package/dist/elements/overview/ca-spend-breakdown.js.map +1 -0
- package/dist/elements/overview/ca-timeline.d.ts +28 -0
- package/dist/elements/overview/ca-timeline.d.ts.map +1 -0
- package/dist/elements/overview/ca-timeline.js +72 -0
- package/dist/elements/overview/ca-timeline.js.map +1 -0
- package/dist/elements/overview/ca-workers.d.ts +23 -0
- package/dist/elements/overview/ca-workers.d.ts.map +1 -0
- package/dist/elements/overview/ca-workers.js +86 -0
- package/dist/elements/overview/ca-workers.js.map +1 -0
- package/dist/elements/overview/index.d.ts +11 -0
- package/dist/elements/overview/index.d.ts.map +1 -0
- package/dist/elements/overview/index.js +11 -0
- package/dist/elements/overview/index.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/actions.d.ts +16 -0
- package/dist/elements/overview/pipeline-graph/actions.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/actions.js +42 -0
- package/dist/elements/overview/pipeline-graph/actions.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/crumbs.d.ts +15 -0
- package/dist/elements/overview/pipeline-graph/crumbs.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/crumbs.js +70 -0
- package/dist/elements/overview/pipeline-graph/crumbs.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/host.d.ts +24 -0
- package/dist/elements/overview/pipeline-graph/host.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/host.js +2 -0
- package/dist/elements/overview/pipeline-graph/host.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/inspector.d.ts +5 -0
- package/dist/elements/overview/pipeline-graph/inspector.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/inspector.js +100 -0
- package/dist/elements/overview/pipeline-graph/inspector.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/outline.d.ts +53 -0
- package/dist/elements/overview/pipeline-graph/outline.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/outline.js +111 -0
- package/dist/elements/overview/pipeline-graph/outline.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/strings.d.ts +11 -0
- package/dist/elements/overview/pipeline-graph/strings.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/strings.js +49 -0
- package/dist/elements/overview/pipeline-graph/strings.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/styles.d.ts +4 -0
- package/dist/elements/overview/pipeline-graph/styles.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/styles.js +96 -0
- package/dist/elements/overview/pipeline-graph/styles.js.map +1 -0
- package/dist/elements/shared/ca-definition.d.ts +26 -0
- package/dist/elements/shared/ca-definition.d.ts.map +1 -0
- package/dist/elements/shared/ca-definition.js +202 -0
- package/dist/elements/shared/ca-definition.js.map +1 -0
- package/dist/elements/shared/contract-parts.d.ts +35 -0
- package/dist/elements/shared/contract-parts.d.ts.map +1 -0
- package/dist/elements/shared/contract-parts.js +167 -0
- package/dist/elements/shared/contract-parts.js.map +1 -0
- package/dist/elements/shared/file-card.d.ts +17 -0
- package/dist/elements/shared/file-card.d.ts.map +1 -0
- package/dist/elements/shared/file-card.js +37 -0
- package/dist/elements/shared/file-card.js.map +1 -0
- package/dist/elements/shared/prompt-text.d.ts +5 -0
- package/dist/elements/shared/prompt-text.d.ts.map +1 -0
- package/dist/elements/shared/prompt-text.js +13 -0
- package/dist/elements/shared/prompt-text.js.map +1 -0
- package/dist/elements/shared/task-chip.d.ts +10 -0
- package/dist/elements/shared/task-chip.d.ts.map +1 -0
- package/dist/elements/shared/task-chip.js +19 -0
- package/dist/elements/shared/task-chip.js.map +1 -0
- package/dist/elements/shell/ca-clock.d.ts +13 -0
- package/dist/elements/shell/ca-clock.d.ts.map +1 -0
- package/dist/elements/shell/ca-clock.js +30 -0
- package/dist/elements/shell/ca-clock.js.map +1 -0
- package/dist/elements/shell/ca-hosts.d.ts +21 -0
- package/dist/elements/shell/ca-hosts.d.ts.map +1 -0
- package/dist/elements/shell/ca-hosts.js +97 -0
- package/dist/elements/shell/ca-hosts.js.map +1 -0
- package/dist/elements/shell/ca-monitor.d.ts +182 -0
- package/dist/elements/shell/ca-monitor.d.ts.map +1 -0
- package/dist/elements/shell/ca-monitor.js +549 -0
- package/dist/elements/shell/ca-monitor.js.map +1 -0
- package/dist/elements/shell/ca-run-picker.d.ts +71 -0
- package/dist/elements/shell/ca-run-picker.d.ts.map +1 -0
- package/dist/elements/shell/ca-run-picker.js +313 -0
- package/dist/elements/shell/ca-run-picker.js.map +1 -0
- package/dist/elements/shell/ca-theme-switch.d.ts +36 -0
- package/dist/elements/shell/ca-theme-switch.d.ts.map +1 -0
- package/dist/elements/shell/ca-theme-switch.js +186 -0
- package/dist/elements/shell/ca-theme-switch.js.map +1 -0
- package/dist/elements/shell/ca-toasts.d.ts +23 -0
- package/dist/elements/shell/ca-toasts.d.ts.map +1 -0
- package/dist/elements/shell/ca-toasts.js +88 -0
- package/dist/elements/shell/ca-toasts.js.map +1 -0
- package/dist/elements/shell/header.d.ts +13 -0
- package/dist/elements/shell/header.d.ts.map +1 -0
- package/dist/elements/shell/header.js +38 -0
- package/dist/elements/shell/header.js.map +1 -0
- package/dist/elements/shell/styles.d.ts +2 -0
- package/dist/elements/shell/styles.d.ts.map +1 -0
- package/dist/elements/shell/styles.js +72 -0
- package/dist/elements/shell/styles.js.map +1 -0
- package/dist/elements/shell/tabs.d.ts +32 -0
- package/dist/elements/shell/tabs.d.ts.map +1 -0
- package/dist/elements/shell/tabs.js +125 -0
- package/dist/elements/shell/tabs.js.map +1 -0
- package/dist/elements/shell/views.d.ts +27 -0
- package/dist/elements/shell/views.d.ts.map +1 -0
- package/dist/elements/shell/views.js +55 -0
- package/dist/elements/shell/views.js.map +1 -0
- package/dist/elements/task/ca-task-view.d.ts +55 -0
- package/dist/elements/task/ca-task-view.d.ts.map +1 -0
- package/dist/elements/task/ca-task-view.js +199 -0
- package/dist/elements/task/ca-task-view.js.map +1 -0
- package/dist/elements/task/ca-transcript.d.ts +74 -0
- package/dist/elements/task/ca-transcript.d.ts.map +1 -0
- package/dist/elements/task/ca-transcript.js +241 -0
- package/dist/elements/task/ca-transcript.js.map +1 -0
- package/dist/elements/task/context.d.ts +57 -0
- package/dist/elements/task/context.d.ts.map +1 -0
- package/dist/elements/task/context.js +61 -0
- package/dist/elements/task/context.js.map +1 -0
- package/dist/elements/task/header.d.ts +9 -0
- package/dist/elements/task/header.d.ts.map +1 -0
- package/dist/elements/task/header.js +291 -0
- package/dist/elements/task/header.js.map +1 -0
- package/dist/elements/task/index.d.ts +3 -0
- package/dist/elements/task/index.d.ts.map +1 -0
- package/dist/elements/task/index.js +3 -0
- package/dist/elements/task/index.js.map +1 -0
- package/dist/elements/task/inputs.d.ts +28 -0
- package/dist/elements/task/inputs.d.ts.map +1 -0
- package/dist/elements/task/inputs.js +27 -0
- package/dist/elements/task/inputs.js.map +1 -0
- package/dist/elements/task/panes/definition.d.ts +5 -0
- package/dist/elements/task/panes/definition.d.ts.map +1 -0
- package/dist/elements/task/panes/definition.js +5 -0
- package/dist/elements/task/panes/definition.js.map +1 -0
- package/dist/elements/task/panes/io.d.ts +8 -0
- package/dist/elements/task/panes/io.d.ts.map +1 -0
- package/dist/elements/task/panes/io.js +184 -0
- package/dist/elements/task/panes/io.js.map +1 -0
- package/dist/elements/task/panes/transcript.d.ts +5 -0
- package/dist/elements/task/panes/transcript.d.ts.map +1 -0
- package/dist/elements/task/panes/transcript.js +29 -0
- package/dist/elements/task/panes/transcript.js.map +1 -0
- package/dist/elements/task/styles.d.ts +2 -0
- package/dist/elements/task/styles.d.ts.map +1 -0
- package/dist/elements/task/styles.js +66 -0
- package/dist/elements/task/styles.js.map +1 -0
- package/dist/elements/trends/ca-trends.d.ts +55 -0
- package/dist/elements/trends/ca-trends.d.ts.map +1 -0
- package/dist/elements/trends/ca-trends.js +213 -0
- package/dist/elements/trends/ca-trends.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/tone.d.ts +29 -0
- package/dist/lib/tone.d.ts.map +1 -0
- package/dist/lib/tone.js +97 -0
- package/dist/lib/tone.js.map +1 -0
- package/dist/lib/trends.d.ts +15 -0
- package/dist/lib/trends.d.ts.map +1 -0
- package/dist/lib/trends.js +36 -0
- package/dist/lib/trends.js.map +1 -0
- package/dist/locales/codes.d.ts +14 -0
- package/dist/locales/codes.d.ts.map +1 -0
- package/dist/locales/codes.js +21 -0
- package/dist/locales/codes.js.map +1 -0
- package/dist/locales/ja.d.ts +785 -0
- package/dist/locales/ja.d.ts.map +1 -0
- package/dist/locales/ja.js +791 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/words/api-error.d.ts +4 -0
- package/dist/words/api-error.d.ts.map +1 -0
- package/dist/words/api-error.js +13 -0
- package/dist/words/api-error.js.map +1 -0
- package/dist/words/attempts.d.ts +17 -0
- package/dist/words/attempts.d.ts.map +1 -0
- package/dist/words/attempts.js +26 -0
- package/dist/words/attempts.js.map +1 -0
- package/dist/words/causes.d.ts +33 -0
- package/dist/words/causes.d.ts.map +1 -0
- package/dist/words/causes.js +58 -0
- package/dist/words/causes.js.map +1 -0
- package/dist/words/changes.d.ts +9 -0
- package/dist/words/changes.d.ts.map +1 -0
- package/dist/words/changes.js +23 -0
- package/dist/words/changes.js.map +1 -0
- package/dist/words/claims.d.ts +9 -0
- package/dist/words/claims.d.ts.map +1 -0
- package/dist/words/claims.js +12 -0
- package/dist/words/claims.js.map +1 -0
- package/dist/words/context.d.ts +18 -0
- package/dist/words/context.d.ts.map +1 -0
- package/dist/words/context.js +39 -0
- package/dist/words/context.js.map +1 -0
- package/dist/words/contract.d.ts +25 -0
- package/dist/words/contract.d.ts.map +1 -0
- package/dist/words/contract.js +52 -0
- package/dist/words/contract.js.map +1 -0
- package/dist/words/credential.d.ts +5 -0
- package/dist/words/credential.d.ts.map +1 -0
- package/dist/words/credential.js +7 -0
- package/dist/words/credential.js.map +1 -0
- package/dist/words/executor.d.ts +12 -0
- package/dist/words/executor.d.ts.map +1 -0
- package/dist/words/executor.js +20 -0
- package/dist/words/executor.js.map +1 -0
- package/dist/words/export.d.ts +8 -0
- package/dist/words/export.d.ts.map +1 -0
- package/dist/words/export.js +17 -0
- package/dist/words/export.js.map +1 -0
- package/dist/words/format.d.ts +36 -0
- package/dist/words/format.d.ts.map +1 -0
- package/dist/words/format.js +109 -0
- package/dist/words/format.js.map +1 -0
- package/dist/words/hops.d.ts +12 -0
- package/dist/words/hops.d.ts.map +1 -0
- package/dist/words/hops.js +27 -0
- package/dist/words/hops.js.map +1 -0
- package/dist/words/hosts.d.ts +18 -0
- package/dist/words/hosts.d.ts.map +1 -0
- package/dist/words/hosts.js +22 -0
- package/dist/words/hosts.js.map +1 -0
- package/dist/words/index.d.ts +28 -0
- package/dist/words/index.d.ts.map +1 -0
- package/dist/words/index.js +32 -0
- package/dist/words/index.js.map +1 -0
- package/dist/words/models.d.ts +10 -0
- package/dist/words/models.d.ts.map +1 -0
- package/dist/words/models.js +45 -0
- package/dist/words/models.js.map +1 -0
- package/dist/words/outcome.d.ts +14 -0
- package/dist/words/outcome.d.ts.map +1 -0
- package/dist/words/outcome.js +58 -0
- package/dist/words/outcome.js.map +1 -0
- package/dist/words/panels.d.ts +17 -0
- package/dist/words/panels.d.ts.map +1 -0
- package/dist/words/panels.js +63 -0
- package/dist/words/panels.js.map +1 -0
- package/dist/words/passes.d.ts +11 -0
- package/dist/words/passes.d.ts.map +1 -0
- package/dist/words/passes.js +13 -0
- package/dist/words/passes.js.map +1 -0
- package/dist/words/preflight.d.ts +28 -0
- package/dist/words/preflight.d.ts.map +1 -0
- package/dist/words/preflight.js +30 -0
- package/dist/words/preflight.js.map +1 -0
- package/dist/words/priority.d.ts +5 -0
- package/dist/words/priority.d.ts.map +1 -0
- package/dist/words/priority.js +7 -0
- package/dist/words/priority.js.map +1 -0
- package/dist/words/prompt.d.ts +10 -0
- package/dist/words/prompt.d.ts.map +1 -0
- package/dist/words/prompt.js +17 -0
- package/dist/words/prompt.js.map +1 -0
- package/dist/words/quota.d.ts +35 -0
- package/dist/words/quota.d.ts.map +1 -0
- package/dist/words/quota.js +102 -0
- package/dist/words/quota.js.map +1 -0
- package/dist/words/rests.d.ts +26 -0
- package/dist/words/rests.d.ts.map +1 -0
- package/dist/words/rests.js +77 -0
- package/dist/words/rests.js.map +1 -0
- package/dist/words/rounds.d.ts +14 -0
- package/dist/words/rounds.d.ts.map +1 -0
- package/dist/words/rounds.js +60 -0
- package/dist/words/rounds.js.map +1 -0
- package/dist/words/row-extras.d.ts +7 -0
- package/dist/words/row-extras.d.ts.map +1 -0
- package/dist/words/row-extras.js +26 -0
- package/dist/words/row-extras.js.map +1 -0
- package/dist/words/run-line.d.ts +40 -0
- package/dist/words/run-line.d.ts.map +1 -0
- package/dist/words/run-line.js +66 -0
- package/dist/words/run-line.js.map +1 -0
- package/dist/words/services.d.ts +16 -0
- package/dist/words/services.d.ts.map +1 -0
- package/dist/words/services.js +45 -0
- package/dist/words/services.js.map +1 -0
- package/dist/words/stop.d.ts +6 -0
- package/dist/words/stop.d.ts.map +1 -0
- package/dist/words/stop.js +69 -0
- package/dist/words/stop.js.map +1 -0
- package/dist/words/table.d.ts +4 -0
- package/dist/words/table.d.ts.map +1 -0
- package/dist/words/table.js +8 -0
- package/dist/words/table.js.map +1 -0
- package/dist/words/task-definition.d.ts +23 -0
- package/dist/words/task-definition.d.ts.map +1 -0
- package/dist/words/task-definition.js +27 -0
- package/dist/words/task-definition.js.map +1 -0
- package/dist/words/time-box.d.ts +8 -0
- package/dist/words/time-box.d.ts.map +1 -0
- package/dist/words/time-box.js +12 -0
- package/dist/words/time-box.js.map +1 -0
- package/dist/words/trends.d.ts +86 -0
- package/dist/words/trends.d.ts.map +1 -0
- package/dist/words/trends.js +104 -0
- package/dist/words/trends.js.map +1 -0
- package/docs/embed.md +121 -0
- package/docs/events.md +38 -0
- package/docs/examples/embed.html +31 -0
- package/docs/examples/journal.ts +32 -0
- package/docs/examples/live-transcript.ts +22 -0
- package/docs/examples/vite/index.html +30 -0
- package/docs/examples/vite/main.ts +23 -0
- package/docs/languages.md +48 -0
- package/docs/live-data.md +17 -0
- package/docs/theming.md +21 -0
- package/docs/tsconfig.json +14 -0
- package/package.json +131 -4
- package/src/adapters/check-rows.ts +81 -0
- package/src/adapters/filters.ts +76 -0
- package/src/adapters/graph/compound.ts +359 -0
- package/src/adapters/graph/flow-index.ts +154 -0
- package/src/adapters/graph/highlight.ts +40 -0
- package/src/adapters/graph/input.ts +236 -0
- package/src/adapters/graph/layer.ts +92 -0
- package/src/adapters/graph/matrix.ts +133 -0
- package/src/adapters/graph/plans.fixture.ts +194 -0
- package/src/adapters/graph/project.ts +358 -0
- package/src/adapters/graph/selection.ts +54 -0
- package/src/adapters/graph/states.ts +10 -0
- package/src/adapters/graph/types.ts +148 -0
- package/src/adapters/graph/words.ts +146 -0
- package/src/adapters/index.ts +22 -0
- package/src/adapters/journal-columns.ts +200 -0
- package/src/adapters/kpi-tiles.ts +211 -0
- package/src/adapters/lanes.ts +98 -0
- package/src/adapters/model-shares.ts +62 -0
- package/src/adapters/panel-body.ts +112 -0
- package/src/adapters/preflight.ts +27 -0
- package/src/adapters/task-columns.ts +120 -0
- package/src/adapters/transcript/index.ts +14 -0
- package/src/adapters/transcript/model.ts +156 -0
- package/src/adapters/transcript/rounds.ts +86 -0
- package/src/adapters/transcript/sections.ts +82 -0
- package/src/adapters/transcript/web.ts +40 -0
- package/src/adapters/transcript/who.ts +53 -0
- package/src/adapters/trends.ts +337 -0
- package/src/controllers/locale.ts +47 -0
- package/src/controllers/shortcuts.ts +69 -0
- package/src/controllers/stream.ts +103 -0
- package/src/controllers/task-detail.ts +54 -0
- package/src/controllers/theme.ts +73 -0
- package/src/core/events.ts +120 -0
- package/src/core/i18n.ts +76 -0
- package/src/core/index.ts +6 -0
- package/src/core/memory.ts +177 -0
- package/src/core/scroll.ts +73 -0
- package/src/core/view-route.ts +177 -0
- package/src/core/view-router.ts +66 -0
- package/src/define/all.ts +13 -0
- package/src/define/contracts.ts +2 -0
- package/src/define/definitions.ts +3 -0
- package/src/define/journal-table.ts +2 -0
- package/src/define/kpis.ts +2 -0
- package/src/define/monitor.ts +2 -0
- package/src/define/overview.ts +2 -0
- package/src/define/pipeline-graph.ts +2 -0
- package/src/define/procs.ts +3 -0
- package/src/define/task-table.ts +2 -0
- package/src/define/task-view.ts +2 -0
- package/src/define/timeline.ts +2 -0
- package/src/define/transcript.ts +2 -0
- package/src/elements/lists/ca-contracts.ts +204 -0
- package/src/elements/lists/ca-definitions.ts +170 -0
- package/src/elements/lists/ca-journal-table.ts +141 -0
- package/src/elements/lists/ca-panel-body.ts +200 -0
- package/src/elements/lists/ca-panel-view.ts +50 -0
- package/src/elements/lists/ca-proc-tree.ts +57 -0
- package/src/elements/lists/ca-procs-view.ts +89 -0
- package/src/elements/lists/ca-task-table.ts +94 -0
- package/src/elements/lists/index.ts +8 -0
- package/src/elements/overview/ca-kpis.ts +51 -0
- package/src/elements/overview/ca-model-usage.ts +113 -0
- package/src/elements/overview/ca-overview.ts +499 -0
- package/src/elements/overview/ca-pipeline-graph.ts +617 -0
- package/src/elements/overview/ca-quota.ts +164 -0
- package/src/elements/overview/ca-run-driver.ts +140 -0
- package/src/elements/overview/ca-services.ts +66 -0
- package/src/elements/overview/ca-spend-breakdown.ts +107 -0
- package/src/elements/overview/ca-timeline.ts +57 -0
- package/src/elements/overview/ca-workers.ts +82 -0
- package/src/elements/overview/index.ts +10 -0
- package/src/elements/overview/pipeline-graph/actions.ts +45 -0
- package/src/elements/overview/pipeline-graph/crumbs.ts +75 -0
- package/src/elements/overview/pipeline-graph/host.ts +26 -0
- package/src/elements/overview/pipeline-graph/inspector.ts +104 -0
- package/src/elements/overview/pipeline-graph/outline.ts +150 -0
- package/src/elements/overview/pipeline-graph/strings.ts +53 -0
- package/src/elements/overview/pipeline-graph/styles.ts +97 -0
- package/src/elements/shared/ca-definition.ts +206 -0
- package/src/elements/shared/contract-parts.ts +174 -0
- package/src/elements/shared/file-card.ts +49 -0
- package/src/elements/shared/prompt-text.ts +13 -0
- package/src/elements/shared/task-chip.ts +18 -0
- package/src/elements/shell/ca-clock.ts +27 -0
- package/src/elements/shell/ca-hosts.ts +93 -0
- package/src/elements/shell/ca-monitor.ts +528 -0
- package/src/elements/shell/ca-run-picker.ts +284 -0
- package/src/elements/shell/ca-theme-switch.ts +170 -0
- package/src/elements/shell/ca-toasts.ts +100 -0
- package/src/elements/shell/header.ts +45 -0
- package/src/elements/shell/styles.ts +72 -0
- package/src/elements/shell/tabs.ts +143 -0
- package/src/elements/shell/views.ts +67 -0
- package/src/elements/task/ca-task-view.ts +157 -0
- package/src/elements/task/ca-transcript.ts +214 -0
- package/src/elements/task/context.ts +105 -0
- package/src/elements/task/header.ts +296 -0
- package/src/elements/task/index.ts +2 -0
- package/src/elements/task/inputs.ts +46 -0
- package/src/elements/task/panes/definition.ts +7 -0
- package/src/elements/task/panes/io.ts +190 -0
- package/src/elements/task/panes/transcript.ts +29 -0
- package/src/elements/task/styles.ts +66 -0
- package/src/elements/trends/ca-trends.ts +204 -0
- package/src/index.ts +23 -0
- package/src/lib/tone.ts +109 -0
- package/src/lib/trends.ts +44 -0
- package/src/locales/codes.ts +23 -0
- package/src/locales/ja.ts +795 -0
- package/src/words/api-error.ts +17 -0
- package/src/words/attempts.ts +28 -0
- package/src/words/causes.ts +67 -0
- package/src/words/changes.ts +29 -0
- package/src/words/claims.ts +16 -0
- package/src/words/context.ts +47 -0
- package/src/words/contract.ts +63 -0
- package/src/words/credential.ts +8 -0
- package/src/words/executor.ts +22 -0
- package/src/words/export.ts +22 -0
- package/src/words/format.ts +107 -0
- package/src/words/hops.ts +30 -0
- package/src/words/hosts.ts +37 -0
- package/src/words/index.ts +31 -0
- package/src/words/models.ts +50 -0
- package/src/words/outcome.ts +61 -0
- package/src/words/panels.ts +71 -0
- package/src/words/passes.ts +18 -0
- package/src/words/preflight.ts +53 -0
- package/src/words/priority.ts +8 -0
- package/src/words/prompt.ts +20 -0
- package/src/words/quota.ts +108 -0
- package/src/words/rests.ts +96 -0
- package/src/words/rounds.ts +56 -0
- package/src/words/row-extras.ts +24 -0
- package/src/words/run-line.ts +77 -0
- package/src/words/services.ts +57 -0
- package/src/words/stop.ts +65 -0
- package/src/words/table.ts +10 -0
- package/src/words/task-definition.ts +37 -0
- package/src/words/time-box.ts +21 -0
- package/src/words/trends.ts +118 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Procs } from '@contraagent/api';
|
|
2
|
+
import { localized, msg, str } from '@lit/localize';
|
|
3
|
+
import { LitElement, css, html, nothing } from 'lit';
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
6
|
+
import { emit } from '../../core/events.js';
|
|
7
|
+
import { starts } from '@contraagent/elements';
|
|
8
|
+
import { facts, kindUnit } from '../../words/format.js';
|
|
9
|
+
import { noReportLabel } from '../../words/hosts.js';
|
|
10
|
+
import { notInExport } from '../../words/export.js';
|
|
11
|
+
import { base } from '@contraagent/elements/styles';
|
|
12
|
+
import '@contraagent/elements/count/define';
|
|
13
|
+
import './ca-proc-tree.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A live run's processes: each coding-agent launch (opens its transcript with
|
|
17
|
+
* `ca-open-task`), each Python task, and the process tree.
|
|
18
|
+
*
|
|
19
|
+
* @fires ca-open-task - `{key}`: a launch was clicked
|
|
20
|
+
*/
|
|
21
|
+
@customElement('ca-procs-view')
|
|
22
|
+
@localized()
|
|
23
|
+
export class CaProcsView extends LitElement {
|
|
24
|
+
static override styles = [
|
|
25
|
+
base,
|
|
26
|
+
css`
|
|
27
|
+
:host { display: block; }
|
|
28
|
+
.cmd { word-break: break-all; }
|
|
29
|
+
`,
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
@property({ attribute: false }) procs: Procs | null = null;
|
|
33
|
+
/** The run's host stopped reporting (a hub): whether it runs is not known. */
|
|
34
|
+
@property({ type: Boolean }) unresponsive = false;
|
|
35
|
+
/** Read from an export (`Info.export`): it holds no processes. */
|
|
36
|
+
@property({ type: Boolean }) exported = false;
|
|
37
|
+
|
|
38
|
+
/** Open a launch's task. A launch's row opens it on a click; its name is the button for the keyboard. */
|
|
39
|
+
private open(key: string): void {
|
|
40
|
+
emit(this, 'ca-open-task', { key });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
override render() {
|
|
45
|
+
const p = this.procs;
|
|
46
|
+
if (!p?.alive) {
|
|
47
|
+
const why = this.exported ? notInExport() : this.unresponsive ? noReportLabel() : msg('not running');
|
|
48
|
+
return html`<div class="blank"><span class="ic" aria-hidden="true">⚙</span><b>${facts(msg('No processes'), why)}</b></div>`;
|
|
49
|
+
}
|
|
50
|
+
const pys = p.python_tasks;
|
|
51
|
+
return html`<div class="g12">
|
|
52
|
+
<section class="panel c12">
|
|
53
|
+
<h3 title=${msg('One per task (Backend.run)')}>${msg('Agent sessions running')} <span class="r">${p.launches.length}</span></h3>
|
|
54
|
+
${p.launches.length
|
|
55
|
+
? repeat(
|
|
56
|
+
p.launches,
|
|
57
|
+
(c) => c.key,
|
|
58
|
+
(c) => html`<div class="fl" @click=${(e: MouseEvent) => !(e.target as Element).closest('button') && this.open(c.key)}>
|
|
59
|
+
<button type="button" class="fl-name jmono" @click=${() => this.open(c.key)}>${kindUnit(c)}</button>
|
|
60
|
+
<span class="meta">${facts(msg(str`PID ${c.pid}`), msg(str`Model ${c.model || '—'}`), c.role ? msg(str`Role ${c.role}`) : '')} |
|
|
61
|
+
<cae-elapsed .since=${starts.at(`c:${c.key}`, c.age_s)}></cae-elapsed></span>
|
|
62
|
+
<div class="meta mono cmd">${(c.full_cmd || msg('In the pipeline process')).slice(0, 400)}</div>
|
|
63
|
+
</div>`,
|
|
64
|
+
)
|
|
65
|
+
: html`<div class="meta">${msg('No agent sessions')}</div>`}
|
|
66
|
+
</section>
|
|
67
|
+
${pys.length
|
|
68
|
+
? html`<section class="panel c12">
|
|
69
|
+
<h3 title=${msg('Functions in the pipeline process')}>${msg('Python tasks running')} <span class="r">${pys.length}</span></h3>
|
|
70
|
+
${repeat(
|
|
71
|
+
pys,
|
|
72
|
+
(pt) => pt.key,
|
|
73
|
+
(pt) => html`<div class="fl">
|
|
74
|
+
<b class="jmono">${kindUnit(pt)}</b>
|
|
75
|
+
<span class="meta">${msg(str`PID ${pt.pid}`)} | <cae-elapsed .since=${starts.at(`p:${pt.key}`, pt.age_s)}></cae-elapsed></span>
|
|
76
|
+
</div>`,
|
|
77
|
+
)}
|
|
78
|
+
</section>`
|
|
79
|
+
: nothing}
|
|
80
|
+
<section class="panel c12"><h3>${msg('Process tree')}</h3><ca-proc-tree .procs=${p}></ca-proc-tree></section>
|
|
81
|
+
</div>`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
declare global {
|
|
86
|
+
interface HTMLElementTagNameMap {
|
|
87
|
+
'ca-procs-view': CaProcsView;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { deriveRun, isPython, type JournalRow, type Plan, type TaskRow } from '@contraagent/api';
|
|
2
|
+
import '@contraagent/elements/data-table/define';
|
|
3
|
+
import { localized, msg } from '@lit/localize';
|
|
4
|
+
import { LitElement, css, html } from 'lit';
|
|
5
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
6
|
+
import { emit } from '../../core/events.js';
|
|
7
|
+
import { base, meterStyles } from '@contraagent/elements/styles';
|
|
8
|
+
import { executorIconStyles } from '../../words/executor.js';
|
|
9
|
+
import { tableStrings } from '../../words/table.js';
|
|
10
|
+
import { filterTasks, sortTasks } from '../../adapters/filters.js';
|
|
11
|
+
import { taskColumns } from '../../adapters/task-columns.js';
|
|
12
|
+
|
|
13
|
+
/** The look of the rows and of what their cells draw, inside `<cae-data-table>`. */
|
|
14
|
+
const CELLS = [
|
|
15
|
+
meterStyles,
|
|
16
|
+
executorIconStyles,
|
|
17
|
+
css`
|
|
18
|
+
caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
|
|
19
|
+
/* the numbers sit tight together, right-aligned; the status comes last and takes the spare width, so no gap opens inside the row */
|
|
20
|
+
tr { column-gap: 20px; padding: 6px 12px; }
|
|
21
|
+
tbody tr { border-bottom: 0; border-radius: 8px; transition: background 0.15s; }
|
|
22
|
+
thead tr { align-items: end; white-space: nowrap; padding: 4px 12px 8px; margin-bottom: 4px; }
|
|
23
|
+
tbody [data-col='ended'] { font-size: var(--font-size-sm); }
|
|
24
|
+
.wall { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
|
|
25
|
+
.wall .jdur { width: 56px; margin: 0; flex: none; }
|
|
26
|
+
.grow { display: flex; align-items: center; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
27
|
+
.grow .jdim { margin-left: 8px; }
|
|
28
|
+
.pass { margin-left: 8px; font-size: 11px; color: var(--text-muted); }
|
|
29
|
+
.cause { display: block; font-size: 11px; color: var(--text-muted); margin-top: 2px; white-space: normal; overflow-wrap: anywhere; }
|
|
30
|
+
/* a narrow table (its container is <cae-data-table>): the task, its status and its time */
|
|
31
|
+
@container (max-width: 760px) {
|
|
32
|
+
tr { grid-template-columns: minmax(0, 1fr) 128px 90px; }
|
|
33
|
+
[data-col='attempts'], [data-col='tokens'], [data-col='cost'], [data-col='ended'] { display: none; }
|
|
34
|
+
}
|
|
35
|
+
`,
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Every task of the run, one row each (`deriveRun(...).rows`: the plan joined with the
|
|
40
|
+
* journal, so a task that never ran is a row too): what happened to it, its
|
|
41
|
+
* attempts, time, tokens and cost. A row opens the task's detail (`ca-open-task`),
|
|
42
|
+
* with a click or with Enter.
|
|
43
|
+
*
|
|
44
|
+
* @fires ca-open-task - `{key}`: a task's row was opened (its key; a Python task with `view: 'output'`)
|
|
45
|
+
*/
|
|
46
|
+
@customElement('ca-task-table')
|
|
47
|
+
@localized()
|
|
48
|
+
export class CaTaskTable extends LitElement {
|
|
49
|
+
static override styles = [base, css`:host { display: block; margin-top: 4px; }`];
|
|
50
|
+
|
|
51
|
+
/** The run's journal and plan: the tasks are the plan's, what happened to them the journal's. */
|
|
52
|
+
@property({ attribute: false }) journal: JournalRow[] = [];
|
|
53
|
+
@property({ attribute: false }) plan: Plan | null = null;
|
|
54
|
+
/** Only this kind ('' for all). */
|
|
55
|
+
@property() kind = '';
|
|
56
|
+
/** A text filter over the kind, unit, key and last stop. */
|
|
57
|
+
@property() q = '';
|
|
58
|
+
/** The run is running: a task that has not started is waiting; in a run that is over, it did not run. */
|
|
59
|
+
@property({ type: Boolean }) live = false;
|
|
60
|
+
/** The run id: paths in a cause are shown relative to it. */
|
|
61
|
+
@property() run = '';
|
|
62
|
+
|
|
63
|
+
private open(rows: readonly TaskRow[], key: string): void {
|
|
64
|
+
const t = rows.find((r) => r.key === key);
|
|
65
|
+
// A Python task has no transcript, but its detail shows what it was given and what it left.
|
|
66
|
+
if (t) emit(this, 'ca-open-task', isPython(t) ? { key, view: 'output' } : { key });
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
override render() {
|
|
70
|
+
const d = this.plan ? deriveRun(this.journal, this.plan) : null;
|
|
71
|
+
const all = d?.rows ?? [];
|
|
72
|
+
const rows = sortTasks(filterTasks(all, this.kind, this.q));
|
|
73
|
+
if (!rows.length)
|
|
74
|
+
return html`<div class="blank"><span class="ic" aria-hidden="true">≡</span>${all.length ? msg('No tasks match the filter') : msg('No tasks')}</div>`;
|
|
75
|
+
const columns = taskColumns({ run: this.run, live: this.live, outcomes: d?.outcomes ?? new Map(), all, rows, journal: this.journal });
|
|
76
|
+
return html`<cae-data-table
|
|
77
|
+
.columns=${columns}
|
|
78
|
+
.rows=${rows}
|
|
79
|
+
.rowKey=${(t: TaskRow) => t.key}
|
|
80
|
+
.rowTone=${(t: TaskRow) => (t.outcome === 'running' ? 'running' : undefined)}
|
|
81
|
+
.rowAttrs=${(t: TaskRow) => ({ 'data-executor': isPython(t) ? 'python' : 'agent' })}
|
|
82
|
+
.cellStyles=${CELLS}
|
|
83
|
+
.caption=${msg('Tasks', { id: 'tab-tasks', desc: 'Tab: the list of tasks' })}
|
|
84
|
+
.strings=${tableStrings(msg('No tasks'))}
|
|
85
|
+
@cae-activate=${(e: CustomEvent<{ id: string }>) => this.open(rows, e.detail.id)}
|
|
86
|
+
></cae-data-table>`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
declare global {
|
|
91
|
+
interface HTMLElementTagNameMap {
|
|
92
|
+
'ca-task-table': CaTaskTable;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './ca-task-table.js';
|
|
2
|
+
export * from './ca-journal-table.js';
|
|
3
|
+
export * from './ca-contracts.js';
|
|
4
|
+
export * from './ca-definitions.js';
|
|
5
|
+
export * from './ca-procs-view.js';
|
|
6
|
+
export * from './ca-proc-tree.js';
|
|
7
|
+
export * from './ca-panel-view.js';
|
|
8
|
+
export * from './ca-panel-body.js';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { deriveRun, type JournalRow, type Plan } from '@contraagent/api';
|
|
2
|
+
import { localized } from '@lit/localize';
|
|
3
|
+
import { LitElement, css, html } from 'lit';
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
+
import '@contraagent/elements/tiles/define';
|
|
6
|
+
import { kpiAction, kpiTiles } from '../../adapters/kpi-tiles.js';
|
|
7
|
+
import { emit } from '../../core/events.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The run in numbers, as `<cae-stat-tiles>`: tasks and how they ended (with
|
|
11
|
+
* `plan`; from the journal alone otherwise), attempts, failed attempts, agent
|
|
12
|
+
* time, retries, corrections and model switches (`kpiTiles`). The parts of
|
|
13
|
+
* `<cae-stat-tiles>` are its own: a page styles them as `ca-kpis::part(tile)`.
|
|
14
|
+
*
|
|
15
|
+
* @fires ca-navigate - `{tab: 'journal', stop}`: the history filtered to what a tile counts (`bad`, `invalid_input`, `retried`, `fixup`)
|
|
16
|
+
* @fires ca-open-task - `{key}`: the one task a tile counts
|
|
17
|
+
* @csspart tiles - the grid of tiles
|
|
18
|
+
* @csspart tile - each tile (`data-id` is its id, `data-tone` its tone)
|
|
19
|
+
* @csspart label - a tile's label
|
|
20
|
+
* @csspart value - a tile's value
|
|
21
|
+
* @csspart sub - each line under the value
|
|
22
|
+
* @csspart action - a tile's link
|
|
23
|
+
*/
|
|
24
|
+
@customElement('ca-kpis')
|
|
25
|
+
@localized()
|
|
26
|
+
export class CaKpis extends LitElement {
|
|
27
|
+
static override styles = css`
|
|
28
|
+
:host { display: block; }
|
|
29
|
+
`;
|
|
30
|
+
|
|
31
|
+
@property({ attribute: false }) journal: JournalRow[] = [];
|
|
32
|
+
/** The scheduled tasks; without it, tasks are counted from the journal. */
|
|
33
|
+
@property({ attribute: false }) plan: Plan = { nodes: [], groups: [] };
|
|
34
|
+
|
|
35
|
+
private readonly onAction = (e: CustomEvent<{ action: string }>): void => {
|
|
36
|
+
e.stopPropagation();
|
|
37
|
+
const a = kpiAction(e.detail.action);
|
|
38
|
+
if ('key' in a) emit(this, 'ca-open-task', { key: a.key });
|
|
39
|
+
else emit(this, 'ca-navigate', { tab: 'journal', stop: a.stop });
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
override render() {
|
|
43
|
+
return html`<cae-stat-tiles exportparts="tiles, tile, label, value, sub, action" .tiles=${kpiTiles(this.journal, deriveRun(this.journal, this.plan))} @cae-action=${this.onAction}></cae-stat-tiles>`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare global {
|
|
48
|
+
interface HTMLElementTagNameMap {
|
|
49
|
+
'ca-kpis': CaKpis;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { modelMeasures, type ModelMeasure, type ModelUsage } from '@contraagent/api';
|
|
2
|
+
import { localized, msg } from '@lit/localize';
|
|
3
|
+
import { LitElement, css, html, nothing } from 'lit';
|
|
4
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
5
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
6
|
+
import { styleMap } from 'lit/directives/style-map.js';
|
|
7
|
+
import '@contraagent/elements/segmented/define';
|
|
8
|
+
import { shareBar, shareBarStyles } from '@contraagent/elements/primitives';
|
|
9
|
+
import { base } from '@contraagent/elements/styles';
|
|
10
|
+
import { modelRows, shareParts } from '../../adapters/model-shares.js';
|
|
11
|
+
import { measureLabel, measureText, measureTip } from '../../words/models.js';
|
|
12
|
+
import { peakContextLabel, peakContextTip } from '../../words/context.js';
|
|
13
|
+
import { tokenCount } from '../../words/format.js';
|
|
14
|
+
|
|
15
|
+
const COLUMNS: readonly ModelMeasure[] = ['cost', 'tokens', 'time', 'sessions'];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* What each model was used for in a run (`Plan.models`): the share of each model in
|
|
19
|
+
* the chosen measure (cost, tokens, time or agent sessions) as one bar, and a table
|
|
20
|
+
* of every model with its share and every measure, and its peak context when
|
|
21
|
+
* a session on it reported one. A model keeps its colour, and
|
|
22
|
+
* its place, in the order it was first used, whatever the measure; past six models
|
|
23
|
+
* the later ones share one colour as "Other models".
|
|
24
|
+
*/
|
|
25
|
+
@customElement('ca-model-usage')
|
|
26
|
+
@localized()
|
|
27
|
+
export class CaModelUsage extends LitElement {
|
|
28
|
+
static override styles = [
|
|
29
|
+
base,
|
|
30
|
+
shareBarStyles,
|
|
31
|
+
css`
|
|
32
|
+
:host { display: block; }
|
|
33
|
+
.head { display: flex; justify-content: flex-end; margin-bottom: 10px; overflow-x: auto; }
|
|
34
|
+
.head cae-segmented { flex: none; }
|
|
35
|
+
/* scrolls sideways on a narrow card: a keyboard reaches it */
|
|
36
|
+
.wrap { overflow-x: auto; margin-top: 14px; border-radius: 6px; }
|
|
37
|
+
.wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
38
|
+
/* The columns as wide as their contents, so a model's figures sit near its name. */
|
|
39
|
+
table { border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
|
|
40
|
+
th { font-weight: 500; color: var(--text-muted); text-align: right; padding: 0 0 6px 28px; white-space: nowrap; border-bottom: 1px solid var(--line); }
|
|
41
|
+
th:first-child { text-align: left; padding-left: 0; }
|
|
42
|
+
th.on { color: var(--text); font-weight: 600; }
|
|
43
|
+
td { padding: 7px 0 7px 28px; text-align: right; white-space: nowrap; color: var(--text-2); vertical-align: top; }
|
|
44
|
+
tr + tr td { border-top: 1px solid var(--line); }
|
|
45
|
+
td:first-child { text-align: left; padding-left: 0; }
|
|
46
|
+
td.on { color: var(--text); }
|
|
47
|
+
td.share { color: var(--text); font-weight: 600; }
|
|
48
|
+
.model { display: grid; grid-template-columns: 10px max-content; column-gap: 8px; align-items: baseline; }
|
|
49
|
+
.model i { width: 10px; height: 10px; border-radius: 3px; align-self: center; }
|
|
50
|
+
.model b { font-family: var(--mono); font-weight: 500; color: var(--text); }
|
|
51
|
+
.model small { grid-column: 2; font-size: 11px; color: var(--text-muted); }
|
|
52
|
+
`,
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
@property({ attribute: false }) models: readonly ModelUsage[] = [];
|
|
56
|
+
/** The measure the bar and the share column show; the first one with a value when unset or empty. */
|
|
57
|
+
@state() private measure: ModelMeasure | '' = '';
|
|
58
|
+
|
|
59
|
+
private chosen(): ModelMeasure {
|
|
60
|
+
const have = modelMeasures(this.models);
|
|
61
|
+
return this.measure && have.includes(this.measure) ? this.measure : (have[0] ?? 'sessions');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
override render() {
|
|
65
|
+
if (!this.models.length) return html`<div class="meta">${msg('No agent sessions')}</div>`;
|
|
66
|
+
const measure = this.chosen();
|
|
67
|
+
const have = modelMeasures(this.models);
|
|
68
|
+
const rows = modelRows(this.models, measure);
|
|
69
|
+
const peaks = this.models.some((m) => m.peak_context != null);
|
|
70
|
+
return html`${have.length > 1
|
|
71
|
+
? html`<div class="head">
|
|
72
|
+
<cae-segmented label=${msg('Measure')} .value=${measure}
|
|
73
|
+
.options=${have.map((m) => ({ value: m, label: measureLabel(m), title: measureTip(m) }))}
|
|
74
|
+
@cae-change=${(e: CustomEvent<{ value: string }>) => (this.measure = e.detail.value as ModelMeasure)}></cae-segmented>
|
|
75
|
+
</div>`
|
|
76
|
+
: nothing}
|
|
77
|
+
${shareBar(shareParts(this.models, measure), { label: measureLabel(measure) })}
|
|
78
|
+
<div class="wrap" data-scroll="x" tabindex="0" role="region" aria-label=${msg('Models')}>
|
|
79
|
+
<table>
|
|
80
|
+
<thead>
|
|
81
|
+
<tr>
|
|
82
|
+
<th scope="col">${msg('Model')}</th>
|
|
83
|
+
<th scope="col" class="on" title=${measureLabel(measure)}>${msg('Share')}</th>
|
|
84
|
+
${COLUMNS.map((c) => html`<th scope="col" class=${c === measure ? 'on' : nothing} title=${measureTip(c)}>${measureLabel(c)}</th>`)}
|
|
85
|
+
<th scope="col">${msg('API calls')}</th>
|
|
86
|
+
${peaks ? html`<th scope="col" title=${peakContextTip()}>${peakContextLabel()}</th>` : nothing}
|
|
87
|
+
</tr>
|
|
88
|
+
</thead>
|
|
89
|
+
<tbody>
|
|
90
|
+
${repeat(
|
|
91
|
+
rows,
|
|
92
|
+
(r) => r.id,
|
|
93
|
+
(r) => html`<tr>
|
|
94
|
+
<td>
|
|
95
|
+
<span class="model"><i style=${styleMap({ background: r.colour })}></i><b>${r.usage.model}</b><small>${r.usage.agent}</small></span>
|
|
96
|
+
</td>
|
|
97
|
+
<td class="share">${r.share}</td>
|
|
98
|
+
${COLUMNS.map((c) => html`<td class=${c === measure ? 'on' : nothing}>${measureText(r.usage, c)}</td>`)}
|
|
99
|
+
<td>${r.usage.calls ?? 0}</td>
|
|
100
|
+
${peaks ? html`<td>${r.usage.peak_context != null ? tokenCount(r.usage.peak_context) : '—'}</td>` : nothing}
|
|
101
|
+
</tr>`,
|
|
102
|
+
)}
|
|
103
|
+
</tbody>
|
|
104
|
+
</table>
|
|
105
|
+
</div>`;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
declare global {
|
|
110
|
+
interface HTMLElementTagNameMap {
|
|
111
|
+
'ca-model-usage': CaModelUsage;
|
|
112
|
+
}
|
|
113
|
+
}
|