bluera-knowledge 0.9.30 → 0.9.32
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/.claude/commands/code-review.md +15 -0
- package/.claude/skills/code-review-repo/skill.md +62 -0
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +9 -0
- package/dist/{chunk-NJUMU4X2.js → chunk-6PBP5DVD.js} +33 -2
- package/dist/chunk-6PBP5DVD.js.map +1 -0
- package/dist/{chunk-DNOIM7BO.js → chunk-RST4XGRL.js} +2 -2
- package/dist/{chunk-SZNTYLYT.js → chunk-WT2DAEO7.js} +2 -2
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/workers/background-worker-cli.js +2 -2
- package/package.json +1 -1
- package/src/cli/commands/crawl.ts +6 -1
- package/src/cli/commands/store.test.ts +68 -1
- package/src/cli/commands/store.ts +9 -3
- package/src/db/lance.test.ts +90 -0
- package/src/db/lance.ts +23 -0
- package/src/services/index.ts +11 -1
- package/src/services/services.test.ts +38 -2
- package/src/services/store.service.test.ts +28 -0
- package/src/services/store.service.ts +4 -0
- package/tests/integration/e2e-workflow.test.ts +2 -0
- package/dist/chunk-NJUMU4X2.js.map +0 -1
- /package/dist/{chunk-DNOIM7BO.js.map → chunk-RST4XGRL.js.map} +0 -0
- /package/dist/{chunk-SZNTYLYT.js.map → chunk-WT2DAEO7.js.map} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Code Review
|
|
2
|
+
|
|
3
|
+
Review the local codebase using multi-agent analysis. See @.claude/skills/code-review-repo/skill.md for process details.
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
!`echo "---PROJECT---" && ls -la && echo "---CLAUDE.md FILES---" && find . -name CLAUDE.md 2>/dev/null`
|
|
8
|
+
|
|
9
|
+
## Workflow
|
|
10
|
+
|
|
11
|
+
1. **Gather context**: Find all CLAUDE.md files and source files
|
|
12
|
+
2. **Multi-agent review**: Launch 5 parallel agents (CLAUDE.md compliance, bug scan, git history, PR comments, code comments)
|
|
13
|
+
3. **Score issues**: Haiku agents score each issue 0-100 for confidence
|
|
14
|
+
4. **Filter**: Only report issues with confidence >= 80
|
|
15
|
+
5. **Output**: Print formatted results to console
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review-repo
|
|
3
|
+
description: Review local codebase for bugs and CLAUDE.md compliance using multi-agent analysis
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Local Code Review
|
|
8
|
+
|
|
9
|
+
Review the entire local codebase for bugs, issues, and CLAUDE.md compliance.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
1. **Gather CLAUDE.md files**: Use a Haiku agent to find all CLAUDE.md files in the repository (root and subdirectories)
|
|
14
|
+
|
|
15
|
+
2. **Identify source files**: Determine which files to review:
|
|
16
|
+
- Include: `.ts`, `.tsx`, `.js`, `.jsx`, `.py`, `.rs`, `.go` and similar source files
|
|
17
|
+
- Exclude: `node_modules/`, `dist/`, `.git/`, vendor directories, generated files
|
|
18
|
+
|
|
19
|
+
3. **Multi-agent review**: Launch 5 parallel Sonnet agents to independently review the codebase. Each agent returns a list of issues with reasons:
|
|
20
|
+
- **Agent #1**: Audit for CLAUDE.md compliance. Check that code follows guidelines in all relevant CLAUDE.md files.
|
|
21
|
+
- **Agent #2**: Shallow bug scan. Look for obvious bugs, error handling issues, and logic errors. Focus on significant bugs, not nitpicks.
|
|
22
|
+
- **Agent #3**: Git history context. Use git blame and history to identify patterns, recent changes, and potential issues in light of historical context.
|
|
23
|
+
- **Agent #4**: Previous PR comments. Check closed PRs that touched these files for any feedback that might apply.
|
|
24
|
+
- **Agent #5**: Code comment compliance. Ensure code follows any guidance in TODO, FIXME, NOTE, or other code comments.
|
|
25
|
+
|
|
26
|
+
4. **Confidence scoring**: For each issue found, launch a parallel Haiku agent to score confidence (0-100):
|
|
27
|
+
- **0**: False positive, doesn't hold up to scrutiny
|
|
28
|
+
- **25**: Might be real, but unverified. Stylistic issues not in CLAUDE.md
|
|
29
|
+
- **50**: Real but minor, rarely hit in practice
|
|
30
|
+
- **75**: Verified real issue, important, directly impacts functionality or mentioned in CLAUDE.md
|
|
31
|
+
- **100**: Definitely real, frequently hit, evidence confirms
|
|
32
|
+
|
|
33
|
+
5. **Filter**: Only report issues with score >= 80
|
|
34
|
+
|
|
35
|
+
## False Positive Examples
|
|
36
|
+
|
|
37
|
+
Avoid flagging:
|
|
38
|
+
- Issues that linters/typecheckers catch (imports, types, formatting)
|
|
39
|
+
- General quality issues unless in CLAUDE.md
|
|
40
|
+
- Code with lint-ignore comments for that specific issue
|
|
41
|
+
- Pre-existing issues unrelated to recent changes
|
|
42
|
+
- Pedantic nitpicks a senior engineer wouldn't mention
|
|
43
|
+
|
|
44
|
+
## Output Format
|
|
45
|
+
|
|
46
|
+
### Code review
|
|
47
|
+
|
|
48
|
+
Found N issues:
|
|
49
|
+
|
|
50
|
+
1. Brief description (CLAUDE.md says "...")
|
|
51
|
+
`file/path.ts:42`
|
|
52
|
+
|
|
53
|
+
2. Brief description (bug due to missing error handling)
|
|
54
|
+
`file/path.ts:88-95`
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
Or if no issues:
|
|
59
|
+
|
|
60
|
+
### Code review
|
|
61
|
+
|
|
62
|
+
No issues found. Checked for bugs and CLAUDE.md compliance.
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.9.32](https://github.com/blueraai/bluera-knowledge/compare/v0.9.31...v0.9.32) (2026-01-06)
|
|
6
|
+
|
|
7
|
+
## [0.9.31](https://github.com/blueraai/bluera-knowledge/compare/v0.9.30...v0.9.31) (2026-01-06)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* address three bugs found during API testing ([862b7e6](https://github.com/blueraai/bluera-knowledge/commit/862b7e67c057c004ae788d9205c147b422339c67)), closes [#1](https://github.com/blueraai/bluera-knowledge/issues/1) [#2](https://github.com/blueraai/bluera-knowledge/issues/2) [#3](https://github.com/blueraai/bluera-knowledge/issues/3)
|
|
13
|
+
|
|
5
14
|
## [0.9.30](https://github.com/blueraai/bluera-knowledge/compare/v0.9.26...v0.9.30) (2026-01-06)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -569,6 +569,9 @@ var StoreService = class {
|
|
|
569
569
|
await this.loadRegistry();
|
|
570
570
|
}
|
|
571
571
|
async create(input) {
|
|
572
|
+
if (!input.name || input.name.trim() === "") {
|
|
573
|
+
return err(new Error("Store name cannot be empty"));
|
|
574
|
+
}
|
|
572
575
|
const existing = await this.getByName(input.name);
|
|
573
576
|
if (existing !== void 0) {
|
|
574
577
|
return err(new Error(`Store with name "${input.name}" already exists`));
|
|
@@ -3593,6 +3596,25 @@ var LanceStore = class {
|
|
|
3593
3596
|
this.tables.delete(tableName);
|
|
3594
3597
|
}
|
|
3595
3598
|
}
|
|
3599
|
+
close() {
|
|
3600
|
+
this.tables.clear();
|
|
3601
|
+
if (this.connection !== null) {
|
|
3602
|
+
this.connection.close();
|
|
3603
|
+
this.connection = null;
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
/**
|
|
3607
|
+
* Async close that allows native code cleanup time.
|
|
3608
|
+
* Use this before process.exit() to prevent mutex crashes.
|
|
3609
|
+
*/
|
|
3610
|
+
async closeAsync() {
|
|
3611
|
+
this.tables.clear();
|
|
3612
|
+
if (this.connection !== null) {
|
|
3613
|
+
this.connection.close();
|
|
3614
|
+
this.connection = null;
|
|
3615
|
+
await new Promise((resolve3) => setTimeout(resolve3, 100));
|
|
3616
|
+
}
|
|
3617
|
+
}
|
|
3596
3618
|
getTableName(storeId) {
|
|
3597
3619
|
return `documents_${storeId}`;
|
|
3598
3620
|
}
|
|
@@ -3950,7 +3972,16 @@ async function createServices(configPath, dataDir, projectRoot) {
|
|
|
3950
3972
|
}
|
|
3951
3973
|
async function destroyServices(services) {
|
|
3952
3974
|
logger4.info("Shutting down services");
|
|
3953
|
-
|
|
3975
|
+
try {
|
|
3976
|
+
await services.lance.closeAsync();
|
|
3977
|
+
} catch (e) {
|
|
3978
|
+
logger4.error({ error: e }, "Error closing LanceStore");
|
|
3979
|
+
}
|
|
3980
|
+
try {
|
|
3981
|
+
await services.pythonBridge.stop();
|
|
3982
|
+
} catch (e) {
|
|
3983
|
+
logger4.error({ error: e }, "Error stopping Python bridge");
|
|
3984
|
+
}
|
|
3954
3985
|
await shutdownLogger();
|
|
3955
3986
|
}
|
|
3956
3987
|
|
|
@@ -3971,4 +4002,4 @@ export {
|
|
|
3971
4002
|
createServices,
|
|
3972
4003
|
destroyServices
|
|
3973
4004
|
};
|
|
3974
|
-
//# sourceMappingURL=chunk-
|
|
4005
|
+
//# sourceMappingURL=chunk-6PBP5DVD.js.map
|