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

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/component-boundary.contract.d.ts +1 -1
  13. package/dist/component-boundary.contract.js +26 -46
  14. package/dist/component-boundary.contract.js.map +1 -1
  15. package/dist/context-pack.contract.d.ts +3 -5
  16. package/dist/context-pack.contract.js.map +1 -1
  17. package/dist/{defineTable-t1wr5wgn.d.ts → defineTable-CBQ03FXl.d.ts} +1 -1
  18. package/dist/{dsl-DVPthQGY.d.ts → dsl-BgpoVOVQ.d.ts} +2 -2
  19. package/dist/dsl.d.ts +2 -2
  20. package/dist/dsl.js +4 -1
  21. package/dist/dsl.js.map +1 -1
  22. package/dist/function-registry/beliefs.d.ts +51 -64
  23. package/dist/function-registry/beliefs.js +57 -817
  24. package/dist/function-registry/beliefs.js.map +1 -1
  25. package/dist/function-registry/coding.d.ts +6 -15
  26. package/dist/function-registry/coding.js +43 -866
  27. package/dist/function-registry/coding.js.map +1 -1
  28. package/dist/function-registry/context.d.ts +16 -22
  29. package/dist/function-registry/context.js +46 -805
  30. package/dist/function-registry/context.js.map +1 -1
  31. package/dist/function-registry/contracts.d.ts +3 -9
  32. package/dist/function-registry/contracts.js +39 -770
  33. package/dist/function-registry/contracts.js.map +1 -1
  34. package/dist/function-registry/coordination.d.ts +9 -21
  35. package/dist/function-registry/coordination.js +39 -770
  36. package/dist/function-registry/coordination.js.map +1 -1
  37. package/dist/function-registry/edges.d.ts +2 -167
  38. package/dist/function-registry/edges.js +71 -978
  39. package/dist/function-registry/edges.js.map +1 -1
  40. package/dist/function-registry/evidence.d.ts +41 -52
  41. package/dist/function-registry/evidence.js +62 -826
  42. package/dist/function-registry/evidence.js.map +1 -1
  43. package/dist/function-registry/graph.d.ts +66 -162
  44. package/dist/function-registry/graph.js +46 -886
  45. package/dist/function-registry/graph.js.map +1 -1
  46. package/dist/function-registry/helpers.d.ts +4 -7
  47. package/dist/function-registry/helpers.js +40 -771
  48. package/dist/function-registry/helpers.js.map +1 -1
  49. package/dist/function-registry/identity.d.ts +16 -62
  50. package/dist/function-registry/identity.js +45 -793
  51. package/dist/function-registry/identity.js.map +1 -1
  52. package/dist/function-registry/index.d.ts +3 -5
  53. package/dist/function-registry/index.js +43 -777
  54. package/dist/function-registry/index.js.map +1 -1
  55. package/dist/function-registry/judgments.d.ts +11 -16
  56. package/dist/function-registry/judgments.js +42 -782
  57. package/dist/function-registry/judgments.js.map +1 -1
  58. package/dist/function-registry/legacy.d.ts +1 -5
  59. package/dist/function-registry/legacy.js +39 -770
  60. package/dist/function-registry/legacy.js.map +1 -1
  61. package/dist/function-registry/lenses.d.ts +21 -28
  62. package/dist/function-registry/lenses.js +42 -793
  63. package/dist/function-registry/lenses.js.map +1 -1
  64. package/dist/function-registry/manifest.d.ts +6 -6
  65. package/dist/function-registry/manifest.js +2 -19
  66. package/dist/function-registry/manifest.js.map +1 -1
  67. package/dist/function-registry/ontologies.d.ts +56 -70
  68. package/dist/function-registry/ontologies.js +45 -788
  69. package/dist/function-registry/ontologies.js.map +1 -1
  70. package/dist/function-registry/pipeline.d.ts +16 -22
  71. package/dist/function-registry/pipeline.js +42 -779
  72. package/dist/function-registry/pipeline.js.map +1 -1
  73. package/dist/function-registry/questions.d.ts +61 -76
  74. package/dist/function-registry/questions.js +52 -869
  75. package/dist/function-registry/questions.js.map +1 -1
  76. package/dist/function-registry/tasks.d.ts +21 -28
  77. package/dist/function-registry/tasks.js +48 -845
  78. package/dist/function-registry/tasks.js.map +1 -1
  79. package/dist/function-registry/topics.d.ts +26 -114
  80. package/dist/function-registry/topics.js +43 -852
  81. package/dist/function-registry/topics.js.map +1 -1
  82. package/dist/function-registry/types.d.ts +3 -7
  83. package/dist/function-registry/worktrees.d.ts +51 -104
  84. package/dist/function-registry/worktrees.js +51 -925
  85. package/dist/function-registry/worktrees.js.map +1 -1
  86. package/dist/gateway.contract.d.ts +0 -5
  87. package/dist/gateway.contract.js.map +1 -1
  88. package/dist/generated/convexSchemas.d.ts +3 -3
  89. package/dist/generated/convexSchemas.js +18 -38
  90. package/dist/generated/convexSchemas.js.map +1 -1
  91. package/dist/generated/schema-manifest.json +114 -1221
  92. package/dist/generated/tableOwnership.d.ts +28 -48
  93. package/dist/generated/tableOwnership.js +26 -66
  94. package/dist/generated/tableOwnership.js.map +1 -1
  95. package/dist/generated/tier-expectations.json +9 -64
  96. package/dist/graph-types/index.d.ts +1 -5
  97. package/dist/graph-types/index.js +4 -15
  98. package/dist/graph-types/index.js.map +1 -1
  99. package/dist/index-CV-0_VWJ.d.ts +25 -0
  100. package/dist/index.d.ts +669 -28
  101. package/dist/index.js +400 -34707
  102. package/dist/index.js.map +1 -1
  103. package/dist/lens-filter.contract.js +3 -4
  104. package/dist/lens-filter.contract.js.map +1 -1
  105. package/dist/lens-workflow.contract.js +3 -4
  106. package/dist/lens-workflow.contract.js.map +1 -1
  107. package/dist/mcp-gateway-boundary.contract.d.ts +3 -23
  108. package/dist/mcp-gateway-boundary.contract.js +0 -2
  109. package/dist/mcp-gateway-boundary.contract.js.map +1 -1
  110. package/dist/schema-helpers/enumValidation.js +5 -2
  111. package/dist/schema-helpers/enumValidation.js.map +1 -1
  112. package/dist/schema-helpers/spine/nodes/decision.js +1 -2
  113. package/dist/schema-helpers/spine/nodes/decision.js.map +1 -1
  114. package/dist/schema-helpers/spine/tables/epistemicNodes.js +27 -27
  115. package/dist/schema-helpers/spine/tables/epistemicNodes.js.map +1 -1
  116. package/dist/schemas/component-table-manifest.d.ts +6 -6
  117. package/dist/schemas/component-table-manifest.js +2 -2
  118. package/dist/schemas/component-table-manifest.js.map +1 -1
  119. package/dist/schemas/enums.d.ts +2 -5
  120. package/dist/schemas/enums.js +2 -5
  121. package/dist/schemas/enums.js.map +1 -1
  122. package/dist/schemas/index.d.ts +3 -3
  123. package/dist/schemas/index.js +139 -1130
  124. package/dist/schemas/index.js.map +1 -1
  125. package/dist/schemas/manifest.d.ts +948 -2948
  126. package/dist/schemas/manifest.js +137 -1128
  127. package/dist/schemas/manifest.js.map +1 -1
  128. package/dist/schemas/sl-opinion.d.ts +4 -4
  129. package/dist/schemas/tables/{controlPlane → identity}/agent.d.ts +1 -1
  130. package/dist/schemas/tables/{controlPlane → identity}/agent.js +3 -3
  131. package/dist/schemas/tables/identity/agent.js.map +1 -0
  132. package/dist/schemas/tables/{controlPlane → identity}/epistemic.d.ts +1 -1
  133. package/dist/schemas/tables/{controlPlane → identity}/epistemic.js +3 -3
  134. package/dist/schemas/tables/identity/epistemic.js.map +1 -0
  135. package/dist/schemas/tables/{controlPlane → identity}/model.d.ts +1 -1
  136. package/dist/schemas/tables/{controlPlane → identity}/model.js +6 -6
  137. package/dist/schemas/tables/identity/model.js.map +1 -0
  138. package/dist/schemas/tables/{controlPlane → identity}/platform.d.ts +11 -11
  139. package/dist/schemas/tables/{controlPlane → identity}/platform.js +18 -18
  140. package/dist/schemas/tables/identity/platform.js.map +1 -0
  141. package/dist/schemas/tables/{controlPlane → identity}/project.d.ts +1 -1
  142. package/dist/schemas/tables/{controlPlane → identity}/project.js +3 -3
  143. package/dist/schemas/tables/identity/project.js.map +1 -0
  144. package/dist/schemas/tables/{controlPlane → identity}/user.d.ts +1 -1
  145. package/dist/schemas/tables/{controlPlane → identity}/user.js +3 -3
  146. package/dist/schemas/tables/identity/user.js.map +1 -0
  147. package/dist/schemas/tables/kernel/config.d.ts +1 -1
  148. package/dist/schemas/tables/kernel/config.js.map +1 -1
  149. package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
  150. package/dist/schemas/tables/kernel/coordination.js.map +1 -1
  151. package/dist/schemas/tables/kernel/decision.d.ts +1 -1
  152. package/dist/schemas/tables/kernel/decision.js.map +1 -1
  153. package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
  154. package/dist/schemas/tables/kernel/embedding.js.map +1 -1
  155. package/dist/schemas/tables/kernel/epistemic.d.ts +7 -7
  156. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  157. package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
  158. package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
  159. package/dist/schemas/tables/kernel/infra.d.ts +5 -5
  160. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  161. package/dist/schemas/tables/kernel/intelligence.d.ts +11 -11
  162. package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
  163. package/dist/schemas/tables/kernel/lens.d.ts +5 -5
  164. package/dist/schemas/tables/kernel/lens.js.map +1 -1
  165. package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
  166. package/dist/schemas/tables/kernel/ontology.js.map +1 -1
  167. package/dist/schemas/tables/kernel/platform.d.ts +13 -13
  168. package/dist/schemas/tables/kernel/platform.js.map +1 -1
  169. package/dist/schemas/tables/kernel/spine.d.ts +4 -5
  170. package/dist/schemas/tables/kernel/spine.js +2 -6
  171. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  172. package/dist/schemas/tables/kernel/task.d.ts +43 -43
  173. package/dist/schemas/tables/kernel/task.js.map +1 -1
  174. package/dist/schemas/tables/kernel/topic.d.ts +1 -1
  175. package/dist/schemas/tables/kernel/topic.js +1 -5
  176. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  177. package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
  178. package/dist/schemas/tables/kernel/workflow.js.map +1 -1
  179. package/dist/schemas/tables/kernel/worktree.d.ts +55 -55
  180. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  181. package/dist/schemas/tables/mc/identity.d.ts +4 -21
  182. package/dist/schemas/tables/mc/identity.js +1 -32
  183. package/dist/schemas/tables/mc/identity.js.map +1 -1
  184. package/dist/schemas/tables/mc/methodology.d.ts +1 -1
  185. package/dist/schemas/tables/mc/methodology.js.map +1 -1
  186. package/dist/schemas/tables/mc/pack.d.ts +21 -21
  187. package/dist/schemas/tables/mc/pack.js.map +1 -1
  188. package/dist/schemas/tables/mc/policy.d.ts +2 -2
  189. package/dist/schemas/tables/mc/policy.js +1 -1
  190. package/dist/schemas/tables/mc/policy.js.map +1 -1
  191. package/dist/schemas/tables/mc/registry.d.ts +5 -5
  192. package/dist/schemas/tables/mc/registry.js.map +1 -1
  193. package/dist/schemas/tables/mc/runtime.d.ts +3 -109
  194. package/dist/schemas/tables/mc/runtime.js +104 -330
  195. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  196. package/dist/schemas/tables/mc/tenant.d.ts +2 -4
  197. package/dist/schemas/tables/mc/tenant.js +1 -3
  198. package/dist/schemas/tables/mc/tenant.js.map +1 -1
  199. package/dist/schemas/tables/mc/workspace.d.ts +5 -28
  200. package/dist/schemas/tables/mc/workspace.js +2 -36
  201. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  202. package/dist/sdk-methods.contract.d.ts +2 -2
  203. package/dist/{sdk-tools.contract-CKmSsrZ2.d.ts → sdk-tools.contract-S4ia0TTo.d.ts} +2 -2
  204. package/dist/sdk-tools.contract.d.ts +2 -2
  205. package/dist/sdk-tools.contract.js +27 -719
  206. package/dist/sdk-tools.contract.js.map +1 -1
  207. package/dist/tenant-client.contract.d.ts +14 -102
  208. package/dist/tenant-client.contract.js +12 -113
  209. package/dist/tenant-client.contract.js.map +1 -1
  210. package/dist/{tool-contracts-C_xvM9q2.d.ts → tool-contracts-C92-9ueT.d.ts} +2 -38
  211. package/dist/tool-contracts.d.ts +1 -1
  212. package/dist/tool-contracts.js +28 -720
  213. package/dist/tool-contracts.js.map +1 -1
  214. package/package.json +1 -30
  215. package/dist/component-host-boundary.contract.d.ts +0 -46
  216. package/dist/component-host-boundary.contract.js +0 -60
  217. package/dist/component-host-boundary.contract.js.map +0 -1
  218. package/dist/edge-policy-manifest-Dw5IhT1L.d.ts +0 -133
  219. package/dist/function-registry/nodes.d.ts +0 -412
  220. package/dist/function-registry/nodes.js +0 -5354
  221. package/dist/function-registry/nodes.js.map +0 -1
  222. package/dist/function-registry-input-audit.d.ts +0 -13
  223. package/dist/function-registry-input-audit.js +0 -166
  224. package/dist/function-registry-input-audit.js.map +0 -1
  225. package/dist/generated/infisicalRuntimeEnv.d.ts +0 -70
  226. package/dist/generated/infisicalRuntimeEnv.js +0 -27345
  227. package/dist/generated/infisicalRuntimeEnv.js.map +0 -1
  228. package/dist/generated/lucernGatewayEnv.d.ts +0 -17
  229. package/dist/generated/lucernGatewayEnv.js +0 -38
  230. package/dist/generated/lucernGatewayEnv.js.map +0 -1
  231. package/dist/generated/lucernWebPublicEnv.d.ts +0 -26
  232. package/dist/generated/lucernWebPublicEnv.js +0 -32
  233. package/dist/generated/lucernWebPublicEnv.js.map +0 -1
  234. package/dist/generated/lucernWebServerEnv.d.ts +0 -33
  235. package/dist/generated/lucernWebServerEnv.js +0 -51
  236. package/dist/generated/lucernWebServerEnv.js.map +0 -1
  237. package/dist/graph-intelligence.contract.d.ts +0 -506
  238. package/dist/graph-intelligence.contract.js +0 -595
  239. package/dist/graph-intelligence.contract.js.map +0 -1
  240. package/dist/index-CM1Pl_vI.d.ts +0 -28
  241. package/dist/infisical-runtime.contract.d.ts +0 -1889
  242. package/dist/infisical-runtime.contract.js +0 -3235
  243. package/dist/infisical-runtime.contract.js.map +0 -1
  244. package/dist/manifests/edge-policy-manifest.d.ts +0 -2
  245. package/dist/manifests/edge-policy-manifest.data.d.ts +0 -13
  246. package/dist/manifests/edge-policy-manifest.data.js +0 -26
  247. package/dist/manifests/edge-policy-manifest.data.js.map +0 -1
  248. package/dist/manifests/edge-policy-manifest.js +0 -92
  249. package/dist/manifests/edge-policy-manifest.js.map +0 -1
  250. package/dist/manifests/infisical-runtime-manifest.d.ts +0 -1792
  251. package/dist/manifests/infisical-runtime-manifest.js +0 -3090
  252. package/dist/manifests/infisical-runtime-manifest.js.map +0 -1
  253. package/dist/manifests/invariant-manifest.d.ts +0 -65
  254. package/dist/manifests/invariant-manifest.js +0 -18
  255. package/dist/manifests/invariant-manifest.js.map +0 -1
  256. package/dist/manifests/invariants/ast-utils.d.ts +0 -14
  257. package/dist/manifests/invariants/ast-utils.js +0 -54
  258. package/dist/manifests/invariants/ast-utils.js.map +0 -1
  259. package/dist/manifests/invariants/index.d.ts +0 -15
  260. package/dist/manifests/invariants/index.js +0 -183
  261. package/dist/manifests/invariants/index.js.map +0 -1
  262. package/dist/manifests/invariants/inv-1-beliefs-append-only.d.ts +0 -12
  263. package/dist/manifests/invariants/inv-1-beliefs-append-only.js +0 -94
  264. package/dist/manifests/invariants/inv-1-beliefs-append-only.js.map +0 -1
  265. package/dist/manifests/invariants/inv-14-no-silent-transitions.d.ts +0 -12
  266. package/dist/manifests/invariants/inv-14-no-silent-transitions.js +0 -99
  267. package/dist/manifests/invariants/inv-14-no-silent-transitions.js.map +0 -1
  268. package/dist/manifests/invariants/manifest-1-projections-declare-audit.d.ts +0 -12
  269. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js +0 -42
  270. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js.map +0 -1
  271. package/dist/manifests/tenant-client-manifest.d.ts +0 -327
  272. package/dist/manifests/tenant-client-manifest.js +0 -449
  273. package/dist/manifests/tenant-client-manifest.js.map +0 -1
  274. package/dist/permit-principal-projection.contract.d.ts +0 -74
  275. package/dist/permit-principal-projection.contract.js +0 -167
  276. package/dist/permit-principal-projection.contract.js.map +0 -1
  277. package/dist/projections/check-convex-args-shape.d.ts +0 -3
  278. package/dist/projections/check-convex-args-shape.js +0 -403
  279. package/dist/projections/check-convex-args-shape.js.map +0 -1
  280. package/dist/projections/create-evidence.projection.d.ts +0 -176
  281. package/dist/projections/create-evidence.projection.js +0 -130
  282. package/dist/projections/create-evidence.projection.js.map +0 -1
  283. package/dist/projections/index.d.ts +0 -102
  284. package/dist/projections/index.js +0 -352
  285. package/dist/projections/index.js.map +0 -1
  286. package/dist/projections/list-beliefs.projection.d.ts +0 -36
  287. package/dist/projections/list-beliefs.projection.js +0 -54
  288. package/dist/projections/list-beliefs.projection.js.map +0 -1
  289. package/dist/projections/list-tasks.projection.d.ts +0 -44
  290. package/dist/projections/list-tasks.projection.js +0 -57
  291. package/dist/projections/list-tasks.projection.js.map +0 -1
  292. package/dist/projections/modulate-confidence.projection.d.ts +0 -219
  293. package/dist/projections/modulate-confidence.projection.js +0 -148
  294. package/dist/projections/modulate-confidence.projection.js.map +0 -1
  295. package/dist/projections/projection-dsl.d.ts +0 -11
  296. package/dist/projections/projection-dsl.js +0 -8
  297. package/dist/projections/projection-dsl.js.map +0 -1
  298. package/dist/proof-attestation.json +0 -45
  299. package/dist/schemas/tables/controlPlane/accessControl.d.ts +0 -260
  300. package/dist/schemas/tables/controlPlane/accessControl.js +0 -658
  301. package/dist/schemas/tables/controlPlane/accessControl.js.map +0 -1
  302. package/dist/schemas/tables/controlPlane/agent.js.map +0 -1
  303. package/dist/schemas/tables/controlPlane/epistemic.js.map +0 -1
  304. package/dist/schemas/tables/controlPlane/model.js.map +0 -1
  305. package/dist/schemas/tables/controlPlane/platform.js.map +0 -1
  306. package/dist/schemas/tables/controlPlane/project.js.map +0 -1
  307. package/dist/schemas/tables/controlPlane/user.js.map +0 -1
  308. package/dist/schemas/tables/kernel/events.d.ts +0 -21
  309. package/dist/schemas/tables/kernel/events.js +0 -43
  310. package/dist/schemas/tables/kernel/events.js.map +0 -1
  311. package/dist/tenant-bootstrap-seed.contract.d.ts +0 -1289
  312. package/dist/tenant-bootstrap-seed.contract.js +0 -764
  313. package/dist/tenant-bootstrap-seed.contract.js.map +0 -1
  314. package/dist/tenant-bootstrap-seed.defaults.d.ts +0 -16
  315. package/dist/tenant-bootstrap-seed.defaults.js +0 -321
  316. package/dist/tenant-bootstrap-seed.defaults.js.map +0 -1
@@ -1,352 +0,0 @@
1
- import { v } from 'convex/values';
2
- import { z } from 'zod';
3
-
4
- // src/projections/create-evidence.projection.ts
5
-
6
- // src/projections/projection-dsl.ts
7
- function defineProjection(def) {
8
- return def;
9
- }
10
-
11
- // src/projections/create-evidence.projection.ts
12
- var jsonRecordSchema = z.record(z.unknown());
13
- var createEvidenceInputSchemaBase = z.object({
14
- projectId: z.string().optional(),
15
- topicId: z.string().optional(),
16
- text: z.string().optional(),
17
- canonicalText: z.string().optional(),
18
- title: z.string().optional(),
19
- content: z.string().optional(),
20
- contentType: z.string().optional(),
21
- kind: z.string().optional(),
22
- tags: z.array(z.string()).optional(),
23
- source: z.string().optional(),
24
- sourceUrl: z.string().optional(),
25
- sourceType: z.string().optional(),
26
- externalSourceType: z.string().optional(),
27
- sourceQuestionId: z.string().optional(),
28
- methodology: z.string().optional(),
29
- informationAsymmetry: z.string().optional(),
30
- sourceDescription: z.string().optional(),
31
- targetId: z.string().optional(),
32
- targetNodeId: z.string().optional(),
33
- linkedBeliefNodeId: z.string().optional(),
34
- evidenceRelation: z.enum(["supports", "contradicts"]).optional(),
35
- confidence: z.number().optional(),
36
- weight: z.number().optional(),
37
- reasoning: z.string().optional(),
38
- rationale: z.string(),
39
- metadata: jsonRecordSchema.optional(),
40
- trustedBypassAccessCheck: z.boolean().optional()
41
- }).passthrough();
42
- var createEvidenceInputSchema = createEvidenceInputSchemaBase.refine(
43
- (input) => Boolean(input.text ?? input.canonicalText),
44
- {
45
- message: "create_evidence requires text",
46
- path: ["text"]
47
- }
48
- );
49
- function compactRecord(input) {
50
- return Object.fromEntries(
51
- Object.entries(input).filter(([, value]) => value !== void 0)
52
- );
53
- }
54
- function isRecord(value) {
55
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
56
- }
57
- function recordValue(value) {
58
- return isRecord(value) ? value : {};
59
- }
60
- var createEvidenceProjection = defineProjection({
61
- contractName: "create_evidence",
62
- inputSchema: createEvidenceInputSchema,
63
- project: (input) => {
64
- const text = input.text ?? input.canonicalText;
65
- const weight = typeof input.weight === "number" ? input.weight : void 0;
66
- return compactRecord({
67
- projectId: input.projectId,
68
- topicId: input.topicId,
69
- text,
70
- title: input.title ?? text,
71
- content: input.content ?? text,
72
- contentType: input.contentType,
73
- kind: input.kind,
74
- tags: input.tags,
75
- sourceType: input.sourceType,
76
- externalSourceType: input.externalSourceType,
77
- sourceUrl: input.sourceUrl ?? input.source,
78
- sourceQuestionId: input.sourceQuestionId,
79
- methodology: input.methodology,
80
- informationAsymmetry: input.informationAsymmetry,
81
- sourceDescription: input.sourceDescription,
82
- metadata: compactRecord({
83
- ...recordValue(input.metadata),
84
- source: input.source,
85
- targetId: input.targetId,
86
- targetNodeId: input.targetNodeId,
87
- weight,
88
- reasoning: input.reasoning,
89
- rationale: input.rationale
90
- }),
91
- linkedBeliefNodeId: input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,
92
- evidenceRelation: input.evidenceRelation ?? (weight === void 0 ? void 0 : weight < 0 ? "contradicts" : "supports"),
93
- confidence: input.confidence ?? (weight === void 0 ? void 0 : Math.min(1, Math.max(0, Math.abs(weight)))),
94
- rationale: input.rationale,
95
- trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true
96
- });
97
- },
98
- convexArgsValidator: v.object({
99
- projectId: v.optional(v.string()),
100
- topicId: v.optional(v.string()),
101
- text: v.string(),
102
- title: v.optional(v.string()),
103
- content: v.optional(v.string()),
104
- contentType: v.optional(v.string()),
105
- kind: v.optional(v.string()),
106
- tags: v.optional(v.array(v.string())),
107
- sourceType: v.optional(v.string()),
108
- externalSourceType: v.optional(v.string()),
109
- sourceUrl: v.optional(v.string()),
110
- sourceQuestionId: v.optional(v.string()),
111
- methodology: v.optional(v.string()),
112
- informationAsymmetry: v.optional(v.string()),
113
- sourceDescription: v.optional(v.string()),
114
- metadata: v.optional(v.record(v.string(), v.any())),
115
- linkedBeliefNodeId: v.optional(v.string()),
116
- evidenceRelation: v.optional(
117
- v.union(
118
- v.literal("supports"),
119
- v.literal("contradicts")
120
- )
121
- ),
122
- confidence: v.optional(v.number()),
123
- rationale: v.string(),
124
- trustedBypassAccessCheck: v.optional(v.boolean())
125
- })
126
- });
127
- var beliefStatusSchema = z.enum(["active", "superseded", "archived", "unscored", "scored"]).optional().describe("Filter by belief lifecycle or scoring status");
128
- var listBeliefsInputSchema = z.object({
129
- topicId: z.string().describe("Topic scope"),
130
- worktreeId: z.string().optional().describe("Filter to worktree scope"),
131
- status: beliefStatusSchema,
132
- minConfidence: z.number().optional().describe("Minimum confidence threshold"),
133
- limit: z.number().optional().describe("Maximum results"),
134
- includeEdgeAssociated: z.boolean().optional().describe("Include beliefs associated to the topic through edges")
135
- });
136
- function kernelStatus(status) {
137
- return status === "active" || status === "superseded" || status === "archived" ? status : void 0;
138
- }
139
- function compactRecord2(input) {
140
- return Object.fromEntries(
141
- Object.entries(input).filter(([, value]) => value !== void 0)
142
- );
143
- }
144
- var listBeliefsProjection = defineProjection({
145
- contractName: "list_beliefs",
146
- inputSchema: listBeliefsInputSchema,
147
- project: (input) => compactRecord2({
148
- topicId: input.topicId,
149
- status: kernelStatus(input.status),
150
- limit: input.limit,
151
- includeEdgeAssociated: input.includeEdgeAssociated
152
- }),
153
- convexArgsValidator: v.object({
154
- topicId: v.string(),
155
- status: v.optional(
156
- v.union(
157
- v.literal("active"),
158
- v.literal("superseded"),
159
- v.literal("archived")
160
- )
161
- ),
162
- limit: v.optional(v.number()),
163
- includeEdgeAssociated: v.optional(v.boolean())
164
- })
165
- });
166
- var taskStatusSchema = z.enum(["todo", "in_progress", "blocked", "done"]).optional().describe("Filter by task status");
167
- var listTasksInputSchema = z.object({
168
- topicId: z.string().optional().describe("Topic scope"),
169
- worktreeId: z.string().optional().describe("Alias for linkedWorktreeId"),
170
- linkedWorktreeId: z.string().optional().describe("Filter to tasks linked to this worktree"),
171
- status: taskStatusSchema,
172
- limit: z.number().optional().describe("Maximum results")
173
- }).refine(
174
- (input) => Boolean(input.topicId || input.worktreeId || input.linkedWorktreeId),
175
- {
176
- message: "topicId or worktreeId is required"
177
- }
178
- );
179
- function compactRecord3(input) {
180
- return Object.fromEntries(
181
- Object.entries(input).filter(([, value]) => value !== void 0)
182
- );
183
- }
184
- var listTasksProjection = defineProjection({
185
- contractName: "list_tasks",
186
- inputSchema: listTasksInputSchema,
187
- project: (input) => compactRecord3({
188
- topicId: input.topicId,
189
- status: input.status,
190
- userId: void 0,
191
- limit: input.limit,
192
- linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId
193
- }),
194
- convexArgsValidator: v.object({
195
- topicId: v.optional(v.string()),
196
- status: v.optional(
197
- v.union(
198
- v.literal("todo"),
199
- v.literal("in_progress"),
200
- v.literal("blocked"),
201
- v.literal("done")
202
- )
203
- ),
204
- limit: v.optional(v.number()),
205
- linkedWorktreeId: v.optional(v.string())
206
- })
207
- });
208
- var confidenceTriggerSchema = z.enum([
209
- "evidence_added",
210
- "evidence_removed",
211
- "contradiction_resolved",
212
- "agent_assessment",
213
- "worktree_outcome",
214
- "worktree_completed",
215
- "contradiction_detected",
216
- "answer_recorded",
217
- "fusion",
218
- "discount",
219
- "deduction",
220
- "backfill_synthetic"
221
- ]);
222
- var provenanceSchema = z.object({
223
- evidence: z.string().optional(),
224
- question: z.string().optional(),
225
- answer: z.string().optional(),
226
- contradiction: z.string().optional(),
227
- worktree: z.string().optional()
228
- });
229
- var slOpinionProjectionSchema = z.object({
230
- belief: z.number(),
231
- disbelief: z.number(),
232
- uncertainty: z.number(),
233
- baseRate: z.number()
234
- });
235
- var modulateConfidenceInputObjectSchema = z.object({
236
- nodeId: z.string().optional(),
237
- beliefNodeId: z.string().optional(),
238
- worktreeId: z.string().optional(),
239
- opinion: slOpinionProjectionSchema.optional(),
240
- belief: z.number().optional(),
241
- disbelief: z.number().optional(),
242
- uncertainty: z.number().optional(),
243
- baseRate: z.number().optional(),
244
- trigger: confidenceTriggerSchema,
245
- provenance: provenanceSchema.optional(),
246
- triggeringEvidenceId: z.string().optional(),
247
- triggeringQuestionId: z.string().optional(),
248
- triggeringAnswerId: z.string().optional(),
249
- triggeringContradictionId: z.string().optional(),
250
- triggeringWorktreeId: z.string().optional(),
251
- rationale: z.string(),
252
- trustedBypassAccessCheck: z.boolean().optional()
253
- });
254
- var modulateConfidenceInputSchema = modulateConfidenceInputObjectSchema.superRefine((input, ctx) => {
255
- if (hasProvenance(input)) {
256
- return;
257
- }
258
- ctx.addIssue({
259
- code: z.ZodIssueCode.custom,
260
- message: "modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance",
261
- path: ["provenance"]
262
- });
263
- });
264
- var modulateConfidenceProjection = defineProjection({
265
- contractName: "modulate_confidence",
266
- inputSchema: modulateConfidenceInputSchema,
267
- project: (input) => {
268
- const nodeId = input.beliefNodeId ?? input.nodeId;
269
- if (!nodeId) {
270
- throw new Error("modulate_confidence requires beliefNodeId or nodeId");
271
- }
272
- const opinion = input.opinion ?? {
273
- belief: requireNumber(input.belief, "belief"),
274
- disbelief: requireNumber(input.disbelief, "disbelief"),
275
- uncertainty: requireNumber(input.uncertainty, "uncertainty"),
276
- baseRate: requireNumber(input.baseRate, "baseRate")
277
- };
278
- assertProvenance(input);
279
- return {
280
- nodeId,
281
- worktreeId: input.worktreeId,
282
- belief: opinion.belief,
283
- disbelief: opinion.disbelief,
284
- uncertainty: opinion.uncertainty,
285
- baseRate: opinion.baseRate,
286
- trigger: input.trigger === "answer_recorded" ? "agent_assessment" : input.trigger,
287
- triggeringEvidenceId: input.provenance?.evidence ?? input.triggeringEvidenceId,
288
- triggeringQuestionId: input.provenance?.question ?? input.triggeringQuestionId,
289
- triggeringAnswerId: input.provenance?.answer ?? input.triggeringAnswerId,
290
- triggeringContradictionId: input.provenance?.contradiction ?? input.triggeringContradictionId,
291
- triggeringWorktreeId: input.provenance?.worktree ?? input.triggeringWorktreeId,
292
- rationale: input.rationale,
293
- trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true
294
- };
295
- },
296
- convexArgsValidator: v.object({
297
- nodeId: v.string(),
298
- worktreeId: v.optional(v.string()),
299
- belief: v.number(),
300
- disbelief: v.number(),
301
- uncertainty: v.number(),
302
- baseRate: v.number(),
303
- trigger: v.union(
304
- v.literal("evidence_added"),
305
- v.literal("evidence_removed"),
306
- v.literal("worktree_completed"),
307
- v.literal("contradiction_detected"),
308
- v.literal("contradiction_resolved"),
309
- v.literal("agent_assessment"),
310
- v.literal("worktree_outcome"),
311
- v.literal("fusion"),
312
- v.literal("discount"),
313
- v.literal("deduction"),
314
- v.literal("backfill_synthetic")
315
- ),
316
- triggeringEvidenceId: v.optional(v.string()),
317
- triggeringQuestionId: v.optional(v.string()),
318
- triggeringAnswerId: v.optional(v.string()),
319
- triggeringContradictionId: v.optional(v.string()),
320
- triggeringWorktreeId: v.optional(v.string()),
321
- rationale: v.string(),
322
- trustedBypassAccessCheck: v.optional(v.boolean())
323
- })
324
- });
325
- function requireNumber(value, field) {
326
- if (value === void 0) {
327
- throw new Error(`modulate_confidence requires ${field}`);
328
- }
329
- return value;
330
- }
331
- function assertProvenance(input) {
332
- if (!hasProvenance(input)) {
333
- throw new Error(
334
- "modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance"
335
- );
336
- }
337
- }
338
- function hasProvenance(input) {
339
- return input.trigger === "backfill_synthetic" || Boolean(input.provenance && Object.values(input.provenance).some(Boolean)) || Boolean(input.triggeringEvidenceId) || Boolean(input.triggeringQuestionId) || Boolean(input.triggeringAnswerId) || Boolean(input.triggeringContradictionId) || Boolean(input.triggeringWorktreeId);
340
- }
341
-
342
- // src/projections/index.ts
343
- var projections = {
344
- create_evidence: createEvidenceProjection,
345
- list_beliefs: listBeliefsProjection,
346
- list_tasks: listTasksProjection,
347
- modulate_confidence: modulateConfidenceProjection
348
- };
349
-
350
- export { createEvidenceProjection, defineProjection, listBeliefsProjection, listTasksProjection, modulateConfidenceProjection, projections };
351
- //# sourceMappingURL=index.js.map
352
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/projections/projection-dsl.ts","../../src/projections/create-evidence.projection.ts","../../src/projections/list-beliefs.projection.ts","../../src/projections/list-tasks.projection.ts","../../src/projections/modulate-confidence.projection.ts","../../src/projections/index.ts"],"names":["z","compactRecord","v"],"mappings":"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","file":"index.js","sourcesContent":["import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst createEvidenceInputSchemaBase = z\n .object({\n projectId: z.string().optional(),\n topicId: z.string().optional(),\n text: z.string().optional(),\n canonicalText: z.string().optional(),\n title: z.string().optional(),\n content: z.string().optional(),\n contentType: z.string().optional(),\n kind: z.string().optional(),\n tags: z.array(z.string()).optional(),\n source: z.string().optional(),\n sourceUrl: z.string().optional(),\n sourceType: z.string().optional(),\n externalSourceType: z.string().optional(),\n sourceQuestionId: z.string().optional(),\n methodology: z.string().optional(),\n informationAsymmetry: z.string().optional(),\n sourceDescription: z.string().optional(),\n targetId: z.string().optional(),\n targetNodeId: z.string().optional(),\n linkedBeliefNodeId: z.string().optional(),\n evidenceRelation: z.enum([\"supports\", \"contradicts\"]).optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n reasoning: z.string().optional(),\n rationale: z.string(),\n metadata: jsonRecordSchema.optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n })\n .passthrough();\n\nexport const createEvidenceInputSchema = createEvidenceInputSchemaBase.refine(\n (input) => Boolean(input.text ?? input.canonicalText),\n {\n message: \"create_evidence requires text\",\n path: [\"text\"],\n },\n);\n\nexport type CreateEvidenceProjectionInput = z.infer<\n typeof createEvidenceInputSchema\n>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction recordValue(value: unknown): Record<string, unknown> {\n return isRecord(value) ? value : {};\n}\n\nexport const createEvidenceProjection = defineProjection({\n contractName: \"create_evidence\",\n inputSchema: createEvidenceInputSchema,\n project: (input: CreateEvidenceProjectionInput) => {\n const text = input.text ?? input.canonicalText;\n const weight = typeof input.weight === \"number\" ? input.weight : undefined;\n\n return compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text,\n title: input.title ?? text,\n content: input.content ?? text,\n contentType: input.contentType,\n kind: input.kind,\n tags: input.tags,\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType,\n sourceUrl: input.sourceUrl ?? input.source,\n sourceQuestionId: input.sourceQuestionId,\n methodology: input.methodology,\n informationAsymmetry: input.informationAsymmetry,\n sourceDescription: input.sourceDescription,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n source: input.source,\n targetId: input.targetId,\n targetNodeId: input.targetNodeId,\n weight,\n reasoning: input.reasoning,\n rationale: input.rationale,\n }),\n linkedBeliefNodeId:\n input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,\n evidenceRelation:\n input.evidenceRelation ??\n (weight === undefined\n ? undefined\n : weight < 0\n ? \"contradicts\"\n : \"supports\"),\n confidence:\n input.confidence ??\n (weight === undefined\n ? undefined\n : Math.min(1, Math.max(0, Math.abs(weight)))),\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n });\n },\n convexArgsValidator: v.object({\n projectId: v.optional(v.string()),\n topicId: v.optional(v.string()),\n text: v.string(),\n title: v.optional(v.string()),\n content: v.optional(v.string()),\n contentType: v.optional(v.string()),\n kind: v.optional(v.string()),\n tags: v.optional(v.array(v.string())),\n sourceType: v.optional(v.string()),\n externalSourceType: v.optional(v.string()),\n sourceUrl: v.optional(v.string()),\n sourceQuestionId: v.optional(v.string()),\n methodology: v.optional(v.string()),\n informationAsymmetry: v.optional(v.string()),\n sourceDescription: v.optional(v.string()),\n metadata: v.optional(v.record(v.string(), v.any())),\n linkedBeliefNodeId: v.optional(v.string()),\n evidenceRelation: v.optional(\n v.union(\n v.literal(\"supports\"),\n v.literal(\"contradicts\"),\n ),\n ),\n confidence: v.optional(v.number()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst beliefStatusSchema = z\n .enum([\"active\", \"superseded\", \"archived\", \"unscored\", \"scored\"])\n .optional()\n .describe(\"Filter by belief lifecycle or scoring status\");\n\nexport const listBeliefsInputSchema = z.object({\n topicId: z.string().describe(\"Topic scope\"),\n worktreeId: z.string().optional().describe(\"Filter to worktree scope\"),\n status: beliefStatusSchema,\n minConfidence: z\n .number()\n .optional()\n .describe(\"Minimum confidence threshold\"),\n limit: z.number().optional().describe(\"Maximum results\"),\n includeEdgeAssociated: z\n .boolean()\n .optional()\n .describe(\"Include beliefs associated to the topic through edges\"),\n});\n\nexport type ListBeliefsProjectionInput = z.infer<\n typeof listBeliefsInputSchema\n>;\n\nfunction kernelStatus(status: ListBeliefsProjectionInput[\"status\"]) {\n return status === \"active\" ||\n status === \"superseded\" ||\n status === \"archived\"\n ? status\n : undefined;\n}\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listBeliefsProjection = defineProjection({\n contractName: \"list_beliefs\",\n inputSchema: listBeliefsInputSchema,\n project: (input: ListBeliefsProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: kernelStatus(input.status),\n limit: input.limit,\n includeEdgeAssociated: input.includeEdgeAssociated,\n }),\n convexArgsValidator: v.object({\n topicId: v.string(),\n status: v.optional(\n v.union(\n v.literal(\"active\"),\n v.literal(\"superseded\"),\n v.literal(\"archived\"),\n ),\n ),\n limit: v.optional(v.number()),\n includeEdgeAssociated: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst taskStatusSchema = z\n .enum([\"todo\", \"in_progress\", \"blocked\", \"done\"])\n .optional()\n .describe(\"Filter by task status\");\n\nexport const listTasksInputSchema = z\n .object({\n topicId: z.string().optional().describe(\"Topic scope\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Alias for linkedWorktreeId\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Filter to tasks linked to this worktree\"),\n status: taskStatusSchema,\n limit: z.number().optional().describe(\"Maximum results\"),\n })\n .refine(\n (input) => Boolean(input.topicId || input.worktreeId || input.linkedWorktreeId),\n {\n message: \"topicId or worktreeId is required\",\n },\n );\n\nexport type ListTasksProjectionInput = z.infer<typeof listTasksInputSchema>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listTasksProjection = defineProjection({\n contractName: \"list_tasks\",\n inputSchema: listTasksInputSchema,\n project: (input: ListTasksProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n userId: undefined,\n limit: input.limit,\n linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId,\n }),\n convexArgsValidator: v.object({\n topicId: v.optional(v.string()),\n status: v.optional(\n v.union(\n v.literal(\"todo\"),\n v.literal(\"in_progress\"),\n v.literal(\"blocked\"),\n v.literal(\"done\"),\n ),\n ),\n limit: v.optional(v.number()),\n linkedWorktreeId: v.optional(v.string()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst confidenceTriggerSchema = z.enum([\n \"evidence_added\",\n \"evidence_removed\",\n \"contradiction_resolved\",\n \"agent_assessment\",\n \"worktree_outcome\",\n \"worktree_completed\",\n \"contradiction_detected\",\n \"answer_recorded\",\n \"fusion\",\n \"discount\",\n \"deduction\",\n \"backfill_synthetic\",\n]);\n\nconst provenanceSchema = z.object({\n evidence: z.string().optional(),\n question: z.string().optional(),\n answer: z.string().optional(),\n contradiction: z.string().optional(),\n worktree: z.string().optional(),\n});\n\nconst slOpinionProjectionSchema = z.object({\n belief: z.number(),\n disbelief: z.number(),\n uncertainty: z.number(),\n baseRate: z.number(),\n});\n\nconst modulateConfidenceInputObjectSchema = z.object({\n nodeId: z.string().optional(),\n beliefNodeId: z.string().optional(),\n worktreeId: z.string().optional(),\n opinion: slOpinionProjectionSchema.optional(),\n belief: z.number().optional(),\n disbelief: z.number().optional(),\n uncertainty: z.number().optional(),\n baseRate: z.number().optional(),\n trigger: confidenceTriggerSchema,\n provenance: provenanceSchema.optional(),\n triggeringEvidenceId: z.string().optional(),\n triggeringQuestionId: z.string().optional(),\n triggeringAnswerId: z.string().optional(),\n triggeringContradictionId: z.string().optional(),\n triggeringWorktreeId: z.string().optional(),\n rationale: z.string(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nexport const modulateConfidenceInputSchema =\n modulateConfidenceInputObjectSchema.superRefine((input, ctx) => {\n if (hasProvenance(input)) {\n return;\n }\n\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n path: [\"provenance\"],\n });\n });\n\nexport type ModulateConfidenceProjectionInput = z.infer<\n typeof modulateConfidenceInputSchema\n>;\n\nexport const modulateConfidenceProjection = defineProjection({\n contractName: \"modulate_confidence\",\n inputSchema: modulateConfidenceInputSchema,\n project: (input: ModulateConfidenceProjectionInput) => {\n const nodeId = input.beliefNodeId ?? input.nodeId;\n if (!nodeId) {\n throw new Error(\"modulate_confidence requires beliefNodeId or nodeId\");\n }\n\n const opinion = input.opinion ?? {\n belief: requireNumber(input.belief, \"belief\"),\n disbelief: requireNumber(input.disbelief, \"disbelief\"),\n uncertainty: requireNumber(input.uncertainty, \"uncertainty\"),\n baseRate: requireNumber(input.baseRate, \"baseRate\"),\n };\n assertProvenance(input);\n\n return {\n nodeId,\n worktreeId: input.worktreeId,\n belief: opinion.belief,\n disbelief: opinion.disbelief,\n uncertainty: opinion.uncertainty,\n baseRate: opinion.baseRate,\n trigger:\n input.trigger === \"answer_recorded\"\n ? \"agent_assessment\"\n : input.trigger,\n triggeringEvidenceId:\n input.provenance?.evidence ?? input.triggeringEvidenceId,\n triggeringQuestionId:\n input.provenance?.question ?? input.triggeringQuestionId,\n triggeringAnswerId: input.provenance?.answer ?? input.triggeringAnswerId,\n triggeringContradictionId:\n input.provenance?.contradiction ?? input.triggeringContradictionId,\n triggeringWorktreeId:\n input.provenance?.worktree ?? input.triggeringWorktreeId,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n };\n },\n convexArgsValidator: v.object({\n nodeId: v.string(),\n worktreeId: v.optional(v.string()),\n belief: v.number(),\n disbelief: v.number(),\n uncertainty: v.number(),\n baseRate: v.number(),\n trigger: v.union(\n v.literal(\"evidence_added\"),\n v.literal(\"evidence_removed\"),\n v.literal(\"worktree_completed\"),\n v.literal(\"contradiction_detected\"),\n v.literal(\"contradiction_resolved\"),\n v.literal(\"agent_assessment\"),\n v.literal(\"worktree_outcome\"),\n v.literal(\"fusion\"),\n v.literal(\"discount\"),\n v.literal(\"deduction\"),\n v.literal(\"backfill_synthetic\"),\n ),\n triggeringEvidenceId: v.optional(v.string()),\n triggeringQuestionId: v.optional(v.string()),\n triggeringAnswerId: v.optional(v.string()),\n triggeringContradictionId: v.optional(v.string()),\n triggeringWorktreeId: v.optional(v.string()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n\nfunction requireNumber(value: number | undefined, field: string): number {\n if (value === undefined) {\n throw new Error(`modulate_confidence requires ${field}`);\n }\n return value;\n}\n\nfunction assertProvenance(input: ModulateConfidenceProjectionInput): void {\n if (!hasProvenance(input)) {\n throw new Error(\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n );\n }\n}\n\nfunction hasProvenance(input: ModulateConfidenceProjectionInput): boolean {\n return (\n input.trigger === \"backfill_synthetic\" ||\n Boolean(input.provenance && Object.values(input.provenance).some(Boolean)) ||\n Boolean(input.triggeringEvidenceId) ||\n Boolean(input.triggeringQuestionId) ||\n Boolean(input.triggeringAnswerId) ||\n Boolean(input.triggeringContradictionId) ||\n Boolean(input.triggeringWorktreeId)\n );\n}\n","import { createEvidenceProjection } from \"./create-evidence.projection.js\";\nimport { listBeliefsProjection } from \"./list-beliefs.projection.js\";\nimport { listTasksProjection } from \"./list-tasks.projection.js\";\nimport { modulateConfidenceProjection } from \"./modulate-confidence.projection.js\";\n\nexport { createEvidenceProjection } from \"./create-evidence.projection.js\";\nexport { listBeliefsProjection } from \"./list-beliefs.projection.js\";\nexport { listTasksProjection } from \"./list-tasks.projection.js\";\nexport { modulateConfidenceProjection } from \"./modulate-confidence.projection.js\";\nexport * from \"./projection-dsl.js\";\n\nexport const projections = {\n create_evidence: createEvidenceProjection,\n list_beliefs: listBeliefsProjection,\n list_tasks: listTasksProjection,\n modulate_confidence: modulateConfidenceProjection,\n} as const;\n\nexport type ProjectionRegistry = typeof projections;\n"]}
@@ -1,36 +0,0 @@
1
- import { ProjectionDef } from './projection-dsl.js';
2
- import { z } from 'zod';
3
-
4
- declare const listBeliefsInputSchema: z.ZodObject<{
5
- topicId: z.ZodString;
6
- worktreeId: z.ZodOptional<z.ZodString>;
7
- status: z.ZodOptional<z.ZodEnum<["active", "superseded", "archived", "unscored", "scored"]>>;
8
- minConfidence: z.ZodOptional<z.ZodNumber>;
9
- limit: z.ZodOptional<z.ZodNumber>;
10
- includeEdgeAssociated: z.ZodOptional<z.ZodBoolean>;
11
- }, "strip", z.ZodTypeAny, {
12
- topicId: string;
13
- status?: "active" | "archived" | "unscored" | "scored" | "superseded" | undefined;
14
- worktreeId?: string | undefined;
15
- limit?: number | undefined;
16
- minConfidence?: number | undefined;
17
- includeEdgeAssociated?: boolean | undefined;
18
- }, {
19
- topicId: string;
20
- status?: "active" | "archived" | "unscored" | "scored" | "superseded" | undefined;
21
- worktreeId?: string | undefined;
22
- limit?: number | undefined;
23
- minConfidence?: number | undefined;
24
- includeEdgeAssociated?: boolean | undefined;
25
- }>;
26
- type ListBeliefsProjectionInput = z.infer<typeof listBeliefsInputSchema>;
27
- declare const listBeliefsProjection: ProjectionDef<{
28
- topicId: string;
29
- status?: "active" | "archived" | "unscored" | "scored" | "superseded" | undefined;
30
- worktreeId?: string | undefined;
31
- limit?: number | undefined;
32
- minConfidence?: number | undefined;
33
- includeEdgeAssociated?: boolean | undefined;
34
- }, Record<string, unknown>>;
35
-
36
- export { type ListBeliefsProjectionInput, listBeliefsInputSchema, listBeliefsProjection };
@@ -1,54 +0,0 @@
1
- import { v } from 'convex/values';
2
- import { z } from 'zod';
3
-
4
- // src/projections/list-beliefs.projection.ts
5
-
6
- // src/projections/projection-dsl.ts
7
- function defineProjection(def) {
8
- return def;
9
- }
10
-
11
- // src/projections/list-beliefs.projection.ts
12
- var beliefStatusSchema = z.enum(["active", "superseded", "archived", "unscored", "scored"]).optional().describe("Filter by belief lifecycle or scoring status");
13
- var listBeliefsInputSchema = z.object({
14
- topicId: z.string().describe("Topic scope"),
15
- worktreeId: z.string().optional().describe("Filter to worktree scope"),
16
- status: beliefStatusSchema,
17
- minConfidence: z.number().optional().describe("Minimum confidence threshold"),
18
- limit: z.number().optional().describe("Maximum results"),
19
- includeEdgeAssociated: z.boolean().optional().describe("Include beliefs associated to the topic through edges")
20
- });
21
- function kernelStatus(status) {
22
- return status === "active" || status === "superseded" || status === "archived" ? status : void 0;
23
- }
24
- function compactRecord(input) {
25
- return Object.fromEntries(
26
- Object.entries(input).filter(([, value]) => value !== void 0)
27
- );
28
- }
29
- var listBeliefsProjection = defineProjection({
30
- contractName: "list_beliefs",
31
- inputSchema: listBeliefsInputSchema,
32
- project: (input) => compactRecord({
33
- topicId: input.topicId,
34
- status: kernelStatus(input.status),
35
- limit: input.limit,
36
- includeEdgeAssociated: input.includeEdgeAssociated
37
- }),
38
- convexArgsValidator: v.object({
39
- topicId: v.string(),
40
- status: v.optional(
41
- v.union(
42
- v.literal("active"),
43
- v.literal("superseded"),
44
- v.literal("archived")
45
- )
46
- ),
47
- limit: v.optional(v.number()),
48
- includeEdgeAssociated: v.optional(v.boolean())
49
- })
50
- });
51
-
52
- export { listBeliefsInputSchema, listBeliefsProjection };
53
- //# sourceMappingURL=list-beliefs.projection.js.map
54
- //# sourceMappingURL=list-beliefs.projection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/projections/projection-dsl.ts","../../src/projections/list-beliefs.projection.ts"],"names":[],"mappings":";;;;;;AASO,SAAS,iBACd,GAAA,EACqB;AACrB,EAAA,OAAO,GAAA;AACT;;;ACTA,IAAM,kBAAA,GAAqB,CAAA,CACxB,IAAA,CAAK,CAAC,UAAU,YAAA,EAAc,UAAA,EAAY,UAAA,EAAY,QAAQ,CAAC,CAAA,CAC/D,QAAA,EAAS,CACT,SAAS,8CAA8C,CAAA;AAEnD,IAAM,sBAAA,GAAyB,EAAE,MAAA,CAAO;AAAA,EAC7C,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,aAAa,CAAA;AAAA,EAC1C,YAAY,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACrE,MAAA,EAAQ,kBAAA;AAAA,EACR,eAAe,CAAA,CACZ,MAAA,GACA,QAAA,EAAS,CACT,SAAS,8BAA8B,CAAA;AAAA,EAC1C,OAAO,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB,CAAA;AAAA,EACvD,uBAAuB,CAAA,CACpB,OAAA,GACA,QAAA,EAAS,CACT,SAAS,uDAAuD;AACrE,CAAC;AAMD,SAAS,aAAa,MAAA,EAA8C;AAClE,EAAA,OAAO,WAAW,QAAA,IAChB,MAAA,KAAW,YAAA,IACX,MAAA,KAAW,aACT,MAAA,GACA,MAAA;AACN;AAEA,SAAS,cACP,KAAA,EACyB;AACzB,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACZ,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,CAAO,CAAC,GAAG,KAAK,CAAA,KAAM,KAAA,KAAU,MAAS;AAAA,GACjE;AACF;AAEO,IAAM,wBAAwB,gBAAA,CAAiB;AAAA,EACpD,YAAA,EAAc,cAAA;AAAA,EACd,WAAA,EAAa,sBAAA;AAAA,EACb,OAAA,EAAS,CAAC,KAAA,KACR,aAAA,CAAc;AAAA,IACZ,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,MAAA,EAAQ,YAAA,CAAa,KAAA,CAAM,MAAM,CAAA;AAAA,IACjC,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,uBAAuB,KAAA,CAAM;AAAA,GAC9B,CAAA;AAAA,EACH,mBAAA,EAAqB,EAAE,MAAA,CAAO;AAAA,IAC5B,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,IAClB,QAAQ,CAAA,CAAE,QAAA;AAAA,MACR,CAAA,CAAE,KAAA;AAAA,QACA,CAAA,CAAE,QAAQ,QAAQ,CAAA;AAAA,QAClB,CAAA,CAAE,QAAQ,YAAY,CAAA;AAAA,QACtB,CAAA,CAAE,QAAQ,UAAU;AAAA;AACtB,KACF;AAAA,IACA,KAAA,EAAO,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,QAAQ,CAAA;AAAA,IAC5B,qBAAA,EAAuB,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,SAAS;AAAA,GAC9C;AACH,CAAC","file":"list-beliefs.projection.js","sourcesContent":["import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst beliefStatusSchema = z\n .enum([\"active\", \"superseded\", \"archived\", \"unscored\", \"scored\"])\n .optional()\n .describe(\"Filter by belief lifecycle or scoring status\");\n\nexport const listBeliefsInputSchema = z.object({\n topicId: z.string().describe(\"Topic scope\"),\n worktreeId: z.string().optional().describe(\"Filter to worktree scope\"),\n status: beliefStatusSchema,\n minConfidence: z\n .number()\n .optional()\n .describe(\"Minimum confidence threshold\"),\n limit: z.number().optional().describe(\"Maximum results\"),\n includeEdgeAssociated: z\n .boolean()\n .optional()\n .describe(\"Include beliefs associated to the topic through edges\"),\n});\n\nexport type ListBeliefsProjectionInput = z.infer<\n typeof listBeliefsInputSchema\n>;\n\nfunction kernelStatus(status: ListBeliefsProjectionInput[\"status\"]) {\n return status === \"active\" ||\n status === \"superseded\" ||\n status === \"archived\"\n ? status\n : undefined;\n}\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listBeliefsProjection = defineProjection({\n contractName: \"list_beliefs\",\n inputSchema: listBeliefsInputSchema,\n project: (input: ListBeliefsProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: kernelStatus(input.status),\n limit: input.limit,\n includeEdgeAssociated: input.includeEdgeAssociated,\n }),\n convexArgsValidator: v.object({\n topicId: v.string(),\n status: v.optional(\n v.union(\n v.literal(\"active\"),\n v.literal(\"superseded\"),\n v.literal(\"archived\"),\n ),\n ),\n limit: v.optional(v.number()),\n includeEdgeAssociated: v.optional(v.boolean()),\n }),\n});\n"]}
@@ -1,44 +0,0 @@
1
- import { ProjectionDef } from './projection-dsl.js';
2
- import { z } from 'zod';
3
-
4
- declare const listTasksInputSchema: z.ZodEffects<z.ZodObject<{
5
- topicId: z.ZodOptional<z.ZodString>;
6
- worktreeId: z.ZodOptional<z.ZodString>;
7
- linkedWorktreeId: z.ZodOptional<z.ZodString>;
8
- status: z.ZodOptional<z.ZodEnum<["todo", "in_progress", "blocked", "done"]>>;
9
- limit: z.ZodOptional<z.ZodNumber>;
10
- }, "strip", z.ZodTypeAny, {
11
- status?: "blocked" | "todo" | "in_progress" | "done" | undefined;
12
- topicId?: string | undefined;
13
- worktreeId?: string | undefined;
14
- limit?: number | undefined;
15
- linkedWorktreeId?: string | undefined;
16
- }, {
17
- status?: "blocked" | "todo" | "in_progress" | "done" | undefined;
18
- topicId?: string | undefined;
19
- worktreeId?: string | undefined;
20
- limit?: number | undefined;
21
- linkedWorktreeId?: string | undefined;
22
- }>, {
23
- status?: "blocked" | "todo" | "in_progress" | "done" | undefined;
24
- topicId?: string | undefined;
25
- worktreeId?: string | undefined;
26
- limit?: number | undefined;
27
- linkedWorktreeId?: string | undefined;
28
- }, {
29
- status?: "blocked" | "todo" | "in_progress" | "done" | undefined;
30
- topicId?: string | undefined;
31
- worktreeId?: string | undefined;
32
- limit?: number | undefined;
33
- linkedWorktreeId?: string | undefined;
34
- }>;
35
- type ListTasksProjectionInput = z.infer<typeof listTasksInputSchema>;
36
- declare const listTasksProjection: ProjectionDef<{
37
- status?: "blocked" | "todo" | "in_progress" | "done" | undefined;
38
- topicId?: string | undefined;
39
- worktreeId?: string | undefined;
40
- limit?: number | undefined;
41
- linkedWorktreeId?: string | undefined;
42
- }, Record<string, unknown>>;
43
-
44
- export { type ListTasksProjectionInput, listTasksInputSchema, listTasksProjection };
@@ -1,57 +0,0 @@
1
- import { v } from 'convex/values';
2
- import { z } from 'zod';
3
-
4
- // src/projections/list-tasks.projection.ts
5
-
6
- // src/projections/projection-dsl.ts
7
- function defineProjection(def) {
8
- return def;
9
- }
10
-
11
- // src/projections/list-tasks.projection.ts
12
- var taskStatusSchema = z.enum(["todo", "in_progress", "blocked", "done"]).optional().describe("Filter by task status");
13
- var listTasksInputSchema = z.object({
14
- topicId: z.string().optional().describe("Topic scope"),
15
- worktreeId: z.string().optional().describe("Alias for linkedWorktreeId"),
16
- linkedWorktreeId: z.string().optional().describe("Filter to tasks linked to this worktree"),
17
- status: taskStatusSchema,
18
- limit: z.number().optional().describe("Maximum results")
19
- }).refine(
20
- (input) => Boolean(input.topicId || input.worktreeId || input.linkedWorktreeId),
21
- {
22
- message: "topicId or worktreeId is required"
23
- }
24
- );
25
- function compactRecord(input) {
26
- return Object.fromEntries(
27
- Object.entries(input).filter(([, value]) => value !== void 0)
28
- );
29
- }
30
- var listTasksProjection = defineProjection({
31
- contractName: "list_tasks",
32
- inputSchema: listTasksInputSchema,
33
- project: (input) => compactRecord({
34
- topicId: input.topicId,
35
- status: input.status,
36
- userId: void 0,
37
- limit: input.limit,
38
- linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId
39
- }),
40
- convexArgsValidator: v.object({
41
- topicId: v.optional(v.string()),
42
- status: v.optional(
43
- v.union(
44
- v.literal("todo"),
45
- v.literal("in_progress"),
46
- v.literal("blocked"),
47
- v.literal("done")
48
- )
49
- ),
50
- limit: v.optional(v.number()),
51
- linkedWorktreeId: v.optional(v.string())
52
- })
53
- });
54
-
55
- export { listTasksInputSchema, listTasksProjection };
56
- //# sourceMappingURL=list-tasks.projection.js.map
57
- //# sourceMappingURL=list-tasks.projection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/projections/projection-dsl.ts","../../src/projections/list-tasks.projection.ts"],"names":[],"mappings":";;;;;;AASO,SAAS,iBACd,GAAA,EACqB;AACrB,EAAA,OAAO,GAAA;AACT;;;ACTA,IAAM,gBAAA,GAAmB,CAAA,CACtB,IAAA,CAAK,CAAC,MAAA,EAAQ,aAAA,EAAe,SAAA,EAAW,MAAM,CAAC,CAAA,CAC/C,QAAA,EAAS,CACT,SAAS,uBAAuB,CAAA;AAE5B,IAAM,oBAAA,GAAuB,EACjC,MAAA,CAAO;AAAA,EACN,SAAS,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,aAAa,CAAA;AAAA,EACrD,YAAY,CAAA,CACT,MAAA,GACA,QAAA,EAAS,CACT,SAAS,4BAA4B,CAAA;AAAA,EACxC,kBAAkB,CAAA,CACf,MAAA,GACA,QAAA,EAAS,CACT,SAAS,yCAAyC,CAAA;AAAA,EACrD,MAAA,EAAQ,gBAAA;AAAA,EACR,OAAO,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iBAAiB;AACzD,CAAC,CAAA,CACA,MAAA;AAAA,EACC,CAAC,UAAU,OAAA,CAAQ,KAAA,CAAM,WAAW,KAAA,CAAM,UAAA,IAAc,MAAM,gBAAgB,CAAA;AAAA,EAC9E;AAAA,IACE,OAAA,EAAS;AAAA;AAEb;AAIF,SAAS,cACP,KAAA,EACyB;AACzB,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACZ,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,CAAO,CAAC,GAAG,KAAK,CAAA,KAAM,KAAA,KAAU,MAAS;AAAA,GACjE;AACF;AAEO,IAAM,sBAAsB,gBAAA,CAAiB;AAAA,EAClD,YAAA,EAAc,YAAA;AAAA,EACd,WAAA,EAAa,oBAAA;AAAA,EACb,OAAA,EAAS,CAAC,KAAA,KACR,aAAA,CAAc;AAAA,IACZ,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,QAAQ,KAAA,CAAM,MAAA;AAAA,IACd,MAAA,EAAQ,MAAA;AAAA,IACR,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,gBAAA,EAAkB,KAAA,CAAM,gBAAA,IAAoB,KAAA,CAAM;AAAA,GACnD,CAAA;AAAA,EACH,mBAAA,EAAqB,EAAE,MAAA,CAAO;AAAA,IAC5B,OAAA,EAAS,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,QAAQ,CAAA;AAAA,IAC9B,QAAQ,CAAA,CAAE,QAAA;AAAA,MACR,CAAA,CAAE,KAAA;AAAA,QACA,CAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,QAChB,CAAA,CAAE,QAAQ,aAAa,CAAA;AAAA,QACvB,CAAA,CAAE,QAAQ,SAAS,CAAA;AAAA,QACnB,CAAA,CAAE,QAAQ,MAAM;AAAA;AAClB,KACF;AAAA,IACA,KAAA,EAAO,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,QAAQ,CAAA;AAAA,IAC5B,gBAAA,EAAkB,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,QAAQ;AAAA,GACxC;AACH,CAAC","file":"list-tasks.projection.js","sourcesContent":["import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst taskStatusSchema = z\n .enum([\"todo\", \"in_progress\", \"blocked\", \"done\"])\n .optional()\n .describe(\"Filter by task status\");\n\nexport const listTasksInputSchema = z\n .object({\n topicId: z.string().optional().describe(\"Topic scope\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Alias for linkedWorktreeId\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Filter to tasks linked to this worktree\"),\n status: taskStatusSchema,\n limit: z.number().optional().describe(\"Maximum results\"),\n })\n .refine(\n (input) => Boolean(input.topicId || input.worktreeId || input.linkedWorktreeId),\n {\n message: \"topicId or worktreeId is required\",\n },\n );\n\nexport type ListTasksProjectionInput = z.infer<typeof listTasksInputSchema>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport const listTasksProjection = defineProjection({\n contractName: \"list_tasks\",\n inputSchema: listTasksInputSchema,\n project: (input: ListTasksProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n userId: undefined,\n limit: input.limit,\n linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId,\n }),\n convexArgsValidator: v.object({\n topicId: v.optional(v.string()),\n status: v.optional(\n v.union(\n v.literal(\"todo\"),\n v.literal(\"in_progress\"),\n v.literal(\"blocked\"),\n v.literal(\"done\"),\n ),\n ),\n limit: v.optional(v.number()),\n linkedWorktreeId: v.optional(v.string()),\n }),\n});\n"]}