@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.
- package/README.md +130 -2
- package/custom-elements.json +7084 -0
- package/dist/adapters/check-rows.d.ts +18 -0
- package/dist/adapters/check-rows.d.ts.map +1 -0
- package/dist/adapters/check-rows.js +75 -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 +20 -0
- package/dist/adapters/panel-body.d.ts.map +1 -0
- package/dist/adapters/panel-body.js +63 -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 +985 -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/clock.d.ts +20 -0
- package/dist/core/clock.d.ts.map +1 -0
- package/dist/core/clock.js +45 -0
- package/dist/core/clock.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/route.d.ts +62 -0
- package/dist/core/route.d.ts.map +1 -0
- package/dist/core/route.js +143 -0
- package/dist/core/route.js.map +1 -0
- package/dist/core/router.d.ts +27 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +57 -0
- package/dist/core/router.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 +29 -0
- package/dist/elements/lists/ca-panel-body.d.ts.map +1 -0
- package/dist/elements/lists/ca-panel-body.js +144 -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/filters.d.ts +28 -0
- package/dist/elements/lists/filters.d.ts.map +1 -0
- package/dist/elements/lists/filters.js +71 -0
- package/dist/elements/lists/filters.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 +66 -0
- package/dist/elements/overview/ca-overview.d.ts.map +1 -0
- package/dist/elements/overview/ca-overview.js +456 -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-pipeline-progress.d.ts +17 -0
- package/dist/elements/overview/ca-pipeline-progress.d.ts.map +1 -0
- package/dist/elements/overview/ca-pipeline-progress.js +119 -0
- package/dist/elements/overview/ca-pipeline-progress.js.map +1 -0
- package/dist/elements/overview/ca-plan-matrix.d.ts +27 -0
- package/dist/elements/overview/ca-plan-matrix.d.ts.map +1 -0
- package/dist/elements/overview/ca-plan-matrix.js +113 -0
- package/dist/elements/overview/ca-plan-matrix.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-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/flow-types.d.ts +2 -0
- package/dist/elements/overview/flow-types.d.ts.map +1 -0
- package/dist/elements/overview/flow-types.js +2 -0
- package/dist/elements/overview/flow-types.js.map +1 -0
- package/dist/elements/overview/graph/arrange.d.ts +16 -0
- package/dist/elements/overview/graph/arrange.d.ts.map +1 -0
- package/dist/elements/overview/graph/arrange.js +152 -0
- package/dist/elements/overview/graph/arrange.js.map +1 -0
- package/dist/elements/overview/graph/card.d.ts +64 -0
- package/dist/elements/overview/graph/card.d.ts.map +1 -0
- package/dist/elements/overview/graph/card.js +160 -0
- package/dist/elements/overview/graph/card.js.map +1 -0
- package/dist/elements/overview/graph/flow-index.d.ts +52 -0
- package/dist/elements/overview/graph/flow-index.d.ts.map +1 -0
- package/dist/elements/overview/graph/flow-index.js +121 -0
- package/dist/elements/overview/graph/flow-index.js.map +1 -0
- package/dist/elements/overview/graph/highlight.d.ts +14 -0
- package/dist/elements/overview/graph/highlight.d.ts.map +1 -0
- package/dist/elements/overview/graph/highlight.js +33 -0
- package/dist/elements/overview/graph/highlight.js.map +1 -0
- package/dist/elements/overview/graph/layer.d.ts +32 -0
- package/dist/elements/overview/graph/layer.d.ts.map +1 -0
- package/dist/elements/overview/graph/layer.js +92 -0
- package/dist/elements/overview/graph/layer.js.map +1 -0
- package/dist/elements/overview/graph/layout.d.ts +80 -0
- package/dist/elements/overview/graph/layout.d.ts.map +1 -0
- package/dist/elements/overview/graph/layout.js +261 -0
- package/dist/elements/overview/graph/layout.js.map +1 -0
- package/dist/elements/overview/graph/marks.d.ts +18 -0
- package/dist/elements/overview/graph/marks.d.ts.map +1 -0
- package/dist/elements/overview/graph/marks.js +17 -0
- package/dist/elements/overview/graph/marks.js.map +1 -0
- package/dist/elements/overview/graph/matrix.d.ts +58 -0
- package/dist/elements/overview/graph/matrix.d.ts.map +1 -0
- package/dist/elements/overview/graph/matrix.js +93 -0
- package/dist/elements/overview/graph/matrix.js.map +1 -0
- package/dist/elements/overview/graph/nav.d.ts +15 -0
- package/dist/elements/overview/graph/nav.d.ts.map +1 -0
- package/dist/elements/overview/graph/nav.js +80 -0
- package/dist/elements/overview/graph/nav.js.map +1 -0
- package/dist/elements/overview/graph/pan-zoom.d.ts +83 -0
- package/dist/elements/overview/graph/pan-zoom.d.ts.map +1 -0
- package/dist/elements/overview/graph/pan-zoom.js +189 -0
- package/dist/elements/overview/graph/pan-zoom.js.map +1 -0
- package/dist/elements/overview/graph/paths.d.ts +9 -0
- package/dist/elements/overview/graph/paths.d.ts.map +1 -0
- package/dist/elements/overview/graph/paths.js +44 -0
- package/dist/elements/overview/graph/paths.js.map +1 -0
- package/dist/elements/overview/graph/place-card.d.ts +36 -0
- package/dist/elements/overview/graph/place-card.d.ts.map +1 -0
- package/dist/elements/overview/graph/place-card.js +68 -0
- package/dist/elements/overview/graph/place-card.js.map +1 -0
- package/dist/elements/overview/graph/project.d.ts +31 -0
- package/dist/elements/overview/graph/project.d.ts.map +1 -0
- package/dist/elements/overview/graph/project.js +455 -0
- package/dist/elements/overview/graph/project.js.map +1 -0
- package/dist/elements/overview/graph/selection.d.ts +31 -0
- package/dist/elements/overview/graph/selection.d.ts.map +1 -0
- package/dist/elements/overview/graph/selection.js +44 -0
- package/dist/elements/overview/graph/selection.js.map +1 -0
- package/dist/elements/overview/graph/states.d.ts +6 -0
- package/dist/elements/overview/graph/states.d.ts.map +1 -0
- package/dist/elements/overview/graph/states.js +5 -0
- package/dist/elements/overview/graph/states.js.map +1 -0
- package/dist/elements/overview/graph/types.d.ts +124 -0
- package/dist/elements/overview/graph/types.d.ts.map +1 -0
- package/dist/elements/overview/graph/types.js +3 -0
- package/dist/elements/overview/graph/types.js.map +1 -0
- package/dist/elements/overview/graph/view.d.ts +16 -0
- package/dist/elements/overview/graph/view.d.ts.map +1 -0
- package/dist/elements/overview/graph/view.js +20 -0
- package/dist/elements/overview/graph/view.js.map +1 -0
- package/dist/elements/overview/index.d.ts +10 -0
- package/dist/elements/overview/index.d.ts.map +1 -0
- package/dist/elements/overview/index.js +10 -0
- package/dist/elements/overview/index.js.map +1 -0
- package/dist/elements/overview/kpis-model.d.ts +31 -0
- package/dist/elements/overview/kpis-model.d.ts.map +1 -0
- package/dist/elements/overview/kpis-model.js +30 -0
- package/dist/elements/overview/kpis-model.js.map +1 -0
- package/dist/elements/overview/logic.d.ts +442 -0
- package/dist/elements/overview/logic.d.ts.map +1 -0
- package/dist/elements/overview/logic.js +1431 -0
- package/dist/elements/overview/logic.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/dag.d.ts +4 -0
- package/dist/elements/overview/pipeline-graph/dag.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/dag.js +259 -0
- package/dist/elements/overview/pipeline-graph/dag.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/icons.d.ts +5 -0
- package/dist/elements/overview/pipeline-graph/icons.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/icons.js +13 -0
- package/dist/elements/overview/pipeline-graph/icons.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/legend.d.ts +9 -0
- package/dist/elements/overview/pipeline-graph/legend.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/legend.js +59 -0
- package/dist/elements/overview/pipeline-graph/legend.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/matrix.d.ts +4 -0
- package/dist/elements/overview/pipeline-graph/matrix.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/matrix.js +193 -0
- package/dist/elements/overview/pipeline-graph/matrix.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/overview/pipeline-graph/table.d.ts +11 -0
- package/dist/elements/overview/pipeline-graph/table.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/table.js +74 -0
- package/dist/elements/overview/pipeline-graph/table.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/tools.d.ts +5 -0
- package/dist/elements/overview/pipeline-graph/tools.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/tools.js +48 -0
- package/dist/elements/overview/pipeline-graph/tools.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/words.d.ts +45 -0
- package/dist/elements/overview/pipeline-graph/words.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/words.js +108 -0
- package/dist/elements/overview/pipeline-graph/words.js.map +1 -0
- package/dist/elements/overview/place-card.d.ts +36 -0
- package/dist/elements/overview/place-card.d.ts.map +1 -0
- package/dist/elements/overview/place-card.js +68 -0
- package/dist/elements/overview/place-card.js.map +1 -0
- package/dist/elements/overview/timeline-model.d.ts +44 -0
- package/dist/elements/overview/timeline-model.d.ts.map +1 -0
- package/dist/elements/overview/timeline-model.js +53 -0
- package/dist/elements/overview/timeline-model.js.map +1 -0
- package/dist/elements/shared/ca-count.d.ts +17 -0
- package/dist/elements/shared/ca-count.d.ts.map +1 -0
- package/dist/elements/shared/ca-count.js +59 -0
- package/dist/elements/shared/ca-count.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/ca-elapsed.d.ts +14 -0
- package/dist/elements/shared/ca-elapsed.d.ts.map +1 -0
- package/dist/elements/shared/ca-elapsed.js +33 -0
- package/dist/elements/shared/ca-elapsed.js.map +1 -0
- package/dist/elements/shared/ca-json-tree.d.ts +16 -0
- package/dist/elements/shared/ca-json-tree.d.ts.map +1 -0
- package/dist/elements/shared/ca-json-tree.js +52 -0
- package/dist/elements/shared/ca-json-tree.js.map +1 -0
- package/dist/elements/shared/ca-markdown.d.ts +19 -0
- package/dist/elements/shared/ca-markdown.d.ts.map +1 -0
- package/dist/elements/shared/ca-markdown.js +59 -0
- package/dist/elements/shared/ca-markdown.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 +151 -0
- package/dist/elements/shared/contract-parts.js.map +1 -0
- package/dist/elements/shared/fact-line.d.ts +4 -0
- package/dist/elements/shared/fact-line.d.ts.map +1 -0
- package/dist/elements/shared/fact-line.js +8 -0
- package/dist/elements/shared/fact-line.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 +180 -0
- package/dist/elements/shell/ca-monitor.d.ts.map +1 -0
- package/dist/elements/shell/ca-monitor.js +547 -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 +287 -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/rounds.d.ts +14 -0
- package/dist/elements/task/rounds.d.ts.map +1 -0
- package/dist/elements/task/rounds.js +59 -0
- package/dist/elements/task/rounds.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/task/transcript-model.d.ts +106 -0
- package/dist/elements/task/transcript-model.d.ts.map +1 -0
- package/dist/elements/task/transcript-model.js +280 -0
- package/dist/elements/task/transcript-model.js.map +1 -0
- package/dist/elements/task/who.d.ts +5 -0
- package/dist/elements/task/who.d.ts.map +1 -0
- package/dist/elements/task/who.js +30 -0
- package/dist/elements/task/who.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/events.d.ts +107 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +5 -0
- package/dist/events.js.map +1 -0
- package/dist/i18n.d.ts +16 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +48 -0
- package/dist/i18n.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/clock.d.ts +20 -0
- package/dist/lib/clock.d.ts.map +1 -0
- package/dist/lib/clock.js +45 -0
- package/dist/lib/clock.js.map +1 -0
- package/dist/lib/format.d.ts +35 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +117 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/highlight.d.ts +5 -0
- package/dist/lib/highlight.d.ts.map +1 -0
- package/dist/lib/highlight.js +86 -0
- package/dist/lib/highlight.js.map +1 -0
- package/dist/lib/labels.d.ts +103 -0
- package/dist/lib/labels.d.ts.map +1 -0
- package/dist/lib/labels.js +249 -0
- package/dist/lib/labels.js.map +1 -0
- package/dist/lib/markdown.d.ts +13 -0
- package/dist/lib/markdown.d.ts.map +1 -0
- package/dist/lib/markdown.js +118 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/memory.d.ts +27 -0
- package/dist/lib/memory.d.ts.map +1 -0
- package/dist/lib/memory.js +117 -0
- package/dist/lib/memory.js.map +1 -0
- package/dist/lib/quota-format.d.ts +28 -0
- package/dist/lib/quota-format.d.ts.map +1 -0
- package/dist/lib/quota-format.js +67 -0
- package/dist/lib/quota-format.js.map +1 -0
- package/dist/lib/scroll.d.ts +16 -0
- package/dist/lib/scroll.d.ts.map +1 -0
- package/dist/lib/scroll.js +70 -0
- package/dist/lib/scroll.js.map +1 -0
- package/dist/lib/status.d.ts +25 -0
- package/dist/lib/status.d.ts.map +1 -0
- package/dist/lib/status.js +40 -0
- package/dist/lib/status.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 +761 -0
- package/dist/locales/ja.d.ts.map +1 -0
- package/dist/locales/ja.js +767 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/route.d.ts +46 -0
- package/dist/route.d.ts.map +1 -0
- package/dist/route.js +102 -0
- package/dist/route.js.map +1 -0
- package/dist/router.d.ts +23 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +55 -0
- package/dist/router.js.map +1 -0
- package/dist/styles/base.d.ts +11 -0
- package/dist/styles/base.d.ts.map +1 -0
- package/dist/styles/base.js +241 -0
- package/dist/styles/base.js.map +1 -0
- package/dist/styles/chips.d.ts +2 -0
- package/dist/styles/chips.d.ts.map +1 -0
- package/dist/styles/chips.js +18 -0
- package/dist/styles/chips.js.map +1 -0
- package/dist/styles/executor-icon.d.ts +3 -0
- package/dist/styles/executor-icon.d.ts.map +1 -0
- package/dist/styles/executor-icon.js +9 -0
- package/dist/styles/executor-icon.js.map +1 -0
- package/dist/styles/facts.d.ts +2 -0
- package/dist/styles/facts.d.ts.map +1 -0
- package/dist/styles/facts.js +7 -0
- package/dist/styles/facts.js.map +1 -0
- package/dist/styles/index.d.ts +17 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +16 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/layout.d.ts +2 -0
- package/dist/styles/layout.d.ts.map +1 -0
- package/dist/styles/layout.js +30 -0
- package/dist/styles/layout.js.map +1 -0
- package/dist/styles/legend.d.ts +2 -0
- package/dist/styles/legend.d.ts.map +1 -0
- package/dist/styles/legend.js +8 -0
- package/dist/styles/legend.js.map +1 -0
- package/dist/styles/meter.d.ts +3 -0
- package/dist/styles/meter.d.ts.map +1 -0
- package/dist/styles/meter.js +9 -0
- package/dist/styles/meter.js.map +1 -0
- package/dist/styles/motion.d.ts +2 -0
- package/dist/styles/motion.d.ts.map +1 -0
- package/dist/styles/motion.js +27 -0
- package/dist/styles/motion.js.map +1 -0
- package/dist/styles/prose.d.ts +3 -0
- package/dist/styles/prose.d.ts.map +1 -0
- package/dist/styles/prose.js +59 -0
- package/dist/styles/prose.js.map +1 -0
- package/dist/styles/reset.d.ts +2 -0
- package/dist/styles/reset.d.ts.map +1 -0
- package/dist/styles/reset.js +13 -0
- package/dist/styles/reset.js.map +1 -0
- package/dist/styles/status.d.ts +2 -0
- package/dist/styles/status.d.ts.map +1 -0
- package/dist/styles/status.js +52 -0
- package/dist/styles/status.js.map +1 -0
- package/dist/styles/text.d.ts +2 -0
- package/dist/styles/text.d.ts.map +1 -0
- package/dist/styles/text.js +21 -0
- package/dist/styles/text.js.map +1 -0
- package/dist/styles/theme-sheet.d.ts +12 -0
- package/dist/styles/theme-sheet.d.ts.map +1 -0
- package/dist/styles/theme-sheet.js +24 -0
- package/dist/styles/theme-sheet.js.map +1 -0
- package/dist/styles/themes.d.ts +75 -0
- package/dist/styles/themes.d.ts.map +1 -0
- package/dist/styles/themes.js +452 -0
- package/dist/styles/themes.js.map +1 -0
- package/dist/styles/tokens.d.ts +8 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/styles/tokens.js +32 -0
- package/dist/styles/tokens.js.map +1 -0
- package/dist/themes/boot.d.ts +7 -0
- package/dist/themes/boot.d.ts.map +1 -0
- package/dist/themes/boot.js +14 -0
- package/dist/themes/boot.js.map +1 -0
- package/dist/themes/choice.d.ts +16 -0
- package/dist/themes/choice.d.ts.map +1 -0
- package/dist/themes/choice.js +45 -0
- package/dist/themes/choice.js.map +1 -0
- package/dist/themes/data.d.ts +42 -0
- package/dist/themes/data.d.ts.map +1 -0
- package/dist/themes/data.js +356 -0
- package/dist/themes/data.js.map +1 -0
- package/dist/themes/index.d.ts +5 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +8 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/sheet.d.ts +12 -0
- package/dist/themes/sheet.d.ts.map +1 -0
- package/dist/themes/sheet.js +24 -0
- package/dist/themes/sheet.js.map +1 -0
- package/dist/themes/tokens-list.d.ts +15 -0
- package/dist/themes/tokens-list.d.ts.map +1 -0
- package/dist/themes/tokens-list.js +62 -0
- package/dist/themes/tokens-list.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 +21 -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 +27 -0
- package/dist/words/index.d.ts.map +1 -0
- package/dist/words/index.js +31 -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 +11 -0
- package/dist/words/panels.d.ts.map +1 -0
- package/dist/words/panels.js +50 -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/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/dist/words/units.d.ts +9 -0
- package/dist/words/units.d.ts.map +1 -0
- package/dist/words/units.js +12 -0
- package/dist/words/units.js.map +1 -0
- package/docs/embed.md +118 -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 +78 -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 +74 -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 +139 -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 +492 -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-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 +9 -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 +158 -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 +526 -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 +292 -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 +771 -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 +27 -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 +30 -0
- package/src/words/models.ts +50 -0
- package/src/words/outcome.ts +61 -0
- package/src/words/panels.ts +53 -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/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,526 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createExportClient,
|
|
3
|
+
deriveRun,
|
|
4
|
+
isRunLive,
|
|
5
|
+
liveActivities,
|
|
6
|
+
MonitorStore,
|
|
7
|
+
hostOf,
|
|
8
|
+
openExportFeed,
|
|
9
|
+
runActivity,
|
|
10
|
+
runIdOf,
|
|
11
|
+
runRow,
|
|
12
|
+
type MonitorSnapshot,
|
|
13
|
+
type RunDerived,
|
|
14
|
+
} from '@contraagent/api';
|
|
15
|
+
import { localized, msg, str } from '@lit/localize';
|
|
16
|
+
import { LitElement, html, nothing, type PropertyValues } from 'lit';
|
|
17
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
18
|
+
import type { ChooseThemeDetail, FilterDetail, NavigateDetail, OpenTaskDetail, SelectRunDetail } from '../../core/events.js';
|
|
19
|
+
import { LOCALE_NAMES, allLocales, chooseLocale, configureLocales, getLocale, isLocale, type Locale } from '../../core/i18n.js';
|
|
20
|
+
import { LocalMemory, flushMemory, keepMemory, memoryOf } from '../../core/memory.js';
|
|
21
|
+
import { ScrollMemory } from '../../core/scroll.js';
|
|
22
|
+
import type { ViewRoute, ViewRoutePatch, Tab } from '../../core/view-route.js';
|
|
23
|
+
import { ViewRouter, type ViewRouteCause, type ViewRouterMode } from '../../core/view-router.js';
|
|
24
|
+
import { LocaleController } from '../../controllers/locale.js';
|
|
25
|
+
import { ShortcutsController, isShortcutScope, type ShortcutScope } from '../../controllers/shortcuts.js';
|
|
26
|
+
import { ThemeController } from '../../controllers/theme.js';
|
|
27
|
+
import { runLine, runLineAccounts, triesLine } from '../../words/index.js';
|
|
28
|
+
import { runMark } from '../../words/run-line.js';
|
|
29
|
+
import { exportTip, exportedLabel } from '../../words/export.js';
|
|
30
|
+
import { apiErrorLine } from '../../words/api-error.js';
|
|
31
|
+
import { accountsTip } from '../../words/quota.js';
|
|
32
|
+
import { hostFact, hostsLine, lastReport, noReportLabel } from '../../words/hosts.js';
|
|
33
|
+
import { pill } from '@contraagent/elements/primitives';
|
|
34
|
+
import { runTone, type Tone } from '../../lib/tone.js';
|
|
35
|
+
import { RovingFocusController, toneAttr } from '@contraagent/elements';
|
|
36
|
+
import '@contraagent/elements/segmented/define';
|
|
37
|
+
import { base } from '@contraagent/elements/styles';
|
|
38
|
+
import { adoptThemes, hostThemeStyles, rememberTheme, type ThemeChoice, type ThemeName } from '@contraagent/elements/themes';
|
|
39
|
+
import { rowToast, type CaToasts } from './ca-toasts.js';
|
|
40
|
+
import { monitorStyles } from './styles.js';
|
|
41
|
+
import { monitorTabs, moveTabIndicator, tabBar, tabId, tabStyles } from './tabs.js';
|
|
42
|
+
import { brand, connection, nowLine } from './header.js';
|
|
43
|
+
import { tabView } from './views.js';
|
|
44
|
+
import './ca-clock.js';
|
|
45
|
+
import './ca-hosts.js';
|
|
46
|
+
import './ca-run-picker.js';
|
|
47
|
+
import './ca-toasts.js';
|
|
48
|
+
import './ca-theme-switch.js';
|
|
49
|
+
import '../trends/ca-trends.js';
|
|
50
|
+
import { browserZone, runGroups, trendsQuery } from '../../lib/trends.js';
|
|
51
|
+
import { trendsTip, trendsTitle } from '../../words/trends.js';
|
|
52
|
+
|
|
53
|
+
/** Applies a typed filter to the URL after the reader stops typing, so the history is not written per key. */
|
|
54
|
+
const Q_DEBOUNCE_MS = 250;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The whole monitor: header, run switcher, tabs, filters and the views, live.
|
|
58
|
+
* It owns the data (`MonitorStore`) and the view route (`ViewRouter`); every view below
|
|
59
|
+
* it only renders what it is given and sends `ca-*` events back up.
|
|
60
|
+
*/
|
|
61
|
+
@customElement('ca-monitor')
|
|
62
|
+
@localized()
|
|
63
|
+
export class CaMonitor extends LitElement {
|
|
64
|
+
static override styles = [hostThemeStyles, base, tabStyles, monitorStyles];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Where the monitor's API is served, such as `http://127.0.0.1:8787`; '' is
|
|
68
|
+
* this page's origin. A server on another origin must allow this page's
|
|
69
|
+
* (`contraagent monitor --cors-origin`). It takes effect whenever it is set,
|
|
70
|
+
* before or after the element connects: a change closes the old server's
|
|
71
|
+
* feeds and opens the run named by `run`, else the new server's newest run.
|
|
72
|
+
* A request that gets no JSON answer (a network error, a status outside 2xx,
|
|
73
|
+
* or an HTML page from a server without the API) is shown above the view,
|
|
74
|
+
* with its URL and cause, and written to the console.
|
|
75
|
+
*/
|
|
76
|
+
@property({ attribute: 'base-url' }) baseUrl = '';
|
|
77
|
+
/**
|
|
78
|
+
* An export to read instead of a server (`contraagent monitor export`): its `data/`
|
|
79
|
+
* directory, relative to the page (`export="data/"`) or absolute. The monitor then
|
|
80
|
+
* makes no request to an API and opens no feed: it reads the export's files, which
|
|
81
|
+
* hold no transcripts and no processes. Set, it outranks `base-url`.
|
|
82
|
+
*/
|
|
83
|
+
@property({ attribute: 'export' }) exportUrl = '';
|
|
84
|
+
/**
|
|
85
|
+
* `url`: the monitor is the page. The view route lives in the address bar (Back
|
|
86
|
+
* and reload return to it), and the monitor sets the page's title, `lang` and
|
|
87
|
+
* theme. `memory`: for a monitor embedded in another page. The view route, the
|
|
88
|
+
* scroll positions and the open sections live in the element, and the page's
|
|
89
|
+
* URL, history, title and `<html>` attributes stay the host's. A change after
|
|
90
|
+
* connecting takes effect at once: `memory` keeps the view route shown, `url`
|
|
91
|
+
* reads the address bar's.
|
|
92
|
+
*/
|
|
93
|
+
@property() history: ViewRouterMode = 'url';
|
|
94
|
+
/**
|
|
95
|
+
* Where the single-key shortcuts (1 to 9 for the tabs, `r` for the runs, `/`
|
|
96
|
+
* for the filter) work: `page`, anywhere in the page except in a text field;
|
|
97
|
+
* `element`, only while the focus is inside the monitor; `off`, nowhere.
|
|
98
|
+
* Unset: `page` with `history="url"`, `element` with `history="memory"`.
|
|
99
|
+
*/
|
|
100
|
+
@property() shortcuts: ShortcutScope | '' = '';
|
|
101
|
+
/**
|
|
102
|
+
* The run to open first (in `memory` mode, or when the URL names none). A
|
|
103
|
+
* change after connecting opens that run.
|
|
104
|
+
*/
|
|
105
|
+
@property() run = '';
|
|
106
|
+
/**
|
|
107
|
+
* The language to show (`en`, `ja`). Unset: the reader's earlier choice, else
|
|
108
|
+
* the browser's language. The header's switch changes it and remembers it.
|
|
109
|
+
*/
|
|
110
|
+
@property() locale: Locale | '' = '';
|
|
111
|
+
/**
|
|
112
|
+
* The theme: `contraagent-dark`, `contraagent-light`, `system` (one of the two,
|
|
113
|
+
* as the system's colour scheme), `github-dark`, `github-light`, `one-dark`,
|
|
114
|
+
* `nord` or `high-contrast`. Unset: the reader's earlier choice, else
|
|
115
|
+
* `contraagent-dark`. The header's control changes it and remembers it. The
|
|
116
|
+
* theme shown is reflected as `data-ca-theme` (on `<html>` too, with `history="url"`).
|
|
117
|
+
*/
|
|
118
|
+
@property() theme: ThemeChoice | '' = '';
|
|
119
|
+
/** Reflects whether the run is live (the logo moves). */
|
|
120
|
+
@property({ type: Boolean, reflect: true }) live = false;
|
|
121
|
+
|
|
122
|
+
@state() private snap!: MonitorSnapshot;
|
|
123
|
+
@state() private viewRoute!: ViewRoute;
|
|
124
|
+
@state() private pickerOpen = false;
|
|
125
|
+
/** The filter text as typed, ahead of the URL. */
|
|
126
|
+
@state() private qDraft: string | null = null;
|
|
127
|
+
|
|
128
|
+
@query('main') private main!: HTMLElement;
|
|
129
|
+
@query('ca-toasts') private toasts!: CaToasts;
|
|
130
|
+
@query('.runbtn') private runBtn!: HTMLButtonElement;
|
|
131
|
+
@query('ca-run-picker') private picker!: HTMLElement;
|
|
132
|
+
|
|
133
|
+
private readonly themes = new ThemeController(this, { theme: () => this.theme, pageWide: () => this.history === 'url' });
|
|
134
|
+
|
|
135
|
+
/** One tab stop for the tab list, on the selected tab; the arrow keys, Home and End move between the tabs. */
|
|
136
|
+
private readonly tabFocus = new RovingFocusController(this, {
|
|
137
|
+
items: () => [...this.renderRoot.querySelectorAll<HTMLElement>('[role="tablist"] [role="tab"]')],
|
|
138
|
+
layout: 'horizontal',
|
|
139
|
+
wrap: true,
|
|
140
|
+
});
|
|
141
|
+
private store!: MonitorStore;
|
|
142
|
+
private viewRouter!: ViewRouter;
|
|
143
|
+
/** The `baseUrl` the store was made for, and the `history` the view router was. */
|
|
144
|
+
private storeBase = '';
|
|
145
|
+
private viewRouterMode: ViewRouterMode = 'url';
|
|
146
|
+
/** Stop listening to the store. */
|
|
147
|
+
private readonly storeCleanups: (() => void)[] = [];
|
|
148
|
+
private readonly mainScroll = new ScrollMemory('main', () => memoryOf(this));
|
|
149
|
+
private pendingScroll: ViewRouteCause | null = null;
|
|
150
|
+
private qTimer: ReturnType<typeof setTimeout> | null = null;
|
|
151
|
+
private readonly cleanups: (() => void)[] = [];
|
|
152
|
+
/** The scroll positions and open sections, with `history="memory"`. */
|
|
153
|
+
private readonly localMemory = new LocalMemory();
|
|
154
|
+
/** Closes the run picker on a click outside it; listened for on the document only while the picker is open. */
|
|
155
|
+
private readonly onOutsideClick = (e: MouseEvent): void => {
|
|
156
|
+
if (!e.composedPath().some((n) => n instanceof HTMLElement && (n.localName === 'ca-run-picker' || n.classList.contains('runbtn')))) this.pickerOpen = false;
|
|
157
|
+
};
|
|
158
|
+
private outsideClickOn = false;
|
|
159
|
+
private navObserver: ResizeObserver | null = null;
|
|
160
|
+
private navObserved: Element | null = null;
|
|
161
|
+
private readonly language: LocaleController;
|
|
162
|
+
/** Whether the elements can switch language: false when the page configured Lit Localize itself. */
|
|
163
|
+
private locales = false;
|
|
164
|
+
|
|
165
|
+
constructor() {
|
|
166
|
+
super();
|
|
167
|
+
this.language = new LocaleController(this, { locale: () => this.locale, pageWide: () => this.history === 'url' });
|
|
168
|
+
new ShortcutsController(this, (e) => this.onKey(e), () => this.shortcutScope);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** The first paint waits for the reader's language: its module loads when first chosen. */
|
|
172
|
+
protected override async scheduleUpdate(): Promise<unknown> {
|
|
173
|
+
await this.language.ready;
|
|
174
|
+
return super.scheduleUpdate();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
override connectedCallback(): void {
|
|
178
|
+
// Set up here, not at import: a page that only imports the package keeps its own setup.
|
|
179
|
+
this.locales = configureLocales();
|
|
180
|
+
adoptThemes(this.ownerDocument);
|
|
181
|
+
super.connectedCallback();
|
|
182
|
+
this.openStore();
|
|
183
|
+
this.openViewRouter();
|
|
184
|
+
void this.store.start();
|
|
185
|
+
this.cleanups.push(() => {
|
|
186
|
+
this.listenOutside(false);
|
|
187
|
+
this.navObserver?.disconnect();
|
|
188
|
+
this.navObserver = null;
|
|
189
|
+
this.navObserved = null;
|
|
190
|
+
});
|
|
191
|
+
this.addEventListener('ca-open-task', (e: CustomEvent<OpenTaskDetail>) => {
|
|
192
|
+
this.navigate({ tab: 'stream', key: e.detail.key, ...(e.detail.view ? { view: e.detail.view } : {}) });
|
|
193
|
+
});
|
|
194
|
+
this.addEventListener('ca-navigate', (e: CustomEvent<NavigateDetail>) => {
|
|
195
|
+
const { replace, ...patch } = e.detail;
|
|
196
|
+
this.navigate(patch, { replace: replace === true });
|
|
197
|
+
});
|
|
198
|
+
this.addEventListener('ca-select-run', (e: CustomEvent<SelectRunDetail>) => this.navigate({ run: e.detail.run, page: '' }));
|
|
199
|
+
this.addEventListener('ca-filter', (e: CustomEvent<FilterDetail>) => this.navigate(e.detail));
|
|
200
|
+
this.addEventListener('ca-choose-theme', (e: CustomEvent<ChooseThemeDetail>) => {
|
|
201
|
+
this.theme = e.detail.theme;
|
|
202
|
+
rememberTheme(e.detail.theme);
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/** Where the store reads: an export's files, else the server at `baseUrl`. */
|
|
207
|
+
private get source(): string {
|
|
208
|
+
return this.exportUrl ? `export:${this.exportUrl}` : this.baseUrl;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** A store for the export, else for `baseUrl`, shown and listened to; not started. */
|
|
212
|
+
private openStore(): void {
|
|
213
|
+
this.storeBase = this.source;
|
|
214
|
+
if (this.exportUrl) {
|
|
215
|
+
const client = createExportClient(new URL(this.exportUrl, this.ownerDocument.baseURI).href);
|
|
216
|
+
this.store = new MonitorStore({ client, openRunFeed: openExportFeed(client), runsEveryMs: 0 });
|
|
217
|
+
} else this.store = new MonitorStore({ baseUrl: this.baseUrl });
|
|
218
|
+
this.show(this.store.snapshot);
|
|
219
|
+
this.storeCleanups.push(
|
|
220
|
+
this.store.subscribe((s) => {
|
|
221
|
+
this.show(s);
|
|
222
|
+
this.pickDefaultRun();
|
|
223
|
+
}),
|
|
224
|
+
this.store.onNewRow((row) => this.toasts?.show(...rowToast(row, this.snap.run))),
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
private closeStore(): void {
|
|
229
|
+
for (const fn of this.storeCleanups.splice(0)) fn();
|
|
230
|
+
this.store.stop();
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* A view router for `history`, started at the `run` property's run; when it replaces
|
|
235
|
+
* another view router, `memory` starts at the view route shown and `url` at the address bar's.
|
|
236
|
+
*/
|
|
237
|
+
private openViewRouter(): void {
|
|
238
|
+
this.viewRouterMode = this.history;
|
|
239
|
+
keepMemory(this, this.history === 'memory' ? this.localMemory : null);
|
|
240
|
+
const at = !this.viewRoute ? (this.run ? { run: this.run } : {}) : this.history === 'memory' ? this.viewRoute : {};
|
|
241
|
+
this.viewRouter = new ViewRouter(this.history, (viewRoute, cause) => this.onViewRoute(viewRoute, cause), at, flushMemory);
|
|
242
|
+
this.viewRouter.start();
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* A connection property changed while connected: a new `base-url` gets a new
|
|
247
|
+
* store (the feeds of the old one close) and the run named by `run`, else the
|
|
248
|
+
* newest of the new server's; a new `history` gets a new view router; a new `run` opens it.
|
|
249
|
+
*/
|
|
250
|
+
protected override willUpdate(changed: PropertyValues<this>): void {
|
|
251
|
+
if (!this.isConnected || !this.store) return;
|
|
252
|
+
if (this.source !== this.storeBase) {
|
|
253
|
+
this.closeStore();
|
|
254
|
+
this.openStore();
|
|
255
|
+
this.navigate({ run: this.run }, { replace: true });
|
|
256
|
+
this.store.selectRun(this.viewRoute.run);
|
|
257
|
+
void this.store.start();
|
|
258
|
+
}
|
|
259
|
+
if (this.history !== this.viewRouterMode) {
|
|
260
|
+
this.viewRouter.stop();
|
|
261
|
+
this.openViewRouter();
|
|
262
|
+
}
|
|
263
|
+
if (changed.has('run') && changed.get('run') !== undefined && this.run) this.navigate({ run: this.run });
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/** Show a new snapshot of the data, and whether the run is live; write a new API failure to the console. */
|
|
267
|
+
private show(snap: MonitorSnapshot): void {
|
|
268
|
+
// A new failure of the API goes to the console too, as the view says it.
|
|
269
|
+
if (snap.error && snap.error !== this.snap?.error) console.error(apiErrorLine(snap.error));
|
|
270
|
+
this.snap = snap;
|
|
271
|
+
this.live = isRunLive(snap.state, runRow(snap.runs, snap.run));
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/** Where the single-key shortcuts work now: the `shortcuts` property, else by `history`. */
|
|
275
|
+
private get shortcutScope(): ShortcutScope {
|
|
276
|
+
return isShortcutScope(this.shortcuts) ? this.shortcuts : this.history === 'url' ? 'page' : 'element';
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/** Listen for a click outside the run picker on the document (while it is open), or stop. */
|
|
280
|
+
private listenOutside(on: boolean): void {
|
|
281
|
+
if (on === this.outsideClickOn) return;
|
|
282
|
+
this.outsideClickOn = on;
|
|
283
|
+
if (on) document.addEventListener('click', this.onOutsideClick);
|
|
284
|
+
else document.removeEventListener('click', this.onOutsideClick);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/** The theme shown now. */
|
|
288
|
+
get shownTheme(): ThemeName {
|
|
289
|
+
return this.themes.shown;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
override disconnectedCallback(): void {
|
|
293
|
+
super.disconnectedCallback();
|
|
294
|
+
for (const fn of this.cleanups.splice(0)) fn();
|
|
295
|
+
keepMemory(this, null);
|
|
296
|
+
this.viewRouter.stop();
|
|
297
|
+
this.closeStore();
|
|
298
|
+
this.mainScroll.detach();
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/** Go elsewhere: the view route changes, and with it the URL (pushing an entry for a new place). */
|
|
302
|
+
navigate(patch: ViewRoutePatch, opts: { replace?: boolean } = {}): void {
|
|
303
|
+
this.viewRouter.navigate(patch, opts);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
private onViewRoute(viewRoute: ViewRoute, cause: ViewRouteCause): void {
|
|
307
|
+
const before = this.viewRoute;
|
|
308
|
+
this.viewRoute = viewRoute;
|
|
309
|
+
if (cause !== 'replace') this.qDraft = null;
|
|
310
|
+
this.store.selectRun(viewRoute.run);
|
|
311
|
+
// Another tab of the same trends shows what is loaded already.
|
|
312
|
+
const sameTrends = before?.page === 'trends' && JSON.stringify(trendsQuery(before)) === JSON.stringify(trendsQuery(viewRoute));
|
|
313
|
+
if (viewRoute.page !== 'trends') this.store.closeTrends();
|
|
314
|
+
else if (!sameTrends) void this.store.loadTrends(trendsQuery(viewRoute));
|
|
315
|
+
this.pickDefaultRun();
|
|
316
|
+
if (cause !== 'replace') this.pendingScroll = cause;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* With no run named, open the most recent one (replacing the entry: it is a
|
|
321
|
+
* default, not a step). The hosts page names none; a monitor of one host has no hosts page.
|
|
322
|
+
*/
|
|
323
|
+
private pickDefaultRun(): void {
|
|
324
|
+
const { info, runs } = this.snap;
|
|
325
|
+
if (this.viewRoute.page === 'trends') return;
|
|
326
|
+
if (this.viewRoute.page === 'hosts') {
|
|
327
|
+
if (!info.api_version || info.hosts) return;
|
|
328
|
+
this.navigate({ page: '' }, { replace: true });
|
|
329
|
+
}
|
|
330
|
+
const first = runs[0];
|
|
331
|
+
if (!this.viewRoute.run && first) this.navigate({ run: first.run }, { replace: true });
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
private onKey(e: KeyboardEvent): void {
|
|
335
|
+
if (e.key === 'r') {
|
|
336
|
+
e.preventDefault();
|
|
337
|
+
this.pickerOpen = true;
|
|
338
|
+
} else if (e.key === '/') {
|
|
339
|
+
e.preventDefault();
|
|
340
|
+
this.renderRoot.querySelector<HTMLInputElement>('.bar input')?.focus();
|
|
341
|
+
} else if (/^[1-9]$/.test(e.key) && !this.viewRoute.page) {
|
|
342
|
+
const tab = monitorTabs(this.snap.info.panels)[Number(e.key) - 1];
|
|
343
|
+
if (tab) this.navigate({ tab: tab.id });
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/** The index of the selected tab in the tab list, or -1 (a custom view the run does not have). */
|
|
348
|
+
private selectedTab(): number {
|
|
349
|
+
return monitorTabs(this.snap.info.panels).findIndex((t) => t.id === this.viewRoute.tab);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/** Close the run picker; the focus goes back to the button that opens it when it was in the picker. */
|
|
353
|
+
private closePicker(): void {
|
|
354
|
+
const inside = this.picker?.matches(':focus-within');
|
|
355
|
+
this.pickerOpen = false;
|
|
356
|
+
if (inside) this.runBtn?.focus();
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
protected override updated(): void {
|
|
360
|
+
// A monitor that is the page names it, in its language.
|
|
361
|
+
if (this.history === 'url' && this.snap) document.title = msg(str`${this.snap.info.title} monitor`);
|
|
362
|
+
// The click on the run button that opened the picker reaches the document after this: `onOutsideClick` passes it over.
|
|
363
|
+
this.listenOutside(this.isConnected && this.pickerOpen);
|
|
364
|
+
this.observeNav();
|
|
365
|
+
// Tab comes back into the tab list on the selected tab.
|
|
366
|
+
if (this.snap && this.viewRoute) this.tabFocus.set(Math.max(0, this.selectedTab()));
|
|
367
|
+
moveTabIndicator(this.renderRoot);
|
|
368
|
+
if (this.main) this.mainScroll.attach(this.main);
|
|
369
|
+
if (this.pendingScroll) {
|
|
370
|
+
// A new place starts at the top; Back, Forward and a reload return to where the reader was.
|
|
371
|
+
if (this.pendingScroll === 'push') this.mainScroll.reset();
|
|
372
|
+
else this.mainScroll.restore();
|
|
373
|
+
this.pendingScroll = null;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/** Move the line under the selected tab when the tab bar changes size. */
|
|
378
|
+
private observeNav(): void {
|
|
379
|
+
const nav = this.renderRoot.querySelector('nav');
|
|
380
|
+
if (!nav || typeof ResizeObserver === 'undefined') return;
|
|
381
|
+
if (this.navObserved === nav) return;
|
|
382
|
+
if (!this.navObserver) this.navObserver = new ResizeObserver(() => moveTabIndicator(this.renderRoot));
|
|
383
|
+
else this.navObserver.disconnect();
|
|
384
|
+
this.navObserver.observe(nav);
|
|
385
|
+
this.navObserved = nav;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
private setQ(q: string): void {
|
|
389
|
+
this.qDraft = q;
|
|
390
|
+
if (this.qTimer) clearTimeout(this.qTimer);
|
|
391
|
+
this.qTimer = setTimeout(() => {
|
|
392
|
+
this.qTimer = null;
|
|
393
|
+
this.navigate({ q });
|
|
394
|
+
}, Q_DEBOUNCE_MS);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/** The header's language switch: switch now, and remember it for the next visit. */
|
|
398
|
+
private pickLocale(locale: Locale): void {
|
|
399
|
+
this.locale = locale;
|
|
400
|
+
void chooseLocale(locale);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
override render() {
|
|
404
|
+
if (!this.snap || !this.viewRoute) return nothing;
|
|
405
|
+
const { snap, viewRoute } = this;
|
|
406
|
+
const acts = liveActivities(snap.state.procs);
|
|
407
|
+
const derived = deriveRun(snap.state.journal, snap.state.plan);
|
|
408
|
+
const tab = this.selectedTab();
|
|
409
|
+
const keys = this.shortcutScope !== 'off';
|
|
410
|
+
const hub = !!snap.info.hosts;
|
|
411
|
+
const hostsPage = viewRoute.page === 'hosts';
|
|
412
|
+
const trendsPage = viewRoute.page === 'trends';
|
|
413
|
+
return html`
|
|
414
|
+
<header>
|
|
415
|
+
${brand(snap.info.title)}
|
|
416
|
+
<button type="button" class="runbtn" title=${keys ? msg('Switch run (r)') : msg('Switch run')} aria-haspopup="dialog" aria-expanded=${this.pickerOpen ? 'true' : 'false'}
|
|
417
|
+
@click=${() => (this.pickerOpen = !this.pickerOpen)}>
|
|
418
|
+
${hostsPage ? this.hostsLabel() : trendsPage ? this.trendsLabel() : this.runLabel(hub, derived)}
|
|
419
|
+
<span class="chev" aria-hidden="true">▾</span>
|
|
420
|
+
</button>
|
|
421
|
+
<div class="hdr-right">
|
|
422
|
+
${nowLine(this, acts)}
|
|
423
|
+
<ca-theme-switch .value=${this.themes.choice} .system=${this.themes.system}></ca-theme-switch>
|
|
424
|
+
${this.locales
|
|
425
|
+
? html`<cae-segmented class="langs" label=${msg('Language')} .value=${getLocale()}
|
|
426
|
+
.options=${allLocales.map((l) => ({ value: l, label: LOCALE_NAMES[l], lang: l }))}
|
|
427
|
+
@cae-change=${(e: CustomEvent<{ value: string }>) => isLocale(e.detail.value) && this.pickLocale(e.detail.value)}></cae-segmented>`
|
|
428
|
+
: nothing}
|
|
429
|
+
${snap.info.export
|
|
430
|
+
? pill({ text: exportedLabel(snap.info.export), tone: 'muted', title: exportTip(snap.info.export) })
|
|
431
|
+
: connection(snap.connected)}
|
|
432
|
+
<ca-clock class="clock"></ca-clock>
|
|
433
|
+
</div>
|
|
434
|
+
<ca-run-picker .runs=${snap.runs} current=${viewRoute.run} ?open=${this.pickerOpen} ?hub=${hub} .hosts=${snap.hosts?.hosts ?? []} page=${viewRoute.page}
|
|
435
|
+
@ca-close=${() => this.closePicker()}></ca-run-picker>
|
|
436
|
+
</header>
|
|
437
|
+
${hostsPage
|
|
438
|
+
? html`${this.renderApiError()}<main id="main"><ca-hosts .hosts=${snap.hosts}></ca-hosts></main>`
|
|
439
|
+
: trendsPage
|
|
440
|
+
? html`${this.renderApiError()}<main id="main"><ca-trends .view=${snap.trends} days=${viewRoute.days} from=${viewRoute.from} to=${viewRoute.to}
|
|
441
|
+
tz=${viewRoute.tz || browserZone()} group=${viewRoute.group} .groups=${runGroups(snap.runs)} .panels=${snap.info.panels}
|
|
442
|
+
tab=${viewRoute.trendsTab} ?exported=${!!snap.info.export}></ca-trends></main>`
|
|
443
|
+
: html`${this.renderTabs(derived, acts.length)} ${this.renderBar(derived)} ${this.renderApiError()}
|
|
444
|
+
<main id="main" class=${viewRoute.tab === 'stream' ? 'stream' : ''} role="tabpanel" aria-labelledby=${tab >= 0 ? tabId(tab) : nothing}
|
|
445
|
+
>${tabView({ snap, viewRoute, derived, q: this.qDraft ?? viewRoute.q, client: this.store.client, baseUrl: this.store.client.baseUrl })}</main>`}
|
|
446
|
+
<ca-toasts></ca-toasts>
|
|
447
|
+
`;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* The run button's label for a run: its status dot, its name (on a hub,
|
|
452
|
+
* without the host, which follows it), no report from its host (a hub; before
|
|
453
|
+
* the run line, which the button may cut), its run line.
|
|
454
|
+
*/
|
|
455
|
+
private runLabel(hub: boolean, derived: RunDerived) {
|
|
456
|
+
const { snap, viewRoute } = this;
|
|
457
|
+
const summary = runRow(snap.runs, snap.run);
|
|
458
|
+
const activity = runActivity(summary, !!snap.state.procs?.alive);
|
|
459
|
+
const dot = runTone(activity, summary?.tasks);
|
|
460
|
+
const host = hub ? (summary?.host_id ?? '') : '';
|
|
461
|
+
return html`<span class="dot" data-tone=${toneAttr(dot)} aria-hidden="true"></span>
|
|
462
|
+
<span class="rn" title=${host ? viewRoute.run : nothing}>${summary && host ? runIdOf(summary) : viewRoute.run || '—'}</span>
|
|
463
|
+
${host ? html`<span class="hostchip" title=${hostFact(host)}><span class="sr">${hostFact(host)}</span><span aria-hidden="true">${host}</span></span>` : nothing}
|
|
464
|
+
${activity === 'unresponsive' ? pill({ text: noReportLabel(), tone: 'attention', title: lastReport(hostOf(snap.hosts?.hosts, summary)) }) : nothing}
|
|
465
|
+
${runMark(summary) ? pill({ ...runMark(summary)!, tone: 'muted' }) : nothing}
|
|
466
|
+
<span class="rs" title=${summary ? accountsTip(runLineAccounts(snap.state, summary)) : ''}>${summary ? runLine(snap.state, summary, derived) : ''}</span>`;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/** The run button's label on the trends page: its name, and what it shows. */
|
|
470
|
+
private trendsLabel() {
|
|
471
|
+
return html`<span class="dot" data-tone="neutral" aria-hidden="true"></span><span class="rn">${trendsTitle()}</span><span class="rs">${trendsTip()}</span>`;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/** The run button's label on the hosts page: the hosts in one line, attention while a host has no report. */
|
|
475
|
+
private hostsLabel() {
|
|
476
|
+
const hosts = this.snap.hosts?.hosts ?? [];
|
|
477
|
+
return html`<span class="dot" data-tone=${toneAttr(hosts.some((h) => !h.up) ? 'attention' : 'neutral')} aria-hidden="true"></span>
|
|
478
|
+
<span class="rn">${msg('Hosts')}</span><span class="rs">${hostsLine(hosts)}</span>`;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/** A request to the API that got no JSON answer: its URL and cause. */
|
|
482
|
+
private renderApiError() {
|
|
483
|
+
const { error } = this.snap;
|
|
484
|
+
return html`<p class="api-error" role="alert">${error ? html`<span class="ic" aria-hidden="true">✕</span> ${apiErrorLine(error)}` : nothing}</p>`;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
private renderTabs(d: RunDerived, busy: number) {
|
|
488
|
+
const { state } = this.snap;
|
|
489
|
+
const { tries } = d.tries;
|
|
490
|
+
const tasks = d.counts;
|
|
491
|
+
// A tab's count is a total: neutral, never coloured by its worst part. Only a count of what is running is.
|
|
492
|
+
const badge = (id: Tab): [string | number, Tone] | null =>
|
|
493
|
+
id === 'tasks'
|
|
494
|
+
? [tasks.total || '', 'neutral']
|
|
495
|
+
: id === 'journal'
|
|
496
|
+
? [tries || '', 'neutral']
|
|
497
|
+
: id === 'procs'
|
|
498
|
+
? [state.procs?.alive ? busy || '' : '', 'running']
|
|
499
|
+
: null;
|
|
500
|
+
return tabBar(monitorTabs(this.snap.info.panels), this.viewRoute.tab, badge, (id) => this.navigate({ tab: id }), 'main', this.shortcutScope !== 'off');
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
private renderBar(d: RunDerived) {
|
|
504
|
+
const { viewRoute } = this;
|
|
505
|
+
if (viewRoute.tab !== 'tasks' && viewRoute.tab !== 'journal') return nothing;
|
|
506
|
+
const { counts, kinds } = d;
|
|
507
|
+
const total = counts.total;
|
|
508
|
+
return html`<div class="bar">
|
|
509
|
+
<select title=${msg('Kind')} aria-label=${msg('Kind')} @change=${(e: Event) => this.navigate({ kind: (e.target as HTMLSelectElement).value })}>
|
|
510
|
+
<option value="" ?selected=${!viewRoute.kind}>${msg('All kinds')}</option>
|
|
511
|
+
${kinds.map((k) => html`<option ?selected=${k === viewRoute.kind}>${k}</option>`)}
|
|
512
|
+
</select>
|
|
513
|
+
<input placeholder=${msg('Filter')} aria-label=${msg('Text filter')} size="22" title=${this.shortcutScope !== 'off' ? msg('Text filter (/)') : msg('Text filter')} .value=${this.qDraft ?? viewRoute.q}
|
|
514
|
+
@input=${(e: Event) => this.setQ((e.target as HTMLInputElement).value)} />
|
|
515
|
+
<span class="meta">${viewRoute.tab === 'journal'
|
|
516
|
+
? triesLine(d.tries)
|
|
517
|
+
: total === 1 ? msg('1 task') : msg(str`${total} tasks`)}</span>
|
|
518
|
+
</div>`;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
declare global {
|
|
523
|
+
interface HTMLElementTagNameMap {
|
|
524
|
+
'ca-monitor': CaMonitor;
|
|
525
|
+
}
|
|
526
|
+
}
|