@bike4mind/cli 0.2.46-fix-empty-text-content-block.20674 → 0.2.46

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/index.js CHANGED
@@ -46,25 +46,25 @@ import {
46
46
  setWebSocketToolExecutor,
47
47
  substituteArguments,
48
48
  warmFileCache
49
- } from "./chunk-TIDADNEG.js";
49
+ } from "./chunk-L5HB4ALN.js";
50
50
  import "./chunk-BDQBOLYG.js";
51
- import "./chunk-NSSADS6L.js";
51
+ import "./chunk-U7ICJXHN.js";
52
52
  import "./chunk-GQGOWACU.js";
53
- import "./chunk-MSB2SJJN.js";
54
- import "./chunk-3ZQBWORW.js";
53
+ import "./chunk-HWVPH2ZP.js";
54
+ import "./chunk-CQNVZHKP.js";
55
55
  import {
56
56
  OllamaBackend
57
- } from "./chunk-4OFEAY5V.js";
57
+ } from "./chunk-ZRDMSXTB.js";
58
58
  import "./chunk-PFBYGCOW.js";
59
59
  import "./chunk-BPFEGDC7.js";
60
60
  import {
61
61
  ConfigStore,
62
62
  logger
63
- } from "./chunk-GBJZWQ4U.js";
63
+ } from "./chunk-VH2AMGCX.js";
64
64
  import {
65
65
  checkForUpdate,
66
66
  package_default
67
- } from "./chunk-ND3GQYII.js";
67
+ } from "./chunk-6F2ZYSKM.js";
68
68
  import {
69
69
  selectActiveBackgroundAgents,
70
70
  useCliStore
@@ -72,7 +72,7 @@ import {
72
72
  import {
73
73
  CREDIT_DEDUCT_TRANSACTION_TYPES,
74
74
  ChatModels
75
- } from "./chunk-LE6YGEIO.js";
75
+ } from "./chunk-JQVCPUOG.js";
76
76
  import "./chunk-4BIBE3J7.js";
77
77
 
78
78
  // src/index.tsx
@@ -2887,14 +2887,65 @@ function CliApp() {
2887
2887
  tokenGetter,
2888
2888
  wsCompletionUrl
2889
2889
  });
2890
+ wsManager.onAction("keep_command", async (message) => {
2891
+ const { commandType, params, requestId, originConnectionId } = message;
2892
+ let result;
2893
+ let success = true;
2894
+ let error;
2895
+ try {
2896
+ switch (commandType) {
2897
+ case "read_file": {
2898
+ const filePath = params.path;
2899
+ if (!filePath) throw new Error("Missing required param: path");
2900
+ logger.info(`[Keep] Reading file: ${filePath}`);
2901
+ const content = await fs.readFile(filePath, "utf-8");
2902
+ result = { content, path: filePath };
2903
+ break;
2904
+ }
2905
+ case "list_directory": {
2906
+ const dirPath = params.path || ".";
2907
+ logger.info(`[Keep] Listing directory: ${dirPath}`);
2908
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
2909
+ result = entries.map((e) => ({ name: e.name, isDirectory: e.isDirectory() }));
2910
+ break;
2911
+ }
2912
+ default:
2913
+ throw new Error(`Unknown command type: ${commandType}`);
2914
+ }
2915
+ } catch (err) {
2916
+ success = false;
2917
+ error = err instanceof Error ? err.message : String(err);
2918
+ }
2919
+ logger.info(
2920
+ `[Keep] Sending response: success=${success}, originConnectionId=${originConnectionId?.slice(0, 12)}..., resultSize=${JSON.stringify(result)?.length ?? 0}`
2921
+ );
2922
+ try {
2923
+ wsManager.send({
2924
+ action: "keep_command_response",
2925
+ requestId,
2926
+ originConnectionId,
2927
+ success,
2928
+ result,
2929
+ error
2930
+ });
2931
+ logger.info("[Keep] Response sent successfully");
2932
+ } catch (sendErr) {
2933
+ logger.info(
2934
+ `[Keep] Failed to send response: ${sendErr instanceof Error ? sendErr.message : String(sendErr)}`
2935
+ );
2936
+ }
2937
+ });
2890
2938
  logger.debug("\u{1F50C} Using WebSocket transport (bypasses CloudFront timeout)");
2891
2939
  } else {
2892
2940
  throw new Error("No websocketUrl or wsCompletionUrl in server config");
2893
2941
  }
2894
2942
  } catch (wsError) {
2895
- logger.debug(
2896
- `[WS] WebSocket unavailable, using SSE fallback: ${wsError instanceof Error ? wsError.message : String(wsError)}`
2943
+ console.error(
2944
+ `\u26A0\uFE0F WebSocket unavailable, using SSE fallback: ${wsError instanceof Error ? wsError.message : String(wsError)}`
2897
2945
  );
2946
+ if (wsError instanceof Error && wsError.stack) {
2947
+ console.error(wsError.stack);
2948
+ }
2898
2949
  wsManager = null;
2899
2950
  setWebSocketToolExecutor(null);
2900
2951
  llm = new ServerLlmBackend({
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-LE6YGEIO.js";
4
+ } from "./chunk-JQVCPUOG.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-LE6YGEIO.js";
4
+ } from "./chunk-JQVCPUOG.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-NSSADS6L.js";
6
- import "./chunk-4OFEAY5V.js";
5
+ } from "./chunk-U7ICJXHN.js";
6
+ import "./chunk-ZRDMSXTB.js";
7
7
  import "./chunk-PFBYGCOW.js";
8
- import "./chunk-LE6YGEIO.js";
8
+ import "./chunk-JQVCPUOG.js";
9
9
  export {
10
10
  findMostSimilarMemento,
11
11
  getRelevantMementos
@@ -143,7 +143,7 @@ import {
143
143
  validateUrlForFetch,
144
144
  warmUpSettingsCache,
145
145
  withRetry
146
- } from "./chunk-4OFEAY5V.js";
146
+ } from "./chunk-ZRDMSXTB.js";
147
147
  import {
148
148
  Logger,
149
149
  NotificationDeduplicator,
@@ -156,7 +156,7 @@ import {
156
156
  buildRateLimitLogEntry,
157
157
  isNearLimit,
158
158
  parseRateLimitHeaders
159
- } from "./chunk-LE6YGEIO.js";
159
+ } from "./chunk-JQVCPUOG.js";
160
160
  export {
161
161
  AIVideoService,
162
162
  AWSBackend,
@@ -147,8 +147,13 @@ import {
147
147
  InviteType,
148
148
  InvitesRefetchAction,
149
149
  JIRA_MAX_ATTACHMENT_SIZE,
150
+ JIRA_PROJECT_KEY_RE,
150
151
  JiraApi,
151
152
  JiraWebhookDeliveryStatus,
153
+ KeepCommandAction,
154
+ KeepCommandRequestAction,
155
+ KeepCommandResponseAction,
156
+ KeepCommandResultAction,
152
157
  KnowledgeType,
153
158
  LEGACY_IMAGE_MODEL_MAP,
154
159
  LIVEOPS_TRIAGE_RESULT_VALIDATION_LIMITS,
@@ -334,6 +339,9 @@ import {
334
339
  TagType,
335
340
  TaskScheduleHandler,
336
341
  TaskScheduleStatus,
342
+ TavernHeartbeatLogAction,
343
+ TavernSceneBroadcastAction,
344
+ TavernSceneCommandRequestAction,
337
345
  TextGenerationUsageTransaction,
338
346
  TokensBySourceSchema,
339
347
  ToolErrorCategorySchema,
@@ -465,6 +473,7 @@ import {
465
473
  isValidAnonymousSessionId,
466
474
  isValidEnumValue,
467
475
  isValidIssueKey,
476
+ isValidProjectKey,
468
477
  isVideoModel,
469
478
  matchesSearchQuery,
470
479
  mergeArtifactMetadata,
@@ -512,7 +521,7 @@ import {
512
521
  validateReactArtifactV2,
513
522
  validateSvgArtifactV2,
514
523
  wikiMarkupToAdf
515
- } from "./chunk-LE6YGEIO.js";
524
+ } from "./chunk-JQVCPUOG.js";
516
525
  export {
517
526
  ALERT_THRESHOLDS,
518
527
  ALL_IMAGE_MODELS,
@@ -662,8 +671,13 @@ export {
662
671
  InviteType,
663
672
  InvitesRefetchAction,
664
673
  JIRA_MAX_ATTACHMENT_SIZE,
674
+ JIRA_PROJECT_KEY_RE,
665
675
  JiraApi,
666
676
  JiraWebhookDeliveryStatus,
677
+ KeepCommandAction,
678
+ KeepCommandRequestAction,
679
+ KeepCommandResponseAction,
680
+ KeepCommandResultAction,
667
681
  KnowledgeType,
668
682
  LEGACY_IMAGE_MODEL_MAP,
669
683
  LIVEOPS_TRIAGE_RESULT_VALIDATION_LIMITS,
@@ -849,6 +863,9 @@ export {
849
863
  TagType,
850
864
  TaskScheduleHandler,
851
865
  TaskScheduleStatus,
866
+ TavernHeartbeatLogAction,
867
+ TavernSceneBroadcastAction,
868
+ TavernSceneCommandRequestAction,
852
869
  TextGenerationUsageTransaction,
853
870
  TokensBySourceSchema,
854
871
  ToolErrorCategorySchema,
@@ -981,6 +998,7 @@ export {
981
998
  isValidAnonymousSessionId,
982
999
  isValidEnumValue,
983
1000
  isValidIssueKey,
1001
+ isValidProjectKey,
984
1002
  isVideoModel,
985
1003
  matchesSearchQuery,
986
1004
  mergeArtifactMetadata,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  SubtractCreditsSchema,
4
4
  subtractCredits
5
- } from "./chunk-MSB2SJJN.js";
6
- import "./chunk-4OFEAY5V.js";
5
+ } from "./chunk-HWVPH2ZP.js";
6
+ import "./chunk-ZRDMSXTB.js";
7
7
  import "./chunk-PFBYGCOW.js";
8
- import "./chunk-LE6YGEIO.js";
8
+ import "./chunk-JQVCPUOG.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.46-fix-empty-text-content-block.20674+b27597f82",
3
+ "version": "0.2.46",
4
4
  "type": "module",
5
5
  "description": "Interactive CLI tool for Bike4Mind with ReAct agents",
6
6
  "license": "UNLICENSED",
@@ -106,6 +106,7 @@
106
106
  "uuid": "^9.0.1",
107
107
  "voyageai": "^0.0.4",
108
108
  "web-tree-sitter": "0.25.10",
109
+ "ws": "^8.19.0",
109
110
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
110
111
  "yargs": "^17.7.2",
111
112
  "yauzl": "^3.1.3",
@@ -115,10 +116,10 @@
115
116
  },
116
117
  "devDependencies": {
117
118
  "@bike4mind/agents": "0.1.0",
118
- "@bike4mind/common": "2.64.2-fix-empty-text-content-block.20674+b27597f82",
119
- "@bike4mind/mcp": "1.33.8-fix-empty-text-content-block.20674+b27597f82",
120
- "@bike4mind/services": "2.60.2-fix-empty-text-content-block.20674+b27597f82",
121
- "@bike4mind/utils": "2.15.1-fix-empty-text-content-block.20674+b27597f82",
119
+ "@bike4mind/common": "2.65.0",
120
+ "@bike4mind/mcp": "1.33.8",
121
+ "@bike4mind/services": "2.61.0",
122
+ "@bike4mind/utils": "2.15.1",
122
123
  "@types/better-sqlite3": "^7.6.13",
123
124
  "@types/diff": "^5.0.9",
124
125
  "@types/jsonwebtoken": "^9.0.4",
@@ -126,6 +127,7 @@
126
127
  "@types/picomatch": "^4.0.2",
127
128
  "@types/react": "^19.2.7",
128
129
  "@types/uuid": "^9.0.7",
130
+ "@types/ws": "^8.18.1",
129
131
  "@types/yargs": "^17.0.32",
130
132
  "ink-testing-library": "^4.0.0",
131
133
  "tsup": "^8.5.1",
@@ -136,5 +138,5 @@
136
138
  "optionalDependencies": {
137
139
  "@vscode/ripgrep": "^1.17.0"
138
140
  },
139
- "gitHead": "b27597f8244b0b1cfc23e74d63d93d9b20b9dfa8"
141
+ "gitHead": "6410ccf4787a000d66def75780d8c01ff4b32c05"
140
142
  }