@lucern/contracts 0.3.0-alpha.17 → 0.3.0-alpha.2

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 (316) hide show
  1. package/CHANGELOG.md +0 -10
  2. package/dist/api-enums.contract.d.ts +3 -5
  3. package/dist/api-enums.contract.js +12 -14
  4. package/dist/api-enums.contract.js.map +1 -1
  5. package/dist/auth-context.contract.js +2 -14
  6. package/dist/auth-context.contract.js.map +1 -1
  7. package/dist/auth-session.contract.js +2 -14
  8. package/dist/auth-session.contract.js.map +1 -1
  9. package/dist/auth.contract.d.ts +1 -1
  10. package/dist/auth.contract.js +2 -14
  11. package/dist/auth.contract.js.map +1 -1
  12. package/dist/context-pack.contract.d.ts +3 -5
  13. package/dist/context-pack.contract.js.map +1 -1
  14. package/dist/{defineTable-t1wr5wgn.d.ts → defineTable-CBQ03FXl.d.ts} +1 -1
  15. package/dist/{dsl-DVPthQGY.d.ts → dsl-BgpoVOVQ.d.ts} +2 -2
  16. package/dist/dsl.d.ts +2 -2
  17. package/dist/dsl.js +4 -1
  18. package/dist/dsl.js.map +1 -1
  19. package/dist/function-registry/beliefs.d.ts +51 -64
  20. package/dist/function-registry/beliefs.js +57 -817
  21. package/dist/function-registry/beliefs.js.map +1 -1
  22. package/dist/function-registry/coding.d.ts +6 -15
  23. package/dist/function-registry/coding.js +43 -866
  24. package/dist/function-registry/coding.js.map +1 -1
  25. package/dist/function-registry/context.d.ts +16 -22
  26. package/dist/function-registry/context.js +46 -805
  27. package/dist/function-registry/context.js.map +1 -1
  28. package/dist/function-registry/contracts.d.ts +3 -9
  29. package/dist/function-registry/contracts.js +39 -770
  30. package/dist/function-registry/contracts.js.map +1 -1
  31. package/dist/function-registry/coordination.d.ts +9 -21
  32. package/dist/function-registry/coordination.js +39 -770
  33. package/dist/function-registry/coordination.js.map +1 -1
  34. package/dist/function-registry/edges.d.ts +2 -167
  35. package/dist/function-registry/edges.js +71 -978
  36. package/dist/function-registry/edges.js.map +1 -1
  37. package/dist/function-registry/evidence.d.ts +41 -52
  38. package/dist/function-registry/evidence.js +62 -826
  39. package/dist/function-registry/evidence.js.map +1 -1
  40. package/dist/function-registry/graph.d.ts +66 -162
  41. package/dist/function-registry/graph.js +46 -886
  42. package/dist/function-registry/graph.js.map +1 -1
  43. package/dist/function-registry/helpers.d.ts +4 -7
  44. package/dist/function-registry/helpers.js +40 -771
  45. package/dist/function-registry/helpers.js.map +1 -1
  46. package/dist/function-registry/identity.d.ts +16 -62
  47. package/dist/function-registry/identity.js +45 -793
  48. package/dist/function-registry/identity.js.map +1 -1
  49. package/dist/function-registry/index.d.ts +3 -5
  50. package/dist/function-registry/index.js +43 -777
  51. package/dist/function-registry/index.js.map +1 -1
  52. package/dist/function-registry/judgments.d.ts +11 -16
  53. package/dist/function-registry/judgments.js +42 -782
  54. package/dist/function-registry/judgments.js.map +1 -1
  55. package/dist/function-registry/legacy.d.ts +1 -5
  56. package/dist/function-registry/legacy.js +39 -770
  57. package/dist/function-registry/legacy.js.map +1 -1
  58. package/dist/function-registry/lenses.d.ts +21 -28
  59. package/dist/function-registry/lenses.js +42 -793
  60. package/dist/function-registry/lenses.js.map +1 -1
  61. package/dist/function-registry/manifest.d.ts +6 -6
  62. package/dist/function-registry/manifest.js +2 -19
  63. package/dist/function-registry/manifest.js.map +1 -1
  64. package/dist/function-registry/ontologies.d.ts +56 -70
  65. package/dist/function-registry/ontologies.js +45 -788
  66. package/dist/function-registry/ontologies.js.map +1 -1
  67. package/dist/function-registry/pipeline.d.ts +16 -22
  68. package/dist/function-registry/pipeline.js +42 -779
  69. package/dist/function-registry/pipeline.js.map +1 -1
  70. package/dist/function-registry/questions.d.ts +61 -76
  71. package/dist/function-registry/questions.js +52 -869
  72. package/dist/function-registry/questions.js.map +1 -1
  73. package/dist/function-registry/tasks.d.ts +21 -28
  74. package/dist/function-registry/tasks.js +48 -845
  75. package/dist/function-registry/tasks.js.map +1 -1
  76. package/dist/function-registry/topics.d.ts +26 -114
  77. package/dist/function-registry/topics.js +43 -852
  78. package/dist/function-registry/topics.js.map +1 -1
  79. package/dist/function-registry/types.d.ts +3 -7
  80. package/dist/function-registry/worktrees.d.ts +51 -104
  81. package/dist/function-registry/worktrees.js +51 -925
  82. package/dist/function-registry/worktrees.js.map +1 -1
  83. package/dist/gateway.contract.d.ts +0 -6
  84. package/dist/gateway.contract.js.map +1 -1
  85. package/dist/generated/convexSchemas.d.ts +3 -3
  86. package/dist/generated/convexSchemas.js +18 -39
  87. package/dist/generated/convexSchemas.js.map +1 -1
  88. package/dist/generated/schema-manifest.json +98 -1244
  89. package/dist/generated/tableOwnership.d.ts +28 -49
  90. package/dist/generated/tableOwnership.js +26 -68
  91. package/dist/generated/tableOwnership.js.map +1 -1
  92. package/dist/generated/tier-expectations.json +9 -66
  93. package/dist/graph-types/index.d.ts +1 -5
  94. package/dist/graph-types/index.js +4 -15
  95. package/dist/graph-types/index.js.map +1 -1
  96. package/dist/index-CV-0_VWJ.d.ts +25 -0
  97. package/dist/index.d.ts +414 -30
  98. package/dist/index.js +342 -35266
  99. package/dist/index.js.map +1 -1
  100. package/dist/lens-filter.contract.js +3 -4
  101. package/dist/lens-filter.contract.js.map +1 -1
  102. package/dist/lens-workflow.contract.js +3 -4
  103. package/dist/lens-workflow.contract.js.map +1 -1
  104. package/dist/schema-helpers/enumValidation.js +5 -2
  105. package/dist/schema-helpers/enumValidation.js.map +1 -1
  106. package/dist/schema-helpers/spine/nodes/decision.js +1 -2
  107. package/dist/schema-helpers/spine/nodes/decision.js.map +1 -1
  108. package/dist/schema-helpers/spine/tables/epistemicNodes.js +27 -27
  109. package/dist/schema-helpers/spine/tables/epistemicNodes.js.map +1 -1
  110. package/dist/schemas/component-table-manifest.d.ts +6 -6
  111. package/dist/schemas/component-table-manifest.js +2 -2
  112. package/dist/schemas/component-table-manifest.js.map +1 -1
  113. package/dist/schemas/enums.d.ts +2 -5
  114. package/dist/schemas/enums.js +2 -5
  115. package/dist/schemas/enums.js.map +1 -1
  116. package/dist/schemas/index.d.ts +3 -3
  117. package/dist/schemas/index.js +139 -1165
  118. package/dist/schemas/index.js.map +1 -1
  119. package/dist/schemas/manifest.d.ts +932 -3042
  120. package/dist/schemas/manifest.js +137 -1163
  121. package/dist/schemas/manifest.js.map +1 -1
  122. package/dist/schemas/sl-opinion.d.ts +4 -4
  123. package/dist/schemas/tables/{controlPlane → identity}/agent.d.ts +1 -1
  124. package/dist/schemas/tables/{controlPlane → identity}/agent.js +3 -3
  125. package/dist/schemas/tables/identity/agent.js.map +1 -0
  126. package/dist/schemas/tables/{controlPlane → identity}/epistemic.d.ts +1 -1
  127. package/dist/schemas/tables/{controlPlane → identity}/epistemic.js +3 -3
  128. package/dist/schemas/tables/identity/epistemic.js.map +1 -0
  129. package/dist/schemas/tables/{controlPlane → identity}/model.d.ts +1 -1
  130. package/dist/schemas/tables/{controlPlane → identity}/model.js +6 -6
  131. package/dist/schemas/tables/identity/model.js.map +1 -0
  132. package/dist/schemas/tables/{controlPlane → identity}/platform.d.ts +11 -11
  133. package/dist/schemas/tables/{controlPlane → identity}/platform.js +18 -18
  134. package/dist/schemas/tables/identity/platform.js.map +1 -0
  135. package/dist/schemas/tables/{controlPlane → identity}/project.d.ts +1 -1
  136. package/dist/schemas/tables/{controlPlane → identity}/project.js +3 -3
  137. package/dist/schemas/tables/identity/project.js.map +1 -0
  138. package/dist/schemas/tables/{controlPlane → identity}/user.d.ts +1 -1
  139. package/dist/schemas/tables/{controlPlane → identity}/user.js +3 -3
  140. package/dist/schemas/tables/identity/user.js.map +1 -0
  141. package/dist/schemas/tables/kernel/config.d.ts +1 -1
  142. package/dist/schemas/tables/kernel/config.js.map +1 -1
  143. package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
  144. package/dist/schemas/tables/kernel/coordination.js.map +1 -1
  145. package/dist/schemas/tables/kernel/decision.d.ts +1 -1
  146. package/dist/schemas/tables/kernel/decision.js.map +1 -1
  147. package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
  148. package/dist/schemas/tables/kernel/embedding.js.map +1 -1
  149. package/dist/schemas/tables/kernel/epistemic.d.ts +7 -7
  150. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  151. package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
  152. package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
  153. package/dist/schemas/tables/kernel/infra.d.ts +5 -5
  154. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  155. package/dist/schemas/tables/kernel/intelligence.d.ts +11 -11
  156. package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
  157. package/dist/schemas/tables/kernel/lens.d.ts +5 -5
  158. package/dist/schemas/tables/kernel/lens.js.map +1 -1
  159. package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
  160. package/dist/schemas/tables/kernel/ontology.js.map +1 -1
  161. package/dist/schemas/tables/kernel/platform.d.ts +13 -13
  162. package/dist/schemas/tables/kernel/platform.js.map +1 -1
  163. package/dist/schemas/tables/kernel/spine.d.ts +4 -5
  164. package/dist/schemas/tables/kernel/spine.js +2 -6
  165. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  166. package/dist/schemas/tables/kernel/task.d.ts +43 -43
  167. package/dist/schemas/tables/kernel/task.js.map +1 -1
  168. package/dist/schemas/tables/kernel/topic.d.ts +1 -1
  169. package/dist/schemas/tables/kernel/topic.js +1 -5
  170. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  171. package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
  172. package/dist/schemas/tables/kernel/workflow.js.map +1 -1
  173. package/dist/schemas/tables/kernel/worktree.d.ts +55 -55
  174. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  175. package/dist/schemas/tables/mc/identity.d.ts +4 -44
  176. package/dist/schemas/tables/mc/identity.js +1 -66
  177. package/dist/schemas/tables/mc/identity.js.map +1 -1
  178. package/dist/schemas/tables/mc/methodology.d.ts +1 -1
  179. package/dist/schemas/tables/mc/methodology.js.map +1 -1
  180. package/dist/schemas/tables/mc/pack.d.ts +21 -21
  181. package/dist/schemas/tables/mc/pack.js.map +1 -1
  182. package/dist/schemas/tables/mc/policy.d.ts +2 -2
  183. package/dist/schemas/tables/mc/policy.js +1 -1
  184. package/dist/schemas/tables/mc/policy.js.map +1 -1
  185. package/dist/schemas/tables/mc/registry.d.ts +5 -5
  186. package/dist/schemas/tables/mc/registry.js.map +1 -1
  187. package/dist/schemas/tables/mc/runtime.d.ts +3 -109
  188. package/dist/schemas/tables/mc/runtime.js +104 -330
  189. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  190. package/dist/schemas/tables/mc/tenant.d.ts +2 -4
  191. package/dist/schemas/tables/mc/tenant.js +1 -3
  192. package/dist/schemas/tables/mc/tenant.js.map +1 -1
  193. package/dist/schemas/tables/mc/workspace.d.ts +5 -28
  194. package/dist/schemas/tables/mc/workspace.js +2 -36
  195. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  196. package/dist/sdk-methods.contract.d.ts +2 -2
  197. package/dist/{sdk-tools.contract-CKmSsrZ2.d.ts → sdk-tools.contract-S4ia0TTo.d.ts} +2 -2
  198. package/dist/sdk-tools.contract.d.ts +2 -2
  199. package/dist/sdk-tools.contract.js +27 -719
  200. package/dist/sdk-tools.contract.js.map +1 -1
  201. package/dist/{tool-contracts-C_xvM9q2.d.ts → tool-contracts-C92-9ueT.d.ts} +2 -38
  202. package/dist/tool-contracts.d.ts +1 -1
  203. package/dist/tool-contracts.js +28 -720
  204. package/dist/tool-contracts.js.map +1 -1
  205. package/package.json +1 -30
  206. package/dist/component-boundary.contract.d.ts +0 -14
  207. package/dist/component-boundary.contract.js +0 -175
  208. package/dist/component-boundary.contract.js.map +0 -1
  209. package/dist/component-host-boundary.contract.d.ts +0 -46
  210. package/dist/component-host-boundary.contract.js +0 -60
  211. package/dist/component-host-boundary.contract.js.map +0 -1
  212. package/dist/edge-policy-manifest-Dw5IhT1L.d.ts +0 -133
  213. package/dist/function-registry/nodes.d.ts +0 -412
  214. package/dist/function-registry/nodes.js +0 -5354
  215. package/dist/function-registry/nodes.js.map +0 -1
  216. package/dist/function-registry-input-audit.d.ts +0 -13
  217. package/dist/function-registry-input-audit.js +0 -166
  218. package/dist/function-registry-input-audit.js.map +0 -1
  219. package/dist/generated/infisicalRuntimeEnv.d.ts +0 -70
  220. package/dist/generated/infisicalRuntimeEnv.js +0 -27345
  221. package/dist/generated/infisicalRuntimeEnv.js.map +0 -1
  222. package/dist/generated/lucernGatewayEnv.d.ts +0 -17
  223. package/dist/generated/lucernGatewayEnv.js +0 -38
  224. package/dist/generated/lucernGatewayEnv.js.map +0 -1
  225. package/dist/generated/lucernWebPublicEnv.d.ts +0 -26
  226. package/dist/generated/lucernWebPublicEnv.js +0 -32
  227. package/dist/generated/lucernWebPublicEnv.js.map +0 -1
  228. package/dist/generated/lucernWebServerEnv.d.ts +0 -33
  229. package/dist/generated/lucernWebServerEnv.js +0 -51
  230. package/dist/generated/lucernWebServerEnv.js.map +0 -1
  231. package/dist/graph-intelligence.contract.d.ts +0 -506
  232. package/dist/graph-intelligence.contract.js +0 -595
  233. package/dist/graph-intelligence.contract.js.map +0 -1
  234. package/dist/index-CM1Pl_vI.d.ts +0 -28
  235. package/dist/infisical-runtime.contract.d.ts +0 -1889
  236. package/dist/infisical-runtime.contract.js +0 -3235
  237. package/dist/infisical-runtime.contract.js.map +0 -1
  238. package/dist/manifests/edge-policy-manifest.d.ts +0 -2
  239. package/dist/manifests/edge-policy-manifest.data.d.ts +0 -13
  240. package/dist/manifests/edge-policy-manifest.data.js +0 -26
  241. package/dist/manifests/edge-policy-manifest.data.js.map +0 -1
  242. package/dist/manifests/edge-policy-manifest.js +0 -92
  243. package/dist/manifests/edge-policy-manifest.js.map +0 -1
  244. package/dist/manifests/infisical-runtime-manifest.d.ts +0 -1792
  245. package/dist/manifests/infisical-runtime-manifest.js +0 -3090
  246. package/dist/manifests/infisical-runtime-manifest.js.map +0 -1
  247. package/dist/manifests/invariant-manifest.d.ts +0 -65
  248. package/dist/manifests/invariant-manifest.js +0 -18
  249. package/dist/manifests/invariant-manifest.js.map +0 -1
  250. package/dist/manifests/invariants/ast-utils.d.ts +0 -14
  251. package/dist/manifests/invariants/ast-utils.js +0 -54
  252. package/dist/manifests/invariants/ast-utils.js.map +0 -1
  253. package/dist/manifests/invariants/index.d.ts +0 -15
  254. package/dist/manifests/invariants/index.js +0 -183
  255. package/dist/manifests/invariants/index.js.map +0 -1
  256. package/dist/manifests/invariants/inv-1-beliefs-append-only.d.ts +0 -12
  257. package/dist/manifests/invariants/inv-1-beliefs-append-only.js +0 -94
  258. package/dist/manifests/invariants/inv-1-beliefs-append-only.js.map +0 -1
  259. package/dist/manifests/invariants/inv-14-no-silent-transitions.d.ts +0 -12
  260. package/dist/manifests/invariants/inv-14-no-silent-transitions.js +0 -99
  261. package/dist/manifests/invariants/inv-14-no-silent-transitions.js.map +0 -1
  262. package/dist/manifests/invariants/manifest-1-projections-declare-audit.d.ts +0 -12
  263. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js +0 -42
  264. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js.map +0 -1
  265. package/dist/manifests/tenant-client-manifest.d.ts +0 -327
  266. package/dist/manifests/tenant-client-manifest.js +0 -449
  267. package/dist/manifests/tenant-client-manifest.js.map +0 -1
  268. package/dist/mcp-gateway-boundary.contract.d.ts +0 -201
  269. package/dist/mcp-gateway-boundary.contract.js +0 -45
  270. package/dist/mcp-gateway-boundary.contract.js.map +0 -1
  271. package/dist/permit-principal-projection.contract.d.ts +0 -74
  272. package/dist/permit-principal-projection.contract.js +0 -167
  273. package/dist/permit-principal-projection.contract.js.map +0 -1
  274. package/dist/projections/check-convex-args-shape.d.ts +0 -3
  275. package/dist/projections/check-convex-args-shape.js +0 -403
  276. package/dist/projections/check-convex-args-shape.js.map +0 -1
  277. package/dist/projections/create-evidence.projection.d.ts +0 -176
  278. package/dist/projections/create-evidence.projection.js +0 -130
  279. package/dist/projections/create-evidence.projection.js.map +0 -1
  280. package/dist/projections/index.d.ts +0 -102
  281. package/dist/projections/index.js +0 -352
  282. package/dist/projections/index.js.map +0 -1
  283. package/dist/projections/list-beliefs.projection.d.ts +0 -36
  284. package/dist/projections/list-beliefs.projection.js +0 -54
  285. package/dist/projections/list-beliefs.projection.js.map +0 -1
  286. package/dist/projections/list-tasks.projection.d.ts +0 -44
  287. package/dist/projections/list-tasks.projection.js +0 -57
  288. package/dist/projections/list-tasks.projection.js.map +0 -1
  289. package/dist/projections/modulate-confidence.projection.d.ts +0 -219
  290. package/dist/projections/modulate-confidence.projection.js +0 -148
  291. package/dist/projections/modulate-confidence.projection.js.map +0 -1
  292. package/dist/projections/projection-dsl.d.ts +0 -11
  293. package/dist/projections/projection-dsl.js +0 -8
  294. package/dist/projections/projection-dsl.js.map +0 -1
  295. package/dist/proof-attestation.json +0 -45
  296. package/dist/schemas/tables/controlPlane/accessControl.d.ts +0 -260
  297. package/dist/schemas/tables/controlPlane/accessControl.js +0 -658
  298. package/dist/schemas/tables/controlPlane/accessControl.js.map +0 -1
  299. package/dist/schemas/tables/controlPlane/agent.js.map +0 -1
  300. package/dist/schemas/tables/controlPlane/epistemic.js.map +0 -1
  301. package/dist/schemas/tables/controlPlane/model.js.map +0 -1
  302. package/dist/schemas/tables/controlPlane/platform.js.map +0 -1
  303. package/dist/schemas/tables/controlPlane/project.js.map +0 -1
  304. package/dist/schemas/tables/controlPlane/user.js.map +0 -1
  305. package/dist/schemas/tables/kernel/events.d.ts +0 -21
  306. package/dist/schemas/tables/kernel/events.js +0 -43
  307. package/dist/schemas/tables/kernel/events.js.map +0 -1
  308. package/dist/tenant-bootstrap-seed.contract.d.ts +0 -1289
  309. package/dist/tenant-bootstrap-seed.contract.js +0 -764
  310. package/dist/tenant-bootstrap-seed.contract.js.map +0 -1
  311. package/dist/tenant-bootstrap-seed.defaults.d.ts +0 -16
  312. package/dist/tenant-bootstrap-seed.defaults.js +0 -321
  313. package/dist/tenant-bootstrap-seed.defaults.js.map +0 -1
  314. package/dist/tenant-client.contract.d.ts +0 -354
  315. package/dist/tenant-client.contract.js +0 -505
  316. package/dist/tenant-client.contract.js.map +0 -1
package/dist/dsl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dsl/defineFunction.ts","../src/dsl/defineTable.ts","../src/dsl/errors.ts","../src/dsl/idOf.ts","../src/dsl/adapters/zod-to-cli.ts","../src/dsl/adapters/zod-to-convex.ts","../src/dsl/adapters/zod-to-jsonschema.ts"],"names":["getObjectShape","ZodFirstPartyTypeKind","unsupported","unwrapOptionalLike","convertLazy","convertSchema"],"mappings":"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","file":"dsl.js","sourcesContent":["import { z, type ZodObject, type ZodRawShape } from \"zod\";\n\nexport type FunctionEffect = \"read\" | \"write\" | \"admin\";\n\nexport type FunctionContract<\n A extends ZodRawShape = ZodRawShape,\n R extends z.ZodTypeAny = z.ZodTypeAny,\n> = {\n name: string;\n args: ZodObject<A>;\n returns: R;\n effects: readonly FunctionEffect[];\n idempotent?: boolean;\n invariants?: readonly string[];\n};\n\nexport function defineFunction<\n A extends ZodRawShape,\n R extends z.ZodTypeAny,\n>(spec: FunctionContract<A, R>): FunctionContract<A, R> {\n return spec;\n}\n","import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"control-plane\" | \"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","export type AdapterKind = \"convex\" | \"jsonschema\" | \"cli\";\n\nexport type AdapterPurpose = \"table\" | \"function_args\" | \"function_returns\";\n\nexport type AdapterContext = {\n adapter: AdapterKind;\n purpose?: AdapterPurpose;\n location?: string;\n path?: readonly string[];\n};\n\nfunction formatPath(path?: readonly string[]) {\n if (!path || path.length === 0) {\n return \"\";\n }\n\n return path.join(\".\");\n}\n\nfunction formatLocation(context: AdapterContext) {\n const segments: string[] = [context.adapter];\n if (context.purpose) {\n segments.push(context.purpose);\n }\n if (context.location) {\n segments.push(context.location);\n }\n const formattedPath = formatPath(context.path);\n if (formattedPath) {\n segments.push(formattedPath);\n }\n return segments.join(\" :: \");\n}\n\nexport class SchemaAdapterError extends Error {\n readonly context: AdapterContext;\n\n constructor(message: string, context: AdapterContext) {\n super(`${message} [${formatLocation(context)}]`);\n this.name = \"SchemaAdapterError\";\n this.context = context;\n }\n}\n\nexport function schemaAdapterError(\n message: string,\n context: AdapterContext\n): SchemaAdapterError {\n return new SchemaAdapterError(message, context);\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","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport { schemaAdapterError } from \"../errors.js\";\n\nexport type CliOptionKind = \"string\" | \"number\" | \"bigint\" | \"boolean\" | \"json\";\n\nexport type CliOptionSpec = {\n name: string;\n kind: CliOptionKind;\n required: boolean;\n variadic?: boolean;\n nullable?: boolean;\n choices?: readonly (string | number | boolean)[];\n defaultValue?: unknown;\n description?: string;\n};\n\nexport type CliCommandSpec = {\n options: readonly CliOptionSpec[];\n};\n\nexport type ZodToCliOptions = {\n location?: string;\n};\n\ntype FieldState = {\n schema: ZodTypeAny;\n required: boolean;\n nullable: boolean;\n defaultValue?: unknown;\n};\n\ntype ConversionState = {\n location?: string;\n seenLazySchemas: WeakSet<object>;\n};\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"cli\",\n location: state.location,\n path,\n });\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapField(\n schema: ZodTypeAny,\n path: readonly string[]\n): FieldState {\n let current = schema;\n let required = true;\n let nullable = false;\n let defaultValue: unknown;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n required = false;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n defaultValue = current._def.defaultValue();\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodNullable:\n nullable = true;\n current = current._def.innerType;\n continue;\n default:\n return {\n schema: current,\n required,\n nullable,\n defaultValue,\n };\n }\n }\n}\n\nfunction primitiveOption(\n name: string,\n kind: CliOptionKind,\n field: FieldState,\n choices?: readonly (string | number | boolean)[]\n): CliOptionSpec {\n return {\n name,\n kind,\n required: field.required,\n nullable: field.nullable || undefined,\n defaultValue: field.defaultValue,\n choices,\n description: field.schema.description,\n };\n}\n\nfunction optionFromSchema(\n name: string,\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): CliOptionSpec {\n const field = unwrapField(schema, path);\n\n switch (field.schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return primitiveOption(name, \"string\", field);\n case ZodFirstPartyTypeKind.ZodNumber:\n return primitiveOption(name, \"number\", field);\n case ZodFirstPartyTypeKind.ZodBigInt:\n return primitiveOption(name, \"bigint\", field);\n case ZodFirstPartyTypeKind.ZodBoolean:\n return primitiveOption(name, \"boolean\", field);\n case ZodFirstPartyTypeKind.ZodEnum:\n return primitiveOption(name, \"string\", field, field.schema._def.values);\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = [...new Set(Object.values(field.schema._def.values))].filter(\n (value): value is string | number | boolean =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n return primitiveOption(\n name,\n values.every((value) => typeof value === \"number\") ? \"number\" : \"string\",\n field,\n values\n );\n }\n case ZodFirstPartyTypeKind.ZodLiteral:\n return primitiveOption(name, \"string\", field, [field.schema._def.value]);\n case ZodFirstPartyTypeKind.ZodArray: {\n const item = unwrapField(field.schema._def.type, [...path, \"[]\"]);\n switch (item.schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { ...primitiveOption(name, \"string\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { ...primitiveOption(name, \"number\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { ...primitiveOption(name, \"bigint\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { ...primitiveOption(name, \"boolean\", field), variadic: true };\n default:\n return {\n ...primitiveOption(name, \"json\", field),\n variadic: false,\n };\n }\n }\n case ZodFirstPartyTypeKind.ZodLazy: {\n const lazySchema = field.schema as z.ZodLazy<ZodTypeAny>;\n if (state.seenLazySchemas.has(lazySchema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the CLI adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(lazySchema);\n try {\n return optionFromSchema(name, lazySchema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(lazySchema);\n }\n }\n case ZodFirstPartyTypeKind.ZodBranded:\n return primitiveOption(name, \"string\", field);\n case ZodFirstPartyTypeKind.ZodObject:\n case ZodFirstPartyTypeKind.ZodUnion:\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n case ZodFirstPartyTypeKind.ZodRecord:\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return primitiveOption(name, \"json\", field);\n default:\n unsupported(\n `Unsupported Zod schema kind ${field.schema._def.typeName}`,\n state,\n path\n );\n }\n}\n\nexport function zodToCli(\n schema: z.ZodObject<z.ZodRawShape>,\n options: ZodToCliOptions = {}\n): CliCommandSpec {\n if (schema._def.typeName !== ZodFirstPartyTypeKind.ZodObject) {\n throw schemaAdapterError(\"CLI generation requires a Zod object schema\", {\n adapter: \"cli\",\n location: options.location,\n path: [],\n });\n }\n\n const state: ConversionState = {\n location: options.location,\n seenLazySchemas: new WeakSet<object>(),\n };\n const optionsList = Object.entries(getObjectShape(schema))\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([name, value]) => optionFromSchema(name, value, state, [name]));\n\n return {\n options: optionsList,\n };\n}\n","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport type { TableIndex } from \"../defineTable.js\";\nimport {\n SchemaAdapterError,\n schemaAdapterError,\n type AdapterPurpose,\n} from \"../errors.js\";\nimport { getConvexIdTable } from \"../idOf.js\";\n\nexport type ConvexDefault = {\n path: readonly string[];\n value: unknown;\n};\n\nexport type ZodToConvexOptions = {\n purpose?: AdapterPurpose;\n location?: string;\n};\n\nexport type ZodToConvexResult = {\n source: string;\n defaults: readonly ConvexDefault[];\n};\n\ntype ConversionState = {\n location?: string;\n purpose: AdapterPurpose;\n seenLazySchemas: WeakSet<object>;\n};\n\ntype ConvertedSchema = {\n source: string;\n defaults: ConvexDefault[];\n};\n\nfunction encodeLiteral(value: string | number | bigint | boolean | null) {\n if (typeof value === \"bigint\") {\n return `${value}n`;\n }\n return JSON.stringify(value);\n}\n\nfunction sortEntries<T>(entries: readonly [string, T][]) {\n return [...entries].sort(([left], [right]) => left.localeCompare(right));\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapOptionalLike(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): {\n schema: ZodTypeAny;\n isOptional: boolean;\n defaults: ConvexDefault[];\n} {\n const defaults: ConvexDefault[] = [];\n let current = schema;\n let isOptional = false;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n isOptional = true;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault: {\n if (state.purpose === \"table\") {\n throw schemaAdapterError(\n \"Zod defaults are not allowed in table contracts\",\n {\n adapter: \"convex\",\n purpose: state.purpose,\n location: state.location,\n path,\n }\n );\n }\n isOptional = true;\n defaults.push({\n path,\n value: current._def.defaultValue(),\n });\n current = current._def.innerType;\n continue;\n }\n default:\n return {\n schema: current,\n isOptional,\n defaults,\n };\n }\n }\n}\n\nfunction convertSchema(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const { schema: unwrapped, isOptional, defaults } = unwrapOptionalLike(\n schema,\n state,\n path\n );\n const converted = convertSchemaInner(unwrapped, state, path);\n return {\n source: isOptional ? `v.optional(${converted.source})` : converted.source,\n defaults: [...defaults, ...converted.defaults],\n };\n}\n\nfunction enumToUnion(values: readonly (string | number)[]) {\n if (values.length === 0) {\n return \"v.never()\";\n }\n if (values.length === 1) {\n return `v.literal(${encodeLiteral(values[0])})`;\n }\n return `v.union(${values\n .map((value) => `v.literal(${encodeLiteral(value)})`)\n .join(\", \")})`;\n}\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"convex\",\n purpose: state.purpose,\n location: state.location,\n path,\n });\n}\n\nfunction convertLazy(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const lazySchema = schema as z.ZodLazy<ZodTypeAny>;\n if (state.seenLazySchemas.has(lazySchema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the Convex adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(lazySchema);\n try {\n return convertSchema(lazySchema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(lazySchema);\n }\n}\n\nfunction convertSchemaInner(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const idTable = getConvexIdTable(schema);\n if (idTable) {\n return {\n source: `v.id(${JSON.stringify(idTable)})`,\n defaults: [],\n };\n }\n\n switch (schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { source: \"v.string()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { source: \"v.number()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { source: \"v.int64()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { source: \"v.boolean()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodNull:\n return { source: \"v.null()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return { source: \"v.any()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodLiteral: {\n return {\n source: `v.literal(${encodeLiteral(schema._def.value)})`,\n defaults: [],\n };\n }\n case ZodFirstPartyTypeKind.ZodEnum:\n return {\n source: enumToUnion(schema._def.values),\n defaults: [],\n };\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = Object.values(schema._def.values).filter(\n (value): value is string | number =>\n typeof value === \"string\" || typeof value === \"number\"\n );\n return {\n source: enumToUnion([...new Set(values)]),\n defaults: [],\n };\n }\n case ZodFirstPartyTypeKind.ZodNullable: {\n const inner = convertSchema(schema._def.innerType, state, path);\n return {\n source: `v.nullable(${inner.source})`,\n defaults: inner.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodArray: {\n const inner = convertSchema(schema._def.type, state, [...path, \"[]\"]);\n return {\n source: `v.array(${inner.source})`,\n defaults: inner.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodObject: {\n const objectSchema = schema as z.ZodObject<z.ZodRawShape>;\n if (\n objectSchema._def.catchall &&\n objectSchema._def.catchall._def.typeName !== ZodFirstPartyTypeKind.ZodNever\n ) {\n unsupported(\n \"Zod objects with catchall/passthrough fields cannot be lowered to Convex validators\",\n state,\n path\n );\n }\n const fields = sortEntries(Object.entries(getObjectShape(objectSchema)));\n const convertedFields = fields.map(([key, value]) => [\n key,\n convertSchema(value, state, [...path, key]),\n ] as const);\n return {\n source: `v.object({ ${convertedFields\n .map(([key, converted]) => `${JSON.stringify(key)}: ${converted.source}`)\n .join(\", \")} })`,\n defaults: convertedFields.flatMap(([, converted]) => converted.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodUnion: {\n const members = schema._def.options.map((option: ZodTypeAny, index: number) =>\n convertSchema(option, state, [...path, String(index)])\n );\n return {\n source: `v.union(${members\n .map((member: ConvertedSchema) => member.source)\n .join(\", \")})`,\n defaults: members.flatMap((member: ConvertedSchema) => member.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion: {\n const discriminatedUnion = schema as z.ZodDiscriminatedUnion<\n string,\n [z.ZodObject<z.ZodRawShape>, ...z.ZodObject<z.ZodRawShape>[]]\n >;\n const options =\n discriminatedUnion.options instanceof Map\n ? [...discriminatedUnion.options.values()]\n : [...discriminatedUnion.options];\n const members = options.map((option, index) =>\n convertSchema(option, state, [...path, String(index)])\n );\n return {\n source: `v.union(${members\n .map((member: ConvertedSchema) => member.source)\n .join(\", \")})`,\n defaults: members.flatMap((member: ConvertedSchema) => member.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodRecord: {\n const keyType = schema._def.keyType;\n if (\n keyType &&\n keyType._def.typeName !== ZodFirstPartyTypeKind.ZodString\n ) {\n unsupported(\n \"Only string-keyed z.record schemas can be lowered to Convex validators\",\n state,\n path\n );\n }\n const value = convertSchema(schema._def.valueType, state, [...path, \"{}\"]);\n return {\n source: `v.record(v.string(), ${value.source})`,\n defaults: value.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodLazy:\n return convertLazy(schema, state, path);\n case ZodFirstPartyTypeKind.ZodBranded: {\n return convertSchema(schema._def.type, state, path);\n }\n case ZodFirstPartyTypeKind.ZodEffects: {\n return convertSchema(schema._def.schema, state, path);\n }\n default:\n unsupported(`Unsupported Zod schema kind ${schema._def.typeName}`, state, path);\n }\n}\n\nexport function zodToConvex(\n schema: ZodTypeAny,\n options: ZodToConvexOptions = {}\n): ZodToConvexResult {\n const state: ConversionState = {\n location: options.location,\n purpose: options.purpose ?? \"function_returns\",\n seenLazySchemas: new WeakSet<object>(),\n };\n const converted = convertSchema(schema, state, []);\n return {\n source: converted.source,\n defaults: converted.defaults,\n };\n}\n\nexport function tableIndexToConvexSource(index: TableIndex): string {\n switch (index.kind) {\n case \"index\":\n return `.index(${JSON.stringify(index.name)}, [${index.columns\n .map((column) => JSON.stringify(column))\n .join(\", \")}])`;\n case \"search\":\n return `.searchIndex(${JSON.stringify(index.name)}, { searchField: ${JSON.stringify(\n index.searchField\n )}${index.filterFields?.length ? `, filterFields: [${index.filterFields\n .map((field) => JSON.stringify(field))\n .join(\", \")}]` : \"\"} })`;\n case \"vector\":\n return `.vectorIndex(${JSON.stringify(index.name)}, { vectorField: ${JSON.stringify(\n index.vectorField\n )}, dimensions: ${index.dimensions}${\n index.filterFields?.length\n ? `, filterFields: [${index.filterFields\n .map((field) => JSON.stringify(field))\n .join(\", \")}]`\n : \"\"\n } })`;\n default: {\n const exhaustive: never = index;\n throw new SchemaAdapterError(\n `Unsupported table index kind ${(exhaustive as { kind?: string }).kind ?? \"unknown\"}`,\n { adapter: \"convex\" }\n );\n }\n }\n}\n","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport { schemaAdapterError } from \"../errors.js\";\nimport { getConvexIdTable } from \"../idOf.js\";\n\nexport type JsonSchema =\n | boolean\n | {\n $schema?: string;\n type?: string | readonly string[];\n properties?: Record<string, JsonSchema>;\n required?: readonly string[];\n additionalProperties?: boolean | JsonSchema;\n items?: JsonSchema;\n enum?: readonly (string | number | boolean)[];\n const?: string | number | boolean | null;\n anyOf?: readonly JsonSchema[];\n oneOf?: readonly JsonSchema[];\n default?: unknown;\n format?: string;\n description?: string;\n [key: string]: unknown;\n };\n\nexport type ZodToJsonSchemaOptions = {\n location?: string;\n};\n\ntype JsonField = {\n schema: JsonSchema;\n required: boolean;\n};\n\ntype ConversionState = {\n location?: string;\n seenLazySchemas: WeakSet<object>;\n};\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"jsonschema\",\n location: state.location,\n path,\n });\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapOptionalLike(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): {\n schema: ZodTypeAny;\n required: boolean;\n defaultValue?: unknown;\n} {\n let current = schema;\n let required = true;\n let defaultValue: unknown;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n required = false;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n defaultValue = current._def.defaultValue();\n current = current._def.innerType;\n continue;\n default:\n return {\n schema: current,\n required,\n defaultValue,\n };\n }\n }\n}\n\nfunction convertLazy(\n schema: z.ZodLazy<ZodTypeAny>,\n state: ConversionState,\n path: readonly string[]\n): JsonSchema {\n if (state.seenLazySchemas.has(schema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the JSON Schema adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(schema);\n try {\n return convertSchema(schema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(schema);\n }\n}\n\nfunction literalType(value: unknown) {\n switch (typeof value) {\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isInteger(value) ? \"integer\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"bigint\":\n return \"integer\";\n default:\n return value === null ? \"null\" : undefined;\n }\n}\n\nfunction convertField(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): JsonField {\n const { schema: unwrapped, required, defaultValue } = unwrapOptionalLike(\n schema,\n state,\n path\n );\n const field = convertSchema(unwrapped, state, path);\n if (typeof field === \"boolean\") {\n return {\n schema: field,\n required,\n };\n }\n return {\n schema:\n defaultValue === undefined ? field : { ...field, default: defaultValue },\n required,\n };\n}\n\nfunction convertSchema(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): JsonSchema {\n const idTable = getConvexIdTable(schema);\n if (idTable) {\n return {\n type: \"string\",\n \"x-convex-id-table\": idTable,\n };\n }\n\n switch (schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { type: \"string\" };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { type: \"number\" };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { type: \"integer\", format: \"int64\" };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { type: \"boolean\" };\n case ZodFirstPartyTypeKind.ZodNull:\n return { type: \"null\" };\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return {};\n case ZodFirstPartyTypeKind.ZodLiteral:\n return {\n const: schema._def.value,\n type: literalType(schema._def.value),\n };\n case ZodFirstPartyTypeKind.ZodEnum:\n return {\n type: \"string\",\n enum: schema._def.values,\n };\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = [...new Set(Object.values(schema._def.values))].filter(\n (value): value is string | number | boolean =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n return {\n type: values.every((value) => typeof value === \"number\")\n ? \"number\"\n : \"string\",\n enum: values,\n };\n }\n case ZodFirstPartyTypeKind.ZodNullable: {\n const inner = convertSchema(schema._def.innerType, state, path);\n return {\n anyOf: [inner, { type: \"null\" }],\n };\n }\n case ZodFirstPartyTypeKind.ZodArray:\n return {\n type: \"array\",\n items: convertSchema(schema._def.type, state, [...path, \"[]\"]),\n };\n case ZodFirstPartyTypeKind.ZodObject: {\n const objectSchema = schema as z.ZodObject<z.ZodRawShape>;\n if (\n objectSchema._def.catchall &&\n objectSchema._def.catchall._def.typeName !== ZodFirstPartyTypeKind.ZodNever\n ) {\n unsupported(\n \"Zod objects with catchall/passthrough fields cannot be lowered to JSON Schema\",\n state,\n path\n );\n }\n const entries = Object.entries(getObjectShape(objectSchema)).sort(([a], [b]) =>\n a.localeCompare(b)\n );\n const converted = entries.map(([key, value]) => [\n key,\n convertField(value, state, [...path, key]),\n ] as const);\n const required = converted\n .filter(([, field]) => field.required)\n .map(([key]) => key);\n return {\n type: \"object\",\n properties: Object.fromEntries(\n converted.map(([key, field]) => [key, field.schema])\n ),\n additionalProperties: false,\n ...(required.length > 0 ? { required } : {}),\n };\n }\n case ZodFirstPartyTypeKind.ZodUnion:\n return {\n anyOf: schema._def.options.map((option: ZodTypeAny, index: number) =>\n convertSchema(option, state, [...path, String(index)])\n ),\n };\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion: {\n const discriminatedUnion = schema as z.ZodDiscriminatedUnion<\n string,\n [z.ZodObject<z.ZodRawShape>, ...z.ZodObject<z.ZodRawShape>[]]\n >;\n const options =\n discriminatedUnion.options instanceof Map\n ? [...discriminatedUnion.options.values()]\n : [...discriminatedUnion.options];\n return {\n oneOf: options.map((option, index) =>\n convertSchema(option, state, [...path, String(index)])\n ),\n };\n }\n case ZodFirstPartyTypeKind.ZodRecord: {\n const keyType = schema._def.keyType;\n if (\n keyType &&\n keyType._def.typeName !== ZodFirstPartyTypeKind.ZodString\n ) {\n unsupported(\n \"Only string-keyed z.record schemas can be lowered to JSON Schema\",\n state,\n path\n );\n }\n return {\n type: \"object\",\n additionalProperties: convertSchema(\n schema._def.valueType,\n state,\n [...path, \"{}\"]\n ),\n };\n }\n case ZodFirstPartyTypeKind.ZodLazy:\n return convertLazy(schema as z.ZodLazy<ZodTypeAny>, state, path);\n case ZodFirstPartyTypeKind.ZodBranded:\n return convertSchema(schema._def.type, state, path);\n default:\n unsupported(\n `Unsupported Zod schema kind ${schema._def.typeName}`,\n state,\n path\n );\n }\n}\n\nexport function zodToJsonSchema(\n schema: ZodTypeAny,\n options: ZodToJsonSchemaOptions = {}\n): JsonSchema {\n const converted = convertSchema(schema, {\n location: options.location,\n seenLazySchemas: new WeakSet<object>(),\n }, []);\n if (typeof converted === \"boolean\") {\n return converted;\n }\n return {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n ...converted,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/dsl/defineFunction.ts","../src/dsl/defineTable.ts","../src/dsl/errors.ts","../src/dsl/idOf.ts","../src/dsl/adapters/zod-to-cli.ts","../src/dsl/adapters/zod-to-convex.ts","../src/dsl/adapters/zod-to-jsonschema.ts"],"names":["getObjectShape","ZodFirstPartyTypeKind","unsupported","unwrapOptionalLike","convertLazy","convertSchema"],"mappings":"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","file":"dsl.js","sourcesContent":["import { z, type ZodObject, type ZodRawShape } from \"zod\";\n\nexport type FunctionEffect = \"read\" | \"write\" | \"admin\";\n\nexport type FunctionContract<\n A extends ZodRawShape = ZodRawShape,\n R extends z.ZodTypeAny = z.ZodTypeAny,\n> = {\n name: string;\n args: ZodObject<A>;\n returns: R;\n effects: readonly FunctionEffect[];\n idempotent?: boolean;\n invariants?: readonly string[];\n};\n\nexport function defineFunction<\n A extends ZodRawShape,\n R extends z.ZodTypeAny,\n>(spec: FunctionContract<A, R>): FunctionContract<A, R> {\n return spec;\n}\n","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","export type AdapterKind = \"convex\" | \"jsonschema\" | \"cli\";\n\nexport type AdapterPurpose = \"table\" | \"function_args\" | \"function_returns\";\n\nexport type AdapterContext = {\n adapter: AdapterKind;\n purpose?: AdapterPurpose;\n location?: string;\n path?: readonly string[];\n};\n\nfunction formatPath(path?: readonly string[]) {\n if (!path || path.length === 0) {\n return \"\";\n }\n\n return path.join(\".\");\n}\n\nfunction formatLocation(context: AdapterContext) {\n const segments: string[] = [context.adapter];\n if (context.purpose) {\n segments.push(context.purpose);\n }\n if (context.location) {\n segments.push(context.location);\n }\n const formattedPath = formatPath(context.path);\n if (formattedPath) {\n segments.push(formattedPath);\n }\n return segments.join(\" :: \");\n}\n\nexport class SchemaAdapterError extends Error {\n readonly context: AdapterContext;\n\n constructor(message: string, context: AdapterContext) {\n super(`${message} [${formatLocation(context)}]`);\n this.name = \"SchemaAdapterError\";\n this.context = context;\n }\n}\n\nexport function schemaAdapterError(\n message: string,\n context: AdapterContext\n): SchemaAdapterError {\n return new SchemaAdapterError(message, context);\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","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport { schemaAdapterError } from \"../errors.js\";\n\nexport type CliOptionKind = \"string\" | \"number\" | \"bigint\" | \"boolean\" | \"json\";\n\nexport type CliOptionSpec = {\n name: string;\n kind: CliOptionKind;\n required: boolean;\n variadic?: boolean;\n nullable?: boolean;\n choices?: readonly (string | number | boolean)[];\n defaultValue?: unknown;\n description?: string;\n};\n\nexport type CliCommandSpec = {\n options: readonly CliOptionSpec[];\n};\n\nexport type ZodToCliOptions = {\n location?: string;\n};\n\ntype FieldState = {\n schema: ZodTypeAny;\n required: boolean;\n nullable: boolean;\n defaultValue?: unknown;\n};\n\ntype ConversionState = {\n location?: string;\n seenLazySchemas: WeakSet<object>;\n};\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"cli\",\n location: state.location,\n path,\n });\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapField(\n schema: ZodTypeAny,\n path: readonly string[]\n): FieldState {\n let current = schema;\n let required = true;\n let nullable = false;\n let defaultValue: unknown;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n required = false;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n defaultValue = current._def.defaultValue();\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodNullable:\n nullable = true;\n current = current._def.innerType;\n continue;\n default:\n return {\n schema: current,\n required,\n nullable,\n defaultValue,\n };\n }\n }\n}\n\nfunction primitiveOption(\n name: string,\n kind: CliOptionKind,\n field: FieldState,\n choices?: readonly (string | number | boolean)[]\n): CliOptionSpec {\n return {\n name,\n kind,\n required: field.required,\n nullable: field.nullable || undefined,\n defaultValue: field.defaultValue,\n choices,\n description: field.schema.description,\n };\n}\n\nfunction optionFromSchema(\n name: string,\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): CliOptionSpec {\n const field = unwrapField(schema, path);\n\n switch (field.schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return primitiveOption(name, \"string\", field);\n case ZodFirstPartyTypeKind.ZodNumber:\n return primitiveOption(name, \"number\", field);\n case ZodFirstPartyTypeKind.ZodBigInt:\n return primitiveOption(name, \"bigint\", field);\n case ZodFirstPartyTypeKind.ZodBoolean:\n return primitiveOption(name, \"boolean\", field);\n case ZodFirstPartyTypeKind.ZodEnum:\n return primitiveOption(name, \"string\", field, field.schema._def.values);\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = [...new Set(Object.values(field.schema._def.values))].filter(\n (value): value is string | number | boolean =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n return primitiveOption(\n name,\n values.every((value) => typeof value === \"number\") ? \"number\" : \"string\",\n field,\n values\n );\n }\n case ZodFirstPartyTypeKind.ZodLiteral:\n return primitiveOption(name, \"string\", field, [field.schema._def.value]);\n case ZodFirstPartyTypeKind.ZodArray: {\n const item = unwrapField(field.schema._def.type, [...path, \"[]\"]);\n switch (item.schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { ...primitiveOption(name, \"string\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { ...primitiveOption(name, \"number\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { ...primitiveOption(name, \"bigint\", field), variadic: true };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { ...primitiveOption(name, \"boolean\", field), variadic: true };\n default:\n return {\n ...primitiveOption(name, \"json\", field),\n variadic: false,\n };\n }\n }\n case ZodFirstPartyTypeKind.ZodLazy: {\n const lazySchema = field.schema as z.ZodLazy<ZodTypeAny>;\n if (state.seenLazySchemas.has(lazySchema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the CLI adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(lazySchema);\n try {\n return optionFromSchema(name, lazySchema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(lazySchema);\n }\n }\n case ZodFirstPartyTypeKind.ZodBranded:\n return primitiveOption(name, \"string\", field);\n case ZodFirstPartyTypeKind.ZodObject:\n case ZodFirstPartyTypeKind.ZodUnion:\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n case ZodFirstPartyTypeKind.ZodRecord:\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return primitiveOption(name, \"json\", field);\n default:\n unsupported(\n `Unsupported Zod schema kind ${field.schema._def.typeName}`,\n state,\n path\n );\n }\n}\n\nexport function zodToCli(\n schema: z.ZodObject<z.ZodRawShape>,\n options: ZodToCliOptions = {}\n): CliCommandSpec {\n if (schema._def.typeName !== ZodFirstPartyTypeKind.ZodObject) {\n throw schemaAdapterError(\"CLI generation requires a Zod object schema\", {\n adapter: \"cli\",\n location: options.location,\n path: [],\n });\n }\n\n const state: ConversionState = {\n location: options.location,\n seenLazySchemas: new WeakSet<object>(),\n };\n const optionsList = Object.entries(getObjectShape(schema))\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([name, value]) => optionFromSchema(name, value, state, [name]));\n\n return {\n options: optionsList,\n };\n}\n","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport type { TableIndex } from \"../defineTable.js\";\nimport {\n SchemaAdapterError,\n schemaAdapterError,\n type AdapterPurpose,\n} from \"../errors.js\";\nimport { getConvexIdTable } from \"../idOf.js\";\n\nexport type ConvexDefault = {\n path: readonly string[];\n value: unknown;\n};\n\nexport type ZodToConvexOptions = {\n purpose?: AdapterPurpose;\n location?: string;\n};\n\nexport type ZodToConvexResult = {\n source: string;\n defaults: readonly ConvexDefault[];\n};\n\ntype ConversionState = {\n location?: string;\n purpose: AdapterPurpose;\n seenLazySchemas: WeakSet<object>;\n};\n\ntype ConvertedSchema = {\n source: string;\n defaults: ConvexDefault[];\n};\n\nfunction encodeLiteral(value: string | number | bigint | boolean | null) {\n if (typeof value === \"bigint\") {\n return `${value}n`;\n }\n return JSON.stringify(value);\n}\n\nfunction quoteKey(value: string) {\n return JSON.stringify(value);\n}\n\nfunction sortEntries<T>(entries: readonly [string, T][]) {\n return [...entries].sort(([left], [right]) => left.localeCompare(right));\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapOptionalLike(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): {\n schema: ZodTypeAny;\n isOptional: boolean;\n defaults: ConvexDefault[];\n} {\n const defaults: ConvexDefault[] = [];\n let current = schema;\n let isOptional = false;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n isOptional = true;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault: {\n if (state.purpose === \"table\") {\n throw schemaAdapterError(\n \"Zod defaults are not allowed in table contracts\",\n {\n adapter: \"convex\",\n purpose: state.purpose,\n location: state.location,\n path,\n }\n );\n }\n isOptional = true;\n defaults.push({\n path,\n value: current._def.defaultValue(),\n });\n current = current._def.innerType;\n continue;\n }\n default:\n return {\n schema: current,\n isOptional,\n defaults,\n };\n }\n }\n}\n\nfunction convertSchema(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const { schema: unwrapped, isOptional, defaults } = unwrapOptionalLike(\n schema,\n state,\n path\n );\n const converted = convertSchemaInner(unwrapped, state, path);\n return {\n source: isOptional ? `v.optional(${converted.source})` : converted.source,\n defaults: [...defaults, ...converted.defaults],\n };\n}\n\nfunction enumToUnion(values: readonly (string | number)[]) {\n if (values.length === 0) {\n return \"v.never()\";\n }\n if (values.length === 1) {\n return `v.literal(${encodeLiteral(values[0])})`;\n }\n return `v.union(${values\n .map((value) => `v.literal(${encodeLiteral(value)})`)\n .join(\", \")})`;\n}\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"convex\",\n purpose: state.purpose,\n location: state.location,\n path,\n });\n}\n\nfunction convertLazy(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const lazySchema = schema as z.ZodLazy<ZodTypeAny>;\n if (state.seenLazySchemas.has(lazySchema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the Convex adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(lazySchema);\n try {\n return convertSchema(lazySchema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(lazySchema);\n }\n}\n\nfunction convertSchemaInner(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): ConvertedSchema {\n const idTable = getConvexIdTable(schema);\n if (idTable) {\n return {\n source: `v.id(${JSON.stringify(idTable)})`,\n defaults: [],\n };\n }\n\n switch (schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { source: \"v.string()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { source: \"v.number()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { source: \"v.int64()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { source: \"v.boolean()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodNull:\n return { source: \"v.null()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return { source: \"v.any()\", defaults: [] };\n case ZodFirstPartyTypeKind.ZodLiteral: {\n return {\n source: `v.literal(${encodeLiteral(schema._def.value)})`,\n defaults: [],\n };\n }\n case ZodFirstPartyTypeKind.ZodEnum:\n return {\n source: enumToUnion(schema._def.values),\n defaults: [],\n };\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = Object.values(schema._def.values).filter(\n (value): value is string | number =>\n typeof value === \"string\" || typeof value === \"number\"\n );\n return {\n source: enumToUnion([...new Set(values)]),\n defaults: [],\n };\n }\n case ZodFirstPartyTypeKind.ZodNullable: {\n const inner = convertSchema(schema._def.innerType, state, path);\n return {\n source: `v.nullable(${inner.source})`,\n defaults: inner.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodArray: {\n const inner = convertSchema(schema._def.type, state, [...path, \"[]\"]);\n return {\n source: `v.array(${inner.source})`,\n defaults: inner.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodObject: {\n const objectSchema = schema as z.ZodObject<z.ZodRawShape>;\n if (\n objectSchema._def.catchall &&\n objectSchema._def.catchall._def.typeName !== ZodFirstPartyTypeKind.ZodNever\n ) {\n unsupported(\n \"Zod objects with catchall/passthrough fields cannot be lowered to Convex validators\",\n state,\n path\n );\n }\n const fields = sortEntries(Object.entries(getObjectShape(objectSchema)));\n const convertedFields = fields.map(([key, value]) => [\n key,\n convertSchema(value, state, [...path, key]),\n ] as const);\n return {\n source: `v.object({ ${convertedFields\n .map(([key, converted]) => `${quoteKey(key)}: ${converted.source}`)\n .join(\", \")} })`,\n defaults: convertedFields.flatMap(([, converted]) => converted.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodUnion: {\n const members = schema._def.options.map((option: ZodTypeAny, index: number) =>\n convertSchema(option, state, [...path, String(index)])\n );\n return {\n source: `v.union(${members\n .map((member: ConvertedSchema) => member.source)\n .join(\", \")})`,\n defaults: members.flatMap((member: ConvertedSchema) => member.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion: {\n const discriminatedUnion = schema as z.ZodDiscriminatedUnion<\n string,\n [z.ZodObject<z.ZodRawShape>, ...z.ZodObject<z.ZodRawShape>[]]\n >;\n const options =\n discriminatedUnion.options instanceof Map\n ? [...discriminatedUnion.options.values()]\n : [...discriminatedUnion.options];\n const members = options.map((option, index) =>\n convertSchema(option, state, [...path, String(index)])\n );\n return {\n source: `v.union(${members\n .map((member: ConvertedSchema) => member.source)\n .join(\", \")})`,\n defaults: members.flatMap((member: ConvertedSchema) => member.defaults),\n };\n }\n case ZodFirstPartyTypeKind.ZodRecord: {\n const keyType = schema._def.keyType;\n if (\n keyType &&\n keyType._def.typeName !== ZodFirstPartyTypeKind.ZodString\n ) {\n unsupported(\n \"Only string-keyed z.record schemas can be lowered to Convex validators\",\n state,\n path\n );\n }\n const value = convertSchema(schema._def.valueType, state, [...path, \"{}\"]);\n return {\n source: `v.record(v.string(), ${value.source})`,\n defaults: value.defaults,\n };\n }\n case ZodFirstPartyTypeKind.ZodLazy:\n return convertLazy(schema, state, path);\n case ZodFirstPartyTypeKind.ZodBranded: {\n return convertSchema(schema._def.type, state, path);\n }\n case ZodFirstPartyTypeKind.ZodEffects: {\n return convertSchema(schema._def.schema, state, path);\n }\n default:\n unsupported(`Unsupported Zod schema kind ${schema._def.typeName}`, state, path);\n }\n}\n\nexport function zodToConvex(\n schema: ZodTypeAny,\n options: ZodToConvexOptions = {}\n): ZodToConvexResult {\n const state: ConversionState = {\n location: options.location,\n purpose: options.purpose ?? \"function_returns\",\n seenLazySchemas: new WeakSet<object>(),\n };\n const converted = convertSchema(schema, state, []);\n return {\n source: converted.source,\n defaults: converted.defaults,\n };\n}\n\nexport function tableIndexToConvexSource(index: TableIndex): string {\n switch (index.kind) {\n case \"index\":\n return `.index(${JSON.stringify(index.name)}, [${index.columns\n .map((column) => JSON.stringify(column))\n .join(\", \")}])`;\n case \"search\":\n return `.searchIndex(${JSON.stringify(index.name)}, { searchField: ${JSON.stringify(\n index.searchField\n )}${index.filterFields?.length ? `, filterFields: [${index.filterFields\n .map((field) => JSON.stringify(field))\n .join(\", \")}]` : \"\"} })`;\n case \"vector\":\n return `.vectorIndex(${JSON.stringify(index.name)}, { vectorField: ${JSON.stringify(\n index.vectorField\n )}, dimensions: ${index.dimensions}${\n index.filterFields?.length\n ? `, filterFields: [${index.filterFields\n .map((field) => JSON.stringify(field))\n .join(\", \")}]`\n : \"\"\n } })`;\n default: {\n const exhaustive: never = index;\n throw new SchemaAdapterError(\n `Unsupported table index kind ${(exhaustive as { kind?: string }).kind ?? \"unknown\"}`,\n { adapter: \"convex\" }\n );\n }\n }\n}\n","import { z, ZodFirstPartyTypeKind, type ZodTypeAny } from \"zod\";\nimport { schemaAdapterError } from \"../errors.js\";\nimport { getConvexIdTable } from \"../idOf.js\";\n\nexport type JsonSchema =\n | boolean\n | {\n $schema?: string;\n type?: string | readonly string[];\n properties?: Record<string, JsonSchema>;\n required?: readonly string[];\n additionalProperties?: boolean | JsonSchema;\n items?: JsonSchema;\n enum?: readonly (string | number | boolean)[];\n const?: string | number | boolean | null;\n anyOf?: readonly JsonSchema[];\n oneOf?: readonly JsonSchema[];\n default?: unknown;\n format?: string;\n description?: string;\n [key: string]: unknown;\n };\n\nexport type ZodToJsonSchemaOptions = {\n location?: string;\n};\n\ntype JsonField = {\n schema: JsonSchema;\n required: boolean;\n};\n\ntype ConversionState = {\n location?: string;\n seenLazySchemas: WeakSet<object>;\n};\n\nfunction unsupported(\n message: string,\n state: ConversionState,\n path: readonly string[]\n): never {\n throw schemaAdapterError(message, {\n adapter: \"jsonschema\",\n location: state.location,\n path,\n });\n}\n\nfunction getObjectShape(schema: z.ZodObject<z.ZodRawShape>) {\n const shape =\n typeof schema._def.shape === \"function\" ? schema._def.shape() : schema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapOptionalLike(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): {\n schema: ZodTypeAny;\n required: boolean;\n defaultValue?: unknown;\n} {\n let current = schema;\n let required = true;\n let defaultValue: unknown;\n\n while (true) {\n switch (current._def.typeName) {\n case ZodFirstPartyTypeKind.ZodOptional:\n required = false;\n current = current._def.innerType;\n continue;\n case ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n defaultValue = current._def.defaultValue();\n current = current._def.innerType;\n continue;\n default:\n return {\n schema: current,\n required,\n defaultValue,\n };\n }\n }\n}\n\nfunction convertLazy(\n schema: z.ZodLazy<ZodTypeAny>,\n state: ConversionState,\n path: readonly string[]\n): JsonSchema {\n if (state.seenLazySchemas.has(schema)) {\n unsupported(\n \"Recursive z.lazy schemas are not supported by the JSON Schema adapter\",\n state,\n path\n );\n }\n state.seenLazySchemas.add(schema);\n try {\n return convertSchema(schema._def.getter(), state, path);\n } finally {\n state.seenLazySchemas.delete(schema);\n }\n}\n\nfunction literalType(value: unknown) {\n switch (typeof value) {\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isInteger(value) ? \"integer\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"bigint\":\n return \"integer\";\n default:\n return value === null ? \"null\" : undefined;\n }\n}\n\nfunction convertField(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): JsonField {\n const { schema: unwrapped, required, defaultValue } = unwrapOptionalLike(\n schema,\n state,\n path\n );\n const field = convertSchema(unwrapped, state, path);\n if (typeof field === \"boolean\") {\n return {\n schema: field,\n required,\n };\n }\n return {\n schema:\n defaultValue === undefined ? field : { ...field, default: defaultValue },\n required,\n };\n}\n\nfunction convertSchema(\n schema: ZodTypeAny,\n state: ConversionState,\n path: readonly string[]\n): JsonSchema {\n const idTable = getConvexIdTable(schema);\n if (idTable) {\n return {\n type: \"string\",\n \"x-convex-id-table\": idTable,\n };\n }\n\n switch (schema._def.typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return { type: \"string\" };\n case ZodFirstPartyTypeKind.ZodNumber:\n return { type: \"number\" };\n case ZodFirstPartyTypeKind.ZodBigInt:\n return { type: \"integer\", format: \"int64\" };\n case ZodFirstPartyTypeKind.ZodBoolean:\n return { type: \"boolean\" };\n case ZodFirstPartyTypeKind.ZodNull:\n return { type: \"null\" };\n case ZodFirstPartyTypeKind.ZodAny:\n case ZodFirstPartyTypeKind.ZodUnknown:\n return {};\n case ZodFirstPartyTypeKind.ZodLiteral:\n return {\n const: schema._def.value,\n type: literalType(schema._def.value),\n };\n case ZodFirstPartyTypeKind.ZodEnum:\n return {\n type: \"string\",\n enum: schema._def.values,\n };\n case ZodFirstPartyTypeKind.ZodNativeEnum: {\n const values = [...new Set(Object.values(schema._def.values))].filter(\n (value): value is string | number | boolean =>\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n );\n return {\n type: values.every((value) => typeof value === \"number\")\n ? \"number\"\n : \"string\",\n enum: values,\n };\n }\n case ZodFirstPartyTypeKind.ZodNullable: {\n const inner = convertSchema(schema._def.innerType, state, path);\n return {\n anyOf: [inner, { type: \"null\" }],\n };\n }\n case ZodFirstPartyTypeKind.ZodArray:\n return {\n type: \"array\",\n items: convertSchema(schema._def.type, state, [...path, \"[]\"]),\n };\n case ZodFirstPartyTypeKind.ZodObject: {\n const objectSchema = schema as z.ZodObject<z.ZodRawShape>;\n if (\n objectSchema._def.catchall &&\n objectSchema._def.catchall._def.typeName !== ZodFirstPartyTypeKind.ZodNever\n ) {\n unsupported(\n \"Zod objects with catchall/passthrough fields cannot be lowered to JSON Schema\",\n state,\n path\n );\n }\n const entries = Object.entries(getObjectShape(objectSchema)).sort(([a], [b]) =>\n a.localeCompare(b)\n );\n const converted = entries.map(([key, value]) => [\n key,\n convertField(value, state, [...path, key]),\n ] as const);\n const required = converted\n .filter(([, field]) => field.required)\n .map(([key]) => key);\n return {\n type: \"object\",\n properties: Object.fromEntries(\n converted.map(([key, field]) => [key, field.schema])\n ),\n additionalProperties: false,\n ...(required.length > 0 ? { required } : {}),\n };\n }\n case ZodFirstPartyTypeKind.ZodUnion:\n return {\n anyOf: schema._def.options.map((option: ZodTypeAny, index: number) =>\n convertSchema(option, state, [...path, String(index)])\n ),\n };\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion: {\n const discriminatedUnion = schema as z.ZodDiscriminatedUnion<\n string,\n [z.ZodObject<z.ZodRawShape>, ...z.ZodObject<z.ZodRawShape>[]]\n >;\n const options =\n discriminatedUnion.options instanceof Map\n ? [...discriminatedUnion.options.values()]\n : [...discriminatedUnion.options];\n return {\n oneOf: options.map((option, index) =>\n convertSchema(option, state, [...path, String(index)])\n ),\n };\n }\n case ZodFirstPartyTypeKind.ZodRecord: {\n const keyType = schema._def.keyType;\n if (\n keyType &&\n keyType._def.typeName !== ZodFirstPartyTypeKind.ZodString\n ) {\n unsupported(\n \"Only string-keyed z.record schemas can be lowered to JSON Schema\",\n state,\n path\n );\n }\n return {\n type: \"object\",\n additionalProperties: convertSchema(\n schema._def.valueType,\n state,\n [...path, \"{}\"]\n ),\n };\n }\n case ZodFirstPartyTypeKind.ZodLazy:\n return convertLazy(schema as z.ZodLazy<ZodTypeAny>, state, path);\n case ZodFirstPartyTypeKind.ZodBranded:\n return convertSchema(schema._def.type, state, path);\n default:\n unsupported(\n `Unsupported Zod schema kind ${schema._def.typeName}`,\n state,\n path\n );\n }\n}\n\nexport function zodToJsonSchema(\n schema: ZodTypeAny,\n options: ZodToJsonSchemaOptions = {}\n): JsonSchema {\n const converted = convertSchema(schema, {\n location: options.location,\n seenLazySchemas: new WeakSet<object>(),\n }, []);\n if (typeof converted === \"boolean\") {\n return converted;\n }\n return {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n ...converted,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import * as zod from 'zod';
2
2
 
3
3
  /**
4
4
  * MCP Tool Contract Definitions
@@ -83,9 +83,6 @@ type FunctionConvexTarget = {
83
83
  inputProjection?: ContractInputProjection;
84
84
  outputProjection?: ContractOutputProjection;
85
85
  };
86
- type FunctionGatewayTarget = {
87
- handler: "identity.whoami" | "beliefs.list" | "evidence.list" | "questions.list" | "tasks.create" | "tasks.list" | "tasks.update" | "tasks.complete";
88
- };
89
86
 
90
87
  declare const beliefsContracts: readonly [{
91
88
  name: string;
@@ -115,14 +112,13 @@ declare const beliefsContracts: readonly [{
115
112
  };
116
113
  auth: {
117
114
  scopes: string[];
118
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
115
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
119
116
  };
120
117
  convex: FunctionConvexTarget | undefined;
121
- gateway: FunctionGatewayTarget | undefined;
122
- args: z.ZodTypeAny;
123
- returns: z.ZodTypeAny;
124
- input: z.ZodTypeAny;
125
- output: z.ZodTypeAny;
118
+ args: zod.ZodTypeAny;
119
+ returns: zod.ZodTypeAny;
120
+ input: zod.ZodTypeAny;
121
+ output: zod.ZodTypeAny;
126
122
  openapi: {
127
123
  summary: string;
128
124
  tags: string[];
@@ -155,14 +151,13 @@ declare const beliefsContracts: readonly [{
155
151
  };
156
152
  auth: {
157
153
  scopes: string[];
158
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
154
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
159
155
  };
160
156
  convex: FunctionConvexTarget | undefined;
161
- gateway: FunctionGatewayTarget | undefined;
162
- args: z.ZodTypeAny;
163
- returns: z.ZodTypeAny;
164
- input: z.ZodTypeAny;
165
- output: z.ZodTypeAny;
157
+ args: zod.ZodTypeAny;
158
+ returns: zod.ZodTypeAny;
159
+ input: zod.ZodTypeAny;
160
+ output: zod.ZodTypeAny;
166
161
  openapi: {
167
162
  summary: string;
168
163
  tags: string[];
@@ -195,14 +190,13 @@ declare const beliefsContracts: readonly [{
195
190
  };
196
191
  auth: {
197
192
  scopes: string[];
198
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
193
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
199
194
  };
200
195
  convex: FunctionConvexTarget | undefined;
201
- gateway: FunctionGatewayTarget | undefined;
202
- args: z.ZodTypeAny;
203
- returns: z.ZodTypeAny;
204
- input: z.ZodTypeAny;
205
- output: z.ZodTypeAny;
196
+ args: zod.ZodTypeAny;
197
+ returns: zod.ZodTypeAny;
198
+ input: zod.ZodTypeAny;
199
+ output: zod.ZodTypeAny;
206
200
  openapi: {
207
201
  summary: string;
208
202
  tags: string[];
@@ -235,14 +229,13 @@ declare const beliefsContracts: readonly [{
235
229
  };
236
230
  auth: {
237
231
  scopes: string[];
238
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
232
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
239
233
  };
240
234
  convex: FunctionConvexTarget | undefined;
241
- gateway: FunctionGatewayTarget | undefined;
242
- args: z.ZodTypeAny;
243
- returns: z.ZodTypeAny;
244
- input: z.ZodTypeAny;
245
- output: z.ZodTypeAny;
235
+ args: zod.ZodTypeAny;
236
+ returns: zod.ZodTypeAny;
237
+ input: zod.ZodTypeAny;
238
+ output: zod.ZodTypeAny;
246
239
  openapi: {
247
240
  summary: string;
248
241
  tags: string[];
@@ -275,14 +268,13 @@ declare const beliefsContracts: readonly [{
275
268
  };
276
269
  auth: {
277
270
  scopes: string[];
278
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
271
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
279
272
  };
280
273
  convex: FunctionConvexTarget | undefined;
281
- gateway: FunctionGatewayTarget | undefined;
282
- args: z.ZodTypeAny;
283
- returns: z.ZodTypeAny;
284
- input: z.ZodTypeAny;
285
- output: z.ZodTypeAny;
274
+ args: zod.ZodTypeAny;
275
+ returns: zod.ZodTypeAny;
276
+ input: zod.ZodTypeAny;
277
+ output: zod.ZodTypeAny;
286
278
  openapi: {
287
279
  summary: string;
288
280
  tags: string[];
@@ -315,14 +307,13 @@ declare const beliefsContracts: readonly [{
315
307
  };
316
308
  auth: {
317
309
  scopes: string[];
318
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
310
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
319
311
  };
320
312
  convex: FunctionConvexTarget | undefined;
321
- gateway: FunctionGatewayTarget | undefined;
322
- args: z.ZodTypeAny;
323
- returns: z.ZodTypeAny;
324
- input: z.ZodTypeAny;
325
- output: z.ZodTypeAny;
313
+ args: zod.ZodTypeAny;
314
+ returns: zod.ZodTypeAny;
315
+ input: zod.ZodTypeAny;
316
+ output: zod.ZodTypeAny;
326
317
  openapi: {
327
318
  summary: string;
328
319
  tags: string[];
@@ -355,14 +346,13 @@ declare const beliefsContracts: readonly [{
355
346
  };
356
347
  auth: {
357
348
  scopes: string[];
358
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
349
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
359
350
  };
360
351
  convex: FunctionConvexTarget | undefined;
361
- gateway: FunctionGatewayTarget | undefined;
362
- args: z.ZodTypeAny;
363
- returns: z.ZodTypeAny;
364
- input: z.ZodTypeAny;
365
- output: z.ZodTypeAny;
352
+ args: zod.ZodTypeAny;
353
+ returns: zod.ZodTypeAny;
354
+ input: zod.ZodTypeAny;
355
+ output: zod.ZodTypeAny;
366
356
  openapi: {
367
357
  summary: string;
368
358
  tags: string[];
@@ -395,14 +385,13 @@ declare const beliefsContracts: readonly [{
395
385
  };
396
386
  auth: {
397
387
  scopes: string[];
398
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
388
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
399
389
  };
400
390
  convex: FunctionConvexTarget | undefined;
401
- gateway: FunctionGatewayTarget | undefined;
402
- args: z.ZodTypeAny;
403
- returns: z.ZodTypeAny;
404
- input: z.ZodTypeAny;
405
- output: z.ZodTypeAny;
391
+ args: zod.ZodTypeAny;
392
+ returns: zod.ZodTypeAny;
393
+ input: zod.ZodTypeAny;
394
+ output: zod.ZodTypeAny;
406
395
  openapi: {
407
396
  summary: string;
408
397
  tags: string[];
@@ -435,14 +424,13 @@ declare const beliefsContracts: readonly [{
435
424
  };
436
425
  auth: {
437
426
  scopes: string[];
438
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
427
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
439
428
  };
440
429
  convex: FunctionConvexTarget | undefined;
441
- gateway: FunctionGatewayTarget | undefined;
442
- args: z.ZodTypeAny;
443
- returns: z.ZodTypeAny;
444
- input: z.ZodTypeAny;
445
- output: z.ZodTypeAny;
430
+ args: zod.ZodTypeAny;
431
+ returns: zod.ZodTypeAny;
432
+ input: zod.ZodTypeAny;
433
+ output: zod.ZodTypeAny;
446
434
  openapi: {
447
435
  summary: string;
448
436
  tags: string[];
@@ -475,14 +463,13 @@ declare const beliefsContracts: readonly [{
475
463
  };
476
464
  auth: {
477
465
  scopes: string[];
478
- allowedPrincipalTypes: ("user" | "service" | "agent" | "group" | "external_viewer")[];
466
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
479
467
  };
480
468
  convex: FunctionConvexTarget | undefined;
481
- gateway: FunctionGatewayTarget | undefined;
482
- args: z.ZodTypeAny;
483
- returns: z.ZodTypeAny;
484
- input: z.ZodTypeAny;
485
- output: z.ZodTypeAny;
469
+ args: zod.ZodTypeAny;
470
+ returns: zod.ZodTypeAny;
471
+ input: zod.ZodTypeAny;
472
+ output: zod.ZodTypeAny;
486
473
  openapi: {
487
474
  summary: string;
488
475
  tags: string[];