@lucern/contracts 0.3.0-alpha.1 → 0.3.0-alpha.10

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 (213) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/component-boundary.contract.d.ts +14 -0
  3. package/dist/component-boundary.contract.js +155 -0
  4. package/dist/component-boundary.contract.js.map +1 -0
  5. package/dist/component-host-boundary.contract.d.ts +41 -0
  6. package/dist/component-host-boundary.contract.js +54 -0
  7. package/dist/component-host-boundary.contract.js.map +1 -0
  8. package/dist/context-pack.contract.d.ts +5 -3
  9. package/dist/context-pack.contract.js.map +1 -1
  10. package/dist/{dsl-BgpoVOVQ.d.ts → dsl-djCRfuWC.d.ts} +1 -1
  11. package/dist/dsl.d.ts +1 -1
  12. package/dist/dsl.js +1 -4
  13. package/dist/dsl.js.map +1 -1
  14. package/dist/edge-policy-manifest-Dw5IhT1L.d.ts +133 -0
  15. package/dist/function-registry/beliefs.d.ts +41 -41
  16. package/dist/function-registry/beliefs.js +709 -31
  17. package/dist/function-registry/beliefs.js.map +1 -1
  18. package/dist/function-registry/coding.js +694 -31
  19. package/dist/function-registry/coding.js.map +1 -1
  20. package/dist/function-registry/context.d.ts +13 -13
  21. package/dist/function-registry/context.js +700 -35
  22. package/dist/function-registry/context.js.map +1 -1
  23. package/dist/function-registry/contracts.js +665 -28
  24. package/dist/function-registry/contracts.js.map +1 -1
  25. package/dist/function-registry/coordination.js +665 -28
  26. package/dist/function-registry/coordination.js.map +1 -1
  27. package/dist/function-registry/edges.d.ts +156 -0
  28. package/dist/function-registry/edges.js +876 -60
  29. package/dist/function-registry/edges.js.map +1 -1
  30. package/dist/function-registry/evidence.d.ts +33 -33
  31. package/dist/function-registry/evidence.js +717 -37
  32. package/dist/function-registry/evidence.js.map +1 -1
  33. package/dist/function-registry/graph.d.ts +131 -53
  34. package/dist/function-registry/graph.js +781 -35
  35. package/dist/function-registry/graph.js.map +1 -1
  36. package/dist/function-registry/helpers.d.ts +3 -3
  37. package/dist/function-registry/helpers.js +665 -28
  38. package/dist/function-registry/helpers.js.map +1 -1
  39. package/dist/function-registry/identity.js +665 -28
  40. package/dist/function-registry/identity.js.map +1 -1
  41. package/dist/function-registry/index.d.ts +321 -7
  42. package/dist/function-registry/index.js +1046 -33
  43. package/dist/function-registry/index.js.map +1 -1
  44. package/dist/function-registry/judgments.d.ts +9 -9
  45. package/dist/function-registry/judgments.js +677 -31
  46. package/dist/function-registry/judgments.js.map +1 -1
  47. package/dist/function-registry/legacy.js +665 -28
  48. package/dist/function-registry/legacy.js.map +1 -1
  49. package/dist/function-registry/lenses.d.ts +17 -17
  50. package/dist/function-registry/lenses.js +688 -31
  51. package/dist/function-registry/lenses.js.map +1 -1
  52. package/dist/function-registry/manifest.d.ts +6 -6
  53. package/dist/function-registry/manifest.js +18 -2
  54. package/dist/function-registry/manifest.js.map +1 -1
  55. package/dist/function-registry/ontologies.d.ts +45 -45
  56. package/dist/function-registry/ontologies.js +683 -34
  57. package/dist/function-registry/ontologies.js.map +1 -1
  58. package/dist/function-registry/pipeline.d.ts +13 -13
  59. package/dist/function-registry/pipeline.js +674 -31
  60. package/dist/function-registry/pipeline.js.map +1 -1
  61. package/dist/function-registry/questions.d.ts +49 -49
  62. package/dist/function-registry/questions.js +762 -36
  63. package/dist/function-registry/questions.js.map +1 -1
  64. package/dist/function-registry/tasks.d.ts +17 -17
  65. package/dist/function-registry/tasks.js +709 -30
  66. package/dist/function-registry/tasks.js.map +1 -1
  67. package/dist/function-registry/topics.d.ts +99 -21
  68. package/dist/function-registry/topics.js +747 -32
  69. package/dist/function-registry/topics.js.map +1 -1
  70. package/dist/function-registry/types.d.ts +1 -1
  71. package/dist/function-registry/worktrees.d.ts +80 -41
  72. package/dist/function-registry/worktrees.js +804 -40
  73. package/dist/function-registry/worktrees.js.map +1 -1
  74. package/dist/function-registry-input-audit.d.ts +13 -0
  75. package/dist/function-registry-input-audit.js +166 -0
  76. package/dist/function-registry-input-audit.js.map +1 -0
  77. package/dist/gateway.contract.d.ts +2 -0
  78. package/dist/gateway.contract.js.map +1 -1
  79. package/dist/generated/convexSchemas.js +4 -3
  80. package/dist/generated/convexSchemas.js.map +1 -1
  81. package/dist/generated/schema-manifest.json +49 -3
  82. package/dist/generated/tableOwnership.d.ts +2 -1
  83. package/dist/generated/tableOwnership.js +2 -0
  84. package/dist/generated/tableOwnership.js.map +1 -1
  85. package/dist/generated/tier-expectations.json +4 -2
  86. package/dist/graph-intelligence.contract.d.ts +506 -0
  87. package/dist/graph-intelligence.contract.js +595 -0
  88. package/dist/graph-intelligence.contract.js.map +1 -0
  89. package/dist/graph-types/index.d.ts +5 -1
  90. package/dist/graph-types/index.js +15 -4
  91. package/dist/graph-types/index.js.map +1 -1
  92. package/dist/{index-CV-0_VWJ.d.ts → index-O09U2xHk.d.ts} +5 -2
  93. package/dist/index.d.ts +24 -413
  94. package/dist/index.js +3286 -136
  95. package/dist/index.js.map +1 -1
  96. package/dist/infisical-runtime.contract.d.ts +174 -0
  97. package/dist/infisical-runtime.contract.js +317 -0
  98. package/dist/infisical-runtime.contract.js.map +1 -0
  99. package/dist/lens-filter.contract.js +4 -3
  100. package/dist/lens-filter.contract.js.map +1 -1
  101. package/dist/lens-workflow.contract.js +4 -3
  102. package/dist/lens-workflow.contract.js.map +1 -1
  103. package/dist/manifests/edge-policy-manifest.d.ts +2 -0
  104. package/dist/manifests/edge-policy-manifest.data.d.ts +13 -0
  105. package/dist/manifests/edge-policy-manifest.data.js +26 -0
  106. package/dist/manifests/edge-policy-manifest.data.js.map +1 -0
  107. package/dist/manifests/edge-policy-manifest.js +92 -0
  108. package/dist/manifests/edge-policy-manifest.js.map +1 -0
  109. package/dist/manifests/infisical-runtime-manifest.d.ts +151 -0
  110. package/dist/manifests/infisical-runtime-manifest.js +316 -0
  111. package/dist/manifests/infisical-runtime-manifest.js.map +1 -0
  112. package/dist/manifests/invariant-manifest.d.ts +65 -0
  113. package/dist/manifests/invariant-manifest.js +18 -0
  114. package/dist/manifests/invariant-manifest.js.map +1 -0
  115. package/dist/manifests/invariants/ast-utils.d.ts +14 -0
  116. package/dist/manifests/invariants/ast-utils.js +54 -0
  117. package/dist/manifests/invariants/ast-utils.js.map +1 -0
  118. package/dist/manifests/invariants/index.d.ts +15 -0
  119. package/dist/manifests/invariants/index.js +183 -0
  120. package/dist/manifests/invariants/index.js.map +1 -0
  121. package/dist/manifests/invariants/inv-1-beliefs-append-only.d.ts +12 -0
  122. package/dist/manifests/invariants/inv-1-beliefs-append-only.js +94 -0
  123. package/dist/manifests/invariants/inv-1-beliefs-append-only.js.map +1 -0
  124. package/dist/manifests/invariants/inv-14-no-silent-transitions.d.ts +12 -0
  125. package/dist/manifests/invariants/inv-14-no-silent-transitions.js +99 -0
  126. package/dist/manifests/invariants/inv-14-no-silent-transitions.js.map +1 -0
  127. package/dist/manifests/invariants/manifest-1-projections-declare-audit.d.ts +12 -0
  128. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js +42 -0
  129. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js.map +1 -0
  130. package/dist/manifests/tenant-client-manifest.d.ts +322 -0
  131. package/dist/manifests/tenant-client-manifest.js +432 -0
  132. package/dist/manifests/tenant-client-manifest.js.map +1 -0
  133. package/dist/mcp-gateway-boundary.contract.d.ts +181 -0
  134. package/dist/mcp-gateway-boundary.contract.js +43 -0
  135. package/dist/mcp-gateway-boundary.contract.js.map +1 -0
  136. package/dist/projections/check-convex-args-shape.d.ts +3 -0
  137. package/dist/projections/check-convex-args-shape.js +399 -0
  138. package/dist/projections/check-convex-args-shape.js.map +1 -0
  139. package/dist/projections/create-evidence.projection.d.ts +176 -0
  140. package/dist/projections/create-evidence.projection.js +131 -0
  141. package/dist/projections/create-evidence.projection.js.map +1 -0
  142. package/dist/projections/index.d.ts +102 -0
  143. package/dist/projections/index.js +348 -0
  144. package/dist/projections/index.js.map +1 -0
  145. package/dist/projections/list-beliefs.projection.d.ts +36 -0
  146. package/dist/projections/list-beliefs.projection.js +54 -0
  147. package/dist/projections/list-beliefs.projection.js.map +1 -0
  148. package/dist/projections/list-tasks.projection.d.ts +32 -0
  149. package/dist/projections/list-tasks.projection.js +52 -0
  150. package/dist/projections/list-tasks.projection.js.map +1 -0
  151. package/dist/projections/modulate-confidence.projection.d.ts +219 -0
  152. package/dist/projections/modulate-confidence.projection.js +148 -0
  153. package/dist/projections/modulate-confidence.projection.js.map +1 -0
  154. package/dist/projections/projection-dsl.d.ts +11 -0
  155. package/dist/projections/projection-dsl.js +8 -0
  156. package/dist/projections/projection-dsl.js.map +1 -0
  157. package/dist/schema-helpers/enumValidation.js +2 -5
  158. package/dist/schema-helpers/enumValidation.js.map +1 -1
  159. package/dist/schema-helpers/spine/nodes/decision.js +2 -1
  160. package/dist/schema-helpers/spine/nodes/decision.js.map +1 -1
  161. package/dist/schema-helpers/spine/tables/epistemicNodes.js +27 -27
  162. package/dist/schema-helpers/spine/tables/epistemicNodes.js.map +1 -1
  163. package/dist/schemas/component-table-manifest.d.ts +2 -2
  164. package/dist/schemas/enums.d.ts +5 -2
  165. package/dist/schemas/enums.js +5 -2
  166. package/dist/schemas/enums.js.map +1 -1
  167. package/dist/schemas/index.d.ts +1 -1
  168. package/dist/schemas/index.js +45 -4
  169. package/dist/schemas/index.js.map +1 -1
  170. package/dist/schemas/manifest.d.ts +1030 -890
  171. package/dist/schemas/manifest.js +44 -3
  172. package/dist/schemas/manifest.js.map +1 -1
  173. package/dist/schemas/sl-opinion.d.ts +4 -4
  174. package/dist/schemas/tables/identity/platform.d.ts +10 -10
  175. package/dist/schemas/tables/kernel/epistemic.d.ts +6 -6
  176. package/dist/schemas/tables/kernel/infra.d.ts +4 -4
  177. package/dist/schemas/tables/kernel/intelligence.d.ts +10 -10
  178. package/dist/schemas/tables/kernel/lens.d.ts +4 -4
  179. package/dist/schemas/tables/kernel/platform.d.ts +12 -12
  180. package/dist/schemas/tables/kernel/spine.d.ts +3 -3
  181. package/dist/schemas/tables/kernel/spine.js +5 -2
  182. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  183. package/dist/schemas/tables/kernel/task.d.ts +42 -42
  184. package/dist/schemas/tables/kernel/topic.js +5 -1
  185. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  186. package/dist/schemas/tables/kernel/worktree.d.ts +58 -58
  187. package/dist/schemas/tables/mc/identity.d.ts +26 -3
  188. package/dist/schemas/tables/mc/identity.js +35 -1
  189. package/dist/schemas/tables/mc/identity.js.map +1 -1
  190. package/dist/schemas/tables/mc/pack.d.ts +20 -20
  191. package/dist/schemas/tables/mc/registry.d.ts +4 -4
  192. package/dist/schemas/tables/mc/workspace.d.ts +9 -3
  193. package/dist/schemas/tables/mc/workspace.js +3 -1
  194. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  195. package/dist/sdk-methods.contract.d.ts +2 -2
  196. package/dist/{sdk-tools.contract-S4ia0TTo.d.ts → sdk-tools.contract-BNklQDfB.d.ts} +2 -2
  197. package/dist/sdk-tools.contract.d.ts +2 -2
  198. package/dist/sdk-tools.contract.js +646 -23
  199. package/dist/sdk-tools.contract.js.map +1 -1
  200. package/dist/tenant-bootstrap-seed.contract.d.ts +1101 -0
  201. package/dist/tenant-bootstrap-seed.contract.js +653 -0
  202. package/dist/tenant-bootstrap-seed.contract.js.map +1 -0
  203. package/dist/tenant-bootstrap-seed.defaults.d.ts +16 -0
  204. package/dist/tenant-bootstrap-seed.defaults.js +303 -0
  205. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -0
  206. package/dist/tenant-client.contract.d.ts +349 -0
  207. package/dist/tenant-client.contract.js +488 -0
  208. package/dist/tenant-client.contract.js.map +1 -0
  209. package/dist/{tool-contracts-C92-9ueT.d.ts → tool-contracts-BevD9Ho2.d.ts} +36 -2
  210. package/dist/tool-contracts.d.ts +1 -1
  211. package/dist/tool-contracts.js +647 -24
  212. package/dist/tool-contracts.js.map +1 -1
  213. package/package.json +9 -1
@@ -62,16 +62,16 @@ declare const worktrees: TableContract<{
62
62
  answerConfidence: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
63
63
  linkedQuestionId: z.ZodOptional<z.ZodString>;
64
64
  }, "strip", z.ZodTypeAny, {
65
- status: "answered" | "forked" | "open";
65
+ status: "answered" | "open" | "forked";
66
66
  question: string;
67
- answer?: string | undefined;
68
67
  linkedQuestionId?: string | undefined;
68
+ answer?: string | undefined;
69
69
  answerConfidence?: "high" | "medium" | "low" | undefined;
70
70
  }, {
71
- status: "answered" | "forked" | "open";
71
+ status: "answered" | "open" | "forked";
72
72
  question: string;
73
- answer?: string | undefined;
74
73
  linkedQuestionId?: string | undefined;
74
+ answer?: string | undefined;
75
75
  answerConfidence?: "high" | "medium" | "low" | undefined;
76
76
  }>, "many">>;
77
77
  evidenceSignals: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -82,13 +82,13 @@ declare const worktrees: TableContract<{
82
82
  }, "strip", z.ZodTypeAny, {
83
83
  signal: string;
84
84
  collected: boolean;
85
- notes?: string | undefined;
86
85
  progress?: string | undefined;
86
+ notes?: string | undefined;
87
87
  }, {
88
88
  signal: string;
89
89
  collected: boolean;
90
- notes?: string | undefined;
91
90
  progress?: string | undefined;
91
+ notes?: string | undefined;
92
92
  }>, "many">>;
93
93
  decisionGate: z.ZodOptional<z.ZodObject<{
94
94
  goCriteria: z.ZodArray<z.ZodString, "many">;
@@ -101,15 +101,15 @@ declare const worktrees: TableContract<{
101
101
  goCriteria: string[];
102
102
  noGoSignals: string[];
103
103
  verdict?: "pending" | "go" | "no_go" | "pivot" | undefined;
104
- decidedAt?: number | undefined;
105
104
  verdictRationale?: string | undefined;
105
+ decidedAt?: number | undefined;
106
106
  decidedBy?: string | undefined;
107
107
  }, {
108
108
  goCriteria: string[];
109
109
  noGoSignals: string[];
110
110
  verdict?: "pending" | "go" | "no_go" | "pivot" | undefined;
111
- decidedAt?: number | undefined;
112
111
  verdictRationale?: string | undefined;
112
+ decidedAt?: number | undefined;
113
113
  decidedBy?: string | undefined;
114
114
  }>>;
115
115
  beliefRefinement: z.ZodOptional<z.ZodObject<{
@@ -226,12 +226,12 @@ declare const worktrees: TableContract<{
226
226
  confidenceChange: z.ZodNumber;
227
227
  }, "strip", z.ZodTypeAny, {
228
228
  summary: string;
229
- verdict: "validated" | "invalidated" | "forked" | "inconclusive";
229
+ verdict: "forked" | "validated" | "invalidated" | "inconclusive";
230
230
  whatChanged: string;
231
231
  confidenceChange: number;
232
232
  }, {
233
233
  summary: string;
234
- verdict: "validated" | "invalidated" | "forked" | "inconclusive";
234
+ verdict: "forked" | "validated" | "invalidated" | "inconclusive";
235
235
  whatChanged: string;
236
236
  confidenceChange: number;
237
237
  }>>;
@@ -282,16 +282,16 @@ declare const worktrees: TableContract<{
282
282
  edgeType: string;
283
283
  targetId: string;
284
284
  sourceId: string;
285
- createdAt?: number | undefined;
286
285
  weight?: number | undefined;
287
286
  edgeId?: string | undefined;
287
+ createdAt?: number | undefined;
288
288
  }, {
289
289
  edgeType: string;
290
290
  targetId: string;
291
291
  sourceId: string;
292
- createdAt?: number | undefined;
293
292
  weight?: number | undefined;
294
293
  edgeId?: string | undefined;
294
+ createdAt?: number | undefined;
295
295
  }>, "many">;
296
296
  relatedBeliefs: z.ZodOptional<z.ZodArray<z.ZodObject<{
297
297
  id: z.ZodString;
@@ -300,13 +300,13 @@ declare const worktrees: TableContract<{
300
300
  confidenceScore: z.ZodOptional<z.ZodNumber>;
301
301
  }, "strip", z.ZodTypeAny, {
302
302
  id: string;
303
- confidence?: string | undefined;
304
303
  text?: string | undefined;
304
+ confidence?: string | undefined;
305
305
  confidenceScore?: number | undefined;
306
306
  }, {
307
307
  id: string;
308
- confidence?: string | undefined;
309
308
  text?: string | undefined;
309
+ confidence?: string | undefined;
310
310
  confidenceScore?: number | undefined;
311
311
  }>, "many">>;
312
312
  questions: z.ZodArray<z.ZodObject<{
@@ -324,8 +324,8 @@ declare const worktrees: TableContract<{
324
324
  id: string;
325
325
  text: string;
326
326
  evidenceCount: number;
327
- answer?: string | undefined;
328
327
  priority?: string | undefined;
328
+ answer?: string | undefined;
329
329
  answerStatus?: string | undefined;
330
330
  answeredBy?: string | undefined;
331
331
  answeredAt?: number | undefined;
@@ -334,8 +334,8 @@ declare const worktrees: TableContract<{
334
334
  id: string;
335
335
  text: string;
336
336
  evidenceCount: number;
337
- answer?: string | undefined;
338
337
  priority?: string | undefined;
338
+ answer?: string | undefined;
339
339
  answerStatus?: string | undefined;
340
340
  answeredBy?: string | undefined;
341
341
  answeredAt?: number | undefined;
@@ -349,18 +349,18 @@ declare const worktrees: TableContract<{
349
349
  createdAt: z.ZodOptional<z.ZodNumber>;
350
350
  }, "strip", z.ZodTypeAny, {
351
351
  id: string;
352
- verified: boolean;
353
352
  text: string;
354
- createdAt?: number | undefined;
353
+ verified: boolean;
355
354
  sourceType?: string | undefined;
356
355
  verificationStatus?: string | undefined;
356
+ createdAt?: number | undefined;
357
357
  }, {
358
358
  id: string;
359
- verified: boolean;
360
359
  text: string;
361
- createdAt?: number | undefined;
360
+ verified: boolean;
362
361
  sourceType?: string | undefined;
363
362
  verificationStatus?: string | undefined;
363
+ createdAt?: number | undefined;
364
364
  }>, "many">;
365
365
  tasksCompleted: z.ZodOptional<z.ZodNumber>;
366
366
  totalTasks: z.ZodOptional<z.ZodNumber>;
@@ -391,65 +391,65 @@ declare const worktrees: TableContract<{
391
391
  timestamp: z.ZodOptional<z.ZodNumber>;
392
392
  }, "strip", z.ZodTypeAny, {
393
393
  timestamp?: number | undefined;
394
- confidence?: string | undefined;
395
394
  trigger?: string | undefined;
395
+ confidence?: string | undefined;
396
396
  }, {
397
397
  timestamp?: number | undefined;
398
- confidence?: string | undefined;
399
398
  trigger?: string | undefined;
399
+ confidence?: string | undefined;
400
400
  }>, "many">;
401
401
  }, "strip", z.ZodTypeAny, {
402
402
  beliefId: string;
403
403
  recentChanges: {
404
404
  timestamp?: number | undefined;
405
- confidence?: string | undefined;
406
405
  trigger?: string | undefined;
406
+ confidence?: string | undefined;
407
407
  }[];
408
408
  }, {
409
409
  beliefId: string;
410
410
  recentChanges: {
411
411
  timestamp?: number | undefined;
412
- confidence?: string | undefined;
413
412
  trigger?: string | undefined;
413
+ confidence?: string | undefined;
414
414
  }[];
415
415
  }>, "many">>;
416
416
  }, "strip", z.ZodTypeAny, {
417
417
  evidence: {
418
418
  id: string;
419
- verified: boolean;
420
419
  text: string;
421
- createdAt?: number | undefined;
420
+ verified: boolean;
422
421
  sourceType?: string | undefined;
423
422
  verificationStatus?: string | undefined;
423
+ createdAt?: number | undefined;
424
424
  }[];
425
425
  worktreeId: string & z.BRAND<"Id<worktrees>">;
426
- outcome: {
427
- summary: string;
428
- verdict: string;
429
- startingConfidence: number;
430
- endingConfidence: number;
431
- confidenceChange: number;
432
- };
433
426
  questions: {
434
427
  status: string;
435
428
  id: string;
436
429
  text: string;
437
430
  evidenceCount: number;
438
- answer?: string | undefined;
439
431
  priority?: string | undefined;
432
+ answer?: string | undefined;
440
433
  answerStatus?: string | undefined;
441
434
  answeredBy?: string | undefined;
442
435
  answeredAt?: number | undefined;
443
436
  }[];
437
+ outcome: {
438
+ summary: string;
439
+ verdict: string;
440
+ startingConfidence: number;
441
+ endingConfidence: number;
442
+ confidenceChange: number;
443
+ };
444
444
  capturedAt: number;
445
445
  capturedBy: string;
446
446
  clusterEdges: {
447
447
  edgeType: string;
448
448
  targetId: string;
449
449
  sourceId: string;
450
- createdAt?: number | undefined;
451
450
  weight?: number | undefined;
452
451
  edgeId?: string | undefined;
452
+ createdAt?: number | undefined;
453
453
  }[];
454
454
  topicId?: string | undefined;
455
455
  primaryBelief?: {
@@ -465,8 +465,8 @@ declare const worktrees: TableContract<{
465
465
  } | undefined;
466
466
  relatedBeliefs?: {
467
467
  id: string;
468
- confidence?: string | undefined;
469
468
  text?: string | undefined;
469
+ confidence?: string | undefined;
470
470
  confidenceScore?: number | undefined;
471
471
  }[] | undefined;
472
472
  tasksCompleted?: number | undefined;
@@ -475,47 +475,47 @@ declare const worktrees: TableContract<{
475
475
  beliefId: string;
476
476
  recentChanges: {
477
477
  timestamp?: number | undefined;
478
- confidence?: string | undefined;
479
478
  trigger?: string | undefined;
479
+ confidence?: string | undefined;
480
480
  }[];
481
481
  }[] | undefined;
482
482
  }, {
483
483
  evidence: {
484
484
  id: string;
485
- verified: boolean;
486
485
  text: string;
487
- createdAt?: number | undefined;
486
+ verified: boolean;
488
487
  sourceType?: string | undefined;
489
488
  verificationStatus?: string | undefined;
489
+ createdAt?: number | undefined;
490
490
  }[];
491
491
  worktreeId: string;
492
- outcome: {
493
- summary: string;
494
- verdict: string;
495
- startingConfidence: number;
496
- endingConfidence: number;
497
- confidenceChange: number;
498
- };
499
492
  questions: {
500
493
  status: string;
501
494
  id: string;
502
495
  text: string;
503
496
  evidenceCount: number;
504
- answer?: string | undefined;
505
497
  priority?: string | undefined;
498
+ answer?: string | undefined;
506
499
  answerStatus?: string | undefined;
507
500
  answeredBy?: string | undefined;
508
501
  answeredAt?: number | undefined;
509
502
  }[];
503
+ outcome: {
504
+ summary: string;
505
+ verdict: string;
506
+ startingConfidence: number;
507
+ endingConfidence: number;
508
+ confidenceChange: number;
509
+ };
510
510
  capturedAt: number;
511
511
  capturedBy: string;
512
512
  clusterEdges: {
513
513
  edgeType: string;
514
514
  targetId: string;
515
515
  sourceId: string;
516
- createdAt?: number | undefined;
517
516
  weight?: number | undefined;
518
517
  edgeId?: string | undefined;
518
+ createdAt?: number | undefined;
519
519
  }[];
520
520
  topicId?: string | undefined;
521
521
  primaryBelief?: {
@@ -531,8 +531,8 @@ declare const worktrees: TableContract<{
531
531
  } | undefined;
532
532
  relatedBeliefs?: {
533
533
  id: string;
534
- confidence?: string | undefined;
535
534
  text?: string | undefined;
535
+ confidence?: string | undefined;
536
536
  confidenceScore?: number | undefined;
537
537
  }[] | undefined;
538
538
  tasksCompleted?: number | undefined;
@@ -541,8 +541,8 @@ declare const worktrees: TableContract<{
541
541
  beliefId: string;
542
542
  recentChanges: {
543
543
  timestamp?: number | undefined;
544
- confidence?: string | undefined;
545
544
  trigger?: string | undefined;
545
+ confidence?: string | undefined;
546
546
  }[];
547
547
  }[] | undefined;
548
548
  }>>;
@@ -589,9 +589,9 @@ declare const worktrees: TableContract<{
589
589
  }, "strip", z.ZodTypeAny, {
590
590
  status: "ai_draft" | "user_draft" | "final";
591
591
  content: string;
592
- memoContent?: string | undefined;
593
592
  generatedAt?: number | undefined;
594
593
  approvedAt?: number | undefined;
594
+ memoContent?: string | undefined;
595
595
  approvedBy?: string | undefined;
596
596
  generationMetadata?: {
597
597
  promptName: string;
@@ -601,9 +601,9 @@ declare const worktrees: TableContract<{
601
601
  }, {
602
602
  status: "ai_draft" | "user_draft" | "final";
603
603
  content: string;
604
- memoContent?: string | undefined;
605
604
  generatedAt?: number | undefined;
606
605
  approvedAt?: number | undefined;
606
+ memoContent?: string | undefined;
607
607
  approvedBy?: string | undefined;
608
608
  generationMetadata?: {
609
609
  promptName: string;
@@ -629,18 +629,18 @@ declare const worktrees: TableContract<{
629
629
  linkedQuestionId: z.ZodOptional<z.ZodString>;
630
630
  linkedBeliefId: z.ZodOptional<z.ZodString>;
631
631
  }, "strip", z.ZodTypeAny, {
632
+ id: string;
632
633
  content: string;
633
634
  createdAt: number;
634
635
  createdBy: string;
635
- id: string;
636
636
  linkedBeliefId?: string | undefined;
637
637
  linkedQuestionId?: string | undefined;
638
638
  linkedTaskId?: string | undefined;
639
639
  }, {
640
+ id: string;
640
641
  content: string;
641
642
  createdAt: number;
642
643
  createdBy: string;
643
- id: string;
644
644
  linkedBeliefId?: string | undefined;
645
645
  linkedQuestionId?: string | undefined;
646
646
  linkedTaskId?: string | undefined;
@@ -723,14 +723,14 @@ declare const worktrees: TableContract<{
723
723
  cascades: z.ZodNumber;
724
724
  other: z.ZodNumber;
725
725
  }, "strip", z.ZodTypeAny, {
726
+ dependencies: number;
726
727
  other: number;
727
728
  counterfactuals: number;
728
- dependencies: number;
729
729
  cascades: number;
730
730
  }, {
731
+ dependencies: number;
731
732
  other: number;
732
733
  counterfactuals: number;
733
- dependencies: number;
734
734
  cascades: number;
735
735
  }>>;
736
736
  mappingCompletedAt: z.ZodOptional<z.ZodNumber>;
@@ -741,9 +741,9 @@ declare const worktrees: TableContract<{
741
741
  hasDependencies: boolean;
742
742
  hasCascades: boolean;
743
743
  conditionalsByType?: {
744
+ dependencies: number;
744
745
  other: number;
745
746
  counterfactuals: number;
746
- dependencies: number;
747
747
  cascades: number;
748
748
  } | undefined;
749
749
  mappingCompletedAt?: number | undefined;
@@ -754,9 +754,9 @@ declare const worktrees: TableContract<{
754
754
  hasDependencies: boolean;
755
755
  hasCascades: boolean;
756
756
  conditionalsByType?: {
757
+ dependencies: number;
757
758
  other: number;
758
759
  counterfactuals: number;
759
- dependencies: number;
760
760
  cascades: number;
761
761
  } | undefined;
762
762
  mappingCompletedAt?: number | undefined;
@@ -62,6 +62,29 @@ declare const rateLimitWindows: TableContract<{
62
62
  createdAt: z.ZodNumber;
63
63
  updatedAt: z.ZodNumber;
64
64
  }>;
65
+ declare const oauthDeviceCodes: TableContract<{
66
+ deviceCodeHash: z.ZodString;
67
+ userCode: z.ZodString;
68
+ clientId: z.ZodString;
69
+ scope: z.ZodString;
70
+ status: z.ZodEnum<["pending", "approved", "denied", "expired", "consumed"]>;
71
+ expiresAt: z.ZodNumber;
72
+ intervalSeconds: z.ZodNumber;
73
+ lastPolledAt: z.ZodOptional<z.ZodNumber>;
74
+ slowDownCount: z.ZodOptional<z.ZodNumber>;
75
+ clerkUserId: z.ZodOptional<z.ZodString>;
76
+ tenantId: z.ZodOptional<ConvexIdSchema<"tenants">>;
77
+ workspaceId: z.ZodOptional<z.ZodString>;
78
+ principalId: z.ZodOptional<z.ZodString>;
79
+ role: z.ZodOptional<z.ZodString>;
80
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
81
+ sessionId: z.ZodOptional<z.ZodString>;
82
+ approvedAt: z.ZodOptional<z.ZodNumber>;
83
+ deniedAt: z.ZodOptional<z.ZodNumber>;
84
+ consumedAt: z.ZodOptional<z.ZodNumber>;
85
+ createdAt: z.ZodNumber;
86
+ updatedAt: z.ZodNumber;
87
+ }>;
65
88
  declare const servicePrincipalKeys: TableContract<{
66
89
  keyId: z.ZodString;
67
90
  tokenHash: z.ZodString;
@@ -105,15 +128,15 @@ declare const userSessions: TableContract<{
105
128
  }, "strip", z.ZodTypeAny, {
106
129
  principalId: string;
107
130
  principalType: "human" | "service" | "agent";
108
- sessionId?: string | undefined;
109
131
  reason?: string | undefined;
132
+ sessionId?: string | undefined;
110
133
  authMode?: "interactive_user" | "service_principal" | "tenant_api_key" | "session_token" | undefined;
111
134
  delegatedAt?: number | undefined;
112
135
  }, {
113
136
  principalId: string;
114
137
  principalType: "human" | "service" | "agent";
115
- sessionId?: string | undefined;
116
138
  reason?: string | undefined;
139
+ sessionId?: string | undefined;
117
140
  authMode?: "interactive_user" | "service_principal" | "tenant_api_key" | "session_token" | undefined;
118
141
  delegatedAt?: number | undefined;
119
142
  }>, "many">>;
@@ -131,4 +154,4 @@ declare const userSessions: TableContract<{
131
154
  updatedAt: z.ZodNumber;
132
155
  }>;
133
156
 
134
- export { groupMemberships, groups, memberships, principals, rateLimitWindows, servicePrincipalKeys, userSessions };
157
+ export { groupMemberships, groups, memberships, oauthDeviceCodes, principals, rateLimitWindows, servicePrincipalKeys, userSessions };
@@ -135,6 +135,40 @@ var rateLimitWindows = defineTable({
135
135
  { kind: "index", name: "by_tier_window_end", columns: ["tier", "windowEndMs"] }
136
136
  ]
137
137
  });
138
+ var oauthDeviceCodes = defineTable({
139
+ name: "oauthDeviceCodes",
140
+ component: "mc",
141
+ category: "identity",
142
+ shape: z.object({
143
+ "deviceCodeHash": z.string(),
144
+ "userCode": z.string(),
145
+ "clientId": z.string(),
146
+ "scope": z.string(),
147
+ "status": z.enum(["pending", "approved", "denied", "expired", "consumed"]),
148
+ "expiresAt": z.number(),
149
+ "intervalSeconds": z.number(),
150
+ "lastPolledAt": z.number().optional(),
151
+ "slowDownCount": z.number().optional(),
152
+ "clerkUserId": z.string().optional(),
153
+ "tenantId": idOf("tenants").optional(),
154
+ "workspaceId": z.string().optional(),
155
+ "principalId": z.string().optional(),
156
+ "role": z.string().optional(),
157
+ "scopes": z.array(z.string()).optional(),
158
+ "sessionId": z.string().optional(),
159
+ "approvedAt": z.number().optional(),
160
+ "deniedAt": z.number().optional(),
161
+ "consumedAt": z.number().optional(),
162
+ "createdAt": z.number(),
163
+ "updatedAt": z.number()
164
+ }),
165
+ indices: [
166
+ { kind: "index", name: "by_deviceCodeHash", columns: ["deviceCodeHash"] },
167
+ { kind: "index", name: "by_userCode", columns: ["userCode"] },
168
+ { kind: "index", name: "by_status_expiresAt", columns: ["status", "expiresAt"] },
169
+ { kind: "index", name: "by_sessionId", columns: ["sessionId"] }
170
+ ]
171
+ });
138
172
  var servicePrincipalKeys = defineTable({
139
173
  name: "servicePrincipalKeys",
140
174
  component: "mc",
@@ -216,6 +250,6 @@ var userSessions = defineTable({
216
250
  ]
217
251
  });
218
252
 
219
- export { groupMemberships, groups, memberships, principals, rateLimitWindows, servicePrincipalKeys, userSessions };
253
+ export { groupMemberships, groups, memberships, oauthDeviceCodes, principals, rateLimitWindows, servicePrincipalKeys, userSessions };
220
254
  //# sourceMappingURL=identity.js.map
221
255
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/dsl/idOf.ts","../../../../src/schemas/tables/mc/identity.ts"],"names":["z"],"mappings":"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","file":"identity.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"identity\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","import { z } from \"zod\";\n\nexport const CONVEX_ID_TABLE = Symbol.for(\"lucern.contracts.convexIdTable\");\n\nexport type ConvexIdSchema<T extends string> = z.ZodBranded<\n z.ZodString,\n `Id<${T}>`\n> & {\n readonly [CONVEX_ID_TABLE]: T;\n};\n\nexport function idOf<T extends string>(table: T): ConvexIdSchema<T> {\n const schema = z.string().brand<`Id<${T}>`>();\n Object.defineProperty(schema, CONVEX_ID_TABLE, {\n configurable: false,\n enumerable: false,\n value: table,\n writable: false,\n });\n return schema as ConvexIdSchema<T>;\n}\n\nexport function getConvexIdTable(schema: z.ZodTypeAny): string | undefined {\n return (schema as Partial<Record<typeof CONVEX_ID_TABLE, string>>)[\n CONVEX_ID_TABLE\n ];\n}\n","/**\n * Schema contracts for mc/identity.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const groupMemberships = defineTable({\n name: \"groupMemberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"groupId\": idOf(\"groups\"),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"addedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_groupId\", columns: [\"groupId\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_group\", columns: [\"principalId\", \"groupId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const groups = defineTable({\n name: \"groups\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"groupKey\": z.string(),\n \"name\": z.string(),\n \"groupType\": z.enum([\"internal\", \"external\", \"system\"]),\n \"description\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenantId_groupKey\", columns: [\"tenantId\", \"groupKey\"] }\n ],\n});\n\nexport const memberships = defineTable({\n name: \"memberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalRefId\": idOf(\"principals\").optional(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"role\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"source\": z.enum([\"manual\", \"sso\", \"bootstrap\", \"api\", \"scim\"]),\n \"grantedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_tenant\", columns: [\"principalId\", \"tenantId\"] },\n { kind: 'index', name: \"by_workspace_principal\", columns: [\"workspaceId\", \"principalId\"] },\n { kind: 'index', name: \"by_tenant_role\", columns: [\"tenantId\", \"role\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const principals = defineTable({\n name: \"principals\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"user\", \"group\", \"service\", \"external_viewer\"]),\n \"clerkId\": z.string().optional(),\n \"email\": z.string().optional(),\n \"displayName\": z.string().optional(),\n \"groupIds\": z.array(idOf(\"groups\")).optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"suspended\", \"disabled\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_clerkId\", columns: [\"clerkId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const rateLimitWindows = defineTable({\n name: \"rateLimitWindows\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"keyId\": z.string().optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"windowType\": z.enum([\"minute\", \"hour\"]),\n \"windowStartMs\": z.number(),\n \"windowEndMs\": z.number(),\n \"requestCount\": z.number(),\n \"limit\": z.number(),\n \"tier\": z.enum([\"free\", \"developer\", \"partner\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_window\", columns: [\"principalId\", \"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_type_start\", columns: [\"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_end\", columns: [\"windowEndMs\"] },\n { kind: 'index', name: \"by_tier_window_end\", columns: [\"tier\", \"windowEndMs\"] }\n ],\n});\n\nexport const servicePrincipalKeys = defineTable({\n name: \"servicePrincipalKeys\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"keyId\": z.string(),\n \"tokenHash\": z.string(),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"scopes\": z.array(z.string()),\n \"environment\": z.enum([\"sandbox\", \"production\"]),\n \"status\": z.enum([\"active\", \"rotating\", \"rotated\", \"expired\", \"revoked\"]),\n \"expiresAt\": z.number(),\n \"rotationGracePeriod\": z.number().optional(),\n \"rotatedToKeyId\": z.string().optional(),\n \"rateLimitTier\": z.enum([\"free\", \"developer\", \"partner\"]).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"revokedBy\": z.string().optional(),\n \"revokedAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_keyId\", columns: [\"keyId\"] },\n { kind: 'index', name: \"by_tokenHash\", columns: [\"tokenHash\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] }\n ],\n});\n\nexport const userSessions = defineTable({\n name: \"userSessions\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"sessionId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"clerkUserId\": z.string(),\n \"principalId\": z.string().optional(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]).optional(),\n \"workspaceId\": z.string().optional(),\n \"apiKeyId\": idOf(\"apiKeys\"),\n \"sessionType\": z.enum([\"user\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"role\": z.string().optional(),\n \"scopes\": z.array(z.string()).optional(),\n \"delegationChain\": z.array(z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"sessionId\": z.string().optional(),\n \"delegatedAt\": z.number().optional(),\n \"reason\": z.string().optional()\n })).optional(),\n \"sourceSessionId\": z.string().optional(),\n \"status\": z.enum([\"active\", \"expired\", \"revoked\"]),\n \"sessionExpiresAt\": z.number().optional(),\n \"jwtIssuedAt\": z.number().optional(),\n \"jwtExpiresAt\": z.number().optional(),\n \"lastActivityAt\": z.number(),\n \"lastValidatedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"revokeReason\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] },\n { kind: 'index', name: \"by_sourceSessionId\", columns: [\"sourceSessionId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_clerkUserId\", columns: [\"clerkUserId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/dsl/idOf.ts","../../../../src/schemas/tables/mc/identity.ts"],"names":["z"],"mappings":"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","file":"identity.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"identity\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","import { z } from \"zod\";\n\nexport const CONVEX_ID_TABLE = Symbol.for(\"lucern.contracts.convexIdTable\");\n\nexport type ConvexIdSchema<T extends string> = z.ZodBranded<\n z.ZodString,\n `Id<${T}>`\n> & {\n readonly [CONVEX_ID_TABLE]: T;\n};\n\nexport function idOf<T extends string>(table: T): ConvexIdSchema<T> {\n const schema = z.string().brand<`Id<${T}>`>();\n Object.defineProperty(schema, CONVEX_ID_TABLE, {\n configurable: false,\n enumerable: false,\n value: table,\n writable: false,\n });\n return schema as ConvexIdSchema<T>;\n}\n\nexport function getConvexIdTable(schema: z.ZodTypeAny): string | undefined {\n return (schema as Partial<Record<typeof CONVEX_ID_TABLE, string>>)[\n CONVEX_ID_TABLE\n ];\n}\n","/**\n * Schema contracts for mc/identity.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const groupMemberships = defineTable({\n name: \"groupMemberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"groupId\": idOf(\"groups\"),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"addedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_groupId\", columns: [\"groupId\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_group\", columns: [\"principalId\", \"groupId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const groups = defineTable({\n name: \"groups\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"groupKey\": z.string(),\n \"name\": z.string(),\n \"groupType\": z.enum([\"internal\", \"external\", \"system\"]),\n \"description\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenantId_groupKey\", columns: [\"tenantId\", \"groupKey\"] }\n ],\n});\n\nexport const memberships = defineTable({\n name: \"memberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalRefId\": idOf(\"principals\").optional(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"role\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"source\": z.enum([\"manual\", \"sso\", \"bootstrap\", \"api\", \"scim\"]),\n \"grantedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_tenant\", columns: [\"principalId\", \"tenantId\"] },\n { kind: 'index', name: \"by_workspace_principal\", columns: [\"workspaceId\", \"principalId\"] },\n { kind: 'index', name: \"by_tenant_role\", columns: [\"tenantId\", \"role\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const principals = defineTable({\n name: \"principals\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"user\", \"group\", \"service\", \"external_viewer\"]),\n \"clerkId\": z.string().optional(),\n \"email\": z.string().optional(),\n \"displayName\": z.string().optional(),\n \"groupIds\": z.array(idOf(\"groups\")).optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"suspended\", \"disabled\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_clerkId\", columns: [\"clerkId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const rateLimitWindows = defineTable({\n name: \"rateLimitWindows\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"keyId\": z.string().optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"windowType\": z.enum([\"minute\", \"hour\"]),\n \"windowStartMs\": z.number(),\n \"windowEndMs\": z.number(),\n \"requestCount\": z.number(),\n \"limit\": z.number(),\n \"tier\": z.enum([\"free\", \"developer\", \"partner\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_window\", columns: [\"principalId\", \"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_type_start\", columns: [\"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_end\", columns: [\"windowEndMs\"] },\n { kind: 'index', name: \"by_tier_window_end\", columns: [\"tier\", \"windowEndMs\"] }\n ],\n});\n\nexport const oauthDeviceCodes = defineTable({\n name: \"oauthDeviceCodes\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"deviceCodeHash\": z.string(),\n \"userCode\": z.string(),\n \"clientId\": z.string(),\n \"scope\": z.string(),\n \"status\": z.enum([\"pending\", \"approved\", \"denied\", \"expired\", \"consumed\"]),\n \"expiresAt\": z.number(),\n \"intervalSeconds\": z.number(),\n \"lastPolledAt\": z.number().optional(),\n \"slowDownCount\": z.number().optional(),\n \"clerkUserId\": z.string().optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"role\": z.string().optional(),\n \"scopes\": z.array(z.string()).optional(),\n \"sessionId\": z.string().optional(),\n \"approvedAt\": z.number().optional(),\n \"deniedAt\": z.number().optional(),\n \"consumedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_deviceCodeHash\", columns: [\"deviceCodeHash\"] },\n { kind: 'index', name: \"by_userCode\", columns: [\"userCode\"] },\n { kind: 'index', name: \"by_status_expiresAt\", columns: [\"status\", \"expiresAt\"] },\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] }\n ],\n});\n\nexport const servicePrincipalKeys = defineTable({\n name: \"servicePrincipalKeys\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"keyId\": z.string(),\n \"tokenHash\": z.string(),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"scopes\": z.array(z.string()),\n \"environment\": z.enum([\"sandbox\", \"production\"]),\n \"status\": z.enum([\"active\", \"rotating\", \"rotated\", \"expired\", \"revoked\"]),\n \"expiresAt\": z.number(),\n \"rotationGracePeriod\": z.number().optional(),\n \"rotatedToKeyId\": z.string().optional(),\n \"rateLimitTier\": z.enum([\"free\", \"developer\", \"partner\"]).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"revokedBy\": z.string().optional(),\n \"revokedAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_keyId\", columns: [\"keyId\"] },\n { kind: 'index', name: \"by_tokenHash\", columns: [\"tokenHash\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] }\n ],\n});\n\nexport const userSessions = defineTable({\n name: \"userSessions\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"sessionId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"clerkUserId\": z.string(),\n \"principalId\": z.string().optional(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]).optional(),\n \"workspaceId\": z.string().optional(),\n \"apiKeyId\": idOf(\"apiKeys\"),\n \"sessionType\": z.enum([\"user\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"role\": z.string().optional(),\n \"scopes\": z.array(z.string()).optional(),\n \"delegationChain\": z.array(z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"sessionId\": z.string().optional(),\n \"delegatedAt\": z.number().optional(),\n \"reason\": z.string().optional()\n })).optional(),\n \"sourceSessionId\": z.string().optional(),\n \"status\": z.enum([\"active\", \"expired\", \"revoked\"]),\n \"sessionExpiresAt\": z.number().optional(),\n \"jwtIssuedAt\": z.number().optional(),\n \"jwtExpiresAt\": z.number().optional(),\n \"lastActivityAt\": z.number(),\n \"lastValidatedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"revokeReason\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] },\n { kind: 'index', name: \"by_sourceSessionId\", columns: [\"sourceSessionId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_clerkUserId\", columns: [\"clerkUserId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n"]}