@outputai/cli 0.5.3-next.0eeffec.0 → 0.5.3-next.69060d7.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/api/generated/api.d.ts +2 -10
- package/dist/assets/docker/docker-compose-dev.yml +1 -1
- package/dist/generated/framework_version.json +1 -1
- package/dist/utils/format_workflow_result.spec.js +0 -2
- package/dist/views/dev/panels/runs_panel.js +1 -6
- package/dist/views/dev/state/ui_state.d.ts +1 -1
- package/package.json +4 -4
|
@@ -207,11 +207,8 @@ export interface WorkflowStatusResponse {
|
|
|
207
207
|
/** An epoch timestamp representing when the workflow ended */
|
|
208
208
|
completedAt?: number;
|
|
209
209
|
}
|
|
210
|
-
export type WorkflowResultResponseAttributesItem = {
|
|
211
|
-
[key: string]: unknown;
|
|
212
|
-
};
|
|
213
210
|
/**
|
|
214
|
-
* Convenience totals
|
|
211
|
+
* Convenience totals aggregated from LLM and http usage and cost
|
|
215
212
|
* @nullable
|
|
216
213
|
*/
|
|
217
214
|
export type WorkflowResultResponseAggregations = {
|
|
@@ -240,12 +237,7 @@ export interface WorkflowResultResponse {
|
|
|
240
237
|
output?: unknown;
|
|
241
238
|
trace?: TraceInfo;
|
|
242
239
|
/**
|
|
243
|
-
*
|
|
244
|
-
* @nullable
|
|
245
|
-
*/
|
|
246
|
-
attributes?: WorkflowResultResponseAttributesItem[] | null;
|
|
247
|
-
/**
|
|
248
|
-
* Convenience totals derived from attributes
|
|
240
|
+
* Convenience totals aggregated from LLM and http usage and cost
|
|
249
241
|
* @nullable
|
|
250
242
|
*/
|
|
251
243
|
aggregations?: WorkflowResultResponseAggregations;
|
|
@@ -71,14 +71,12 @@ describe('formatWorkflowResult', () => {
|
|
|
71
71
|
workflowId: 'wf-456',
|
|
72
72
|
status: 'failed',
|
|
73
73
|
output: null,
|
|
74
|
-
attributes: [{ type: 'llm:usage', total: 0.4 }],
|
|
75
74
|
aggregations: { cost: { total: 0.4 }, tokens: { total: 20 }, httpRequests: { total: 0 } },
|
|
76
75
|
error: 'Activity task failed'
|
|
77
76
|
};
|
|
78
77
|
const output = formatOutput(data, 'json', formatWorkflowResult);
|
|
79
78
|
const parsed = JSON.parse(output);
|
|
80
79
|
expect(parsed.status).toBe('failed');
|
|
81
|
-
expect(parsed.attributes).toEqual([{ type: 'llm:usage', total: 0.4 }]);
|
|
82
80
|
expect(parsed.aggregations).toEqual({ cost: { total: 0.4 }, tokens: { total: 20 }, httpRequests: { total: 0 } });
|
|
83
81
|
expect(parsed.error).toBe('Activity task failed');
|
|
84
82
|
});
|
|
@@ -61,10 +61,9 @@ const RUN_INFO_TABS = [
|
|
|
61
61
|
{ id: 'status', label: 'Status' },
|
|
62
62
|
{ id: 'input', label: 'Input' },
|
|
63
63
|
{ id: 'output', label: 'Output' },
|
|
64
|
-
{ id: 'attributes', label: 'Attributes' },
|
|
65
64
|
{ id: 'aggregations', label: 'Aggregations' }
|
|
66
65
|
];
|
|
67
|
-
const RUN_INFO_TAB_ORDER = ['status', 'input', 'output', '
|
|
66
|
+
const RUN_INFO_TAB_ORDER = ['status', 'input', 'output', 'aggregations'];
|
|
68
67
|
const HeaderRow = () => (_jsxs(Box, { children: [_jsx(Box, { width: COL.indicator, children: _jsx(Text, { children: "\u00A0" }) }), _jsx(Box, { width: COL.icon, children: _jsx(Text, { children: "\u00A0" }) }), _jsx(Box, { width: COL.status, children: _jsx(Text, { dimColor: true, bold: true, children: "STATUS" }) }), _jsx(Box, { width: COL.type, children: _jsx(Text, { dimColor: true, bold: true, children: "TYPE" }) }), _jsx(Box, { width: COL.id, children: _jsx(Text, { dimColor: true, bold: true, children: "ID" }) }), _jsx(Box, { width: COL.duration, justifyContent: "flex-end", children: _jsx(Text, { dimColor: true, bold: true, children: "DURATION" }) }), _jsx(Box, { width: COL.started, marginLeft: 2, children: _jsx(Text, { dimColor: true, bold: true, children: "STARTED" }) })] }));
|
|
69
68
|
const RunRow = ({ run, selected }) => {
|
|
70
69
|
const status = run.status ?? 'running';
|
|
@@ -90,9 +89,6 @@ const runPaneValue = (run, pane, activePane) => {
|
|
|
90
89
|
if (activePane === 'output') {
|
|
91
90
|
return pane.error ?? pane.output;
|
|
92
91
|
}
|
|
93
|
-
if (activePane === 'attributes') {
|
|
94
|
-
return pane.attributes;
|
|
95
|
-
}
|
|
96
92
|
return pane.aggregations;
|
|
97
93
|
};
|
|
98
94
|
const DetailPane = ({ run, pane, rows }) => {
|
|
@@ -152,7 +148,6 @@ export const RunsPanel = ({ runs, height }) => {
|
|
|
152
148
|
input: result?.input,
|
|
153
149
|
output: result?.output,
|
|
154
150
|
error: result?.error,
|
|
155
|
-
attributes: result?.attributes,
|
|
156
151
|
aggregations: result?.aggregations,
|
|
157
152
|
status: result?.status ?? selectedRun.status ?? 'unknown',
|
|
158
153
|
loading
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
export type Tab = 'workflows' | 'runs' | 'services' | 'help';
|
|
3
3
|
export declare const TAB_ORDER: Tab[];
|
|
4
4
|
export declare const TAB_LABELS: Record<Tab, string>;
|
|
5
|
-
export type RunListPaneTab = 'status' | 'input' | 'output' | '
|
|
5
|
+
export type RunListPaneTab = 'status' | 'input' | 'output' | 'aggregations';
|
|
6
6
|
export type RunStepPaneTab = 'input' | 'output' | 'meta';
|
|
7
7
|
export type RunsView = 'list' | 'detail';
|
|
8
8
|
export interface Selection {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outputai/cli",
|
|
3
|
-
"version": "0.5.3-next.
|
|
3
|
+
"version": "0.5.3-next.69060d7.0",
|
|
4
4
|
"description": "CLI for Output.ai workflow generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"semver": "7.7.4",
|
|
37
37
|
"undici": "8.1.0",
|
|
38
38
|
"yaml": "^2.8.3",
|
|
39
|
-
"@outputai/
|
|
40
|
-
"@outputai/llm": "0.5.3-next.
|
|
41
|
-
"@outputai/
|
|
39
|
+
"@outputai/evals": "0.5.3-next.69060d7.0",
|
|
40
|
+
"@outputai/llm": "0.5.3-next.69060d7.0",
|
|
41
|
+
"@outputai/credentials": "0.5.3-next.69060d7.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/cli-progress": "3.11.6",
|