@lucern/contracts 1.0.19 → 1.0.20

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 (62) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/function-registry/beliefs.js +13 -20
  3. package/dist/function-registry/beliefs.js.map +1 -1
  4. package/dist/function-registry/coding.js +8 -9
  5. package/dist/function-registry/coding.js.map +1 -1
  6. package/dist/function-registry/context.js +8 -9
  7. package/dist/function-registry/context.js.map +1 -1
  8. package/dist/function-registry/contracts.js +8 -9
  9. package/dist/function-registry/contracts.js.map +1 -1
  10. package/dist/function-registry/coordination.js +8 -9
  11. package/dist/function-registry/coordination.js.map +1 -1
  12. package/dist/function-registry/edges.js +8 -9
  13. package/dist/function-registry/edges.js.map +1 -1
  14. package/dist/function-registry/evidence.js +8 -15
  15. package/dist/function-registry/evidence.js.map +1 -1
  16. package/dist/function-registry/graph.js +8 -9
  17. package/dist/function-registry/graph.js.map +1 -1
  18. package/dist/function-registry/helpers.d.ts +2 -1
  19. package/dist/function-registry/helpers.js +9 -10
  20. package/dist/function-registry/helpers.js.map +1 -1
  21. package/dist/function-registry/identity.js +8 -9
  22. package/dist/function-registry/identity.js.map +1 -1
  23. package/dist/function-registry/index.d.ts +1 -1
  24. package/dist/function-registry/index.js +9 -10
  25. package/dist/function-registry/index.js.map +1 -1
  26. package/dist/function-registry/judgments.js +8 -9
  27. package/dist/function-registry/judgments.js.map +1 -1
  28. package/dist/function-registry/legacy.js +8 -9
  29. package/dist/function-registry/legacy.js.map +1 -1
  30. package/dist/function-registry/lenses.js +8 -9
  31. package/dist/function-registry/lenses.js.map +1 -1
  32. package/dist/function-registry/nodes.js +8 -9
  33. package/dist/function-registry/nodes.js.map +1 -1
  34. package/dist/function-registry/ontologies.js +8 -9
  35. package/dist/function-registry/ontologies.js.map +1 -1
  36. package/dist/function-registry/pipeline.js +8 -9
  37. package/dist/function-registry/pipeline.js.map +1 -1
  38. package/dist/function-registry/questions.js +8 -9
  39. package/dist/function-registry/questions.js.map +1 -1
  40. package/dist/function-registry/tasks.js +8 -9
  41. package/dist/function-registry/tasks.js.map +1 -1
  42. package/dist/function-registry/topics.js +13 -11
  43. package/dist/function-registry/topics.js.map +1 -1
  44. package/dist/function-registry/worktrees.js +8 -9
  45. package/dist/function-registry/worktrees.js.map +1 -1
  46. package/dist/index.js +1 -9
  47. package/dist/index.js.map +1 -1
  48. package/dist/proof-attestation.json +1 -1
  49. package/dist/sdk-methods.contract.d.ts +1 -3
  50. package/dist/sdk-tools.contract.js +1 -9
  51. package/dist/sdk-tools.contract.js.map +1 -1
  52. package/dist/sdk-tools.contract.registry.js +1 -9
  53. package/dist/sdk-tools.contract.registry.js.map +1 -1
  54. package/dist/sdk-tools.contract.values.js +1 -9
  55. package/dist/sdk-tools.contract.values.js.map +1 -1
  56. package/dist/tool-contracts.js +1 -9
  57. package/dist/tool-contracts.js.map +1 -1
  58. package/dist/tool-contracts.lifecycle.js +1 -9
  59. package/dist/tool-contracts.lifecycle.js.map +1 -1
  60. package/dist/tool-contracts.values.js +1 -9
  61. package/dist/tool-contracts.values.js.map +1 -1
  62. package/package.json +1 -1
@@ -2,6 +2,12 @@ import { z } from 'zod';
2
2
 
3
3
  // src/function-registry/helpers.ts
4
4
 
5
+ // src/ids/index.ts
6
+ var UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
7
+ function isUuidV7(value) {
8
+ return UUID_PATTERN.test(value) && value[14]?.toLowerCase() === "7";
9
+ }
10
+
5
11
  // src/tool-contracts.lifecycle.ts
6
12
  var CREATE_BELIEF = {
7
13
  name: "create_belief",
@@ -13,15 +19,7 @@ var CREATE_BELIEF = {
13
19
  },
14
20
  topicGlobalId: {
15
21
  type: "string",
16
- description: "Required globalId (UUID) of the topic node in epistemicNodes that anchors the belief"
17
- },
18
- topicNodeId: {
19
- type: "string",
20
- description: "Optional internal epistemicNodes _id for the topic anchor. Prefer topicGlobalId for public callers."
21
- },
22
- topicId: {
23
- type: "string",
24
- description: "Deprecated compatibility alias for topicGlobalId. Must identify a topic epistemicNode, not a legacy topics-table row."
22
+ description: "Required UUIDv7 globalId of the topic node in epistemicNodes that anchors the belief. Legacy topics-table ids, Convex storage locators, and UUIDv4 values are refused."
25
23
  },
26
24
  baseRate: {
27
25
  type: "number",
@@ -5312,6 +5310,7 @@ z.enum(["private", "team", "firm", "external", "public"]);
5312
5310
 
5313
5311
  // src/function-registry/helpers.ts
5314
5312
  var jsonObjectSchema = z.record(z.unknown());
5313
+ var uuidV7StringSchema = z.string().refine(isUuidV7, "must be UUIDv7");
5315
5314
  var sdkSessionIdSchema = z.string().optional();
5316
5315
  function mcpContractShape(contract) {
5317
5316
  const required = new Set(contract.required);
@@ -5597,7 +5596,9 @@ var topicVisibilitySchema = z.enum([
5597
5596
  ]);
5598
5597
  var topicStatusSchema = z.enum(["active", "archived", "watching"]);
5599
5598
  var createTopicArgs = z.object({
5600
- globalId: z.string().optional().describe("Optional idempotent topic global ID."),
5599
+ globalId: uuidV7StringSchema.optional().describe(
5600
+ "Optional idempotent UUIDv7 topic global ID. When omitted, the kernel mints UUIDv7."
5601
+ ),
5601
5602
  name: z.string().describe("Topic name."),
5602
5603
  description: z.string().optional().describe("Topic description."),
5603
5604
  type: z.string().describe("Topic type."),
@@ -5663,7 +5664,8 @@ var topicsContracts = [
5663
5664
  kind: "mutation",
5664
5665
  inputProjection: withCreatedBy
5665
5666
  },
5666
- args: createTopicArgs
5667
+ args: createTopicArgs,
5668
+ input: createTopicArgs
5667
5669
  }),
5668
5670
  surfaceContract({
5669
5671
  name: "get_topic",