@miragon/pulse-analytics-connector 0.0.0-stage → 0.21.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/LICENSE +21 -0
- package/README.md +87 -2
- package/dist/bpmn-name-lookup.d.ts +72 -0
- package/dist/bpmn-name-lookup.d.ts.map +1 -0
- package/dist/bpmn-name-lookup.js +123 -0
- package/dist/bpmn-name-lookup.js.map +1 -0
- package/dist/bpmn-name-lookup.test.d.ts +2 -0
- package/dist/bpmn-name-lookup.test.d.ts.map +1 -0
- package/dist/bpmn-name-lookup.test.js +287 -0
- package/dist/bpmn-name-lookup.test.js.map +1 -0
- package/dist/bpmn-names.d.ts +38 -0
- package/dist/bpmn-names.d.ts.map +1 -0
- package/dist/bpmn-names.js +22 -0
- package/dist/bpmn-names.js.map +1 -0
- package/dist/brand-gates.test.d.ts +2 -0
- package/dist/brand-gates.test.d.ts.map +1 -0
- package/dist/brand-gates.test.js +58 -0
- package/dist/brand-gates.test.js.map +1 -0
- package/dist/builder-texts.d.ts +4 -0
- package/dist/builder-texts.d.ts.map +1 -0
- package/dist/builder-texts.js +14 -0
- package/dist/builder-texts.js.map +1 -0
- package/dist/builder-texts.test.d.ts +2 -0
- package/dist/builder-texts.test.d.ts.map +1 -0
- package/dist/builder-texts.test.js +32 -0
- package/dist/builder-texts.test.js.map +1 -0
- package/dist/definition.d.ts +3 -0
- package/dist/definition.d.ts.map +1 -0
- package/dist/definition.js +151 -0
- package/dist/definition.js.map +1 -0
- package/dist/engine-ids.d.ts +42 -0
- package/dist/engine-ids.d.ts.map +1 -0
- package/dist/engine-ids.js +50 -0
- package/dist/engine-ids.js.map +1 -0
- package/dist/engine-scope.test.d.ts +2 -0
- package/dist/engine-scope.test.d.ts.map +1 -0
- package/dist/engine-scope.test.js +260 -0
- package/dist/engine-scope.test.js.map +1 -0
- package/dist/heatmap-data.d.ts +15 -0
- package/dist/heatmap-data.d.ts.map +1 -0
- package/dist/heatmap-data.js +2 -0
- package/dist/heatmap-data.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions.d.ts +8 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +33 -0
- package/dist/instructions.js.map +1 -0
- package/dist/messages/de.ask-ai.d.ts +9 -0
- package/dist/messages/de.ask-ai.d.ts.map +1 -0
- package/dist/messages/de.ask-ai.js +18 -0
- package/dist/messages/de.ask-ai.js.map +1 -0
- package/dist/messages/de.builder.d.ts +12 -0
- package/dist/messages/de.builder.d.ts.map +1 -0
- package/dist/messages/de.builder.js +53 -0
- package/dist/messages/de.builder.js.map +1 -0
- package/dist/messages/de.server.d.ts +8 -0
- package/dist/messages/de.server.d.ts.map +1 -0
- package/dist/messages/de.server.js +26 -0
- package/dist/messages/de.server.js.map +1 -0
- package/dist/messages/de.sweep.d.ts +10 -0
- package/dist/messages/de.sweep.d.ts.map +1 -0
- package/dist/messages/de.sweep.js +203 -0
- package/dist/messages/de.sweep.js.map +1 -0
- package/dist/messages/en.ask-ai.d.ts +25 -0
- package/dist/messages/en.ask-ai.d.ts.map +1 -0
- package/dist/messages/en.ask-ai.js +24 -0
- package/dist/messages/en.ask-ai.js.map +1 -0
- package/dist/messages/en.builder.d.ts +12 -0
- package/dist/messages/en.builder.d.ts.map +1 -0
- package/dist/messages/en.builder.js +53 -0
- package/dist/messages/en.builder.js.map +1 -0
- package/dist/messages/en.server.d.ts +8 -0
- package/dist/messages/en.server.d.ts.map +1 -0
- package/dist/messages/en.server.js +26 -0
- package/dist/messages/en.server.js.map +1 -0
- package/dist/messages/en.sweep.d.ts +11 -0
- package/dist/messages/en.sweep.d.ts.map +1 -0
- package/dist/messages/en.sweep.js +204 -0
- package/dist/messages/en.sweep.js.map +1 -0
- package/dist/messages/glossary.d.ts +26 -0
- package/dist/messages/glossary.d.ts.map +1 -0
- package/dist/messages/glossary.js +37 -0
- package/dist/messages/glossary.js.map +1 -0
- package/dist/messages/glossary.test.d.ts +2 -0
- package/dist/messages/glossary.test.d.ts.map +1 -0
- package/dist/messages/glossary.test.js +109 -0
- package/dist/messages/glossary.test.js.map +1 -0
- package/dist/messages/index.d.ts +12 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +23 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/messages/plural.d.ts +10 -0
- package/dist/messages/plural.d.ts.map +1 -0
- package/dist/messages/plural.js +17 -0
- package/dist/messages/plural.js.map +1 -0
- package/dist/messages/use-t.d.ts +10 -0
- package/dist/messages/use-t.d.ts.map +1 -0
- package/dist/messages/use-t.js +10 -0
- package/dist/messages/use-t.js.map +1 -0
- package/dist/module.d.ts +48 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +174 -0
- package/dist/module.js.map +1 -0
- package/dist/module.test.d.ts +2 -0
- package/dist/module.test.d.ts.map +1 -0
- package/dist/module.test.js +230 -0
- package/dist/module.test.js.map +1 -0
- package/dist/named-views.d.ts +27 -0
- package/dist/named-views.d.ts.map +1 -0
- package/dist/named-views.js +73 -0
- package/dist/named-views.js.map +1 -0
- package/dist/named-views.test.d.ts +2 -0
- package/dist/named-views.test.d.ts.map +1 -0
- package/dist/named-views.test.js +110 -0
- package/dist/named-views.test.js.map +1 -0
- package/dist/plugin.d.ts +44 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +52 -0
- package/dist/plugin.js.map +1 -0
- package/dist/prometheus-wiring.test.d.ts +2 -0
- package/dist/prometheus-wiring.test.d.ts.map +1 -0
- package/dist/prometheus-wiring.test.js +142 -0
- package/dist/prometheus-wiring.test.js.map +1 -0
- package/dist/server-locale.d.ts +48 -0
- package/dist/server-locale.d.ts.map +1 -0
- package/dist/server-locale.js +33 -0
- package/dist/server-locale.js.map +1 -0
- package/dist/settings-tools.d.ts +23 -0
- package/dist/settings-tools.d.ts.map +1 -0
- package/dist/settings-tools.js +100 -0
- package/dist/settings-tools.js.map +1 -0
- package/dist/settings.d.ts +77 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +99 -0
- package/dist/settings.js.map +1 -0
- package/dist/settings.test.d.ts +2 -0
- package/dist/settings.test.d.ts.map +1 -0
- package/dist/settings.test.js +299 -0
- package/dist/settings.test.js.map +1 -0
- package/dist/steps/app-config.d.ts +30 -0
- package/dist/steps/app-config.d.ts.map +1 -0
- package/dist/steps/app-config.js +46 -0
- package/dist/steps/app-config.js.map +1 -0
- package/dist/steps/dashboard.d.ts +12 -0
- package/dist/steps/dashboard.d.ts.map +1 -0
- package/dist/steps/dashboard.js +58 -0
- package/dist/steps/dashboard.js.map +1 -0
- package/dist/steps/failure-dashboard.d.ts +10 -0
- package/dist/steps/failure-dashboard.d.ts.map +1 -0
- package/dist/steps/failure-dashboard.js +32 -0
- package/dist/steps/failure-dashboard.js.map +1 -0
- package/dist/steps/index.d.ts +3 -0
- package/dist/steps/index.d.ts.map +1 -0
- package/dist/steps/index.js +3 -0
- package/dist/steps/index.js.map +1 -0
- package/dist/steps/steps.test.d.ts +2 -0
- package/dist/steps/steps.test.d.ts.map +1 -0
- package/dist/steps/steps.test.js +153 -0
- package/dist/steps/steps.test.js.map +1 -0
- package/dist/tool-names.d.ts +13 -0
- package/dist/tool-names.d.ts.map +1 -0
- package/dist/tool-names.js +27 -0
- package/dist/tool-names.js.map +1 -0
- package/dist/tools/cluster-compare.d.ts +8 -0
- package/dist/tools/cluster-compare.d.ts.map +1 -0
- package/dist/tools/cluster-compare.js +17 -0
- package/dist/tools/cluster-compare.js.map +1 -0
- package/dist/tools/element.d.ts +8 -0
- package/dist/tools/element.d.ts.map +1 -0
- package/dist/tools/element.js +25 -0
- package/dist/tools/element.js.map +1 -0
- package/dist/tools/engine-compare.d.ts +8 -0
- package/dist/tools/engine-compare.d.ts.map +1 -0
- package/dist/tools/engine-compare.js +18 -0
- package/dist/tools/engine-compare.js.map +1 -0
- package/dist/tools/engine-compare.test.d.ts +2 -0
- package/dist/tools/engine-compare.test.d.ts.map +1 -0
- package/dist/tools/engine-compare.test.js +166 -0
- package/dist/tools/engine-compare.test.js.map +1 -0
- package/dist/tools/engine-landscape.d.ts +7 -0
- package/dist/tools/engine-landscape.d.ts.map +1 -0
- package/dist/tools/engine-landscape.js +13 -0
- package/dist/tools/engine-landscape.js.map +1 -0
- package/dist/tools/engine-landscape.test.d.ts +2 -0
- package/dist/tools/engine-landscape.test.d.ts.map +1 -0
- package/dist/tools/engine-landscape.test.js +110 -0
- package/dist/tools/engine-landscape.test.js.map +1 -0
- package/dist/tools/failures.d.ts +7 -0
- package/dist/tools/failures.d.ts.map +1 -0
- package/dist/tools/failures.js +13 -0
- package/dist/tools/failures.js.map +1 -0
- package/dist/tools/health.d.ts +7 -0
- package/dist/tools/health.d.ts.map +1 -0
- package/dist/tools/health.js +23 -0
- package/dist/tools/health.js.map +1 -0
- package/dist/tools/health.test.d.ts +2 -0
- package/dist/tools/health.test.d.ts.map +1 -0
- package/dist/tools/health.test.js +119 -0
- package/dist/tools/health.test.js.map +1 -0
- package/dist/tools/index.d.ts +18 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +35 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/performance.d.ts +8 -0
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +25 -0
- package/dist/tools/performance.js.map +1 -0
- package/dist/tools/performance.test.d.ts +2 -0
- package/dist/tools/performance.test.d.ts.map +1 -0
- package/dist/tools/performance.test.js +176 -0
- package/dist/tools/performance.test.js.map +1 -0
- package/dist/tools/version-compare.d.ts +8 -0
- package/dist/tools/version-compare.d.ts.map +1 -0
- package/dist/tools/version-compare.js +17 -0
- package/dist/tools/version-compare.js.map +1 -0
- package/dist/tools/version-compare.test.d.ts +2 -0
- package/dist/tools/version-compare.test.d.ts.map +1 -0
- package/dist/tools/version-compare.test.js +82 -0
- package/dist/tools/version-compare.test.js.map +1 -0
- package/dist/toolsets.d.ts +17 -0
- package/dist/toolsets.d.ts.map +1 -0
- package/dist/toolsets.js +47 -0
- package/dist/toolsets.js.map +1 -0
- package/dist/toolsets.test.d.ts +2 -0
- package/dist/toolsets.test.d.ts.map +1 -0
- package/dist/toolsets.test.js +91 -0
- package/dist/toolsets.test.js.map +1 -0
- package/dist/view-title.test.d.ts +2 -0
- package/dist/view-title.test.d.ts.map +1 -0
- package/dist/view-title.test.js +91 -0
- package/dist/view-title.test.js.map +1 -0
- package/dist/widget-tools/comparisons.d.ts +13 -0
- package/dist/widget-tools/comparisons.d.ts.map +1 -0
- package/dist/widget-tools/comparisons.js +177 -0
- package/dist/widget-tools/comparisons.js.map +1 -0
- package/dist/widget-tools/comparisons.test.d.ts +2 -0
- package/dist/widget-tools/comparisons.test.d.ts.map +1 -0
- package/dist/widget-tools/comparisons.test.js +123 -0
- package/dist/widget-tools/comparisons.test.js.map +1 -0
- package/dist/widget-tools/shared.d.ts +36 -0
- package/dist/widget-tools/shared.d.ts.map +1 -0
- package/dist/widget-tools/shared.js +39 -0
- package/dist/widget-tools/shared.js.map +1 -0
- package/dist/widget-tools.d.ts +25 -0
- package/dist/widget-tools.d.ts.map +1 -0
- package/dist/widget-tools.js +269 -0
- package/dist/widget-tools.js.map +1 -0
- package/dist/widget-tools.test.d.ts +2 -0
- package/dist/widget-tools.test.d.ts.map +1 -0
- package/dist/widget-tools.test.js +272 -0
- package/dist/widget-tools.test.js.map +1 -0
- package/package.json +91 -3
- package/src/bpmn-name-lookup.test.ts +333 -0
- package/src/bpmn-name-lookup.ts +197 -0
- package/src/bpmn-names.ts +51 -0
- package/src/brand-gates.test.ts +69 -0
- package/src/builder-texts.test.ts +40 -0
- package/src/builder-texts.ts +15 -0
- package/src/definition.ts +181 -0
- package/src/engine-ids.ts +85 -0
- package/src/engine-scope.test.ts +324 -0
- package/src/heatmap-data.ts +14 -0
- package/src/index.ts +4 -0
- package/src/instructions.ts +33 -0
- package/src/messages/GLOSSARY.md +88 -0
- package/src/messages/de.ask-ai.ts +28 -0
- package/src/messages/de.builder.ts +77 -0
- package/src/messages/de.server.ts +39 -0
- package/src/messages/de.sweep.ts +244 -0
- package/src/messages/en.ask-ai.ts +34 -0
- package/src/messages/en.builder.ts +76 -0
- package/src/messages/en.server.ts +39 -0
- package/src/messages/en.sweep.ts +240 -0
- package/src/messages/glossary.test.ts +122 -0
- package/src/messages/glossary.ts +62 -0
- package/src/messages/index.ts +24 -0
- package/src/messages/plural.ts +18 -0
- package/src/messages/use-t.ts +12 -0
- package/src/module.test.ts +319 -0
- package/src/module.ts +211 -0
- package/src/named-views.test.ts +141 -0
- package/src/named-views.ts +97 -0
- package/src/plugin.ts +94 -0
- package/src/prometheus-wiring.test.ts +174 -0
- package/src/server-locale.ts +59 -0
- package/src/settings-tools.ts +170 -0
- package/src/settings.test.ts +402 -0
- package/src/settings.ts +114 -0
- package/src/steps/app-config.ts +75 -0
- package/src/steps/dashboard.ts +73 -0
- package/src/steps/failure-dashboard.ts +38 -0
- package/src/steps/index.ts +2 -0
- package/src/steps/steps.test.ts +216 -0
- package/src/tool-names.ts +26 -0
- package/src/tools/cluster-compare.ts +28 -0
- package/src/tools/element.ts +35 -0
- package/src/tools/engine-compare.test.ts +210 -0
- package/src/tools/engine-compare.ts +30 -0
- package/src/tools/engine-landscape.test.ts +138 -0
- package/src/tools/engine-landscape.ts +21 -0
- package/src/tools/failures.ts +19 -0
- package/src/tools/health.test.ts +156 -0
- package/src/tools/health.ts +29 -0
- package/src/tools/index.ts +44 -0
- package/src/tools/performance.test.ts +210 -0
- package/src/tools/performance.ts +38 -0
- package/src/tools/version-compare.test.ts +97 -0
- package/src/tools/version-compare.ts +28 -0
- package/src/toolsets.test.ts +107 -0
- package/src/toolsets.ts +56 -0
- package/src/view-title.test.ts +123 -0
- package/src/widget-tools/comparisons.test.ts +170 -0
- package/src/widget-tools/comparisons.ts +229 -0
- package/src/widget-tools/shared.ts +67 -0
- package/src/widget-tools.test.ts +306 -0
- package/src/widget-tools.ts +375 -0
- package/src/widgets/analytics-dashboard/activity-bottleneck-table.tsx +179 -0
- package/src/widgets/analytics-dashboard/definition-breakdown.tsx +108 -0
- package/src/widgets/analytics-dashboard/execution-performance-kpi.tsx +94 -0
- package/src/widgets/analytics-dashboard/execution-summary-kpi.tsx +122 -0
- package/src/widgets/analytics-dashboard/lib.ts +43 -0
- package/src/widgets/bpmn-heatmap.test.tsx +75 -0
- package/src/widgets/bpmn-heatmap.tsx +127 -0
- package/src/widgets/catalogue-sync.test.ts +16 -0
- package/src/widgets/cluster-compare.tsx +148 -0
- package/src/widgets/comparison-shared.test.ts +237 -0
- package/src/widgets/comparison-shared.tsx +371 -0
- package/src/widgets/comparison-widgets.test.tsx +307 -0
- package/src/widgets/dashboard-widgets.test.tsx +397 -0
- package/src/widgets/engine-compare.tsx +87 -0
- package/src/widgets/engine-landscape.tsx +352 -0
- package/src/widgets/failure-dashboard/error-patterns-table.tsx +122 -0
- package/src/widgets/failure-dashboard/failure-rate-table.test.ts +80 -0
- package/src/widgets/failure-dashboard/failure-rate-table.tsx +170 -0
- package/src/widgets/failure-dashboard/lib.ts +32 -0
- package/src/widgets/failure-dashboard/summary-kpi.tsx +122 -0
- package/src/widgets/failure-landscape-widgets.test.tsx +393 -0
- package/src/widgets/figure.tsx +79 -0
- package/src/widgets/hand-off.test.ts +126 -0
- package/src/widgets/hand-off.ts +102 -0
- package/src/widgets/index.ts +124 -0
- package/src/widgets/model-descriptions.dashboard.test.ts +280 -0
- package/src/widgets/model-descriptions.test.ts +251 -0
- package/src/widgets/model-descriptions.ts +428 -0
- package/src/widgets/names.test.ts +32 -0
- package/src/widgets/names.ts +39 -0
- package/src/widgets/query-gate.test.tsx +57 -0
- package/src/widgets/query-gate.tsx +50 -0
- package/src/widgets/settings-section.test.tsx +174 -0
- package/src/widgets/settings-section.tsx +244 -0
- package/src/widgets/version-compare.test.ts +68 -0
- package/src/widgets/version-compare.tsx +96 -0
- package/src/widgets/view-meta.ts +18 -0
- package/src/widgets/widget-render.test-support.tsx +103 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { plural } from "./plural.js";
|
|
2
|
+
/**
|
|
3
|
+
* English catalog of the analytics widgets. String templates use {name}
|
|
4
|
+
* placeholders interpolated by createTranslator; counted messages are
|
|
5
|
+
* `plural(…)` and take the count formatted for the view's locale. The voice
|
|
6
|
+
* rules (sentence case, active, no dash as a connector) and the terms of
|
|
7
|
+
* GLOSSARY.md are checked by `brand-gates.test.ts` and `glossary.test.ts`.
|
|
8
|
+
* Merged into the catalogs in index.ts.
|
|
9
|
+
*/
|
|
10
|
+
export const enSweep = {
|
|
11
|
+
"aActivityType.boundaryEvent": "Boundary event",
|
|
12
|
+
"aActivityType.businessRuleTask": "Business rule task",
|
|
13
|
+
"aActivityType.callActivity": "Call activity",
|
|
14
|
+
"aActivityType.endEvent": "End event",
|
|
15
|
+
"aActivityType.eventBasedGateway": "Event-based gateway",
|
|
16
|
+
"aActivityType.exclusiveGateway": "Exclusive gateway",
|
|
17
|
+
"aActivityType.inclusiveGateway": "Inclusive gateway",
|
|
18
|
+
"aActivityType.intermediateEvent": "Intermediate event",
|
|
19
|
+
"aActivityType.manualTask": "Manual task",
|
|
20
|
+
"aActivityType.parallelGateway": "Parallel gateway",
|
|
21
|
+
"aActivityType.receiveTask": "Receive task",
|
|
22
|
+
"aActivityType.scriptTask": "Script task",
|
|
23
|
+
"aActivityType.sendTask": "Send task",
|
|
24
|
+
"aActivityType.serviceTask": "Service task",
|
|
25
|
+
"aActivityType.startEvent": "Start event",
|
|
26
|
+
"aActivityType.subProcess": "Subprocess",
|
|
27
|
+
"aActivityType.task": "Task",
|
|
28
|
+
"aActivityType.userTask": "User task",
|
|
29
|
+
"aBottleneck.colActivity": "Activity",
|
|
30
|
+
"aBottleneck.colAvg": "Avg",
|
|
31
|
+
"aBottleneck.colExecutions": "Executions",
|
|
32
|
+
"aBottleneck.colP95": "P95",
|
|
33
|
+
"aBottleneck.colTotalTime": "Total time",
|
|
34
|
+
"aBottleneck.emptyHint": "Choose a longer period or check that the engines report metrics.",
|
|
35
|
+
"aBottleneck.emptyState": "No activity ended in this period",
|
|
36
|
+
"aBottleneck.heading": "Activities by total time",
|
|
37
|
+
"aBottleneck.headingTop": "Top {count} by total time",
|
|
38
|
+
"aBottleneck.tableLabel": "Activities per process, sorted by total execution time",
|
|
39
|
+
"aBottleneck.topNote": plural("count", "The activity with the most total time, of {total}.", "The {count} activities with the most total time, of {total}."),
|
|
40
|
+
"aClusterCompare.afterLabel": "After",
|
|
41
|
+
"aClusterCompare.beforeLabel": "Before",
|
|
42
|
+
"aClusterCompare.deployBadge": "Deployment: {timestamp}",
|
|
43
|
+
"aClusterCompare.elementBadge": "Element: {activityId}",
|
|
44
|
+
"aClusterCompare.incompleteData": "One side of the comparison returned no figures. Choose longer periods around the deployment.",
|
|
45
|
+
"aClusterCompare.insufficientSignal": plural("minBucketSize", "Too little data: fewer than 1 instance per side", "Too little data: fewer than {minBucketSize} instances per side"),
|
|
46
|
+
"aClusterCompare.noData": "There are no figures for this deployment. Check the timestamp or choose longer periods.",
|
|
47
|
+
"aClusterCompare.partialBadge": "Period cut short",
|
|
48
|
+
"aClusterCompare.period": "{before} before, {after} after",
|
|
49
|
+
"aClusterCompare.tableLabel": "Metrics before and after the deployment",
|
|
50
|
+
"aClusterCompare.title": "Before and after the deployment",
|
|
51
|
+
"aCommon.days": plural("count", "1 day", "{count} days"),
|
|
52
|
+
"aCommon.hours": plural("count", "1 hour", "{count} hours"),
|
|
53
|
+
"aCommon.loadError": "Could not load the figures.",
|
|
54
|
+
"aCommon.minutes": plural("count", "1 minute", "{count} minutes"),
|
|
55
|
+
"aCommon.underOneMinute": "under 1 minute",
|
|
56
|
+
"aComparison.deltaBetter": "better",
|
|
57
|
+
"aComparison.deltaColumnHeader": "Change",
|
|
58
|
+
"aComparison.deltaNotReliable": "not reliable",
|
|
59
|
+
"aComparison.deltaWorse": "worse",
|
|
60
|
+
"aComparison.metricAvgDuration": "Avg duration",
|
|
61
|
+
"aComparison.metricColumnHeader": "Metric",
|
|
62
|
+
"aComparison.metricElementIncidentRate": "Incidents per 100 starts at the element",
|
|
63
|
+
"aComparison.metricIncidentRate": "Incidents per 100 starts",
|
|
64
|
+
"aComparison.metricP95Duration": "P95 duration",
|
|
65
|
+
"aComparison.metricStarted": "Starts (change per day)",
|
|
66
|
+
"aComparison.valueUnavailable": "not measured",
|
|
67
|
+
"aDefBreakdown.colAvgDuration": "Avg duration",
|
|
68
|
+
"aDefBreakdown.colCompleted": "Completed",
|
|
69
|
+
"aDefBreakdown.colIncidents": "New incidents",
|
|
70
|
+
"aDefBreakdown.colProcess": "Process",
|
|
71
|
+
"aDefBreakdown.colRunningNow": "Running now",
|
|
72
|
+
"aDefBreakdown.colStarted": "Started",
|
|
73
|
+
"aDefBreakdown.emptyHint": "Choose a longer period or check that the engines report metrics.",
|
|
74
|
+
"aDefBreakdown.emptyState": "No process started or ran in this period",
|
|
75
|
+
"aDefBreakdown.heading": "By process definition",
|
|
76
|
+
"aDefBreakdown.tableLabel": "Starts, completions, running instances and incidents per process",
|
|
77
|
+
"aEngineCompare.elementBadge": "Element: {id}",
|
|
78
|
+
"aEngineCompare.emptyIncomplete": "One engine returned no figures for this process. Check that both engines run it, or choose a longer period.",
|
|
79
|
+
"aEngineCompare.emptyNoData": "There are no figures for this process on these engines. Check that both engines run it, or choose a longer period.",
|
|
80
|
+
"aEngineCompare.enginesBadge": "{engineA} → {engineB}",
|
|
81
|
+
"aEngineCompare.suppressed": plural("min", "Too little data: fewer than 1 instance per engine", "Too little data: fewer than {min} instances per engine"),
|
|
82
|
+
"aEngineCompare.tableLabel": "Metrics of one process on two engines",
|
|
83
|
+
"aEngineCompare.title": "Engine comparison",
|
|
84
|
+
"aErrorPatterns.columnAi": "Chat hand-off",
|
|
85
|
+
"aErrorPatterns.columnCount": "Open",
|
|
86
|
+
"aErrorPatterns.columnIncidentType": "Incident type",
|
|
87
|
+
"aErrorPatterns.columnProcess": "Process",
|
|
88
|
+
"aErrorPatterns.emptyDescription": "No incident is open right now.",
|
|
89
|
+
"aErrorPatterns.emptyNoPatterns": "There are no open incident groups right now.",
|
|
90
|
+
"aErrorPatterns.emptyTitle": "No open incidents",
|
|
91
|
+
"aErrorPatterns.heading": "Open incidents by type",
|
|
92
|
+
"aErrorPatterns.tableAriaLabel": "Open incidents by incident type and process",
|
|
93
|
+
"aExecPerf.avgDuration": "Avg duration",
|
|
94
|
+
"aExecPerf.headerLabel": "Execution performance",
|
|
95
|
+
"aExecPerf.incidentRate": "Incidents per 100 starts",
|
|
96
|
+
"aExecPerf.median": "Median",
|
|
97
|
+
"aExecPerf.p95": "P95",
|
|
98
|
+
"aExecPerf.previous": "Previous period: {value}",
|
|
99
|
+
"aExecPerf.previousJudged": "Previous period: {value}, {verdict}",
|
|
100
|
+
"aExecPerf.previousNoStarts": "Previous period: no starts",
|
|
101
|
+
"aExecSummary.cellCompleted": "Completed",
|
|
102
|
+
"aExecSummary.cellIncidentsCreated": "New incidents",
|
|
103
|
+
"aExecSummary.cellOpenIncidentsNow": "Open incidents now",
|
|
104
|
+
"aExecSummary.cellRunningNow": "Running now",
|
|
105
|
+
"aExecSummary.cellStarted": "Started",
|
|
106
|
+
"aExecSummary.headerExecutionSummary": "Execution summary",
|
|
107
|
+
"aExecSummary.title": "Process analytics",
|
|
108
|
+
"aFailureRate.colAi": "Chat hand-off",
|
|
109
|
+
"aFailureRate.colDeadJobs": "Jobs without retries",
|
|
110
|
+
"aFailureRate.colIncidentRate": "Incidents per 100 running instances",
|
|
111
|
+
"aFailureRate.colOpenIncidents": "Open incidents",
|
|
112
|
+
"aFailureRate.colProcess": "Process",
|
|
113
|
+
"aFailureRate.colRunningNow": "Running now",
|
|
114
|
+
"aFailureRate.emptyState": "No process has open incidents right now.",
|
|
115
|
+
"aFailureRate.heading": "Open incidents by process",
|
|
116
|
+
"aFailureRate.tableLabel": "Open incidents per 100 running instances by process definition",
|
|
117
|
+
"aFailureSummary.mostAffected": "Most affected",
|
|
118
|
+
"aFailureSummary.mostAffectedNone": "No process",
|
|
119
|
+
"aFailureSummary.summaryAriaLabel": "Failure analysis summary",
|
|
120
|
+
"aFailureSummary.title": "Failure analysis",
|
|
121
|
+
"aFailureSummary.totalIncidents": "Open incidents",
|
|
122
|
+
"aFailureSummary.uniqueErrorPatterns": "Incident groups",
|
|
123
|
+
"aFigure.noRate": "No running instance reported: no rate",
|
|
124
|
+
"aFigure.notReported": "No engine reports this figure: unknown",
|
|
125
|
+
"aFigure.nothingEnded": "Nothing ended in this period: no duration",
|
|
126
|
+
"aHeatmap.bpmnNoCamunda7": "The diagram is not available here: without the camunda7 module, analytics cannot load BPMN files. Ask in the chat for the figures per activity instead.",
|
|
127
|
+
"aHeatmap.bpmnNotLoaded": "Could not load the diagram: no engine in this view returned it. Check that the engines are reachable and the process is deployed, or ask in the chat for the figures per activity.",
|
|
128
|
+
"aHeatmap.bpmnUnavailable": "Could not load the diagram. Ask in the chat for the figures per activity instead.",
|
|
129
|
+
"aHeatmap.diagramAria": "BPMN diagram with the execution heat per element",
|
|
130
|
+
"aHeatmap.duration": "Duration",
|
|
131
|
+
"aHeatmap.durationLegend": "Average duration per element",
|
|
132
|
+
"aHeatmap.errorHint": "Ask in the chat to show the heatmap again.",
|
|
133
|
+
"aHeatmap.errorTitle": "Could not draw the diagram.",
|
|
134
|
+
"aHeatmap.frequency": "Frequency",
|
|
135
|
+
"aHeatmap.frequencyLegend": "Executions per element",
|
|
136
|
+
"aHeatmap.less": "Less",
|
|
137
|
+
"aHeatmap.more": "More",
|
|
138
|
+
"aHeatmap.noData": "There are no heatmap figures for this process. Check the process key or choose a longer period.",
|
|
139
|
+
"aHeatmap.noHeat": "No element ran in this period. Choose a longer period.",
|
|
140
|
+
"aHeatmap.title": "BPMN heatmap",
|
|
141
|
+
"aHeatmap.window": "Period:",
|
|
142
|
+
"aLandscape.colCompare": "Compare across engines",
|
|
143
|
+
"aLandscape.colDueFuture": "Due later",
|
|
144
|
+
"aLandscape.colEngine": "Engine",
|
|
145
|
+
"aLandscape.colExecutable": "Executable jobs",
|
|
146
|
+
"aLandscape.colExternalTasks": "External tasks",
|
|
147
|
+
"aLandscape.colFailedJobs": "Jobs without retries",
|
|
148
|
+
"aLandscape.colIncidents": "Incidents",
|
|
149
|
+
"aLandscape.colProcess": "Process definition",
|
|
150
|
+
"aLandscape.colProcesses": "Definitions",
|
|
151
|
+
"aLandscape.colRunning": "Running",
|
|
152
|
+
"aLandscape.colSuspended": "Suspended jobs",
|
|
153
|
+
"aLandscape.compareLabel": "Compare “{key}” across its engines in chat",
|
|
154
|
+
"aLandscape.emptyEngines": "No engine reports metrics. Check that the metrics plugin runs on the engines and that Prometheus scrapes them.",
|
|
155
|
+
"aLandscape.emptyProcesses": "No engine reports a process definition. Check that the engines report metrics.",
|
|
156
|
+
"aLandscape.engines.hint": "absolute load and job backlog",
|
|
157
|
+
"aLandscape.engines.tableLabel": "Load and job backlog per engine",
|
|
158
|
+
"aLandscape.engines.title": "Per engine",
|
|
159
|
+
"aLandscape.exclusiveSuffix": "({count} only here)",
|
|
160
|
+
"aLandscape.groupBacklog": "Job backlog, comparable across engines",
|
|
161
|
+
"aLandscape.groupLoad": "Load (absolute)",
|
|
162
|
+
"aLandscape.heading": "Cross-engine landscape",
|
|
163
|
+
"aLandscape.headingHint": "What runs where. Not a ranking of the engines.",
|
|
164
|
+
"aLandscape.kpiEngines": "Engines",
|
|
165
|
+
"aLandscape.kpiEnginesSilent": "{count} without metrics",
|
|
166
|
+
"aLandscape.kpiIncidents": "Open incidents",
|
|
167
|
+
"aLandscape.kpiProcesses": "Process definitions",
|
|
168
|
+
"aLandscape.kpiProcessesShared": "{count} on several engines",
|
|
169
|
+
"aLandscape.kpiRunning": "Running instances",
|
|
170
|
+
"aLandscape.legendNotDeployed": "An empty cell means the process is not deployed on that engine.",
|
|
171
|
+
"aLandscape.matrix.hint": "running instances per engine",
|
|
172
|
+
"aLandscape.matrix.tableLabel": "Process definitions by engine",
|
|
173
|
+
"aLandscape.matrix.title": "What runs where",
|
|
174
|
+
"aLandscape.mixNote": "Engines run different processes, so their failure rates and durations describe the process mix, not the engine. This view therefore shows counts. You can compare metrics only for definitions that run on more than one engine.",
|
|
175
|
+
"aLandscape.noMetrics": "no metrics",
|
|
176
|
+
"aLandscape.notDeployed": "not deployed on this engine",
|
|
177
|
+
"aLandscape.sharedBadge": plural("count", "on 1 engine", "on {count} engines"),
|
|
178
|
+
"aLandscape.silentNote": plural("count", "No column for {engines}: this engine sends no metrics.", "No columns for {engines}: these engines send no metrics."),
|
|
179
|
+
"aLandscape.unknown": "No metrics from this engine: figure unknown",
|
|
180
|
+
"aSettings.heading": "Analytics settings",
|
|
181
|
+
"aSettings.loadError": "Could not load the settings.",
|
|
182
|
+
"aSettings.minBucket": "Minimum size for comparisons",
|
|
183
|
+
"aSettings.minBucket.help": "How many instances each side of a comparison needs before it shows a verdict.",
|
|
184
|
+
"aSettings.minBucket.invalid": "Enter a whole number of 1 or more.",
|
|
185
|
+
"aSettings.period": "Default period",
|
|
186
|
+
"aSettings.period.help": "Applies when you ask for analytics without naming a period.",
|
|
187
|
+
"aSettings.readOnly": "This connection can't save settings. To change them, sign in through a connection with the analytics toolset standard.",
|
|
188
|
+
"aSettings.readOnlyTitle": "Read only",
|
|
189
|
+
"aSettings.save": "Save",
|
|
190
|
+
"aSettings.saveError": "Could not save the settings. Your entries are still here, so try again.",
|
|
191
|
+
"aSettings.saveFailed": "Saving failed: {reason}. Your entries are still here, so try again.",
|
|
192
|
+
"aSettings.savedToast": "Settings saved",
|
|
193
|
+
"aSettings.saveFailedToast": "Couldn't save the settings",
|
|
194
|
+
"aSettings.saving": "Saving…",
|
|
195
|
+
"aSettings.section": "Analytics defaults",
|
|
196
|
+
"aSettings.subtitle": "Defaults for analytics requests that leave a value open.",
|
|
197
|
+
"aVersionCompare.badgeInsufficientSignal": plural("min", "Too little data: fewer than 1 instance per version", "Too little data: fewer than {min} instances per version"),
|
|
198
|
+
"aVersionCompare.emptyIncomplete": "One version returned no figures. Check the version numbers or choose a longer period.",
|
|
199
|
+
"aVersionCompare.emptyNoData": "There are no instances of these versions in this period. Check the version numbers or choose a longer period.",
|
|
200
|
+
"aVersionCompare.tableLabel": "Metrics of two process versions",
|
|
201
|
+
"aVersionCompare.title": "Version comparison",
|
|
202
|
+
"aVersionCompare.versionsBadge": "v{versionA} → v{versionB}",
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=en.sweep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.sweep.js","sourceRoot":"","sources":["../../src/messages/en.sweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The analytics glossary as data: the word the catalogs use per language and
|
|
3
|
+
* the synonyms they never use. `GLOSSARY.md` documents the same terms for
|
|
4
|
+
* people; `glossary.test.ts` holds every catalog to this list and checks that
|
|
5
|
+
* the document names each term. The terms analytics shares with the other
|
|
6
|
+
* modules' views (Incident, Jobs ohne Versuche, bereitstellen,
|
|
7
|
+
* Geschäftsschlüssel, aussetzen, Versuche, alle Engines) are the kit's
|
|
8
|
+
* `PRODUCT_GLOSSARY` (`@miragon/pulse-widget-shell/testing`), run by the same test.
|
|
9
|
+
*/
|
|
10
|
+
export interface GlossaryTerm {
|
|
11
|
+
/** The German word the catalogs use. */
|
|
12
|
+
de: string;
|
|
13
|
+
/** The English word the catalogs use. */
|
|
14
|
+
en: string;
|
|
15
|
+
/** Synonyms the German catalogs never use. */
|
|
16
|
+
avoidDe: readonly RegExp[];
|
|
17
|
+
/** Synonyms the English catalogs never use. */
|
|
18
|
+
avoidEn: readonly RegExp[];
|
|
19
|
+
/**
|
|
20
|
+
* `ui`: only the widget texts and the Ask-AI intents (what the person
|
|
21
|
+
* reads); the model-facing summaries keep their technical words.
|
|
22
|
+
*/
|
|
23
|
+
scope?: "ui";
|
|
24
|
+
}
|
|
25
|
+
export declare const GLOSSARY: readonly GlossaryTerm[];
|
|
26
|
+
//# sourceMappingURL=glossary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glossary.d.ts","sourceRoot":"","sources":["../../src/messages/glossary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,8CAA8C;IAC9C,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,CAAA;CACb;AAOD,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EA+B3C,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** A word start: no letter before it (compounds like "Bucketgröße" still match). */
|
|
2
|
+
const start = (word, flags = "iu") => new RegExp(`(?<!\\p{L})${word}`, flags);
|
|
3
|
+
/** A whole word: no letter before or after it ("aktiv", but not "Aktivität"). */
|
|
4
|
+
const word = (w, flags = "iu") => new RegExp(`(?<!\\p{L})${w}(?!\\p{L})`, flags);
|
|
5
|
+
export const GLOSSARY = [
|
|
6
|
+
{ de: "AI", en: "AI", avoidDe: [word("KI", "u")], avoidEn: [] },
|
|
7
|
+
{ de: "laufend", en: "running", avoidDe: [word("aktiv(e|en)?")], avoidEn: [word("active")] },
|
|
8
|
+
{
|
|
9
|
+
de: "nicht belastbar",
|
|
10
|
+
en: "not reliable",
|
|
11
|
+
avoidDe: [start("unzureichend"), word("signal")],
|
|
12
|
+
avoidEn: [start("insufficient\\s+signal")],
|
|
13
|
+
scope: "ui",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
de: "Zeitraum",
|
|
17
|
+
en: "period",
|
|
18
|
+
avoidDe: [start("(zeit)?fenster"), start("bucket")],
|
|
19
|
+
avoidEn: [word("windows?"), start("bucket")],
|
|
20
|
+
scope: "ui",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
de: "Kennzahl",
|
|
24
|
+
en: "metric",
|
|
25
|
+
avoidDe: [word("KPIs?", "u")],
|
|
26
|
+
avoidEn: [word("KPIs?", "u")],
|
|
27
|
+
scope: "ui",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
de: "Stand",
|
|
31
|
+
en: "as of",
|
|
32
|
+
avoidDe: [start("snapshot")],
|
|
33
|
+
avoidEn: [start("snapshot")],
|
|
34
|
+
scope: "ui",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
//# sourceMappingURL=glossary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../src/messages/glossary.ts"],"names":[],"mappings":"AAyBA,oFAAoF;AACpF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;AACrF,iFAAiF;AACjF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/D,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;IAC5F;QACE,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC1C,KAAK,EAAE,IAAI;KACZ;IACD;QACE,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,KAAK,EAAE,IAAI;KACZ;IACD;QACE,EAAE,EAAE,UAAU;QACd,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7B,KAAK,EAAE,IAAI;KACZ;IACD;QACE,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,KAAK,EAAE,IAAI;KACZ;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glossary.test.d.ts","sourceRoot":"","sources":["../../src/messages/glossary.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { blindGlossaryRules, glossaryFindings, PRODUCT_GLOSSARY, unnamedGlossaryTerms, } from "@miragon/pulse-widget-shell/testing";
|
|
4
|
+
import { deAskAi } from "./de.ask-ai.js";
|
|
5
|
+
import { deBuilder } from "./de.builder.js";
|
|
6
|
+
import { deServer } from "./de.server.js";
|
|
7
|
+
import { deSweep } from "./de.sweep.js";
|
|
8
|
+
import { enAskAi } from "./en.ask-ai.js";
|
|
9
|
+
import { enBuilder } from "./en.builder.js";
|
|
10
|
+
import { enServer } from "./en.server.js";
|
|
11
|
+
import { enSweep } from "./en.sweep.js";
|
|
12
|
+
import { GLOSSARY } from "./glossary.js";
|
|
13
|
+
/**
|
|
14
|
+
* One term, one word (GLOSSARY.md): no catalog uses a synonym the glossary
|
|
15
|
+
* rules out — "nicht belastbar", never "unzureichendes Signal"; "Zeitraum",
|
|
16
|
+
* never "Fenster". The terms analytics' views share with camunda7's (its
|
|
17
|
+
* landscape sits inside camunda7's cross-engine cockpit) are the kit's
|
|
18
|
+
* `PRODUCT_GLOSSARY`: "Incident", never "Vorfall"; "Jobs ohne Versuche",
|
|
19
|
+
* never "Fehlgeschlagene Jobs" or "tote Jobs"; "bereitgestellt", never
|
|
20
|
+
* "deployt". camunda7 runs the same list over its catalogs. A counted entry
|
|
21
|
+
* is rendered with 1 and 2, so both forms are checked.
|
|
22
|
+
*/
|
|
23
|
+
/** Every entry as text: strings as they are, counted entries for 1 and for 2. */
|
|
24
|
+
function texts(catalog) {
|
|
25
|
+
return Object.entries(catalog).flatMap(([key, message]) => {
|
|
26
|
+
if (typeof message === "string")
|
|
27
|
+
return [[key, message]];
|
|
28
|
+
// Every parameter is the count n.
|
|
29
|
+
const params = (n) => new Proxy({}, { get: () => n });
|
|
30
|
+
return [
|
|
31
|
+
[key, message(params(1))],
|
|
32
|
+
[key, message(params(2))],
|
|
33
|
+
];
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const CATALOGS = {
|
|
37
|
+
de: { ui: [deSweep, deAskAi, deBuilder], model: [deServer] },
|
|
38
|
+
en: { ui: [enSweep, enAskAi, enBuilder], model: [enServer] },
|
|
39
|
+
};
|
|
40
|
+
function offenders(language) {
|
|
41
|
+
const found = [];
|
|
42
|
+
for (const term of GLOSSARY) {
|
|
43
|
+
const avoid = language === "de" ? term.avoidDe : term.avoidEn;
|
|
44
|
+
const catalogs = term.scope === "ui"
|
|
45
|
+
? CATALOGS[language].ui
|
|
46
|
+
: [...CATALOGS[language].ui, ...CATALOGS[language].model];
|
|
47
|
+
for (const catalog of catalogs) {
|
|
48
|
+
for (const [key, text] of texts(catalog)) {
|
|
49
|
+
for (const pattern of avoid) {
|
|
50
|
+
const hit = pattern.exec(text);
|
|
51
|
+
if (hit)
|
|
52
|
+
found.push(`${key}: "${hit[0]}" instead of "${term[language]}"`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return found;
|
|
58
|
+
}
|
|
59
|
+
describe("the catalogs use the glossary's words", () => {
|
|
60
|
+
it.each(["de", "en"])("%s: no synonym the glossary rules out", (language) => {
|
|
61
|
+
expect(offenders(language)).toEqual([]);
|
|
62
|
+
});
|
|
63
|
+
// Widget texts, hand-off intents and model summaries alike.
|
|
64
|
+
it.each(["de", "en"])("%s: the product-wide terms shared with camunda7", (language) => {
|
|
65
|
+
const { ui, model } = CATALOGS[language];
|
|
66
|
+
for (const catalog of [...ui, ...model]) {
|
|
67
|
+
expect(glossaryFindings(catalog, PRODUCT_GLOSSARY[language])).toEqual([]);
|
|
68
|
+
}
|
|
69
|
+
expect(blindGlossaryRules(PRODUCT_GLOSSARY[language])).toEqual([]);
|
|
70
|
+
});
|
|
71
|
+
it("names every term in GLOSSARY.md, so the document and the check cannot drift", () => {
|
|
72
|
+
const doc = readFileSync(new URL("./GLOSSARY.md", import.meta.url), "utf8");
|
|
73
|
+
for (const term of GLOSSARY) {
|
|
74
|
+
expect(doc, term.de).toContain(term.de);
|
|
75
|
+
expect(doc, term.en).toContain(term.en);
|
|
76
|
+
}
|
|
77
|
+
expect(unnamedGlossaryTerms(doc, [...PRODUCT_GLOSSARY.de, ...PRODUCT_GLOSSARY.en])).toEqual([]);
|
|
78
|
+
});
|
|
79
|
+
it("catches a ruled-out synonym (the check is not decoration)", () => {
|
|
80
|
+
const running = GLOSSARY.find((term) => term.de === "laufend");
|
|
81
|
+
expect(running.avoidDe.some((p) => p.test("Aktiv"))).toBe(true);
|
|
82
|
+
expect(running.avoidDe.some((p) => p.test("Aktivität"))).toBe(false);
|
|
83
|
+
const period = GLOSSARY.find((term) => term.de === "Zeitraum");
|
|
84
|
+
expect(period.avoidDe.some((p) => p.test("Zeitfenster"))).toBe(true);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* The hand-off buttons' labels and icons are the kit's `HandOffButton`
|
|
89
|
+
* vocabulary (one per function, the same as camunda7's). The landscape's
|
|
90
|
+
* per-row title names its process and must say where the work happens too.
|
|
91
|
+
*/
|
|
92
|
+
describe("every hand-off title says it goes to the chat", () => {
|
|
93
|
+
it.each([
|
|
94
|
+
["de", deSweep],
|
|
95
|
+
["en", enSweep],
|
|
96
|
+
])("%s", (_language, catalog) => {
|
|
97
|
+
const titles = texts(catalog).filter(([key]) => key === "aLandscape.compareLabel");
|
|
98
|
+
expect(titles.length).toBeGreaterThan(0);
|
|
99
|
+
for (const [key, text] of titles)
|
|
100
|
+
expect(text, key).toMatch(/chat/i);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
describe("the German and English catalogs carry the same keys", () => {
|
|
104
|
+
it("sweep and server", () => {
|
|
105
|
+
expect(Object.keys(deSweep).sort()).toEqual(Object.keys(enSweep).sort());
|
|
106
|
+
expect(Object.keys(deServer).sort()).toEqual(Object.keys(enServer).sort());
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=glossary.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glossary.test.js","sourceRoot":"","sources":["../../src/messages/glossary.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Catalogs } from "@miragon/mcp-toolkit-core";
|
|
2
|
+
/**
|
|
3
|
+
* The analytics module's message catalogs, keyed by locale. The locale source is
|
|
4
|
+
* the global server ProfileGate (`<LocaleProvider>`); `en` is the fallback.
|
|
5
|
+
* Analytics ships the per-widget sweep catalogs, the server strings and the
|
|
6
|
+
* Ask-AI intents (`askAi.*`) and the view builder's names (`builder.*`). Shared by server summaries
|
|
7
|
+
* (`translator(locale, key)`) and widgets (`useT()`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const catalogs: Catalogs;
|
|
10
|
+
/** Resolve a message for an explicit locale (server side, or direct UI calls). */
|
|
11
|
+
export declare const translator: import("@miragon/mcp-toolkit-core").Translate;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAU3E;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,QAGtB,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,UAAU,+CAA6B,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createTranslator } from "@miragon/mcp-toolkit-core";
|
|
2
|
+
import { enSweep } from "./en.sweep.js";
|
|
3
|
+
import { deSweep } from "./de.sweep.js";
|
|
4
|
+
import { enServer } from "./en.server.js";
|
|
5
|
+
import { deServer } from "./de.server.js";
|
|
6
|
+
import { enAskAi } from "./en.ask-ai.js";
|
|
7
|
+
import { deAskAi } from "./de.ask-ai.js";
|
|
8
|
+
import { enBuilder } from "./en.builder.js";
|
|
9
|
+
import { deBuilder } from "./de.builder.js";
|
|
10
|
+
/**
|
|
11
|
+
* The analytics module's message catalogs, keyed by locale. The locale source is
|
|
12
|
+
* the global server ProfileGate (`<LocaleProvider>`); `en` is the fallback.
|
|
13
|
+
* Analytics ships the per-widget sweep catalogs, the server strings and the
|
|
14
|
+
* Ask-AI intents (`askAi.*`) and the view builder's names (`builder.*`). Shared by server summaries
|
|
15
|
+
* (`translator(locale, key)`) and widgets (`useT()`).
|
|
16
|
+
*/
|
|
17
|
+
export const catalogs = {
|
|
18
|
+
en: { ...enSweep, ...enServer, ...enAskAi, ...enBuilder },
|
|
19
|
+
de: { ...deSweep, ...deServer, ...deAskAi, ...deBuilder },
|
|
20
|
+
};
|
|
21
|
+
/** Resolve a message for an explicit locale (server side, or direct UI calls). */
|
|
22
|
+
export const translator = createTranslator(catalogs);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE;IACzD,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE;CAC1D,CAAA;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Message } from "@miragon/mcp-toolkit-core";
|
|
2
|
+
/**
|
|
3
|
+
* A counted message: `one` when the count param is exactly 1, `other`
|
|
4
|
+
* otherwise — no "1 incidents", no "Instanz(en)" in a view. `{name}`
|
|
5
|
+
* placeholders take the params as given, so a widget passes the count
|
|
6
|
+
* already formatted for the view's locale (`formatNumber(n)`): "1" reads as
|
|
7
|
+
* one in every locale this module speaks, "1.234" and "1,234" as many.
|
|
8
|
+
*/
|
|
9
|
+
export declare function plural(param: string, one: string, other: string): Message;
|
|
10
|
+
//# sourceMappingURL=plural.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plural.d.ts","sourceRoot":"","sources":["../../src/messages/plural.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQzE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A counted message: `one` when the count param is exactly 1, `other`
|
|
3
|
+
* otherwise — no "1 incidents", no "Instanz(en)" in a view. `{name}`
|
|
4
|
+
* placeholders take the params as given, so a widget passes the count
|
|
5
|
+
* already formatted for the view's locale (`formatNumber(n)`): "1" reads as
|
|
6
|
+
* one in every locale this module speaks, "1.234" and "1,234" as many.
|
|
7
|
+
*/
|
|
8
|
+
export function plural(param, one, other) {
|
|
9
|
+
return (params) => {
|
|
10
|
+
const template = String(params[param]) === "1" ? one : other;
|
|
11
|
+
return template.replace(/\{(\w+)\}/g, (whole, name) => {
|
|
12
|
+
const value = params[name];
|
|
13
|
+
return value === undefined ? whole : String(value);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=plural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plural.js","sourceRoot":"","sources":["../../src/messages/plural.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC9D,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;QAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAgC,CAAA;YACzD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type T } from "@miragon/pulse-widget-shell/widgets";
|
|
2
|
+
export type { T };
|
|
3
|
+
/**
|
|
4
|
+
* Analytics-side translate bound to the active locale (from the global server
|
|
5
|
+
* `<LocaleProvider>`) and the analytics catalogs — the shared `createUseT`
|
|
6
|
+
* keeps the locale/memo wiring in one place for every module; the modules keep
|
|
7
|
+
* separate catalogs but share the one locale.
|
|
8
|
+
*/
|
|
9
|
+
export declare const useT: () => T;
|
|
10
|
+
//# sourceMappingURL=use-t.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-t.d.ts","sourceRoot":"","sources":["../../src/messages/use-t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,CAAC,EAAE,MAAM,qCAAqC,CAAA;AAGxE,YAAY,EAAE,CAAC,EAAE,CAAA;AAEjB;;;;;GAKG;AACH,eAAO,MAAM,IAAI,SAAyB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createUseT } from "@miragon/pulse-widget-shell/widgets";
|
|
2
|
+
import { translator } from "./index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Analytics-side translate bound to the active locale (from the global server
|
|
5
|
+
* `<LocaleProvider>`) and the analytics catalogs — the shared `createUseT`
|
|
6
|
+
* keeps the locale/memo wiring in one place for every module; the modules keep
|
|
7
|
+
* separate catalogs but share the one locale.
|
|
8
|
+
*/
|
|
9
|
+
export const useT = createUseT(translator);
|
|
10
|
+
//# sourceMappingURL=use-t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-t.js","sourceRoot":"","sources":["../../src/messages/use-t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA"}
|
package/dist/module.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { AppPlugin } from "@miragon/mcp-toolkit-core";
|
|
2
|
+
import type { MCPServer } from "mcp-use";
|
|
3
|
+
import type { FetchBpmnXml } from "./bpmn-name-lookup.js";
|
|
4
|
+
import type { ProfileSource } from "./server-locale.js";
|
|
5
|
+
/** Cross-module resources the host app threads in (structural, app-owned). */
|
|
6
|
+
interface AnalyticsModuleShared {
|
|
7
|
+
profileStore?: ProfileSource;
|
|
8
|
+
fetchBpmnXml?: FetchBpmnXml;
|
|
9
|
+
/**
|
|
10
|
+
* The engine ids this server is configured for (the camunda7 module's
|
|
11
|
+
* engines) — analytics reads only these. Wins over `ANALYTICS_ENGINE_IDS`.
|
|
12
|
+
*/
|
|
13
|
+
engineIds?: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
export declare const analyticsModule: {
|
|
16
|
+
name: string;
|
|
17
|
+
/**
|
|
18
|
+
* Pure env → raw-config mapping. `PROMETHEUS_URL` is trimmed so an empty
|
|
19
|
+
* assignment (`PROMETHEUS_URL=` left in a .env or compose env_file) falls
|
|
20
|
+
* through to the schema default instead of producing an invalid-URL client.
|
|
21
|
+
*/
|
|
22
|
+
configFromEnv(env: NodeJS.ProcessEnv): Record<string, unknown>;
|
|
23
|
+
/** This module's slice of the app's unknown-env-var typo warner. */
|
|
24
|
+
knownEnvVars: readonly ["PROMETHEUS_URL", "PROMETHEUS_BEARER_TOKEN", "PROMETHEUS_USERNAME", "PROMETHEUS_PASSWORD", "PROMETHEUS_HEADERS", "PROMETHEUS_TIMEOUT_MS", "ANALYTICS_ENGINE_IDS"];
|
|
25
|
+
/**
|
|
26
|
+
* `read-only` (the floor) | `standard` (adds the caller's own settings save,
|
|
27
|
+
* `analytics_save_settings`; everything else is read-only anyway). No suffix
|
|
28
|
+
* means `read-only` without OAuth and `standard` with it; an empty or unknown
|
|
29
|
+
* suffix falls back to `read-only`. See `toolsets.ts`.
|
|
30
|
+
*/
|
|
31
|
+
toolsets: import("@miragon/pulse-widget-shell/server").ToolsetVocabulary<"read-only" | "standard">;
|
|
32
|
+
/**
|
|
33
|
+
* Boot-time hints for active deployments. The code default (:9090) matches a
|
|
34
|
+
* bare Prometheus, NOT the repo's compose stack (:8460) — without the hint
|
|
35
|
+
* every analytics query 404s silently.
|
|
36
|
+
*/
|
|
37
|
+
bootWarnings(env: NodeJS.ProcessEnv): string[];
|
|
38
|
+
/**
|
|
39
|
+
* The module's server-instructions snippet: what `engine` means here (a
|
|
40
|
+
* metric filter over the configured engines — their fleet aggregate when
|
|
41
|
+
* omitted, camunda7's saved default does not apply), the periods and the
|
|
42
|
+
* health routing.
|
|
43
|
+
*/
|
|
44
|
+
instructions(): string;
|
|
45
|
+
createPlugin(config: Record<string, unknown>, shared: AnalyticsModuleShared): AppPlugin<MCPServer>;
|
|
46
|
+
};
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAyFvD,8EAA8E;AAC9E,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B;AAyBD,eAAO,MAAM,eAAe;;IAG1B;;;;OAIG;uBACgB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAgB9D,oEAAoE;;IAWpE;;;;;OAKG;;IAGH;;;;OAIG;sBACe,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE;IAO9C;;;;;OAKG;oBACa,MAAM;yBAKZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACvB,qBAAqB,GAC5B,SAAS,CAAC,SAAS,CAAC;CAYxB,CAAA"}
|