@ganakailabs/cloudeval-cli 0.21.0 → 0.21.2
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 +25 -25
- package/dist/{App-D4HXP4GR.js → App-5ITWBHXF.js} +130 -116
- package/dist/{Banner-6FGLG7VG.js → Banner-4PWWKMRZ.js} +2 -2
- package/dist/{chunk-GXHDB5LK.js → chunk-32EP3DJT.js} +1 -1
- package/dist/{chunk-LGJOACZ5.js → chunk-CJWMEKKP.js} +1 -1
- package/dist/cli.js +4 -4
- package/package.json +1 -1
- package/sbom.spdx.json +1 -1
package/README.md
CHANGED
|
@@ -110,31 +110,31 @@ npm uninstall -g @ganakailabs/cloudeval-cli
|
|
|
110
110
|
In the Terminal UI, use the Thread control or `/thread` to choose open chat
|
|
111
111
|
sessions, recent CloudEval chat threads, and local CLI sessions. `/thread new`
|
|
112
112
|
starts another independent open session, and `/open` opens the matching
|
|
113
|
-
CloudEval web chat thread when the active session has a thread id. Roomy
|
|
114
|
-
show a context rail with project, thread, model, mode, profile,
|
|
115
|
-
artifact chips; narrower terminals
|
|
116
|
-
|
|
117
|
-
bottom command completion strip; use Tab or
|
|
118
|
-
the ghost text, and Enter to choose the
|
|
119
|
-
appears as a task ledger in the thread.
|
|
120
|
-
Sources section instead of raw
|
|
121
|
-
highlighted inline; `/copy` copies
|
|
122
|
-
|
|
123
|
-
tabs include selected-item detail
|
|
124
|
-
sync state, and linked records; use
|
|
125
|
-
Connections to move the selected row, then
|
|
126
|
-
header separates credits left from observed
|
|
127
|
-
usage does not look like the current budget. Use the Profile
|
|
128
|
-
architecture|cost|triage|remediation` to choose an Agent
|
|
129
|
-
chat stream. Selecting a profile switches to Agent mode;
|
|
130
|
-
clears the profile back to the default chat flow. Starter
|
|
131
|
-
until you run `/starter`. Press `Esc` from the
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
details include the logged-in user. Focused controls and the active top
|
|
136
|
-
the shared warm banner-yellow accent, with the active tab filled across
|
|
137
|
-
button interior.
|
|
113
|
+
CloudEval web chat thread when the active session has a thread id. Roomy
|
|
114
|
+
terminals show a context rail with project, thread, model, mode, profile, report
|
|
115
|
+
artifact chips; narrower terminals
|
|
116
|
+
keep the chat first and expose the same controls through the docked composer and
|
|
117
|
+
slash commands. Typing `/` opens a bottom command completion strip; use Tab or
|
|
118
|
+
Up/Down to move, Right to accept the ghost text, and Enter to choose the
|
|
119
|
+
highlighted command. Streaming work appears as a task ledger in the thread.
|
|
120
|
+
Grounded answers show numbered citations and a Sources section instead of raw
|
|
121
|
+
`[S_tool_...]` tags, with citation numbers highlighted inline; `/copy` copies
|
|
122
|
+
the latest assistant response and `/download` writes a Markdown transcript with
|
|
123
|
+
the same references. Project and Connection tabs include selected-item detail
|
|
124
|
+
panes for backend fields, report coverage, sync state, and linked records; use
|
|
125
|
+
`J`/`K` or Up/Down on Projects and Connections to move the selected row, then
|
|
126
|
+
Enter to confirm it. The billing header separates credits left from observed
|
|
127
|
+
credits used so usage does not look like the current budget. Use the Profile
|
|
128
|
+
control or `/profile architecture|cost|triage|remediation` to choose an Agent
|
|
129
|
+
Profile for the next chat stream. Selecting a profile switches to Agent mode;
|
|
130
|
+
selecting Ask mode clears the profile back to the default chat flow. Starter
|
|
131
|
+
prompts stay hidden until you run `/starter`. Press `Esc` from the prompt to
|
|
132
|
+
leave text editing so tab, arrow, and number shortcuts move through controls
|
|
133
|
+
and tabs; type again to resume editing. Busy loaders and the input cursor animate
|
|
134
|
+
unless you pass `--no-anim`. The
|
|
135
|
+
banner details include the logged-in user. Focused controls and the active top
|
|
136
|
+
tab use the shared warm banner-yellow accent, with the active tab filled across
|
|
137
|
+
its full button interior.
|
|
138
138
|
|
|
139
139
|
## Authentication
|
|
140
140
|
|
|
@@ -38,10 +38,10 @@ import {
|
|
|
38
38
|
} from "./chunk-LDDHLUZH.js";
|
|
39
39
|
import {
|
|
40
40
|
Banner
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-CJWMEKKP.js";
|
|
42
42
|
import {
|
|
43
43
|
CLI_VERSION
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-32EP3DJT.js";
|
|
45
45
|
import {
|
|
46
46
|
raisedButtonStyle,
|
|
47
47
|
terminalTheme
|
|
@@ -325,11 +325,13 @@ var TitledBox = ({
|
|
|
325
325
|
...boxProps
|
|
326
326
|
}) => {
|
|
327
327
|
const labelColor = titleColor ?? (typeof borderColor === "string" ? borderColor : void 0);
|
|
328
|
+
const clipContent = boxProps.height !== void 0;
|
|
328
329
|
return /* @__PURE__ */ jsxs2(
|
|
329
330
|
Box2,
|
|
330
331
|
{
|
|
331
332
|
...boxProps,
|
|
332
333
|
flexDirection: "column",
|
|
334
|
+
overflow: clipContent ? "hidden" : void 0,
|
|
333
335
|
borderStyle,
|
|
334
336
|
borderColor,
|
|
335
337
|
padding,
|
|
@@ -355,6 +357,8 @@ var TitledBox = ({
|
|
|
355
357
|
alignItems,
|
|
356
358
|
justifyContent,
|
|
357
359
|
flexWrap,
|
|
360
|
+
overflow: clipContent ? "hidden" : void 0,
|
|
361
|
+
height: clipContent ? "100%" : void 0,
|
|
358
362
|
children
|
|
359
363
|
}
|
|
360
364
|
)
|
|
@@ -2088,6 +2092,8 @@ var getMiddleViewportRows = (size, options = {}) => {
|
|
|
2088
2092
|
return Math.max(1, Math.floor(rows) - headerRows - footerRows - safetyRows);
|
|
2089
2093
|
};
|
|
2090
2094
|
var getFramedBodyRows = (frameRows, chromeRows = 4) => Math.max(1, Math.floor(frameRows) - Math.max(0, Math.ceil(chromeRows)));
|
|
2095
|
+
var estimateWorkspaceTabBarRows = () => 2;
|
|
2096
|
+
var estimateSelectPanelRows = (visibleLimit) => 4 + Math.max(1, Math.ceil(visibleLimit));
|
|
2091
2097
|
var getPromptInputRowBudget = (size) => {
|
|
2092
2098
|
const rows = normalizeDimension(size.rows, 32);
|
|
2093
2099
|
return clamp2(Math.floor(rows * 0.13), 4, 8);
|
|
@@ -8166,7 +8172,7 @@ var App = ({
|
|
|
8166
8172
|
const lastRow = Math.max(...workspaceTabHitAreas.map((area) => area.endRow));
|
|
8167
8173
|
return Math.max(0, lastRow - firstRow + 1);
|
|
8168
8174
|
}, [workspaceTabHitAreas]);
|
|
8169
|
-
const workspaceTabBarRows = (bannerDisabled ?
|
|
8175
|
+
const workspaceTabBarRows = (bannerDisabled ? 4 : 0) + Math.max(estimateWorkspaceTabBarRows(), workspaceTabButtonRows);
|
|
8170
8176
|
const promptPanelRows = estimatePromptPanelRows({
|
|
8171
8177
|
inputRows: promptInputRows,
|
|
8172
8178
|
suggestionRows: promptSuggestionRows,
|
|
@@ -8194,15 +8200,23 @@ var App = ({
|
|
|
8194
8200
|
24,
|
|
8195
8201
|
workspaceContentWidth - (workspacePanelOverflowing ? 7 : 5)
|
|
8196
8202
|
);
|
|
8197
|
-
const
|
|
8198
|
-
const
|
|
8203
|
+
const chatTabDescriptionRows = 1;
|
|
8204
|
+
const chatMiddleMarginRows = 1;
|
|
8205
|
+
const chatHeaderRows = bannerRenderedRows + workspaceTabBarRows + chatTabDescriptionRows + chatMiddleMarginRows;
|
|
8206
|
+
const chatSelectorRows = activeSelector ? estimateSelectPanelRows(tuiLayout.selectorLimit) : 0;
|
|
8207
|
+
const chatFooterRows = bottomControlsRows + chatSelectorRows + (isSearching ? searchPromptPanelRows : activeSelector ? 0 : promptPanelRows);
|
|
8199
8208
|
const chatMiddleViewportRows = getMiddleViewportRows(terminalSize, {
|
|
8200
8209
|
headerRows: chatHeaderRows,
|
|
8201
|
-
footerRows: chatFooterRows
|
|
8210
|
+
footerRows: chatFooterRows,
|
|
8211
|
+
safetyRows: 3
|
|
8202
8212
|
});
|
|
8203
|
-
const chatMiddleAuxiliaryRows = (isSearching ? 3 : 0) + (queuedMessages.length > 0 ? 4 : 0) + (notice ? 1 : 0) + (errorText ? 5 : 0) + (chatState.status === "hitl_waiting" && chatState.hitl?.waiting ? 7 : 0)
|
|
8213
|
+
const chatMiddleAuxiliaryRows = (isSearching ? 3 : 0) + (queuedMessages.length > 0 ? 4 : 0) + (notice ? 1 : 0) + (errorText ? 5 : 0) + (chatState.status === "hitl_waiting" && chatState.hitl?.waiting ? 7 : 0);
|
|
8204
8214
|
const contextRailArtifactRows = splitChatLayout && chatArtifactChips.length ? chatArtifactChips.length + 2 : 0;
|
|
8205
|
-
const chatMainPanelRows = Math.max(
|
|
8215
|
+
const chatMainPanelRows = Math.max(
|
|
8216
|
+
4,
|
|
8217
|
+
chatMiddleViewportRows - chatMiddleAuxiliaryRows
|
|
8218
|
+
);
|
|
8219
|
+
const showChatThreadPanel = !activeSelector;
|
|
8206
8220
|
const chatThreadHeight = getFramedBodyRows(chatMainPanelRows);
|
|
8207
8221
|
const chatMiddleOverflowing = chatMiddleContentHeight > chatMiddleViewportHeight;
|
|
8208
8222
|
const selectorControlStartRow = useMemo(
|
|
@@ -9087,16 +9101,16 @@ var App = ({
|
|
|
9087
9101
|
] });
|
|
9088
9102
|
}
|
|
9089
9103
|
return /* @__PURE__ */ jsxs8(Box9, { flexDirection: "column", paddingX: tuiLayout.paddingX, paddingY: 0, gap: 0, height: terminalSize.rows, children: [
|
|
9090
|
-
/* @__PURE__ */ jsx10(Banner, { disable: bannerDisabled, details: headerDetails, terminalColumns: bannerContentColumns }),
|
|
9091
|
-
/* @__PURE__ */ jsx10(
|
|
9104
|
+
/* @__PURE__ */ jsx10(Box9, { flexShrink: 0, children: /* @__PURE__ */ jsx10(Banner, { disable: bannerDisabled, details: headerDetails, terminalColumns: bannerContentColumns }) }),
|
|
9105
|
+
/* @__PURE__ */ jsx10(Box9, { flexShrink: 0, children: /* @__PURE__ */ jsx10(
|
|
9092
9106
|
WorkspaceTabBar,
|
|
9093
9107
|
{
|
|
9094
9108
|
activeTab: activeWorkspaceTab,
|
|
9095
9109
|
showBrand: bannerDisabled,
|
|
9096
9110
|
billingSummary: bannerDisabled ? billingHeader : void 0
|
|
9097
9111
|
}
|
|
9098
|
-
),
|
|
9099
|
-
/* @__PURE__ */ jsx10(Text10, { dimColor: true, wrap: "wrap", children: workspaceTabDescriptions.chat }),
|
|
9112
|
+
) }),
|
|
9113
|
+
/* @__PURE__ */ jsx10(Box9, { flexShrink: 0, children: /* @__PURE__ */ jsx10(Text10, { dimColor: true, wrap: "wrap", children: workspaceTabDescriptions.chat }) }),
|
|
9100
9114
|
/* @__PURE__ */ jsxs8(Box9, { flexDirection: "row", marginTop: 1, children: [
|
|
9101
9115
|
/* @__PURE__ */ jsx10(
|
|
9102
9116
|
Box9,
|
|
@@ -9158,7 +9172,7 @@ var App = ({
|
|
|
9158
9172
|
terminalColumns: chatAvailableWidth
|
|
9159
9173
|
}
|
|
9160
9174
|
) }) : null,
|
|
9161
|
-
splitChatLayout ? /* @__PURE__ */ jsxs8(Box9, { flexDirection: "row", columnGap: chatSplitGap, children: [
|
|
9175
|
+
showChatThreadPanel ? splitChatLayout ? /* @__PURE__ */ jsxs8(Box9, { flexDirection: "row", columnGap: chatSplitGap, children: [
|
|
9162
9176
|
/* @__PURE__ */ jsx10(
|
|
9163
9177
|
ChatContextPanel,
|
|
9164
9178
|
{
|
|
@@ -9183,7 +9197,7 @@ var App = ({
|
|
|
9183
9197
|
}
|
|
9184
9198
|
),
|
|
9185
9199
|
threadPanel
|
|
9186
|
-
] }) : threadPanel,
|
|
9200
|
+
] }) : threadPanel : null,
|
|
9187
9201
|
chatState.status === "hitl_waiting" && chatState.hitl?.waiting ? /* @__PURE__ */ jsx10(
|
|
9188
9202
|
HitlPanel,
|
|
9189
9203
|
{
|
|
@@ -9193,108 +9207,6 @@ var App = ({
|
|
|
9193
9207
|
answers: hitlAnswers,
|
|
9194
9208
|
frontendUrl: frontendThreadUrl
|
|
9195
9209
|
}
|
|
9196
|
-
) : null,
|
|
9197
|
-
activeSelector === "thread" ? /* @__PURE__ */ jsx10(
|
|
9198
|
-
SelectPanel,
|
|
9199
|
-
{
|
|
9200
|
-
title: "Select Thread",
|
|
9201
|
-
items: loadingSessions || loadingRemoteThreads ? [
|
|
9202
|
-
{
|
|
9203
|
-
label: "Loading threads...",
|
|
9204
|
-
value: { kind: "new" },
|
|
9205
|
-
description: "Reading CloudEval threads and local CLI history."
|
|
9206
|
-
}
|
|
9207
|
-
] : threadSelectItems,
|
|
9208
|
-
selectedIndex: Math.max(
|
|
9209
|
-
0,
|
|
9210
|
-
threadSelectItems.findIndex(
|
|
9211
|
-
(item) => item.value.kind === "remote" && item.value.thread.thread_id === chatState.threadId || item.value.kind === "session" && item.value.session.threadId === chatState.threadId || item.value.kind === "draft" && item.value.draft.key === activeDraftSessionKey
|
|
9212
|
-
)
|
|
9213
|
-
),
|
|
9214
|
-
onSubmit: (item) => selectThread(item.value),
|
|
9215
|
-
onCancel: () => setActiveSelector(null),
|
|
9216
|
-
limit: tuiLayout.selectorLimit
|
|
9217
|
-
}
|
|
9218
|
-
) : null,
|
|
9219
|
-
activeSelector === "project" ? /* @__PURE__ */ jsx10(
|
|
9220
|
-
SelectPanel,
|
|
9221
|
-
{
|
|
9222
|
-
title: "Select Project",
|
|
9223
|
-
items: (projects.length ? projects : [defaultProject]).map((project) => ({
|
|
9224
|
-
label: `${project.name} (${project.cloud_provider ?? "cloud"})`,
|
|
9225
|
-
value: project,
|
|
9226
|
-
description: project.id
|
|
9227
|
-
})),
|
|
9228
|
-
selectedIndex: Math.max(
|
|
9229
|
-
0,
|
|
9230
|
-
(projects.length ? projects : [defaultProject]).findIndex(
|
|
9231
|
-
(project) => project.id === (selectedProject ?? defaultProject).id
|
|
9232
|
-
)
|
|
9233
|
-
),
|
|
9234
|
-
onSubmit: (item) => {
|
|
9235
|
-
setSelectedProject(item.value);
|
|
9236
|
-
setActiveSelector(null);
|
|
9237
|
-
},
|
|
9238
|
-
onCancel: () => setActiveSelector(null),
|
|
9239
|
-
limit: tuiLayout.selectorLimit
|
|
9240
|
-
}
|
|
9241
|
-
) : null,
|
|
9242
|
-
activeSelector === "model" ? /* @__PURE__ */ jsx10(
|
|
9243
|
-
SelectPanel,
|
|
9244
|
-
{
|
|
9245
|
-
title: "Select Model",
|
|
9246
|
-
items: modelItems,
|
|
9247
|
-
selectedIndex: Math.max(
|
|
9248
|
-
0,
|
|
9249
|
-
modelItems.findIndex((item) => item.value === selectedModel)
|
|
9250
|
-
),
|
|
9251
|
-
onSubmit: (item) => {
|
|
9252
|
-
setSelectedModel(item.value);
|
|
9253
|
-
setActiveSelector(null);
|
|
9254
|
-
},
|
|
9255
|
-
onCancel: () => setActiveSelector(null),
|
|
9256
|
-
limit: tuiLayout.selectorLimit
|
|
9257
|
-
}
|
|
9258
|
-
) : null,
|
|
9259
|
-
activeSelector === "mode" ? /* @__PURE__ */ jsx10(
|
|
9260
|
-
SelectPanel,
|
|
9261
|
-
{
|
|
9262
|
-
title: "Select Mode",
|
|
9263
|
-
items: modeItems,
|
|
9264
|
-
selectedIndex: Math.max(
|
|
9265
|
-
0,
|
|
9266
|
-
modeItems.findIndex((item) => item.value === selectedMode)
|
|
9267
|
-
),
|
|
9268
|
-
onSubmit: (item) => {
|
|
9269
|
-
setSelectedMode(item.value);
|
|
9270
|
-
if (item.value === "ask") {
|
|
9271
|
-
setSelectedAgentProfileId("");
|
|
9272
|
-
}
|
|
9273
|
-
setNotice(
|
|
9274
|
-
item.value === "ask" ? "Mode selected: Ask. Agent Profile cleared." : `Mode selected: ${item.label}`
|
|
9275
|
-
);
|
|
9276
|
-
setActiveSelector(null);
|
|
9277
|
-
},
|
|
9278
|
-
onCancel: () => setActiveSelector(null),
|
|
9279
|
-
limit: tuiLayout.selectorLimit
|
|
9280
|
-
}
|
|
9281
|
-
) : null,
|
|
9282
|
-
activeSelector === "profile" ? /* @__PURE__ */ jsx10(
|
|
9283
|
-
SelectPanel,
|
|
9284
|
-
{
|
|
9285
|
-
title: "Select Agent Profile",
|
|
9286
|
-
items: agentProfileItems,
|
|
9287
|
-
selectedIndex: Math.max(
|
|
9288
|
-
0,
|
|
9289
|
-
agentProfileItems.findIndex((item) => item.value === selectedAgentProfileId)
|
|
9290
|
-
),
|
|
9291
|
-
onSubmit: (item) => {
|
|
9292
|
-
selectAgentProfileById(item.value, item.label);
|
|
9293
|
-
setActiveSelector(null);
|
|
9294
|
-
},
|
|
9295
|
-
onCancel: () => setActiveSelector(null),
|
|
9296
|
-
limit: tuiLayout.selectorLimit
|
|
9297
|
-
}
|
|
9298
9210
|
) : null
|
|
9299
9211
|
] })
|
|
9300
9212
|
}
|
|
@@ -9310,6 +9222,108 @@ var App = ({
|
|
|
9310
9222
|
}
|
|
9311
9223
|
) : null
|
|
9312
9224
|
] }),
|
|
9225
|
+
activeSelector === "thread" ? /* @__PURE__ */ jsx10(
|
|
9226
|
+
SelectPanel,
|
|
9227
|
+
{
|
|
9228
|
+
title: "Select Thread",
|
|
9229
|
+
items: loadingSessions || loadingRemoteThreads ? [
|
|
9230
|
+
{
|
|
9231
|
+
label: "Loading threads...",
|
|
9232
|
+
value: { kind: "new" },
|
|
9233
|
+
description: "Reading CloudEval threads and local CLI history."
|
|
9234
|
+
}
|
|
9235
|
+
] : threadSelectItems,
|
|
9236
|
+
selectedIndex: Math.max(
|
|
9237
|
+
0,
|
|
9238
|
+
threadSelectItems.findIndex(
|
|
9239
|
+
(item) => item.value.kind === "remote" && item.value.thread.thread_id === chatState.threadId || item.value.kind === "session" && item.value.session.threadId === chatState.threadId || item.value.kind === "draft" && item.value.draft.key === activeDraftSessionKey
|
|
9240
|
+
)
|
|
9241
|
+
),
|
|
9242
|
+
onSubmit: (item) => selectThread(item.value),
|
|
9243
|
+
onCancel: () => setActiveSelector(null),
|
|
9244
|
+
limit: tuiLayout.selectorLimit
|
|
9245
|
+
}
|
|
9246
|
+
) : null,
|
|
9247
|
+
activeSelector === "project" ? /* @__PURE__ */ jsx10(
|
|
9248
|
+
SelectPanel,
|
|
9249
|
+
{
|
|
9250
|
+
title: "Select Project",
|
|
9251
|
+
items: (projects.length ? projects : [defaultProject]).map((project) => ({
|
|
9252
|
+
label: `${project.name} (${project.cloud_provider ?? "cloud"})`,
|
|
9253
|
+
value: project,
|
|
9254
|
+
description: project.id
|
|
9255
|
+
})),
|
|
9256
|
+
selectedIndex: Math.max(
|
|
9257
|
+
0,
|
|
9258
|
+
(projects.length ? projects : [defaultProject]).findIndex(
|
|
9259
|
+
(project) => project.id === (selectedProject ?? defaultProject).id
|
|
9260
|
+
)
|
|
9261
|
+
),
|
|
9262
|
+
onSubmit: (item) => {
|
|
9263
|
+
setSelectedProject(item.value);
|
|
9264
|
+
setActiveSelector(null);
|
|
9265
|
+
},
|
|
9266
|
+
onCancel: () => setActiveSelector(null),
|
|
9267
|
+
limit: tuiLayout.selectorLimit
|
|
9268
|
+
}
|
|
9269
|
+
) : null,
|
|
9270
|
+
activeSelector === "model" ? /* @__PURE__ */ jsx10(
|
|
9271
|
+
SelectPanel,
|
|
9272
|
+
{
|
|
9273
|
+
title: "Select Model",
|
|
9274
|
+
items: modelItems,
|
|
9275
|
+
selectedIndex: Math.max(
|
|
9276
|
+
0,
|
|
9277
|
+
modelItems.findIndex((item) => item.value === selectedModel)
|
|
9278
|
+
),
|
|
9279
|
+
onSubmit: (item) => {
|
|
9280
|
+
setSelectedModel(item.value);
|
|
9281
|
+
setActiveSelector(null);
|
|
9282
|
+
},
|
|
9283
|
+
onCancel: () => setActiveSelector(null),
|
|
9284
|
+
limit: tuiLayout.selectorLimit
|
|
9285
|
+
}
|
|
9286
|
+
) : null,
|
|
9287
|
+
activeSelector === "mode" ? /* @__PURE__ */ jsx10(
|
|
9288
|
+
SelectPanel,
|
|
9289
|
+
{
|
|
9290
|
+
title: "Select Mode",
|
|
9291
|
+
items: modeItems,
|
|
9292
|
+
selectedIndex: Math.max(
|
|
9293
|
+
0,
|
|
9294
|
+
modeItems.findIndex((item) => item.value === selectedMode)
|
|
9295
|
+
),
|
|
9296
|
+
onSubmit: (item) => {
|
|
9297
|
+
setSelectedMode(item.value);
|
|
9298
|
+
if (item.value === "ask") {
|
|
9299
|
+
setSelectedAgentProfileId("");
|
|
9300
|
+
}
|
|
9301
|
+
setNotice(
|
|
9302
|
+
item.value === "ask" ? "Mode selected: Ask. Agent Profile cleared." : `Mode selected: ${item.label}`
|
|
9303
|
+
);
|
|
9304
|
+
setActiveSelector(null);
|
|
9305
|
+
},
|
|
9306
|
+
onCancel: () => setActiveSelector(null),
|
|
9307
|
+
limit: tuiLayout.selectorLimit
|
|
9308
|
+
}
|
|
9309
|
+
) : null,
|
|
9310
|
+
activeSelector === "profile" ? /* @__PURE__ */ jsx10(
|
|
9311
|
+
SelectPanel,
|
|
9312
|
+
{
|
|
9313
|
+
title: "Select Agent Profile",
|
|
9314
|
+
items: agentProfileItems,
|
|
9315
|
+
selectedIndex: Math.max(
|
|
9316
|
+
0,
|
|
9317
|
+
agentProfileItems.findIndex((item) => item.value === selectedAgentProfileId)
|
|
9318
|
+
),
|
|
9319
|
+
onSubmit: (item) => {
|
|
9320
|
+
selectAgentProfileById(item.value, item.label);
|
|
9321
|
+
setActiveSelector(null);
|
|
9322
|
+
},
|
|
9323
|
+
onCancel: () => setActiveSelector(null),
|
|
9324
|
+
limit: tuiLayout.selectorLimit
|
|
9325
|
+
}
|
|
9326
|
+
) : null,
|
|
9313
9327
|
isSearching ? /* @__PURE__ */ jsx10(
|
|
9314
9328
|
InputBox,
|
|
9315
9329
|
{
|
package/dist/cli.js
CHANGED
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
} from "./chunk-LDDHLUZH.js";
|
|
37
37
|
import {
|
|
38
38
|
CLI_VERSION
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-32EP3DJT.js";
|
|
40
40
|
|
|
41
41
|
// src/runtime/prepareInk.ts
|
|
42
42
|
import fs from "fs";
|
|
@@ -13382,7 +13382,7 @@ program.command("tui").description("Open the CloudEval Terminal UI").option(
|
|
|
13382
13382
|
const { assertSecureBaseUrl } = await import("./dist-AGQQPJUD.js");
|
|
13383
13383
|
const [{ render }, { App }] = await Promise.all([
|
|
13384
13384
|
import("ink"),
|
|
13385
|
-
import("./App-
|
|
13385
|
+
import("./App-5ITWBHXF.js")
|
|
13386
13386
|
]);
|
|
13387
13387
|
const baseUrl = await resolveBaseUrl(options, command);
|
|
13388
13388
|
assertSecureBaseUrl(baseUrl);
|
|
@@ -13434,7 +13434,7 @@ program.command("chat").description("Start an interactive chat session").option(
|
|
|
13434
13434
|
const { assertSecureBaseUrl } = await import("./dist-AGQQPJUD.js");
|
|
13435
13435
|
const [{ render }, { App }] = await Promise.all([
|
|
13436
13436
|
import("ink"),
|
|
13437
|
-
import("./App-
|
|
13437
|
+
import("./App-5ITWBHXF.js")
|
|
13438
13438
|
]);
|
|
13439
13439
|
const baseUrl = await resolveBaseUrl(options, command);
|
|
13440
13440
|
assertSecureBaseUrl(baseUrl);
|
|
@@ -14191,7 +14191,7 @@ Error: ${errorMsg}
|
|
|
14191
14191
|
program.command("banner").description("Preview the startup banner and terminal capabilities").action(async () => {
|
|
14192
14192
|
const { render } = await import("ink");
|
|
14193
14193
|
const BannerPreview = React.lazy(async () => ({
|
|
14194
|
-
default: (await import("./Banner-
|
|
14194
|
+
default: (await import("./Banner-4PWWKMRZ.js")).Banner
|
|
14195
14195
|
}));
|
|
14196
14196
|
render(
|
|
14197
14197
|
/* @__PURE__ */ jsx(React.Suspense, { fallback: null, children: /* @__PURE__ */ jsx(BannerPreview, { disable: false }) })
|
package/package.json
CHANGED
package/sbom.spdx.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
{
|
|
15
15
|
"SPDXID": "SPDXRef-Package-CloudEval-CLI",
|
|
16
16
|
"name": "CloudEval CLI",
|
|
17
|
-
"versionInfo": "0.21.
|
|
17
|
+
"versionInfo": "0.21.2",
|
|
18
18
|
"downloadLocation": "https://github.com/ganakailabs/cloudeval-cli",
|
|
19
19
|
"filesAnalyzed": false,
|
|
20
20
|
"licenseConcluded": "LicenseRef-CloudEval-CLI",
|