@lucern/contracts 0.1.2-alpha.5 → 0.3.0-alpha.1

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 (223) hide show
  1. package/dist/defineFunction-DO97DKs4.d.ts +14 -0
  2. package/dist/defineTable-CBQ03FXl.d.ts +36 -0
  3. package/dist/dsl-BgpoVOVQ.d.ts +110 -0
  4. package/dist/dsl.d.ts +5 -0
  5. package/dist/dsl.js +678 -0
  6. package/dist/dsl.js.map +1 -0
  7. package/dist/function-registry/beliefs.d.ts +479 -0
  8. package/dist/function-registry/beliefs.js +4677 -0
  9. package/dist/function-registry/beliefs.js.map +1 -0
  10. package/dist/function-registry/coding.d.ts +323 -0
  11. package/dist/function-registry/coding.js +4451 -0
  12. package/dist/function-registry/coding.js.map +1 -0
  13. package/dist/function-registry/context.d.ts +206 -0
  14. package/dist/function-registry/context.js +4336 -0
  15. package/dist/function-registry/context.js.map +1 -0
  16. package/dist/function-registry/contracts.d.ts +206 -0
  17. package/dist/function-registry/contracts.js +4284 -0
  18. package/dist/function-registry/contracts.js.map +1 -0
  19. package/dist/function-registry/coordination.d.ts +440 -0
  20. package/dist/function-registry/coordination.js +4405 -0
  21. package/dist/function-registry/coordination.js.map +1 -0
  22. package/dist/function-registry/edges.d.ts +167 -0
  23. package/dist/function-registry/edges.js +4425 -0
  24. package/dist/function-registry/edges.js.map +1 -0
  25. package/dist/function-registry/evidence.d.ts +401 -0
  26. package/dist/function-registry/evidence.js +4598 -0
  27. package/dist/function-registry/evidence.js.map +1 -0
  28. package/dist/function-registry/graph.d.ts +596 -0
  29. package/dist/function-registry/graph.js +4489 -0
  30. package/dist/function-registry/graph.js.map +1 -0
  31. package/dist/function-registry/helpers.d.ts +84 -0
  32. package/dist/function-registry/helpers.js +4280 -0
  33. package/dist/function-registry/helpers.js.map +1 -0
  34. package/dist/function-registry/identity.d.ts +206 -0
  35. package/dist/function-registry/identity.js +4295 -0
  36. package/dist/function-registry/identity.js.map +1 -0
  37. package/dist/function-registry/index.d.ts +32 -0
  38. package/dist/function-registry/index.js +4384 -0
  39. package/dist/function-registry/index.js.map +1 -0
  40. package/dist/function-registry/judgments.d.ts +167 -0
  41. package/dist/function-registry/judgments.js +4308 -0
  42. package/dist/function-registry/judgments.js.map +1 -0
  43. package/dist/function-registry/legacy.d.ts +128 -0
  44. package/dist/function-registry/legacy.js +4259 -0
  45. package/dist/function-registry/legacy.js.map +1 -0
  46. package/dist/function-registry/lenses.d.ts +245 -0
  47. package/dist/function-registry/lenses.js +4343 -0
  48. package/dist/function-registry/lenses.js.map +1 -0
  49. package/dist/function-registry/manifest.d.ts +36 -0
  50. package/dist/function-registry/manifest.js +367 -0
  51. package/dist/function-registry/manifest.js.map +1 -0
  52. package/dist/function-registry/ontologies.d.ts +518 -0
  53. package/dist/function-registry/ontologies.js +4442 -0
  54. package/dist/function-registry/ontologies.js.map +1 -0
  55. package/dist/function-registry/pipeline.d.ts +206 -0
  56. package/dist/function-registry/pipeline.js +4295 -0
  57. package/dist/function-registry/pipeline.js.map +1 -0
  58. package/dist/function-registry/questions.d.ts +557 -0
  59. package/dist/function-registry/questions.js +4528 -0
  60. package/dist/function-registry/questions.js.map +1 -0
  61. package/dist/function-registry/tasks.d.ts +245 -0
  62. package/dist/function-registry/tasks.js +4373 -0
  63. package/dist/function-registry/tasks.js.map +1 -0
  64. package/dist/function-registry/topics.d.ts +284 -0
  65. package/dist/function-registry/topics.js +4350 -0
  66. package/dist/function-registry/topics.js.map +1 -0
  67. package/dist/function-registry/types.d.ts +84 -0
  68. package/dist/function-registry/types.js +3 -0
  69. package/dist/function-registry/types.js.map +1 -0
  70. package/dist/function-registry/worktrees.d.ts +479 -0
  71. package/dist/function-registry/worktrees.js +4522 -0
  72. package/dist/function-registry/worktrees.js.map +1 -0
  73. package/dist/generated/convexSchemas.d.ts +20 -0
  74. package/dist/generated/convexSchemas.js +161 -0
  75. package/dist/generated/convexSchemas.js.map +1 -0
  76. package/dist/generated/schema-manifest.json +5231 -0
  77. package/dist/generated/tableOwnership.d.ts +128 -0
  78. package/dist/generated/tableOwnership.js +278 -0
  79. package/dist/generated/tableOwnership.js.map +1 -0
  80. package/dist/generated/tier-expectations.json +363 -0
  81. package/dist/idOf-DR8tkhQS.d.ts +10 -0
  82. package/dist/index-CV-0_VWJ.d.ts +25 -0
  83. package/dist/index.d.ts +421 -2
  84. package/dist/index.js +7634 -1607
  85. package/dist/index.js.map +1 -1
  86. package/dist/schema-helpers/enumValidation.d.ts +17 -0
  87. package/dist/schema-helpers/enumValidation.js +143 -0
  88. package/dist/schema-helpers/enumValidation.js.map +1 -0
  89. package/dist/schema-helpers/spine/nodes/decision.d.ts +19 -0
  90. package/dist/schema-helpers/spine/nodes/decision.js +81 -0
  91. package/dist/schema-helpers/spine/nodes/decision.js.map +1 -0
  92. package/dist/schema-helpers/spine/tables/epistemicNodes.d.ts +9 -0
  93. package/dist/schema-helpers/spine/tables/epistemicNodes.js +62 -0
  94. package/dist/schema-helpers/spine/tables/epistemicNodes.js.map +1 -0
  95. package/dist/schema-helpers/topicIds.d.ts +17 -0
  96. package/dist/schema-helpers/topicIds.js +21 -0
  97. package/dist/schema-helpers/topicIds.js.map +1 -0
  98. package/dist/schema-helpers/topicLegacyScope.d.ts +19 -0
  99. package/dist/schema-helpers/topicLegacyScope.js +44 -0
  100. package/dist/schema-helpers/topicLegacyScope.js.map +1 -0
  101. package/dist/schema-helpers/validators.d.ts +8 -0
  102. package/dist/schema-helpers/validators.js +18 -0
  103. package/dist/schema-helpers/validators.js.map +1 -0
  104. package/dist/schemas/component-table-manifest.d.ts +74 -0
  105. package/dist/schemas/component-table-manifest.js +26 -0
  106. package/dist/schemas/component-table-manifest.js.map +1 -0
  107. package/dist/schemas/enums.d.ts +12 -0
  108. package/dist/schemas/enums.js +11 -0
  109. package/dist/schemas/enums.js.map +1 -0
  110. package/dist/schemas/index.d.ts +7 -0
  111. package/dist/schemas/index.js +4298 -0
  112. package/dist/schemas/index.js.map +1 -0
  113. package/dist/schemas/manifest.d.ts +24586 -0
  114. package/dist/schemas/manifest.js +4269 -0
  115. package/dist/schemas/manifest.js.map +1 -0
  116. package/dist/schemas/sl-opinion.d.ts +31 -0
  117. package/dist/schemas/sl-opinion.js +19 -0
  118. package/dist/schemas/sl-opinion.js.map +1 -0
  119. package/dist/schemas/tables/identity/agent.d.ts +21 -0
  120. package/dist/schemas/tables/identity/agent.js +41 -0
  121. package/dist/schemas/tables/identity/agent.js.map +1 -0
  122. package/dist/schemas/tables/identity/epistemic.d.ts +18 -0
  123. package/dist/schemas/tables/identity/epistemic.js +38 -0
  124. package/dist/schemas/tables/identity/epistemic.js.map +1 -0
  125. package/dist/schemas/tables/identity/model.d.ts +62 -0
  126. package/dist/schemas/tables/identity/model.js +110 -0
  127. package/dist/schemas/tables/identity/model.js.map +1 -0
  128. package/dist/schemas/tables/identity/platform.d.ts +392 -0
  129. package/dist/schemas/tables/identity/platform.js +475 -0
  130. package/dist/schemas/tables/identity/platform.js.map +1 -0
  131. package/dist/schemas/tables/identity/project.d.ts +22 -0
  132. package/dist/schemas/tables/identity/project.js +48 -0
  133. package/dist/schemas/tables/identity/project.js.map +1 -0
  134. package/dist/schemas/tables/identity/user.d.ts +26 -0
  135. package/dist/schemas/tables/identity/user.js +47 -0
  136. package/dist/schemas/tables/identity/user.js.map +1 -0
  137. package/dist/schemas/tables/kernel/config.d.ts +20 -0
  138. package/dist/schemas/tables/kernel/config.js +39 -0
  139. package/dist/schemas/tables/kernel/config.js.map +1 -0
  140. package/dist/schemas/tables/kernel/coordination.d.ts +30 -0
  141. package/dist/schemas/tables/kernel/coordination.js +57 -0
  142. package/dist/schemas/tables/kernel/coordination.js.map +1 -0
  143. package/dist/schemas/tables/kernel/decision.d.ts +246 -0
  144. package/dist/schemas/tables/kernel/decision.js +371 -0
  145. package/dist/schemas/tables/kernel/decision.js.map +1 -0
  146. package/dist/schemas/tables/kernel/embedding.d.ts +18 -0
  147. package/dist/schemas/tables/kernel/embedding.js +48 -0
  148. package/dist/schemas/tables/kernel/embedding.js.map +1 -0
  149. package/dist/schemas/tables/kernel/epistemic.d.ts +317 -0
  150. package/dist/schemas/tables/kernel/epistemic.js +329 -0
  151. package/dist/schemas/tables/kernel/epistemic.js.map +1 -0
  152. package/dist/schemas/tables/kernel/idempotency.d.ts +13 -0
  153. package/dist/schemas/tables/kernel/idempotency.js +31 -0
  154. package/dist/schemas/tables/kernel/idempotency.js.map +1 -0
  155. package/dist/schemas/tables/kernel/infra.d.ts +183 -0
  156. package/dist/schemas/tables/kernel/infra.js +182 -0
  157. package/dist/schemas/tables/kernel/infra.js.map +1 -0
  158. package/dist/schemas/tables/kernel/intelligence.d.ts +293 -0
  159. package/dist/schemas/tables/kernel/intelligence.js +207 -0
  160. package/dist/schemas/tables/kernel/intelligence.js.map +1 -0
  161. package/dist/schemas/tables/kernel/lens.d.ts +192 -0
  162. package/dist/schemas/tables/kernel/lens.js +122 -0
  163. package/dist/schemas/tables/kernel/lens.js.map +1 -0
  164. package/dist/schemas/tables/kernel/ontology.d.ts +89 -0
  165. package/dist/schemas/tables/kernel/ontology.js +91 -0
  166. package/dist/schemas/tables/kernel/ontology.js.map +1 -0
  167. package/dist/schemas/tables/kernel/platform.d.ts +353 -0
  168. package/dist/schemas/tables/kernel/platform.js +349 -0
  169. package/dist/schemas/tables/kernel/platform.js.map +1 -0
  170. package/dist/schemas/tables/kernel/spine.d.ts +206 -0
  171. package/dist/schemas/tables/kernel/spine.js +243 -0
  172. package/dist/schemas/tables/kernel/spine.js.map +1 -0
  173. package/dist/schemas/tables/kernel/task.d.ts +614 -0
  174. package/dist/schemas/tables/kernel/task.js +189 -0
  175. package/dist/schemas/tables/kernel/task.js.map +1 -0
  176. package/dist/schemas/tables/kernel/topic.d.ts +25 -0
  177. package/dist/schemas/tables/kernel/topic.js +62 -0
  178. package/dist/schemas/tables/kernel/topic.js.map +1 -0
  179. package/dist/schemas/tables/kernel/workflow.d.ts +45 -0
  180. package/dist/schemas/tables/kernel/workflow.js +94 -0
  181. package/dist/schemas/tables/kernel/workflow.js.map +1 -0
  182. package/dist/schemas/tables/kernel/worktree.d.ts +823 -0
  183. package/dist/schemas/tables/kernel/worktree.js +330 -0
  184. package/dist/schemas/tables/kernel/worktree.js.map +1 -0
  185. package/dist/schemas/tables/mc/identity.d.ts +134 -0
  186. package/dist/schemas/tables/mc/identity.js +221 -0
  187. package/dist/schemas/tables/mc/identity.js.map +1 -0
  188. package/dist/schemas/tables/mc/methodology.d.ts +46 -0
  189. package/dist/schemas/tables/mc/methodology.js +69 -0
  190. package/dist/schemas/tables/mc/methodology.js.map +1 -0
  191. package/dist/schemas/tables/mc/pack.d.ts +540 -0
  192. package/dist/schemas/tables/mc/pack.js +294 -0
  193. package/dist/schemas/tables/mc/pack.js.map +1 -0
  194. package/dist/schemas/tables/mc/policy.d.ts +57 -0
  195. package/dist/schemas/tables/mc/policy.js +121 -0
  196. package/dist/schemas/tables/mc/policy.js.map +1 -0
  197. package/dist/schemas/tables/mc/registry.d.ts +155 -0
  198. package/dist/schemas/tables/mc/registry.js +164 -0
  199. package/dist/schemas/tables/mc/registry.js.map +1 -0
  200. package/dist/schemas/tables/mc/runtime.d.ts +119 -0
  201. package/dist/schemas/tables/mc/runtime.js +199 -0
  202. package/dist/schemas/tables/mc/runtime.js.map +1 -0
  203. package/dist/schemas/tables/mc/tenant.d.ts +106 -0
  204. package/dist/schemas/tables/mc/tenant.js +114 -0
  205. package/dist/schemas/tables/mc/tenant.js.map +1 -0
  206. package/dist/schemas/tables/mc/workspace.d.ts +28 -0
  207. package/dist/schemas/tables/mc/workspace.js +52 -0
  208. package/dist/schemas/tables/mc/workspace.js.map +1 -0
  209. package/dist/sdk-methods.contract.d.ts +5 -2
  210. package/dist/{sdk-tools.contract-BnV0hKLp.d.ts → sdk-tools.contract-S4ia0TTo.d.ts} +3 -7
  211. package/dist/sdk-tools.contract.d.ts +2 -2
  212. package/dist/sdk-tools.contract.js +810 -218
  213. package/dist/sdk-tools.contract.js.map +1 -1
  214. package/dist/tool-contracts-C92-9ueT.d.ts +290 -0
  215. package/dist/tool-contracts.d.ts +1 -0
  216. package/dist/{mcp-tools.contract.js → tool-contracts.js} +812 -159
  217. package/dist/tool-contracts.js.map +1 -0
  218. package/dist/workflow-runtime.contract.js +1 -1
  219. package/dist/workflow-runtime.contract.js.map +1 -1
  220. package/package.json +137 -2
  221. package/dist/mcp-tools.contract-D8kXcP6d.d.ts +0 -254
  222. package/dist/mcp-tools.contract.d.ts +0 -1
  223. package/dist/mcp-tools.contract.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ import * as zod from 'zod';
2
+
3
+ /**
4
+ * MCP Tool Contract Definitions
5
+ *
6
+ * Machine-readable source of truth for all Lucern MCP tool names,
7
+ * descriptions, parameters, and response schemas.
8
+ *
9
+ * CONTRACT SURFACE: These definitions are the external API for AI agents.
10
+ * Renaming a tool or changing its description is a BREAKING CHANGE.
11
+ *
12
+ * Git-native naming rules (enforced by lint):
13
+ * 1. Workflow tools use git verbs directly (add_worktree, merge, push, open_pull_request)
14
+ * 2. Knowledge tools use epistemic verbs (create_belief, fork_belief, modulate_confidence)
15
+ * 3. First sentence of description includes the git analog verb
16
+ * 4. Description includes "Like `git X`" parenthetical
17
+ * 5. Parameter names use domain terms (canonicalText, nodeId, baseRate)
18
+ */
19
+ type McpToolContract = {
20
+ /** Stable tool name — breaking change to rename */
21
+ name: string;
22
+ /** Git-semantic description — breaking change to remove git references */
23
+ description: string;
24
+ /** Parameter schema (JSON Schema subset) */
25
+ parameters: Record<string, McpParameterDef>;
26
+ /** Required parameter names */
27
+ required: string[];
28
+ /** Response shape description */
29
+ response: McpResponseDef;
30
+ /** Which Lucern module owns the implementation */
31
+ ownerModule: string;
32
+ /** Ontology primitive this tool operates on */
33
+ ontologyPrimitive: "belief" | "evidence" | "source" | "question" | "judgment" | "worktree" | "branch" | "lens" | "edge" | "graph" | "task" | "policy" | "ontology" | "identity";
34
+ /** MCP surface tier — showcase (front page, every demo) or workhorse (complete CRUD, discovered when building) */
35
+ tier: "showcase" | "workhorse";
36
+ /** Hide this tool from public discovery surfaces. */
37
+ internal?: boolean;
38
+ /** Deprecation notice shown in contract-driven docs and discovery. */
39
+ deprecated?: string;
40
+ };
41
+ type McpParameterDef = {
42
+ type: "string" | "number" | "boolean" | "array" | "object";
43
+ description: string;
44
+ required?: boolean;
45
+ enum?: string[];
46
+ };
47
+ type McpResponseDef = {
48
+ description: string;
49
+ fields: Record<string, string>;
50
+ };
51
+
52
+ type FunctionEffect = "read" | "write" | "admin";
53
+
54
+ type FunctionKind = "query" | "mutation" | "action";
55
+ type FunctionIdempotency = boolean | "required";
56
+ type FunctionSurfaceIntent = "mcp_core" | "mcp_analysis" | "mcp_workflow" | "mcp_governance" | "system" | "compatibility" | "sdk_granular";
57
+ type SurfaceClass = "platform_public" | "tenant_public" | "platform_internal" | "legacy_compat" | "application_tool" | "external_connector";
58
+ type SurfaceExposure = "public" | "internal" | "none";
59
+ type FunctionSurfaceMap = {
60
+ sdk: SurfaceExposure;
61
+ rest: SurfaceExposure;
62
+ mcp: SurfaceExposure;
63
+ cli: SurfaceExposure;
64
+ };
65
+ type ContractProjectionContext = {
66
+ tenantId?: string;
67
+ workspaceId?: string;
68
+ userId?: string;
69
+ principalId?: string;
70
+ correlationId?: string;
71
+ policyTraceId?: string;
72
+ idempotencyKey?: string;
73
+ };
74
+ type ContractInputProjection = (input: Record<string, unknown>, context: ContractProjectionContext) => Record<string, unknown>;
75
+ type ContractOutputProjection = (output: unknown, input: Record<string, unknown>, context: ContractProjectionContext) => unknown;
76
+ type FunctionConvexTarget = {
77
+ module: string;
78
+ functionName: string;
79
+ kind: FunctionKind;
80
+ injectSessionId?: "sessionId" | "fromSessionId";
81
+ injectSessionContext?: boolean;
82
+ broadcastToAll?: boolean;
83
+ inputProjection?: ContractInputProjection;
84
+ outputProjection?: ContractOutputProjection;
85
+ };
86
+
87
+ declare const pipelineContracts: readonly [{
88
+ name: string;
89
+ kind: FunctionKind;
90
+ idempotent: FunctionIdempotency;
91
+ effects: readonly FunctionEffect[];
92
+ invariants: readonly string[] | undefined;
93
+ surfaceIntent: FunctionSurfaceIntent;
94
+ domain: string;
95
+ surfaceClass: SurfaceClass;
96
+ surfaces: FunctionSurfaceMap;
97
+ replacedBy: string | undefined;
98
+ rest: {
99
+ method: "GET" | "POST" | "PATCH" | "DELETE";
100
+ path: string;
101
+ };
102
+ sdk: {
103
+ namespace: string;
104
+ method: string;
105
+ };
106
+ mcp: {
107
+ exposed: boolean;
108
+ toolName: string;
109
+ } & McpToolContract & {
110
+ exposed: boolean;
111
+ toolName: string;
112
+ };
113
+ auth: {
114
+ scopes: string[];
115
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
116
+ };
117
+ convex: FunctionConvexTarget | undefined;
118
+ args: zod.ZodTypeAny;
119
+ returns: zod.ZodTypeAny;
120
+ input: zod.ZodTypeAny;
121
+ output: zod.ZodTypeAny;
122
+ openapi: {
123
+ summary: string;
124
+ tags: string[];
125
+ };
126
+ }, {
127
+ name: string;
128
+ kind: FunctionKind;
129
+ idempotent: FunctionIdempotency;
130
+ effects: readonly FunctionEffect[];
131
+ invariants: readonly string[] | undefined;
132
+ surfaceIntent: FunctionSurfaceIntent;
133
+ domain: string;
134
+ surfaceClass: SurfaceClass;
135
+ surfaces: FunctionSurfaceMap;
136
+ replacedBy: string | undefined;
137
+ rest: {
138
+ method: "GET" | "POST" | "PATCH" | "DELETE";
139
+ path: string;
140
+ };
141
+ sdk: {
142
+ namespace: string;
143
+ method: string;
144
+ };
145
+ mcp: {
146
+ exposed: boolean;
147
+ toolName: string;
148
+ } & McpToolContract & {
149
+ exposed: boolean;
150
+ toolName: string;
151
+ };
152
+ auth: {
153
+ scopes: string[];
154
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
155
+ };
156
+ convex: FunctionConvexTarget | undefined;
157
+ args: zod.ZodTypeAny;
158
+ returns: zod.ZodTypeAny;
159
+ input: zod.ZodTypeAny;
160
+ output: zod.ZodTypeAny;
161
+ openapi: {
162
+ summary: string;
163
+ tags: string[];
164
+ };
165
+ }, {
166
+ name: string;
167
+ kind: FunctionKind;
168
+ idempotent: FunctionIdempotency;
169
+ effects: readonly FunctionEffect[];
170
+ invariants: readonly string[] | undefined;
171
+ surfaceIntent: FunctionSurfaceIntent;
172
+ domain: string;
173
+ surfaceClass: SurfaceClass;
174
+ surfaces: FunctionSurfaceMap;
175
+ replacedBy: string | undefined;
176
+ rest: {
177
+ method: "GET" | "POST" | "PATCH" | "DELETE";
178
+ path: string;
179
+ };
180
+ sdk: {
181
+ namespace: string;
182
+ method: string;
183
+ };
184
+ mcp: {
185
+ exposed: boolean;
186
+ toolName: string;
187
+ } & McpToolContract & {
188
+ exposed: boolean;
189
+ toolName: string;
190
+ };
191
+ auth: {
192
+ scopes: string[];
193
+ allowedPrincipalTypes: ("user" | "service" | "agent")[];
194
+ };
195
+ convex: FunctionConvexTarget | undefined;
196
+ args: zod.ZodTypeAny;
197
+ returns: zod.ZodTypeAny;
198
+ input: zod.ZodTypeAny;
199
+ output: zod.ZodTypeAny;
200
+ openapi: {
201
+ summary: string;
202
+ tags: string[];
203
+ };
204
+ }];
205
+
206
+ export { pipelineContracts };