@bike4mind/cli 0.2.28 → 0.2.29-cli-minimal-ui.18782
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 +1 -1
- package/dist/{artifactExtractor-36XHJYOZ.js → artifactExtractor-7Z2TM2RR.js} +1 -1
- package/dist/{chunk-VGYTNJXN.js → chunk-4XFX3V4G.js} +2 -2
- package/dist/{chunk-JJBDHUGY.js → chunk-G7PAI2YH.js} +2 -2
- package/dist/{chunk-UNOJBVD2.js → chunk-HDIXO6H3.js} +1 -1
- package/dist/{chunk-ZEMWV6IR.js → chunk-MDG22DS7.js} +2 -2
- package/dist/{chunk-XJRPAAUS.js → chunk-ODYASVT6.js} +15 -2
- package/dist/{create-NGI7IIQ4.js → create-45ZV3EJT.js} +3 -3
- package/dist/index.js +57 -45
- package/dist/{llmMarkdownGenerator-JDYKJUEC.js → llmMarkdownGenerator-4HLWASZ4.js} +1 -1
- package/dist/{markdownGenerator-QXBC2EW5.js → markdownGenerator-2Y3GWJYH.js} +1 -1
- package/dist/{mementoService-X35OMHVC.js → mementoService-OVWA5PPV.js} +3 -3
- package/dist/{src-CBU6EAO3.js → src-V6E375BJ.js} +2 -2
- package/dist/{src-6NIYIWZD.js → src-Z6YUBFWA.js} +1 -1
- package/dist/{subtractCredits-RL6JVDMI.js → subtractCredits-KGQCY6KQ.js} +3 -3
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -101,7 +101,7 @@ While in interactive mode:
|
|
|
101
101
|
|
|
102
102
|
**Session Management:**
|
|
103
103
|
- `/save <name>` - Save current session
|
|
104
|
-
- `/
|
|
104
|
+
- `/resume` - List and resume saved sessions
|
|
105
105
|
|
|
106
106
|
**API Configuration:**
|
|
107
107
|
- `/set-api <url>` - Connect to self-hosted Bike4Mind instance
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CurationArtifactType
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ODYASVT6.js";
|
|
5
5
|
|
|
6
6
|
// ../../b4m-core/packages/services/dist/src/notebookCurationService/artifactExtractor.js
|
|
7
7
|
var ARTIFACT_TAG_REGEX = /<artifact\s+(.*?)>([\s\S]*?)<\/artifact>/gi;
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
getSettingsByNames,
|
|
7
7
|
obfuscateApiKey,
|
|
8
8
|
secureParameters
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HDIXO6H3.js";
|
|
10
10
|
import {
|
|
11
11
|
ApiKeyType,
|
|
12
12
|
MementoTier,
|
|
13
13
|
isSupportedEmbeddingModel
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ODYASVT6.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/apiKeyService/get.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BadRequestError,
|
|
4
4
|
secureParameters
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HDIXO6H3.js";
|
|
6
6
|
import {
|
|
7
7
|
CompletionApiUsageTransaction,
|
|
8
8
|
GenericCreditDeductTransaction,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
TextGenerationUsageTransaction,
|
|
13
13
|
TransferCreditTransaction,
|
|
14
14
|
VideoGenerationUsageTransaction
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ODYASVT6.js";
|
|
16
16
|
|
|
17
17
|
// ../../b4m-core/packages/services/dist/src/creditService/subtractCredits.js
|
|
18
18
|
import { z } from "zod";
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
getSettingsMap,
|
|
8
8
|
getSettingsValue,
|
|
9
9
|
secureParameters
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HDIXO6H3.js";
|
|
11
11
|
import {
|
|
12
12
|
KnowledgeType,
|
|
13
13
|
SupportedFabFileMimeTypes
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ODYASVT6.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/fabFileService/create.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2256,7 +2256,9 @@ var SettingKeySchema = z21.enum([
|
|
|
2256
2256
|
// PARALLEL TOOL EXECUTION SETTINGS
|
|
2257
2257
|
"EnableParallelToolExecution",
|
|
2258
2258
|
// LIVEOPS TRIAGE AUTOMATION SETTINGS
|
|
2259
|
-
"liveopsTriageConfig"
|
|
2259
|
+
"liveopsTriageConfig",
|
|
2260
|
+
// HELP CENTER SETTINGS
|
|
2261
|
+
"EnableHelpChat"
|
|
2260
2262
|
]);
|
|
2261
2263
|
var CategoryOrder = [
|
|
2262
2264
|
"AI",
|
|
@@ -2675,7 +2677,8 @@ var API_SERVICE_GROUPS = {
|
|
|
2675
2677
|
{ key: "StreamIdleTimeoutSeconds", order: 13 },
|
|
2676
2678
|
{ key: "EnableMcpToolFiltering", order: 14 },
|
|
2677
2679
|
{ key: "McpToolFilteringMaxTools", order: 15 },
|
|
2678
|
-
{ key: "EnableParallelToolExecution", order: 16 }
|
|
2680
|
+
{ key: "EnableParallelToolExecution", order: 16 },
|
|
2681
|
+
{ key: "EnableHelpChat", order: 17 }
|
|
2679
2682
|
]
|
|
2680
2683
|
},
|
|
2681
2684
|
NOTEBOOK: {
|
|
@@ -3846,6 +3849,16 @@ var settingsMap = {
|
|
|
3846
3849
|
category: "Admin",
|
|
3847
3850
|
order: 110,
|
|
3848
3851
|
schema: LiveopsTriageConfigSchema
|
|
3852
|
+
}),
|
|
3853
|
+
// Help Center Settings
|
|
3854
|
+
EnableHelpChat: makeBooleanSetting({
|
|
3855
|
+
key: "EnableHelpChat",
|
|
3856
|
+
name: "Enable Help Chat",
|
|
3857
|
+
defaultValue: true,
|
|
3858
|
+
description: "Enable the AI-powered chat assistant in the Help Center panel. When enabled, users can ask questions about the documentation and get contextual answers.",
|
|
3859
|
+
category: "Experimental",
|
|
3860
|
+
group: API_SERVICE_GROUPS.EXPERIMENTAL.id,
|
|
3861
|
+
order: 17
|
|
3849
3862
|
})
|
|
3850
3863
|
// Add more settings as needed
|
|
3851
3864
|
};
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createFabFile,
|
|
4
4
|
createFabFileSchema
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-MDG22DS7.js";
|
|
6
|
+
import "./chunk-HDIXO6H3.js";
|
|
7
|
+
import "./chunk-ODYASVT6.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
createFabFile,
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getEffectiveApiKey,
|
|
6
6
|
getOpenWeatherKey,
|
|
7
7
|
getSerperKey
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4XFX3V4G.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigStore
|
|
11
11
|
} from "./chunk-23T2XGSZ.js";
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
selectActiveBackgroundAgents,
|
|
14
14
|
useCliStore
|
|
15
15
|
} from "./chunk-TVW4ZESU.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-G7PAI2YH.js";
|
|
17
|
+
import "./chunk-MDG22DS7.js";
|
|
18
18
|
import {
|
|
19
19
|
BFLImageService,
|
|
20
20
|
BaseStorage,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
OpenAIBackend,
|
|
27
27
|
OpenAIImageService,
|
|
28
28
|
XAIImageService
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-HDIXO6H3.js";
|
|
30
30
|
import {
|
|
31
31
|
AiEvents,
|
|
32
32
|
ApiKeyEvents,
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
XAI_IMAGE_MODELS,
|
|
83
83
|
b4mLLMTools,
|
|
84
84
|
getMcpProviderMetadata
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-ODYASVT6.js";
|
|
86
86
|
import {
|
|
87
87
|
Logger
|
|
88
88
|
} from "./chunk-OCYRD7D6.js";
|
|
@@ -551,8 +551,9 @@ var COMMANDS = [
|
|
|
551
551
|
args: "<name>"
|
|
552
552
|
},
|
|
553
553
|
{
|
|
554
|
-
name: "
|
|
555
|
-
description: "List saved sessions"
|
|
554
|
+
name: "resume",
|
|
555
|
+
description: "List and resume saved sessions",
|
|
556
|
+
aliases: ["sessions"]
|
|
556
557
|
},
|
|
557
558
|
{
|
|
558
559
|
name: "config",
|
|
@@ -1112,11 +1113,11 @@ function InputPrompt({
|
|
|
1112
1113
|
}
|
|
1113
1114
|
};
|
|
1114
1115
|
const getPlaceholder = () => {
|
|
1115
|
-
if (disabled) return "
|
|
1116
|
+
if (disabled) return "";
|
|
1116
1117
|
if (isBashMode) return "Enter shell command to execute...";
|
|
1117
1118
|
return "Type your message, /help for commands, @file to reference, or ! for bash";
|
|
1118
1119
|
};
|
|
1119
|
-
return /* @__PURE__ */ React5.createElement(Box4, { flexDirection: "column" }, /* @__PURE__ */ React5.createElement(Box4, null, /* @__PURE__ */ React5.createElement(Text5, { bold: true, color: isBashMode ? "yellow" : "cyan" }, isBashMode ? "$ " : "> "), /* @__PURE__ */ React5.createElement(
|
|
1120
|
+
return /* @__PURE__ */ React5.createElement(Box4, { flexDirection: "column" }, /* @__PURE__ */ React5.createElement(Box4, null, /* @__PURE__ */ React5.createElement(Text5, { bold: true, color: disabled ? "gray" : isBashMode ? "yellow" : "cyan", dimColor: disabled }, isBashMode ? "$ " : "> "), /* @__PURE__ */ React5.createElement(
|
|
1120
1121
|
CustomTextInput,
|
|
1121
1122
|
{
|
|
1122
1123
|
key: inputKey.current,
|
|
@@ -1139,7 +1140,7 @@ import React6 from "react";
|
|
|
1139
1140
|
import { Box as Box5, Text as Text6 } from "ink";
|
|
1140
1141
|
import Spinner from "ink-spinner";
|
|
1141
1142
|
var ThoughtStream = React6.memo(function ThoughtStream2({ isThinking }) {
|
|
1142
|
-
return /* @__PURE__ */ React6.createElement(Box5, { flexDirection: "column"
|
|
1143
|
+
return /* @__PURE__ */ React6.createElement(Box5, { flexDirection: "column" }, isThinking && /* @__PURE__ */ React6.createElement(Box5, null, /* @__PURE__ */ React6.createElement(Text6, { color: "yellow" }, /* @__PURE__ */ React6.createElement(Spinner, { type: "dots" })), /* @__PURE__ */ React6.createElement(Text6, null, " Thinking...")));
|
|
1143
1144
|
});
|
|
1144
1145
|
|
|
1145
1146
|
// src/components/AgentThinking.tsx
|
|
@@ -1707,33 +1708,21 @@ function truncateValue(value, maxLength) {
|
|
|
1707
1708
|
}
|
|
1708
1709
|
return str.slice(0, maxLength) + "...";
|
|
1709
1710
|
}
|
|
1710
|
-
function getRoleDisplay(role) {
|
|
1711
|
-
switch (role) {
|
|
1712
|
-
case "user":
|
|
1713
|
-
return { color: "cyan", label: "\u{1F464} You" };
|
|
1714
|
-
case "system":
|
|
1715
|
-
return { color: "gray", label: "\u2139\uFE0F System" };
|
|
1716
|
-
default:
|
|
1717
|
-
return { color: "green", label: "\u{1F916} Assistant" };
|
|
1718
|
-
}
|
|
1719
|
-
}
|
|
1720
1711
|
var MessageItem = React14.memo(function MessageItem2({ message }) {
|
|
1721
1712
|
const isUser = message.role === "user";
|
|
1722
|
-
|
|
1723
|
-
const roleDisplay = getRoleDisplay(message.role);
|
|
1724
|
-
return /* @__PURE__ */ React14.createElement(Box13, { flexDirection: "column", marginBottom: 1 }, !isContinuation && /* @__PURE__ */ React14.createElement(Box13, null, /* @__PURE__ */ React14.createElement(Text13, { bold: true, color: roleDisplay.color }, roleDisplay.label), isUser && /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, " \u2022 ", new Date(message.timestamp).toLocaleTimeString())), isUser && message.content && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2 }, /* @__PURE__ */ React14.createElement(Text13, { backgroundColor: "whiteBright", color: "black" }, " ", message.content, " ")), !isUser && message.metadata?.steps && message.metadata.steps.length > 0 && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2, marginTop: 1, flexDirection: "column" }, /* @__PURE__ */ React14.createElement(Text13, { dimColor: true, bold: true }, "\u{1F527} Agent Reasoning Trace (", message.metadata.steps.filter((s) => s.type === "action").length, " ", "tools used, ", message.metadata.steps.length, " total steps)", message.metadata.tokenUsage && ` \u2022 ${message.metadata.tokenUsage.total} tokens`), /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, "Step types: ", message.metadata.steps.map((s) => s.type).join(", ")), message.metadata.steps.map((step, idx) => {
|
|
1713
|
+
return /* @__PURE__ */ React14.createElement(Box13, { flexDirection: "column" }, isUser && message.content && /* @__PURE__ */ React14.createElement(Box13, { marginBottom: 1 }, /* @__PURE__ */ React14.createElement(Text13, { backgroundColor: "whiteBright", color: "black" }, "\u276F ", message.content, " ")), !isUser && message.metadata?.steps && message.metadata.steps.filter((s) => ["thought", "action"].includes(s.type)).length > 0 && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2, flexDirection: "column", marginBottom: 1 }, message.metadata.steps.map((step, idx) => {
|
|
1725
1714
|
if (step.type === "thought") {
|
|
1726
|
-
return /* @__PURE__ */ React14.createElement(Box13, { key: idx,
|
|
1715
|
+
return /* @__PURE__ */ React14.createElement(Box13, { key: idx, flexDirection: "column" }, /* @__PURE__ */ React14.createElement(Text13, { color: "blue" }, "\u{1F4AD} Thought:"), /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, ` ${step.content}`));
|
|
1727
1716
|
}
|
|
1728
1717
|
if (step.type === "action") {
|
|
1729
1718
|
const toolName = step.metadata?.toolName || "unknown";
|
|
1730
1719
|
const toolInput = step.metadata?.toolInput;
|
|
1731
1720
|
const observationStep = message.metadata?.steps?.[idx + 1];
|
|
1732
1721
|
const result = observationStep?.type === "observation" ? observationStep.content : null;
|
|
1733
|
-
return /* @__PURE__ */ React14.createElement(Box13, { key: idx,
|
|
1722
|
+
return /* @__PURE__ */ React14.createElement(Box13, { key: idx, marginTop: 1, flexDirection: "column" }, /* @__PURE__ */ React14.createElement(Text13, { color: "yellow" }, "\u{1F527} ", toolName), toolInput && /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, ` Input: ${truncateValue(toolInput, 100)}`), result && /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, ` Result: ${truncateValue(result, 200)}`));
|
|
1734
1723
|
}
|
|
1735
1724
|
return null;
|
|
1736
|
-
}).filter(Boolean)), !isUser && message.content !== "..." && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2,
|
|
1725
|
+
}).filter(Boolean)), !isUser && message.content !== "..." && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2, marginBottom: 1 }, message.metadata?.permissionDenied ? /* @__PURE__ */ React14.createElement(Text13, { color: "yellow" }, "\u26A0\uFE0F ", message.content) : /* @__PURE__ */ React14.createElement(MarkdownRenderer, { content: message.content })), message.metadata?.tokenUsage && (!message.metadata.steps || message.metadata.steps.length === 0) && /* @__PURE__ */ React14.createElement(Box13, { paddingLeft: 2 }, /* @__PURE__ */ React14.createElement(Text13, { dimColor: true }, `${message.metadata.tokenUsage.total} tokens`)));
|
|
1737
1726
|
});
|
|
1738
1727
|
|
|
1739
1728
|
// src/utils/processFileReferences.ts
|
|
@@ -2163,7 +2152,7 @@ function SessionSelector({ sessions, currentSession, onSelect, onCancel }) {
|
|
|
2163
2152
|
{
|
|
2164
2153
|
items,
|
|
2165
2154
|
onSelect: handleSelectionSelect,
|
|
2166
|
-
itemComponent: ({ isSelected, label }) => /* @__PURE__ */ React19.createElement(Box18, null, /* @__PURE__ */ React19.createElement(Text18, { color: isSelected ? "cyan" : void 0 },
|
|
2155
|
+
itemComponent: ({ isSelected, label }) => /* @__PURE__ */ React19.createElement(Box18, null, /* @__PURE__ */ React19.createElement(Text18, { color: isSelected ? "cyan" : void 0 }, label))
|
|
2167
2156
|
}
|
|
2168
2157
|
), /* @__PURE__ */ React19.createElement(Box18, { marginTop: 1 }, /* @__PURE__ */ React19.createElement(Text18, { dimColor: true }, "Use \u2191\u2193 arrows to navigate, Enter to select, Esc to cancel")));
|
|
2169
2158
|
}
|
|
@@ -2176,7 +2165,7 @@ function SessionSelector({ sessions, currentSession, onSelect, onCancel }) {
|
|
|
2176
2165
|
{
|
|
2177
2166
|
items: confirmationItems,
|
|
2178
2167
|
onSelect: handleConfirmationSelect,
|
|
2179
|
-
itemComponent: ({ isSelected, label }) => /* @__PURE__ */ React19.createElement(Box18, null, /* @__PURE__ */ React19.createElement(Text18, { color: isSelected ? "cyan" : void 0 },
|
|
2168
|
+
itemComponent: ({ isSelected, label }) => /* @__PURE__ */ React19.createElement(Box18, null, /* @__PURE__ */ React19.createElement(Text18, { color: isSelected ? "cyan" : void 0 }, label))
|
|
2180
2169
|
}
|
|
2181
2170
|
), /* @__PURE__ */ React19.createElement(Box18, { marginTop: 1 }, /* @__PURE__ */ React19.createElement(Text18, { dimColor: true }, "Use \u2191\u2193 arrows to navigate, Enter to select, Esc to go back")));
|
|
2182
2171
|
}
|
|
@@ -3717,18 +3706,23 @@ Remember: You are an autonomous AGENT. Act independently and solve problems proa
|
|
|
3717
3706
|
async executeToolWithQueueFallback(toolUse) {
|
|
3718
3707
|
const queuedObs = this.observationQueue.find((obs) => obs.toolId === getToolId(toolUse));
|
|
3719
3708
|
if (queuedObs) {
|
|
3720
|
-
const
|
|
3709
|
+
const result = queuedObs.result;
|
|
3721
3710
|
const index = this.observationQueue.indexOf(queuedObs);
|
|
3722
3711
|
this.observationQueue.splice(index, 1);
|
|
3723
|
-
return typeof
|
|
3712
|
+
return typeof result === "string" ? result : JSON.stringify(result);
|
|
3724
3713
|
}
|
|
3725
3714
|
const tool = this.context.tools.find((t) => t.toolSchema.name === toolUse.name);
|
|
3726
3715
|
if (!tool) {
|
|
3727
|
-
|
|
3716
|
+
return `Error: Tool ${toolUse.name} not found in agent context`;
|
|
3717
|
+
}
|
|
3718
|
+
try {
|
|
3719
|
+
const params = this.parseToolArguments(toolUse.arguments);
|
|
3720
|
+
const result = await tool.toolFn(params);
|
|
3721
|
+
return typeof result === "string" ? result : JSON.stringify(result);
|
|
3722
|
+
} catch (error) {
|
|
3723
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3724
|
+
return `Error: ${message}`;
|
|
3728
3725
|
}
|
|
3729
|
-
const params = this.parseToolArguments(toolUse.arguments);
|
|
3730
|
-
const result = await tool.toolFn(params);
|
|
3731
|
-
return typeof result === "string" ? result : JSON.stringify(result);
|
|
3732
3726
|
}
|
|
3733
3727
|
/**
|
|
3734
3728
|
* Build and append tool call/result messages for the conversation history
|
|
@@ -13801,7 +13795,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
|
|
|
13801
13795
|
// package.json
|
|
13802
13796
|
var package_default = {
|
|
13803
13797
|
name: "@bike4mind/cli",
|
|
13804
|
-
version: "0.2.
|
|
13798
|
+
version: "0.2.29-cli-minimal-ui.18782+8a5b862a2",
|
|
13805
13799
|
type: "module",
|
|
13806
13800
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
13807
13801
|
license: "UNLICENSED",
|
|
@@ -13909,10 +13903,10 @@ var package_default = {
|
|
|
13909
13903
|
},
|
|
13910
13904
|
devDependencies: {
|
|
13911
13905
|
"@bike4mind/agents": "0.1.0",
|
|
13912
|
-
"@bike4mind/common": "2.50.
|
|
13913
|
-
"@bike4mind/mcp": "1.29.
|
|
13914
|
-
"@bike4mind/services": "2.48.
|
|
13915
|
-
"@bike4mind/utils": "2.5.
|
|
13906
|
+
"@bike4mind/common": "2.50.1-cli-minimal-ui.18782+8a5b862a2",
|
|
13907
|
+
"@bike4mind/mcp": "1.29.1-cli-minimal-ui.18782+8a5b862a2",
|
|
13908
|
+
"@bike4mind/services": "2.48.1-cli-minimal-ui.18782+8a5b862a2",
|
|
13909
|
+
"@bike4mind/utils": "2.5.1-cli-minimal-ui.18782+8a5b862a2",
|
|
13916
13910
|
"@types/better-sqlite3": "^7.6.13",
|
|
13917
13911
|
"@types/diff": "^5.0.9",
|
|
13918
13912
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -13929,7 +13923,7 @@ var package_default = {
|
|
|
13929
13923
|
optionalDependencies: {
|
|
13930
13924
|
"@vscode/ripgrep": "^1.17.0"
|
|
13931
13925
|
},
|
|
13932
|
-
gitHead: "
|
|
13926
|
+
gitHead: "8a5b862a2b827a45357ec4e200de8bb50bfc7fb3"
|
|
13933
13927
|
};
|
|
13934
13928
|
|
|
13935
13929
|
// src/config/constants.ts
|
|
@@ -15872,8 +15866,9 @@ function CliApp() {
|
|
|
15872
15866
|
await mcpManager.initialize();
|
|
15873
15867
|
const mcpTools = mcpManager.getTools();
|
|
15874
15868
|
if (mcpTools.length > 0) {
|
|
15875
|
-
const
|
|
15876
|
-
|
|
15869
|
+
const toolCountByServer = mcpManager.getToolCount();
|
|
15870
|
+
const serverSummaries = toolCountByServer.map((s) => `${s.serverName} (${s.count})`).join(", ");
|
|
15871
|
+
console.log(`\u{1F4E1} Loaded ${mcpTools.length} MCP tool(s): ${serverSummaries}`);
|
|
15877
15872
|
} else {
|
|
15878
15873
|
console.log(`\u{1F4E1} No MCP tools loaded`);
|
|
15879
15874
|
}
|
|
@@ -16675,7 +16670,7 @@ Available commands:
|
|
|
16675
16670
|
/whoami - Show current authenticated user
|
|
16676
16671
|
/usage - Show credit usage and balance
|
|
16677
16672
|
/save <name> - Save current session
|
|
16678
|
-
/
|
|
16673
|
+
/resume - List and resume saved sessions
|
|
16679
16674
|
/config - Show configuration
|
|
16680
16675
|
|
|
16681
16676
|
API Configuration:
|
|
@@ -16694,7 +16689,24 @@ Project Configuration:
|
|
|
16694
16689
|
Custom Commands:
|
|
16695
16690
|
/commands - List all custom commands
|
|
16696
16691
|
/commands:new <name> - Create a new custom command
|
|
16697
|
-
/commands:reload - Reload custom commands from disk
|
|
16692
|
+
/commands:reload - Reload custom commands from disk
|
|
16693
|
+
|
|
16694
|
+
Keyboard Shortcuts:
|
|
16695
|
+
Ctrl+C - Press twice to exit
|
|
16696
|
+
Esc - Abort current operation
|
|
16697
|
+
Shift+Tab - Toggle auto-accept edits
|
|
16698
|
+
Ctrl+U - Clear current line
|
|
16699
|
+
Ctrl+K - Clear from cursor to end of line
|
|
16700
|
+
Ctrl+W - Delete word before cursor
|
|
16701
|
+
Ctrl+A - Move cursor to beginning
|
|
16702
|
+
Ctrl+E - Move cursor to end
|
|
16703
|
+
Ctrl+B / \u2190 - Move cursor left
|
|
16704
|
+
Ctrl+F / \u2192 - Move cursor right
|
|
16705
|
+
Ctrl+D - Delete character at cursor
|
|
16706
|
+
Ctrl+L - Clear input
|
|
16707
|
+
\u2191 / \u2193 - Navigate history / autocomplete
|
|
16708
|
+
Tab - Accept autocomplete suggestion
|
|
16709
|
+
Shift+Cmd+Click - Open links in browser${hasCustomCommands ? "\n\n\u{1F4DD} Custom Commands Available:" : ""}${hasCustomCommands ? customCommands.map((cmd) => {
|
|
16698
16710
|
const source = cmd.source === "global" ? "\u{1F3E0}" : "\u{1F4C1}";
|
|
16699
16711
|
const argHint = cmd.argumentHint ? ` ${cmd.argumentHint}` : "";
|
|
16700
16712
|
return `
|
|
@@ -16724,6 +16736,7 @@ Custom Commands:
|
|
|
16724
16736
|
console.log(`\u2705 Session saved as "${sessionName}"`);
|
|
16725
16737
|
break;
|
|
16726
16738
|
}
|
|
16739
|
+
case "resume":
|
|
16727
16740
|
case "sessions": {
|
|
16728
16741
|
const sessions = await state.sessionStore.list(20);
|
|
16729
16742
|
if (sessions.length === 0) {
|
|
@@ -16734,7 +16747,6 @@ Custom Commands:
|
|
|
16734
16747
|
const handleSessionSelect = async (selectedSession) => {
|
|
16735
16748
|
setState((prev) => ({ ...prev, sessionSelector: null }));
|
|
16736
16749
|
if (!selectedSession) {
|
|
16737
|
-
console.log("\u274C Session selection cancelled");
|
|
16738
16750
|
return;
|
|
16739
16751
|
}
|
|
16740
16752
|
const loadedSession = await state.sessionStore.load(selectedSession.id);
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
findMostSimilarMemento,
|
|
4
4
|
getRelevantMementos
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-4XFX3V4G.js";
|
|
6
|
+
import "./chunk-HDIXO6H3.js";
|
|
7
|
+
import "./chunk-ODYASVT6.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
findMostSimilarMemento,
|
|
@@ -133,8 +133,8 @@ import {
|
|
|
133
133
|
validateMermaidSyntax,
|
|
134
134
|
warmUpSettingsCache,
|
|
135
135
|
withRetry
|
|
136
|
-
} from "./chunk-
|
|
137
|
-
import "./chunk-
|
|
136
|
+
} from "./chunk-HDIXO6H3.js";
|
|
137
|
+
import "./chunk-ODYASVT6.js";
|
|
138
138
|
import {
|
|
139
139
|
Logger,
|
|
140
140
|
NotificationDeduplicator,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
SubtractCreditsSchema,
|
|
4
4
|
subtractCredits
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-G7PAI2YH.js";
|
|
6
|
+
import "./chunk-HDIXO6H3.js";
|
|
7
|
+
import "./chunk-ODYASVT6.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
SubtractCreditsSchema,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.29-cli-minimal-ui.18782+8a5b862a2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -108,10 +108,10 @@
|
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
110
|
"@bike4mind/agents": "0.1.0",
|
|
111
|
-
"@bike4mind/common": "2.50.
|
|
112
|
-
"@bike4mind/mcp": "1.29.
|
|
113
|
-
"@bike4mind/services": "2.48.
|
|
114
|
-
"@bike4mind/utils": "2.5.
|
|
111
|
+
"@bike4mind/common": "2.50.1-cli-minimal-ui.18782+8a5b862a2",
|
|
112
|
+
"@bike4mind/mcp": "1.29.1-cli-minimal-ui.18782+8a5b862a2",
|
|
113
|
+
"@bike4mind/services": "2.48.1-cli-minimal-ui.18782+8a5b862a2",
|
|
114
|
+
"@bike4mind/utils": "2.5.1-cli-minimal-ui.18782+8a5b862a2",
|
|
115
115
|
"@types/better-sqlite3": "^7.6.13",
|
|
116
116
|
"@types/diff": "^5.0.9",
|
|
117
117
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
"optionalDependencies": {
|
|
129
129
|
"@vscode/ripgrep": "^1.17.0"
|
|
130
130
|
},
|
|
131
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "8a5b862a2b827a45357ec4e200de8bb50bfc7fb3"
|
|
132
132
|
}
|