byterover-cli 3.0.1 → 3.1.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.
Files changed (73) hide show
  1. package/dist/agent/core/domain/tools/constants.d.ts +1 -0
  2. package/dist/agent/core/domain/tools/constants.js +1 -0
  3. package/dist/agent/core/interfaces/cipher-services.d.ts +8 -0
  4. package/dist/agent/core/interfaces/i-cipher-agent.d.ts +1 -0
  5. package/dist/agent/infra/agent/agent-error-codes.d.ts +0 -1
  6. package/dist/agent/infra/agent/agent-error-codes.js +0 -1
  7. package/dist/agent/infra/agent/agent-error.d.ts +0 -1
  8. package/dist/agent/infra/agent/agent-error.js +0 -1
  9. package/dist/agent/infra/agent/agent-state-manager.d.ts +1 -3
  10. package/dist/agent/infra/agent/agent-state-manager.js +1 -3
  11. package/dist/agent/infra/agent/base-agent.d.ts +1 -1
  12. package/dist/agent/infra/agent/base-agent.js +1 -1
  13. package/dist/agent/infra/agent/cipher-agent.d.ts +15 -1
  14. package/dist/agent/infra/agent/cipher-agent.js +188 -3
  15. package/dist/agent/infra/agent/index.d.ts +1 -1
  16. package/dist/agent/infra/agent/index.js +1 -1
  17. package/dist/agent/infra/agent/service-initializer.d.ts +3 -3
  18. package/dist/agent/infra/agent/service-initializer.js +14 -8
  19. package/dist/agent/infra/agent/types.d.ts +0 -1
  20. package/dist/agent/infra/file-system/file-system-service.js +6 -5
  21. package/dist/agent/infra/folder-pack/folder-pack-service.d.ts +1 -0
  22. package/dist/agent/infra/folder-pack/folder-pack-service.js +29 -15
  23. package/dist/agent/infra/llm/providers/openai.js +12 -0
  24. package/dist/agent/infra/llm/stream-to-text.d.ts +7 -0
  25. package/dist/agent/infra/llm/stream-to-text.js +14 -0
  26. package/dist/agent/infra/map/abstract-generator.d.ts +22 -0
  27. package/dist/agent/infra/map/abstract-generator.js +67 -0
  28. package/dist/agent/infra/map/abstract-queue.d.ts +67 -0
  29. package/dist/agent/infra/map/abstract-queue.js +218 -0
  30. package/dist/agent/infra/memory/memory-deduplicator.d.ts +44 -0
  31. package/dist/agent/infra/memory/memory-deduplicator.js +88 -0
  32. package/dist/agent/infra/memory/memory-manager.d.ts +1 -0
  33. package/dist/agent/infra/memory/memory-manager.js +6 -5
  34. package/dist/agent/infra/sandbox/curate-service.d.ts +4 -2
  35. package/dist/agent/infra/sandbox/curate-service.js +6 -7
  36. package/dist/agent/infra/sandbox/local-sandbox.d.ts +5 -0
  37. package/dist/agent/infra/sandbox/local-sandbox.js +57 -1
  38. package/dist/agent/infra/sandbox/tools-sdk.d.ts +3 -1
  39. package/dist/agent/infra/session/session-compressor.d.ts +43 -0
  40. package/dist/agent/infra/session/session-compressor.js +296 -0
  41. package/dist/agent/infra/session/session-manager.d.ts +7 -0
  42. package/dist/agent/infra/session/session-manager.js +9 -0
  43. package/dist/agent/infra/tools/implementations/curate-tool.d.ts +3 -2
  44. package/dist/agent/infra/tools/implementations/curate-tool.js +54 -27
  45. package/dist/agent/infra/tools/implementations/expand-knowledge-tool.d.ts +3 -3
  46. package/dist/agent/infra/tools/implementations/expand-knowledge-tool.js +34 -7
  47. package/dist/agent/infra/tools/implementations/ingest-resource-tool.d.ts +17 -0
  48. package/dist/agent/infra/tools/implementations/ingest-resource-tool.js +224 -0
  49. package/dist/agent/infra/tools/implementations/memory-symbol-tree.d.ts +8 -0
  50. package/dist/agent/infra/tools/implementations/search-knowledge-service.d.ts +1 -1
  51. package/dist/agent/infra/tools/implementations/search-knowledge-service.js +207 -34
  52. package/dist/agent/infra/tools/implementations/search-knowledge-tool.js +2 -2
  53. package/dist/agent/infra/tools/tool-provider.js +1 -0
  54. package/dist/agent/infra/tools/tool-registry.d.ts +3 -0
  55. package/dist/agent/infra/tools/tool-registry.js +15 -4
  56. package/dist/server/constants.d.ts +2 -0
  57. package/dist/server/constants.js +2 -0
  58. package/dist/server/core/domain/knowledge/memory-scoring.d.ts +3 -3
  59. package/dist/server/core/domain/knowledge/memory-scoring.js +5 -5
  60. package/dist/server/core/domain/knowledge/summary-types.d.ts +4 -0
  61. package/dist/server/core/domain/transport/schemas.d.ts +10 -10
  62. package/dist/server/infra/context-tree/derived-artifact.js +5 -1
  63. package/dist/server/infra/context-tree/file-context-tree-manifest-service.d.ts +2 -1
  64. package/dist/server/infra/context-tree/file-context-tree-manifest-service.js +43 -7
  65. package/dist/server/infra/context-tree/file-context-tree-summary-service.js +20 -2
  66. package/dist/server/infra/executor/curate-executor.js +2 -1
  67. package/dist/server/infra/executor/folder-pack-executor.js +72 -2
  68. package/dist/server/infra/executor/query-executor.js +11 -3
  69. package/dist/server/infra/transport/handlers/status-handler.js +10 -0
  70. package/dist/server/utils/curate-result-parser.d.ts +4 -4
  71. package/dist/shared/transport/types/dto.d.ts +7 -0
  72. package/oclif.manifest.json +160 -160
  73. package/package.json +10 -4
@@ -1117,47 +1117,33 @@
1117
1117
  "switch.js"
1118
1118
  ]
1119
1119
  },
1120
- "providers:connect": {
1120
+ "review:approve": {
1121
1121
  "aliases": [],
1122
1122
  "args": {
1123
- "provider": {
1124
- "description": "Provider ID to connect (e.g., anthropic, openai, openrouter). Omit for interactive selection.",
1125
- "name": "provider",
1126
- "required": false
1123
+ "taskId": {
1124
+ "description": "Task ID shown in the curate output (e.g. \"brv review approve abc-123\")",
1125
+ "name": "taskId",
1126
+ "required": true
1127
1127
  }
1128
1128
  },
1129
- "description": "Connect or switch to an LLM provider",
1129
+ "description": "Approve pending review operations for a curate task",
1130
1130
  "examples": [
1131
- "<%= config.bin %> providers connect",
1132
- "<%= config.bin %> providers connect anthropic --api-key sk-xxx",
1133
- "<%= config.bin %> providers connect openai --oauth",
1134
- "<%= config.bin %> providers connect byterover",
1135
- "<%= config.bin %> providers connect openai-compatible --base-url http://localhost:11434/v1 --api-key sk-xxx"
1131
+ "# Approve all pending changes from a curate task",
1132
+ "<%= config.bin %> review approve abc-123",
1133
+ "",
1134
+ "# Approve specific files",
1135
+ "<%= config.bin %> review approve abc-123 --file architecture/security/audit.md",
1136
+ "<%= config.bin %> review approve abc-123 --file auth/jwt.md --file auth/oauth.md",
1137
+ "",
1138
+ "# Approve and get structured output (useful for coding agents)",
1139
+ "<%= config.bin %> review approve abc-123 --format json"
1136
1140
  ],
1137
1141
  "flags": {
1138
- "api-key": {
1139
- "char": "k",
1140
- "description": "API key for the provider",
1141
- "name": "api-key",
1142
- "hasDynamicHelp": false,
1143
- "multiple": false,
1144
- "type": "option"
1145
- },
1146
- "base-url": {
1147
- "char": "b",
1148
- "description": "Base URL for OpenAI-compatible providers (e.g., http://localhost:11434/v1)",
1149
- "name": "base-url",
1150
- "hasDynamicHelp": false,
1151
- "multiple": false,
1152
- "type": "option"
1153
- },
1154
- "code": {
1155
- "char": "c",
1156
- "description": "Authorization code for code-paste OAuth providers (e.g., Anthropic). Not applicable to browser-callback providers like OpenAI — use --oauth without --code instead.",
1157
- "hidden": true,
1158
- "name": "code",
1142
+ "file": {
1143
+ "description": "Approve only the specified file path(s) (relative to context tree)",
1144
+ "name": "file",
1159
1145
  "hasDynamicHelp": false,
1160
- "multiple": false,
1146
+ "multiple": true,
1161
1147
  "type": "option"
1162
1148
  },
1163
1149
  "format": {
@@ -1171,25 +1157,11 @@
1171
1157
  "json"
1172
1158
  ],
1173
1159
  "type": "option"
1174
- },
1175
- "model": {
1176
- "char": "m",
1177
- "description": "Model to set as active after connecting",
1178
- "name": "model",
1179
- "hasDynamicHelp": false,
1180
- "multiple": false,
1181
- "type": "option"
1182
- },
1183
- "oauth": {
1184
- "description": "Connect via OAuth (browser-based)",
1185
- "name": "oauth",
1186
- "allowNo": false,
1187
- "type": "boolean"
1188
1160
  }
1189
1161
  },
1190
1162
  "hasDynamicHelp": false,
1191
1163
  "hiddenAliases": [],
1192
- "id": "providers:connect",
1164
+ "id": "review:approve",
1193
1165
  "pluginAlias": "byterover-cli",
1194
1166
  "pluginName": "byterover-cli",
1195
1167
  "pluginType": "core",
@@ -1200,25 +1172,25 @@
1200
1172
  "dist",
1201
1173
  "oclif",
1202
1174
  "commands",
1203
- "providers",
1204
- "connect.js"
1175
+ "review",
1176
+ "approve.js"
1205
1177
  ]
1206
1178
  },
1207
- "providers:disconnect": {
1179
+ "review:base-review-decision": {
1208
1180
  "aliases": [],
1209
1181
  "args": {
1210
- "provider": {
1211
- "description": "Provider ID to disconnect",
1212
- "name": "provider",
1182
+ "taskId": {
1183
+ "name": "taskId",
1213
1184
  "required": true
1214
1185
  }
1215
1186
  },
1216
- "description": "Disconnect an LLM provider",
1217
- "examples": [
1218
- "<%= config.bin %> providers disconnect anthropic",
1219
- "<%= config.bin %> providers disconnect openai --format json"
1220
- ],
1221
1187
  "flags": {
1188
+ "file": {
1189
+ "name": "file",
1190
+ "hasDynamicHelp": false,
1191
+ "multiple": true,
1192
+ "type": "option"
1193
+ },
1222
1194
  "format": {
1223
1195
  "description": "Output format (text or json)",
1224
1196
  "name": "format",
@@ -1234,7 +1206,7 @@
1234
1206
  },
1235
1207
  "hasDynamicHelp": false,
1236
1208
  "hiddenAliases": [],
1237
- "id": "providers:disconnect",
1209
+ "id": "review:base-review-decision",
1238
1210
  "pluginAlias": "byterover-cli",
1239
1211
  "pluginName": "byterover-cli",
1240
1212
  "pluginType": "core",
@@ -1245,17 +1217,20 @@
1245
1217
  "dist",
1246
1218
  "oclif",
1247
1219
  "commands",
1248
- "providers",
1249
- "disconnect.js"
1220
+ "review",
1221
+ "base-review-decision.js"
1250
1222
  ]
1251
1223
  },
1252
- "providers": {
1224
+ "review:pending": {
1253
1225
  "aliases": [],
1254
1226
  "args": {},
1255
- "description": "Show active provider and model",
1227
+ "description": "List all pending review operations for the current project",
1256
1228
  "examples": [
1257
- "<%= config.bin %> providers",
1258
- "<%= config.bin %> providers --format json"
1229
+ "# Show all pending reviews",
1230
+ "<%= config.bin %> review pending",
1231
+ "",
1232
+ "# Get structured output for agent-driven workflows",
1233
+ "<%= config.bin %> review pending --format json"
1259
1234
  ],
1260
1235
  "flags": {
1261
1236
  "format": {
@@ -1273,7 +1248,7 @@
1273
1248
  },
1274
1249
  "hasDynamicHelp": false,
1275
1250
  "hiddenAliases": [],
1276
- "id": "providers",
1251
+ "id": "review:pending",
1277
1252
  "pluginAlias": "byterover-cli",
1278
1253
  "pluginName": "byterover-cli",
1279
1254
  "pluginType": "core",
@@ -1284,19 +1259,39 @@
1284
1259
  "dist",
1285
1260
  "oclif",
1286
1261
  "commands",
1287
- "providers",
1288
- "index.js"
1262
+ "review",
1263
+ "pending.js"
1289
1264
  ]
1290
1265
  },
1291
- "providers:list": {
1266
+ "review:reject": {
1292
1267
  "aliases": [],
1293
- "args": {},
1294
- "description": "List all available providers and their connection status",
1268
+ "args": {
1269
+ "taskId": {
1270
+ "description": "Task ID shown in the curate output (e.g. \"brv review reject abc-123\")",
1271
+ "name": "taskId",
1272
+ "required": true
1273
+ }
1274
+ },
1275
+ "description": "Reject pending review operations for a curate task (restores files from backup)",
1295
1276
  "examples": [
1296
- "<%= config.bin %> providers list",
1297
- "<%= config.bin %> providers list --format json"
1277
+ "# Reject all pending changes from a curate task",
1278
+ "<%= config.bin %> review reject abc-123",
1279
+ "",
1280
+ "# Reject specific files",
1281
+ "<%= config.bin %> review reject abc-123 --file architecture/security/audit.md",
1282
+ "<%= config.bin %> review reject abc-123 --file auth/jwt.md --file auth/oauth.md",
1283
+ "",
1284
+ "# Reject and get structured output (useful for coding agents)",
1285
+ "<%= config.bin %> review reject abc-123 --format json"
1298
1286
  ],
1299
1287
  "flags": {
1288
+ "file": {
1289
+ "description": "Reject only the specified file path(s) (relative to context tree)",
1290
+ "name": "file",
1291
+ "hasDynamicHelp": false,
1292
+ "multiple": true,
1293
+ "type": "option"
1294
+ },
1300
1295
  "format": {
1301
1296
  "description": "Output format (text or json)",
1302
1297
  "name": "format",
@@ -1312,7 +1307,7 @@
1312
1307
  },
1313
1308
  "hasDynamicHelp": false,
1314
1309
  "hiddenAliases": [],
1315
- "id": "providers:list",
1310
+ "id": "review:reject",
1316
1311
  "pluginAlias": "byterover-cli",
1317
1312
  "pluginName": "byterover-cli",
1318
1313
  "pluginType": "core",
@@ -1323,25 +1318,53 @@
1323
1318
  "dist",
1324
1319
  "oclif",
1325
1320
  "commands",
1326
- "providers",
1327
- "list.js"
1321
+ "review",
1322
+ "reject.js"
1328
1323
  ]
1329
1324
  },
1330
- "providers:switch": {
1325
+ "providers:connect": {
1331
1326
  "aliases": [],
1332
1327
  "args": {
1333
1328
  "provider": {
1334
- "description": "Provider ID to switch to (e.g., anthropic, openai)",
1329
+ "description": "Provider ID to connect (e.g., anthropic, openai, openrouter). Omit for interactive selection.",
1335
1330
  "name": "provider",
1336
- "required": true
1331
+ "required": false
1337
1332
  }
1338
1333
  },
1339
- "description": "Switch the active provider",
1334
+ "description": "Connect or switch to an LLM provider",
1340
1335
  "examples": [
1341
- "<%= config.bin %> providers switch anthropic",
1342
- "<%= config.bin %> providers switch openai --format json"
1336
+ "<%= config.bin %> providers connect",
1337
+ "<%= config.bin %> providers connect anthropic --api-key sk-xxx",
1338
+ "<%= config.bin %> providers connect openai --oauth",
1339
+ "<%= config.bin %> providers connect byterover",
1340
+ "<%= config.bin %> providers connect openai-compatible --base-url http://localhost:11434/v1 --api-key sk-xxx"
1343
1341
  ],
1344
1342
  "flags": {
1343
+ "api-key": {
1344
+ "char": "k",
1345
+ "description": "API key for the provider",
1346
+ "name": "api-key",
1347
+ "hasDynamicHelp": false,
1348
+ "multiple": false,
1349
+ "type": "option"
1350
+ },
1351
+ "base-url": {
1352
+ "char": "b",
1353
+ "description": "Base URL for OpenAI-compatible providers (e.g., http://localhost:11434/v1)",
1354
+ "name": "base-url",
1355
+ "hasDynamicHelp": false,
1356
+ "multiple": false,
1357
+ "type": "option"
1358
+ },
1359
+ "code": {
1360
+ "char": "c",
1361
+ "description": "Authorization code for code-paste OAuth providers (e.g., Anthropic). Not applicable to browser-callback providers like OpenAI — use --oauth without --code instead.",
1362
+ "hidden": true,
1363
+ "name": "code",
1364
+ "hasDynamicHelp": false,
1365
+ "multiple": false,
1366
+ "type": "option"
1367
+ },
1345
1368
  "format": {
1346
1369
  "description": "Output format (text or json)",
1347
1370
  "name": "format",
@@ -1353,11 +1376,25 @@
1353
1376
  "json"
1354
1377
  ],
1355
1378
  "type": "option"
1379
+ },
1380
+ "model": {
1381
+ "char": "m",
1382
+ "description": "Model to set as active after connecting",
1383
+ "name": "model",
1384
+ "hasDynamicHelp": false,
1385
+ "multiple": false,
1386
+ "type": "option"
1387
+ },
1388
+ "oauth": {
1389
+ "description": "Connect via OAuth (browser-based)",
1390
+ "name": "oauth",
1391
+ "allowNo": false,
1392
+ "type": "boolean"
1356
1393
  }
1357
1394
  },
1358
1395
  "hasDynamicHelp": false,
1359
1396
  "hiddenAliases": [],
1360
- "id": "providers:switch",
1397
+ "id": "providers:connect",
1361
1398
  "pluginAlias": "byterover-cli",
1362
1399
  "pluginName": "byterover-cli",
1363
1400
  "pluginType": "core",
@@ -1369,38 +1406,24 @@
1369
1406
  "oclif",
1370
1407
  "commands",
1371
1408
  "providers",
1372
- "switch.js"
1409
+ "connect.js"
1373
1410
  ]
1374
1411
  },
1375
- "review:approve": {
1412
+ "providers:disconnect": {
1376
1413
  "aliases": [],
1377
1414
  "args": {
1378
- "taskId": {
1379
- "description": "Task ID shown in the curate output (e.g. \"brv review approve abc-123\")",
1380
- "name": "taskId",
1415
+ "provider": {
1416
+ "description": "Provider ID to disconnect",
1417
+ "name": "provider",
1381
1418
  "required": true
1382
1419
  }
1383
1420
  },
1384
- "description": "Approve pending review operations for a curate task",
1421
+ "description": "Disconnect an LLM provider",
1385
1422
  "examples": [
1386
- "# Approve all pending changes from a curate task",
1387
- "<%= config.bin %> review approve abc-123",
1388
- "",
1389
- "# Approve specific files",
1390
- "<%= config.bin %> review approve abc-123 --file architecture/security/audit.md",
1391
- "<%= config.bin %> review approve abc-123 --file auth/jwt.md --file auth/oauth.md",
1392
- "",
1393
- "# Approve and get structured output (useful for coding agents)",
1394
- "<%= config.bin %> review approve abc-123 --format json"
1423
+ "<%= config.bin %> providers disconnect anthropic",
1424
+ "<%= config.bin %> providers disconnect openai --format json"
1395
1425
  ],
1396
1426
  "flags": {
1397
- "file": {
1398
- "description": "Approve only the specified file path(s) (relative to context tree)",
1399
- "name": "file",
1400
- "hasDynamicHelp": false,
1401
- "multiple": true,
1402
- "type": "option"
1403
- },
1404
1427
  "format": {
1405
1428
  "description": "Output format (text or json)",
1406
1429
  "name": "format",
@@ -1416,7 +1439,7 @@
1416
1439
  },
1417
1440
  "hasDynamicHelp": false,
1418
1441
  "hiddenAliases": [],
1419
- "id": "review:approve",
1442
+ "id": "providers:disconnect",
1420
1443
  "pluginAlias": "byterover-cli",
1421
1444
  "pluginName": "byterover-cli",
1422
1445
  "pluginType": "core",
@@ -1427,25 +1450,19 @@
1427
1450
  "dist",
1428
1451
  "oclif",
1429
1452
  "commands",
1430
- "review",
1431
- "approve.js"
1453
+ "providers",
1454
+ "disconnect.js"
1432
1455
  ]
1433
1456
  },
1434
- "review:base-review-decision": {
1457
+ "providers": {
1435
1458
  "aliases": [],
1436
- "args": {
1437
- "taskId": {
1438
- "name": "taskId",
1439
- "required": true
1440
- }
1441
- },
1459
+ "args": {},
1460
+ "description": "Show active provider and model",
1461
+ "examples": [
1462
+ "<%= config.bin %> providers",
1463
+ "<%= config.bin %> providers --format json"
1464
+ ],
1442
1465
  "flags": {
1443
- "file": {
1444
- "name": "file",
1445
- "hasDynamicHelp": false,
1446
- "multiple": true,
1447
- "type": "option"
1448
- },
1449
1466
  "format": {
1450
1467
  "description": "Output format (text or json)",
1451
1468
  "name": "format",
@@ -1461,7 +1478,7 @@
1461
1478
  },
1462
1479
  "hasDynamicHelp": false,
1463
1480
  "hiddenAliases": [],
1464
- "id": "review:base-review-decision",
1481
+ "id": "providers",
1465
1482
  "pluginAlias": "byterover-cli",
1466
1483
  "pluginName": "byterover-cli",
1467
1484
  "pluginType": "core",
@@ -1472,20 +1489,17 @@
1472
1489
  "dist",
1473
1490
  "oclif",
1474
1491
  "commands",
1475
- "review",
1476
- "base-review-decision.js"
1492
+ "providers",
1493
+ "index.js"
1477
1494
  ]
1478
1495
  },
1479
- "review:pending": {
1496
+ "providers:list": {
1480
1497
  "aliases": [],
1481
1498
  "args": {},
1482
- "description": "List all pending review operations for the current project",
1499
+ "description": "List all available providers and their connection status",
1483
1500
  "examples": [
1484
- "# Show all pending reviews",
1485
- "<%= config.bin %> review pending",
1486
- "",
1487
- "# Get structured output for agent-driven workflows",
1488
- "<%= config.bin %> review pending --format json"
1501
+ "<%= config.bin %> providers list",
1502
+ "<%= config.bin %> providers list --format json"
1489
1503
  ],
1490
1504
  "flags": {
1491
1505
  "format": {
@@ -1503,7 +1517,7 @@
1503
1517
  },
1504
1518
  "hasDynamicHelp": false,
1505
1519
  "hiddenAliases": [],
1506
- "id": "review:pending",
1520
+ "id": "providers:list",
1507
1521
  "pluginAlias": "byterover-cli",
1508
1522
  "pluginName": "byterover-cli",
1509
1523
  "pluginType": "core",
@@ -1514,39 +1528,25 @@
1514
1528
  "dist",
1515
1529
  "oclif",
1516
1530
  "commands",
1517
- "review",
1518
- "pending.js"
1531
+ "providers",
1532
+ "list.js"
1519
1533
  ]
1520
1534
  },
1521
- "review:reject": {
1535
+ "providers:switch": {
1522
1536
  "aliases": [],
1523
1537
  "args": {
1524
- "taskId": {
1525
- "description": "Task ID shown in the curate output (e.g. \"brv review reject abc-123\")",
1526
- "name": "taskId",
1538
+ "provider": {
1539
+ "description": "Provider ID to switch to (e.g., anthropic, openai)",
1540
+ "name": "provider",
1527
1541
  "required": true
1528
1542
  }
1529
1543
  },
1530
- "description": "Reject pending review operations for a curate task (restores files from backup)",
1544
+ "description": "Switch the active provider",
1531
1545
  "examples": [
1532
- "# Reject all pending changes from a curate task",
1533
- "<%= config.bin %> review reject abc-123",
1534
- "",
1535
- "# Reject specific files",
1536
- "<%= config.bin %> review reject abc-123 --file architecture/security/audit.md",
1537
- "<%= config.bin %> review reject abc-123 --file auth/jwt.md --file auth/oauth.md",
1538
- "",
1539
- "# Reject and get structured output (useful for coding agents)",
1540
- "<%= config.bin %> review reject abc-123 --format json"
1546
+ "<%= config.bin %> providers switch anthropic",
1547
+ "<%= config.bin %> providers switch openai --format json"
1541
1548
  ],
1542
1549
  "flags": {
1543
- "file": {
1544
- "description": "Reject only the specified file path(s) (relative to context tree)",
1545
- "name": "file",
1546
- "hasDynamicHelp": false,
1547
- "multiple": true,
1548
- "type": "option"
1549
- },
1550
1550
  "format": {
1551
1551
  "description": "Output format (text or json)",
1552
1552
  "name": "format",
@@ -1562,7 +1562,7 @@
1562
1562
  },
1563
1563
  "hasDynamicHelp": false,
1564
1564
  "hiddenAliases": [],
1565
- "id": "review:reject",
1565
+ "id": "providers:switch",
1566
1566
  "pluginAlias": "byterover-cli",
1567
1567
  "pluginName": "byterover-cli",
1568
1568
  "pluginType": "core",
@@ -1573,8 +1573,8 @@
1573
1573
  "dist",
1574
1574
  "oclif",
1575
1575
  "commands",
1576
- "review",
1577
- "reject.js"
1576
+ "providers",
1577
+ "switch.js"
1578
1578
  ]
1579
1579
  },
1580
1580
  "space:list": {
@@ -2556,5 +2556,5 @@
2556
2556
  ]
2557
2557
  }
2558
2558
  },
2559
- "version": "3.0.1"
2559
+ "version": "3.1.0"
2560
2560
  }
package/package.json CHANGED
@@ -2,11 +2,17 @@
2
2
  "name": "byterover-cli",
3
3
  "description": "ByteRover's CLI",
4
4
  "keywords": [
5
- "cli", "ai", "llm", "mcp", "developer-tools",
6
- "context-memory", "autonomous-agents", "coding-assistant",
5
+ "cli",
6
+ "ai",
7
+ "llm",
8
+ "mcp",
9
+ "developer-tools",
10
+ "context-memory",
11
+ "autonomous-agents",
12
+ "coding-assistant",
7
13
  "knowledge-management"
8
14
  ],
9
- "version": "3.0.1",
15
+ "version": "3.1.0",
10
16
  "author": "ByteRover",
11
17
  "bin": {
12
18
  "brv": "./bin/run.js"
@@ -103,7 +109,7 @@
103
109
  "expect-type": "^1.2.2",
104
110
  "husky": "^9.1.7",
105
111
  "lint-staged": "^16.3.1",
106
- "mocha": "^10",
112
+ "mocha": "10.8.2",
107
113
  "nock": "^14.0.10",
108
114
  "oclif": "^4",
109
115
  "pdfkit": "^0.17.2",