@getbourdon/participants 0.5.3 → 0.5.5
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/README.md +2 -4
- package/dist/index.cjs +4 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/readers/claude-code.d.ts +6 -16
- package/dist/readers/claude-code.js +10 -25
- package/package.json +4 -4
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* 2. ~/.claude/projects/<ws>/memory/ — per-machine auto-memory frontmatter
|
|
8
8
|
* 3. ~/claude-memory/memory.jsonl — MCP knowledge-graph JSONL
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* Only these names are read; a notes folder under any other name is never
|
|
11
|
+
* scanned unless the user points `AGENT_BRAIN` at it.
|
|
12
12
|
*
|
|
13
13
|
* Privacy: entities typed `person` (+ family/contact variants) and observations
|
|
14
14
|
* containing credential-like strings default to PRIVATE and are filtered before
|
|
@@ -17,20 +17,10 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { type L5ManifestModel, type SessionModel } from "@getbourdon/l5";
|
|
19
19
|
import { type AgentStore, type BourdonParticipant, type HealthStatus } from "../base.js";
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* The alias is assembled at runtime so no build artifact (bundle or sourcemap)
|
|
25
|
-
* carries it as a contiguous literal — the packed-tarball gate must stay clean
|
|
26
|
-
* without artifact-path exemptions.
|
|
27
|
-
*/
|
|
28
|
-
export declare const BRAIN_DIR_NAMES: readonly [string, string];
|
|
29
|
-
/**
|
|
30
|
-
* Env overrides, most-preferred first. `CLAUDE_BRAIN` is retained for
|
|
31
|
-
* back-compat with installs that set it before the rename.
|
|
32
|
-
*/
|
|
33
|
-
export declare const BRAIN_ENV_VARS: readonly ["AGENT_BRAIN", "CLAUDE_BRAIN"];
|
|
20
|
+
/** Directory names for the knowledge repo. Only these are scanned. */
|
|
21
|
+
export declare const BRAIN_DIR_NAMES: readonly [string];
|
|
22
|
+
/** Env override pointing at the knowledge repo explicitly. */
|
|
23
|
+
export declare const BRAIN_ENV_VARS: readonly ["AGENT_BRAIN"];
|
|
34
24
|
/** External participant for Anthropic's Claude Code CLI. */
|
|
35
25
|
export declare class ClaudeCodeParticipant implements BourdonParticipant {
|
|
36
26
|
agentId: string;
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* 2. ~/.claude/projects/<ws>/memory/ — per-machine auto-memory frontmatter
|
|
9
9
|
* 3. ~/claude-memory/memory.jsonl — MCP knowledge-graph JSONL
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Only these names are read; a notes folder under any other name is never
|
|
12
|
+
* scanned unless the user points `AGENT_BRAIN` at it.
|
|
13
13
|
*
|
|
14
14
|
* Privacy: entities typed `person` (+ family/contact variants) and observations
|
|
15
15
|
* containing credential-like strings default to PRIVATE and are filtered before
|
|
@@ -62,30 +62,15 @@ function isFile(p) {
|
|
|
62
62
|
return false;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
* The alias is assembled at runtime so no build artifact (bundle or sourcemap)
|
|
70
|
-
* carries it as a contiguous literal — the packed-tarball gate must stay clean
|
|
71
|
-
* without artifact-path exemptions.
|
|
72
|
-
*/
|
|
73
|
-
export const BRAIN_DIR_NAMES = [
|
|
74
|
-
"agent-brain",
|
|
75
|
-
["c", "laude-brain"].join(""),
|
|
76
|
-
];
|
|
77
|
-
/**
|
|
78
|
-
* Env overrides, most-preferred first. `CLAUDE_BRAIN` is retained for
|
|
79
|
-
* back-compat with installs that set it before the rename.
|
|
80
|
-
*/
|
|
81
|
-
export const BRAIN_ENV_VARS = ["AGENT_BRAIN", "CLAUDE_BRAIN"];
|
|
65
|
+
/** Directory names for the knowledge repo. Only these are scanned. */
|
|
66
|
+
export const BRAIN_DIR_NAMES = ["agent-brain"];
|
|
67
|
+
/** Env override pointing at the knowledge repo explicitly. */
|
|
68
|
+
export const BRAIN_ENV_VARS = ["AGENT_BRAIN"];
|
|
82
69
|
/**
|
|
83
70
|
* Locate the knowledge repo using the documented precedence order.
|
|
84
71
|
*
|
|
85
|
-
* Explicit env override wins; then `$HOME/<name>`; then `$CWD/<name>`.
|
|
86
|
-
*
|
|
87
|
-
* accepted, so an operator who has not renamed their checkout keeps working
|
|
88
|
-
* with no action.
|
|
72
|
+
* Explicit env override wins; then `$HOME/<name>`; then `$CWD/<name>`. No
|
|
73
|
+
* other directory name is ever scanned.
|
|
89
74
|
*/
|
|
90
75
|
function resolveBrainPath() {
|
|
91
76
|
for (const varName of BRAIN_ENV_VARS) {
|
|
@@ -501,7 +486,7 @@ export class ClaudeCodeParticipant {
|
|
|
501
486
|
}
|
|
502
487
|
discover() {
|
|
503
488
|
const sources = {
|
|
504
|
-
|
|
489
|
+
agent_brain: this.brainPath,
|
|
505
490
|
auto_memory: this.autoMemoryPath,
|
|
506
491
|
knowledge_graph: this.knowledgeGraphPath,
|
|
507
492
|
};
|
|
@@ -557,7 +542,7 @@ export class ClaudeCodeParticipant {
|
|
|
557
542
|
try {
|
|
558
543
|
const present = [this.brainPath, this.autoMemoryPath, this.knowledgeGraphPath].filter((p) => p !== null).length;
|
|
559
544
|
const details = {
|
|
560
|
-
|
|
545
|
+
agent_brain: this.brainPath ?? "missing",
|
|
561
546
|
auto_memory: this.autoMemoryPath ?? "missing",
|
|
562
547
|
knowledge_graph: this.knowledgeGraphPath ?? "missing",
|
|
563
548
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getbourdon/participants",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "Bourdon participants — the external-agent → L5 reader layer (BUSL-1.1). Each participant normalizes a foreign agent's native memory store into a visibility-filtered, redacted L5 manifest: read-only SQLite readers (better-sqlite3 mode=ro: hermes), file/convention readers (claude-code), and network readers (github-copilot) with a TTL JSON cache + lazy AuthProvider that never persists a token. Four invariants enforced in code, not by trust: visibility-filter-before-emission, deterministic exportL5, healthCheck never throws, redact every native string. Discovery is a static TS registry (agent_id-sorted, first-wins, log-and-skip) replacing Python's pkgutil scan. Python (pip install bourdon) is the oracle; this mirror asserts against @getbourdon/conformance native_stores fixtures.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"type": "module",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"smol-toml": "^1.9.0",
|
|
37
37
|
"yaml": "^2.6.1",
|
|
38
|
-
"@getbourdon/l5": "0.7.
|
|
39
|
-
"@getbourdon/redaction": "0.3.
|
|
38
|
+
"@getbourdon/l5": "0.7.3",
|
|
39
|
+
"@getbourdon/redaction": "0.3.5"
|
|
40
40
|
},
|
|
41
41
|
"optionalDependencies": {
|
|
42
42
|
"better-sqlite3": "^12.2.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/better-sqlite3": "^7.6.12",
|
|
46
|
-
"@getbourdon/conformance": "0.
|
|
46
|
+
"@getbourdon/conformance": "0.15.0"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "tsup",
|