@bike4mind/cli 0.2.37 → 0.2.38-docs-clawdbot-comparison-analysis.20242
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/{artifactExtractor-QIDCYO4J.js → artifactExtractor-K6BLNO4G.js} +1 -1
- package/dist/{chunk-LJG44UT3.js → chunk-5V7IRWCZ.js} +2 -2
- package/dist/{chunk-AOP6RYDY.js → chunk-AZPDIAG7.js} +2 -2
- package/dist/{chunk-EY65E4W4.js → chunk-DF2SGZ6Z.js} +114 -15
- package/dist/{chunk-NJQYWIDJ.js → chunk-G3PPBZQR.js} +2 -2
- package/dist/{chunk-FACWWYF7.js → chunk-LSALEKGH.js} +8 -6
- package/dist/{chunk-5YLGNW2B.js → chunk-Q3TLK7O5.js} +175 -54
- package/dist/{chunk-H7RVLAQD.js → chunk-VNZXDZRP.js} +1 -1
- package/dist/{chunk-XIB66EG7.js → chunk-XWMNGOD4.js} +341 -332
- package/dist/commands/doctorCommand.js +1 -1
- package/dist/commands/headlessCommand.js +20 -18
- package/dist/commands/mcpCommand.js +2 -2
- package/dist/commands/updateCommand.js +1 -1
- package/dist/{create-IFIWNV4T.js → create-VGLP6SQO.js} +3 -3
- package/dist/index.js +97 -37
- package/dist/{llmMarkdownGenerator-7D3C33BP.js → llmMarkdownGenerator-I2LUZ5JN.js} +1 -1
- package/dist/{markdownGenerator-C2QW7FBH.js → markdownGenerator-7R5VE2DT.js} +1 -1
- package/dist/{mementoService-ABCCDW6T.js → mementoService-3JRERDXH.js} +3 -3
- package/dist/{src-ZPD2SIIU.js → src-5EEW25MH.js} +25 -1
- package/dist/{src-D6KSYF2W.js → src-6KYFWLTR.js} +4 -2
- package/dist/{subtractCredits-QKF6HTX3.js → subtractCredits-ULETUGGP.js} +3 -3
- package/package.json +8 -6
|
@@ -36,20 +36,20 @@ import {
|
|
|
36
36
|
isReadOnlyTool,
|
|
37
37
|
loadContextFiles,
|
|
38
38
|
setWebSocketToolExecutor
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-XWMNGOD4.js";
|
|
40
40
|
import "../chunk-BDQBOLYG.js";
|
|
41
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-G3PPBZQR.js";
|
|
42
42
|
import "../chunk-GQGOWACU.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-5V7IRWCZ.js";
|
|
44
|
+
import "../chunk-AZPDIAG7.js";
|
|
45
|
+
import "../chunk-Q3TLK7O5.js";
|
|
46
46
|
import "../chunk-PFBYGCOW.js";
|
|
47
47
|
import "../chunk-BPFEGDC7.js";
|
|
48
48
|
import {
|
|
49
49
|
ConfigStore,
|
|
50
50
|
logger
|
|
51
|
-
} from "../chunk-
|
|
52
|
-
import "../chunk-
|
|
51
|
+
} from "../chunk-VNZXDZRP.js";
|
|
52
|
+
import "../chunk-DF2SGZ6Z.js";
|
|
53
53
|
import {
|
|
54
54
|
DEFAULT_SANDBOX_CONFIG
|
|
55
55
|
} from "../chunk-4BIBE3J7.js";
|
|
@@ -182,16 +182,16 @@ ${stdinContent}
|
|
|
182
182
|
return Promise.resolve({ answers: [] });
|
|
183
183
|
};
|
|
184
184
|
const sandboxConfig = config.sandbox ?? DEFAULT_SANDBOX_CONFIG;
|
|
185
|
-
const
|
|
185
|
+
const checkpointProjectDir = configStore.getProjectConfigDir() ?? process.cwd();
|
|
186
|
+
const checkpointStore = new CheckpointStore(checkpointProjectDir);
|
|
187
|
+
const [sandboxRuntime] = await Promise.all([
|
|
188
|
+
createSandboxRuntime(),
|
|
189
|
+
checkpointStore.init(session.id).catch(() => {
|
|
190
|
+
})
|
|
191
|
+
]);
|
|
186
192
|
const proxyManager = new ProxyManager(sandboxConfig.network);
|
|
187
193
|
const sandboxOrchestrator = new SandboxOrchestrator(sandboxConfig, sandboxRuntime, proxyManager);
|
|
188
194
|
permissionManager.setSandboxState(sandboxConfig.mode, sandboxOrchestrator.isActive());
|
|
189
|
-
const checkpointProjectDir = configStore.getProjectConfigDir() ?? process.cwd();
|
|
190
|
-
const checkpointStore = new CheckpointStore(checkpointProjectDir);
|
|
191
|
-
try {
|
|
192
|
-
await checkpointStore.init(session.id);
|
|
193
|
-
} catch {
|
|
194
|
-
}
|
|
195
195
|
const agentContext = {
|
|
196
196
|
currentAgent: null,
|
|
197
197
|
observationQueue: []
|
|
@@ -212,12 +212,15 @@ ${stdinContent}
|
|
|
212
212
|
additionalDirectories
|
|
213
213
|
);
|
|
214
214
|
const mcpManager = new McpManager(config);
|
|
215
|
-
await mcpManager.initialize();
|
|
216
|
-
const mcpTools = mcpManager.getTools();
|
|
217
215
|
const projectConfigDir = configStore.getProjectConfigDir();
|
|
218
216
|
const builtinAgentsDir = new URL("../agents/defaults/", import.meta.url).pathname;
|
|
219
217
|
const agentStore = new AgentStore(builtinAgentsDir, projectConfigDir ?? process.cwd());
|
|
220
|
-
await
|
|
218
|
+
const [, , contextResult] = await Promise.all([
|
|
219
|
+
mcpManager.initialize(),
|
|
220
|
+
agentStore.loadAgents(),
|
|
221
|
+
loadContextFiles(projectConfigDir)
|
|
222
|
+
]);
|
|
223
|
+
const mcpTools = mcpManager.getTools();
|
|
221
224
|
const orchestrator = new SubagentOrchestrator({
|
|
222
225
|
userId: config.userId,
|
|
223
226
|
llm,
|
|
@@ -246,7 +249,6 @@ ${stdinContent}
|
|
|
246
249
|
const cliTools = [agentDelegateTool, ...backgroundTools, writeTodosTool, findDefinitionTool, getFileStructureTool];
|
|
247
250
|
if (skillTool) cliTools.push(skillTool);
|
|
248
251
|
const allTools = [...b4mTools, ...mcpTools, ...cliTools];
|
|
249
|
-
const contextResult = await loadContextFiles(projectConfigDir);
|
|
250
252
|
const systemPrompt = buildCoreSystemPrompt({
|
|
251
253
|
contextContent: contextResult.mergedContent,
|
|
252
254
|
agentStore,
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createFabFile,
|
|
4
4
|
createFabFileSchema
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-AZPDIAG7.js";
|
|
6
|
+
import "./chunk-Q3TLK7O5.js";
|
|
7
7
|
import "./chunk-PFBYGCOW.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-DF2SGZ6Z.js";
|
|
9
9
|
export {
|
|
10
10
|
createFabFile,
|
|
11
11
|
createFabFileSchema
|
package/dist/index.js
CHANGED
|
@@ -46,23 +46,23 @@ import {
|
|
|
46
46
|
setWebSocketToolExecutor,
|
|
47
47
|
substituteArguments,
|
|
48
48
|
warmFileCache
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-XWMNGOD4.js";
|
|
50
50
|
import "./chunk-BDQBOLYG.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-G3PPBZQR.js";
|
|
52
52
|
import "./chunk-GQGOWACU.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-5V7IRWCZ.js";
|
|
54
|
+
import "./chunk-AZPDIAG7.js";
|
|
55
|
+
import "./chunk-Q3TLK7O5.js";
|
|
56
56
|
import "./chunk-PFBYGCOW.js";
|
|
57
57
|
import "./chunk-BPFEGDC7.js";
|
|
58
58
|
import {
|
|
59
59
|
ConfigStore,
|
|
60
60
|
logger
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-VNZXDZRP.js";
|
|
62
62
|
import {
|
|
63
63
|
checkForUpdate,
|
|
64
64
|
package_default
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-LSALEKGH.js";
|
|
66
66
|
import {
|
|
67
67
|
selectActiveBackgroundAgents,
|
|
68
68
|
useCliStore
|
|
@@ -70,11 +70,11 @@ import {
|
|
|
70
70
|
import {
|
|
71
71
|
CREDIT_DEDUCT_TRANSACTION_TYPES,
|
|
72
72
|
ChatModels
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-DF2SGZ6Z.js";
|
|
74
74
|
import "./chunk-4BIBE3J7.js";
|
|
75
75
|
|
|
76
76
|
// src/index.tsx
|
|
77
|
-
import React22, { useState as useState11, useEffect as
|
|
77
|
+
import React22, { useState as useState11, useEffect as useEffect8, useCallback as useCallback3, useRef as useRef3 } from "react";
|
|
78
78
|
import { render, Box as Box21, Text as Text21, useApp, useInput as useInput10 } from "ink";
|
|
79
79
|
import { execSync } from "child_process";
|
|
80
80
|
import { randomBytes } from "crypto";
|
|
@@ -84,7 +84,7 @@ import path2 from "path";
|
|
|
84
84
|
import { v4 as uuidv42 } from "uuid";
|
|
85
85
|
|
|
86
86
|
// src/components/App.tsx
|
|
87
|
-
import React16, { useState as useState7, useEffect as
|
|
87
|
+
import React16, { useState as useState7, useEffect as useEffect6 } from "react";
|
|
88
88
|
import { Box as Box15, Text as Text15, Static, useInput as useInput7 } from "ink";
|
|
89
89
|
|
|
90
90
|
// src/components/StatusBar.tsx
|
|
@@ -1471,9 +1471,16 @@ function ConfigEditor({ config, availableModels, onSave, onClose }) {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
|
|
1473
1473
|
// src/components/McpViewer.tsx
|
|
1474
|
-
import React13 from "react";
|
|
1474
|
+
import React13, { useEffect as useEffect5, useReducer } from "react";
|
|
1475
1475
|
import { Box as Box12, Text as Text12, useInput as useInput6 } from "ink";
|
|
1476
1476
|
function McpViewer({ config, mcpManager, onClose }) {
|
|
1477
|
+
const [, forceUpdate] = useReducer((x) => x + 1, 0);
|
|
1478
|
+
useEffect5(() => {
|
|
1479
|
+
if (!mcpManager) return;
|
|
1480
|
+
mcpManager.setOnStateChange(forceUpdate);
|
|
1481
|
+
return () => mcpManager.setOnStateChange(() => {
|
|
1482
|
+
});
|
|
1483
|
+
}, [mcpManager]);
|
|
1477
1484
|
useInput6((input, key) => {
|
|
1478
1485
|
if (key.escape || input === "q") {
|
|
1479
1486
|
onClose();
|
|
@@ -1695,7 +1702,7 @@ function App({
|
|
|
1695
1702
|
const setIsThinking = useCliStore((state) => state.setIsThinking);
|
|
1696
1703
|
const pendingBackgroundTrigger = useCliStore((state) => state.pendingBackgroundTrigger);
|
|
1697
1704
|
const setPendingBackgroundTrigger = useCliStore((state) => state.setPendingBackgroundTrigger);
|
|
1698
|
-
|
|
1705
|
+
useEffect6(() => {
|
|
1699
1706
|
if (pendingBackgroundTrigger && !isThinking && onBackgroundCompletion) {
|
|
1700
1707
|
setPendingBackgroundTrigger(false);
|
|
1701
1708
|
onBackgroundCompletion();
|
|
@@ -2003,7 +2010,7 @@ function SessionSelector({ sessions, currentSession, onSelect, onCancel }) {
|
|
|
2003
2010
|
}
|
|
2004
2011
|
|
|
2005
2012
|
// src/components/LoginFlow.tsx
|
|
2006
|
-
import React21, { useState as useState10, useEffect as
|
|
2013
|
+
import React21, { useState as useState10, useEffect as useEffect7 } from "react";
|
|
2007
2014
|
import { Box as Box20, Text as Text20 } from "ink";
|
|
2008
2015
|
import Spinner3 from "ink-spinner";
|
|
2009
2016
|
import jwt from "jsonwebtoken";
|
|
@@ -2041,7 +2048,7 @@ function LoginFlow({ apiUrl = "http://localhost:3000", configStore, onSuccess, o
|
|
|
2041
2048
|
const [deviceFlow, setDeviceFlow] = useState10(null);
|
|
2042
2049
|
const [statusMessage, setStatusMessage] = useState10("Initiating device authorization...");
|
|
2043
2050
|
const [error, setError] = useState10(null);
|
|
2044
|
-
|
|
2051
|
+
useEffect7(() => {
|
|
2045
2052
|
const runLoginFlow = async () => {
|
|
2046
2053
|
const oauth = new OAuthClient(apiUrl);
|
|
2047
2054
|
try {
|
|
@@ -2076,7 +2083,7 @@ function LoginFlow({ apiUrl = "http://localhost:3000", configStore, onSuccess, o
|
|
|
2076
2083
|
};
|
|
2077
2084
|
runLoginFlow();
|
|
2078
2085
|
}, [apiUrl, configStore, onSuccess, onError]);
|
|
2079
|
-
|
|
2086
|
+
useEffect7(() => {
|
|
2080
2087
|
if (deviceFlow && status === "waiting") {
|
|
2081
2088
|
open(deviceFlow.verification_uri_complete).catch((err) => {
|
|
2082
2089
|
console.error("Failed to auto-open browser:", err);
|
|
@@ -2454,6 +2461,9 @@ Please acknowledge these background agent results and incorporate them into your
|
|
|
2454
2461
|
}
|
|
2455
2462
|
return this.inner.complete(model, effectiveMessages, options, callback);
|
|
2456
2463
|
}
|
|
2464
|
+
pushToolMessages(messages, tool, result) {
|
|
2465
|
+
return this.inner.pushToolMessages(messages, tool, result);
|
|
2466
|
+
}
|
|
2457
2467
|
async getModelInfo() {
|
|
2458
2468
|
return this.inner.getModelInfo();
|
|
2459
2469
|
}
|
|
@@ -2815,14 +2825,55 @@ function CliApp() {
|
|
|
2815
2825
|
tokenGetter,
|
|
2816
2826
|
wsCompletionUrl
|
|
2817
2827
|
});
|
|
2828
|
+
wsManager.onAction("keep_command", async (message) => {
|
|
2829
|
+
const { commandType, params, requestId, originConnectionId } = message;
|
|
2830
|
+
let result;
|
|
2831
|
+
let success = true;
|
|
2832
|
+
let error;
|
|
2833
|
+
try {
|
|
2834
|
+
switch (commandType) {
|
|
2835
|
+
case "read_file": {
|
|
2836
|
+
const filePath = params.path;
|
|
2837
|
+
if (!filePath) throw new Error("Missing required param: path");
|
|
2838
|
+
logger.info(`[Keep] Reading file: ${filePath}`);
|
|
2839
|
+
const content = await fs.readFile(filePath, "utf-8");
|
|
2840
|
+
result = { content, path: filePath };
|
|
2841
|
+
break;
|
|
2842
|
+
}
|
|
2843
|
+
case "list_directory": {
|
|
2844
|
+
const dirPath = params.path || ".";
|
|
2845
|
+
logger.info(`[Keep] Listing directory: ${dirPath}`);
|
|
2846
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
2847
|
+
result = entries.map((e) => ({ name: e.name, isDirectory: e.isDirectory() }));
|
|
2848
|
+
break;
|
|
2849
|
+
}
|
|
2850
|
+
default:
|
|
2851
|
+
throw new Error(`Unknown command type: ${commandType}`);
|
|
2852
|
+
}
|
|
2853
|
+
} catch (err) {
|
|
2854
|
+
success = false;
|
|
2855
|
+
error = err instanceof Error ? err.message : String(err);
|
|
2856
|
+
}
|
|
2857
|
+
wsManager.send({
|
|
2858
|
+
action: "keep_command_response",
|
|
2859
|
+
requestId,
|
|
2860
|
+
originConnectionId,
|
|
2861
|
+
success,
|
|
2862
|
+
result,
|
|
2863
|
+
error
|
|
2864
|
+
});
|
|
2865
|
+
});
|
|
2818
2866
|
logger.debug("\u{1F50C} Using WebSocket transport (bypasses CloudFront timeout)");
|
|
2819
2867
|
} else {
|
|
2820
2868
|
throw new Error("No websocketUrl or wsCompletionUrl in server config");
|
|
2821
2869
|
}
|
|
2822
2870
|
} catch (wsError) {
|
|
2823
|
-
|
|
2824
|
-
|
|
2871
|
+
console.error(
|
|
2872
|
+
`\u26A0\uFE0F WebSocket unavailable, using SSE fallback: ${wsError instanceof Error ? wsError.message : String(wsError)}`
|
|
2825
2873
|
);
|
|
2874
|
+
if (wsError instanceof Error && wsError.stack) {
|
|
2875
|
+
console.error(wsError.stack);
|
|
2876
|
+
}
|
|
2826
2877
|
wsManager = null;
|
|
2827
2878
|
setWebSocketToolExecutor(null);
|
|
2828
2879
|
llm = new ServerLlmBackend({
|
|
@@ -2879,12 +2930,27 @@ function CliApp() {
|
|
|
2879
2930
|
config.tools.disabled || []
|
|
2880
2931
|
// denied tools from project config
|
|
2881
2932
|
);
|
|
2882
|
-
const
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2933
|
+
const [
|
|
2934
|
+
{ createSandboxRuntime },
|
|
2935
|
+
{ SandboxOrchestrator },
|
|
2936
|
+
{ DEFAULT_SANDBOX_CONFIG },
|
|
2937
|
+
{ ProxyManager },
|
|
2938
|
+
{ ViolationLogStore }
|
|
2939
|
+
] = await Promise.all([
|
|
2940
|
+
import("./SandboxRuntimeAdapter-FQ56MAB2.js"),
|
|
2941
|
+
import("./SandboxOrchestrator-UIJ5GYBB.js"),
|
|
2942
|
+
import("./types-KB5NP6T4.js"),
|
|
2943
|
+
import("./ProxyManager-HEB4TLVX.js"),
|
|
2944
|
+
import("./ViolationLogStore-RIIUVURH.js")
|
|
2945
|
+
]);
|
|
2887
2946
|
const sandboxConfig = config.sandbox ?? DEFAULT_SANDBOX_CONFIG;
|
|
2947
|
+
const checkpointProjectDir = state.configStore.getProjectConfigDir() || process.cwd();
|
|
2948
|
+
const checkpointStore = new CheckpointStore(checkpointProjectDir);
|
|
2949
|
+
const [sandboxRuntime] = await Promise.all([
|
|
2950
|
+
createSandboxRuntime(),
|
|
2951
|
+
checkpointStore.init(newSession.id).catch(() => {
|
|
2952
|
+
})
|
|
2953
|
+
]);
|
|
2888
2954
|
const proxyManager = new ProxyManager(sandboxConfig.network);
|
|
2889
2955
|
const sandboxOrchestrator = new SandboxOrchestrator(sandboxConfig, sandboxRuntime, proxyManager);
|
|
2890
2956
|
proxyManager.onEvent((event) => {
|
|
@@ -2906,7 +2972,6 @@ function CliApp() {
|
|
|
2906
2972
|
});
|
|
2907
2973
|
}
|
|
2908
2974
|
});
|
|
2909
|
-
const { ViolationLogStore } = await import("./ViolationLogStore-RIIUVURH.js");
|
|
2910
2975
|
const violationStore = new ViolationLogStore();
|
|
2911
2976
|
sandboxOrchestrator.setViolationStore(violationStore);
|
|
2912
2977
|
permissionManager.setSandboxState(sandboxConfig.mode, sandboxOrchestrator.isActive());
|
|
@@ -2945,12 +3010,6 @@ function CliApp() {
|
|
|
2945
3010
|
enqueueUserQuestionPrompt({ id, payload, resolve });
|
|
2946
3011
|
});
|
|
2947
3012
|
};
|
|
2948
|
-
const checkpointProjectDir = state.configStore.getProjectConfigDir() || process.cwd();
|
|
2949
|
-
const checkpointStore = new CheckpointStore(checkpointProjectDir);
|
|
2950
|
-
try {
|
|
2951
|
-
await checkpointStore.init(newSession.id);
|
|
2952
|
-
} catch {
|
|
2953
|
-
}
|
|
2954
3013
|
const agentContext = {
|
|
2955
3014
|
currentAgent: null,
|
|
2956
3015
|
observationQueue: []
|
|
@@ -2973,7 +3032,14 @@ function CliApp() {
|
|
|
2973
3032
|
);
|
|
2974
3033
|
startupLog.push(`\u{1F6E0}\uFE0F Loaded ${b4mTools.length} B4M tool(s)`);
|
|
2975
3034
|
const mcpManager = new McpManager(config);
|
|
2976
|
-
|
|
3035
|
+
const builtinAgentsDir = new URL("./agents/defaults/", import.meta.url).pathname;
|
|
3036
|
+
const agentProjectDir = state.configStore.getProjectConfigDir();
|
|
3037
|
+
const agentStore = new AgentStore(builtinAgentsDir, agentProjectDir || process.cwd());
|
|
3038
|
+
const [, , contextResult] = await Promise.all([
|
|
3039
|
+
mcpManager.initialize(),
|
|
3040
|
+
agentStore.loadAgents(),
|
|
3041
|
+
loadContextFiles(agentProjectDir)
|
|
3042
|
+
]);
|
|
2977
3043
|
const mcpTools = mcpManager.getTools();
|
|
2978
3044
|
if (mcpTools.length > 0) {
|
|
2979
3045
|
const toolCountByServer = mcpManager.getToolCount();
|
|
@@ -2982,10 +3048,6 @@ function CliApp() {
|
|
|
2982
3048
|
} else {
|
|
2983
3049
|
startupLog.push(`\u{1F4E1} No MCP tools loaded`);
|
|
2984
3050
|
}
|
|
2985
|
-
const builtinAgentsDir = new URL("./agents/defaults/", import.meta.url).pathname;
|
|
2986
|
-
const agentProjectDir = state.configStore.getProjectConfigDir();
|
|
2987
|
-
const agentStore = new AgentStore(builtinAgentsDir, agentProjectDir || process.cwd());
|
|
2988
|
-
await agentStore.loadAgents();
|
|
2989
3051
|
const agentSummary = agentStore.getSummary();
|
|
2990
3052
|
startupLog.push(
|
|
2991
3053
|
`\u{1F916} Loaded ${agentSummary.total} agent(s): ${agentSummary.builtin} built-in, ${agentSummary.global} global, ${agentSummary.project} project`
|
|
@@ -3058,8 +3120,6 @@ function CliApp() {
|
|
|
3058
3120
|
logger.debug(
|
|
3059
3121
|
`Total tools available to agent: ${allTools.length} (${b4mTools.length} B4M + ${mcpTools.length} MCP + ${cliTools.length} CLI)`
|
|
3060
3122
|
);
|
|
3061
|
-
const projectDir = state.configStore.getProjectConfigDir();
|
|
3062
|
-
const contextResult = await loadContextFiles(projectDir);
|
|
3063
3123
|
if (contextResult.globalContext) {
|
|
3064
3124
|
startupLog.push(`\u{1F4C4} Global context: ${contextResult.globalContext.filename}`);
|
|
3065
3125
|
}
|
|
@@ -3190,7 +3250,7 @@ function CliApp() {
|
|
|
3190
3250
|
setStoreSession,
|
|
3191
3251
|
setState
|
|
3192
3252
|
]);
|
|
3193
|
-
|
|
3253
|
+
useEffect8(() => {
|
|
3194
3254
|
init();
|
|
3195
3255
|
}, [init]);
|
|
3196
3256
|
const handleCustomCommandMessage = async (fullTemplate, displayMessage) => {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
findMostSimilarMemento,
|
|
4
4
|
getRelevantMementos
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-G3PPBZQR.js";
|
|
6
|
+
import "./chunk-Q3TLK7O5.js";
|
|
7
7
|
import "./chunk-PFBYGCOW.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-DF2SGZ6Z.js";
|
|
9
9
|
export {
|
|
10
10
|
findMostSimilarMemento,
|
|
11
11
|
getRelevantMementos
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
ALL_IMAGE_SIZES,
|
|
5
5
|
API_SERVICE_GROUPS,
|
|
6
6
|
APP_NAME,
|
|
7
|
+
AdminSystemPromptCategory,
|
|
7
8
|
AgileApi,
|
|
8
9
|
AiEvents,
|
|
9
10
|
ApiKeyEvents,
|
|
@@ -65,6 +66,7 @@ import {
|
|
|
65
66
|
CurationOptionsSchema,
|
|
66
67
|
CurationType,
|
|
67
68
|
CurationTypeSchema,
|
|
69
|
+
DATA_LAKES,
|
|
68
70
|
DashboardParamsSchema,
|
|
69
71
|
DataSubscribeRequestAction,
|
|
70
72
|
DataSubscriptionUpdateAction,
|
|
@@ -130,6 +132,10 @@ import {
|
|
|
130
132
|
JIRA_MAX_ATTACHMENT_SIZE,
|
|
131
133
|
JiraApi,
|
|
132
134
|
JiraWebhookDeliveryStatus,
|
|
135
|
+
KeepCommandAction,
|
|
136
|
+
KeepCommandRequestAction,
|
|
137
|
+
KeepCommandResponseAction,
|
|
138
|
+
KeepCommandResultAction,
|
|
133
139
|
KnowledgeType,
|
|
134
140
|
LEGACY_IMAGE_MODEL_MAP,
|
|
135
141
|
LIVEOPS_TRIAGE_RESULT_VALIDATION_LIMITS,
|
|
@@ -243,11 +249,13 @@ import {
|
|
|
243
249
|
QuestResourceSchema,
|
|
244
250
|
QuestSchema,
|
|
245
251
|
QuestStatusSchema,
|
|
252
|
+
RATE_LIMIT_INTEGRATIONS,
|
|
246
253
|
REASONING_EFFORT_DESCRIPTIONS,
|
|
247
254
|
REASONING_EFFORT_LABELS,
|
|
248
255
|
REASONING_SUPPORTED_MODELS,
|
|
249
256
|
RESTRICTION_OPERATIONS,
|
|
250
257
|
RESTRICTION_SUBJECT_TYPES,
|
|
258
|
+
ROTATABLE_INTEGRATIONS,
|
|
251
259
|
RapidReplyFallbackBehaviors,
|
|
252
260
|
RapidReplyResponseStylesCommon,
|
|
253
261
|
RapidReplySettingsSchema,
|
|
@@ -387,7 +395,9 @@ import {
|
|
|
387
395
|
formatWatchers,
|
|
388
396
|
formatWebhook,
|
|
389
397
|
formatWebhookList,
|
|
398
|
+
getAccessibleDataLakes,
|
|
390
399
|
getAtlassianConfig,
|
|
400
|
+
getDataLakeTags,
|
|
391
401
|
getErrorMessage,
|
|
392
402
|
getFileTypeEmoji,
|
|
393
403
|
getFilteredViews,
|
|
@@ -399,6 +409,7 @@ import {
|
|
|
399
409
|
getVisibilityLevel,
|
|
400
410
|
getWebsiteUrl,
|
|
401
411
|
groupShareSchema,
|
|
412
|
+
hasRateLimitInfo,
|
|
402
413
|
isArtifact,
|
|
403
414
|
isCommentWebhookEvent,
|
|
404
415
|
isCreditHolder,
|
|
@@ -417,6 +428,7 @@ import {
|
|
|
417
428
|
isValidIssueKey,
|
|
418
429
|
matchesSearchQuery,
|
|
419
430
|
mergeArtifactMetadata,
|
|
431
|
+
normalizeEndpoint,
|
|
420
432
|
parallelLimit,
|
|
421
433
|
parseRateLimitHeaders,
|
|
422
434
|
passwordSchema,
|
|
@@ -457,12 +469,13 @@ import {
|
|
|
457
469
|
validateReactArtifactV2,
|
|
458
470
|
validateSvgArtifactV2,
|
|
459
471
|
wikiMarkupToAdf
|
|
460
|
-
} from "./chunk-
|
|
472
|
+
} from "./chunk-DF2SGZ6Z.js";
|
|
461
473
|
export {
|
|
462
474
|
ALL_IMAGE_MODELS,
|
|
463
475
|
ALL_IMAGE_SIZES,
|
|
464
476
|
API_SERVICE_GROUPS,
|
|
465
477
|
APP_NAME,
|
|
478
|
+
AdminSystemPromptCategory,
|
|
466
479
|
AgileApi,
|
|
467
480
|
AiEvents,
|
|
468
481
|
ApiKeyEvents,
|
|
@@ -525,6 +538,7 @@ export {
|
|
|
525
538
|
CurationOptionsSchema,
|
|
526
539
|
CurationType,
|
|
527
540
|
CurationTypeSchema,
|
|
541
|
+
DATA_LAKES,
|
|
528
542
|
DashboardParamsSchema,
|
|
529
543
|
DataSubscribeRequestAction,
|
|
530
544
|
DataSubscriptionUpdateAction,
|
|
@@ -590,6 +604,10 @@ export {
|
|
|
590
604
|
JIRA_MAX_ATTACHMENT_SIZE,
|
|
591
605
|
JiraApi,
|
|
592
606
|
JiraWebhookDeliveryStatus,
|
|
607
|
+
KeepCommandAction,
|
|
608
|
+
KeepCommandRequestAction,
|
|
609
|
+
KeepCommandResponseAction,
|
|
610
|
+
KeepCommandResultAction,
|
|
593
611
|
KnowledgeType,
|
|
594
612
|
LEGACY_IMAGE_MODEL_MAP,
|
|
595
613
|
LIVEOPS_TRIAGE_RESULT_VALIDATION_LIMITS,
|
|
@@ -703,11 +721,13 @@ export {
|
|
|
703
721
|
QuestResourceSchema,
|
|
704
722
|
QuestSchema,
|
|
705
723
|
QuestStatusSchema,
|
|
724
|
+
RATE_LIMIT_INTEGRATIONS,
|
|
706
725
|
REASONING_EFFORT_DESCRIPTIONS,
|
|
707
726
|
REASONING_EFFORT_LABELS,
|
|
708
727
|
REASONING_SUPPORTED_MODELS,
|
|
709
728
|
RESTRICTION_OPERATIONS,
|
|
710
729
|
RESTRICTION_SUBJECT_TYPES,
|
|
730
|
+
ROTATABLE_INTEGRATIONS,
|
|
711
731
|
RapidReplyFallbackBehaviors,
|
|
712
732
|
RapidReplyResponseStylesCommon,
|
|
713
733
|
RapidReplySettingsSchema,
|
|
@@ -848,7 +868,9 @@ export {
|
|
|
848
868
|
formatWatchers,
|
|
849
869
|
formatWebhook,
|
|
850
870
|
formatWebhookList,
|
|
871
|
+
getAccessibleDataLakes,
|
|
851
872
|
getAtlassianConfig,
|
|
873
|
+
getDataLakeTags,
|
|
852
874
|
getErrorMessage,
|
|
853
875
|
getFileTypeEmoji,
|
|
854
876
|
getFilteredViews,
|
|
@@ -860,6 +882,7 @@ export {
|
|
|
860
882
|
getVisibilityLevel,
|
|
861
883
|
getWebsiteUrl,
|
|
862
884
|
groupShareSchema,
|
|
885
|
+
hasRateLimitInfo,
|
|
863
886
|
isArtifact,
|
|
864
887
|
isCommentWebhookEvent,
|
|
865
888
|
isCreditHolder,
|
|
@@ -878,6 +901,7 @@ export {
|
|
|
878
901
|
isValidIssueKey,
|
|
879
902
|
matchesSearchQuery,
|
|
880
903
|
mergeArtifactMetadata,
|
|
904
|
+
normalizeEndpoint,
|
|
881
905
|
parallelLimit,
|
|
882
906
|
parseRateLimitHeaders,
|
|
883
907
|
passwordSchema,
|
|
@@ -115,6 +115,7 @@ import {
|
|
|
115
115
|
isGPT5ModelWithToolSupport,
|
|
116
116
|
isMermaidSyntax,
|
|
117
117
|
isModelAccessible,
|
|
118
|
+
isOverloadedError,
|
|
118
119
|
isPlainText,
|
|
119
120
|
isPrivateIP,
|
|
120
121
|
isPrivateOrInternalHostname,
|
|
@@ -139,7 +140,7 @@ import {
|
|
|
139
140
|
validateUrlForFetch,
|
|
140
141
|
warmUpSettingsCache,
|
|
141
142
|
withRetry
|
|
142
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-Q3TLK7O5.js";
|
|
143
144
|
import {
|
|
144
145
|
Logger,
|
|
145
146
|
NotificationDeduplicator,
|
|
@@ -152,7 +153,7 @@ import {
|
|
|
152
153
|
buildRateLimitLogEntry,
|
|
153
154
|
isNearLimit,
|
|
154
155
|
parseRateLimitHeaders
|
|
155
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-DF2SGZ6Z.js";
|
|
156
157
|
export {
|
|
157
158
|
AIVideoService,
|
|
158
159
|
AWSBackend,
|
|
@@ -273,6 +274,7 @@ export {
|
|
|
273
274
|
isMermaidSyntax,
|
|
274
275
|
isModelAccessible,
|
|
275
276
|
isNearLimit,
|
|
277
|
+
isOverloadedError,
|
|
276
278
|
isPlainText,
|
|
277
279
|
isPrivateIP,
|
|
278
280
|
isPrivateOrInternalHostname,
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
SubtractCreditsSchema,
|
|
4
4
|
subtractCredits
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-5V7IRWCZ.js";
|
|
6
|
+
import "./chunk-Q3TLK7O5.js";
|
|
7
7
|
import "./chunk-PFBYGCOW.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-DF2SGZ6Z.js";
|
|
9
9
|
export {
|
|
10
10
|
SubtractCreditsSchema,
|
|
11
11
|
subtractCredits
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.38-docs-clawdbot-comparison-analysis.20242+f8dcf1ee7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"uuid": "^9.0.1",
|
|
106
106
|
"voyageai": "^0.0.4",
|
|
107
107
|
"web-tree-sitter": "0.25.10",
|
|
108
|
+
"ws": "^8.19.0",
|
|
108
109
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
|
109
110
|
"yargs": "^17.7.2",
|
|
110
111
|
"yauzl": "^3.1.3",
|
|
@@ -114,10 +115,10 @@
|
|
|
114
115
|
},
|
|
115
116
|
"devDependencies": {
|
|
116
117
|
"@bike4mind/agents": "0.1.0",
|
|
117
|
-
"@bike4mind/common": "2.58.
|
|
118
|
-
"@bike4mind/mcp": "1.32.
|
|
119
|
-
"@bike4mind/services": "2.54.
|
|
120
|
-
"@bike4mind/utils": "2.11.
|
|
118
|
+
"@bike4mind/common": "2.58.1-docs-clawdbot-comparison-analysis.20242+f8dcf1ee7",
|
|
119
|
+
"@bike4mind/mcp": "1.32.6-docs-clawdbot-comparison-analysis.20242+f8dcf1ee7",
|
|
120
|
+
"@bike4mind/services": "2.54.2-docs-clawdbot-comparison-analysis.20242+f8dcf1ee7",
|
|
121
|
+
"@bike4mind/utils": "2.11.1-docs-clawdbot-comparison-analysis.20242+f8dcf1ee7",
|
|
121
122
|
"@types/better-sqlite3": "^7.6.13",
|
|
122
123
|
"@types/diff": "^5.0.9",
|
|
123
124
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -125,6 +126,7 @@
|
|
|
125
126
|
"@types/picomatch": "^4.0.2",
|
|
126
127
|
"@types/react": "^19.2.7",
|
|
127
128
|
"@types/uuid": "^9.0.7",
|
|
129
|
+
"@types/ws": "^8.18.1",
|
|
128
130
|
"@types/yargs": "^17.0.32",
|
|
129
131
|
"ink-testing-library": "^4.0.0",
|
|
130
132
|
"tsup": "^8.5.1",
|
|
@@ -135,5 +137,5 @@
|
|
|
135
137
|
"optionalDependencies": {
|
|
136
138
|
"@vscode/ripgrep": "^1.17.0"
|
|
137
139
|
},
|
|
138
|
-
"gitHead": "
|
|
140
|
+
"gitHead": "f8dcf1ee7bb87ee38b6ce61bb780d566af00eea0"
|
|
139
141
|
}
|