@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,9 +1,10 @@
1
- import { v, ConvexError } from 'convex/values';
1
+ import { v } from 'convex/values';
2
2
  import { normalizeTupleContradictionPolicy, mkOpinion, conditionalDeduction, project, dampedDependencyCascade, hasProjectedOpinionChanged, confidenceFromSL, detectTupleContradiction, evaluateTupleContradictionTransition, trustDiscount, applyNegativeSupport, cumulativeFusion, applyNegativeEvidence, readOpinionFromRecord } from '@lucern/confidence';
3
+ import { requireScopeWriteAccess } from '@lucern/access-control/access';
3
4
  import { permissiveReturn } from '@lucern/contracts/schema-helpers/validators';
4
5
  import { componentsGeneric, internalMutationGeneric, anyApi } from 'convex/server';
5
6
  import '@lucern/contracts/schema-helpers/spine/tables/epistemicNodes';
6
- import { checkProjectAccess } from '@lucern/access-control/access';
7
+ import { throwStructuredMutationError } from '@lucern/access-control/structuredMutationError';
7
8
  import '@lucern/access-control/audience';
8
9
  import '@lucern/access-control/auth';
9
10
 
@@ -918,26 +919,6 @@ var DEFAULT_CONFIDENCE_POLICY = {
918
919
  scoringMode: "after_worktree",
919
920
  tupleContradiction: normalizeTupleContradictionPolicy()
920
921
  };
921
- function throwStructuredMutationError(args) {
922
- const data = {
923
- structuredMutationError: true,
924
- message: args.message,
925
- status: args.status,
926
- code: args.code,
927
- invariantCode: args.invariantCode,
928
- suggestion: args.suggestion,
929
- details: args.details
930
- };
931
- const error = new ConvexError(
932
- data
933
- );
934
- error.status = args.status;
935
- error.code = args.code;
936
- error.invariantCode = args.invariantCode;
937
- error.suggestion = args.suggestion;
938
- error.details = args.details;
939
- throw error;
940
- }
941
922
  function buildBeliefConfidenceRow(args) {
942
923
  return {
943
924
  beliefId: args.beliefId,
@@ -1040,23 +1021,6 @@ async function getActiveConfidencePolicy(ctx) {
1040
1021
  return DEFAULT_CONFIDENCE_POLICY;
1041
1022
  }
1042
1023
  }
1043
- async function requireProjectWriteAccess(ctx, projectId, userId) {
1044
- const hasAccess = await checkProjectAccess(
1045
- ctx,
1046
- projectId,
1047
- userId
1048
- );
1049
- if (!hasAccess) {
1050
- throwStructuredMutationError({
1051
- message: `Project write access denied for topic ${projectId}.`,
1052
- status: 403,
1053
- code: "PROJECT_ACCESS_DENIED",
1054
- invariantCode: "policy.scope_required",
1055
- 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.",
1056
- details: { topicId: projectId, principalId: userId }
1057
- });
1058
- }
1059
- }
1060
1024
 
1061
1025
  // src/epistemicBeliefs.confidence.ts
1062
1026
  async function applyBeliefConfidenceChange(ctx, args) {
@@ -1092,7 +1056,7 @@ async function applyBeliefConfidenceChange(ctx, args) {
1092
1056
  details: { nodeId: args.nodeId }
1093
1057
  });
1094
1058
  }
1095
- await requireProjectWriteAccess(
1059
+ await requireScopeWriteAccess(
1096
1060
  ctx,
1097
1061
  node.projectId,
1098
1062
  args.authenticatedUserId