byterover-cli 3.6.1 → 3.7.1

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/core/interfaces/cipher-services.d.ts +7 -0
  3. package/dist/agent/infra/agent/cipher-agent.js +4 -2
  4. package/dist/agent/infra/agent/service-initializer.js +28 -14
  5. package/dist/agent/infra/sandbox/curate-service.d.ts +4 -2
  6. package/dist/agent/infra/sandbox/curate-service.js +6 -4
  7. package/dist/agent/infra/tools/implementations/curate-tool.d.ts +4 -2
  8. package/dist/agent/infra/tools/implementations/curate-tool.js +169 -25
  9. package/dist/agent/infra/tools/implementations/expand-knowledge-tool.d.ts +2 -0
  10. package/dist/agent/infra/tools/implementations/expand-knowledge-tool.js +1 -1
  11. package/dist/agent/infra/tools/implementations/memory-symbol-tree.d.ts +0 -8
  12. package/dist/agent/infra/tools/implementations/memory-symbol-tree.js +3 -15
  13. package/dist/agent/infra/tools/implementations/search-knowledge-service.d.ts +49 -4
  14. package/dist/agent/infra/tools/implementations/search-knowledge-service.js +123 -53
  15. package/dist/agent/infra/tools/implementations/search-knowledge-tool.d.ts +2 -0
  16. package/dist/agent/infra/tools/tool-provider.js +1 -0
  17. package/dist/agent/infra/tools/tool-registry.d.ts +7 -0
  18. package/dist/agent/infra/tools/tool-registry.js +13 -6
  19. package/dist/oclif/commands/dream.d.ts +4 -0
  20. package/dist/oclif/commands/dream.js +31 -13
  21. package/dist/server/constants.d.ts +1 -1
  22. package/dist/server/constants.js +20 -1
  23. package/dist/server/core/domain/knowledge/markdown-writer.d.ts +12 -42
  24. package/dist/server/core/domain/knowledge/markdown-writer.js +55 -96
  25. package/dist/server/core/domain/knowledge/memory-scoring.d.ts +18 -37
  26. package/dist/server/core/domain/knowledge/memory-scoring.js +36 -85
  27. package/dist/server/core/domain/knowledge/runtime-signals-schema.d.ts +59 -0
  28. package/dist/server/core/domain/knowledge/runtime-signals-schema.js +46 -0
  29. package/dist/server/core/domain/knowledge/sidecar-logging.d.ts +14 -0
  30. package/dist/server/core/domain/knowledge/sidecar-logging.js +18 -0
  31. package/dist/server/core/interfaces/storage/i-runtime-signal-store.d.ts +111 -0
  32. package/dist/server/core/interfaces/storage/i-runtime-signal-store.js +38 -0
  33. package/dist/server/infra/context-tree/file-context-tree-archive-service.d.ts +16 -6
  34. package/dist/server/infra/context-tree/file-context-tree-archive-service.js +91 -32
  35. package/dist/server/infra/context-tree/file-context-tree-manifest-service.d.ts +14 -0
  36. package/dist/server/infra/context-tree/file-context-tree-manifest-service.js +20 -7
  37. package/dist/server/infra/context-tree/runtime-signal-store.d.ts +46 -0
  38. package/dist/server/infra/context-tree/runtime-signal-store.js +118 -0
  39. package/dist/server/infra/daemon/agent-process.js +25 -4
  40. package/dist/server/infra/dream/operations/consolidate.d.ts +17 -0
  41. package/dist/server/infra/dream/operations/consolidate.js +40 -19
  42. package/dist/server/infra/dream/operations/prune.d.ts +18 -0
  43. package/dist/server/infra/dream/operations/prune.js +31 -20
  44. package/dist/server/infra/dream/operations/synthesize.d.ts +13 -0
  45. package/dist/server/infra/dream/operations/synthesize.js +15 -3
  46. package/dist/server/infra/executor/dream-executor.d.ts +8 -0
  47. package/dist/server/infra/executor/dream-executor.js +3 -0
  48. package/dist/server/templates/skill/SKILL.md +79 -22
  49. package/oclif.manifest.json +429 -429
  50. package/package.json +1 -1
@@ -1296,6 +1296,181 @@
1296
1296
  "switch.js"
1297
1297
  ]
1298
1298
  },
1299
+ "query-log:summary": {
1300
+ "aliases": [],
1301
+ "args": {},
1302
+ "description": "View aggregated query recall metrics (coverage, cache hit rate, top topics)",
1303
+ "examples": [
1304
+ "<%= config.bin %> <%= command.id %>",
1305
+ "<%= config.bin %> <%= command.id %> --last 24h",
1306
+ "<%= config.bin %> <%= command.id %> --last 7d",
1307
+ "<%= config.bin %> <%= command.id %> --last 30d",
1308
+ "<%= config.bin %> <%= command.id %> --format json",
1309
+ "<%= config.bin %> <%= command.id %> --format narrative",
1310
+ "<%= config.bin %> <%= command.id %> --since 2026-04-01 --before 2026-04-03"
1311
+ ],
1312
+ "flags": {
1313
+ "before": {
1314
+ "description": "Entries before (ISO date or relative: 1h, 24h, 7d, 2w)",
1315
+ "name": "before",
1316
+ "hasDynamicHelp": false,
1317
+ "multiple": false,
1318
+ "type": "option"
1319
+ },
1320
+ "format": {
1321
+ "description": "Output format",
1322
+ "name": "format",
1323
+ "default": "text",
1324
+ "hasDynamicHelp": false,
1325
+ "multiple": false,
1326
+ "options": [
1327
+ "text",
1328
+ "json",
1329
+ "narrative"
1330
+ ],
1331
+ "type": "option"
1332
+ },
1333
+ "last": {
1334
+ "description": "Relative time window (e.g., 1h, 24h, 7d, 30d). Default: 24h. Takes precedence over --since.",
1335
+ "name": "last",
1336
+ "hasDynamicHelp": false,
1337
+ "multiple": false,
1338
+ "type": "option"
1339
+ },
1340
+ "since": {
1341
+ "description": "Entries after (ISO date or relative: 1h, 24h, 7d, 2w)",
1342
+ "name": "since",
1343
+ "hasDynamicHelp": false,
1344
+ "multiple": false,
1345
+ "type": "option"
1346
+ }
1347
+ },
1348
+ "hasDynamicHelp": false,
1349
+ "hiddenAliases": [],
1350
+ "id": "query-log:summary",
1351
+ "pluginAlias": "byterover-cli",
1352
+ "pluginName": "byterover-cli",
1353
+ "pluginType": "core",
1354
+ "strict": true,
1355
+ "enableJsonFlag": false,
1356
+ "isESM": true,
1357
+ "relativePath": [
1358
+ "dist",
1359
+ "oclif",
1360
+ "commands",
1361
+ "query-log",
1362
+ "summary.js"
1363
+ ]
1364
+ },
1365
+ "query-log:view": {
1366
+ "aliases": [],
1367
+ "args": {
1368
+ "id": {
1369
+ "description": "Query log entry ID to view in detail",
1370
+ "name": "id",
1371
+ "required": false
1372
+ }
1373
+ },
1374
+ "description": "View query log history",
1375
+ "examples": [
1376
+ "<%= config.bin %> <%= command.id %>",
1377
+ "<%= config.bin %> <%= command.id %> qry-1712345678901",
1378
+ "<%= config.bin %> <%= command.id %> --limit 20",
1379
+ "<%= config.bin %> <%= command.id %> --status completed",
1380
+ "<%= config.bin %> <%= command.id %> --status completed --status error",
1381
+ "<%= config.bin %> <%= command.id %> --tier 0 --tier 1",
1382
+ "<%= config.bin %> <%= command.id %> --since 1h",
1383
+ "<%= config.bin %> <%= command.id %> --since 2024-01-15",
1384
+ "<%= config.bin %> <%= command.id %> --before 2024-02-01",
1385
+ "<%= config.bin %> <%= command.id %> --detail",
1386
+ "<%= config.bin %> <%= command.id %> --format json"
1387
+ ],
1388
+ "flags": {
1389
+ "before": {
1390
+ "description": "Show entries started before this time (ISO date or relative: 30m, 1h, 24h, 7d, 2w)",
1391
+ "name": "before",
1392
+ "hasDynamicHelp": false,
1393
+ "multiple": false,
1394
+ "type": "option"
1395
+ },
1396
+ "detail": {
1397
+ "description": "Show matched docs for each entry",
1398
+ "name": "detail",
1399
+ "allowNo": false,
1400
+ "type": "boolean"
1401
+ },
1402
+ "format": {
1403
+ "description": "Output format",
1404
+ "name": "format",
1405
+ "default": "text",
1406
+ "hasDynamicHelp": false,
1407
+ "multiple": false,
1408
+ "options": [
1409
+ "text",
1410
+ "json"
1411
+ ],
1412
+ "type": "option"
1413
+ },
1414
+ "limit": {
1415
+ "description": "Maximum number of log entries to display",
1416
+ "name": "limit",
1417
+ "default": 10,
1418
+ "hasDynamicHelp": false,
1419
+ "multiple": false,
1420
+ "type": "option"
1421
+ },
1422
+ "since": {
1423
+ "description": "Show entries started after this time (ISO date or relative: 30m, 1h, 24h, 7d, 2w)",
1424
+ "name": "since",
1425
+ "hasDynamicHelp": false,
1426
+ "multiple": false,
1427
+ "type": "option"
1428
+ },
1429
+ "status": {
1430
+ "description": "Filter by status (can be repeated). Options: cancelled, completed, error, processing",
1431
+ "name": "status",
1432
+ "hasDynamicHelp": false,
1433
+ "multiple": true,
1434
+ "options": [
1435
+ "cancelled",
1436
+ "completed",
1437
+ "error",
1438
+ "processing"
1439
+ ],
1440
+ "type": "option"
1441
+ },
1442
+ "tier": {
1443
+ "description": "Filter by resolution tier (can be repeated). Options: 0, 1, 2, 3, 4",
1444
+ "name": "tier",
1445
+ "hasDynamicHelp": false,
1446
+ "multiple": true,
1447
+ "options": [
1448
+ "0",
1449
+ "1",
1450
+ "2",
1451
+ "3",
1452
+ "4"
1453
+ ],
1454
+ "type": "option"
1455
+ }
1456
+ },
1457
+ "hasDynamicHelp": false,
1458
+ "hiddenAliases": [],
1459
+ "id": "query-log:view",
1460
+ "pluginAlias": "byterover-cli",
1461
+ "pluginName": "byterover-cli",
1462
+ "pluginType": "core",
1463
+ "strict": true,
1464
+ "enableJsonFlag": false,
1465
+ "isESM": true,
1466
+ "relativePath": [
1467
+ "dist",
1468
+ "oclif",
1469
+ "commands",
1470
+ "query-log",
1471
+ "view.js"
1472
+ ]
1473
+ },
1299
1474
  "providers:connect": {
1300
1475
  "aliases": [],
1301
1476
  "args": {
@@ -1551,58 +1726,51 @@
1551
1726
  "switch.js"
1552
1727
  ]
1553
1728
  },
1554
- "query-log:summary": {
1729
+ "review:approve": {
1555
1730
  "aliases": [],
1556
- "args": {},
1557
- "description": "View aggregated query recall metrics (coverage, cache hit rate, top topics)",
1731
+ "args": {
1732
+ "taskId": {
1733
+ "description": "Task ID shown in the curate output (e.g. \"brv review approve abc-123\")",
1734
+ "name": "taskId",
1735
+ "required": true
1736
+ }
1737
+ },
1738
+ "description": "Approve pending review operations for a curate task",
1558
1739
  "examples": [
1559
- "<%= config.bin %> <%= command.id %>",
1560
- "<%= config.bin %> <%= command.id %> --last 24h",
1561
- "<%= config.bin %> <%= command.id %> --last 7d",
1562
- "<%= config.bin %> <%= command.id %> --last 30d",
1563
- "<%= config.bin %> <%= command.id %> --format json",
1564
- "<%= config.bin %> <%= command.id %> --format narrative",
1565
- "<%= config.bin %> <%= command.id %> --since 2026-04-01 --before 2026-04-03"
1740
+ "# Approve all pending changes from a curate task",
1741
+ "<%= config.bin %> review approve abc-123",
1742
+ "",
1743
+ "# Approve specific files",
1744
+ "<%= config.bin %> review approve abc-123 --file architecture/security/audit.md",
1745
+ "<%= config.bin %> review approve abc-123 --file auth/jwt.md --file auth/oauth.md",
1746
+ "",
1747
+ "# Approve and get structured output (useful for coding agents)",
1748
+ "<%= config.bin %> review approve abc-123 --format json"
1566
1749
  ],
1567
1750
  "flags": {
1568
- "before": {
1569
- "description": "Entries before (ISO date or relative: 1h, 24h, 7d, 2w)",
1570
- "name": "before",
1751
+ "file": {
1752
+ "description": "Approve only the specified file path(s) (relative to context tree)",
1753
+ "name": "file",
1571
1754
  "hasDynamicHelp": false,
1572
- "multiple": false,
1755
+ "multiple": true,
1573
1756
  "type": "option"
1574
1757
  },
1575
1758
  "format": {
1576
- "description": "Output format",
1759
+ "description": "Output format (text or json)",
1577
1760
  "name": "format",
1578
1761
  "default": "text",
1579
1762
  "hasDynamicHelp": false,
1580
1763
  "multiple": false,
1581
1764
  "options": [
1582
1765
  "text",
1583
- "json",
1584
- "narrative"
1766
+ "json"
1585
1767
  ],
1586
1768
  "type": "option"
1587
- },
1588
- "last": {
1589
- "description": "Relative time window (e.g., 1h, 24h, 7d, 30d). Default: 24h. Takes precedence over --since.",
1590
- "name": "last",
1591
- "hasDynamicHelp": false,
1592
- "multiple": false,
1593
- "type": "option"
1594
- },
1595
- "since": {
1596
- "description": "Entries after (ISO date or relative: 1h, 24h, 7d, 2w)",
1597
- "name": "since",
1598
- "hasDynamicHelp": false,
1599
- "multiple": false,
1600
- "type": "option"
1601
1769
  }
1602
1770
  },
1603
1771
  "hasDynamicHelp": false,
1604
1772
  "hiddenAliases": [],
1605
- "id": "query-log:summary",
1773
+ "id": "review:approve",
1606
1774
  "pluginAlias": "byterover-cli",
1607
1775
  "pluginName": "byterover-cli",
1608
1776
  "pluginType": "core",
@@ -1613,49 +1781,27 @@
1613
1781
  "dist",
1614
1782
  "oclif",
1615
1783
  "commands",
1616
- "query-log",
1617
- "summary.js"
1784
+ "review",
1785
+ "approve.js"
1618
1786
  ]
1619
1787
  },
1620
- "query-log:view": {
1788
+ "review:base-review-decision": {
1621
1789
  "aliases": [],
1622
1790
  "args": {
1623
- "id": {
1624
- "description": "Query log entry ID to view in detail",
1625
- "name": "id",
1626
- "required": false
1791
+ "taskId": {
1792
+ "name": "taskId",
1793
+ "required": true
1627
1794
  }
1628
1795
  },
1629
- "description": "View query log history",
1630
- "examples": [
1631
- "<%= config.bin %> <%= command.id %>",
1632
- "<%= config.bin %> <%= command.id %> qry-1712345678901",
1633
- "<%= config.bin %> <%= command.id %> --limit 20",
1634
- "<%= config.bin %> <%= command.id %> --status completed",
1635
- "<%= config.bin %> <%= command.id %> --status completed --status error",
1636
- "<%= config.bin %> <%= command.id %> --tier 0 --tier 1",
1637
- "<%= config.bin %> <%= command.id %> --since 1h",
1638
- "<%= config.bin %> <%= command.id %> --since 2024-01-15",
1639
- "<%= config.bin %> <%= command.id %> --before 2024-02-01",
1640
- "<%= config.bin %> <%= command.id %> --detail",
1641
- "<%= config.bin %> <%= command.id %> --format json"
1642
- ],
1643
1796
  "flags": {
1644
- "before": {
1645
- "description": "Show entries started before this time (ISO date or relative: 30m, 1h, 24h, 7d, 2w)",
1646
- "name": "before",
1797
+ "file": {
1798
+ "name": "file",
1647
1799
  "hasDynamicHelp": false,
1648
- "multiple": false,
1800
+ "multiple": true,
1649
1801
  "type": "option"
1650
1802
  },
1651
- "detail": {
1652
- "description": "Show matched docs for each entry",
1653
- "name": "detail",
1654
- "allowNo": false,
1655
- "type": "boolean"
1656
- },
1657
1803
  "format": {
1658
- "description": "Output format",
1804
+ "description": "Output format (text or json)",
1659
1805
  "name": "format",
1660
1806
  "default": "text",
1661
1807
  "hasDynamicHelp": false,
@@ -1665,53 +1811,11 @@
1665
1811
  "json"
1666
1812
  ],
1667
1813
  "type": "option"
1668
- },
1669
- "limit": {
1670
- "description": "Maximum number of log entries to display",
1671
- "name": "limit",
1672
- "default": 10,
1673
- "hasDynamicHelp": false,
1674
- "multiple": false,
1675
- "type": "option"
1676
- },
1677
- "since": {
1678
- "description": "Show entries started after this time (ISO date or relative: 30m, 1h, 24h, 7d, 2w)",
1679
- "name": "since",
1680
- "hasDynamicHelp": false,
1681
- "multiple": false,
1682
- "type": "option"
1683
- },
1684
- "status": {
1685
- "description": "Filter by status (can be repeated). Options: cancelled, completed, error, processing",
1686
- "name": "status",
1687
- "hasDynamicHelp": false,
1688
- "multiple": true,
1689
- "options": [
1690
- "cancelled",
1691
- "completed",
1692
- "error",
1693
- "processing"
1694
- ],
1695
- "type": "option"
1696
- },
1697
- "tier": {
1698
- "description": "Filter by resolution tier (can be repeated). Options: 0, 1, 2, 3, 4",
1699
- "name": "tier",
1700
- "hasDynamicHelp": false,
1701
- "multiple": true,
1702
- "options": [
1703
- "0",
1704
- "1",
1705
- "2",
1706
- "3",
1707
- "4"
1708
- ],
1709
- "type": "option"
1710
1814
  }
1711
1815
  },
1712
1816
  "hasDynamicHelp": false,
1713
1817
  "hiddenAliases": [],
1714
- "id": "query-log:view",
1818
+ "id": "review:base-review-decision",
1715
1819
  "pluginAlias": "byterover-cli",
1716
1820
  "pluginName": "byterover-cli",
1717
1821
  "pluginType": "core",
@@ -1722,119 +1826,38 @@
1722
1826
  "dist",
1723
1827
  "oclif",
1724
1828
  "commands",
1725
- "query-log",
1726
- "view.js"
1829
+ "review",
1830
+ "base-review-decision.js"
1727
1831
  ]
1728
1832
  },
1729
- "source:add": {
1833
+ "review:pending": {
1730
1834
  "aliases": [],
1731
- "args": {
1732
- "path": {
1733
- "description": "Path to the target project containing .brv/",
1734
- "name": "path",
1735
- "required": true
1736
- }
1737
- },
1738
- "description": "Add a read-only knowledge source from another project's context tree",
1835
+ "args": {},
1836
+ "description": "List all pending review operations for the current project",
1739
1837
  "examples": [
1740
- "<%= config.bin %> <%= command.id %> /path/to/shared-lib",
1741
- "<%= config.bin %> <%= command.id %> /path/to/shared-lib --alias shared"
1838
+ "# Show all pending reviews",
1839
+ "<%= config.bin %> review pending",
1840
+ "",
1841
+ "# Get structured output for agent-driven workflows",
1842
+ "<%= config.bin %> review pending --format json"
1742
1843
  ],
1743
1844
  "flags": {
1744
- "alias": {
1745
- "description": "Custom alias for the source (defaults to directory name)",
1746
- "name": "alias",
1747
- "required": false,
1845
+ "format": {
1846
+ "description": "Output format (text or json)",
1847
+ "name": "format",
1848
+ "default": "text",
1748
1849
  "hasDynamicHelp": false,
1749
1850
  "multiple": false,
1851
+ "options": [
1852
+ "text",
1853
+ "json"
1854
+ ],
1750
1855
  "type": "option"
1751
1856
  }
1752
1857
  },
1753
1858
  "hasDynamicHelp": false,
1754
1859
  "hiddenAliases": [],
1755
- "id": "source:add",
1756
- "pluginAlias": "byterover-cli",
1757
- "pluginName": "byterover-cli",
1758
- "pluginType": "core",
1759
- "strict": true,
1760
- "enableJsonFlag": false,
1761
- "isESM": true,
1762
- "relativePath": [
1763
- "dist",
1764
- "oclif",
1765
- "commands",
1766
- "source",
1767
- "add.js"
1768
- ]
1769
- },
1770
- "source": {
1771
- "aliases": [],
1772
- "args": {},
1773
- "description": "Manage knowledge sources (read-only references to other projects)",
1774
- "examples": [
1775
- "<%= config.bin %> <%= command.id %> --help"
1776
- ],
1777
- "flags": {},
1778
- "hasDynamicHelp": false,
1779
- "hiddenAliases": [],
1780
- "id": "source",
1781
- "pluginAlias": "byterover-cli",
1782
- "pluginName": "byterover-cli",
1783
- "pluginType": "core",
1784
- "strict": true,
1785
- "enableJsonFlag": false,
1786
- "isESM": true,
1787
- "relativePath": [
1788
- "dist",
1789
- "oclif",
1790
- "commands",
1791
- "source",
1792
- "index.js"
1793
- ]
1794
- },
1795
- "source:list": {
1796
- "aliases": [],
1797
- "args": {},
1798
- "description": "List all knowledge sources and their status",
1799
- "examples": [
1800
- "<%= config.bin %> <%= command.id %>"
1801
- ],
1802
- "flags": {},
1803
- "hasDynamicHelp": false,
1804
- "hiddenAliases": [],
1805
- "id": "source:list",
1806
- "pluginAlias": "byterover-cli",
1807
- "pluginName": "byterover-cli",
1808
- "pluginType": "core",
1809
- "strict": true,
1810
- "enableJsonFlag": false,
1811
- "isESM": true,
1812
- "relativePath": [
1813
- "dist",
1814
- "oclif",
1815
- "commands",
1816
- "source",
1817
- "list.js"
1818
- ]
1819
- },
1820
- "source:remove": {
1821
- "aliases": [],
1822
- "args": {
1823
- "aliasOrPath": {
1824
- "description": "Alias or path of the knowledge source to remove",
1825
- "name": "aliasOrPath",
1826
- "required": true
1827
- }
1828
- },
1829
- "description": "Remove a knowledge source",
1830
- "examples": [
1831
- "<%= config.bin %> <%= command.id %> shared-lib",
1832
- "<%= config.bin %> <%= command.id %> /path/to/shared-lib"
1833
- ],
1834
- "flags": {},
1835
- "hasDynamicHelp": false,
1836
- "hiddenAliases": [],
1837
- "id": "source:remove",
1860
+ "id": "review:pending",
1838
1861
  "pluginAlias": "byterover-cli",
1839
1862
  "pluginName": "byterover-cli",
1840
1863
  "pluginType": "core",
@@ -1845,34 +1868,34 @@
1845
1868
  "dist",
1846
1869
  "oclif",
1847
1870
  "commands",
1848
- "source",
1849
- "remove.js"
1871
+ "review",
1872
+ "pending.js"
1850
1873
  ]
1851
1874
  },
1852
- "review:approve": {
1875
+ "review:reject": {
1853
1876
  "aliases": [],
1854
1877
  "args": {
1855
1878
  "taskId": {
1856
- "description": "Task ID shown in the curate output (e.g. \"brv review approve abc-123\")",
1879
+ "description": "Task ID shown in the curate output (e.g. \"brv review reject abc-123\")",
1857
1880
  "name": "taskId",
1858
1881
  "required": true
1859
1882
  }
1860
1883
  },
1861
- "description": "Approve pending review operations for a curate task",
1884
+ "description": "Reject pending review operations for a curate task (restores files from backup)",
1862
1885
  "examples": [
1863
- "# Approve all pending changes from a curate task",
1864
- "<%= config.bin %> review approve abc-123",
1886
+ "# Reject all pending changes from a curate task",
1887
+ "<%= config.bin %> review reject abc-123",
1865
1888
  "",
1866
- "# Approve specific files",
1867
- "<%= config.bin %> review approve abc-123 --file architecture/security/audit.md",
1868
- "<%= config.bin %> review approve abc-123 --file auth/jwt.md --file auth/oauth.md",
1889
+ "# Reject specific files",
1890
+ "<%= config.bin %> review reject abc-123 --file architecture/security/audit.md",
1891
+ "<%= config.bin %> review reject abc-123 --file auth/jwt.md --file auth/oauth.md",
1869
1892
  "",
1870
- "# Approve and get structured output (useful for coding agents)",
1871
- "<%= config.bin %> review approve abc-123 --format json"
1893
+ "# Reject and get structured output (useful for coding agents)",
1894
+ "<%= config.bin %> review reject abc-123 --format json"
1872
1895
  ],
1873
1896
  "flags": {
1874
1897
  "file": {
1875
- "description": "Approve only the specified file path(s) (relative to context tree)",
1898
+ "description": "Reject only the specified file path(s) (relative to context tree)",
1876
1899
  "name": "file",
1877
1900
  "hasDynamicHelp": false,
1878
1901
  "multiple": true,
@@ -1893,7 +1916,7 @@
1893
1916
  },
1894
1917
  "hasDynamicHelp": false,
1895
1918
  "hiddenAliases": [],
1896
- "id": "review:approve",
1919
+ "id": "review:reject",
1897
1920
  "pluginAlias": "byterover-cli",
1898
1921
  "pluginName": "byterover-cli",
1899
1922
  "pluginType": "core",
@@ -1905,40 +1928,36 @@
1905
1928
  "oclif",
1906
1929
  "commands",
1907
1930
  "review",
1908
- "approve.js"
1931
+ "reject.js"
1909
1932
  ]
1910
1933
  },
1911
- "review:base-review-decision": {
1934
+ "source:add": {
1912
1935
  "aliases": [],
1913
1936
  "args": {
1914
- "taskId": {
1915
- "name": "taskId",
1937
+ "path": {
1938
+ "description": "Path to the target project containing .brv/",
1939
+ "name": "path",
1916
1940
  "required": true
1917
1941
  }
1918
1942
  },
1943
+ "description": "Add a read-only knowledge source from another project's context tree",
1944
+ "examples": [
1945
+ "<%= config.bin %> <%= command.id %> /path/to/shared-lib",
1946
+ "<%= config.bin %> <%= command.id %> /path/to/shared-lib --alias shared"
1947
+ ],
1919
1948
  "flags": {
1920
- "file": {
1921
- "name": "file",
1922
- "hasDynamicHelp": false,
1923
- "multiple": true,
1924
- "type": "option"
1925
- },
1926
- "format": {
1927
- "description": "Output format (text or json)",
1928
- "name": "format",
1929
- "default": "text",
1949
+ "alias": {
1950
+ "description": "Custom alias for the source (defaults to directory name)",
1951
+ "name": "alias",
1952
+ "required": false,
1930
1953
  "hasDynamicHelp": false,
1931
1954
  "multiple": false,
1932
- "options": [
1933
- "text",
1934
- "json"
1935
- ],
1936
1955
  "type": "option"
1937
1956
  }
1938
1957
  },
1939
1958
  "hasDynamicHelp": false,
1940
1959
  "hiddenAliases": [],
1941
- "id": "review:base-review-decision",
1960
+ "id": "source:add",
1942
1961
  "pluginAlias": "byterover-cli",
1943
1962
  "pluginName": "byterover-cli",
1944
1963
  "pluginType": "core",
@@ -1949,38 +1968,21 @@
1949
1968
  "dist",
1950
1969
  "oclif",
1951
1970
  "commands",
1952
- "review",
1953
- "base-review-decision.js"
1971
+ "source",
1972
+ "add.js"
1954
1973
  ]
1955
1974
  },
1956
- "review:pending": {
1975
+ "source": {
1957
1976
  "aliases": [],
1958
1977
  "args": {},
1959
- "description": "List all pending review operations for the current project",
1978
+ "description": "Manage knowledge sources (read-only references to other projects)",
1960
1979
  "examples": [
1961
- "# Show all pending reviews",
1962
- "<%= config.bin %> review pending",
1963
- "",
1964
- "# Get structured output for agent-driven workflows",
1965
- "<%= config.bin %> review pending --format json"
1980
+ "<%= config.bin %> <%= command.id %> --help"
1966
1981
  ],
1967
- "flags": {
1968
- "format": {
1969
- "description": "Output format (text or json)",
1970
- "name": "format",
1971
- "default": "text",
1972
- "hasDynamicHelp": false,
1973
- "multiple": false,
1974
- "options": [
1975
- "text",
1976
- "json"
1977
- ],
1978
- "type": "option"
1979
- }
1980
- },
1982
+ "flags": {},
1981
1983
  "hasDynamicHelp": false,
1982
1984
  "hiddenAliases": [],
1983
- "id": "review:pending",
1985
+ "id": "source",
1984
1986
  "pluginAlias": "byterover-cli",
1985
1987
  "pluginName": "byterover-cli",
1986
1988
  "pluginType": "core",
@@ -1991,55 +1993,53 @@
1991
1993
  "dist",
1992
1994
  "oclif",
1993
1995
  "commands",
1994
- "review",
1995
- "pending.js"
1996
+ "source",
1997
+ "index.js"
1996
1998
  ]
1997
1999
  },
1998
- "review:reject": {
2000
+ "source:list": {
1999
2001
  "aliases": [],
2000
- "args": {
2001
- "taskId": {
2002
- "description": "Task ID shown in the curate output (e.g. \"brv review reject abc-123\")",
2003
- "name": "taskId",
2004
- "required": true
2005
- }
2006
- },
2007
- "description": "Reject pending review operations for a curate task (restores files from backup)",
2002
+ "args": {},
2003
+ "description": "List all knowledge sources and their status",
2008
2004
  "examples": [
2009
- "# Reject all pending changes from a curate task",
2010
- "<%= config.bin %> review reject abc-123",
2011
- "",
2012
- "# Reject specific files",
2013
- "<%= config.bin %> review reject abc-123 --file architecture/security/audit.md",
2014
- "<%= config.bin %> review reject abc-123 --file auth/jwt.md --file auth/oauth.md",
2015
- "",
2016
- "# Reject and get structured output (useful for coding agents)",
2017
- "<%= config.bin %> review reject abc-123 --format json"
2005
+ "<%= config.bin %> <%= command.id %>"
2018
2006
  ],
2019
- "flags": {
2020
- "file": {
2021
- "description": "Reject only the specified file path(s) (relative to context tree)",
2022
- "name": "file",
2023
- "hasDynamicHelp": false,
2024
- "multiple": true,
2025
- "type": "option"
2026
- },
2027
- "format": {
2028
- "description": "Output format (text or json)",
2029
- "name": "format",
2030
- "default": "text",
2031
- "hasDynamicHelp": false,
2032
- "multiple": false,
2033
- "options": [
2034
- "text",
2035
- "json"
2036
- ],
2037
- "type": "option"
2007
+ "flags": {},
2008
+ "hasDynamicHelp": false,
2009
+ "hiddenAliases": [],
2010
+ "id": "source:list",
2011
+ "pluginAlias": "byterover-cli",
2012
+ "pluginName": "byterover-cli",
2013
+ "pluginType": "core",
2014
+ "strict": true,
2015
+ "enableJsonFlag": false,
2016
+ "isESM": true,
2017
+ "relativePath": [
2018
+ "dist",
2019
+ "oclif",
2020
+ "commands",
2021
+ "source",
2022
+ "list.js"
2023
+ ]
2024
+ },
2025
+ "source:remove": {
2026
+ "aliases": [],
2027
+ "args": {
2028
+ "aliasOrPath": {
2029
+ "description": "Alias or path of the knowledge source to remove",
2030
+ "name": "aliasOrPath",
2031
+ "required": true
2038
2032
  }
2039
2033
  },
2034
+ "description": "Remove a knowledge source",
2035
+ "examples": [
2036
+ "<%= config.bin %> <%= command.id %> shared-lib",
2037
+ "<%= config.bin %> <%= command.id %> /path/to/shared-lib"
2038
+ ],
2039
+ "flags": {},
2040
2040
  "hasDynamicHelp": false,
2041
2041
  "hiddenAliases": [],
2042
- "id": "review:reject",
2042
+ "id": "source:remove",
2043
2043
  "pluginAlias": "byterover-cli",
2044
2044
  "pluginName": "byterover-cli",
2045
2045
  "pluginType": "core",
@@ -2050,8 +2050,8 @@
2050
2050
  "dist",
2051
2051
  "oclif",
2052
2052
  "commands",
2053
- "review",
2054
- "reject.js"
2053
+ "source",
2054
+ "remove.js"
2055
2055
  ]
2056
2056
  },
2057
2057
  "space:list": {
@@ -2312,6 +2312,128 @@
2312
2312
  "status.js"
2313
2313
  ]
2314
2314
  },
2315
+ "worktree:add": {
2316
+ "aliases": [],
2317
+ "args": {
2318
+ "path": {
2319
+ "description": "Path to the directory to register as a worktree (relative or absolute)",
2320
+ "name": "path",
2321
+ "required": false
2322
+ }
2323
+ },
2324
+ "description": "Register a directory as a worktree of this project",
2325
+ "examples": [
2326
+ "<%= config.bin %> <%= command.id %> packages/api",
2327
+ "<%= config.bin %> <%= command.id %> ../other-checkout",
2328
+ "<%= config.bin %> <%= command.id %> (auto-detect parent from subdirectory)"
2329
+ ],
2330
+ "flags": {
2331
+ "force": {
2332
+ "description": "Replace existing .brv/ directory in target with a worktree pointer",
2333
+ "name": "force",
2334
+ "allowNo": false,
2335
+ "type": "boolean"
2336
+ }
2337
+ },
2338
+ "hasDynamicHelp": false,
2339
+ "hiddenAliases": [],
2340
+ "id": "worktree:add",
2341
+ "pluginAlias": "byterover-cli",
2342
+ "pluginName": "byterover-cli",
2343
+ "pluginType": "core",
2344
+ "strict": true,
2345
+ "enableJsonFlag": false,
2346
+ "isESM": true,
2347
+ "relativePath": [
2348
+ "dist",
2349
+ "oclif",
2350
+ "commands",
2351
+ "worktree",
2352
+ "add.js"
2353
+ ]
2354
+ },
2355
+ "worktree": {
2356
+ "aliases": [],
2357
+ "args": {},
2358
+ "description": "Manage worktree links for subdirectories and sibling checkouts",
2359
+ "examples": [
2360
+ "<%= config.bin %> <%= command.id %> --help"
2361
+ ],
2362
+ "flags": {},
2363
+ "hasDynamicHelp": false,
2364
+ "hiddenAliases": [],
2365
+ "id": "worktree",
2366
+ "pluginAlias": "byterover-cli",
2367
+ "pluginName": "byterover-cli",
2368
+ "pluginType": "core",
2369
+ "strict": true,
2370
+ "enableJsonFlag": false,
2371
+ "isESM": true,
2372
+ "relativePath": [
2373
+ "dist",
2374
+ "oclif",
2375
+ "commands",
2376
+ "worktree",
2377
+ "index.js"
2378
+ ]
2379
+ },
2380
+ "worktree:list": {
2381
+ "aliases": [],
2382
+ "args": {},
2383
+ "description": "Show the current worktree link and list all registered worktrees",
2384
+ "examples": [
2385
+ "<%= config.bin %> <%= command.id %>"
2386
+ ],
2387
+ "flags": {},
2388
+ "hasDynamicHelp": false,
2389
+ "hiddenAliases": [],
2390
+ "id": "worktree:list",
2391
+ "pluginAlias": "byterover-cli",
2392
+ "pluginName": "byterover-cli",
2393
+ "pluginType": "core",
2394
+ "strict": true,
2395
+ "enableJsonFlag": false,
2396
+ "isESM": true,
2397
+ "relativePath": [
2398
+ "dist",
2399
+ "oclif",
2400
+ "commands",
2401
+ "worktree",
2402
+ "list.js"
2403
+ ]
2404
+ },
2405
+ "worktree:remove": {
2406
+ "aliases": [],
2407
+ "args": {
2408
+ "path": {
2409
+ "description": "Path to the worktree to remove (defaults to cwd)",
2410
+ "name": "path",
2411
+ "required": false
2412
+ }
2413
+ },
2414
+ "description": "Remove a worktree registration and its .brv pointer",
2415
+ "examples": [
2416
+ "<%= config.bin %> <%= command.id %> (remove cwd as worktree)",
2417
+ "<%= config.bin %> <%= command.id %> packages/api (remove from parent)"
2418
+ ],
2419
+ "flags": {},
2420
+ "hasDynamicHelp": false,
2421
+ "hiddenAliases": [],
2422
+ "id": "worktree:remove",
2423
+ "pluginAlias": "byterover-cli",
2424
+ "pluginName": "byterover-cli",
2425
+ "pluginType": "core",
2426
+ "strict": true,
2427
+ "enableJsonFlag": false,
2428
+ "isESM": true,
2429
+ "relativePath": [
2430
+ "dist",
2431
+ "oclif",
2432
+ "commands",
2433
+ "worktree",
2434
+ "remove.js"
2435
+ ]
2436
+ },
2315
2437
  "vc:add": {
2316
2438
  "aliases": [],
2317
2439
  "args": {},
@@ -2914,128 +3036,6 @@
2914
3036
  "status.js"
2915
3037
  ]
2916
3038
  },
2917
- "worktree:add": {
2918
- "aliases": [],
2919
- "args": {
2920
- "path": {
2921
- "description": "Path to the directory to register as a worktree (relative or absolute)",
2922
- "name": "path",
2923
- "required": false
2924
- }
2925
- },
2926
- "description": "Register a directory as a worktree of this project",
2927
- "examples": [
2928
- "<%= config.bin %> <%= command.id %> packages/api",
2929
- "<%= config.bin %> <%= command.id %> ../other-checkout",
2930
- "<%= config.bin %> <%= command.id %> (auto-detect parent from subdirectory)"
2931
- ],
2932
- "flags": {
2933
- "force": {
2934
- "description": "Replace existing .brv/ directory in target with a worktree pointer",
2935
- "name": "force",
2936
- "allowNo": false,
2937
- "type": "boolean"
2938
- }
2939
- },
2940
- "hasDynamicHelp": false,
2941
- "hiddenAliases": [],
2942
- "id": "worktree:add",
2943
- "pluginAlias": "byterover-cli",
2944
- "pluginName": "byterover-cli",
2945
- "pluginType": "core",
2946
- "strict": true,
2947
- "enableJsonFlag": false,
2948
- "isESM": true,
2949
- "relativePath": [
2950
- "dist",
2951
- "oclif",
2952
- "commands",
2953
- "worktree",
2954
- "add.js"
2955
- ]
2956
- },
2957
- "worktree": {
2958
- "aliases": [],
2959
- "args": {},
2960
- "description": "Manage worktree links for subdirectories and sibling checkouts",
2961
- "examples": [
2962
- "<%= config.bin %> <%= command.id %> --help"
2963
- ],
2964
- "flags": {},
2965
- "hasDynamicHelp": false,
2966
- "hiddenAliases": [],
2967
- "id": "worktree",
2968
- "pluginAlias": "byterover-cli",
2969
- "pluginName": "byterover-cli",
2970
- "pluginType": "core",
2971
- "strict": true,
2972
- "enableJsonFlag": false,
2973
- "isESM": true,
2974
- "relativePath": [
2975
- "dist",
2976
- "oclif",
2977
- "commands",
2978
- "worktree",
2979
- "index.js"
2980
- ]
2981
- },
2982
- "worktree:list": {
2983
- "aliases": [],
2984
- "args": {},
2985
- "description": "Show the current worktree link and list all registered worktrees",
2986
- "examples": [
2987
- "<%= config.bin %> <%= command.id %>"
2988
- ],
2989
- "flags": {},
2990
- "hasDynamicHelp": false,
2991
- "hiddenAliases": [],
2992
- "id": "worktree:list",
2993
- "pluginAlias": "byterover-cli",
2994
- "pluginName": "byterover-cli",
2995
- "pluginType": "core",
2996
- "strict": true,
2997
- "enableJsonFlag": false,
2998
- "isESM": true,
2999
- "relativePath": [
3000
- "dist",
3001
- "oclif",
3002
- "commands",
3003
- "worktree",
3004
- "list.js"
3005
- ]
3006
- },
3007
- "worktree:remove": {
3008
- "aliases": [],
3009
- "args": {
3010
- "path": {
3011
- "description": "Path to the worktree to remove (defaults to cwd)",
3012
- "name": "path",
3013
- "required": false
3014
- }
3015
- },
3016
- "description": "Remove a worktree registration and its .brv pointer",
3017
- "examples": [
3018
- "<%= config.bin %> <%= command.id %> (remove cwd as worktree)",
3019
- "<%= config.bin %> <%= command.id %> packages/api (remove from parent)"
3020
- ],
3021
- "flags": {},
3022
- "hasDynamicHelp": false,
3023
- "hiddenAliases": [],
3024
- "id": "worktree:remove",
3025
- "pluginAlias": "byterover-cli",
3026
- "pluginName": "byterover-cli",
3027
- "pluginType": "core",
3028
- "strict": true,
3029
- "enableJsonFlag": false,
3030
- "isESM": true,
3031
- "relativePath": [
3032
- "dist",
3033
- "oclif",
3034
- "commands",
3035
- "worktree",
3036
- "remove.js"
3037
- ]
3038
- },
3039
3039
  "hub:registry:add": {
3040
3040
  "aliases": [],
3041
3041
  "args": {
@@ -3335,5 +3335,5 @@
3335
3335
  ]
3336
3336
  }
3337
3337
  },
3338
- "version": "3.6.1"
3338
+ "version": "3.7.1"
3339
3339
  }