@signetai/connector-base 0.146.4 → 0.146.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/dist/index.js +164 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -9620,6 +9620,155 @@ function up82(db) {
|
|
|
9620
9620
|
`);
|
|
9621
9621
|
db.exec("CREATE INDEX IF NOT EXISTS idx_skill_inv_harness ON skill_invocations(harness, created_at)");
|
|
9622
9622
|
}
|
|
9623
|
+
var DEPENDENCY_TYPES = new Set([
|
|
9624
|
+
"uses",
|
|
9625
|
+
"requires",
|
|
9626
|
+
"owned_by",
|
|
9627
|
+
"owns",
|
|
9628
|
+
"blocks",
|
|
9629
|
+
"informs",
|
|
9630
|
+
"maintains",
|
|
9631
|
+
"implements",
|
|
9632
|
+
"built",
|
|
9633
|
+
"depends_on",
|
|
9634
|
+
"related_to",
|
|
9635
|
+
"learned_from",
|
|
9636
|
+
"teaches",
|
|
9637
|
+
"knows",
|
|
9638
|
+
"assumes",
|
|
9639
|
+
"supports_claim",
|
|
9640
|
+
"authored_by",
|
|
9641
|
+
"links_to",
|
|
9642
|
+
"contains",
|
|
9643
|
+
"contains_note",
|
|
9644
|
+
"contradicts",
|
|
9645
|
+
"supersedes",
|
|
9646
|
+
"part_of",
|
|
9647
|
+
"produced_artifact",
|
|
9648
|
+
"precedes",
|
|
9649
|
+
"follows",
|
|
9650
|
+
"triggers",
|
|
9651
|
+
"may_execute",
|
|
9652
|
+
"requires_approval_from",
|
|
9653
|
+
"impacts",
|
|
9654
|
+
"produces",
|
|
9655
|
+
"consumes"
|
|
9656
|
+
]);
|
|
9657
|
+
function sqlStringList(values) {
|
|
9658
|
+
return [...values].map((value) => `'${value}'`).join(", ");
|
|
9659
|
+
}
|
|
9660
|
+
function hasTable3(db, table) {
|
|
9661
|
+
return Boolean(db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(table));
|
|
9662
|
+
}
|
|
9663
|
+
function hasColumn12(db, table, column) {
|
|
9664
|
+
const rows = db.prepare(`PRAGMA table_info(${table})`).all();
|
|
9665
|
+
return rows.some((row) => row.name === column);
|
|
9666
|
+
}
|
|
9667
|
+
function addColumnIfMissing20(db, table, column, definition) {
|
|
9668
|
+
if (!hasColumn12(db, table, column))
|
|
9669
|
+
db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
|
|
9670
|
+
}
|
|
9671
|
+
function documentScopeColumnsPreservingExisting(db) {
|
|
9672
|
+
const preserveAgentId = hasColumn12(db, "documents", "agent_id");
|
|
9673
|
+
const preserveProject = hasColumn12(db, "documents", "project");
|
|
9674
|
+
if (preserveAgentId) {
|
|
9675
|
+
db.exec(`
|
|
9676
|
+
CREATE TEMP TABLE __signet_doc_agent_guard AS
|
|
9677
|
+
SELECT id, agent_id FROM documents
|
|
9678
|
+
WHERE NULLIF(TRIM(agent_id), '') IS NOT NULL
|
|
9679
|
+
AND NULLIF(TRIM(agent_id), '') <> 'default'
|
|
9680
|
+
`);
|
|
9681
|
+
}
|
|
9682
|
+
if (preserveProject) {
|
|
9683
|
+
db.exec(`
|
|
9684
|
+
CREATE TEMP TABLE __signet_doc_project_guard AS
|
|
9685
|
+
SELECT id, project FROM documents
|
|
9686
|
+
WHERE NULLIF(TRIM(project), '') IS NOT NULL
|
|
9687
|
+
`);
|
|
9688
|
+
}
|
|
9689
|
+
try {
|
|
9690
|
+
up80(db);
|
|
9691
|
+
if (preserveAgentId) {
|
|
9692
|
+
db.exec(`
|
|
9693
|
+
UPDATE documents
|
|
9694
|
+
SET agent_id = (SELECT agent_id FROM __signet_doc_agent_guard WHERE __signet_doc_agent_guard.id = documents.id)
|
|
9695
|
+
WHERE EXISTS (SELECT 1 FROM __signet_doc_agent_guard WHERE __signet_doc_agent_guard.id = documents.id)
|
|
9696
|
+
`);
|
|
9697
|
+
}
|
|
9698
|
+
if (preserveProject) {
|
|
9699
|
+
db.exec(`
|
|
9700
|
+
UPDATE documents
|
|
9701
|
+
SET project = (SELECT project FROM __signet_doc_project_guard WHERE __signet_doc_project_guard.id = documents.id)
|
|
9702
|
+
WHERE EXISTS (SELECT 1 FROM __signet_doc_project_guard WHERE __signet_doc_project_guard.id = documents.id)
|
|
9703
|
+
`);
|
|
9704
|
+
}
|
|
9705
|
+
} finally {
|
|
9706
|
+
db.exec("DROP TABLE IF EXISTS temp.__signet_doc_agent_guard");
|
|
9707
|
+
db.exec("DROP TABLE IF EXISTS temp.__signet_doc_project_guard");
|
|
9708
|
+
}
|
|
9709
|
+
}
|
|
9710
|
+
function up83(db) {
|
|
9711
|
+
up79(db);
|
|
9712
|
+
if (hasTable3(db, "documents")) {
|
|
9713
|
+
documentScopeColumnsPreservingExisting(db);
|
|
9714
|
+
}
|
|
9715
|
+
up81(db);
|
|
9716
|
+
addColumnIfMissing20(db, "memories", "superseded_by", "TEXT");
|
|
9717
|
+
addColumnIfMissing20(db, "memories", "superseded_at", "TEXT");
|
|
9718
|
+
addColumnIfMissing20(db, "memories", "superseded_reason", "TEXT");
|
|
9719
|
+
db.exec("CREATE INDEX IF NOT EXISTS idx_memories_superseded_by ON memories(superseded_by)");
|
|
9720
|
+
db.exec("CREATE INDEX IF NOT EXISTS idx_memories_active_supersession ON memories(is_deleted, superseded_by)");
|
|
9721
|
+
if (!hasTable3(db, "relations") || !hasTable3(db, "entity_dependencies"))
|
|
9722
|
+
return;
|
|
9723
|
+
addColumnIfMissing20(db, "entity_dependencies", "confidence", "REAL");
|
|
9724
|
+
addColumnIfMissing20(db, "entity_dependencies", "reason", "TEXT");
|
|
9725
|
+
addColumnIfMissing20(db, "entity_dependencies", "source_id", "TEXT");
|
|
9726
|
+
addColumnIfMissing20(db, "entity_dependencies", "source_kind", "TEXT");
|
|
9727
|
+
addColumnIfMissing20(db, "entity_dependencies", "proposal_evidence", "TEXT NOT NULL DEFAULT '[]'");
|
|
9728
|
+
addColumnIfMissing20(db, "entity_dependencies", "status", "TEXT NOT NULL DEFAULT 'active'");
|
|
9729
|
+
const relationConfidence = hasColumn12(db, "relations", "confidence") ? "r.confidence" : "NULL";
|
|
9730
|
+
const relationUpdatedAt = hasColumn12(db, "relations", "updated_at") ? "r.updated_at" : "r.created_at";
|
|
9731
|
+
const sourceAgentId = hasColumn12(db, "entities", "agent_id") ? "COALESCE(NULLIF(TRIM(src.agent_id), ''), 'default')" : "'default'";
|
|
9732
|
+
const targetAgentId = hasColumn12(db, "entities", "agent_id") ? "COALESCE(NULLIF(TRIM(dst.agent_id), ''), 'default')" : "'default'";
|
|
9733
|
+
db.exec(`
|
|
9734
|
+
INSERT OR IGNORE INTO entity_dependencies (
|
|
9735
|
+
id,
|
|
9736
|
+
source_entity_id,
|
|
9737
|
+
target_entity_id,
|
|
9738
|
+
agent_id,
|
|
9739
|
+
dependency_type,
|
|
9740
|
+
strength,
|
|
9741
|
+
confidence,
|
|
9742
|
+
reason,
|
|
9743
|
+
created_at,
|
|
9744
|
+
updated_at,
|
|
9745
|
+
source_id,
|
|
9746
|
+
source_kind,
|
|
9747
|
+
proposal_evidence,
|
|
9748
|
+
status
|
|
9749
|
+
)
|
|
9750
|
+
SELECT
|
|
9751
|
+
'relation:' || r.id,
|
|
9752
|
+
r.source_entity_id,
|
|
9753
|
+
r.target_entity_id,
|
|
9754
|
+
COALESCE(${sourceAgentId}, ${targetAgentId}, 'default'),
|
|
9755
|
+
CASE WHEN r.relation_type IN (${sqlStringList(DEPENDENCY_TYPES)}) THEN r.relation_type ELSE 'related_to' END,
|
|
9756
|
+
MAX(0.1, MIN(1.0, COALESCE(r.strength, 0.5))),
|
|
9757
|
+
MAX(0.1, MIN(1.0, COALESCE(${relationConfidence}, 0.7))),
|
|
9758
|
+
'legacy relation backfill: ' || r.relation_type,
|
|
9759
|
+
COALESCE(r.created_at, datetime('now')),
|
|
9760
|
+
COALESCE(${relationUpdatedAt}, r.created_at, datetime('now')),
|
|
9761
|
+
r.id,
|
|
9762
|
+
'relation',
|
|
9763
|
+
'[]',
|
|
9764
|
+
'active'
|
|
9765
|
+
FROM relations r
|
|
9766
|
+
JOIN entities src ON src.id = r.source_entity_id
|
|
9767
|
+
JOIN entities dst ON dst.id = r.target_entity_id
|
|
9768
|
+
WHERE r.source_entity_id <> r.target_entity_id
|
|
9769
|
+
AND ${sourceAgentId} = ${targetAgentId}
|
|
9770
|
+
`);
|
|
9771
|
+
}
|
|
9623
9772
|
var MIGRATIONS = [
|
|
9624
9773
|
{
|
|
9625
9774
|
version: 1,
|
|
@@ -10284,6 +10433,21 @@ var MIGRATIONS = [
|
|
|
10284
10433
|
{ table: "skill_invocations", column: "tool_use_id" }
|
|
10285
10434
|
]
|
|
10286
10435
|
}
|
|
10436
|
+
},
|
|
10437
|
+
{
|
|
10438
|
+
version: 83,
|
|
10439
|
+
name: "memory-lifecycle-repair",
|
|
10440
|
+
up: up83,
|
|
10441
|
+
artifacts: {
|
|
10442
|
+
tables: ["transcript_capture_jobs", "aggregate_evidence_sources", "entity_dependencies"],
|
|
10443
|
+
columns: [
|
|
10444
|
+
{ table: "documents", column: "agent_id" },
|
|
10445
|
+
{ table: "documents", column: "project" },
|
|
10446
|
+
{ table: "memories", column: "superseded_by" },
|
|
10447
|
+
{ table: "memories", column: "superseded_at" },
|
|
10448
|
+
{ table: "memories", column: "superseded_reason" }
|
|
10449
|
+
]
|
|
10450
|
+
}
|
|
10287
10451
|
}
|
|
10288
10452
|
];
|
|
10289
10453
|
var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signetai/connector-base",
|
|
3
|
-
"version": "0.146.
|
|
3
|
+
"version": "0.146.5",
|
|
4
4
|
"description": "Base class for Signet harness connectors",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"typecheck": "tsc --noEmit"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@signetai/core": "0.146.
|
|
25
|
+
"@signetai/core": "0.146.5"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.0.0",
|