@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,11 +1,21 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const localMillisecondTime: (value: unknown) => string;
|
|
2
|
+
interface DisplayContext {
|
|
3
|
+
stepName?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const AttributeBlock: ({ attribute, value, isLoading, inline, context, }: {
|
|
2
6
|
attribute: string;
|
|
3
7
|
value: unknown;
|
|
4
8
|
isLoading?: boolean;
|
|
9
|
+
inline?: boolean;
|
|
10
|
+
context?: DisplayContext;
|
|
5
11
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
-
export declare const AttributePanel: ({ data, isLoading, error, }: {
|
|
12
|
+
export declare const AttributePanel: ({ data, isLoading, error, expiredAt, onStreamClick, }: {
|
|
7
13
|
data: Record<string, unknown>;
|
|
8
14
|
isLoading?: boolean;
|
|
9
15
|
error?: Error;
|
|
16
|
+
expiredAt?: string | Date;
|
|
17
|
+
/** Callback when a stream reference is clicked */
|
|
18
|
+
onStreamClick?: (streamId: string) => void;
|
|
10
19
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
11
21
|
//# sourceMappingURL=attribute-panel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-panel.d.ts","sourceRoot":"","sources":["../../src/sidebar/attribute-panel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attribute-panel.d.ts","sourceRoot":"","sources":["../../src/sidebar/attribute-panel.tsx"],"names":[],"mappings":"AA2hBA,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,MAsBrD,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoMD,eAAO,MAAM,cAAc,GAAI,mDAM5B;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,mDAkDA,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,uDAM5B;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,4CAmGA,CAAC"}
|
|
@@ -1,15 +1,253 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { parseStepName, parseWorkflowName } from '@workflow/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';
|
|
4
|
+
import { createContext, useContext, useMemo, useState } from 'react';
|
|
5
|
+
import { ErrorCard } from '../components/ui/error-card';
|
|
6
|
+
import { useDarkMode } from '../hooks/use-dark-mode';
|
|
7
|
+
import { extractConversation, isDoStreamStep } from '../lib/utils';
|
|
8
|
+
import { ConversationView } from './conversation-view';
|
|
6
9
|
import { DetailCard } from './detail-card';
|
|
10
|
+
/**
|
|
11
|
+
* Tab button for conversation/JSON toggle
|
|
12
|
+
*/
|
|
13
|
+
function TabButton({ active, onClick, children, }) {
|
|
14
|
+
return (_jsx("button", { type: "button", onClick: onClick, className: "px-3 py-1.5 text-[11px] font-medium transition-colors -mb-px", style: {
|
|
15
|
+
// Explicit styles to prevent app-level button overrides when web-shared
|
|
16
|
+
// is embedded in a self-hosted app.
|
|
17
|
+
backgroundColor: 'transparent',
|
|
18
|
+
borderTop: 'none',
|
|
19
|
+
borderLeft: 'none',
|
|
20
|
+
borderRight: 'none',
|
|
21
|
+
borderBottom: `2px solid ${active ? 'var(--ds-blue-600)' : 'transparent'}`,
|
|
22
|
+
borderRadius: 0,
|
|
23
|
+
outline: 'none',
|
|
24
|
+
boxShadow: 'none',
|
|
25
|
+
cursor: 'pointer',
|
|
26
|
+
color: active ? 'var(--ds-gray-1000)' : 'var(--ds-gray-600)',
|
|
27
|
+
}, children: children }));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tabbed view for conversation and raw JSON
|
|
31
|
+
*/
|
|
32
|
+
function ConversationWithTabs({ conversation, args, }) {
|
|
33
|
+
const [activeTab, setActiveTab] = useState('conversation');
|
|
34
|
+
return (_jsx(DetailCard, { summary: `Input (${conversation.length} messages)`, children: _jsxs("div", { className: "rounded-md border", style: {
|
|
35
|
+
borderColor: 'var(--ds-gray-300)',
|
|
36
|
+
backgroundColor: 'transparent',
|
|
37
|
+
}, children: [_jsxs("div", { className: "flex gap-1 border-b", style: {
|
|
38
|
+
borderColor: 'var(--ds-gray-300)',
|
|
39
|
+
backgroundColor: 'transparent',
|
|
40
|
+
}, children: [_jsx(TabButton, { active: activeTab === 'conversation', onClick: () => setActiveTab('conversation'), children: "Conversation" }), _jsx(TabButton, { active: activeTab === 'json', onClick: () => setActiveTab('json'), children: "Raw JSON" })] }), activeTab === 'conversation' ? (_jsx(ConversationView, { messages: conversation })) : (_jsx("div", { className: "p-3", children: Array.isArray(args)
|
|
41
|
+
? args.map((v, i) => (_jsx("div", { className: "mt-2 first:mt-0", children: JsonBlock(v) }, i)))
|
|
42
|
+
: JsonBlock(args) }))] }) }));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Context for stream click handler
|
|
46
|
+
*/
|
|
47
|
+
const StreamClickContext = createContext(undefined);
|
|
48
|
+
/**
|
|
49
|
+
* Marker for stream reference objects that can be rendered as links
|
|
50
|
+
* This is duplicated from @workflow/core/observability to avoid pulling in
|
|
51
|
+
* Node.js dependencies into the client bundle.
|
|
52
|
+
*/
|
|
53
|
+
const STREAM_REF_TYPE = '__workflow_stream_ref__';
|
|
54
|
+
/**
|
|
55
|
+
* Check if a value is a StreamRef object
|
|
56
|
+
*
|
|
57
|
+
*/
|
|
58
|
+
const isStreamRef = (value) => {
|
|
59
|
+
// TODO: This is duplicated from @workflow/core/observability, but can't be pulled
|
|
60
|
+
// in client-side code because it's a Node.js dependency.
|
|
61
|
+
return (value !== null &&
|
|
62
|
+
typeof value === 'object' &&
|
|
63
|
+
'__type' in value &&
|
|
64
|
+
value.__type === STREAM_REF_TYPE &&
|
|
65
|
+
'streamId' in value &&
|
|
66
|
+
typeof value.streamId === 'string');
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Marker for custom class instance references.
|
|
70
|
+
* This is duplicated from @workflow/core/observability to avoid pulling in
|
|
71
|
+
* Node.js dependencies into the client bundle.
|
|
72
|
+
*/
|
|
73
|
+
const CLASS_INSTANCE_REF_TYPE = '__workflow_class_instance_ref__';
|
|
74
|
+
/**
|
|
75
|
+
* Check if a value is a ClassInstanceRef object
|
|
76
|
+
*/
|
|
77
|
+
const isClassInstanceRef = (value) => {
|
|
78
|
+
return (value !== null &&
|
|
79
|
+
typeof value === 'object' &&
|
|
80
|
+
'__type' in value &&
|
|
81
|
+
value.__type === CLASS_INSTANCE_REF_TYPE &&
|
|
82
|
+
'className' in value &&
|
|
83
|
+
typeof value.className === 'string');
|
|
84
|
+
};
|
|
85
|
+
import ColorHash from 'color-hash';
|
|
86
|
+
/**
|
|
87
|
+
* Color hash instance configured for nice saturation and lightness.
|
|
88
|
+
* Returns HSL values which we can transform for different use cases.
|
|
89
|
+
*/
|
|
90
|
+
const colorHash = new ColorHash({
|
|
91
|
+
saturation: [0.5, 0.6, 0.7],
|
|
92
|
+
lightness: [0.4, 0.5, 0.6],
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Convert HSL to CSS hsl() string
|
|
96
|
+
*/
|
|
97
|
+
const hslToString = (h, s, l) => {
|
|
98
|
+
return `hsl(${h}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Get consistent colors for a class ID using color-hash and HSL transformations.
|
|
102
|
+
* Adjusts colors based on light/dark mode for optimal appearance.
|
|
103
|
+
*/
|
|
104
|
+
const getClassColors = (classId, isDark) => {
|
|
105
|
+
const [h, s, l] = colorHash.hsl(classId);
|
|
106
|
+
if (isDark) {
|
|
107
|
+
// Dark mode: vibrant header, dark body, light text
|
|
108
|
+
return {
|
|
109
|
+
header: hslToString(h, s, Math.min(l + 0.1, 0.6)), // Slightly brighter header
|
|
110
|
+
body: hslToString(h, s * 0.8, 0.15), // Very dark, slightly desaturated body
|
|
111
|
+
text: hslToString(h, s * 0.6, 0.8), // Light, slightly desaturated text
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Light mode: vibrant header, light body, dark text
|
|
116
|
+
return {
|
|
117
|
+
header: hslToString(h, s, l), // Use base color for header
|
|
118
|
+
body: hslToString(h, s * 0.4, 0.95), // Very light, desaturated body
|
|
119
|
+
text: hslToString(h, s * 0.8, 0.25), // Dark, saturated text
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Renders a ClassInstanceRef as a styled card showing the class name and serialized data.
|
|
125
|
+
* The header color is determined by hashing the classId for visual distinction.
|
|
126
|
+
* Reacts to theme changes for proper dark/light mode support.
|
|
127
|
+
*/
|
|
128
|
+
const ClassInstanceRefDisplay = ({ classInstanceRef, }) => {
|
|
129
|
+
const isDark = useDarkMode();
|
|
130
|
+
const colors = getClassColors(classInstanceRef.classId, isDark);
|
|
131
|
+
return (_jsxs("div", { className: "inline-flex flex-col rounded text-[11px] font-mono my-1", style: {
|
|
132
|
+
backgroundColor: colors.body,
|
|
133
|
+
border: `1px solid ${colors.header}`,
|
|
134
|
+
}, children: [_jsxs("div", { className: "flex items-center gap-1.5 px-2 py-1 rounded-t", style: {
|
|
135
|
+
backgroundColor: colors.header,
|
|
136
|
+
color: '#FFFFFF',
|
|
137
|
+
}, title: `Custom class: ${classInstanceRef.classId}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("title", { children: "Class instance" }), _jsx("path", { d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" }), _jsx("polyline", { points: "3.27 6.96 12 12.01 20.73 6.96" }), _jsx("line", { x1: "12", y1: "22.08", x2: "12", y2: "12" })] }), _jsx("span", { className: "font-semibold", children: classInstanceRef.className })] }), _jsx("pre", { className: "px-2 py-1.5 overflow-x-auto whitespace-pre-wrap", style: { color: colors.text }, children: JSON.stringify(classInstanceRef.data, null, 2) })] }));
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Renders a StreamRef as a styled link/badge
|
|
141
|
+
*/
|
|
142
|
+
const StreamRefDisplay = ({ streamRef }) => {
|
|
143
|
+
const onStreamClick = useContext(StreamClickContext);
|
|
144
|
+
const handleClick = () => {
|
|
145
|
+
if (onStreamClick) {
|
|
146
|
+
onStreamClick(streamRef.streamId);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
return (_jsxs("button", { type: "button", onClick: handleClick, className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono cursor-pointer hover:opacity-80 transition-opacity", style: {
|
|
150
|
+
backgroundColor: 'var(--ds-blue-200)',
|
|
151
|
+
color: 'var(--ds-blue-900)',
|
|
152
|
+
border: '1px solid var(--ds-blue-400)',
|
|
153
|
+
}, title: `Click to view stream: ${streamRef.streamId}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("title", { children: "Stream icon" }), _jsx("path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z" }), _jsx("circle", { cx: "12", cy: "12", r: "3" })] }), streamRef.streamId.length > 40
|
|
154
|
+
? `${streamRef.streamId.slice(0, 20)}...${streamRef.streamId.slice(-15)}`
|
|
155
|
+
: streamRef.streamId] }));
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Recursively transforms a value for JSON display, replacing StreamRef and
|
|
159
|
+
* ClassInstanceRef objects with placeholder strings that can be identified
|
|
160
|
+
* and replaced with React elements.
|
|
161
|
+
*/
|
|
162
|
+
const transformValueForDisplay = (value) => {
|
|
163
|
+
const streamRefs = new Map();
|
|
164
|
+
const classInstanceRefs = new Map();
|
|
165
|
+
let counter = 0;
|
|
166
|
+
const transform = (v) => {
|
|
167
|
+
if (isStreamRef(v)) {
|
|
168
|
+
const placeholder = `__STREAM_REF_${counter++}__`;
|
|
169
|
+
streamRefs.set(placeholder, v);
|
|
170
|
+
return placeholder;
|
|
171
|
+
}
|
|
172
|
+
if (isClassInstanceRef(v)) {
|
|
173
|
+
const placeholder = `__CLASS_INSTANCE_REF_${counter++}__`;
|
|
174
|
+
classInstanceRefs.set(placeholder, v);
|
|
175
|
+
return placeholder;
|
|
176
|
+
}
|
|
177
|
+
if (Array.isArray(v)) {
|
|
178
|
+
return v.map(transform);
|
|
179
|
+
}
|
|
180
|
+
if (v !== null && typeof v === 'object') {
|
|
181
|
+
const result = {};
|
|
182
|
+
for (const [key, val] of Object.entries(v)) {
|
|
183
|
+
result[key] = transform(val);
|
|
184
|
+
}
|
|
185
|
+
return result;
|
|
186
|
+
}
|
|
187
|
+
return v;
|
|
188
|
+
};
|
|
189
|
+
const transformed = transform(value);
|
|
190
|
+
return {
|
|
191
|
+
json: JSON.stringify(transformed, null, 2),
|
|
192
|
+
streamRefs,
|
|
193
|
+
classInstanceRefs,
|
|
194
|
+
};
|
|
195
|
+
};
|
|
7
196
|
const JsonBlock = (value) => {
|
|
8
|
-
|
|
197
|
+
const { json, streamRefs, classInstanceRefs } = transformValueForDisplay(value);
|
|
198
|
+
// If no special refs, just render plain JSON
|
|
199
|
+
if (streamRefs.size === 0 && classInstanceRefs.size === 0) {
|
|
200
|
+
return (_jsx("pre", { className: "text-[11px] overflow-x-auto rounded-md border p-3", style: {
|
|
201
|
+
borderColor: 'var(--ds-gray-300)',
|
|
202
|
+
backgroundColor: 'var(--ds-gray-100)',
|
|
203
|
+
color: 'var(--ds-gray-1000)',
|
|
204
|
+
}, children: _jsx("code", { children: json }) }));
|
|
205
|
+
}
|
|
206
|
+
// Build a combined map of all placeholders to their React elements
|
|
207
|
+
const placeholderComponents = new Map();
|
|
208
|
+
let keyIndex = 0;
|
|
209
|
+
for (const [placeholder, streamRef] of streamRefs) {
|
|
210
|
+
placeholderComponents.set(placeholder, _jsx(StreamRefDisplay, { streamRef: streamRef }, keyIndex++));
|
|
211
|
+
}
|
|
212
|
+
for (const [placeholder, classInstanceRef] of classInstanceRefs) {
|
|
213
|
+
placeholderComponents.set(placeholder, _jsx(ClassInstanceRefDisplay, { classInstanceRef: classInstanceRef }, keyIndex++));
|
|
214
|
+
}
|
|
215
|
+
// Split the JSON by all placeholders and render with React elements
|
|
216
|
+
const parts = [];
|
|
217
|
+
let remaining = json;
|
|
218
|
+
// Process placeholders in order of their appearance in the string
|
|
219
|
+
while (remaining.length > 0) {
|
|
220
|
+
let earliestIndex = -1;
|
|
221
|
+
let earliestPlaceholder = '';
|
|
222
|
+
let earliestComponent = null;
|
|
223
|
+
// Find the earliest placeholder in the remaining string
|
|
224
|
+
for (const [placeholder, component] of placeholderComponents) {
|
|
225
|
+
const index = remaining.indexOf(`"${placeholder}"`);
|
|
226
|
+
if (index !== -1 && (earliestIndex === -1 || index < earliestIndex)) {
|
|
227
|
+
earliestIndex = index;
|
|
228
|
+
earliestPlaceholder = placeholder;
|
|
229
|
+
earliestComponent = component;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (earliestIndex === -1) {
|
|
233
|
+
// No more placeholders found, add the rest
|
|
234
|
+
parts.push(remaining);
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
// Add text before the placeholder
|
|
238
|
+
if (earliestIndex > 0) {
|
|
239
|
+
parts.push(remaining.slice(0, earliestIndex));
|
|
240
|
+
}
|
|
241
|
+
// Add the component
|
|
242
|
+
parts.push(earliestComponent);
|
|
243
|
+
// Move past the placeholder
|
|
244
|
+
remaining = remaining.slice(earliestIndex + earliestPlaceholder.length + 2); // +2 for quotes
|
|
245
|
+
}
|
|
246
|
+
return (_jsx("pre", { className: "text-[11px] overflow-x-auto rounded-md border p-3", style: {
|
|
9
247
|
borderColor: 'var(--ds-gray-300)',
|
|
10
248
|
backgroundColor: 'var(--ds-gray-100)',
|
|
11
249
|
color: 'var(--ds-gray-1000)',
|
|
12
|
-
}, children: _jsx("code", { children:
|
|
250
|
+
}, children: _jsx("code", { children: parts }) }));
|
|
13
251
|
};
|
|
14
252
|
const attributeOrder = [
|
|
15
253
|
'workflowName',
|
|
@@ -24,6 +262,8 @@ const attributeOrder = [
|
|
|
24
262
|
'correlationId',
|
|
25
263
|
'eventType',
|
|
26
264
|
'deploymentId',
|
|
265
|
+
'specVersion',
|
|
266
|
+
'workflowCoreVersion',
|
|
27
267
|
'ownerId',
|
|
28
268
|
'projectId',
|
|
29
269
|
'environment',
|
|
@@ -32,9 +272,9 @@ const attributeOrder = [
|
|
|
32
272
|
'startedAt',
|
|
33
273
|
'updatedAt',
|
|
34
274
|
'completedAt',
|
|
275
|
+
'expiredAt',
|
|
35
276
|
'retryAfter',
|
|
36
277
|
'error',
|
|
37
|
-
'errorCode',
|
|
38
278
|
'metadata',
|
|
39
279
|
'eventData',
|
|
40
280
|
'input',
|
|
@@ -46,6 +286,43 @@ const sortByAttributeOrder = (a, b) => {
|
|
|
46
286
|
const bIndex = attributeOrder.indexOf(b) || 0;
|
|
47
287
|
return aIndex - bIndex;
|
|
48
288
|
};
|
|
289
|
+
/**
|
|
290
|
+
* Display names for attributes that should render differently from their key.
|
|
291
|
+
*/
|
|
292
|
+
const attributeDisplayNames = {
|
|
293
|
+
workflowCoreVersion: '@workflow/core version',
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Get the display name for an attribute key.
|
|
297
|
+
*/
|
|
298
|
+
const getAttributeDisplayName = (attribute) => {
|
|
299
|
+
return attributeDisplayNames[attribute] ?? attribute;
|
|
300
|
+
};
|
|
301
|
+
export const localMillisecondTime = (value) => {
|
|
302
|
+
let date;
|
|
303
|
+
if (value instanceof Date) {
|
|
304
|
+
date = value;
|
|
305
|
+
}
|
|
306
|
+
else if (typeof value === 'number') {
|
|
307
|
+
date = new Date(value);
|
|
308
|
+
}
|
|
309
|
+
else if (typeof value === 'string') {
|
|
310
|
+
date = new Date(value);
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
date = new Date(String(value));
|
|
314
|
+
}
|
|
315
|
+
// e.g. 12/17/2025, 9:08:55.182 AM
|
|
316
|
+
return date.toLocaleString(undefined, {
|
|
317
|
+
year: 'numeric',
|
|
318
|
+
month: 'numeric',
|
|
319
|
+
day: 'numeric',
|
|
320
|
+
hour: 'numeric',
|
|
321
|
+
minute: 'numeric',
|
|
322
|
+
second: 'numeric',
|
|
323
|
+
fractionalSecondDigits: 3,
|
|
324
|
+
});
|
|
325
|
+
};
|
|
49
326
|
const attributeToDisplayFn = {
|
|
50
327
|
// Names that need pretty-printing
|
|
51
328
|
workflowName: (value) => parseWorkflowName(String(value))?.shortName ?? '?',
|
|
@@ -65,6 +342,8 @@ const attributeToDisplayFn = {
|
|
|
65
342
|
correlationId: (value) => String(value),
|
|
66
343
|
// Project details
|
|
67
344
|
deploymentId: (value) => String(value),
|
|
345
|
+
specVersion: (value) => String(value),
|
|
346
|
+
workflowCoreVersion: (value) => String(value),
|
|
68
347
|
// Tenancy (we don't show these)
|
|
69
348
|
ownerId: (_value) => null,
|
|
70
349
|
projectId: (_value) => null,
|
|
@@ -72,15 +351,33 @@ const attributeToDisplayFn = {
|
|
|
72
351
|
executionContext: (_value) => null,
|
|
73
352
|
// Dates
|
|
74
353
|
// TODO: relative time with tooltips for ISO times
|
|
75
|
-
createdAt:
|
|
76
|
-
startedAt:
|
|
77
|
-
updatedAt:
|
|
78
|
-
completedAt:
|
|
79
|
-
|
|
80
|
-
|
|
354
|
+
createdAt: localMillisecondTime,
|
|
355
|
+
startedAt: localMillisecondTime,
|
|
356
|
+
updatedAt: localMillisecondTime,
|
|
357
|
+
completedAt: localMillisecondTime,
|
|
358
|
+
expiredAt: localMillisecondTime,
|
|
359
|
+
retryAfter: localMillisecondTime,
|
|
360
|
+
resumeAt: localMillisecondTime,
|
|
81
361
|
// Resolved attributes, won't actually use this function
|
|
82
362
|
metadata: JsonBlock,
|
|
83
|
-
input: (value) => {
|
|
363
|
+
input: (value, context) => {
|
|
364
|
+
// Check if input has args + closure vars structure
|
|
365
|
+
if (value && typeof value === 'object' && 'args' in value) {
|
|
366
|
+
const { args, closureVars } = value;
|
|
367
|
+
const argCount = Array.isArray(args) ? args.length : 0;
|
|
368
|
+
const hasClosureVars = closureVars && Object.keys(closureVars).length > 0;
|
|
369
|
+
// Check if this is a doStreamStep - show conversation view with tabs
|
|
370
|
+
if (context?.stepName && isDoStreamStep(context.stepName)) {
|
|
371
|
+
const conversation = extractConversation(args);
|
|
372
|
+
if (conversation && conversation.length > 0) {
|
|
373
|
+
return (_jsxs(_Fragment, { children: [_jsx(ConversationWithTabs, { conversation: conversation, args: args }), hasClosureVars && (_jsx(DetailCard, { summary: "Closure Variables", children: JsonBlock(closureVars) }))] }));
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return (_jsxs(_Fragment, { children: [_jsx(DetailCard, { summary: `Input (${argCount} arguments)`, children: Array.isArray(args)
|
|
377
|
+
? args.map((v, i) => (_jsx("div", { className: "mt-2", children: JsonBlock(v) }, i)))
|
|
378
|
+
: JsonBlock(args) }), hasClosureVars && (_jsx(DetailCard, { summary: "Closure Variables", children: JsonBlock(closureVars) }))] }));
|
|
379
|
+
}
|
|
380
|
+
// Fallback: treat as plain array or object
|
|
84
381
|
const argCount = Array.isArray(value) ? value.length : 0;
|
|
85
382
|
return (_jsx(DetailCard, { summary: `Input (${argCount} arguments)`, children: Array.isArray(value)
|
|
86
383
|
? value.map((v, i) => (_jsx("div", { className: "mt-2", children: JsonBlock(v) }, i)))
|
|
@@ -90,9 +387,24 @@ const attributeToDisplayFn = {
|
|
|
90
387
|
return _jsx(DetailCard, { summary: "Output", children: JsonBlock(value) });
|
|
91
388
|
},
|
|
92
389
|
error: (value) => {
|
|
93
|
-
|
|
390
|
+
// Handle structured error format
|
|
391
|
+
if (value && typeof value === 'object' && 'message' in value) {
|
|
392
|
+
const error = value;
|
|
393
|
+
return (_jsx(DetailCard, { summary: "Error", children: _jsxs("div", { className: "flex flex-col gap-2", children: [error.code && (_jsxs("div", { children: [_jsxs("span", { className: "text-[11px] font-medium", style: { color: 'var(--ds-gray-700)' }, children: ["Error Code:", ' '] }), _jsx("code", { className: "text-[11px]", style: { color: 'var(--ds-gray-1000)' }, children: error.code })] })), _jsx("pre", { className: "text-[11px] overflow-x-auto rounded-md border p-3", style: {
|
|
394
|
+
borderColor: 'var(--ds-gray-300)',
|
|
395
|
+
backgroundColor: 'var(--ds-gray-100)',
|
|
396
|
+
color: 'var(--ds-gray-1000)',
|
|
397
|
+
whiteSpace: 'pre-wrap',
|
|
398
|
+
}, children: _jsx("code", { children: error.stack || error.message }) })] }) }));
|
|
399
|
+
}
|
|
400
|
+
// Fallback for plain string errors
|
|
401
|
+
return (_jsx(DetailCard, { summary: "Error", children: _jsx("pre", { className: "text-[11px] overflow-x-auto rounded-md border p-3", style: {
|
|
402
|
+
borderColor: 'var(--ds-gray-300)',
|
|
403
|
+
backgroundColor: 'var(--ds-gray-100)',
|
|
404
|
+
color: 'var(--ds-gray-1000)',
|
|
405
|
+
whiteSpace: 'pre-wrap',
|
|
406
|
+
}, children: _jsx("code", { children: String(value) }) }) }));
|
|
94
407
|
},
|
|
95
|
-
errorCode: JsonBlock,
|
|
96
408
|
eventData: (value) => {
|
|
97
409
|
return _jsx(DetailCard, { summary: "Event Data", children: JsonBlock(value) });
|
|
98
410
|
},
|
|
@@ -101,29 +413,62 @@ const resolvableAttributes = [
|
|
|
101
413
|
'input',
|
|
102
414
|
'output',
|
|
103
415
|
'error',
|
|
104
|
-
'errorCode',
|
|
105
416
|
'metadata',
|
|
106
417
|
'eventData',
|
|
107
418
|
];
|
|
108
|
-
|
|
419
|
+
const ExpiredDataMessage = () => (_jsx("div", { className: "text-copy-12 rounded-md border p-4 my-2", style: {
|
|
420
|
+
borderColor: 'var(--ds-gray-300)',
|
|
421
|
+
backgroundColor: 'var(--ds-gray-100)',
|
|
422
|
+
color: 'var(--ds-gray-700)',
|
|
423
|
+
}, children: _jsx("span", { children: "The data for this run has expired and is no longer available." }) }));
|
|
424
|
+
export const AttributeBlock = ({ attribute, value, isLoading, inline = false, context, }) => {
|
|
109
425
|
const displayFn = attributeToDisplayFn[attribute];
|
|
110
426
|
if (!displayFn) {
|
|
111
427
|
return null;
|
|
112
428
|
}
|
|
113
|
-
const displayValue = displayFn(value);
|
|
429
|
+
const displayValue = displayFn(value, context);
|
|
114
430
|
if (!displayValue) {
|
|
115
431
|
return null;
|
|
116
432
|
}
|
|
117
|
-
|
|
433
|
+
if (inline) {
|
|
434
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-[11px] font-medium", style: { color: 'var(--ds-gray-700)' }, children: attribute }), _jsx("span", { className: "text-[11px]", style: { color: 'var(--ds-gray-1000)' }, children: displayValue })] }));
|
|
435
|
+
}
|
|
436
|
+
return (_jsxs("div", { className: "relative", children: [typeof isLoading === 'boolean' && isLoading && (_jsx("div", { className: "absolute top-9 right-4", children: _jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2", style: { borderColor: 'var(--ds-gray-900)' } }) })), _jsxs("div", { className: "flex flex-col gap-0 my-2", children: [_jsx("span", { className: "text-xs font-medium", style: { color: 'var(--ds-gray-700)' }, children: attribute }), _jsx("span", { className: "text-xs", style: { color: 'var(--ds-gray-1000)' }, children: displayValue })] }, attribute)] }));
|
|
118
437
|
};
|
|
119
|
-
export const AttributePanel = ({ data, isLoading, error, }) => {
|
|
120
|
-
|
|
438
|
+
export const AttributePanel = ({ data, isLoading, error, expiredAt, onStreamClick, }) => {
|
|
439
|
+
// Extract workflowCoreVersion from executionContext for display
|
|
440
|
+
const displayData = useMemo(() => {
|
|
441
|
+
const result = { ...data };
|
|
442
|
+
const execCtx = data.executionContext;
|
|
443
|
+
if (execCtx?.workflowCoreVersion) {
|
|
444
|
+
result.workflowCoreVersion = execCtx.workflowCoreVersion;
|
|
445
|
+
}
|
|
446
|
+
return result;
|
|
447
|
+
}, [data]);
|
|
448
|
+
const hasExpired = expiredAt != null && new Date(expiredAt) < new Date();
|
|
121
449
|
const basicAttributes = Object.keys(displayData)
|
|
122
450
|
.filter((key) => !resolvableAttributes.includes(key))
|
|
123
451
|
.sort(sortByAttributeOrder);
|
|
124
452
|
const resolvedAttributes = Object.keys(displayData)
|
|
125
453
|
.filter((key) => resolvableAttributes.includes(key))
|
|
126
454
|
.sort(sortByAttributeOrder);
|
|
127
|
-
|
|
455
|
+
// Filter out attributes that return null
|
|
456
|
+
const visibleBasicAttributes = basicAttributes.filter((attribute) => {
|
|
457
|
+
const displayFn = attributeToDisplayFn[attribute];
|
|
458
|
+
if (!displayFn)
|
|
459
|
+
return false;
|
|
460
|
+
const displayValue = displayFn(displayData[attribute]);
|
|
461
|
+
return displayValue !== null;
|
|
462
|
+
});
|
|
463
|
+
// Memoize context object to avoid object reconstruction on render
|
|
464
|
+
const displayContext = useMemo(() => ({
|
|
465
|
+
stepName: displayData.stepName,
|
|
466
|
+
}), [displayData.stepName]);
|
|
467
|
+
return (_jsx(StreamClickContext.Provider, { value: onStreamClick, children: _jsxs("div", { children: [visibleBasicAttributes.length > 0 && (_jsx("div", { className: "flex flex-col divide-y rounded-lg border mb-3 overflow-hidden", style: {
|
|
468
|
+
borderColor: 'var(--ds-gray-300)',
|
|
469
|
+
backgroundColor: 'var(--ds-gray-100)',
|
|
470
|
+
}, children: visibleBasicAttributes.map((attribute) => (_jsxs("div", { className: "flex items-center justify-between px-3 py-1.5", style: {
|
|
471
|
+
borderColor: 'var(--ds-gray-300)',
|
|
472
|
+
}, children: [_jsx("span", { className: "text-[11px] font-medium", style: { color: 'var(--ds-gray-700)' }, children: getAttributeDisplayName(attribute) }), _jsx("span", { className: "text-[11px] font-mono", style: { color: 'var(--ds-gray-1000)' }, children: attributeToDisplayFn[attribute]?.(displayData[attribute]) })] }, attribute))) })), error ? (_jsx(ErrorCard, { title: "Failed to load resource details", details: error.message, className: "my-4" })) : hasExpired ? (_jsx(ExpiredDataMessage, {})) : (resolvedAttributes.map((attribute) => (_jsx(AttributeBlock, { isLoading: isLoading, attribute: attribute, value: displayData[attribute], context: displayContext }, attribute))))] }) }));
|
|
128
473
|
};
|
|
129
474
|
//# sourceMappingURL=attribute-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-panel.js","sourceRoot":"","sources":["../../src/sidebar/attribute-panel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attribute-panel.js","sourceRoot":"","sources":["../../src/sidebar/attribute-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModelMessage } from 'ai';
|
|
2
|
+
interface ConversationViewProps {
|
|
3
|
+
messages: ModelMessage[];
|
|
4
|
+
}
|
|
5
|
+
export declare function ConversationView({ messages }: ConversationViewProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=conversation-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-view.d.ts","sourceRoot":"","sources":["../../src/sidebar/conversation-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAGvC,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAmBnE"}
|