@lucern/graph-primitives 1.0.23 → 1.0.25

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 (92) hide show
  1. package/dist/beliefDecay.js +3 -0
  2. package/dist/beliefDecay.js.map +1 -1
  3. package/dist/beliefEvidenceLinks.js +15 -3
  4. package/dist/beliefEvidenceLinks.js.map +1 -1
  5. package/dist/beliefEvidenceLinks.operational.js +12 -3
  6. package/dist/beliefEvidenceLinks.operational.js.map +1 -1
  7. package/dist/entityCanonicalMatch.d.ts +40 -0
  8. package/dist/entityCanonicalMatch.js +33 -0
  9. package/dist/entityCanonicalMatch.js.map +1 -0
  10. package/dist/entityLifecycle.js +62 -37
  11. package/dist/entityLifecycle.js.map +1 -1
  12. package/dist/epistemicAnswers.js.map +1 -1
  13. package/dist/epistemicBeliefs.admin.js +17 -6
  14. package/dist/epistemicBeliefs.admin.js.map +1 -1
  15. package/dist/epistemicBeliefs.backfills.js +13 -2
  16. package/dist/epistemicBeliefs.backfills.js.map +1 -1
  17. package/dist/epistemicBeliefs.confidence.js +17 -6
  18. package/dist/epistemicBeliefs.confidence.js.map +1 -1
  19. package/dist/epistemicBeliefs.core.js +32 -9
  20. package/dist/epistemicBeliefs.core.js.map +1 -1
  21. package/dist/epistemicBeliefs.forkEvidence.js +13 -2
  22. package/dist/epistemicBeliefs.forkEvidence.js.map +1 -1
  23. package/dist/epistemicBeliefs.helpers.d.ts +16 -1
  24. package/dist/epistemicBeliefs.helpers.js +20 -6
  25. package/dist/epistemicBeliefs.helpers.js.map +1 -1
  26. package/dist/epistemicBeliefs.internal.js +28 -5
  27. package/dist/epistemicBeliefs.internal.js.map +1 -1
  28. package/dist/epistemicBeliefs.js +32 -9
  29. package/dist/epistemicBeliefs.js.map +1 -1
  30. package/dist/epistemicBeliefs.lifecycle.js +17 -6
  31. package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
  32. package/dist/epistemicBeliefs.links.js +29 -9
  33. package/dist/epistemicBeliefs.links.js.map +1 -1
  34. package/dist/epistemicBeliefs.topicAnchor.js +12 -3
  35. package/dist/epistemicBeliefs.topicAnchor.js.map +1 -1
  36. package/dist/epistemicContracts.evaluators.js +17 -6
  37. package/dist/epistemicContracts.evaluators.js.map +1 -1
  38. package/dist/epistemicContracts.handlers.js +17 -6
  39. package/dist/epistemicContracts.handlers.js.map +1 -1
  40. package/dist/epistemicContracts.js +17 -6
  41. package/dist/epistemicContracts.js.map +1 -1
  42. package/dist/epistemicEdges.handlers.js +12 -3
  43. package/dist/epistemicEdges.handlers.js.map +1 -1
  44. package/dist/epistemicEdges.helpers.d.ts +2 -2
  45. package/dist/epistemicEdges.js +15 -3
  46. package/dist/epistemicEdges.js.map +1 -1
  47. package/dist/epistemicEdges.mutations.js +3 -0
  48. package/dist/epistemicEdges.mutations.js.map +1 -1
  49. package/dist/epistemicEvidence.js +15 -3
  50. package/dist/epistemicEvidence.js.map +1 -1
  51. package/dist/epistemicEvidenceHelpers.js +3 -0
  52. package/dist/epistemicEvidenceHelpers.js.map +1 -1
  53. package/dist/epistemicEvidenceMutations.js +15 -3
  54. package/dist/epistemicEvidenceMutations.js.map +1 -1
  55. package/dist/epistemicEvidenceQueries.js +3 -0
  56. package/dist/epistemicEvidenceQueries.js.map +1 -1
  57. package/dist/epistemicHelpers.js.map +1 -1
  58. package/dist/epistemicInsert.js +12 -3
  59. package/dist/epistemicInsert.js.map +1 -1
  60. package/dist/epistemicNodeCreation.js.map +1 -1
  61. package/dist/epistemicNodes.internal.js.map +1 -1
  62. package/dist/epistemicNodes.js.map +1 -1
  63. package/dist/epistemicNodes.mutations.js.map +1 -1
  64. package/dist/epistemicNodes.validators.d.ts +2 -2
  65. package/dist/epistemicQuestions.conviction.js +3 -0
  66. package/dist/epistemicQuestions.conviction.js.map +1 -1
  67. package/dist/epistemicQuestions.create.js +3 -0
  68. package/dist/epistemicQuestions.create.js.map +1 -1
  69. package/dist/epistemicQuestions.evidence.js +3 -0
  70. package/dist/epistemicQuestions.evidence.js.map +1 -1
  71. package/dist/epistemicQuestions.helpers.js +3 -0
  72. package/dist/epistemicQuestions.helpers.js.map +1 -1
  73. package/dist/epistemicQuestions.js +3 -0
  74. package/dist/epistemicQuestions.js.map +1 -1
  75. package/dist/epistemicQuestions.lifecycle.js +3 -0
  76. package/dist/epistemicQuestions.lifecycle.js.map +1 -1
  77. package/dist/epistemicQuestions.queries.js +3 -0
  78. package/dist/epistemicQuestions.queries.js.map +1 -1
  79. package/dist/epistemicQuestions.tail.js +3 -0
  80. package/dist/epistemicQuestions.tail.js.map +1 -1
  81. package/dist/epistemicSources.js.map +1 -1
  82. package/dist/index.js +78 -42
  83. package/dist/index.js.map +1 -1
  84. package/dist/proof-attestation.json +1 -1
  85. package/dist/questionEvidenceLinks.js +3 -0
  86. package/dist/questionEvidenceLinks.js.map +1 -1
  87. package/dist/resolvers.js +3 -0
  88. package/dist/resolvers.js.map +1 -1
  89. package/dist/topicProjectOverlay.d.ts +4 -0
  90. package/dist/topicProjectOverlay.js +3 -0
  91. package/dist/topicProjectOverlay.js.map +1 -1
  92. 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, 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';
3
3
  import { checkProjectAccess } from '@lucern/access-control/access';
4
4
  import '@lucern/access-control/audience';
@@ -510,7 +510,18 @@ var DEFAULT_CONFIDENCE_POLICY = {
510
510
  tupleContradiction: normalizeTupleContradictionPolicy()
511
511
  };
512
512
  function throwStructuredMutationError(args) {
513
- const error = new Error(args.message);
513
+ const data = {
514
+ structuredMutationError: true,
515
+ message: args.message,
516
+ status: args.status,
517
+ code: args.code,
518
+ invariantCode: args.invariantCode,
519
+ suggestion: args.suggestion,
520
+ details: args.details
521
+ };
522
+ const error = new ConvexError(
523
+ data
524
+ );
514
525
  error.status = args.status;
515
526
  error.code = args.code;
516
527
  error.invariantCode = args.invariantCode;
@@ -628,12 +639,12 @@ async function requireProjectWriteAccess(ctx, projectId, userId) {
628
639
  );
629
640
  if (!hasAccess) {
630
641
  throwStructuredMutationError({
631
- message: "Project access required.",
642
+ message: `Project write access denied for topic ${projectId}.`,
632
643
  status: 403,
633
- code: "FORBIDDEN",
644
+ code: "PROJECT_ACCESS_DENIED",
634
645
  invariantCode: "policy.scope_required",
635
- suggestion: "Request write access for the project and retry.",
636
- details: { projectId, userId }
646
+ 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.",
647
+ details: { topicId: projectId, principalId: userId }
637
648
  });
638
649
  }
639
650
  }