sphica 0.6.28 → 0.6.29
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
|
|
3
3
|
"name": "sphica",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.29",
|
|
5
5
|
"description": "Records Claude Code and Codex sessions on your machine and keeps past implementation and decisions, with their sources, for your agent to find.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "iroha924",
|
package/dist/mcp-record.js
CHANGED
|
@@ -47877,7 +47877,6 @@ async function checkRecord(db, target, raw, facts = prepareRecord(target.root, r
|
|
|
47877
47877
|
];
|
|
47878
47878
|
const others = new Map((linked.length ? await db.selectFrom("unit").select(["id", "key", "kind", "lifecycle"]).where("project_id", "=", target.projectId).where("key", "in", linked).execute() : []).map((u) => [u.key, u]));
|
|
47879
47879
|
const holders = new Map((others.size ? await db.selectFrom("unit_link as l").innerJoin("unit as n", "n.id", "l.from_unit").select(["l.to_unit", "n.key", "n.lifecycle"]).where("l.kind", "=", "supersedes").where("l.to_unit", "in", [...others.values()].map((o) => o.id)).where("n.lifecycle", "<>", "withdrawn").where("n.extraction", "=", "supported").where("n.unsourced", "=", 0).execute() : []).map((h) => [h.to_unit, h]));
|
|
47880
|
-
const maintainers = new Set(record3.units.some((u) => u.supersedes || u.conflicts.length) ? (await db.selectFrom("source").select("author_login").distinct().where("project_id", "=", target.projectId).where("author_association", "in", [...MAINTAINERS]).execute()).flatMap((r) => r.author_login ? [r.author_login] : []) : []);
|
|
47881
47880
|
const units = [];
|
|
47882
47881
|
const claimed = new Set;
|
|
47883
47882
|
for (const [i, u] of record3.units.entries()) {
|
|
@@ -47933,7 +47932,7 @@ async function checkRecord(db, target, raw, facts = prepareRecord(target.root, r
|
|
|
47933
47932
|
if (target.origin !== "trace" && (u.supersedes || u.conflicts.length)) {
|
|
47934
47933
|
const trusted = [...u.evidence, ...u.adoption].some((q) => {
|
|
47935
47934
|
const s = sources.get(Number(q.source.slice(1)));
|
|
47936
|
-
return s && (s.kind === "session_message" || s.author_kind === "owner" || MAINTAINERS.has(s.author_association ?? "")
|
|
47935
|
+
return s && (s.kind === "session_message" || s.author_kind === "owner" || MAINTAINERS.has(s.author_association ?? ""));
|
|
47937
47936
|
});
|
|
47938
47937
|
if (!trusted)
|
|
47939
47938
|
errors3.push(`${key}: supersedes and conflicts from ${target.origin} need the owner's or a maintainer's words, or the owner's session`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sphica",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.29",
|
|
4
4
|
"description": "Records Claude Code and Codex sessions on your machine and keeps past implementation and decisions, with their sources, for your agent to find.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|