@principal-ai/principal-view-core 0.13.5 → 0.14.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/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -2
- package/dist/node.js.map +1 -1
- package/dist/{narrative → workflow}/example.d.ts +3 -3
- package/dist/workflow/example.d.ts.map +1 -0
- package/dist/{narrative → workflow}/example.js +10 -10
- package/dist/workflow/example.js.map +1 -0
- package/dist/workflow/index.d.ts +14 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/{narrative → workflow}/index.js +5 -5
- package/dist/workflow/index.js.map +1 -0
- package/dist/{narrative → workflow}/scenario-matcher.d.ts +5 -5
- package/dist/workflow/scenario-matcher.d.ts.map +1 -0
- package/dist/{narrative → workflow}/scenario-matcher.js +3 -3
- package/dist/workflow/scenario-matcher.js.map +1 -0
- package/dist/workflow/template-parser.d.ts.map +1 -0
- package/dist/workflow/template-parser.js.map +1 -0
- package/dist/workflow/template-renderer.d.ts +18 -0
- package/dist/workflow/template-renderer.d.ts.map +1 -0
- package/dist/{narrative → workflow}/template-renderer.js +8 -8
- package/dist/workflow/template-renderer.js.map +1 -0
- package/dist/{narrative → workflow}/types.d.ts +31 -31
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/{narrative → workflow}/types.js +2 -2
- package/dist/workflow/types.js.map +1 -0
- package/dist/{narrative → workflow}/validator.d.ts +20 -20
- package/dist/workflow/validator.d.ts.map +1 -0
- package/dist/{narrative → workflow}/validator.js +142 -142
- package/dist/workflow/validator.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +11 -11
- package/src/node.ts +14 -14
- package/src/{narrative → workflow}/README.md +29 -29
- package/src/{narrative → workflow}/__tests__/scenario-matcher.test.ts +3 -3
- package/src/{narrative → workflow}/__tests__/template-parser.test.ts +2 -2
- package/src/{narrative → workflow}/__tests__/template-renderer.test.ts +21 -21
- package/src/{narrative → workflow}/__tests__/validator.test.ts +60 -60
- package/src/{narrative → workflow}/example.ts +14 -14
- package/src/{narrative → workflow}/index.ts +13 -13
- package/src/{narrative → workflow}/scenario-matcher.ts +7 -7
- package/src/{narrative → workflow}/template-renderer.ts +18 -18
- package/src/{narrative → workflow}/types.ts +31 -31
- package/src/{narrative → workflow}/validator.ts +184 -184
- package/dist/narrative/example.d.ts.map +0 -1
- package/dist/narrative/example.js.map +0 -1
- package/dist/narrative/index.d.ts +0 -14
- package/dist/narrative/index.d.ts.map +0 -1
- package/dist/narrative/index.js.map +0 -1
- package/dist/narrative/scenario-matcher.d.ts.map +0 -1
- package/dist/narrative/scenario-matcher.js.map +0 -1
- package/dist/narrative/template-parser.d.ts.map +0 -1
- package/dist/narrative/template-parser.js.map +0 -1
- package/dist/narrative/template-renderer.d.ts +0 -18
- package/dist/narrative/template-renderer.d.ts.map +0 -1
- package/dist/narrative/template-renderer.js.map +0 -1
- package/dist/narrative/types.d.ts.map +0 -1
- package/dist/narrative/types.js.map +0 -1
- package/dist/narrative/validator.d.ts.map +0 -1
- package/dist/narrative/validator.js.map +0 -1
- /package/dist/{narrative → workflow}/template-parser.d.ts +0 -0
- /package/dist/{narrative → workflow}/template-parser.js +0 -0
- /package/src/{narrative → workflow}/template-parser.ts +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Workflow Template System Types
|
|
3
3
|
*
|
|
4
4
|
* Types for transforming OpenTelemetry event streams into human-readable
|
|
5
|
-
* execution
|
|
5
|
+
* execution workflows based on OTEL canvas definitions.
|
|
6
6
|
*
|
|
7
7
|
* @see docs/NARRATIVE_TEMPLATES_DESIGN.md
|
|
8
8
|
*/
|
|
9
9
|
import type { OtelLog, OtelSpan, OtelAttributes } from '../types/otel';
|
|
10
10
|
/**
|
|
11
|
-
* Combined OTEL signal type for
|
|
11
|
+
* Combined OTEL signal type for workflow processing
|
|
12
12
|
*/
|
|
13
13
|
export type OtelSignal = OtelSpan | OtelLog | OtelEvent;
|
|
14
14
|
/**
|
|
@@ -36,44 +36,44 @@ export interface OtelEvent {
|
|
|
36
36
|
duration?: number;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Workflow template definition
|
|
40
40
|
*
|
|
41
41
|
* References an .otel.canvas file and defines how to render
|
|
42
|
-
* execution events into human-readable
|
|
42
|
+
* execution events into human-readable workflows.
|
|
43
43
|
*/
|
|
44
|
-
export interface
|
|
44
|
+
export interface WorkflowTemplate {
|
|
45
45
|
/** Schema version (e.g., "1.0.0") */
|
|
46
46
|
version: string;
|
|
47
47
|
/** Reference to .otel.canvas file */
|
|
48
48
|
canvas: string;
|
|
49
49
|
/** Human-readable template name */
|
|
50
50
|
name: string;
|
|
51
|
-
/** Purpose of this
|
|
51
|
+
/** Purpose of this workflow view */
|
|
52
52
|
description: string;
|
|
53
|
-
/** How to structure the
|
|
54
|
-
mode:
|
|
53
|
+
/** How to structure the workflow */
|
|
54
|
+
mode: WorkflowMode;
|
|
55
55
|
/** Scenario selection strategy */
|
|
56
56
|
scenarioSelection: 'first-match' | 'manual';
|
|
57
57
|
/** Show logs associated with each span (span-tree mode) */
|
|
58
58
|
showLogsPerSpan?: boolean;
|
|
59
59
|
/** Mix spans/logs by timestamp (timeline mode) */
|
|
60
60
|
interleaveSignals?: boolean;
|
|
61
|
-
/** Mutually exclusive
|
|
62
|
-
scenarios:
|
|
61
|
+
/** Mutually exclusive workflow scenarios */
|
|
62
|
+
scenarios: WorkflowScenario[];
|
|
63
63
|
/** Display formatting preferences */
|
|
64
64
|
formatting?: FormattingOptions;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Workflow rendering mode
|
|
68
68
|
*/
|
|
69
|
-
export type
|
|
69
|
+
export type WorkflowMode = 'span-tree' | 'timeline';
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Workflow scenario definition
|
|
72
72
|
*
|
|
73
|
-
* Scenarios are mutually exclusive
|
|
73
|
+
* Scenarios are mutually exclusive workflow templates selected
|
|
74
74
|
* based on which events occurred during execution.
|
|
75
75
|
*/
|
|
76
|
-
export interface
|
|
76
|
+
export interface WorkflowScenario {
|
|
77
77
|
/** Unique scenario identifier (kebab-case) */
|
|
78
78
|
id: string;
|
|
79
79
|
/** Selection priority (lower = higher priority, 1 = highest) */
|
|
@@ -82,7 +82,7 @@ export interface NarrativeScenario {
|
|
|
82
82
|
description: string;
|
|
83
83
|
/** Conditions that must be met for this scenario to match */
|
|
84
84
|
condition: ScenarioCondition;
|
|
85
|
-
/**
|
|
85
|
+
/** Workflow template content */
|
|
86
86
|
template: ScenarioTemplate;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -133,7 +133,7 @@ export interface ScenarioTemplate {
|
|
|
133
133
|
events?: Record<string, string>;
|
|
134
134
|
/** Optional: separate log templates by severity */
|
|
135
135
|
logs?: LogTemplates;
|
|
136
|
-
/**
|
|
136
|
+
/** Workflow flow steps */
|
|
137
137
|
flow?: Array<string | FlowDirective>;
|
|
138
138
|
/** Closing text */
|
|
139
139
|
summary?: string;
|
|
@@ -162,7 +162,7 @@ export interface LogTemplates {
|
|
|
162
162
|
default?: string;
|
|
163
163
|
}
|
|
164
164
|
/**
|
|
165
|
-
* Flow directive for
|
|
165
|
+
* Flow directive for workflow generation
|
|
166
166
|
*/
|
|
167
167
|
export interface FlowDirective {
|
|
168
168
|
/** Iterate over collection (e.g., "violations", "logs.filter(l => l.severityNumber >= 17)") */
|
|
@@ -177,7 +177,7 @@ export interface FlowDirective {
|
|
|
177
177
|
else?: string;
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
|
-
* Formatting options for
|
|
180
|
+
* Formatting options for workflow rendering
|
|
181
181
|
*/
|
|
182
182
|
export interface FormattingOptions {
|
|
183
183
|
/** Indentation per hierarchy level (default: " ") */
|
|
@@ -194,15 +194,15 @@ export interface FormattingOptions {
|
|
|
194
194
|
showAttributes?: 'none' | 'matched' | 'all';
|
|
195
195
|
}
|
|
196
196
|
/**
|
|
197
|
-
*
|
|
197
|
+
* Workflow rendering context
|
|
198
198
|
*
|
|
199
|
-
* Contains all data needed to render a
|
|
199
|
+
* Contains all data needed to render a workflow from events.
|
|
200
200
|
*/
|
|
201
|
-
export interface
|
|
202
|
-
/** The
|
|
203
|
-
template:
|
|
201
|
+
export interface WorkflowContext {
|
|
202
|
+
/** The workflow template being used */
|
|
203
|
+
template: WorkflowTemplate;
|
|
204
204
|
/** Selected scenario */
|
|
205
|
-
scenario:
|
|
205
|
+
scenario: WorkflowScenario;
|
|
206
206
|
/** All collected events */
|
|
207
207
|
events: OtelEvent[];
|
|
208
208
|
/** Span tree (for span-tree mode) */
|
|
@@ -226,10 +226,10 @@ export interface SpanTreeNode {
|
|
|
226
226
|
depth: number;
|
|
227
227
|
}
|
|
228
228
|
/**
|
|
229
|
-
*
|
|
229
|
+
* Workflow rendering result
|
|
230
230
|
*/
|
|
231
|
-
export interface
|
|
232
|
-
/** Rendered
|
|
231
|
+
export interface WorkflowResult {
|
|
232
|
+
/** Rendered workflow text */
|
|
233
233
|
text: string;
|
|
234
234
|
/** Scenario that was selected */
|
|
235
235
|
scenarioId: string;
|
|
@@ -257,11 +257,11 @@ export interface NarrativeResult {
|
|
|
257
257
|
*/
|
|
258
258
|
export interface ScenarioMatchResult {
|
|
259
259
|
/** The matched scenario */
|
|
260
|
-
scenario:
|
|
260
|
+
scenario: WorkflowScenario;
|
|
261
261
|
/** Whether this was the default/fallback scenario */
|
|
262
262
|
isDefault: boolean;
|
|
263
263
|
/** All applicable scenarios (for manual selection UI) */
|
|
264
|
-
applicableScenarios:
|
|
264
|
+
applicableScenarios: WorkflowScenario[];
|
|
265
265
|
/** Reasons why other scenarios didn't match */
|
|
266
266
|
matchReasons?: Record<string, string>;
|
|
267
267
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Workflow Template System Types
|
|
3
3
|
*
|
|
4
4
|
* Types for transforming OpenTelemetry event streams into human-readable
|
|
5
|
-
* execution
|
|
5
|
+
* execution workflows based on OTEL canvas definitions.
|
|
6
6
|
*
|
|
7
7
|
* @see docs/NARRATIVE_TEMPLATES_DESIGN.md
|
|
8
8
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Validates .
|
|
2
|
+
* Workflow Template Validator
|
|
3
|
+
* Validates .workflow.json files against their corresponding .otel.canvas files
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
5
|
+
import type { WorkflowTemplate } from './types';
|
|
6
6
|
import type { ExtendedCanvas } from '../types/canvas';
|
|
7
|
-
export interface
|
|
8
|
-
/** The
|
|
9
|
-
|
|
10
|
-
/** Path to the
|
|
11
|
-
|
|
7
|
+
export interface WorkflowValidationContext {
|
|
8
|
+
/** The workflow template being validated */
|
|
9
|
+
workflow: WorkflowTemplate;
|
|
10
|
+
/** Path to the workflow file */
|
|
11
|
+
workflowPath: string;
|
|
12
12
|
/** The canvas file (if found) */
|
|
13
13
|
canvas?: ExtendedCanvas;
|
|
14
14
|
/** Path to the canvas file */
|
|
15
15
|
canvasPath?: string;
|
|
16
16
|
/** Base path for resolving relative paths */
|
|
17
17
|
basePath: string;
|
|
18
|
-
/** Raw
|
|
18
|
+
/** Raw workflow content for line number lookup */
|
|
19
19
|
rawContent?: string;
|
|
20
20
|
/** Execution data for validating attribute references (optional) */
|
|
21
21
|
executionData?: {
|
|
@@ -25,15 +25,15 @@ export interface NarrativeValidationContext {
|
|
|
25
25
|
eventAttributes: Map<string, Record<string, unknown>>;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
* Optional: Events used across all
|
|
28
|
+
* Optional: Events used across all workflows that reference this canvas.
|
|
29
29
|
* When provided, coverage warnings are only emitted for canvas events
|
|
30
|
-
* that are NOT in this set (i.e., truly unused across all
|
|
31
|
-
* This enables multi-
|
|
30
|
+
* that are NOT in this set (i.e., truly unused across all workflows).
|
|
31
|
+
* This enables multi-workflow canvas patterns where different workflows
|
|
32
32
|
* cover different subsets of canvas events.
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
allWorkflowEvents?: Set<string>;
|
|
35
35
|
}
|
|
36
|
-
export interface
|
|
36
|
+
export interface WorkflowViolation {
|
|
37
37
|
/** Rule ID that detected this violation */
|
|
38
38
|
ruleId: string;
|
|
39
39
|
/** Severity level */
|
|
@@ -53,9 +53,9 @@ export interface NarrativeViolation {
|
|
|
53
53
|
/** Whether this can be auto-fixed */
|
|
54
54
|
fixable: boolean;
|
|
55
55
|
}
|
|
56
|
-
export interface
|
|
56
|
+
export interface WorkflowValidationResult {
|
|
57
57
|
/** All violations found */
|
|
58
|
-
violations:
|
|
58
|
+
violations: WorkflowViolation[];
|
|
59
59
|
/** Count of errors */
|
|
60
60
|
errorCount: number;
|
|
61
61
|
/** Count of warnings */
|
|
@@ -63,11 +63,11 @@ export interface NarrativeValidationResult {
|
|
|
63
63
|
/** Count of fixable violations */
|
|
64
64
|
fixableCount: number;
|
|
65
65
|
}
|
|
66
|
-
export declare class
|
|
66
|
+
export declare class WorkflowValidator {
|
|
67
67
|
/**
|
|
68
|
-
* Validate a
|
|
68
|
+
* Validate a workflow template
|
|
69
69
|
*/
|
|
70
|
-
validate(context:
|
|
70
|
+
validate(context: WorkflowValidationContext): Promise<WorkflowValidationResult>;
|
|
71
71
|
/**
|
|
72
72
|
* Check schema validity (required fields, valid values)
|
|
73
73
|
*/
|
|
@@ -209,5 +209,5 @@ export declare class NarrativeValidator {
|
|
|
209
209
|
/**
|
|
210
210
|
* Create a validator instance
|
|
211
211
|
*/
|
|
212
|
-
export declare function
|
|
212
|
+
export declare function createWorkflowValidator(): WorkflowValidator;
|
|
213
213
|
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/workflow/validator.ts"],"names":[],"mappings":"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"}
|