@lucern/graph-primitives 1.0.22 → 1.0.24
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 +49 -0
- package/dist/beliefDecay.js.map +1 -1
- package/dist/beliefEvidenceLinks.js +99 -5
- package/dist/beliefEvidenceLinks.js.map +1 -1
- package/dist/beliefEvidenceLinks.operational.js +50 -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/entityCanonicalMatch.d.ts +40 -0
- package/dist/entityCanonicalMatch.js +33 -0
- package/dist/entityCanonicalMatch.js.map +1 -0
- package/dist/entityLifecycle.js +149 -39
- 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 +63 -6
- package/dist/epistemicBeliefs.admin.js.map +1 -1
- package/dist/epistemicBeliefs.backfills.js +59 -2
- package/dist/epistemicBeliefs.backfills.js.map +1 -1
- package/dist/epistemicBeliefs.confidence.d.ts +1 -1
- package/dist/epistemicBeliefs.confidence.js +70 -12
- package/dist/epistemicBeliefs.confidence.js.map +1 -1
- package/dist/epistemicBeliefs.core.js +120 -17
- package/dist/epistemicBeliefs.core.js.map +1 -1
- package/dist/epistemicBeliefs.d.ts +1 -1
- package/dist/epistemicBeliefs.forkEvidence.js +13 -2
- package/dist/epistemicBeliefs.forkEvidence.js.map +1 -1
- package/dist/epistemicBeliefs.helpers.d.ts +18 -3
- package/dist/epistemicBeliefs.helpers.js +66 -6
- package/dist/epistemicBeliefs.helpers.js.map +1 -1
- package/dist/epistemicBeliefs.internal.js +115 -12
- package/dist/epistemicBeliefs.internal.js.map +1 -1
- package/dist/epistemicBeliefs.js +132 -28
- package/dist/epistemicBeliefs.js.map +1 -1
- package/dist/epistemicBeliefs.lifecycle.js +70 -12
- package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
- package/dist/epistemicBeliefs.links.js +111 -10
- package/dist/epistemicBeliefs.links.js.map +1 -1
- package/dist/epistemicBeliefs.topicAnchor.js +48 -8
- package/dist/epistemicBeliefs.topicAnchor.js.map +1 -1
- package/dist/epistemicContracts.evaluators.js +70 -12
- package/dist/epistemicContracts.evaluators.js.map +1 -1
- package/dist/epistemicContracts.handlers.js +71 -16
- package/dist/epistemicContracts.handlers.js.map +1 -1
- package/dist/epistemicContracts.js +71 -16
- package/dist/epistemicContracts.js.map +1 -1
- package/dist/epistemicEdges.d.ts +1 -1
- package/dist/epistemicEdges.handlers.js +57 -3
- package/dist/epistemicEdges.handlers.js.map +1 -1
- package/dist/epistemicEdges.helpers.d.ts +2 -2
- package/dist/epistemicEdges.js +174 -4
- package/dist/epistemicEdges.js.map +1 -1
- package/dist/epistemicEdges.mutations.js +115 -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 +180 -14
- package/dist/epistemicEvidence.js.map +1 -1
- package/dist/epistemicEvidenceHelpers.d.ts +1 -1
- package/dist/epistemicEvidenceHelpers.js +49 -0
- package/dist/epistemicEvidenceHelpers.js.map +1 -1
- package/dist/epistemicEvidenceMutations.js +180 -14
- package/dist/epistemicEvidenceMutations.js.map +1 -1
- package/dist/epistemicEvidenceQueries.js +49 -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 +54 -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 +49 -0
- package/dist/epistemicQuestions.conviction.js.map +1 -1
- package/dist/epistemicQuestions.create.js +61 -7
- package/dist/epistemicQuestions.create.js.map +1 -1
- package/dist/epistemicQuestions.d.ts +1 -1
- package/dist/epistemicQuestions.evidence.js +56 -2
- package/dist/epistemicQuestions.evidence.js.map +1 -1
- package/dist/epistemicQuestions.helpers.d.ts +1 -1
- package/dist/epistemicQuestions.helpers.js +49 -0
- package/dist/epistemicQuestions.helpers.js.map +1 -1
- package/dist/epistemicQuestions.js +63 -9
- package/dist/epistemicQuestions.js.map +1 -1
- package/dist/epistemicQuestions.lifecycle.js +49 -0
- package/dist/epistemicQuestions.lifecycle.js.map +1 -1
- package/dist/epistemicQuestions.queries.js +49 -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 +56 -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 +379 -115
- package/dist/index.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/questionEvidenceLinks.js +49 -0
- package/dist/questionEvidenceLinks.js.map +1 -1
- package/dist/resolvers.js +3 -0
- package/dist/resolvers.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/topicProjectOverlay.d.ts +4 -0
- package/dist/topicProjectOverlay.js +3 -0
- package/dist/topicProjectOverlay.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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v } from 'convex/values';
|
|
1
|
+
import { v, ConvexError } from 'convex/values';
|
|
2
2
|
import { normalizeTupleContradictionPolicy, confidenceFromSL, readOpinionFromRecord, mkOpinion } from '@lucern/confidence';
|
|
3
3
|
import { checkScopeAccess } from '@lucern/access-control/access';
|
|
4
4
|
import { permissiveReturn } from '@lucern/contracts/schema-helpers/validators';
|
|
@@ -138,6 +138,35 @@ function isPreValidationBeliefStatus(status) {
|
|
|
138
138
|
return status === "assumption" || status === "hypothesis";
|
|
139
139
|
}
|
|
140
140
|
var LEGACY_SCOPE_FIELD = "graphScopeProjectId";
|
|
141
|
+
async function resolveTopicNodeScopeOrNull(ctx, ref) {
|
|
142
|
+
if (!ctx?.db || typeof ctx.db.query !== "function") {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
let node = null;
|
|
146
|
+
try {
|
|
147
|
+
const byGlobalId = await ctx.db.query("epistemicNodes").withIndex("by_globalId", (q) => q.eq("globalId", ref)).first();
|
|
148
|
+
if (byGlobalId && byGlobalId.nodeType === "topic") {
|
|
149
|
+
node = byGlobalId;
|
|
150
|
+
}
|
|
151
|
+
} catch (error) {
|
|
152
|
+
debugGraphPrimitiveFallback(
|
|
153
|
+
"[topicScope] topic-node scope lookup by globalId failed",
|
|
154
|
+
{ error, ref }
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
if (!node) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
const scopeKey = normalizeScopeValue(node.topicId) ?? normalizeScopeValue(node.globalId);
|
|
161
|
+
if (!scopeKey) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
topicId: scopeKey,
|
|
166
|
+
projectId: asMappedProjectId(node),
|
|
167
|
+
source: "topic_node"
|
|
168
|
+
};
|
|
169
|
+
}
|
|
141
170
|
function asMappedProjectId(topic) {
|
|
142
171
|
if (!topic) {
|
|
143
172
|
return;
|
|
@@ -278,6 +307,13 @@ async function resolveTopicProjectScope(ctx, args) {
|
|
|
278
307
|
) ?? null;
|
|
279
308
|
}
|
|
280
309
|
if (!topic) {
|
|
310
|
+
const nodeScope = await resolveTopicNodeScopeOrNull(
|
|
311
|
+
ctx,
|
|
312
|
+
String(args.topicId)
|
|
313
|
+
);
|
|
314
|
+
if (nodeScope) {
|
|
315
|
+
return nodeScope;
|
|
316
|
+
}
|
|
281
317
|
throw new Error(`Topic not found: ${String(args.topicId)}`);
|
|
282
318
|
}
|
|
283
319
|
const inherited = await resolveInheritedWorkspaceScope(ctx, topic);
|
|
@@ -348,6 +384,16 @@ async function resolveTopicProjectScope(ctx, args) {
|
|
|
348
384
|
source: "project_mapped_topic"
|
|
349
385
|
};
|
|
350
386
|
}
|
|
387
|
+
const nodeScope = await resolveTopicNodeScopeOrNull(
|
|
388
|
+
ctx,
|
|
389
|
+
String(args.projectId)
|
|
390
|
+
);
|
|
391
|
+
if (nodeScope) {
|
|
392
|
+
return {
|
|
393
|
+
...nodeScope,
|
|
394
|
+
projectId: nodeScope.projectId ?? String(args.projectId)
|
|
395
|
+
};
|
|
396
|
+
}
|
|
351
397
|
throw new Error(
|
|
352
398
|
`Legacy project scope ${String(args.projectId)} has no mapped topic.`
|
|
353
399
|
);
|
|
@@ -398,7 +444,18 @@ var optionalBeliefScopeArgs = optionalScopeArgs;
|
|
|
398
444
|
tupleContradiction: normalizeTupleContradictionPolicy()
|
|
399
445
|
});
|
|
400
446
|
function throwStructuredMutationError(args) {
|
|
401
|
-
const
|
|
447
|
+
const data = {
|
|
448
|
+
structuredMutationError: true,
|
|
449
|
+
message: args.message,
|
|
450
|
+
status: args.status,
|
|
451
|
+
code: args.code,
|
|
452
|
+
invariantCode: args.invariantCode,
|
|
453
|
+
suggestion: args.suggestion,
|
|
454
|
+
details: args.details
|
|
455
|
+
};
|
|
456
|
+
const error = new ConvexError(
|
|
457
|
+
data
|
|
458
|
+
);
|
|
402
459
|
error.status = args.status;
|
|
403
460
|
error.code = args.code;
|
|
404
461
|
error.invariantCode = args.invariantCode;
|