@getbourdon/participants 0.2.4 → 0.3.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.
- package/LICENSE +1 -1
- package/LICENSE_FAQ.md +1 -1
- package/dist/index.cjs +12 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/readers/claude-code.js +16 -9
- package/package.json +4 -4
|
@@ -429,6 +429,18 @@ function mergeEntities(into, other) {
|
|
|
429
429
|
into.summary = other.summary;
|
|
430
430
|
}
|
|
431
431
|
into.tags = [...new Set([...(into.tags ?? []), ...(other.tags ?? [])])];
|
|
432
|
+
into.aliases = [...new Set([...(into.aliases ?? []), ...(other.aliases ?? [])])];
|
|
433
|
+
if (other.last_touched && (into.last_touched == null || other.last_touched > into.last_touched)) {
|
|
434
|
+
into.last_touched = other.last_touched;
|
|
435
|
+
}
|
|
436
|
+
// Temporal validity: the widest window either source supports. Dropping
|
|
437
|
+
// these silently republished end-of-life entities as though still active.
|
|
438
|
+
if (other.valid_from && (into.valid_from == null || other.valid_from < into.valid_from)) {
|
|
439
|
+
into.valid_from = other.valid_from;
|
|
440
|
+
}
|
|
441
|
+
if (other.valid_to && (into.valid_to == null || other.valid_to > into.valid_to)) {
|
|
442
|
+
into.valid_to = other.valid_to;
|
|
443
|
+
}
|
|
432
444
|
if (visRank(other.visibility) < visRank(into.visibility)) {
|
|
433
445
|
into.visibility = other.visibility;
|
|
434
446
|
}
|
|
@@ -436,9 +448,9 @@ function mergeEntities(into, other) {
|
|
|
436
448
|
}
|
|
437
449
|
/**
|
|
438
450
|
* Merge multiple entity lists into one, deduping by case-insensitive name.
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
*
|
|
451
|
+
* The fresh copy carries EVERY field (mirroring the oracle's `replace()`):
|
|
452
|
+
* a hand-kept field list here once dropped valid_from/valid_to, so archived
|
|
453
|
+
* projects federated as though still active.
|
|
442
454
|
*/
|
|
443
455
|
function dedupeEntities(sourceLists) {
|
|
444
456
|
const byKey = new Map();
|
|
@@ -453,14 +465,9 @@ function dedupeEntities(sourceLists) {
|
|
|
453
465
|
}
|
|
454
466
|
else {
|
|
455
467
|
byKey.set(key, makeEntity({
|
|
456
|
-
|
|
457
|
-
type: entity.type,
|
|
468
|
+
...entity,
|
|
458
469
|
aliases: [...(entity.aliases ?? [])],
|
|
459
|
-
summary: entity.summary,
|
|
460
|
-
last_touched: entity.last_touched,
|
|
461
470
|
tags: [...(entity.tags ?? [])],
|
|
462
|
-
visibility: entity.visibility,
|
|
463
|
-
// valid_from / valid_to intentionally dropped (oracle behavior).
|
|
464
471
|
}));
|
|
465
472
|
}
|
|
466
473
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getbourdon/participants",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
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.7.0",
|
|
37
37
|
"yaml": "^2.6.1",
|
|
38
|
-
"@getbourdon/l5": "0.
|
|
39
|
-
"@getbourdon/redaction": "0.1.
|
|
38
|
+
"@getbourdon/l5": "0.4.0",
|
|
39
|
+
"@getbourdon/redaction": "0.1.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.5.0"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "tsup",
|