@bike4mind/cli 0.9.3 → 0.10.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/README.md +13 -3
- package/bin/bike4mind-cli.mjs +44 -1
- package/dist/{BubblewrapRuntime-CUD3bsgG.mjs → BubblewrapRuntime-CkL9-gnG.mjs} +1 -1
- package/dist/{ConfigStore-BauEpjvT.mjs → ConfigStore-DPWN3-0c.mjs} +60 -8
- package/dist/ProxyManager-ByuAHFMq.mjs +3 -0
- package/dist/{SandboxOrchestrator-C4oDqltp.mjs → SandboxOrchestrator-BS6gALNq.mjs} +1 -1
- package/dist/{SandboxOrchestrator-B4GcZdBc.mjs → SandboxOrchestrator-BoINxbX4.mjs} +1 -1
- package/dist/{SandboxRuntimeAdapter-DXa3nFOw.mjs → SandboxRuntimeAdapter-CKelGICD.mjs} +1 -1
- package/dist/{SandboxRuntimeAdapter-D1RUReNL.mjs → SandboxRuntimeAdapter-ChGlxSGQ.mjs} +2 -2
- package/dist/{SeatbeltRuntime-CTElMR9Q.mjs → SeatbeltRuntime-Qqt19cAN.mjs} +1 -1
- package/dist/{bashExecute-pYljpfPn-BZXHMQEl.mjs → bashExecute-B1N1lMOS-TZVDbcQ4.mjs} +1 -1
- package/dist/commands/apiCommand.mjs +45 -0
- package/dist/commands/doctorCommand.mjs +2 -2
- package/dist/commands/headlessCommand.mjs +6 -6
- package/dist/commands/mcpCommand.mjs +1 -1
- package/dist/commands/updateCommand.mjs +2 -2
- package/dist/{createFile-C1JoeuYh-metInFKd.mjs → createFile-DPv180yF-BnWFIxey.mjs} +2 -2
- package/dist/{deleteFile-BTberNGj-CW922hRM.mjs → deleteFile-BdjUwUQF-B3XOJmg3.mjs} +2 -2
- package/dist/{globFiles-Bez8QCbS-DZb6McbJ.mjs → globFiles-DjfDGaUK-CNR8pMRC.mjs} +2 -2
- package/dist/{grepSearch-BxucZWO8-lPRv6R6F.mjs → grepSearch-DJs-cubo-Bm0Y8oS3.mjs} +2 -2
- package/dist/index.mjs +19 -18
- package/dist/{pathValidation-CIytuhr3-Dt5dntLx.mjs → pathValidation-D8tjkQXE-1HwvsuYT.mjs} +1 -1
- package/dist/store-DgzCTRkN.mjs +3 -0
- package/dist/{tools-CpWE3Qif.mjs → tools-_X4rUM4L.mjs} +11132 -10244
- package/dist/types-CqscS34o.mjs +3 -0
- package/dist/{updateChecker-DhWcEKAu.mjs → updateChecker-C3DYG0Gn.mjs} +1 -1
- package/dist/utils-BGtSXfce.mjs +3 -0
- package/dist/utils-PpNti-tY.mjs +146 -0
- package/package.json +31 -31
- package/dist/ProxyManager-DIAAw902.mjs +0 -3
- package/dist/store-5PXzE9DM.mjs +0 -3
- package/dist/types-DK3P88Px.mjs +0 -3
- /package/dist/{ImageStore-BFp_d12J.mjs → ImageStore-BVmEG1xc.mjs} +0 -0
- /package/dist/{ProxyManager-BsCoxpns.mjs → ProxyManager-CV94yZUW.mjs} +0 -0
- /package/dist/{StderrViolationParser-BFP4bo7I.mjs → StderrViolationParser-CS43a-TP.mjs} +0 -0
- /package/dist/{ViolationLogStore-Dp6HF0nz.mjs → ViolationLogStore-B-plqJfn.mjs} +0 -0
- /package/dist/{ripgrepCheck-DIu4apVE.mjs → ripgrepCheck-BmkyTK2i.mjs} +0 -0
- /package/dist/{store-BonrwrMi.mjs → store-DV5s-qni.mjs} +0 -0
- /package/dist/{terminalSetup-DxloCowq.mjs → terminalSetup-BbJt04ZG.mjs} +0 -0
- /package/dist/{treeSitterEngine-Cw2LbVZT.mjs → treeSitterEngine-BRbQ9b7I.mjs} +0 -0
- /package/dist/{types-DBEjF9YS.mjs → types-LyRNHOiS.mjs} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as CommandHistoryStore, A as formatStep, B as DEFAULT_RETRY_CONFIG, C as WebSocketToolExecutor, D as ServerLlmBackend, E as WebSocketLlmBackend, F as PermissionManager, G as OllamaBackend, H as clearFeatureModuleTools, I as generateCliTools, J as buildSkillsPromptSection, K as getPlanModeFilePath, L as ALWAYS_DENIED_FOR_AGENTS, M as loadContextFiles, N as getApiUrl, O as McpManager, P as getEnvironmentName, Q as CheckpointStore, R as DEFAULT_AGENT_MODEL, S as ApiClient, T as FallbackLlmBackend, U as registerFeatureModuleTools, V as DEFAULT_THOROUGHNESS, W as setWebSocketToolExecutor, X as ReActAgent, Y as isReadOnlyTool, Z as CustomCommandStore, _ as createAgentDelegateTool, a as createBlockerTools, at as mergeCommands, b as createSkillTool, c as createDecisionStore, ct as warmFileCache, d as createFindDefinitionTool, et as SessionStore, f as createTodoStore, g as BackgroundAgentManager, h as createBackgroundAgentTools, i as createBlockerStore, it as searchCommands, j as extractCompactInstructions, k as substituteArguments, l as formatDecisionsOutput, m as createCoordinateTaskTool, n as createReviewGateTool, nt as hasFileReferences, o as formatBlockersOutput, ot as formatFileSize, p as createWriteTodosTool, q as buildSystemPrompt, r as formatReviewGatesOutput, rt as processFileReferences, s as createDecisionLogTool, st as searchFiles, t as createReviewGateStore, tt as OAuthClient, u as createGetFileStructureTool, v as AgentStore, w as WebSocketConnectionManager, x as parseAgentConfig, y as SubagentOrchestrator, z as DEFAULT_MAX_ITERATIONS } from "./tools-
|
|
3
|
-
import { n as useCliStore, t as selectActiveBackgroundAgents } from "./store-
|
|
4
|
-
import { Xt as validateNotebookPath$1, Yt as validateJupyterKernelName, g as CREDIT_DEDUCT_TRANSACTION_TYPES, n as logger, t as ConfigStore, v as ChatModels } from "./ConfigStore-
|
|
5
|
-
import { a as version, t as checkForUpdate } from "./updateChecker-
|
|
2
|
+
import { $ as CommandHistoryStore, A as formatStep, B as DEFAULT_RETRY_CONFIG, C as WebSocketToolExecutor, D as ServerLlmBackend, E as WebSocketLlmBackend, F as PermissionManager, G as OllamaBackend, H as clearFeatureModuleTools, I as generateCliTools, J as buildSkillsPromptSection, K as getPlanModeFilePath, L as ALWAYS_DENIED_FOR_AGENTS, M as loadContextFiles, N as getApiUrl, O as McpManager, P as getEnvironmentName, Q as CheckpointStore, R as DEFAULT_AGENT_MODEL, S as ApiClient, T as FallbackLlmBackend, U as registerFeatureModuleTools, V as DEFAULT_THOROUGHNESS, W as setWebSocketToolExecutor, X as ReActAgent, Y as isReadOnlyTool, Z as CustomCommandStore, _ as createAgentDelegateTool, a as createBlockerTools, at as mergeCommands, b as createSkillTool, c as createDecisionStore, ct as warmFileCache, d as createFindDefinitionTool, et as SessionStore, f as createTodoStore, g as BackgroundAgentManager, h as createBackgroundAgentTools, i as createBlockerStore, it as searchCommands, j as extractCompactInstructions, k as substituteArguments, l as formatDecisionsOutput, m as createCoordinateTaskTool, n as createReviewGateTool, nt as hasFileReferences, o as formatBlockersOutput, ot as formatFileSize, p as createWriteTodosTool, q as buildSystemPrompt, r as formatReviewGatesOutput, rt as processFileReferences, s as createDecisionLogTool, st as searchFiles, t as createReviewGateStore, tt as OAuthClient, u as createGetFileStructureTool, v as AgentStore, w as WebSocketConnectionManager, x as parseAgentConfig, y as SubagentOrchestrator, z as DEFAULT_MAX_ITERATIONS } from "./tools-_X4rUM4L.mjs";
|
|
3
|
+
import { n as useCliStore, t as selectActiveBackgroundAgents } from "./store-DV5s-qni.mjs";
|
|
4
|
+
import { Xt as validateNotebookPath$1, Yt as validateJupyterKernelName, g as CREDIT_DEDUCT_TRANSACTION_TYPES, n as logger, t as ConfigStore, v as ChatModels } from "./ConfigStore-DPWN3-0c.mjs";
|
|
5
|
+
import { a as version, t as checkForUpdate } from "./updateChecker-C3DYG0Gn.mjs";
|
|
6
6
|
import React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from "react";
|
|
7
7
|
import { Box, Static, Text, render, useApp, useInput, usePaste, useStdout } from "ink";
|
|
8
8
|
import { execSync } from "child_process";
|
|
@@ -287,8 +287,7 @@ function CommandAutocomplete({ commands, selectedIndex }) {
|
|
|
287
287
|
let startIndex = 0;
|
|
288
288
|
let endIndex = Math.min(VIEWPORT_SIZE, totalCommands);
|
|
289
289
|
if (totalCommands > VIEWPORT_SIZE) {
|
|
290
|
-
|
|
291
|
-
startIndex = Math.max(0, selectedIndex - halfViewport);
|
|
290
|
+
startIndex = Math.max(0, selectedIndex - Math.floor(VIEWPORT_SIZE / 2));
|
|
292
291
|
endIndex = Math.min(totalCommands, startIndex + VIEWPORT_SIZE);
|
|
293
292
|
if (endIndex === totalCommands) startIndex = Math.max(0, totalCommands - VIEWPORT_SIZE);
|
|
294
293
|
}
|
|
@@ -329,8 +328,7 @@ function FileAutocomplete({ files, selectedIndex, query }) {
|
|
|
329
328
|
let startIndex = 0;
|
|
330
329
|
let endIndex = Math.min(VIEWPORT_SIZE, totalFiles);
|
|
331
330
|
if (totalFiles > VIEWPORT_SIZE) {
|
|
332
|
-
|
|
333
|
-
startIndex = Math.max(0, selectedIndex - halfViewport);
|
|
331
|
+
startIndex = Math.max(0, selectedIndex - Math.floor(VIEWPORT_SIZE / 2));
|
|
334
332
|
endIndex = Math.min(totalFiles, startIndex + VIEWPORT_SIZE);
|
|
335
333
|
if (endIndex === totalFiles) startIndex = Math.max(0, totalFiles - VIEWPORT_SIZE);
|
|
336
334
|
}
|
|
@@ -2164,6 +2162,10 @@ function App({ onMessage, onBackgroundCompletion, onCommand, onBashCommand, onPe
|
|
|
2164
2162
|
await onCommand(command, args);
|
|
2165
2163
|
return;
|
|
2166
2164
|
}
|
|
2165
|
+
if (trimmed === "exit" || trimmed === "quit") {
|
|
2166
|
+
await onCommand(trimmed, []);
|
|
2167
|
+
return;
|
|
2168
|
+
}
|
|
2167
2169
|
let messageToSend = trimmed;
|
|
2168
2170
|
if (hasFileReferences(trimmed)) {
|
|
2169
2171
|
const processed = await processFileReferences(trimmed);
|
|
@@ -2668,7 +2670,7 @@ const ROLE_LABELS = {
|
|
|
2668
2670
|
function buildHandoffPrompt(session) {
|
|
2669
2671
|
if (session.messages.length < 4) return "";
|
|
2670
2672
|
const filtered = session.messages.filter((m) => !isInjectedHandoff(m));
|
|
2671
|
-
const conversation = filtered.length > MAX_CONVERSATION_MESSAGES ? filtered.slice(-
|
|
2673
|
+
const conversation = filtered.length > MAX_CONVERSATION_MESSAGES ? filtered.slice(-50) : filtered;
|
|
2672
2674
|
let prompt = `You are generating a structured session handoff so the next session (or another agent) can pick up seamlessly without re-reading the full chat history.
|
|
2673
2675
|
|
|
2674
2676
|
Output a single JSON object — no prose, no markdown fences — with exactly these fields:
|
|
@@ -5854,11 +5856,11 @@ function CliApp() {
|
|
|
5854
5856
|
};
|
|
5855
5857
|
const permissionManager = new PermissionManager(config.trustedTools || [], void 0, config.tools.disabled || []);
|
|
5856
5858
|
const [{ createSandboxRuntime }, { SandboxOrchestrator }, { DEFAULT_SANDBOX_CONFIG }, { ProxyManager }, { ViolationLogStore }] = await Promise.all([
|
|
5857
|
-
import("./SandboxRuntimeAdapter-
|
|
5858
|
-
import("./SandboxOrchestrator-
|
|
5859
|
-
import("./types-
|
|
5860
|
-
import("./ProxyManager-
|
|
5861
|
-
import("./ViolationLogStore-
|
|
5859
|
+
import("./SandboxRuntimeAdapter-CKelGICD.mjs"),
|
|
5860
|
+
import("./SandboxOrchestrator-BS6gALNq.mjs"),
|
|
5861
|
+
import("./types-CqscS34o.mjs"),
|
|
5862
|
+
import("./ProxyManager-ByuAHFMq.mjs"),
|
|
5863
|
+
import("./ViolationLogStore-B-plqJfn.mjs")
|
|
5862
5864
|
]);
|
|
5863
5865
|
const sandboxConfig = config.sandbox ?? DEFAULT_SANDBOX_CONFIG;
|
|
5864
5866
|
const checkpointStore = new CheckpointStore(state.configStore.getProjectConfigDir() || process.cwd());
|
|
@@ -6875,7 +6877,7 @@ function CliApp() {
|
|
|
6875
6877
|
let imageStore = state.imageStore;
|
|
6876
6878
|
if (!imageStore) {
|
|
6877
6879
|
if (!imageStoreInitPromise.current) imageStoreInitPromise.current = (async () => {
|
|
6878
|
-
const { ImageStore: ImageStoreClass } = await import("./ImageStore-
|
|
6880
|
+
const { ImageStore: ImageStoreClass } = await import("./ImageStore-BVmEG1xc.mjs");
|
|
6879
6881
|
const newImageStore = new ImageStoreClass();
|
|
6880
6882
|
setState((prev) => ({
|
|
6881
6883
|
...prev,
|
|
@@ -6924,8 +6926,7 @@ function CliApp() {
|
|
|
6924
6926
|
console.log(`${emoji} ${label}:`);
|
|
6925
6927
|
const terminalWidth = process.stdout.columns || 80;
|
|
6926
6928
|
const nameWidth = 25;
|
|
6927
|
-
const
|
|
6928
|
-
const maxDescLength = Math.max(20, terminalWidth - prefixWidth);
|
|
6929
|
+
const maxDescLength = Math.max(20, terminalWidth - 30);
|
|
6929
6930
|
agents.forEach((agent) => {
|
|
6930
6931
|
const desc = agent.description.length > maxDescLength ? agent.description.slice(0, maxDescLength - 3) + "..." : agent.description;
|
|
6931
6932
|
console.log(` ${agent.name.padEnd(nameWidth)} - ${desc}`);
|
|
@@ -8154,7 +8155,7 @@ Multi-line Input:
|
|
|
8154
8155
|
break;
|
|
8155
8156
|
}
|
|
8156
8157
|
case "terminal-setup": {
|
|
8157
|
-
const { runTerminalSetup } = await import("./terminalSetup-
|
|
8158
|
+
const { runTerminalSetup } = await import("./terminalSetup-BbJt04ZG.mjs");
|
|
8158
8159
|
await runTerminalSetup();
|
|
8159
8160
|
break;
|
|
8160
8161
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { realpathSync } from "fs";
|
|
3
3
|
import path from "path";
|
|
4
|
-
//#region ../../b4m-core/services/dist/pathValidation-
|
|
4
|
+
//#region ../../b4m-core/services/dist/pathValidation-D8tjkQXE.mjs
|
|
5
5
|
/**
|
|
6
6
|
* Resolves a path to its canonical form, following symlinks.
|
|
7
7
|
* If the path doesn't exist (e.g., file being created), resolves the
|