@lucern/graph-primitives 1.0.31 → 1.0.33
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/beliefEvidenceLinks.js.map +1 -1
- package/dist/beliefEvidenceLinks.operational.js.map +1 -1
- package/dist/contradictions.js +5 -5
- package/dist/contradictions.js.map +1 -1
- package/dist/entityBridge.js +2 -1
- package/dist/entityBridge.js.map +1 -1
- package/dist/entityLifecycle.js.map +1 -1
- package/dist/epistemicAnswers.js +1 -1
- package/dist/epistemicAnswers.js.map +1 -1
- package/dist/epistemicBeliefs.admin.js +2 -2
- package/dist/epistemicBeliefs.admin.js.map +1 -1
- package/dist/epistemicBeliefs.backfills.js +9 -5
- package/dist/epistemicBeliefs.backfills.js.map +1 -1
- package/dist/epistemicBeliefs.confidence.js +3 -5
- package/dist/epistemicBeliefs.confidence.js.map +1 -1
- package/dist/epistemicBeliefs.core.js +20 -30
- package/dist/epistemicBeliefs.core.js.map +1 -1
- package/dist/epistemicBeliefs.forkEvidence.js.map +1 -1
- package/dist/epistemicBeliefs.helpers.js +1 -1
- package/dist/epistemicBeliefs.helpers.js.map +1 -1
- package/dist/epistemicBeliefs.internal.js +15 -25
- package/dist/epistemicBeliefs.internal.js.map +1 -1
- package/dist/epistemicBeliefs.js +33 -43
- package/dist/epistemicBeliefs.js.map +1 -1
- package/dist/epistemicBeliefs.lifecycle.js +3 -5
- package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
- package/dist/epistemicBeliefs.links.js +1 -1
- package/dist/epistemicBeliefs.links.js.map +1 -1
- package/dist/epistemicBeliefs.queries.js.map +1 -1
- package/dist/epistemicBeliefs.topicAnchor.js +12 -22
- package/dist/epistemicBeliefs.topicAnchor.js.map +1 -1
- package/dist/epistemicContracts.evaluators.js +3 -5
- package/dist/epistemicContracts.evaluators.js.map +1 -1
- package/dist/epistemicContracts.handlers.js +3 -6
- package/dist/epistemicContracts.handlers.js.map +1 -1
- package/dist/epistemicContracts.js +3 -6
- package/dist/epistemicContracts.js.map +1 -1
- package/dist/epistemicEdgeCreation.js.map +1 -1
- package/dist/epistemicEdges.handlers.js.map +1 -1
- package/dist/epistemicEdges.js +6 -7
- package/dist/epistemicEdges.js.map +1 -1
- package/dist/epistemicEdges.mutations.js +3 -4
- package/dist/epistemicEdges.mutations.js.map +1 -1
- package/dist/epistemicEdges.queries.js +3 -3
- package/dist/epistemicEdges.queries.js.map +1 -1
- package/dist/epistemicEvidence.js +10 -10
- package/dist/epistemicEvidence.js.map +1 -1
- package/dist/epistemicEvidenceHelpers.js +1 -1
- package/dist/epistemicEvidenceHelpers.js.map +1 -1
- package/dist/epistemicEvidenceMutations.js +5 -5
- package/dist/epistemicEvidenceMutations.js.map +1 -1
- package/dist/epistemicEvidenceQueries.js +6 -6
- package/dist/epistemicEvidenceQueries.js.map +1 -1
- package/dist/epistemicHelpers.js +4 -4
- package/dist/epistemicHelpers.js.map +1 -1
- package/dist/epistemicInsert.js.map +1 -1
- package/dist/epistemicLayerRules.js +2 -2
- package/dist/epistemicLayerRules.js.map +1 -1
- package/dist/epistemicLinking.js.map +1 -1
- package/dist/epistemicNodeCreation.js +2 -2
- package/dist/epistemicNodeCreation.js.map +1 -1
- package/dist/epistemicNodes.internal.js +2 -3
- package/dist/epistemicNodes.internal.js.map +1 -1
- package/dist/epistemicNodes.js +10 -12
- package/dist/epistemicNodes.js.map +1 -1
- package/dist/epistemicNodes.mutations.js +3 -4
- package/dist/epistemicNodes.mutations.js.map +1 -1
- package/dist/epistemicNodes.queries.js +5 -5
- package/dist/epistemicNodes.queries.js.map +1 -1
- package/dist/epistemicQuestions.conviction.js +5 -5
- package/dist/epistemicQuestions.conviction.js.map +1 -1
- package/dist/epistemicQuestions.create.js +7 -7
- package/dist/epistemicQuestions.create.js.map +1 -1
- package/dist/epistemicQuestions.evidence.js +2 -2
- package/dist/epistemicQuestions.evidence.js.map +1 -1
- package/dist/epistemicQuestions.helpers.js +7 -4
- package/dist/epistemicQuestions.helpers.js.map +1 -1
- package/dist/epistemicQuestions.js +16 -13
- package/dist/epistemicQuestions.js.map +1 -1
- package/dist/epistemicQuestions.lifecycle.js.map +1 -1
- package/dist/epistemicQuestions.queries.js +2 -2
- package/dist/epistemicQuestions.queries.js.map +1 -1
- package/dist/epistemicQuestions.sprint.js +6 -3
- package/dist/epistemicQuestions.sprint.js.map +1 -1
- package/dist/epistemicQuestions.tail.js +2 -2
- package/dist/epistemicQuestions.tail.js.map +1 -1
- package/dist/epistemicSources.js.map +1 -1
- package/dist/index.js +88 -98
- package/dist/index.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/questionEvidenceLinks.js +3 -2
- package/dist/questionEvidenceLinks.js.map +1 -1
- package/package.json +4 -4
|
@@ -10,7 +10,7 @@ import { throwStructuredMutationError } from '@lucern/access-control/structuredM
|
|
|
10
10
|
import { normalizeTupleContradictionPolicy, createInheritedContractRecord, confidenceFromSL } from '@lucern/confidence';
|
|
11
11
|
import { isNodeType, getLayerForNodeType } from '@lucern/contracts/schema-helpers/spine/tables/epistemicNodes';
|
|
12
12
|
import { assertEdgePolicyAllowed, edgePolicyManifest } from '@lucern/contracts';
|
|
13
|
-
import { generateGlobalId, assertUuidV7Identity, generateUuidV7, assertStorageEdgeVocabulary, assertUuidShapedEdgeEndpoint } from '@lucern/contracts/ids';
|
|
13
|
+
import { generateGlobalId, assertUuidV7Identity, generateUuidV7, assertStorageEdgeVocabulary, isUuidV7, assertUuidShapedEdgeEndpoint } from '@lucern/contracts/ids';
|
|
14
14
|
|
|
15
15
|
// src/epistemicBeliefs.core.ts
|
|
16
16
|
|
|
@@ -1165,36 +1165,26 @@ async function insertEpistemicEdge(ctx, doc) {
|
|
|
1165
1165
|
function cleanString(value) {
|
|
1166
1166
|
return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
|
|
1167
1167
|
}
|
|
1168
|
-
function
|
|
1168
|
+
function requireTopicGlobalId(topicRef) {
|
|
1169
1169
|
const normalized = topicRef.trim();
|
|
1170
|
-
if (!normalized) {
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
if (normalized.startsWith("top_")) {
|
|
1175
|
-
candidates.push(normalized.slice(4));
|
|
1170
|
+
if (!(normalized && isUuidV7(normalized))) {
|
|
1171
|
+
throw new Error(
|
|
1172
|
+
"Belief creation topic anchors must be UUIDv7 epistemicNodes.globalId values."
|
|
1173
|
+
);
|
|
1176
1174
|
}
|
|
1177
|
-
return
|
|
1175
|
+
return normalized;
|
|
1178
1176
|
}
|
|
1179
1177
|
function readTopicNodeRef(args) {
|
|
1180
1178
|
return cleanString(args.topicGlobalId) ?? cleanString(args.topicNodeId) ?? cleanString(args.topicId);
|
|
1181
1179
|
}
|
|
1182
1180
|
async function resolveRequiredTopicAnchor(ctx, topicRef) {
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
return direct;
|
|
1188
|
-
}
|
|
1189
|
-
} catch {
|
|
1190
|
-
}
|
|
1191
|
-
const byGlobalId = await ctx.db.query("epistemicNodes").withIndex("by_globalId", (q) => q.eq("globalId", candidate)).first();
|
|
1192
|
-
if (byGlobalId?.nodeType === "topic" && cleanString(byGlobalId.globalId)) {
|
|
1193
|
-
return byGlobalId;
|
|
1194
|
-
}
|
|
1181
|
+
const topicGlobalId = requireTopicGlobalId(topicRef);
|
|
1182
|
+
const byGlobalId = await ctx.db.query("epistemicNodes").withIndex("by_globalId", (q) => q.eq("globalId", topicGlobalId)).first();
|
|
1183
|
+
if (byGlobalId?.nodeType === "topic" && cleanString(byGlobalId.globalId)) {
|
|
1184
|
+
return byGlobalId;
|
|
1195
1185
|
}
|
|
1196
1186
|
throw new Error(
|
|
1197
|
-
"Belief creation requires
|
|
1187
|
+
"Belief creation requires a UUIDv7 topicGlobalId for a topic node in epistemicNodes. Legacy topics-table IDs are not valid belief anchors."
|
|
1198
1188
|
);
|
|
1199
1189
|
}
|
|
1200
1190
|
function scopeFromTopicAnchor(topicNode) {
|
|
@@ -1705,7 +1695,7 @@ var create = mutation({
|
|
|
1705
1695
|
projectId: scope.projectId,
|
|
1706
1696
|
topicId: String(scope.topicId)
|
|
1707
1697
|
});
|
|
1708
|
-
if (scope.
|
|
1698
|
+
if (scope.topicId) {
|
|
1709
1699
|
await ctx.scheduler.runAfter(
|
|
1710
1700
|
0,
|
|
1711
1701
|
"embeddingActions:generateEpistemicNodeEmbedding",
|
|
@@ -1724,7 +1714,7 @@ Rationale: ${args.rationale}` : args.formulation
|
|
|
1724
1714
|
}
|
|
1725
1715
|
);
|
|
1726
1716
|
}
|
|
1727
|
-
if (scope.
|
|
1717
|
+
if (scope.topicId) {
|
|
1728
1718
|
await ctx.scheduler.runAfter(
|
|
1729
1719
|
2e3,
|
|
1730
1720
|
// 2 second delay
|
|
@@ -1737,7 +1727,7 @@ Rationale: ${args.rationale}` : args.formulation
|
|
|
1737
1727
|
}
|
|
1738
1728
|
);
|
|
1739
1729
|
}
|
|
1740
|
-
if (pillar === "other" &&
|
|
1730
|
+
if (pillar === "other" && scope.topicId) {
|
|
1741
1731
|
await ctx.scheduler.runAfter(
|
|
1742
1732
|
2500,
|
|
1743
1733
|
"beliefCategorization:autoCategorizeBelief",
|
|
@@ -1748,7 +1738,7 @@ Rationale: ${args.rationale}` : args.formulation
|
|
|
1748
1738
|
}
|
|
1749
1739
|
);
|
|
1750
1740
|
}
|
|
1751
|
-
if (scope.
|
|
1741
|
+
if (scope.topicId) {
|
|
1752
1742
|
await ctx.scheduler.runAfter(
|
|
1753
1743
|
3e3,
|
|
1754
1744
|
// 3 second delay — after entity extraction
|
|
@@ -2016,7 +2006,7 @@ var getByProject = query({
|
|
|
2016
2006
|
},
|
|
2017
2007
|
returns: permissiveReturn,
|
|
2018
2008
|
handler: async (ctx, args) => {
|
|
2019
|
-
if (!
|
|
2009
|
+
if (!args.topicId) {
|
|
2020
2010
|
return [];
|
|
2021
2011
|
}
|
|
2022
2012
|
const pageSize = clampBeliefLimit(args.limit);
|
|
@@ -2039,7 +2029,7 @@ var getByProject = query({
|
|
|
2039
2029
|
return [];
|
|
2040
2030
|
}
|
|
2041
2031
|
if (args.userId) {
|
|
2042
|
-
const scopeId = scope.topicId ? String(scope.topicId) :
|
|
2032
|
+
const scopeId = scope.topicId ? String(scope.topicId) : void 0;
|
|
2043
2033
|
if (!scopeId) {
|
|
2044
2034
|
return [];
|
|
2045
2035
|
}
|
|
@@ -2196,7 +2186,7 @@ var forkBelief = mutation({
|
|
|
2196
2186
|
supersededBy: newNodeId,
|
|
2197
2187
|
updatedAt: now,
|
|
2198
2188
|
metadata: {
|
|
2199
|
-
...metadata
|
|
2189
|
+
...metadata,
|
|
2200
2190
|
status: "superseded",
|
|
2201
2191
|
beliefStatus: "superseded",
|
|
2202
2192
|
epistemicStatus: "superseded",
|
|
@@ -2276,7 +2266,7 @@ var forkBelief = mutation({
|
|
|
2276
2266
|
projectId: parent.projectId,
|
|
2277
2267
|
topicId: parent.topicId
|
|
2278
2268
|
});
|
|
2279
|
-
if (parent.
|
|
2269
|
+
if (parent.topicId) {
|
|
2280
2270
|
const inheritedPillar = normalizePillar(
|
|
2281
2271
|
String(metadata?.pillar || metadata?.topic || "")
|
|
2282
2272
|
);
|