@lucern/graph-primitives 1.0.27 → 1.0.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.
Files changed (91) hide show
  1. package/dist/beliefDecay.js.map +1 -1
  2. package/dist/beliefEvidenceLinks.js.map +1 -1
  3. package/dist/beliefEvidenceLinks.operational.js.map +1 -1
  4. package/dist/contradictions.js +3 -3
  5. package/dist/contradictions.js.map +1 -1
  6. package/dist/convex.js.map +1 -1
  7. package/dist/entityBridge.js.map +1 -1
  8. package/dist/entityLifecycle.js +7 -39
  9. package/dist/entityLifecycle.js.map +1 -1
  10. package/dist/epistemicAnswers.js.map +1 -1
  11. package/dist/epistemicBeliefs.admin.js +6 -42
  12. package/dist/epistemicBeliefs.admin.js.map +1 -1
  13. package/dist/epistemicBeliefs.backfills.js +2 -21
  14. package/dist/epistemicBeliefs.backfills.js.map +1 -1
  15. package/dist/epistemicBeliefs.confidence.d.ts +1 -0
  16. package/dist/epistemicBeliefs.confidence.js +4 -40
  17. package/dist/epistemicBeliefs.confidence.js.map +1 -1
  18. package/dist/epistemicBeliefs.core.js +6 -44
  19. package/dist/epistemicBeliefs.core.js.map +1 -1
  20. package/dist/epistemicBeliefs.d.ts +1 -0
  21. package/dist/epistemicBeliefs.forkEvidence.js +2 -22
  22. package/dist/epistemicBeliefs.forkEvidence.js.map +1 -1
  23. package/dist/epistemicBeliefs.helpers.d.ts +3 -27
  24. package/dist/epistemicBeliefs.helpers.js +4 -40
  25. package/dist/epistemicBeliefs.helpers.js.map +1 -1
  26. package/dist/epistemicBeliefs.internal.js +2 -22
  27. package/dist/epistemicBeliefs.internal.js.map +1 -1
  28. package/dist/epistemicBeliefs.js +17 -55
  29. package/dist/epistemicBeliefs.js.map +1 -1
  30. package/dist/epistemicBeliefs.lifecycle.js +7 -45
  31. package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
  32. package/dist/epistemicBeliefs.links.js +7 -43
  33. package/dist/epistemicBeliefs.links.js.map +1 -1
  34. package/dist/epistemicBeliefs.queries.js.map +1 -1
  35. package/dist/epistemicBeliefs.topicAnchor.js.map +1 -1
  36. package/dist/epistemicContracts.evaluators.js +4 -40
  37. package/dist/epistemicContracts.evaluators.js.map +1 -1
  38. package/dist/epistemicContracts.handlers.js +4 -40
  39. package/dist/epistemicContracts.handlers.js.map +1 -1
  40. package/dist/epistemicContracts.js +4 -40
  41. package/dist/epistemicContracts.js.map +1 -1
  42. package/dist/epistemicEdgeCreation.js.map +1 -1
  43. package/dist/epistemicEdges.handlers.js.map +1 -1
  44. package/dist/epistemicEdges.js +4 -4
  45. package/dist/epistemicEdges.js.map +1 -1
  46. package/dist/epistemicEdges.mutations.js +4 -4
  47. package/dist/epistemicEdges.mutations.js.map +1 -1
  48. package/dist/epistemicEdges.queries.js.map +1 -1
  49. package/dist/epistemicEvidence.js +5 -5
  50. package/dist/epistemicEvidence.js.map +1 -1
  51. package/dist/epistemicEvidenceHelpers.js.map +1 -1
  52. package/dist/epistemicEvidenceMutations.js +5 -5
  53. package/dist/epistemicEvidenceMutations.js.map +1 -1
  54. package/dist/epistemicEvidenceQueries.js.map +1 -1
  55. package/dist/epistemicHelpers.js.map +1 -1
  56. package/dist/epistemicLinking.js.map +1 -1
  57. package/dist/epistemicNodeCreation.js.map +1 -1
  58. package/dist/epistemicNodes.internal.js.map +1 -1
  59. package/dist/epistemicNodes.js +4 -4
  60. package/dist/epistemicNodes.js.map +1 -1
  61. package/dist/epistemicNodes.mutations.js +4 -4
  62. package/dist/epistemicNodes.mutations.js.map +1 -1
  63. package/dist/epistemicNodes.queries.js.map +1 -1
  64. package/dist/epistemicQuestions.conviction.js.map +1 -1
  65. package/dist/epistemicQuestions.create.js.map +1 -1
  66. package/dist/epistemicQuestions.evidence.js.map +1 -1
  67. package/dist/epistemicQuestions.helpers.js.map +1 -1
  68. package/dist/epistemicQuestions.js.map +1 -1
  69. package/dist/epistemicQuestions.lifecycle.js.map +1 -1
  70. package/dist/epistemicQuestions.queries.js.map +1 -1
  71. package/dist/epistemicQuestions.sprint.js.map +1 -1
  72. package/dist/epistemicQuestions.tail.js.map +1 -1
  73. package/dist/epistemicSources.js +2 -2
  74. package/dist/epistemicSources.js.map +1 -1
  75. package/dist/helpers.js.map +1 -1
  76. package/dist/index.d.ts +1 -0
  77. package/dist/index.js +50 -121
  78. package/dist/index.js.map +1 -1
  79. package/dist/ontologyApproval.js.map +1 -1
  80. package/dist/ontologyDefinitions.js.map +1 -1
  81. package/dist/ontologyRegistry.js.map +1 -1
  82. package/dist/projectionReconciliation.js.map +1 -1
  83. package/dist/proof-attestation.json +1 -1
  84. package/dist/questionEvidenceLinks.js.map +1 -1
  85. package/dist/resolvers.js.map +1 -1
  86. package/dist/scopeResolverCompat.js.map +1 -1
  87. package/dist/topicProjectOverlay.js.map +1 -1
  88. package/dist/topicScope.js.map +1 -1
  89. package/dist/workflowBridge.js.map +1 -1
  90. package/dist/workspaceIsolation.js.map +1 -1
  91. package/package.json +4 -4
@@ -1,8 +1,9 @@
1
- import { v, ConvexError } from 'convex/values';
2
- import { checkProjectAccess } from '@lucern/access-control/access';
1
+ import { v } from 'convex/values';
2
+ import { requireScopeWriteAccess, checkProjectAccess } from '@lucern/access-control/access';
3
3
  import { getCurrentUserId } from '@lucern/access-control/auth';
4
4
  import { permissiveReturn } from '@lucern/contracts/schema-helpers/validators';
5
5
  import { normalizeTupleContradictionPolicy, mkOpinion, conditionalDeduction, project, dampedDependencyCascade, hasProjectedOpinionChanged, confidenceFromSL, detectTupleContradiction, evaluateTupleContradictionTransition, deriveContractModulationPlan, deriveContractStatus, trustDiscount, applyNegativeSupport, cumulativeFusion, applyNegativeEvidence, readOpinionFromRecord, parseEvidentialEvaluatorConfig, compareMetricValue, buildEvidentialRationale, parseMetricCheckerConfig, getEvaluatorInputRecord, pickFiniteNumber, resolveComparisonResult, buildComparisonRationale, parseReferenceCheckCounterConfig, parseTemporalDeadlineConfig, parseMarketIndexComparatorConfig, createInheritedContractRecord } from '@lucern/confidence';
6
+ import { throwStructuredMutationError } from '@lucern/access-control/structuredMutationError';
6
7
  import '@lucern/access-control/audience';
7
8
  import { componentsGeneric, internalMutationGeneric, anyApi, queryGeneric, mutationGeneric } from 'convex/server';
8
9
  import '@lucern/contracts/schema-helpers/spine/tables/epistemicNodes';
@@ -928,26 +929,6 @@ var DEFAULT_CONFIDENCE_POLICY = {
928
929
  scoringMode: "after_worktree",
929
930
  tupleContradiction: normalizeTupleContradictionPolicy()
930
931
  };
931
- function throwStructuredMutationError(args) {
932
- const data = {
933
- structuredMutationError: true,
934
- message: args.message,
935
- status: args.status,
936
- code: args.code,
937
- invariantCode: args.invariantCode,
938
- suggestion: args.suggestion,
939
- details: args.details
940
- };
941
- const error = new ConvexError(
942
- data
943
- );
944
- error.status = args.status;
945
- error.code = args.code;
946
- error.invariantCode = args.invariantCode;
947
- error.suggestion = args.suggestion;
948
- error.details = args.details;
949
- throw error;
950
- }
951
932
  function buildBeliefConfidenceRow(args) {
952
933
  return {
953
934
  beliefId: args.beliefId,
@@ -1050,23 +1031,6 @@ async function getActiveConfidencePolicy(ctx) {
1050
1031
  return DEFAULT_CONFIDENCE_POLICY;
1051
1032
  }
1052
1033
  }
1053
- async function requireProjectWriteAccess(ctx, projectId, userId) {
1054
- const hasAccess = await checkProjectAccess(
1055
- ctx,
1056
- projectId,
1057
- userId
1058
- );
1059
- if (!hasAccess) {
1060
- throwStructuredMutationError({
1061
- message: `Project write access denied for topic ${projectId}.`,
1062
- status: 403,
1063
- code: "PROJECT_ACCESS_DENIED",
1064
- invariantCode: "policy.scope_required",
1065
- suggestion: "The acting principal lacks project-write access to this topic. Request a topic grant (or, if the principal created this topic, run the creator-grant backfill) and retry.",
1066
- details: { topicId: projectId, principalId: userId }
1067
- });
1068
- }
1069
- }
1070
1034
 
1071
1035
  // src/edges/contains.ts
1072
1036
  var containsPropagationSpec = {
@@ -1512,7 +1476,7 @@ async function applyBeliefConfidenceChange(ctx, args) {
1512
1476
  details: { nodeId: args.nodeId }
1513
1477
  });
1514
1478
  }
1515
- await requireProjectWriteAccess(
1479
+ await requireScopeWriteAccess(
1516
1480
  ctx,
1517
1481
  node.projectId,
1518
1482
  args.authenticatedUserId