@lucern/graph-primitives 1.0.22 → 1.0.23
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/beliefDecay.js +46 -0
- package/dist/beliefDecay.js.map +1 -1
- package/dist/beliefEvidenceLinks.js +87 -5
- package/dist/beliefEvidenceLinks.js.map +1 -1
- package/dist/beliefEvidenceLinks.operational.js +41 -5
- package/dist/beliefEvidenceLinks.operational.js.map +1 -1
- package/dist/contradictions.js +46 -0
- package/dist/contradictions.js.map +1 -1
- package/dist/edgeValidation.js +66 -1
- package/dist/edgeValidation.js.map +1 -1
- package/dist/entityBridge.js +66 -1
- package/dist/entityBridge.js.map +1 -1
- package/dist/entityLifecycle.js +90 -5
- package/dist/entityLifecycle.js.map +1 -1
- package/dist/epistemicAnswers.js +64 -11
- package/dist/epistemicAnswers.js.map +1 -1
- package/dist/epistemicBeliefs.admin.js +46 -0
- package/dist/epistemicBeliefs.admin.js.map +1 -1
- package/dist/epistemicBeliefs.backfills.js +46 -0
- package/dist/epistemicBeliefs.backfills.js.map +1 -1
- package/dist/epistemicBeliefs.confidence.d.ts +1 -1
- package/dist/epistemicBeliefs.confidence.js +53 -6
- package/dist/epistemicBeliefs.confidence.js.map +1 -1
- package/dist/epistemicBeliefs.core.js +91 -11
- package/dist/epistemicBeliefs.core.js.map +1 -1
- package/dist/epistemicBeliefs.d.ts +1 -1
- package/dist/epistemicBeliefs.forkEvidence.js.map +1 -1
- package/dist/epistemicBeliefs.helpers.d.ts +2 -2
- package/dist/epistemicBeliefs.helpers.js +46 -0
- package/dist/epistemicBeliefs.helpers.js.map +1 -1
- package/dist/epistemicBeliefs.internal.js +90 -10
- package/dist/epistemicBeliefs.internal.js.map +1 -1
- package/dist/epistemicBeliefs.js +103 -22
- package/dist/epistemicBeliefs.js.map +1 -1
- package/dist/epistemicBeliefs.lifecycle.js +53 -6
- package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
- package/dist/epistemicBeliefs.links.js +85 -4
- package/dist/epistemicBeliefs.links.js.map +1 -1
- package/dist/epistemicBeliefs.topicAnchor.js +39 -8
- package/dist/epistemicBeliefs.topicAnchor.js.map +1 -1
- package/dist/epistemicContracts.evaluators.js +53 -6
- package/dist/epistemicContracts.evaluators.js.map +1 -1
- package/dist/epistemicContracts.handlers.js +54 -10
- package/dist/epistemicContracts.handlers.js.map +1 -1
- package/dist/epistemicContracts.js +54 -10
- package/dist/epistemicContracts.js.map +1 -1
- package/dist/epistemicEdges.d.ts +1 -1
- package/dist/epistemicEdges.handlers.js +48 -3
- package/dist/epistemicEdges.handlers.js.map +1 -1
- package/dist/epistemicEdges.helpers.d.ts +3 -3
- package/dist/epistemicEdges.js +162 -4
- package/dist/epistemicEdges.js.map +1 -1
- package/dist/epistemicEdges.mutations.js +112 -1
- package/dist/epistemicEdges.mutations.js.map +1 -1
- package/dist/epistemicEdges.queries.js +46 -0
- package/dist/epistemicEdges.queries.js.map +1 -1
- package/dist/epistemicEdges.types.d.ts +1 -1
- package/dist/epistemicEvidence.d.ts +1 -1
- package/dist/epistemicEvidence.js +168 -14
- package/dist/epistemicEvidence.js.map +1 -1
- package/dist/epistemicEvidenceHelpers.d.ts +1 -1
- package/dist/epistemicEvidenceHelpers.js +46 -0
- package/dist/epistemicEvidenceHelpers.js.map +1 -1
- package/dist/epistemicEvidenceMutations.js +168 -14
- package/dist/epistemicEvidenceMutations.js.map +1 -1
- package/dist/epistemicEvidenceQueries.js +46 -0
- package/dist/epistemicEvidenceQueries.js.map +1 -1
- package/dist/epistemicHelpers.js +11 -6
- package/dist/epistemicHelpers.js.map +1 -1
- package/dist/epistemicInsert.d.ts +8 -0
- package/dist/epistemicInsert.js +45 -0
- package/dist/epistemicInsert.js.map +1 -0
- package/dist/epistemicNodeCreation.js +11 -6
- package/dist/epistemicNodeCreation.js.map +1 -1
- package/dist/epistemicNodes.helpers.d.ts +1 -1
- package/dist/epistemicNodes.internal.js +53 -1
- package/dist/epistemicNodes.internal.js.map +1 -1
- package/dist/epistemicNodes.js +56 -4
- package/dist/epistemicNodes.js.map +1 -1
- package/dist/epistemicNodes.mutations.js +55 -3
- package/dist/epistemicNodes.mutations.js.map +1 -1
- package/dist/epistemicNodes.queries.js +46 -0
- package/dist/epistemicNodes.queries.js.map +1 -1
- package/dist/epistemicNodes.validators.d.ts +1 -1
- package/dist/epistemicQuestions.conviction.js +46 -0
- package/dist/epistemicQuestions.conviction.js.map +1 -1
- package/dist/epistemicQuestions.create.js +58 -7
- package/dist/epistemicQuestions.create.js.map +1 -1
- package/dist/epistemicQuestions.d.ts +1 -1
- package/dist/epistemicQuestions.evidence.js +53 -2
- package/dist/epistemicQuestions.evidence.js.map +1 -1
- package/dist/epistemicQuestions.helpers.d.ts +1 -1
- package/dist/epistemicQuestions.helpers.js +46 -0
- package/dist/epistemicQuestions.helpers.js.map +1 -1
- package/dist/epistemicQuestions.js +60 -9
- package/dist/epistemicQuestions.js.map +1 -1
- package/dist/epistemicQuestions.lifecycle.js +46 -0
- package/dist/epistemicQuestions.lifecycle.js.map +1 -1
- package/dist/epistemicQuestions.queries.js +46 -0
- package/dist/epistemicQuestions.queries.js.map +1 -1
- package/dist/epistemicQuestions.sprint.js +46 -0
- package/dist/epistemicQuestions.sprint.js.map +1 -1
- package/dist/epistemicQuestions.tail.js +53 -2
- package/dist/epistemicQuestions.tail.js.map +1 -1
- package/dist/epistemicSources.js +53 -2
- package/dist/epistemicSources.js.map +1 -1
- package/dist/helpers.js +66 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +304 -76
- package/dist/index.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/questionEvidenceLinks.js +46 -0
- package/dist/questionEvidenceLinks.js.map +1 -1
- package/dist/scopeResolverCompat.d.ts +1 -1
- package/dist/scopeResolverCompat.js +46 -0
- package/dist/scopeResolverCompat.js.map +1 -1
- package/dist/{topicScope-By_zp4tt.d.ts → topicScope-7zhyeGl7.d.ts} +1 -1
- package/dist/topicScope.d.ts +1 -1
- package/dist/topicScope.js +46 -0
- package/dist/topicScope.js.map +1 -1
- package/dist/workflowBridge.js +46 -0
- package/dist/workflowBridge.js.map +1 -1
- package/dist/workspaceIsolation.d.ts +1 -1
- package/dist/workspaceIsolation.js +46 -0
- package/dist/workspaceIsolation.js.map +1 -1
- package/package.json +4 -4
|
@@ -431,6 +431,35 @@ function debugGraphPrimitiveFallback(message, context) {
|
|
|
431
431
|
|
|
432
432
|
// src/topicScope.ts
|
|
433
433
|
var LEGACY_SCOPE_FIELD = "graphScopeProjectId";
|
|
434
|
+
async function resolveTopicNodeScopeOrNull(ctx, ref) {
|
|
435
|
+
if (!ctx?.db || typeof ctx.db.query !== "function") {
|
|
436
|
+
return null;
|
|
437
|
+
}
|
|
438
|
+
let node = null;
|
|
439
|
+
try {
|
|
440
|
+
const byGlobalId = await ctx.db.query("epistemicNodes").withIndex("by_globalId", (q) => q.eq("globalId", ref)).first();
|
|
441
|
+
if (byGlobalId && byGlobalId.nodeType === "topic") {
|
|
442
|
+
node = byGlobalId;
|
|
443
|
+
}
|
|
444
|
+
} catch (error) {
|
|
445
|
+
debugGraphPrimitiveFallback(
|
|
446
|
+
"[topicScope] topic-node scope lookup by globalId failed",
|
|
447
|
+
{ error, ref }
|
|
448
|
+
);
|
|
449
|
+
}
|
|
450
|
+
if (!node) {
|
|
451
|
+
return null;
|
|
452
|
+
}
|
|
453
|
+
const scopeKey = normalizeScopeValue(node.topicId) ?? normalizeScopeValue(node.globalId);
|
|
454
|
+
if (!scopeKey) {
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
return {
|
|
458
|
+
topicId: scopeKey,
|
|
459
|
+
projectId: asMappedProjectId(node),
|
|
460
|
+
source: "topic_node"
|
|
461
|
+
};
|
|
462
|
+
}
|
|
434
463
|
function asMappedProjectId(topic) {
|
|
435
464
|
if (!topic) {
|
|
436
465
|
return;
|
|
@@ -571,6 +600,13 @@ async function resolveTopicProjectScope(ctx, args) {
|
|
|
571
600
|
) ?? null;
|
|
572
601
|
}
|
|
573
602
|
if (!topic) {
|
|
603
|
+
const nodeScope = await resolveTopicNodeScopeOrNull(
|
|
604
|
+
ctx,
|
|
605
|
+
String(args.topicId)
|
|
606
|
+
);
|
|
607
|
+
if (nodeScope) {
|
|
608
|
+
return nodeScope;
|
|
609
|
+
}
|
|
574
610
|
throw new Error(`Topic not found: ${String(args.topicId)}`);
|
|
575
611
|
}
|
|
576
612
|
const inherited = await resolveInheritedWorkspaceScope(ctx, topic);
|
|
@@ -641,6 +677,16 @@ async function resolveTopicProjectScope(ctx, args) {
|
|
|
641
677
|
source: "project_mapped_topic"
|
|
642
678
|
};
|
|
643
679
|
}
|
|
680
|
+
const nodeScope = await resolveTopicNodeScopeOrNull(
|
|
681
|
+
ctx,
|
|
682
|
+
String(args.projectId)
|
|
683
|
+
);
|
|
684
|
+
if (nodeScope) {
|
|
685
|
+
return {
|
|
686
|
+
...nodeScope,
|
|
687
|
+
projectId: nodeScope.projectId ?? String(args.projectId)
|
|
688
|
+
};
|
|
689
|
+
}
|
|
644
690
|
throw new Error(
|
|
645
691
|
`Legacy project scope ${String(args.projectId)} has no mapped topic.`
|
|
646
692
|
);
|
|
@@ -1242,14 +1288,14 @@ async function applyBeliefConfidenceChange(ctx, args) {
|
|
|
1242
1288
|
beliefConfidenceId
|
|
1243
1289
|
};
|
|
1244
1290
|
}
|
|
1245
|
-
function
|
|
1291
|
+
function propagationPressureLabel(edgeType, weight) {
|
|
1246
1292
|
if (edgeType === "contradicts" || edgeType === "refutes") {
|
|
1247
|
-
return "
|
|
1293
|
+
return "contradictory";
|
|
1248
1294
|
}
|
|
1249
1295
|
if ((edgeType === "supports" || edgeType === "informs") && weight < 0) {
|
|
1250
|
-
return "
|
|
1296
|
+
return "contradictory";
|
|
1251
1297
|
}
|
|
1252
|
-
return "
|
|
1298
|
+
return "supportive";
|
|
1253
1299
|
}
|
|
1254
1300
|
var propagateConfidenceChange = internalMutation({
|
|
1255
1301
|
args: {
|
|
@@ -1286,14 +1332,15 @@ var propagateConfidenceChange = internalMutation({
|
|
|
1286
1332
|
getNode: async (nodeId) => await ctx.db.get(nodeId)
|
|
1287
1333
|
});
|
|
1288
1334
|
for (const dispatch of dispatches) {
|
|
1335
|
+
const pressureLabel = propagationPressureLabel(dispatch.edgeType, dispatch.weight);
|
|
1289
1336
|
await applyBeliefConfidenceChange(ctx, {
|
|
1290
1337
|
nodeId: dispatch.targetNodeId,
|
|
1291
1338
|
belief: dispatch.opinion.b,
|
|
1292
1339
|
disbelief: dispatch.opinion.d,
|
|
1293
1340
|
uncertainty: dispatch.opinion.u,
|
|
1294
1341
|
baseRate: dispatch.opinion.a,
|
|
1295
|
-
trigger:
|
|
1296
|
-
rationale: `SL propagation via ${dispatch.edgeType} edge: ${dispatch.rationale}`,
|
|
1342
|
+
trigger: "propagation",
|
|
1343
|
+
rationale: `SL propagation via ${dispatch.edgeType} edge (pressure: ${pressureLabel}): ${dispatch.rationale}`,
|
|
1297
1344
|
authenticatedUserId: args.userId,
|
|
1298
1345
|
slOperator: dispatch.operator
|
|
1299
1346
|
});
|