@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.
@@ -3,7 +3,7 @@ import {
3
3
  fetchLatestVersion,
4
4
  forceCheckForUpdate,
5
5
  package_default
6
- } from "../chunk-FACWWYF7.js";
6
+ } from "../chunk-LSALEKGH.js";
7
7
 
8
8
  // src/commands/doctorCommand.ts
9
9
  import { execSync } from "child_process";
@@ -36,20 +36,20 @@ import {
36
36
  isReadOnlyTool,
37
37
  loadContextFiles,
38
38
  setWebSocketToolExecutor
39
- } from "../chunk-XIB66EG7.js";
39
+ } from "../chunk-XWMNGOD4.js";
40
40
  import "../chunk-BDQBOLYG.js";
41
- import "../chunk-NJQYWIDJ.js";
41
+ import "../chunk-G3PPBZQR.js";
42
42
  import "../chunk-GQGOWACU.js";
43
- import "../chunk-LJG44UT3.js";
44
- import "../chunk-AOP6RYDY.js";
45
- import "../chunk-5YLGNW2B.js";
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-H7RVLAQD.js";
52
- import "../chunk-EY65E4W4.js";
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 sandboxRuntime = await createSandboxRuntime();
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 agentStore.loadAgents();
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,
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigStore
4
- } from "../chunk-H7RVLAQD.js";
5
- import "../chunk-EY65E4W4.js";
4
+ } from "../chunk-VNZXDZRP.js";
5
+ import "../chunk-DF2SGZ6Z.js";
6
6
  import "../chunk-4BIBE3J7.js";
7
7
 
8
8
  // src/commands/mcpCommand.ts
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  forceCheckForUpdate,
4
4
  package_default
5
- } from "../chunk-FACWWYF7.js";
5
+ } from "../chunk-LSALEKGH.js";
6
6
 
7
7
  // src/commands/updateCommand.ts
8
8
  import { execSync } from "child_process";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  createFabFile,
4
4
  createFabFileSchema
5
- } from "./chunk-AOP6RYDY.js";
6
- import "./chunk-5YLGNW2B.js";
5
+ } from "./chunk-AZPDIAG7.js";
6
+ import "./chunk-Q3TLK7O5.js";
7
7
  import "./chunk-PFBYGCOW.js";
8
- import "./chunk-EY65E4W4.js";
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-XIB66EG7.js";
49
+ } from "./chunk-XWMNGOD4.js";
50
50
  import "./chunk-BDQBOLYG.js";
51
- import "./chunk-NJQYWIDJ.js";
51
+ import "./chunk-G3PPBZQR.js";
52
52
  import "./chunk-GQGOWACU.js";
53
- import "./chunk-LJG44UT3.js";
54
- import "./chunk-AOP6RYDY.js";
55
- import "./chunk-5YLGNW2B.js";
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-H7RVLAQD.js";
61
+ } from "./chunk-VNZXDZRP.js";
62
62
  import {
63
63
  checkForUpdate,
64
64
  package_default
65
- } from "./chunk-FACWWYF7.js";
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-EY65E4W4.js";
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 useEffect7, useCallback as useCallback3, useRef as useRef3 } from "react";
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 useEffect5 } from "react";
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
- useEffect5(() => {
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 useEffect6 } from "react";
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
- useEffect6(() => {
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
- useEffect6(() => {
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
- logger.debug(
2824
- `[WS] WebSocket unavailable, using SSE fallback: ${wsError instanceof Error ? wsError.message : String(wsError)}`
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 { createSandboxRuntime } = await import("./SandboxRuntimeAdapter-FQ56MAB2.js");
2883
- const { SandboxOrchestrator } = await import("./SandboxOrchestrator-UIJ5GYBB.js");
2884
- const { DEFAULT_SANDBOX_CONFIG } = await import("./types-KB5NP6T4.js");
2885
- const { ProxyManager } = await import("./ProxyManager-HEB4TLVX.js");
2886
- const sandboxRuntime = await createSandboxRuntime();
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
- await mcpManager.initialize();
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
- useEffect7(() => {
3253
+ useEffect8(() => {
3194
3254
  init();
3195
3255
  }, [init]);
3196
3256
  const handleCustomCommandMessage = async (fullTemplate, displayMessage) => {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-EY65E4W4.js";
4
+ } from "./chunk-DF2SGZ6Z.js";
5
5
 
6
6
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/llmMarkdownGenerator.js
7
7
  var DEFAULT_OPTIONS = {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-EY65E4W4.js";
4
+ } from "./chunk-DF2SGZ6Z.js";
5
5
 
6
6
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/markdownGenerator.js
7
7
  var DEFAULT_OPTIONS = {
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  findMostSimilarMemento,
4
4
  getRelevantMementos
5
- } from "./chunk-NJQYWIDJ.js";
6
- import "./chunk-5YLGNW2B.js";
5
+ } from "./chunk-G3PPBZQR.js";
6
+ import "./chunk-Q3TLK7O5.js";
7
7
  import "./chunk-PFBYGCOW.js";
8
- import "./chunk-EY65E4W4.js";
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-EY65E4W4.js";
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-5YLGNW2B.js";
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-EY65E4W4.js";
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-LJG44UT3.js";
6
- import "./chunk-5YLGNW2B.js";
5
+ } from "./chunk-5V7IRWCZ.js";
6
+ import "./chunk-Q3TLK7O5.js";
7
7
  import "./chunk-PFBYGCOW.js";
8
- import "./chunk-EY65E4W4.js";
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.37",
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.0",
118
- "@bike4mind/mcp": "1.32.5",
119
- "@bike4mind/services": "2.54.1",
120
- "@bike4mind/utils": "2.11.0",
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": "474cb1d4152b065eb696701af0f8c20fb8daed57"
140
+ "gitHead": "f8dcf1ee7bb87ee38b6ce61bb780d566af00eea0"
139
141
  }