@workflow/web-shared 4.0.1-beta.9 → 4.1.0-beta.46
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 +2 -0
- package/dist/api/workflow-api-client.d.ts +325 -85
- package/dist/api/workflow-api-client.d.ts.map +1 -1
- package/dist/api/workflow-api-client.js +370 -214
- package/dist/api/workflow-api-client.js.map +1 -1
- package/dist/api/workflow-server-actions.d.ts +136 -3
- package/dist/api/workflow-server-actions.d.ts.map +1 -1
- package/dist/api/workflow-server-actions.js +649 -116
- package/dist/api/workflow-server-actions.js.map +1 -1
- package/dist/components/ui/card.d.ts +9 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +18 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/error-card.d.ts +15 -0
- package/dist/components/ui/error-card.d.ts.map +1 -0
- package/dist/components/ui/error-card.js +14 -0
- package/dist/components/ui/error-card.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +7 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/error-boundary.d.ts +28 -0
- package/dist/error-boundary.d.ts.map +1 -0
- package/dist/error-boundary.js +51 -0
- package/dist/error-boundary.js.map +1 -0
- package/dist/event-list-view.d.ts +13 -0
- package/dist/event-list-view.d.ts.map +1 -0
- package/dist/event-list-view.js +183 -0
- package/dist/event-list-view.js.map +1 -0
- package/dist/hook-actions.d.ts +59 -0
- package/dist/hook-actions.d.ts.map +1 -0
- package/dist/hook-actions.js +76 -0
- package/dist/hook-actions.js.map +1 -0
- package/dist/hooks/use-dark-mode.d.ts +9 -0
- package/dist/hooks/use-dark-mode.d.ts.map +1 -0
- package/dist/hooks/use-dark-mode.js +30 -0
- package/dist/hooks/use-dark-mode.js.map +1 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/event-analysis.d.ts +55 -0
- package/dist/lib/event-analysis.d.ts.map +1 -0
- package/dist/lib/event-analysis.js +161 -0
- package/dist/lib/event-analysis.js.map +1 -0
- package/dist/lib/utils.d.ts +44 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +109 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/run-trace-view.d.ts.map +1 -1
- package/dist/run-trace-view.js +1 -1
- package/dist/run-trace-view.js.map +1 -1
- package/dist/sidebar/attribute-panel.d.ts +12 -2
- package/dist/sidebar/attribute-panel.d.ts.map +1 -1
- package/dist/sidebar/attribute-panel.js +368 -23
- package/dist/sidebar/attribute-panel.js.map +1 -1
- package/dist/sidebar/conversation-view.d.ts +7 -0
- package/dist/sidebar/conversation-view.d.ts.map +1 -0
- package/dist/sidebar/conversation-view.js +125 -0
- package/dist/sidebar/conversation-view.js.map +1 -0
- package/dist/sidebar/detail-card.d.ts.map +1 -1
- package/dist/sidebar/detail-card.js +2 -2
- package/dist/sidebar/detail-card.js.map +1 -1
- package/dist/sidebar/entity-detail-panel.d.ts +12 -0
- package/dist/sidebar/entity-detail-panel.d.ts.map +1 -0
- package/dist/sidebar/entity-detail-panel.js +190 -0
- package/dist/sidebar/entity-detail-panel.js.map +1 -0
- package/dist/sidebar/events-list.d.ts +2 -1
- package/dist/sidebar/events-list.d.ts.map +1 -1
- package/dist/sidebar/events-list.js +11 -10
- package/dist/sidebar/events-list.js.map +1 -1
- package/dist/sidebar/resolve-hook-modal.d.ts +16 -0
- package/dist/sidebar/resolve-hook-modal.d.ts.map +1 -0
- package/dist/sidebar/resolve-hook-modal.js +74 -0
- package/dist/sidebar/resolve-hook-modal.js.map +1 -0
- package/dist/stream-viewer.d.ts +13 -0
- package/dist/stream-viewer.d.ts.map +1 -0
- package/dist/stream-viewer.js +109 -0
- package/dist/stream-viewer.js.map +1 -0
- package/dist/trace-viewer/components/markers.d.ts.map +1 -1
- package/dist/trace-viewer/components/markers.js +3 -2
- package/dist/trace-viewer/components/markers.js.map +1 -1
- package/dist/trace-viewer/components/node.d.ts.map +1 -1
- package/dist/trace-viewer/components/node.js +1 -0
- package/dist/trace-viewer/components/node.js.map +1 -1
- package/dist/trace-viewer/components/search.d.ts.map +1 -1
- package/dist/trace-viewer/components/search.js +1 -0
- package/dist/trace-viewer/components/search.js.map +1 -1
- package/dist/trace-viewer/components/span-detail-panel.js +2 -2
- package/dist/trace-viewer/components/span-detail-panel.js.map +1 -1
- package/dist/trace-viewer/context.d.ts.map +1 -1
- package/dist/trace-viewer/context.js +1 -0
- package/dist/trace-viewer/context.js.map +1 -1
- package/dist/trace-viewer/trace-viewer.module.css +47 -30
- package/dist/trace-viewer/types.d.ts +11 -0
- package/dist/trace-viewer/types.d.ts.map +1 -1
- package/dist/trace-viewer/util/timing.d.ts +7 -1
- package/dist/trace-viewer/util/timing.d.ts.map +1 -1
- package/dist/trace-viewer/util/timing.js +7 -12
- package/dist/trace-viewer/util/timing.js.map +1 -1
- package/dist/trace-viewer/util/tree.d.ts.map +1 -1
- package/dist/trace-viewer/util/tree.js +4 -0
- package/dist/trace-viewer/util/tree.js.map +1 -1
- package/dist/trace-viewer/util/use-immediate-style.d.ts.map +1 -1
- package/dist/trace-viewer/util/use-immediate-style.js +1 -0
- package/dist/trace-viewer/util/use-immediate-style.js.map +1 -1
- package/dist/trace-viewer/util/use-streaming-spans.d.ts.map +1 -1
- package/dist/trace-viewer/util/use-streaming-spans.js +2 -1
- package/dist/trace-viewer/util/use-streaming-spans.js.map +1 -1
- package/dist/trace-viewer/util/use-trackpad-zoom.d.ts.map +1 -1
- package/dist/trace-viewer/util/use-trackpad-zoom.js +1 -0
- package/dist/trace-viewer/util/use-trackpad-zoom.js.map +1 -1
- package/dist/trace-viewer/worker.js +1 -1
- package/dist/trace-viewer/worker.js.map +1 -1
- package/dist/workflow-trace-view.d.ts +3 -1
- package/dist/workflow-trace-view.d.ts.map +1 -1
- package/dist/workflow-trace-view.js +28 -11
- package/dist/workflow-trace-view.js.map +1 -1
- package/dist/workflow-traces/event-colors.d.ts +1 -1
- package/dist/workflow-traces/event-colors.js +2 -2
- package/dist/workflow-traces/event-colors.js.map +1 -1
- package/dist/workflow-traces/trace-colors.d.ts.map +1 -1
- package/dist/workflow-traces/trace-colors.js +1 -3
- package/dist/workflow-traces/trace-colors.js.map +1 -1
- package/dist/workflow-traces/trace-span-construction.d.ts +18 -3
- package/dist/workflow-traces/trace-span-construction.d.ts.map +1 -1
- package/dist/workflow-traces/trace-span-construction.js +84 -31
- package/dist/workflow-traces/trace-span-construction.js.map +1 -1
- package/dist/workflow-traces/trace-time-utils.d.ts +2 -2
- package/dist/workflow-traces/trace-time-utils.d.ts.map +1 -1
- package/dist/workflow-traces/trace-time-utils.js +9 -0
- package/dist/workflow-traces/trace-time-utils.js.map +1 -1
- package/package.json +24 -14
- package/dist/sidebar/workflow-detail-panel.d.ts +0 -8
- package/dist/sidebar/workflow-detail-panel.d.ts.map +0 -1
- package/dist/sidebar/workflow-detail-panel.js +0 -56
- package/dist/sidebar/workflow-detail-panel.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-trace-view.js","sourceRoot":"","sources":["../src/workflow-trace-view.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-trace-view.js","sourceRoot":"","sources":["../src/workflow-trace-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export interface EventColorPalette {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Get the color palette for an event based on its type
|
|
19
|
-
* - Red for failures (step_failed,
|
|
19
|
+
* - Red for failures (step_failed, run_failed)
|
|
20
20
|
* - Orange/yellow for retries (step_retrying)
|
|
21
21
|
* - Purple for webhook-related events
|
|
22
22
|
* - Blue otherwise (default)
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Get the color palette for an event based on its type
|
|
6
|
-
* - Red for failures (step_failed,
|
|
6
|
+
* - Red for failures (step_failed, run_failed)
|
|
7
7
|
* - Orange/yellow for retries (step_retrying)
|
|
8
8
|
* - Purple for webhook-related events
|
|
9
9
|
* - Blue otherwise (default)
|
|
10
10
|
*/
|
|
11
11
|
export function getEventColor(eventType) {
|
|
12
12
|
// Failures - Red
|
|
13
|
-
if (eventType === 'step_failed' || eventType === '
|
|
13
|
+
if (eventType === 'step_failed' || eventType === 'run_failed') {
|
|
14
14
|
return {
|
|
15
15
|
color: 'var(--ds-red-600)',
|
|
16
16
|
background: 'var(--ds-red-100)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-colors.js","sourceRoot":"","sources":["../../src/workflow-traces/event-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,SAA6B;IAE7B,iBAAiB;IACjB,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"event-colors.js","sourceRoot":"","sources":["../../src/workflow-traces/event-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,SAA6B;IAE7B,iBAAiB;IACjB,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC9D,OAAO;YACL,KAAK,EAAE,mBAAmB;YAC1B,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE,mBAAmB;SAC/B,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,UAAU,EAAE,qBAAqB;YACjC,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,qBAAqB;SACjC,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IACE,SAAS,KAAK,cAAc;QAC5B,SAAS,KAAK,eAAe;QAC7B,SAAS,KAAK,eAAe,EAC7B,CAAC;QACD,OAAO;YACL,KAAK,EAAE,sBAAsB;YAC7B,UAAU,EAAE,sBAAsB;YAClC,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,sBAAsB;YAC5B,SAAS,EAAE,sBAAsB;SAClC,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,OAAO;QACL,KAAK,EAAE,oBAAoB;QAC3B,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,oBAAoB;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA6B;IAClE,8CAA8C;IAC9C,IACE,SAAS,KAAK,cAAc;QAC5B,SAAS,KAAK,eAAe;QAC7B,SAAS,KAAK,eAAe,EAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAoD;IACpD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-colors.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"trace-colors.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAoCrE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,QAAQ,KAAG,MAiCvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,WAAW,aAAa,KACvB,MAwBF,CAAC"}
|
|
@@ -18,8 +18,6 @@ function getStatusClassName(status, isStripped = false) {
|
|
|
18
18
|
return styles.spanCompleted;
|
|
19
19
|
case 'cancelled':
|
|
20
20
|
return styles.spanCancelled;
|
|
21
|
-
case 'paused':
|
|
22
|
-
return styles.spanPaused;
|
|
23
21
|
case 'failed':
|
|
24
22
|
return styles.spanFailed;
|
|
25
23
|
default:
|
|
@@ -70,7 +68,7 @@ export const getCustomSpanClassName = (span) => {
|
|
|
70
68
|
export const getCustomSpanEventClassName = (spanEvent) => {
|
|
71
69
|
const eventName = spanEvent.event.name;
|
|
72
70
|
// Failure events - Red
|
|
73
|
-
if (eventName === 'step_failed' || eventName === '
|
|
71
|
+
if (eventName === 'step_failed' || eventName === 'run_failed') {
|
|
74
72
|
return styles.eventFailed;
|
|
75
73
|
}
|
|
76
74
|
// Retry events - Orange/Yellow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-colors.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAG7D;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAA8C,EAC9C,UAAU,GAAG,KAAK;IAElB,IAAI,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B
|
|
1
|
+
{"version":3,"file":"trace-colors.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAG7D;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAA8C,EAC9C,UAAU,GAAG,KAAK;IAElB,IAAI,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAc,EAAU,EAAE;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,CAAC;IAEtC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAY,CAAC;QACzC,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC;QAEpC,yCAAyC;QACzC,IAAI,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;QAClD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAmB,CAAC;QAC/C,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,2BAA2B;IAC3B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,SAAwB,EAChB,EAAE;IACV,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;IAEvC,uBAAuB;IACvB,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,+BAA+B;IAC/B,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,kCAAkC;IAClC,IACE,SAAS,KAAK,cAAc;QAC5B,SAAS,KAAK,eAAe;QAC7B,SAAS,KAAK,eAAe,EAC7B,CAAC;QACD,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iBAAiB;IACjB,OAAO,MAAM,CAAC,YAAY,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Functions for constructing OpenTelemetry spans from workflow entities
|
|
3
3
|
*/
|
|
4
|
-
import type { Event,
|
|
4
|
+
import type { Event, Step, WorkflowRun } from '@workflow/world';
|
|
5
5
|
import type { Span, SpanEvent } from '../trace-viewer/types';
|
|
6
6
|
export declare const WORKFLOW_LIBRARY: {
|
|
7
7
|
name: string;
|
|
@@ -12,18 +12,33 @@ export declare const WORKFLOW_LIBRARY: {
|
|
|
12
12
|
* Only includes events that should be displayed as markers
|
|
13
13
|
*/
|
|
14
14
|
export declare function convertEventsToSpanEvents(events: Event[], filterTypes?: boolean): SpanEvent[];
|
|
15
|
+
export declare const waitEventsToWaitEntity: (events: Event[]) => {
|
|
16
|
+
waitId: string;
|
|
17
|
+
runId: string;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
resumeAt: Date;
|
|
20
|
+
completedAt?: Date;
|
|
21
|
+
} | null;
|
|
15
22
|
/**
|
|
16
23
|
* Converts a workflow Wait to an OpenTelemetry Span
|
|
17
24
|
*/
|
|
18
|
-
export declare function waitToSpan(
|
|
25
|
+
export declare function waitToSpan(events: Event[], run: WorkflowRun, nowTime: Date): Span | null;
|
|
19
26
|
/**
|
|
20
27
|
* Converts a workflow Step to an OpenTelemetry Span
|
|
21
28
|
*/
|
|
22
29
|
export declare function stepToSpan(step: Step, stepEvents: Event[], nowTime?: Date): Span;
|
|
30
|
+
export declare const hookEventsToHookEntity: (events: Event[]) => {
|
|
31
|
+
hookId: string;
|
|
32
|
+
runId: string;
|
|
33
|
+
createdAt: Date;
|
|
34
|
+
receivedCount: number;
|
|
35
|
+
lastReceivedAt?: Date;
|
|
36
|
+
disposedAt?: Date;
|
|
37
|
+
} | null;
|
|
23
38
|
/**
|
|
24
39
|
* Converts a workflow Hook to an OpenTelemetry Span
|
|
25
40
|
*/
|
|
26
|
-
export declare function hookToSpan(
|
|
41
|
+
export declare function hookToSpan(hookEvents: Event[], run: WorkflowRun, nowTime: Date): Span | null;
|
|
27
42
|
/**
|
|
28
43
|
* Creates a root span for the workflow run
|
|
29
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-span-construction.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"trace-span-construction.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,UAAO,GACjB,SAAS,EAAE,CAgBb;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GAAG,IAeH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CA8Bb;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,KAAK,EAAE,EACnB,OAAO,CAAC,EAAE,IAAI,GACb,IAAI,CAoDN;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,GAAG,IAsBH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,KAAK,EAAE,EACnB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CAgCb;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,KAAK,EAAE,EAClB,OAAO,CAAC,EAAE,IAAI,GACb,IAAI,CAqCN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Functions for constructing OpenTelemetry spans from workflow entities
|
|
3
3
|
*/
|
|
4
|
-
import { parseStepName, parseWorkflowName } from '@workflow/
|
|
4
|
+
import { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';
|
|
5
5
|
import { shouldShowVerticalLine } from './event-colors';
|
|
6
6
|
import { calculateDuration, dateToOtelTime } from './trace-time-utils';
|
|
7
7
|
export const WORKFLOW_LIBRARY = {
|
|
@@ -15,9 +15,10 @@ const MARKER_EVENT_TYPES = new Set([
|
|
|
15
15
|
'hook_created',
|
|
16
16
|
'hook_received',
|
|
17
17
|
'hook_disposed',
|
|
18
|
+
'step_started',
|
|
18
19
|
'step_retrying',
|
|
19
20
|
'step_failed',
|
|
20
|
-
'
|
|
21
|
+
'run_failed',
|
|
21
22
|
'wait_created',
|
|
22
23
|
'wait_completed',
|
|
23
24
|
]);
|
|
@@ -40,20 +41,37 @@ export function convertEventsToSpanEvents(events, filterTypes = true) {
|
|
|
40
41
|
showVerticalLine: shouldShowVerticalLine(event.eventType),
|
|
41
42
|
}));
|
|
42
43
|
}
|
|
44
|
+
export const waitEventsToWaitEntity = (events) => {
|
|
45
|
+
const startEvent = events.find((event) => event.eventType === 'wait_created');
|
|
46
|
+
if (!startEvent) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const completedEvent = events.find((event) => event.eventType === 'wait_completed');
|
|
50
|
+
return {
|
|
51
|
+
waitId: startEvent.correlationId,
|
|
52
|
+
runId: startEvent.runId,
|
|
53
|
+
createdAt: startEvent.createdAt,
|
|
54
|
+
resumeAt: startEvent.eventData?.resumeAt,
|
|
55
|
+
completedAt: completedEvent?.createdAt,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
43
58
|
/**
|
|
44
59
|
* Converts a workflow Wait to an OpenTelemetry Span
|
|
45
60
|
*/
|
|
46
|
-
export function waitToSpan(
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
export function waitToSpan(events, run, nowTime) {
|
|
62
|
+
const wait = waitEventsToWaitEntity(events);
|
|
63
|
+
if (!wait) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
const viewerEndTime = new Date(run.completedAt || nowTime) ?? nowTime;
|
|
67
|
+
const startTime = wait?.createdAt ?? nowTime;
|
|
68
|
+
const endTime = wait?.completedAt ?? viewerEndTime;
|
|
51
69
|
const start = dateToOtelTime(startTime);
|
|
52
70
|
const end = dateToOtelTime(endTime);
|
|
53
71
|
const duration = calculateDuration(startTime, endTime);
|
|
54
72
|
const spanEvents = convertEventsToSpanEvents(events);
|
|
55
73
|
return {
|
|
56
|
-
spanId:
|
|
74
|
+
spanId: wait.waitId,
|
|
57
75
|
name: 'sleep',
|
|
58
76
|
kind: 1, // INTERNAL span kind
|
|
59
77
|
resource: 'sleep',
|
|
@@ -62,9 +80,7 @@ export function waitToSpan(correlationId, events, nowTime) {
|
|
|
62
80
|
traceFlags: 1,
|
|
63
81
|
attributes: {
|
|
64
82
|
resource: 'sleep',
|
|
65
|
-
data:
|
|
66
|
-
correlationId,
|
|
67
|
-
},
|
|
83
|
+
data: wait,
|
|
68
84
|
},
|
|
69
85
|
links: [],
|
|
70
86
|
events: spanEvents,
|
|
@@ -85,11 +101,22 @@ export function stepToSpan(step, stepEvents, nowTime) {
|
|
|
85
101
|
data: step,
|
|
86
102
|
};
|
|
87
103
|
const resource = 'step';
|
|
88
|
-
const endTime = step.completedAt ?? now;
|
|
104
|
+
const endTime = new Date(step.completedAt ?? now);
|
|
89
105
|
// Convert step-related events to span events (for markers like hook_created, step_retrying, etc.)
|
|
90
106
|
// This determines which events are displayed as markers. In the detail view,
|
|
91
107
|
// we'll show all events that correlate with the selected resource.
|
|
92
108
|
const events = convertEventsToSpanEvents(stepEvents);
|
|
109
|
+
// Use createdAt as span start time, with activeStartTime for when execution began
|
|
110
|
+
// This allows visualization of the "queued" period before execution
|
|
111
|
+
const spanStartTime = new Date(step.createdAt);
|
|
112
|
+
let activeStartTime = step.startedAt ? new Date(step.startedAt) : undefined;
|
|
113
|
+
const firstStartEvent = stepEvents.find((event) => event.eventType === 'step_started');
|
|
114
|
+
if (firstStartEvent) {
|
|
115
|
+
// `step.startedAt` is the server-side creation timestamp, and `event.createdAt` is
|
|
116
|
+
// the client-side creation timestamp. For now, to align the event marker with the
|
|
117
|
+
// line we show for step.startedAt, we overwrite here to always use client-side time.
|
|
118
|
+
activeStartTime = new Date(firstStartEvent.createdAt);
|
|
119
|
+
}
|
|
93
120
|
return {
|
|
94
121
|
spanId: String(step.stepId),
|
|
95
122
|
name: parsedName?.shortName ?? '',
|
|
@@ -101,29 +128,46 @@ export function stepToSpan(step, stepEvents, nowTime) {
|
|
|
101
128
|
attributes,
|
|
102
129
|
links: [],
|
|
103
130
|
events,
|
|
104
|
-
startTime: dateToOtelTime(
|
|
131
|
+
startTime: dateToOtelTime(spanStartTime),
|
|
105
132
|
endTime: dateToOtelTime(endTime),
|
|
106
|
-
duration: calculateDuration(
|
|
133
|
+
duration: calculateDuration(spanStartTime, endTime),
|
|
134
|
+
// Only set activeStartTime if it differs from startTime (i.e., there was a queued period)
|
|
135
|
+
activeStartTime: activeStartTime && activeStartTime.getTime() > spanStartTime.getTime()
|
|
136
|
+
? dateToOtelTime(activeStartTime)
|
|
137
|
+
: undefined,
|
|
107
138
|
};
|
|
108
139
|
}
|
|
140
|
+
export const hookEventsToHookEntity = (events) => {
|
|
141
|
+
const createdEvent = events.find((event) => event.eventType === 'hook_created');
|
|
142
|
+
if (!createdEvent) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
const receivedEvents = events.filter((event) => event.eventType === 'hook_received');
|
|
146
|
+
const disposedEvents = events.filter((event) => event.eventType === 'hook_disposed');
|
|
147
|
+
const lastReceivedEvent = receivedEvents.at(-1);
|
|
148
|
+
return {
|
|
149
|
+
hookId: createdEvent.correlationId,
|
|
150
|
+
runId: createdEvent.runId,
|
|
151
|
+
createdAt: createdEvent.createdAt,
|
|
152
|
+
receivedCount: receivedEvents.length,
|
|
153
|
+
lastReceivedAt: lastReceivedEvent?.createdAt || undefined,
|
|
154
|
+
disposedAt: disposedEvents.at(-1)?.createdAt || undefined,
|
|
155
|
+
};
|
|
156
|
+
};
|
|
109
157
|
/**
|
|
110
158
|
* Converts a workflow Hook to an OpenTelemetry Span
|
|
111
159
|
*/
|
|
112
|
-
export function hookToSpan(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
};
|
|
118
|
-
const lastHookReceivedEvent = hookEvents
|
|
119
|
-
.slice()
|
|
120
|
-
.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())
|
|
121
|
-
.find((event) => event.eventType === 'hook_received');
|
|
122
|
-
const endTime = lastHookReceivedEvent
|
|
123
|
-
? lastHookReceivedEvent.createdAt
|
|
124
|
-
: new Date(Math.max(hook.createdAt.getTime() + 10_000, Date.now()));
|
|
160
|
+
export function hookToSpan(hookEvents, run, nowTime) {
|
|
161
|
+
const hook = hookEventsToHookEntity(hookEvents);
|
|
162
|
+
if (!hook) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
125
165
|
// Convert hook-related events to span events
|
|
126
166
|
const events = convertEventsToSpanEvents(hookEvents);
|
|
167
|
+
// We display hooks as a minimum span size of 10 seconds, just to ensure
|
|
168
|
+
// it's clickable even if there is no
|
|
169
|
+
const viewerEndTime = new Date(run.completedAt || nowTime) ?? nowTime;
|
|
170
|
+
const endTime = hook.disposedAt || viewerEndTime;
|
|
127
171
|
return {
|
|
128
172
|
spanId: String(hook.hookId),
|
|
129
173
|
name: String(hook.hookId),
|
|
@@ -132,7 +176,10 @@ export function hookToSpan(hook, hookEvents) {
|
|
|
132
176
|
library: WORKFLOW_LIBRARY,
|
|
133
177
|
status: { code: 1 },
|
|
134
178
|
traceFlags: 1,
|
|
135
|
-
attributes
|
|
179
|
+
attributes: {
|
|
180
|
+
resource: 'hook',
|
|
181
|
+
data: hook,
|
|
182
|
+
},
|
|
136
183
|
links: [],
|
|
137
184
|
events,
|
|
138
185
|
startTime: dateToOtelTime(hook.createdAt),
|
|
@@ -150,7 +197,9 @@ export function runToSpan(run, runEvents, nowTime) {
|
|
|
150
197
|
resource: 'run',
|
|
151
198
|
data: run,
|
|
152
199
|
};
|
|
153
|
-
|
|
200
|
+
// Use createdAt as span start time, with activeStartTime for when execution began
|
|
201
|
+
const spanStartTime = new Date(run.createdAt);
|
|
202
|
+
const activeStartTime = run.startedAt ? new Date(run.startedAt) : undefined;
|
|
154
203
|
const endTime = run.completedAt ?? now;
|
|
155
204
|
// Convert run-level events to span events
|
|
156
205
|
const events = convertEventsToSpanEvents(runEvents);
|
|
@@ -165,9 +214,13 @@ export function runToSpan(run, runEvents, nowTime) {
|
|
|
165
214
|
attributes,
|
|
166
215
|
links: [],
|
|
167
216
|
events,
|
|
168
|
-
startTime: dateToOtelTime(
|
|
217
|
+
startTime: dateToOtelTime(spanStartTime),
|
|
169
218
|
endTime: dateToOtelTime(endTime),
|
|
170
|
-
duration: calculateDuration(
|
|
219
|
+
duration: calculateDuration(spanStartTime, endTime),
|
|
220
|
+
// Only set activeStartTime if it differs from startTime (i.e., there was a queued period)
|
|
221
|
+
activeStartTime: activeStartTime && activeStartTime.getTime() > spanStartTime.getTime()
|
|
222
|
+
? dateToOtelTime(activeStartTime)
|
|
223
|
+
: undefined,
|
|
171
224
|
};
|
|
172
225
|
}
|
|
173
226
|
//# sourceMappingURL=trace-span-construction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-span-construction.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"trace-span-construction.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Converts a Date to OpenTelemetry time format [seconds, nanoseconds]
|
|
6
6
|
*/
|
|
7
|
-
export declare function dateToOtelTime(date: Date | unknown): [number, number];
|
|
7
|
+
export declare function dateToOtelTime(date: Date | string | unknown): [number, number];
|
|
8
8
|
export declare function otelTimeToMs(time: [number, number]): number;
|
|
9
9
|
/**
|
|
10
10
|
* Calculates duration in [seconds, nanoseconds] format
|
|
11
11
|
*/
|
|
12
|
-
export declare function calculateDuration(start: Date | unknown, end: Date | unknown): [number, number];
|
|
12
|
+
export declare function calculateDuration(start: Date | string | unknown, end: Date | string | unknown): [number, number];
|
|
13
13
|
//# sourceMappingURL=trace-time-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-time-utils.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-time-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"trace-time-utils.d.ts","sourceRoot":"","sources":["../../src/workflow-traces/trace-time-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAC5B,CAAC,MAAM,EAAE,MAAM,CAAC,CAWlB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,EAC9B,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAC3B,CAAC,MAAM,EAAE,MAAM,CAAC,CAelB"}
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* Converts a Date to OpenTelemetry time format [seconds, nanoseconds]
|
|
6
6
|
*/
|
|
7
7
|
export function dateToOtelTime(date) {
|
|
8
|
+
if (typeof date === 'string') {
|
|
9
|
+
date = new Date(date);
|
|
10
|
+
}
|
|
8
11
|
if (!date || !(date instanceof Date)) {
|
|
9
12
|
return [0, 0];
|
|
10
13
|
}
|
|
@@ -22,6 +25,12 @@ export function otelTimeToMs(time) {
|
|
|
22
25
|
* Calculates duration in [seconds, nanoseconds] format
|
|
23
26
|
*/
|
|
24
27
|
export function calculateDuration(start, end) {
|
|
28
|
+
if (typeof start === 'string') {
|
|
29
|
+
start = new Date(start);
|
|
30
|
+
}
|
|
31
|
+
if (typeof end === 'string') {
|
|
32
|
+
end = new Date(end);
|
|
33
|
+
}
|
|
25
34
|
if (!start || !(start instanceof Date)) {
|
|
26
35
|
return [0, 0];
|
|
27
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-time-utils.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-time-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"trace-time-utils.js","sourceRoot":"","sources":["../../src/workflow-traces/trace-time-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,IAA6B;IAE7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAsB;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5C,OAAO,WAAW,GAAG,eAAe,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,GAA4B;IAE5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,IAAI,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/web-shared",
|
|
3
3
|
"description": "Shared components for Workflow Observability UI",
|
|
4
|
-
"version": "4.0
|
|
4
|
+
"version": "4.1.0-beta.46",
|
|
5
5
|
"private": false,
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
13
|
"license": "Apache-2.0",
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
14
16
|
"exports": {
|
|
15
17
|
".": {
|
|
16
18
|
"types": "./dist/index.d.ts",
|
|
@@ -27,25 +29,33 @@
|
|
|
27
29
|
"directory": "packages/web-shared"
|
|
28
30
|
},
|
|
29
31
|
"dependencies": {
|
|
30
|
-
"@tailwindcss/postcss": "
|
|
31
|
-
"class-variance-authority": "
|
|
32
|
-
"clsx": "
|
|
33
|
-
"
|
|
34
|
-
"
|
|
32
|
+
"@tailwindcss/postcss": "4",
|
|
33
|
+
"class-variance-authority": "0.7.1",
|
|
34
|
+
"clsx": "2.1.1",
|
|
35
|
+
"color-hash": "2.0.2",
|
|
36
|
+
"date-fns": "4.1.0",
|
|
37
|
+
"lucide-react": "0.469.0",
|
|
35
38
|
"react": "19.1.0",
|
|
36
39
|
"react-dom": "19.1.0",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
40
|
+
"shiki": "3.13.0",
|
|
41
|
+
"sonner": "2.0.7",
|
|
42
|
+
"streamdown": "1.6.11",
|
|
43
|
+
"swr": "2.3.6",
|
|
44
|
+
"tailwind-merge": "2.5.5",
|
|
45
|
+
"tailwindcss": "4",
|
|
46
|
+
"@workflow/core": "4.1.0-beta.51",
|
|
47
|
+
"@workflow/errors": "4.1.0-beta.14",
|
|
48
|
+
"@workflow/utils": "4.1.0-beta.11",
|
|
49
|
+
"@workflow/world": "4.1.0-beta.1",
|
|
50
|
+
"@workflow/world-vercel": "4.1.0-beta.29"
|
|
43
51
|
},
|
|
44
52
|
"devDependencies": {
|
|
45
53
|
"@biomejs/biome": "^2.2.7",
|
|
54
|
+
"@types/color-hash": "2.0.0",
|
|
46
55
|
"@types/node": "22.19.0",
|
|
47
|
-
"@types/react": "
|
|
48
|
-
"@types/react-dom": "
|
|
56
|
+
"@types/react": "19",
|
|
57
|
+
"@types/react-dom": "19",
|
|
58
|
+
"ai": "5.0.104",
|
|
49
59
|
"typescript": "^5.9.3",
|
|
50
60
|
"@workflow/tsconfig": "4.0.1-beta.0"
|
|
51
61
|
},
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { EnvMap } from '../api/workflow-server-actions';
|
|
2
|
-
/**
|
|
3
|
-
* Custom panel component for workflow traces that displays entity details
|
|
4
|
-
*/
|
|
5
|
-
export declare function WorkflowDetailPanel({ env, }: {
|
|
6
|
-
env: EnvMap;
|
|
7
|
-
}): React.JSX.Element | null;
|
|
8
|
-
//# sourceMappingURL=workflow-detail-panel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-detail-panel.d.ts","sourceRoot":"","sources":["../../src/sidebar/workflow-detail-panel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAK7D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA2E3B"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
import { useEffect, useMemo } from 'react';
|
|
5
|
-
import { toast } from 'sonner';
|
|
6
|
-
import { useWorkflowResourceData } from '../api/workflow-api-client';
|
|
7
|
-
import { EventsList } from '../sidebar/events-list';
|
|
8
|
-
import { useTraceViewer } from '../trace-viewer';
|
|
9
|
-
import { AttributePanel } from './attribute-panel';
|
|
10
|
-
/**
|
|
11
|
-
* Custom panel component for workflow traces that displays entity details
|
|
12
|
-
*/
|
|
13
|
-
export function WorkflowDetailPanel({ env, }) {
|
|
14
|
-
const { state } = useTraceViewer();
|
|
15
|
-
const { selected } = state;
|
|
16
|
-
const data = selected?.span.attributes?.data;
|
|
17
|
-
// Determine resource ID and runId (needed for steps)
|
|
18
|
-
const { resource, resourceId, runId } = useMemo(() => {
|
|
19
|
-
const resource = selected?.span.attributes?.resource;
|
|
20
|
-
if (resource === 'step') {
|
|
21
|
-
const step = data;
|
|
22
|
-
return { resource: 'step', resourceId: step.stepId, runId: step.runId };
|
|
23
|
-
}
|
|
24
|
-
else if (resource === 'run') {
|
|
25
|
-
const run = data;
|
|
26
|
-
return { resource: 'run', resourceId: run.runId, runId: undefined };
|
|
27
|
-
}
|
|
28
|
-
else if (resource === 'hook') {
|
|
29
|
-
const hook = data;
|
|
30
|
-
return { resource: 'hook', resourceId: hook.hookId, runId: undefined };
|
|
31
|
-
}
|
|
32
|
-
else if (resource === 'sleep') {
|
|
33
|
-
return {
|
|
34
|
-
resource: 'sleep',
|
|
35
|
-
resourceId: selected?.span?.spanId,
|
|
36
|
-
runId: undefined,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return { resource: undefined, resourceId: undefined, runId: undefined };
|
|
40
|
-
}, [selected, data]);
|
|
41
|
-
// Fetch full resource data with events
|
|
42
|
-
const { data: fetchedData, error, loading, } = useWorkflowResourceData(env, resource, resourceId ?? '', { runId });
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
if (error && selected && resource) {
|
|
45
|
-
toast.error(`Failed to load ${resource} details`, {
|
|
46
|
-
description: error.message,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, [error, resource, selected]);
|
|
50
|
-
if (!selected || !resource || !resourceId) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
const displayData = fetchedData || data;
|
|
54
|
-
return (_jsxs("div", { className: clsx('flex flex-col px-2'), children: [_jsx(AttributePanel, { data: displayData, isLoading: loading, error: error ?? undefined }), resource !== 'run' && (_jsx(EventsList, { correlationId: resourceId, env: env, events: selected.span.events }))] }));
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=workflow-detail-panel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-detail-panel.js","sourceRoot":"","sources":["../../src/sidebar/workflow-detail-panel.tsx"],"names":[],"mappings":"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"}
|