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

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 (231) hide show
  1. package/dist/api-enums.contract.d.ts +5 -3
  2. package/dist/api-enums.contract.js +14 -12
  3. package/dist/api-enums.contract.js.map +1 -1
  4. package/dist/component-boundary.contract.d.ts +1 -1
  5. package/dist/component-boundary.contract.js +45 -26
  6. package/dist/component-boundary.contract.js.map +1 -1
  7. package/dist/component-host-boundary.contract.d.ts +10 -5
  8. package/dist/component-host-boundary.contract.js +10 -4
  9. package/dist/component-host-boundary.contract.js.map +1 -1
  10. package/dist/{defineTable-CBQ03FXl.d.ts → defineTable-t1wr5wgn.d.ts} +1 -1
  11. package/dist/{dsl-djCRfuWC.d.ts → dsl-DVPthQGY.d.ts} +1 -1
  12. package/dist/dsl.d.ts +2 -2
  13. package/dist/dsl.js.map +1 -1
  14. package/dist/function-registry/beliefs.d.ts +13 -0
  15. package/dist/function-registry/beliefs.js +50 -7
  16. package/dist/function-registry/beliefs.js.map +1 -1
  17. package/dist/function-registry/coding.d.ts +9 -0
  18. package/dist/function-registry/coding.js +117 -8
  19. package/dist/function-registry/coding.js.map +1 -1
  20. package/dist/function-registry/context.d.ts +6 -0
  21. package/dist/function-registry/context.js +50 -7
  22. package/dist/function-registry/context.js.map +1 -1
  23. package/dist/function-registry/contracts.d.ts +6 -0
  24. package/dist/function-registry/contracts.js +50 -7
  25. package/dist/function-registry/contracts.js.map +1 -1
  26. package/dist/function-registry/coordination.d.ts +12 -0
  27. package/dist/function-registry/coordination.js +50 -7
  28. package/dist/function-registry/coordination.js.map +1 -1
  29. package/dist/function-registry/edges.d.ts +9 -0
  30. package/dist/function-registry/edges.js +54 -14
  31. package/dist/function-registry/edges.js.map +1 -1
  32. package/dist/function-registry/evidence.d.ts +11 -0
  33. package/dist/function-registry/evidence.js +53 -11
  34. package/dist/function-registry/evidence.js.map +1 -1
  35. package/dist/function-registry/graph.d.ts +18 -0
  36. package/dist/function-registry/graph.js +50 -7
  37. package/dist/function-registry/graph.js.map +1 -1
  38. package/dist/function-registry/helpers.d.ts +4 -1
  39. package/dist/function-registry/helpers.js +51 -8
  40. package/dist/function-registry/helpers.js.map +1 -1
  41. package/dist/function-registry/identity.d.ts +6 -0
  42. package/dist/function-registry/identity.js +50 -7
  43. package/dist/function-registry/identity.js.map +1 -1
  44. package/dist/function-registry/index.d.ts +8 -320
  45. package/dist/function-registry/index.js +54 -384
  46. package/dist/function-registry/index.js.map +1 -1
  47. package/dist/function-registry/judgments.d.ts +5 -0
  48. package/dist/function-registry/judgments.js +50 -7
  49. package/dist/function-registry/judgments.js.map +1 -1
  50. package/dist/function-registry/legacy.d.ts +4 -0
  51. package/dist/function-registry/legacy.js +50 -7
  52. package/dist/function-registry/legacy.js.map +1 -1
  53. package/dist/function-registry/lenses.d.ts +7 -0
  54. package/dist/function-registry/lenses.js +50 -7
  55. package/dist/function-registry/lenses.js.map +1 -1
  56. package/dist/function-registry/nodes.d.ts +412 -0
  57. package/dist/function-registry/nodes.js +5303 -0
  58. package/dist/function-registry/nodes.js.map +1 -0
  59. package/dist/function-registry/ontologies.d.ts +14 -0
  60. package/dist/function-registry/ontologies.js +50 -7
  61. package/dist/function-registry/ontologies.js.map +1 -1
  62. package/dist/function-registry/pipeline.d.ts +6 -0
  63. package/dist/function-registry/pipeline.js +50 -7
  64. package/dist/function-registry/pipeline.js.map +1 -1
  65. package/dist/function-registry/questions.d.ts +15 -0
  66. package/dist/function-registry/questions.js +50 -7
  67. package/dist/function-registry/questions.js.map +1 -1
  68. package/dist/function-registry/tasks.d.ts +7 -0
  69. package/dist/function-registry/tasks.js +69 -16
  70. package/dist/function-registry/tasks.js.map +1 -1
  71. package/dist/function-registry/topics.d.ts +10 -0
  72. package/dist/function-registry/topics.js +50 -7
  73. package/dist/function-registry/topics.js.map +1 -1
  74. package/dist/function-registry/types.d.ts +5 -1
  75. package/dist/function-registry/worktrees.d.ts +14 -0
  76. package/dist/function-registry/worktrees.js +50 -7
  77. package/dist/function-registry/worktrees.js.map +1 -1
  78. package/dist/gateway.contract.d.ts +3 -0
  79. package/dist/gateway.contract.js.map +1 -1
  80. package/dist/generated/convexSchemas.d.ts +3 -3
  81. package/dist/generated/convexSchemas.js +35 -16
  82. package/dist/generated/convexSchemas.js.map +1 -1
  83. package/dist/generated/infisicalRuntimeEnv.d.ts +70 -0
  84. package/dist/generated/infisicalRuntimeEnv.js +26572 -0
  85. package/dist/generated/infisicalRuntimeEnv.js.map +1 -0
  86. package/dist/generated/lucernGatewayEnv.d.ts +17 -0
  87. package/dist/generated/lucernGatewayEnv.js +38 -0
  88. package/dist/generated/lucernGatewayEnv.js.map +1 -0
  89. package/dist/generated/lucernWebPublicEnv.d.ts +26 -0
  90. package/dist/generated/lucernWebPublicEnv.js +32 -0
  91. package/dist/generated/lucernWebPublicEnv.js.map +1 -0
  92. package/dist/generated/lucernWebServerEnv.d.ts +33 -0
  93. package/dist/generated/lucernWebServerEnv.js +51 -0
  94. package/dist/generated/lucernWebServerEnv.js.map +1 -0
  95. package/dist/generated/schema-manifest.json +1165 -150
  96. package/dist/generated/tableOwnership.d.ts +46 -27
  97. package/dist/generated/tableOwnership.js +64 -26
  98. package/dist/generated/tableOwnership.js.map +1 -1
  99. package/dist/generated/tier-expectations.json +60 -8
  100. package/dist/{index-O09U2xHk.d.ts → index-CM1Pl_vI.d.ts} +3 -3
  101. package/dist/index.d.ts +8 -4
  102. package/dist/index.js +30959 -406
  103. package/dist/index.js.map +1 -1
  104. package/dist/infisical-runtime.contract.d.ts +1597 -3
  105. package/dist/infisical-runtime.contract.js +2788 -12
  106. package/dist/infisical-runtime.contract.js.map +1 -1
  107. package/dist/manifests/infisical-runtime-manifest.d.ts +1524 -3
  108. package/dist/manifests/infisical-runtime-manifest.js +2641 -9
  109. package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
  110. package/dist/manifests/tenant-client-manifest.d.ts +11 -11
  111. package/dist/manifests/tenant-client-manifest.js +11 -11
  112. package/dist/manifests/tenant-client-manifest.js.map +1 -1
  113. package/dist/mcp-gateway-boundary.contract.d.ts +23 -3
  114. package/dist/mcp-gateway-boundary.contract.js +2 -0
  115. package/dist/mcp-gateway-boundary.contract.js.map +1 -1
  116. package/dist/projections/check-convex-args-shape.js +10 -6
  117. package/dist/projections/check-convex-args-shape.js.map +1 -1
  118. package/dist/projections/create-evidence.projection.d.ts +6 -6
  119. package/dist/projections/create-evidence.projection.js +2 -3
  120. package/dist/projections/create-evidence.projection.js.map +1 -1
  121. package/dist/projections/index.d.ts +3 -3
  122. package/dist/projections/index.js +10 -6
  123. package/dist/projections/index.js.map +1 -1
  124. package/dist/projections/list-tasks.projection.d.ts +20 -8
  125. package/dist/projections/list-tasks.projection.js +8 -3
  126. package/dist/projections/list-tasks.projection.js.map +1 -1
  127. package/dist/proof-attestation.json +45 -0
  128. package/dist/schemas/component-table-manifest.d.ts +6 -6
  129. package/dist/schemas/component-table-manifest.js +2 -2
  130. package/dist/schemas/component-table-manifest.js.map +1 -1
  131. package/dist/schemas/index.d.ts +2 -2
  132. package/dist/schemas/index.js +1086 -137
  133. package/dist/schemas/index.js.map +1 -1
  134. package/dist/schemas/manifest.d.ts +2010 -120
  135. package/dist/schemas/manifest.js +1084 -135
  136. package/dist/schemas/manifest.js.map +1 -1
  137. package/dist/schemas/tables/controlPlane/accessControl.d.ts +260 -0
  138. package/dist/schemas/tables/controlPlane/accessControl.js +653 -0
  139. package/dist/schemas/tables/controlPlane/accessControl.js.map +1 -0
  140. package/dist/schemas/tables/{identity → controlPlane}/agent.d.ts +1 -1
  141. package/dist/schemas/tables/{identity → controlPlane}/agent.js +3 -3
  142. package/dist/schemas/tables/controlPlane/agent.js.map +1 -0
  143. package/dist/schemas/tables/{identity → controlPlane}/epistemic.d.ts +1 -1
  144. package/dist/schemas/tables/{identity → controlPlane}/epistemic.js +3 -3
  145. package/dist/schemas/tables/controlPlane/epistemic.js.map +1 -0
  146. package/dist/schemas/tables/{identity → controlPlane}/model.d.ts +1 -1
  147. package/dist/schemas/tables/{identity → controlPlane}/model.js +6 -6
  148. package/dist/schemas/tables/controlPlane/model.js.map +1 -0
  149. package/dist/schemas/tables/{identity → controlPlane}/platform.d.ts +1 -1
  150. package/dist/schemas/tables/{identity → controlPlane}/platform.js +18 -18
  151. package/dist/schemas/tables/controlPlane/platform.js.map +1 -0
  152. package/dist/schemas/tables/{identity → controlPlane}/project.d.ts +1 -1
  153. package/dist/schemas/tables/{identity → controlPlane}/project.js +3 -3
  154. package/dist/schemas/tables/controlPlane/project.js.map +1 -0
  155. package/dist/schemas/tables/{identity → controlPlane}/user.d.ts +1 -1
  156. package/dist/schemas/tables/{identity → controlPlane}/user.js +3 -3
  157. package/dist/schemas/tables/controlPlane/user.js.map +1 -0
  158. package/dist/schemas/tables/kernel/config.d.ts +1 -1
  159. package/dist/schemas/tables/kernel/config.js.map +1 -1
  160. package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
  161. package/dist/schemas/tables/kernel/coordination.js.map +1 -1
  162. package/dist/schemas/tables/kernel/decision.d.ts +1 -1
  163. package/dist/schemas/tables/kernel/decision.js.map +1 -1
  164. package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
  165. package/dist/schemas/tables/kernel/embedding.js.map +1 -1
  166. package/dist/schemas/tables/kernel/epistemic.d.ts +1 -1
  167. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  168. package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
  169. package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
  170. package/dist/schemas/tables/kernel/infra.d.ts +1 -1
  171. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  172. package/dist/schemas/tables/kernel/intelligence.d.ts +1 -1
  173. package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
  174. package/dist/schemas/tables/kernel/lens.d.ts +1 -1
  175. package/dist/schemas/tables/kernel/lens.js.map +1 -1
  176. package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
  177. package/dist/schemas/tables/kernel/ontology.js.map +1 -1
  178. package/dist/schemas/tables/kernel/platform.d.ts +1 -1
  179. package/dist/schemas/tables/kernel/platform.js.map +1 -1
  180. package/dist/schemas/tables/kernel/spine.d.ts +2 -1
  181. package/dist/schemas/tables/kernel/spine.js +1 -0
  182. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  183. package/dist/schemas/tables/kernel/task.d.ts +1 -1
  184. package/dist/schemas/tables/kernel/task.js.map +1 -1
  185. package/dist/schemas/tables/kernel/topic.d.ts +1 -1
  186. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  187. package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
  188. package/dist/schemas/tables/kernel/workflow.js.map +1 -1
  189. package/dist/schemas/tables/kernel/worktree.d.ts +5 -5
  190. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  191. package/dist/schemas/tables/mc/identity.d.ts +19 -2
  192. package/dist/schemas/tables/mc/identity.js +32 -1
  193. package/dist/schemas/tables/mc/identity.js.map +1 -1
  194. package/dist/schemas/tables/mc/methodology.d.ts +1 -1
  195. package/dist/schemas/tables/mc/methodology.js.map +1 -1
  196. package/dist/schemas/tables/mc/pack.d.ts +1 -1
  197. package/dist/schemas/tables/mc/pack.js.map +1 -1
  198. package/dist/schemas/tables/mc/policy.d.ts +2 -2
  199. package/dist/schemas/tables/mc/policy.js +1 -1
  200. package/dist/schemas/tables/mc/policy.js.map +1 -1
  201. package/dist/schemas/tables/mc/registry.d.ts +1 -1
  202. package/dist/schemas/tables/mc/registry.js.map +1 -1
  203. package/dist/schemas/tables/mc/runtime.d.ts +109 -3
  204. package/dist/schemas/tables/mc/runtime.js +330 -104
  205. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  206. package/dist/schemas/tables/mc/tenant.d.ts +3 -2
  207. package/dist/schemas/tables/mc/tenant.js +2 -1
  208. package/dist/schemas/tables/mc/tenant.js.map +1 -1
  209. package/dist/schemas/tables/mc/workspace.d.ts +22 -5
  210. package/dist/schemas/tables/mc/workspace.js +34 -2
  211. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  212. package/dist/sdk-tools.contract.js +26 -1
  213. package/dist/sdk-tools.contract.js.map +1 -1
  214. package/dist/tenant-bootstrap-seed.contract.d.ts +226 -58
  215. package/dist/tenant-bootstrap-seed.contract.js +126 -28
  216. package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
  217. package/dist/tenant-bootstrap-seed.defaults.d.ts +1 -1
  218. package/dist/tenant-bootstrap-seed.defaults.js +1 -1
  219. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -1
  220. package/dist/tenant-client.contract.d.ts +12 -12
  221. package/dist/tenant-client.contract.js +11 -11
  222. package/dist/tenant-client.contract.js.map +1 -1
  223. package/dist/tool-contracts.js +26 -1
  224. package/dist/tool-contracts.js.map +1 -1
  225. package/package.json +22 -1
  226. package/dist/schemas/tables/identity/agent.js.map +0 -1
  227. package/dist/schemas/tables/identity/epistemic.js.map +0 -1
  228. package/dist/schemas/tables/identity/model.js.map +0 -1
  229. package/dist/schemas/tables/identity/platform.js.map +0 -1
  230. package/dist/schemas/tables/identity/project.js.map +0 -1
  231. package/dist/schemas/tables/identity/user.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\" | \"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 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\" | \"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"]}
@@ -83,6 +83,9 @@ type FunctionConvexTarget = {
83
83
  inputProjection?: ContractInputProjection;
84
84
  outputProjection?: ContractOutputProjection;
85
85
  };
86
+ type FunctionGatewayTarget = {
87
+ handler: "tasks.create" | "tasks.list" | "tasks.update" | "tasks.complete";
88
+ };
86
89
 
87
90
  declare const beliefsContracts: readonly [{
88
91
  name: string;
@@ -115,6 +118,7 @@ declare const beliefsContracts: readonly [{
115
118
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
116
119
  };
117
120
  convex: FunctionConvexTarget | undefined;
121
+ gateway: FunctionGatewayTarget | undefined;
118
122
  args: z.ZodTypeAny;
119
123
  returns: z.ZodTypeAny;
120
124
  input: z.ZodTypeAny;
@@ -154,6 +158,7 @@ declare const beliefsContracts: readonly [{
154
158
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
155
159
  };
156
160
  convex: FunctionConvexTarget | undefined;
161
+ gateway: FunctionGatewayTarget | undefined;
157
162
  args: z.ZodTypeAny;
158
163
  returns: z.ZodTypeAny;
159
164
  input: z.ZodTypeAny;
@@ -193,6 +198,7 @@ declare const beliefsContracts: readonly [{
193
198
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
194
199
  };
195
200
  convex: FunctionConvexTarget | undefined;
201
+ gateway: FunctionGatewayTarget | undefined;
196
202
  args: z.ZodTypeAny;
197
203
  returns: z.ZodTypeAny;
198
204
  input: z.ZodTypeAny;
@@ -232,6 +238,7 @@ declare const beliefsContracts: readonly [{
232
238
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
233
239
  };
234
240
  convex: FunctionConvexTarget | undefined;
241
+ gateway: FunctionGatewayTarget | undefined;
235
242
  args: z.ZodTypeAny;
236
243
  returns: z.ZodTypeAny;
237
244
  input: z.ZodTypeAny;
@@ -271,6 +278,7 @@ declare const beliefsContracts: readonly [{
271
278
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
272
279
  };
273
280
  convex: FunctionConvexTarget | undefined;
281
+ gateway: FunctionGatewayTarget | undefined;
274
282
  args: z.ZodTypeAny;
275
283
  returns: z.ZodTypeAny;
276
284
  input: z.ZodTypeAny;
@@ -310,6 +318,7 @@ declare const beliefsContracts: readonly [{
310
318
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
311
319
  };
312
320
  convex: FunctionConvexTarget | undefined;
321
+ gateway: FunctionGatewayTarget | undefined;
313
322
  args: z.ZodTypeAny;
314
323
  returns: z.ZodTypeAny;
315
324
  input: z.ZodTypeAny;
@@ -349,6 +358,7 @@ declare const beliefsContracts: readonly [{
349
358
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
350
359
  };
351
360
  convex: FunctionConvexTarget | undefined;
361
+ gateway: FunctionGatewayTarget | undefined;
352
362
  args: z.ZodTypeAny;
353
363
  returns: z.ZodTypeAny;
354
364
  input: z.ZodTypeAny;
@@ -388,6 +398,7 @@ declare const beliefsContracts: readonly [{
388
398
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
389
399
  };
390
400
  convex: FunctionConvexTarget | undefined;
401
+ gateway: FunctionGatewayTarget | undefined;
391
402
  args: z.ZodTypeAny;
392
403
  returns: z.ZodTypeAny;
393
404
  input: z.ZodTypeAny;
@@ -427,6 +438,7 @@ declare const beliefsContracts: readonly [{
427
438
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
428
439
  };
429
440
  convex: FunctionConvexTarget | undefined;
441
+ gateway: FunctionGatewayTarget | undefined;
430
442
  args: z.ZodTypeAny;
431
443
  returns: z.ZodTypeAny;
432
444
  input: z.ZodTypeAny;
@@ -466,6 +478,7 @@ declare const beliefsContracts: readonly [{
466
478
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
467
479
  };
468
480
  convex: FunctionConvexTarget | undefined;
481
+ gateway: FunctionGatewayTarget | undefined;
469
482
  args: z.ZodTypeAny;
470
483
  returns: z.ZodTypeAny;
471
484
  input: z.ZodTypeAny;
@@ -3,6 +3,20 @@ import { v } from 'convex/values';
3
3
 
4
4
  // src/function-registry/beliefs.ts
5
5
 
6
+ // src/types/reasoning-method.ts
7
+ var REASONING_METHODS = [
8
+ "deductive",
9
+ "inductive",
10
+ "abductive",
11
+ "analogical",
12
+ "causal",
13
+ "correlational",
14
+ "testimonial",
15
+ "statistical",
16
+ "implicit",
17
+ "pattern_match"
18
+ ];
19
+
6
20
  // src/lens-workflow.contract.ts
7
21
  var LENS_PERSPECTIVE_TYPES = [
8
22
  "investigation",
@@ -860,7 +874,7 @@ var CREATE_EDGE = {
860
874
  reasoningMethod: {
861
875
  type: "string",
862
876
  description: "How this was determined",
863
- enum: ["deductive", "inductive", "abductive", "analogical", "empirical"]
877
+ enum: [...REASONING_METHODS]
864
878
  },
865
879
  metadata: {
866
880
  type: "object",
@@ -2587,6 +2601,10 @@ var CREATE_TASK = {
2587
2601
  tags: {
2588
2602
  type: "array",
2589
2603
  description: "Free-form string tags"
2604
+ },
2605
+ metadata: {
2606
+ type: "object",
2607
+ description: "Structured task metadata for handoff context and routing hints"
2590
2608
  }
2591
2609
  },
2592
2610
  required: ["title"],
@@ -2660,6 +2678,10 @@ var UPDATE_TASK = {
2660
2678
  type: "string",
2661
2679
  description: "Updated status",
2662
2680
  enum: ["todo", "in_progress", "blocked", "done"]
2681
+ },
2682
+ metadata: {
2683
+ type: "object",
2684
+ description: "Structured task metadata to replace or refine"
2663
2685
  }
2664
2686
  },
2665
2687
  required: ["taskId"],
@@ -4115,6 +4137,9 @@ var BEGIN_BUILD_SESSION = {
4115
4137
  sessionMode: "string \u2014 async | interactive",
4116
4138
  targetBeliefIds: "array \u2014 scoped belief IDs",
4117
4139
  targetQuestionIds: "array \u2014 scoped question IDs",
4140
+ taskIds: "array \u2014 assigned task IDs for this worktree",
4141
+ incompleteTaskIds: "array \u2014 assigned task IDs that still require done/deferred/blocked proof",
4142
+ tasks: "array \u2014 assigned task packet with id, title, status, priority, links, and summaries",
4118
4143
  topBeliefs: "array \u2014 highest-confidence scoped beliefs",
4119
4144
  openQuestions: "array \u2014 open scoped questions",
4120
4145
  resolvedDecisions: "array \u2014 answered questions summarized for the session",
@@ -4619,6 +4644,13 @@ var LUCERN_OPERATION_MANIFEST = {
4619
4644
  "Lucern MCP-only platform operation for local agent/bootstrap or verification workflows. Hidden from public discovery."
4620
4645
  )
4621
4646
  };
4647
+ z.enum(["decision", "belief", "question", "theme", "deal", "topic", "claim", "evidence", "synthesis", "answer", "atomic_fact", "excerpt", "source", "company", "person", "investor", "function", "value_chain"]);
4648
+ var EDGE_TYPE_VALUES = ["supports", "informs", "depends_on", "derived_from", "contains", "tests", "supersedes", "responds_to", "belongs_to", "relates_to_thesis", "works_at", "invested_in", "competes_with", "participates_in", "founded_by", "evaluates", "performs", "function_in", "impacts", "raised_from", "mentioned_in", "perspective_on", "plays_theme", "answers", "explores", "qualifies", "based_on", "based_on_belief", "based_on_question", "blocked_by_contradiction", "informed_by_theme", "same_as", "reinforces", "parent_of", "child_of", "falsified_by", "exclusive_with", "collapses_if", "cascade_from", "counterfactual_of", "cascade_to", "mutually_exclusive", "correlates_with", "amplifies", "precondition_for", "in_tension_with", "strengthened_by", "weakened_by", "alternative_to", "subsumes", "validated_by", "required_for", "blocks", "prerequisite_for", "parallel_to", "corroborates", "extends", "same_source_as", "same_theme_as", "assumes", "would_predict", "analogous_to", "independent_of", "implements", "violates", "co_changes_with", "migrating_from", "migrating_to", "scoped_by", "about_entity", "entity_referenced_in", "contradicts", "cites", "summarizes", "related_to", "partially_answers", "refines", "branches_from"];
4649
+ var STORAGE_EDGE_TYPE_VALUES = [...EDGE_TYPE_VALUES, "extracted_from"];
4650
+ z.enum(EDGE_TYPE_VALUES);
4651
+ z.enum(STORAGE_EDGE_TYPE_VALUES);
4652
+ z.enum(["active", "archived", "watching"]);
4653
+ z.enum(["private", "team", "firm", "external", "public"]);
4622
4654
 
4623
4655
  // src/function-registry/helpers.ts
4624
4656
  var jsonObjectSchema = z.record(z.unknown());
@@ -4715,12 +4747,20 @@ function unwrapMcpParameterSchema(schema) {
4715
4747
  current = current._def.schema;
4716
4748
  continue;
4717
4749
  default:
4718
- return { schema: current, required, description: description ?? current.description };
4750
+ return {
4751
+ schema: current,
4752
+ required,
4753
+ description: description ?? current.description
4754
+ };
4719
4755
  }
4720
4756
  }
4721
4757
  }
4722
4758
  function mcpParameterFromZod(fieldName, schema, contractName) {
4723
- const { schema: unwrapped, required, description: schemaDescription } = unwrapMcpParameterSchema(schema);
4759
+ const {
4760
+ schema: unwrapped,
4761
+ required,
4762
+ description: schemaDescription
4763
+ } = unwrapMcpParameterSchema(schema);
4724
4764
  const description = schemaDescription ?? unwrapped.description ?? fieldName;
4725
4765
  switch (unwrapped._def.typeName) {
4726
4766
  case z.ZodFirstPartyTypeKind.ZodString:
@@ -4765,10 +4805,12 @@ function mcpContractFromArgsSchema(base, args, contractName) {
4765
4805
  const entries2 = Object.entries(getObjectShape(args)).sort(
4766
4806
  ([left], [right]) => left.localeCompare(right)
4767
4807
  );
4768
- const converted = entries2.map(([fieldName, schema]) => [
4769
- fieldName,
4770
- mcpParameterFromZod(fieldName, schema, contractName)
4771
- ]);
4808
+ const converted = entries2.map(
4809
+ ([fieldName, schema]) => [
4810
+ fieldName,
4811
+ mcpParameterFromZod(fieldName, schema, contractName)
4812
+ ]
4813
+ );
4772
4814
  return {
4773
4815
  ...base,
4774
4816
  parameters: Object.fromEntries(
@@ -4871,6 +4913,7 @@ function surfaceContract(args) {
4871
4913
  allowedPrincipalTypes: ["user", "service", "agent"]
4872
4914
  },
4873
4915
  convex: args.convex,
4916
+ gateway: args.gateway,
4874
4917
  args: canonicalArgs,
4875
4918
  returns: canonicalReturns,
4876
4919
  input,