@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,66 @@
|
|
|
1
|
+
// The monitor's one-line summaries of a run: the header's run line and the
|
|
2
|
+
// history bar's count.
|
|
3
|
+
import { deriveRun, elapsedS, runAccounts, spendOf } from '@contraagent/api';
|
|
4
|
+
import { msg, str } from '@lit/localize';
|
|
5
|
+
import { facts, fmtDur, usd } from './format.js';
|
|
6
|
+
import { stateCount } from './outcome.js';
|
|
7
|
+
import { accountsLine } from './quota.js';
|
|
8
|
+
/** Each account's latest subscription reading, busiest weekly first: from the live journal once replayed, else the run list's. */
|
|
9
|
+
export const runLineAccounts = (state, summary) => state.ready ? runAccounts(state.journal) : (summary.quota ?? []);
|
|
10
|
+
/**
|
|
11
|
+
* The header's run line: tasks that ended well out of all tasks (not attempts),
|
|
12
|
+
* the tasks that will not run, how long the run took, its cost and usage, running. Before the feed has
|
|
13
|
+
* replayed, no count: the run list's figures only.
|
|
14
|
+
*/
|
|
15
|
+
export function runLine(state, summary, derived = deriveRun(state.journal, state.plan)) {
|
|
16
|
+
const took = elapsedS(summary);
|
|
17
|
+
// The live journal is fresher than the run list (polled); before the replay is in, the run list's figure.
|
|
18
|
+
const spent = state.ready ? spendOf(state.journal)?.cost : summary.cost_usd;
|
|
19
|
+
const cost = spent !== null && spent !== undefined ? usd(spent) : '';
|
|
20
|
+
const usage = accountsLine(runLineAccounts(state, summary));
|
|
21
|
+
const tail = facts(took == null ? '' : msg(str `took ${fmtDur(took)}`), cost, usage, summary.running ? msg('running') : '');
|
|
22
|
+
if (!state.ready)
|
|
23
|
+
return tail; // the feed is still replaying: no count yet rather than a wrong one
|
|
24
|
+
const c = derived.counts;
|
|
25
|
+
// Tasks deferred, or queued when the run ended: they will not run (the run list counts them).
|
|
26
|
+
const notRun = summary.tasks.not_run ? stateCount('not_run', summary.tasks.not_run) : '';
|
|
27
|
+
return facts(msg(str `${c.doneTotal} of ${c.total} tasks done`), notRun, tail);
|
|
28
|
+
}
|
|
29
|
+
/** The history bar's count, as the overview counts: "23 attempts | 4 not started". */
|
|
30
|
+
export function triesLine({ tries, notStarted }) {
|
|
31
|
+
return facts(tries === 1 ? msg('1 attempt') : msg(str `${tries} attempts`), notStarted ? stateCount('not_started', notStarted) : '');
|
|
32
|
+
}
|
|
33
|
+
/** A stub run's mark (`RunSummary.stub`): its tasks were played by the stub agent. */
|
|
34
|
+
export const stubLabel = () => msg('stub agent', { desc: 'A run whose tasks a coding agent with scripted replies played' });
|
|
35
|
+
/** What a stub run's mark means, for its tooltip. */
|
|
36
|
+
export const stubTip = () => msg('Tasks played by the stub agent with scripted replies (stub)');
|
|
37
|
+
/** A replay's mark (`RunSummary.replay`): its agent tasks played their recordings. */
|
|
38
|
+
export const replayLabel = () => msg('replay', { desc: 'A run whose agent sessions were played from the recordings of an earlier run' });
|
|
39
|
+
/** What a replay's mark means, for its tooltip: where its recordings are. */
|
|
40
|
+
export const replayTip = (dir) => msg(str `Agent sessions played from the recordings in ${dir} (replay)`);
|
|
41
|
+
/**
|
|
42
|
+
* A replay that also launched (`RunSummary.replay` with `stub` false, `record_missing`):
|
|
43
|
+
* some attempts played their recordings, the others ran and were recorded. Only
|
|
44
|
+
* then is each played attempt (`JournalRow.replayed`) marked: in a replay that
|
|
45
|
+
* launched nothing, the run's mark says it of every attempt.
|
|
46
|
+
*/
|
|
47
|
+
export const mixedReplay = (r) => !!r?.replay && !r.stub;
|
|
48
|
+
/** A replay that also launched: its mark. */
|
|
49
|
+
export const mixedReplayLabel = () => msg('replay and new sessions', { desc: 'A run that played some attempts from recordings and ran the others as new agent sessions' });
|
|
50
|
+
/** What that mark means, for its tooltip: where its recordings are. */
|
|
51
|
+
export const mixedReplayTip = (dir) => msg(str `Agent sessions played from the recordings in ${dir}, and new agent sessions recorded there (replay, record_missing)`);
|
|
52
|
+
/** An attempt played from its recording (`JournalRow.replayed`), in a replay that also launched. */
|
|
53
|
+
export const replayedLabel = () => msg('replayed', { desc: 'An attempt played from its recording, not run again' });
|
|
54
|
+
/** What that mark means, for its tooltip. */
|
|
55
|
+
export const replayedTip = () => msg('Played from a recording (replayed)');
|
|
56
|
+
/** The mark beside a run's name: a replay (one that also launched, or not), else a stub run; null for a run of coding agents. */
|
|
57
|
+
export function runMark(r) {
|
|
58
|
+
if (r?.replay && mixedReplay(r))
|
|
59
|
+
return { text: mixedReplayLabel(), title: mixedReplayTip(r.replay) };
|
|
60
|
+
if (r?.replay)
|
|
61
|
+
return { text: replayLabel(), title: replayTip(r.replay) };
|
|
62
|
+
if (r?.stub)
|
|
63
|
+
return { text: stubLabel(), title: stubTip() };
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=run-line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-line.js","sourceRoot":"","sources":["../../src/words/run-line.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ServiceSpan } from '@contraagent/api';
|
|
2
|
+
/** The state of one start of a service: it runs, it stopped, its start failed, or its stop is not recorded. */
|
|
3
|
+
export type ServiceState = 'running' | 'stopped' | 'failed' | 'unknown';
|
|
4
|
+
/** The state of one start of a service; `live`: whether its run still runs. */
|
|
5
|
+
export declare function serviceState(s: ServiceSpan, live: boolean): ServiceState;
|
|
6
|
+
/** The state in words: `running`, `stopped`, `did not start`, `stop not recorded`. */
|
|
7
|
+
export declare function serviceStateLabel(state: ServiceState): string;
|
|
8
|
+
/** Why a service stopped, in words; '' while it runs. */
|
|
9
|
+
export declare function stopCauseLabel(cause: ServiceSpan['stop_cause']): string;
|
|
10
|
+
/**
|
|
11
|
+
* The facts of one start of a service, in one line:
|
|
12
|
+
* `Started 10:02:03 in 1.2s | Stopped 10:05:10 | The run ended`, or `10:02:03 | OSError: port 9000 in use`
|
|
13
|
+
* for a start that failed (the error is the value, so the line holds no label of its own).
|
|
14
|
+
*/
|
|
15
|
+
export declare function serviceFacts(s: ServiceSpan): string;
|
|
16
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/words/services.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,+GAA+G;AAC/G,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,CAIxE;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAW7D;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,CASvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CASnD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { msg, str } from '@lit/localize';
|
|
2
|
+
import { facts, fmtDur, localTime } from './format.js';
|
|
3
|
+
/** The state of one start of a service; `live`: whether its run still runs. */
|
|
4
|
+
export function serviceState(s, live) {
|
|
5
|
+
if (s.start_error)
|
|
6
|
+
return 'failed';
|
|
7
|
+
if (s.stopped_at)
|
|
8
|
+
return 'stopped';
|
|
9
|
+
return live ? 'running' : 'unknown';
|
|
10
|
+
}
|
|
11
|
+
/** The state in words: `running`, `stopped`, `did not start`, `stop not recorded`. */
|
|
12
|
+
export function serviceStateLabel(state) {
|
|
13
|
+
switch (state) {
|
|
14
|
+
case 'running':
|
|
15
|
+
return msg('running', { id: 'service-running', desc: 'A service that is running' });
|
|
16
|
+
case 'stopped':
|
|
17
|
+
return msg('stopped', { desc: 'A service that stopped' });
|
|
18
|
+
case 'failed':
|
|
19
|
+
return msg('did not start', { desc: 'A service whose start failed' });
|
|
20
|
+
default:
|
|
21
|
+
return msg('stop not recorded', { desc: 'A service of a finished run whose stop is not in services.jsonl' });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Why a service stopped, in words; '' while it runs. */
|
|
25
|
+
export function stopCauseLabel(cause) {
|
|
26
|
+
switch (cause) {
|
|
27
|
+
case 'run_end':
|
|
28
|
+
return msg('The run ended');
|
|
29
|
+
case 'interrupted':
|
|
30
|
+
return msg('The run was stopped by a signal');
|
|
31
|
+
default:
|
|
32
|
+
return '';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The facts of one start of a service, in one line:
|
|
37
|
+
* `Started 10:02:03 in 1.2s | Stopped 10:05:10 | The run ended`, or `10:02:03 | OSError: port 9000 in use`
|
|
38
|
+
* for a start that failed (the error is the value, so the line holds no label of its own).
|
|
39
|
+
*/
|
|
40
|
+
export function serviceFacts(s) {
|
|
41
|
+
if (s.start_error)
|
|
42
|
+
return facts(localTime(s.started_at), s.start_error);
|
|
43
|
+
return facts(msg(str `Started ${localTime(s.started_at)} in ${fmtDur(s.start_s ?? 0)}`), s.stopped_at ? msg(str `Stopped ${localTime(s.stopped_at)}`) : '', stopCauseLabel(s.stop_cause), s.stop_error ? msg('Stop failed') : '', s.stop_error);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/words/services.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKvD,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,CAAc,EAAE,IAAa;IACxD,IAAI,CAAC,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACtF,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAC5D,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACxE;YACE,OAAO,GAAG,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,KAAgC;IAC7D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9B,KAAK,aAAa;YAChB,OAAO,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAChD;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAc;IACzC,IAAI,CAAC,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,KAAK,CACV,GAAG,CAAC,GAAG,CAAA,WAAW,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EACzE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,WAAW,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAChE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EACtC,CAAC,CAAC,UAAU,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How one attempt ended (a journal row's `stop`), in words. A value contraagent does not write is shown as it is.
|
|
3
|
+
* With the row's `reason`, a refused input names its problem (missing, or failed checks).
|
|
4
|
+
*/
|
|
5
|
+
export declare function stopLabel(stop: string | null | undefined, reason?: string | null): string;
|
|
6
|
+
//# sourceMappingURL=stop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/words/stop.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGzF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// How an attempt ended (a journal row's `stop`), in words.
|
|
2
|
+
import { inputProblems } from '@contraagent/api';
|
|
3
|
+
import { msg, str } from '@lit/localize';
|
|
4
|
+
import { isStop } from '../lib/tone.js';
|
|
5
|
+
/**
|
|
6
|
+
* How one attempt ended (a journal row's `stop`), in words. A value contraagent does not write is shown as it is.
|
|
7
|
+
* With the row's `reason`, a refused input names its problem (missing, or failed checks).
|
|
8
|
+
*/
|
|
9
|
+
export function stopLabel(stop, reason) {
|
|
10
|
+
if (!stop)
|
|
11
|
+
return '—';
|
|
12
|
+
return isStop(stop) ? knownStopLabel(stop, reason) : msg(str `unknown (${stop})`);
|
|
13
|
+
}
|
|
14
|
+
/** A stop contraagent writes, in words: every `Stop` has a case, or this fails type-checking. */
|
|
15
|
+
function knownStopLabel(stop, reason) {
|
|
16
|
+
switch (stop) {
|
|
17
|
+
case 'completed':
|
|
18
|
+
return msg('done', { id: 'stop-completed', desc: 'How an attempt ended: completed' });
|
|
19
|
+
case 'skipped':
|
|
20
|
+
return msg('skipped');
|
|
21
|
+
case 'partial':
|
|
22
|
+
return msg('partly done', { id: 'stop-partial', desc: 'How an attempt ended: partial, its output a placeholder' });
|
|
23
|
+
case 'invalid_input': {
|
|
24
|
+
const kinds = new Set(inputProblems(reason).map((p) => p.problem));
|
|
25
|
+
if (kinds.size === 1 && kinds.has('missing'))
|
|
26
|
+
return msg('not started (input missing)');
|
|
27
|
+
if (kinds.size === 1 && kinds.has('checks'))
|
|
28
|
+
return msg('not started (input failed checks)');
|
|
29
|
+
if (kinds.size === 1 && kinds.has('failed'))
|
|
30
|
+
return msg('not started (earlier task failed)');
|
|
31
|
+
if (kinds.size === 2 && kinds.has('missing') && kinds.has('checks'))
|
|
32
|
+
return msg('not started (input missing and input failed checks)');
|
|
33
|
+
return msg('not started', { id: 'stop-invalid-input', desc: 'How an attempt ended: invalid_input, with no input named' });
|
|
34
|
+
}
|
|
35
|
+
case 'invalid_output':
|
|
36
|
+
return msg('failed checks');
|
|
37
|
+
case 'timeout':
|
|
38
|
+
return msg('timed out');
|
|
39
|
+
case 'max_turns':
|
|
40
|
+
return msg('turn limit reached');
|
|
41
|
+
case 'budget':
|
|
42
|
+
return msg('cost limit reached');
|
|
43
|
+
case 'context_budget':
|
|
44
|
+
return msg('context limit reached');
|
|
45
|
+
case 'stalled':
|
|
46
|
+
return msg('stalled (no events)');
|
|
47
|
+
case 'auth_failed':
|
|
48
|
+
return msg('authentication failed');
|
|
49
|
+
case 'api_error':
|
|
50
|
+
return msg('API error');
|
|
51
|
+
case 'rate_limited':
|
|
52
|
+
return msg('rate limited');
|
|
53
|
+
case 'refused':
|
|
54
|
+
return msg('refused by the model');
|
|
55
|
+
case 'aborted':
|
|
56
|
+
return msg('aborted');
|
|
57
|
+
case 'denied':
|
|
58
|
+
return msg('permission denied');
|
|
59
|
+
case 'error':
|
|
60
|
+
return msg('error');
|
|
61
|
+
case 'no_output':
|
|
62
|
+
return msg('ended without a result');
|
|
63
|
+
case 'launch_failed':
|
|
64
|
+
return msg('agent session did not start');
|
|
65
|
+
case 'credential_mismatch':
|
|
66
|
+
return msg('wrong identity used');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/words/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/words/table.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,8DAA8D;AAC9D,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,QAAQ,CAAC,gBAAgB,CAIpE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { msg } from '@lit/localize';
|
|
2
|
+
/** A table's words; `empty` is what it shows with no rows. */
|
|
3
|
+
export const tableStrings = (empty) => ({
|
|
4
|
+
empty,
|
|
5
|
+
sortAscending: msg('Sort ascending'),
|
|
6
|
+
sortDescending: msg('Sort descending'),
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/words/table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAA8B,EAAE,CAAC,CAAC;IAC1E,KAAK;IACL,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC;IACpC,cAAc,EAAE,GAAG,CAAC,iBAAiB,CAAC;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The label of a Python task's retries. */
|
|
2
|
+
export declare const retriesLabel: () => string;
|
|
3
|
+
/** A number of retries: `up to 2`. */
|
|
4
|
+
export declare const retriesText: (n: number) => string;
|
|
5
|
+
/** The label of the exceptions that give a Python task another attempt. */
|
|
6
|
+
export declare const retriedExceptionsLabel: () => string;
|
|
7
|
+
/** What they are, for their tooltip. */
|
|
8
|
+
export declare const retriedExceptionsTip: () => string;
|
|
9
|
+
/** The label of the parts of an output file a task must keep as they were (`preserve`). */
|
|
10
|
+
export declare const preserveLabel: () => string;
|
|
11
|
+
/** What they are, for their tooltip. */
|
|
12
|
+
export declare const preserveTip: () => string;
|
|
13
|
+
/** The output of another kind that a task writes in place of its own (`output_of`): `output of draft`. */
|
|
14
|
+
export declare const outputOfText: (kind: string) => string;
|
|
15
|
+
/** What that is, for its tooltip. */
|
|
16
|
+
export declare const outputOfTip: () => string;
|
|
17
|
+
/** The label of the kind an implementation kind is one implementation of (`base_kind`). */
|
|
18
|
+
export declare const implementationOfLabel: () => string;
|
|
19
|
+
/** An implementation kind, in a list of kinds: `Implementation of review`. */
|
|
20
|
+
export declare const implementationOfText: (kind: string) => string;
|
|
21
|
+
/** What a base kind is, for its tooltip. */
|
|
22
|
+
export declare const implementationOfTip: () => string;
|
|
23
|
+
//# sourceMappingURL=task-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-definition.d.ts","sourceRoot":"","sources":["../../src/words/task-definition.ts"],"names":[],"mappings":"AAKA,4CAA4C;AAC5C,eAAO,MAAM,YAAY,QAAO,MAAwB,CAAC;AAEzD,sCAAsC;AACtC,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAA+D,CAAC;AAExG,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,QAAO,MAAmC,CAAC;AAE9E,wCAAwC;AACxC,eAAO,MAAM,oBAAoB,QAAO,MAAgE,CAAC;AAEzG,2FAA2F;AAC3F,eAAO,MAAM,aAAa,QAAO,MAAoC,CAAC;AAEtE,wCAAwC;AACxC,eAAO,MAAM,WAAW,QAAO,MAA4E,CAAC;AAE5G,0GAA0G;AAC1G,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAmG,CAAC;AAEhJ,qCAAqC;AACrC,eAAO,MAAM,WAAW,QAAO,MAAwE,CAAC;AAExG,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,MAAmH,CAAC;AAE7J,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAA6C,CAAC;AAElG,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,QAAO,MAA8D,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Words for the facts of a task definition that need more than a label: a Python
|
|
2
|
+
// task's retries, the parts of an output file it keeps, another kind's output it writes,
|
|
3
|
+
// the kind it is one implementation of.
|
|
4
|
+
import { msg, str } from '@lit/localize';
|
|
5
|
+
/** The label of a Python task's retries. */
|
|
6
|
+
export const retriesLabel = () => msg('Retries');
|
|
7
|
+
/** A number of retries: `up to 2`. */
|
|
8
|
+
export const retriesText = (n) => msg(str `up to ${n}`, { desc: 'A number of retries' });
|
|
9
|
+
/** The label of the exceptions that give a Python task another attempt. */
|
|
10
|
+
export const retriedExceptionsLabel = () => msg('Retried exceptions');
|
|
11
|
+
/** What they are, for their tooltip. */
|
|
12
|
+
export const retriedExceptionsTip = () => msg('Exceptions that give another attempt (retry_on)');
|
|
13
|
+
/** The label of the parts of an output file a task must keep as they were (`preserve`). */
|
|
14
|
+
export const preserveLabel = () => msg('Must stay unchanged');
|
|
15
|
+
/** What they are, for their tooltip. */
|
|
16
|
+
export const preserveTip = () => msg('Parts of the output file kept as before the task (preserve)');
|
|
17
|
+
/** The output of another kind that a task writes in place of its own (`output_of`): `output of draft`. */
|
|
18
|
+
export const outputOfText = (kind) => msg(str `output of ${kind}`, { desc: "Another kind's output file that this task writes" });
|
|
19
|
+
/** What that is, for its tooltip. */
|
|
20
|
+
export const outputOfTip = () => msg('The kind whose output file this task writes (output_of)');
|
|
21
|
+
/** The label of the kind an implementation kind is one implementation of (`base_kind`). */
|
|
22
|
+
export const implementationOfLabel = () => msg('Implementation of', { desc: 'A task definition: the kind that this kind is one implementation of' });
|
|
23
|
+
/** An implementation kind, in a list of kinds: `Implementation of review`. */
|
|
24
|
+
export const implementationOfText = (kind) => msg(str `Implementation of ${kind}`);
|
|
25
|
+
/** What a base kind is, for its tooltip. */
|
|
26
|
+
export const implementationOfTip = () => msg('A kind that other kinds implement (base_kind)');
|
|
27
|
+
//# sourceMappingURL=task-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-definition.js","sourceRoot":"","sources":["../../src/words/task-definition.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,yFAAyF;AACzF,wCAAwC;AACxC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEzD,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAExG,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE9E,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;AAEzG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEtE,wCAAwC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAE5G,0GAA0G;AAC1G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,aAAa,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,kDAAkD,EAAE,CAAC,CAAC;AAEhJ,qCAAqC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AAExG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,qEAAqE,EAAE,CAAC,CAAC;AAE7J,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qBAAqB,IAAI,EAAE,CAAC,CAAC;AAElG,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TimeBoxRecord } from '@contraagent/api';
|
|
2
|
+
/** A deadline's terms: `45m 00s | finishing time 15m 00s | finishing kinds: lint_fixer, report`. */
|
|
3
|
+
export declare function timeBoxFacts(box: TimeBoxRecord): string;
|
|
4
|
+
/** When one flow call's deadline falls, as an absolute time: `10/14 11:16:00`. */
|
|
5
|
+
export declare const deadlineAtText: (iso: string) => string;
|
|
6
|
+
/** The tooltip of a deadline row: the term, in code. */
|
|
7
|
+
export declare const timeBoxTip: () => string;
|
|
8
|
+
//# sourceMappingURL=time-box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-box.d.ts","sourceRoot":"","sources":["../../src/words/time-box.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAOvD;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAA8B,CAAC;AAE5E,wDAAwD;AACxD,eAAO,MAAM,UAAU,QAAO,MAAiD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { msg, str } from '@lit/localize';
|
|
2
|
+
import { facts, fmtDur, listText, localTime } from './format.js';
|
|
3
|
+
/** A deadline's terms: `45m 00s | finishing time 15m 00s | finishing kinds: lint_fixer, report`. */
|
|
4
|
+
export function timeBoxFacts(box) {
|
|
5
|
+
const kinds = box.finishing_kinds ?? [];
|
|
6
|
+
return facts(fmtDur(box.deadline_s), box.grace_s && kinds.length ? msg(str `finishing time ${fmtDur(box.grace_s)}`) : '', kinds.length ? msg(str `finishing kinds: ${listText(kinds)}`) : '');
|
|
7
|
+
}
|
|
8
|
+
/** When one flow call's deadline falls, as an absolute time: `10/14 11:16:00`. */
|
|
9
|
+
export const deadlineAtText = (iso) => localTime(iso, true);
|
|
10
|
+
/** The tooltip of a deadline row: the term, in code. */
|
|
11
|
+
export const timeBoxTip = () => msg('A deadline of its own (time_box)');
|
|
12
|
+
//# sourceMappingURL=time-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-box.js","sourceRoot":"","sources":["../../src/words/time-box.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IACxC,OAAO,KAAK,CACV,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EACtB,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,kBAAkB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAClF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,oBAAoB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAClE,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAE5E,wDAAwD;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/** The trends page's name: in the run picker, the page's heading and the browser tab. */
|
|
2
|
+
export declare const trendsTitle: () => string;
|
|
3
|
+
/** What the trends page shows, for the run picker's entry and the page's tooltip. */
|
|
4
|
+
export declare const trendsTip: () => string;
|
|
5
|
+
/** The trends page's first tab: the trends, with the custom views that name no tab. */
|
|
6
|
+
export declare const trendsFirstTab: () => string;
|
|
7
|
+
/** A day of the period (YYYY-MM-DD) with its month as a word: `Oct 14`. */
|
|
8
|
+
export declare function dayLabel(day: string, locale?: string): string;
|
|
9
|
+
/** The period in words: `Oct 1 to Oct 14, 2026 | Asia/Tokyo`. */
|
|
10
|
+
export declare function periodLabel(from: string, to: string, tz: string, locale?: string): string;
|
|
11
|
+
/** A length of period ending today: `7 days`. */
|
|
12
|
+
export declare const lastDays: (n: number) => string;
|
|
13
|
+
export declare const customPeriod: () => string;
|
|
14
|
+
export declare const fromLabel: () => string;
|
|
15
|
+
export declare const toLabel: () => string;
|
|
16
|
+
export declare const zoneLabel: () => string;
|
|
17
|
+
export declare const groupLabel: () => string;
|
|
18
|
+
export declare const allGroups: () => string;
|
|
19
|
+
/** Monday to Sunday, short, in the UI's language (the rows of the run starts' grid). */
|
|
20
|
+
export declare function weekdayLabels(locale?: string): string[];
|
|
21
|
+
/** The headings and labels of the trends' sections. */
|
|
22
|
+
export declare const trendWords: () => {
|
|
23
|
+
runs: string;
|
|
24
|
+
attempts: string;
|
|
25
|
+
done: string;
|
|
26
|
+
cost: string;
|
|
27
|
+
tokens: string;
|
|
28
|
+
time: string;
|
|
29
|
+
costByDay: string;
|
|
30
|
+
costByDayTip: string;
|
|
31
|
+
kinds: string;
|
|
32
|
+
kind: string;
|
|
33
|
+
group: string;
|
|
34
|
+
tasks: string;
|
|
35
|
+
tasksDone: string;
|
|
36
|
+
partial: string;
|
|
37
|
+
medianTime: string;
|
|
38
|
+
totalTime: string;
|
|
39
|
+
models: string;
|
|
40
|
+
model: string;
|
|
41
|
+
sessions: string;
|
|
42
|
+
calls: string;
|
|
43
|
+
input: string;
|
|
44
|
+
output: string;
|
|
45
|
+
cacheRead: string;
|
|
46
|
+
cacheWrite: string;
|
|
47
|
+
outcomes: string;
|
|
48
|
+
outcome: string;
|
|
49
|
+
denials: string;
|
|
50
|
+
toolCalls: string;
|
|
51
|
+
pythonKinds: string;
|
|
52
|
+
tool: string;
|
|
53
|
+
usage: string;
|
|
54
|
+
usageTip: string;
|
|
55
|
+
deferred: string;
|
|
56
|
+
cause: string;
|
|
57
|
+
task: string;
|
|
58
|
+
when: string;
|
|
59
|
+
rests: string;
|
|
60
|
+
identity: string;
|
|
61
|
+
event: string;
|
|
62
|
+
starts: string;
|
|
63
|
+
startsTip: string;
|
|
64
|
+
run: string;
|
|
65
|
+
started: string;
|
|
66
|
+
trendPanels: string;
|
|
67
|
+
};
|
|
68
|
+
/** A count beside a title: `Not run | 64`. */
|
|
69
|
+
export declare const titled: (title: string, n: number) => string;
|
|
70
|
+
/** A deferral by a paused identity, the identity named when the run's sentence names it (`personal rests: ...`). */
|
|
71
|
+
export declare const pausedCause: (reason: string) => string;
|
|
72
|
+
/** A model's name with its coding agent: `sonnet | claude`. */
|
|
73
|
+
export declare const modelName: (agent: string, model: string) => string;
|
|
74
|
+
/** An identity's window in a line's name: `personal | weekly`. */
|
|
75
|
+
export declare const usageLine: (identity: string, window: string) => string;
|
|
76
|
+
/** A rest's start or end, in words. */
|
|
77
|
+
export declare const restEvent: (event: string | null | undefined) => string;
|
|
78
|
+
/** A day's share of an amount: `$1.20 a day`. */
|
|
79
|
+
export declare const perDay: (amount: string) => string;
|
|
80
|
+
/** The share of attempts done: `Done 97%`. */
|
|
81
|
+
export declare const doneShare: (pctText: string) => string;
|
|
82
|
+
/** The trends' empty state. */
|
|
83
|
+
export declare const noRunsInPeriod: () => string;
|
|
84
|
+
/** The period of an export, which a page cannot change. */
|
|
85
|
+
export declare const exportedPeriod: () => string;
|
|
86
|
+
//# sourceMappingURL=trends.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trends.d.ts","sourceRoot":"","sources":["../../src/words/trends.ts"],"names":[],"mappings":"AAIA,yFAAyF;AACzF,eAAO,MAAM,WAAW,QAAO,MAAuB,CAAC;AACvD,qFAAqF;AACrF,eAAO,MAAM,SAAS,QAAO,MAA+C,CAAC;AAC7E,uFAAuF;AACvF,eAAO,MAAM,cAAc,QAAO,MAA6I,CAAC;AAEhL,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAoB,GAAG,MAAM,CAI1E;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAoB,GAAG,MAAM,CAGtG;AAED,iDAAiD;AACjD,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,MAAkG,CAAC;AACxI,eAAO,MAAM,YAAY,QAAO,MAAyF,CAAC;AAC1H,eAAO,MAAM,SAAS,QAAO,MAAqE,CAAC;AACnG,eAAO,MAAM,OAAO,QAAO,MAAkE,CAAC;AAC9F,eAAO,MAAM,SAAS,QAAO,MAA0B,CAAC;AACxD,eAAO,MAAM,UAAU,QAAO,MAA0B,CAAC;AACzD,eAAO,MAAM,SAAS,QAAO,MAA+B,CAAC;AAE7D,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,GAAE,MAAoB,GAAG,MAAM,EAAE,CAIpE;AAED,uDAAuD;AACvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CrB,CAAC;AAEH,8CAA8C;AAC9C,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,EAAE,GAAG,MAAM,KAAG,MAA2B,CAAC;AAE9E,oHAAoH;AACpH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MAG5C,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAA+D,CAAC;AAEzH,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,QAAQ,MAAM,KAAG,MAAmC,CAAC;AAEjG,uCAAuC;AACvC,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAC8G,CAAC;AAE5K,iDAAiD;AACjD,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,KAAG,MAAgH,CAAC;AAEzJ,8CAA8C;AAC9C,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,MAAmC,CAAC;AAEhF,+BAA+B;AAC/B,eAAO,MAAM,cAAc,QAAO,MAAuC,CAAC;AAE1E,2DAA2D;AAC3D,eAAO,MAAM,cAAc,QAAO,MAAsC,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// Words for the trends: what the runs of a period add up to (`/api/trends`).
|
|
2
|
+
import { msg, str } from '@lit/localize';
|
|
3
|
+
import { getLocale } from '../core/i18n.js';
|
|
4
|
+
/** The trends page's name: in the run picker, the page's heading and the browser tab. */
|
|
5
|
+
export const trendsTitle = () => msg('Trends');
|
|
6
|
+
/** What the trends page shows, for the run picker's entry and the page's tooltip. */
|
|
7
|
+
export const trendsTip = () => msg('Totals of the runs in a period');
|
|
8
|
+
/** The trends page's first tab: the trends, with the custom views that name no tab. */
|
|
9
|
+
export const trendsFirstTab = () => msg('Summary', { desc: "The trends page's first tab: what the runs of the period add up to, beside the tabs of the custom views" });
|
|
10
|
+
/** A day of the period (YYYY-MM-DD) with its month as a word: `Oct 14`. */
|
|
11
|
+
export function dayLabel(day, locale = getLocale()) {
|
|
12
|
+
const d = new Date(`${day}T12:00:00Z`);
|
|
13
|
+
if (Number.isNaN(d.getTime()))
|
|
14
|
+
return day;
|
|
15
|
+
return new Intl.DateTimeFormat(locale, { month: 'short', day: 'numeric', timeZone: 'UTC' }).format(d);
|
|
16
|
+
}
|
|
17
|
+
/** The period in words: `Oct 1 to Oct 14, 2026 | Asia/Tokyo`. */
|
|
18
|
+
export function periodLabel(from, to, tz, locale = getLocale()) {
|
|
19
|
+
const year = to.slice(0, 4);
|
|
20
|
+
return msg(str `${dayLabel(from, locale)} to ${dayLabel(to, locale)}, ${year} | ${tz}`, { desc: 'The days the trends cover, and the time zone they are counted in' });
|
|
21
|
+
}
|
|
22
|
+
/** A length of period ending today: `7 days`. */
|
|
23
|
+
export const lastDays = (n) => msg(str `${n} days`, { desc: 'A period of the trends: the last N days, today included' });
|
|
24
|
+
export const customPeriod = () => msg('Dates', { desc: 'A period of the trends from one chosen day to another' });
|
|
25
|
+
export const fromLabel = () => msg('From', { desc: 'The first day of the trends period' });
|
|
26
|
+
export const toLabel = () => msg('To', { desc: 'The last day of the trends period' });
|
|
27
|
+
export const zoneLabel = () => msg('Time zone');
|
|
28
|
+
export const groupLabel = () => msg('Run group');
|
|
29
|
+
export const allGroups = () => msg('All run groups');
|
|
30
|
+
/** Monday to Sunday, short, in the UI's language (the rows of the run starts' grid). */
|
|
31
|
+
export function weekdayLabels(locale = getLocale()) {
|
|
32
|
+
const f = new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' });
|
|
33
|
+
// 2026-10-12 was a Monday.
|
|
34
|
+
return Array.from({ length: 7 }, (_, i) => f.format(new Date(Date.UTC(2026, 9, 12 + i, 12))));
|
|
35
|
+
}
|
|
36
|
+
/** The headings and labels of the trends' sections. */
|
|
37
|
+
export const trendWords = () => ({
|
|
38
|
+
runs: msg('Runs', { id: 'trends-runs', desc: 'How many runs worked in the trends period' }),
|
|
39
|
+
attempts: msg('Attempts'),
|
|
40
|
+
done: msg('Done'),
|
|
41
|
+
cost: msg('Cost'),
|
|
42
|
+
tokens: msg('Tokens'),
|
|
43
|
+
time: msg('Time'),
|
|
44
|
+
costByDay: msg('Cost by day'),
|
|
45
|
+
costByDayTip: msg('Reported by the coding agent, on the day each attempt ended'),
|
|
46
|
+
kinds: msg('Kinds'),
|
|
47
|
+
kind: msg('Kind'),
|
|
48
|
+
group: msg('Group'),
|
|
49
|
+
tasks: msg('Tasks'),
|
|
50
|
+
tasksDone: msg('Tasks done'),
|
|
51
|
+
partial: msg('Partly done', { id: 'trends-partial', desc: 'A column: tasks or attempts whose output is a placeholder (partial)' }),
|
|
52
|
+
medianTime: msg('Median time'),
|
|
53
|
+
totalTime: msg('Total time'),
|
|
54
|
+
models: msg('Models'),
|
|
55
|
+
model: msg('Model'),
|
|
56
|
+
sessions: msg('Agent sessions'),
|
|
57
|
+
calls: msg('API calls'),
|
|
58
|
+
input: msg('Input'),
|
|
59
|
+
output: msg('Output'),
|
|
60
|
+
cacheRead: msg('Cache read'),
|
|
61
|
+
cacheWrite: msg('Cache write'),
|
|
62
|
+
outcomes: msg('Attempts not done'),
|
|
63
|
+
outcome: msg('Outcome'),
|
|
64
|
+
denials: msg('Denied tool calls'),
|
|
65
|
+
toolCalls: msg('Tool calls'),
|
|
66
|
+
pythonKinds: msg('Python tasks'),
|
|
67
|
+
tool: msg('Tool'),
|
|
68
|
+
usage: msg('Subscription usage'),
|
|
69
|
+
usageTip: msg('The highest reading of each day'),
|
|
70
|
+
deferred: msg('Not run'),
|
|
71
|
+
cause: msg('Cause'),
|
|
72
|
+
task: msg('Task'),
|
|
73
|
+
when: msg('When'),
|
|
74
|
+
rests: msg('Paused identities'),
|
|
75
|
+
identity: msg('Identity'),
|
|
76
|
+
event: msg('Event'),
|
|
77
|
+
starts: msg('Run starts', { desc: 'How many runs started, by weekday and hour' }),
|
|
78
|
+
startsTip: msg('By weekday and hour, in the period\'s time zone'),
|
|
79
|
+
run: msg('Run'),
|
|
80
|
+
started: msg('Started'),
|
|
81
|
+
trendPanels: msg('Custom views'),
|
|
82
|
+
});
|
|
83
|
+
/** A count beside a title: `Not run | 64`. */
|
|
84
|
+
export const titled = (title, n) => `${title} | ${n}`;
|
|
85
|
+
/** A deferral by a paused identity, the identity named when the run's sentence names it (`personal rests: ...`). */
|
|
86
|
+
export const pausedCause = (reason) => {
|
|
87
|
+
const who = /^(\S+) rests\b/.exec(reason)?.[1];
|
|
88
|
+
return who ? msg(str `Identity ${who} paused`) : msg('Identity paused');
|
|
89
|
+
};
|
|
90
|
+
/** A model's name with its coding agent: `sonnet | claude`. */
|
|
91
|
+
export const modelName = (agent, model) => (agent ? `${model || '—'} | ${agent}` : model || '—');
|
|
92
|
+
/** An identity's window in a line's name: `personal | weekly`. */
|
|
93
|
+
export const usageLine = (identity, window) => `${identity} | ${window}`;
|
|
94
|
+
/** A rest's start or end, in words. */
|
|
95
|
+
export const restEvent = (event) => event === 'end' ? msg('ended', { desc: 'A paused identity was used again' }) : event === 'start' ? msg('started', { desc: 'An identity began its pause' }) : event || '—';
|
|
96
|
+
/** A day's share of an amount: `$1.20 a day`. */
|
|
97
|
+
export const perDay = (amount) => msg(str `${amount} a day`, { desc: 'An average over the days of the trends period that had any cost' });
|
|
98
|
+
/** The share of attempts done: `Done 97%`. */
|
|
99
|
+
export const doneShare = (pctText) => msg(str `Done ${pctText}`);
|
|
100
|
+
/** The trends' empty state. */
|
|
101
|
+
export const noRunsInPeriod = () => msg('No runs in this period');
|
|
102
|
+
/** The period of an export, which a page cannot change. */
|
|
103
|
+
export const exportedPeriod = () => msg('Period of this export');
|
|
104
|
+
//# sourceMappingURL=trends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trends.js","sourceRoot":"","sources":["../../src/words/trends.ts"],"names":[],"mappings":"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"}
|