@lucern/contracts 0.1.2-alpha.4 → 0.3.0-alpha.0

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 (214) 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 +675 -0
  6. package/dist/dsl.js.map +1 -0
  7. package/dist/function-registry/beliefs.d.ts +519 -0
  8. package/dist/function-registry/beliefs.js +4326 -0
  9. package/dist/function-registry/beliefs.js.map +1 -0
  10. package/dist/function-registry/coding.d.ts +347 -0
  11. package/dist/function-registry/coding.js +4268 -0
  12. package/dist/function-registry/coding.js.map +1 -0
  13. package/dist/function-registry/context.d.ts +218 -0
  14. package/dist/function-registry/context.js +4175 -0
  15. package/dist/function-registry/context.js.map +1 -0
  16. package/dist/function-registry/contracts.d.ts +218 -0
  17. package/dist/function-registry/contracts.js +4143 -0
  18. package/dist/function-registry/contracts.js.map +1 -0
  19. package/dist/function-registry/coordination.d.ts +476 -0
  20. package/dist/function-registry/coordination.js +4254 -0
  21. package/dist/function-registry/coordination.js.map +1 -0
  22. package/dist/function-registry/edges.d.ts +175 -0
  23. package/dist/function-registry/edges.js +4150 -0
  24. package/dist/function-registry/edges.js.map +1 -0
  25. package/dist/function-registry/evidence.d.ts +433 -0
  26. package/dist/function-registry/evidence.js +4302 -0
  27. package/dist/function-registry/evidence.js.map +1 -0
  28. package/dist/function-registry/graph.d.ts +648 -0
  29. package/dist/function-registry/graph.js +4329 -0
  30. package/dist/function-registry/graph.js.map +1 -0
  31. package/dist/function-registry/helpers.d.ts +86 -0
  32. package/dist/function-registry/helpers.js +4131 -0
  33. package/dist/function-registry/helpers.js.map +1 -0
  34. package/dist/function-registry/identity.d.ts +218 -0
  35. package/dist/function-registry/identity.js +4154 -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 +4235 -0
  39. package/dist/function-registry/index.js.map +1 -0
  40. package/dist/function-registry/judgments.d.ts +175 -0
  41. package/dist/function-registry/judgments.js +4157 -0
  42. package/dist/function-registry/judgments.js.map +1 -0
  43. package/dist/function-registry/legacy.d.ts +132 -0
  44. package/dist/function-registry/legacy.js +4118 -0
  45. package/dist/function-registry/legacy.js.map +1 -0
  46. package/dist/function-registry/lenses.d.ts +261 -0
  47. package/dist/function-registry/lenses.js +4160 -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 +366 -0
  51. package/dist/function-registry/manifest.js.map +1 -0
  52. package/dist/function-registry/ontologies.d.ts +562 -0
  53. package/dist/function-registry/ontologies.js +4292 -0
  54. package/dist/function-registry/ontologies.js.map +1 -0
  55. package/dist/function-registry/pipeline.d.ts +218 -0
  56. package/dist/function-registry/pipeline.js +4143 -0
  57. package/dist/function-registry/pipeline.js.map +1 -0
  58. package/dist/function-registry/questions.d.ts +605 -0
  59. package/dist/function-registry/questions.js +4329 -0
  60. package/dist/function-registry/questions.js.map +1 -0
  61. package/dist/function-registry/tasks.d.ts +261 -0
  62. package/dist/function-registry/tasks.js +4166 -0
  63. package/dist/function-registry/tasks.js.map +1 -0
  64. package/dist/function-registry/topics.d.ts +304 -0
  65. package/dist/function-registry/topics.js +4193 -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 +476 -0
  71. package/dist/function-registry/worktrees.js +4277 -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 +160 -0
  75. package/dist/generated/convexSchemas.js.map +1 -0
  76. package/dist/generated/schema-manifest.json +5179 -0
  77. package/dist/generated/tableOwnership.d.ts +127 -0
  78. package/dist/generated/tableOwnership.js +276 -0
  79. package/dist/generated/tableOwnership.js.map +1 -0
  80. package/dist/generated/tier-expectations.json +360 -0
  81. package/dist/idOf-DR8tkhQS.d.ts +10 -0
  82. package/dist/index-DoDXl8KS.d.ts +19 -0
  83. package/dist/index.d.ts +11 -2
  84. package/dist/index.js +5739 -315
  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/enums.d.ts +12 -0
  105. package/dist/schemas/enums.js +11 -0
  106. package/dist/schemas/enums.js.map +1 -0
  107. package/dist/schemas/index.d.ts +5 -0
  108. package/dist/schemas/index.js +4240 -0
  109. package/dist/schemas/index.js.map +1 -0
  110. package/dist/schemas/manifest.d.ts +24521 -0
  111. package/dist/schemas/manifest.js +4242 -0
  112. package/dist/schemas/manifest.js.map +1 -0
  113. package/dist/schemas/tables/identity/agent.d.ts +21 -0
  114. package/dist/schemas/tables/identity/agent.js +41 -0
  115. package/dist/schemas/tables/identity/agent.js.map +1 -0
  116. package/dist/schemas/tables/identity/epistemic.d.ts +18 -0
  117. package/dist/schemas/tables/identity/epistemic.js +38 -0
  118. package/dist/schemas/tables/identity/epistemic.js.map +1 -0
  119. package/dist/schemas/tables/identity/model.d.ts +62 -0
  120. package/dist/schemas/tables/identity/model.js +110 -0
  121. package/dist/schemas/tables/identity/model.js.map +1 -0
  122. package/dist/schemas/tables/identity/platform.d.ts +392 -0
  123. package/dist/schemas/tables/identity/platform.js +475 -0
  124. package/dist/schemas/tables/identity/platform.js.map +1 -0
  125. package/dist/schemas/tables/identity/project.d.ts +22 -0
  126. package/dist/schemas/tables/identity/project.js +48 -0
  127. package/dist/schemas/tables/identity/project.js.map +1 -0
  128. package/dist/schemas/tables/identity/user.d.ts +26 -0
  129. package/dist/schemas/tables/identity/user.js +47 -0
  130. package/dist/schemas/tables/identity/user.js.map +1 -0
  131. package/dist/schemas/tables/kernel/config.d.ts +20 -0
  132. package/dist/schemas/tables/kernel/config.js +39 -0
  133. package/dist/schemas/tables/kernel/config.js.map +1 -0
  134. package/dist/schemas/tables/kernel/coordination.d.ts +30 -0
  135. package/dist/schemas/tables/kernel/coordination.js +57 -0
  136. package/dist/schemas/tables/kernel/coordination.js.map +1 -0
  137. package/dist/schemas/tables/kernel/decision.d.ts +246 -0
  138. package/dist/schemas/tables/kernel/decision.js +371 -0
  139. package/dist/schemas/tables/kernel/decision.js.map +1 -0
  140. package/dist/schemas/tables/kernel/embedding.d.ts +18 -0
  141. package/dist/schemas/tables/kernel/embedding.js +48 -0
  142. package/dist/schemas/tables/kernel/embedding.js.map +1 -0
  143. package/dist/schemas/tables/kernel/epistemic.d.ts +315 -0
  144. package/dist/schemas/tables/kernel/epistemic.js +327 -0
  145. package/dist/schemas/tables/kernel/epistemic.js.map +1 -0
  146. package/dist/schemas/tables/kernel/idempotency.d.ts +13 -0
  147. package/dist/schemas/tables/kernel/idempotency.js +31 -0
  148. package/dist/schemas/tables/kernel/idempotency.js.map +1 -0
  149. package/dist/schemas/tables/kernel/infra.d.ts +171 -0
  150. package/dist/schemas/tables/kernel/infra.js +160 -0
  151. package/dist/schemas/tables/kernel/infra.js.map +1 -0
  152. package/dist/schemas/tables/kernel/intelligence.d.ts +293 -0
  153. package/dist/schemas/tables/kernel/intelligence.js +207 -0
  154. package/dist/schemas/tables/kernel/intelligence.js.map +1 -0
  155. package/dist/schemas/tables/kernel/lens.d.ts +192 -0
  156. package/dist/schemas/tables/kernel/lens.js +122 -0
  157. package/dist/schemas/tables/kernel/lens.js.map +1 -0
  158. package/dist/schemas/tables/kernel/ontology.d.ts +89 -0
  159. package/dist/schemas/tables/kernel/ontology.js +91 -0
  160. package/dist/schemas/tables/kernel/ontology.js.map +1 -0
  161. package/dist/schemas/tables/kernel/platform.d.ts +353 -0
  162. package/dist/schemas/tables/kernel/platform.js +349 -0
  163. package/dist/schemas/tables/kernel/platform.js.map +1 -0
  164. package/dist/schemas/tables/kernel/spine.d.ts +206 -0
  165. package/dist/schemas/tables/kernel/spine.js +243 -0
  166. package/dist/schemas/tables/kernel/spine.js.map +1 -0
  167. package/dist/schemas/tables/kernel/task.d.ts +614 -0
  168. package/dist/schemas/tables/kernel/task.js +189 -0
  169. package/dist/schemas/tables/kernel/task.js.map +1 -0
  170. package/dist/schemas/tables/kernel/topic.d.ts +25 -0
  171. package/dist/schemas/tables/kernel/topic.js +62 -0
  172. package/dist/schemas/tables/kernel/topic.js.map +1 -0
  173. package/dist/schemas/tables/kernel/workflow.d.ts +45 -0
  174. package/dist/schemas/tables/kernel/workflow.js +94 -0
  175. package/dist/schemas/tables/kernel/workflow.js.map +1 -0
  176. package/dist/schemas/tables/kernel/worktree.d.ts +823 -0
  177. package/dist/schemas/tables/kernel/worktree.js +328 -0
  178. package/dist/schemas/tables/kernel/worktree.js.map +1 -0
  179. package/dist/schemas/tables/mc/identity.d.ts +134 -0
  180. package/dist/schemas/tables/mc/identity.js +221 -0
  181. package/dist/schemas/tables/mc/identity.js.map +1 -0
  182. package/dist/schemas/tables/mc/methodology.d.ts +46 -0
  183. package/dist/schemas/tables/mc/methodology.js +69 -0
  184. package/dist/schemas/tables/mc/methodology.js.map +1 -0
  185. package/dist/schemas/tables/mc/pack.d.ts +540 -0
  186. package/dist/schemas/tables/mc/pack.js +294 -0
  187. package/dist/schemas/tables/mc/pack.js.map +1 -0
  188. package/dist/schemas/tables/mc/policy.d.ts +57 -0
  189. package/dist/schemas/tables/mc/policy.js +121 -0
  190. package/dist/schemas/tables/mc/policy.js.map +1 -0
  191. package/dist/schemas/tables/mc/registry.d.ts +155 -0
  192. package/dist/schemas/tables/mc/registry.js +164 -0
  193. package/dist/schemas/tables/mc/registry.js.map +1 -0
  194. package/dist/schemas/tables/mc/runtime.d.ts +119 -0
  195. package/dist/schemas/tables/mc/runtime.js +199 -0
  196. package/dist/schemas/tables/mc/runtime.js.map +1 -0
  197. package/dist/schemas/tables/mc/tenant.d.ts +106 -0
  198. package/dist/schemas/tables/mc/tenant.js +114 -0
  199. package/dist/schemas/tables/mc/tenant.js.map +1 -0
  200. package/dist/schemas/tables/mc/workspace.d.ts +28 -0
  201. package/dist/schemas/tables/mc/workspace.js +52 -0
  202. package/dist/schemas/tables/mc/workspace.js.map +1 -0
  203. package/dist/{sdk-tools.contract-BnV0hKLp.d.ts → sdk-tools.contract-C2kQN_Xk.d.ts} +3 -7
  204. package/dist/sdk-tools.contract.d.ts +2 -2
  205. package/dist/sdk-tools.contract.js +664 -175
  206. package/dist/sdk-tools.contract.js.map +1 -1
  207. package/dist/tool-contracts-WCnuE9DW.d.ts +288 -0
  208. package/dist/tool-contracts.d.ts +1 -0
  209. package/dist/{mcp-tools.contract.js → tool-contracts.js} +666 -116
  210. package/dist/tool-contracts.js.map +1 -0
  211. package/package.json +119 -2
  212. package/dist/mcp-tools.contract-D8kXcP6d.d.ts +0 -254
  213. package/dist/mcp-tools.contract.d.ts +0 -1
  214. package/dist/mcp-tools.contract.js.map +0 -1
@@ -0,0 +1,475 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/schemas/tables/identity/platform.ts
4
+
5
+ // src/dsl/defineTable.ts
6
+ function defineTable(spec) {
7
+ return spec;
8
+ }
9
+
10
+ // src/schemas/tables/identity/platform.ts
11
+ var mcpWritePolicy = defineTable({
12
+ name: "mcpWritePolicy",
13
+ component: "identity",
14
+ category: "platform",
15
+ shape: z.object({
16
+ "topicId": z.string().optional(),
17
+ "role": z.string(),
18
+ "toolCategory": z.string(),
19
+ "permission": z.enum(["allow", "deny", "review_required"]),
20
+ "maxWritesPerSession": z.number().optional(),
21
+ "enabled": z.boolean(),
22
+ "rationale": z.string().optional(),
23
+ "createdAt": z.number(),
24
+ "updatedAt": z.number(),
25
+ "createdBy": z.string()
26
+ }),
27
+ indices: [
28
+ { kind: "index", name: "by_topicId", columns: ["topicId"] },
29
+ { kind: "index", name: "by_role", columns: ["role"] },
30
+ { kind: "index", name: "by_topicId_role", columns: ["topicId", "role"] },
31
+ { kind: "index", name: "by_enabled", columns: ["enabled"] }
32
+ ]
33
+ });
34
+ var platformAudienceGrants = defineTable({
35
+ name: "platformAudienceGrants",
36
+ component: "identity",
37
+ category: "platform",
38
+ shape: z.object({
39
+ "tenantId": z.string(),
40
+ "workspaceId": z.string().optional(),
41
+ "principalId": z.string().optional(),
42
+ "groupId": z.string().optional(),
43
+ "audienceKey": z.string(),
44
+ "audienceClass": z.enum(["internal", "restricted_external", "public"]),
45
+ "status": z.enum(["active", "revoked", "expired"]),
46
+ "grantedBy": z.string().optional(),
47
+ "expiresAt": z.number().optional(),
48
+ "metadata": z.record(z.any()).optional(),
49
+ "createdAt": z.number(),
50
+ "updatedAt": z.number()
51
+ }),
52
+ indices: [
53
+ { kind: "index", name: "by_tenant_principal", columns: ["tenantId", "principalId"] },
54
+ { kind: "index", name: "by_tenant_group", columns: ["tenantId", "groupId"] },
55
+ { kind: "index", name: "by_tenant_audienceKey", columns: ["tenantId", "audienceKey"] },
56
+ { kind: "index", name: "by_principal_status", columns: ["principalId", "status"] },
57
+ { kind: "index", name: "by_group_status", columns: ["groupId", "status"] }
58
+ ]
59
+ });
60
+ var platformAudiences = defineTable({
61
+ name: "platformAudiences",
62
+ component: "identity",
63
+ category: "platform",
64
+ shape: z.object({
65
+ "tenantId": z.string(),
66
+ "workspaceId": z.string().optional(),
67
+ "audienceKey": z.string(),
68
+ "audienceLabel": z.string(),
69
+ "audienceClass": z.enum(["internal", "restricted_external", "public"]),
70
+ "status": z.enum(["active", "disabled", "archived"]),
71
+ "description": z.string().optional(),
72
+ "metadata": z.record(z.any()).optional(),
73
+ "createdBy": z.string().optional(),
74
+ "createdAt": z.number(),
75
+ "updatedAt": z.number()
76
+ }),
77
+ indices: [
78
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
79
+ { kind: "index", name: "by_workspaceId", columns: ["workspaceId"] },
80
+ { kind: "index", name: "by_tenant_audienceKey", columns: ["tenantId", "audienceKey"] },
81
+ { kind: "index", name: "by_tenant_workspace_audienceKey", columns: ["tenantId", "workspaceId", "audienceKey"] },
82
+ { kind: "index", name: "by_tenant_status", columns: ["tenantId", "status"] }
83
+ ]
84
+ });
85
+ var platformPolicyDecisionLogs = defineTable({
86
+ name: "platformPolicyDecisionLogs",
87
+ component: "identity",
88
+ category: "platform",
89
+ shape: z.object({
90
+ "principalId": z.string(),
91
+ "tenantId": z.string().optional(),
92
+ "workspaceId": z.string().optional(),
93
+ "topicId": z.string().optional(),
94
+ "resourceType": z.string(),
95
+ "resourceId": z.string(),
96
+ "action": z.enum(["read", "summarize", "export", "mutate", "admin", "comment", "escalate", "resolve", "vote"]),
97
+ "decision": z.enum(["allow", "deny"]),
98
+ "reasonCode": z.string(),
99
+ "policyVersion": z.string(),
100
+ "policyBundleId": z.string().optional(),
101
+ "audienceKey": z.string().optional(),
102
+ "audienceClass": z.enum(["internal", "restricted_external", "public"]).optional(),
103
+ "audienceMode": z.string().optional(),
104
+ "traceId": z.string().optional(),
105
+ "packKey": z.string().optional(),
106
+ "metadata": z.record(z.any()).optional(),
107
+ "createdAt": z.number()
108
+ }),
109
+ indices: [
110
+ { kind: "index", name: "by_principal_createdAt", columns: ["principalId", "createdAt"] },
111
+ { kind: "index", name: "by_tenant_createdAt", columns: ["tenantId", "createdAt"] },
112
+ { kind: "index", name: "by_pack_createdAt", columns: ["packKey", "createdAt"] },
113
+ { kind: "index", name: "by_audienceKey_createdAt", columns: ["audienceKey", "createdAt"] },
114
+ { kind: "index", name: "by_audienceClass_createdAt", columns: ["audienceClass", "createdAt"] },
115
+ { kind: "index", name: "by_decision_createdAt", columns: ["decision", "createdAt"] },
116
+ { kind: "index", name: "by_traceId", columns: ["traceId"] },
117
+ { kind: "index", name: "by_topicId", columns: ["topicId"] },
118
+ { kind: "index", name: "by_topic_createdAt", columns: ["topicId", "createdAt"] }
119
+ ]
120
+ });
121
+ var tenantApiKeys = defineTable({
122
+ name: "tenantApiKeys",
123
+ component: "identity",
124
+ category: "platform",
125
+ shape: z.object({
126
+ "tenantId": z.string(),
127
+ "workspaceId": z.string().optional(),
128
+ "label": z.string().optional(),
129
+ "keyPrefix": z.string(),
130
+ "hashedKey": z.string(),
131
+ "scopes": z.array(z.string()),
132
+ "status": z.enum(["active", "revoked", "expired"]),
133
+ "expiresAt": z.number().optional(),
134
+ "lastUsedAt": z.number().optional(),
135
+ "revokedAt": z.number().optional(),
136
+ "revokedBy": z.string().optional(),
137
+ "createdBy": z.string(),
138
+ "createdAt": z.number(),
139
+ "updatedAt": z.number()
140
+ }),
141
+ indices: [
142
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
143
+ { kind: "index", name: "by_workspaceId", columns: ["workspaceId"] },
144
+ { kind: "index", name: "by_hashedKey", columns: ["hashedKey"] },
145
+ { kind: "index", name: "by_tenant_status", columns: ["tenantId", "status"] }
146
+ ]
147
+ });
148
+ var tenantConfig = defineTable({
149
+ name: "tenantConfig",
150
+ component: "identity",
151
+ category: "platform",
152
+ shape: z.object({
153
+ "tenantId": z.string(),
154
+ "authPolicyMode": z.enum(["open", "invite_only", "sso_required"]),
155
+ "defaultSessionTTL": z.number(),
156
+ "defaultTopicVisibility": z.enum(["private", "tenant", "public"]),
157
+ "featureFlags": z.record(z.boolean()),
158
+ "maxWorkspaceCount": z.number(),
159
+ "defaultModelSlotOverrides": z.record(z.string()),
160
+ "updatedAt": z.number(),
161
+ "updatedBy": z.string()
162
+ }),
163
+ indices: [
164
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] }
165
+ ]
166
+ });
167
+ var tenantIntegrations = defineTable({
168
+ name: "tenantIntegrations",
169
+ component: "identity",
170
+ category: "platform",
171
+ shape: z.object({
172
+ "tenantId": z.string(),
173
+ "integrationKey": z.string(),
174
+ "displayName": z.string(),
175
+ "description": z.string().optional(),
176
+ "category": z.enum(["search", "scraper", "llm", "analysis", "custom"]),
177
+ "capabilities": z.array(z.enum(["search", "deep_research", "scrape", "summarize", "generate"])),
178
+ "config": z.object({
179
+ "apiBaseUrl": z.string(),
180
+ "authType": z.enum(["api_key", "bearer", "basic", "none"]),
181
+ "authHeaderName": z.string().optional(),
182
+ "credentialSecretName": z.string().optional(),
183
+ "defaultParams": z.record(z.any()).optional(),
184
+ "timeout": z.number().optional(),
185
+ "customHeaders": z.record(z.any()).optional()
186
+ }),
187
+ "endpoints": z.object({
188
+ "search": z.object({
189
+ "path": z.string(),
190
+ "method": z.string().optional(),
191
+ "queryParamName": z.string().optional(),
192
+ "resultPath": z.string().optional()
193
+ }).optional(),
194
+ "deepResearch": z.object({
195
+ "path": z.string(),
196
+ "method": z.string().optional(),
197
+ "resultPath": z.string().optional(),
198
+ "async": z.boolean().optional(),
199
+ "pollPath": z.string().optional(),
200
+ "pollIntervalMs": z.number().optional()
201
+ }).optional(),
202
+ "scrape": z.object({
203
+ "path": z.string(),
204
+ "method": z.string().optional(),
205
+ "resultPath": z.string().optional()
206
+ }).optional()
207
+ }).optional(),
208
+ "status": z.enum(["active", "disabled", "error"]),
209
+ "lastUsedAt": z.number().optional(),
210
+ "lastError": z.string().optional(),
211
+ "usageCount": z.number().optional(),
212
+ "createdAt": z.number(),
213
+ "updatedAt": z.number(),
214
+ "createdBy": z.string().optional()
215
+ }),
216
+ indices: [
217
+ { kind: "index", name: "by_tenant", columns: ["tenantId"] },
218
+ { kind: "index", name: "by_tenant_key", columns: ["tenantId", "integrationKey"] },
219
+ { kind: "index", name: "by_tenant_status", columns: ["tenantId", "status"] }
220
+ ]
221
+ });
222
+ var tenantModelSlotBindings = defineTable({
223
+ name: "tenantModelSlotBindings",
224
+ component: "identity",
225
+ category: "platform",
226
+ shape: z.object({
227
+ "bindingId": z.string(),
228
+ "tenantId": z.string(),
229
+ "providerId": z.string(),
230
+ "modelSlotId": z.string(),
231
+ "secretRef": z.string(),
232
+ "status": z.enum(["active", "revoked"]),
233
+ "passThroughOnly": z.boolean(),
234
+ "revokedAt": z.number().optional(),
235
+ "revokedBy": z.string().optional(),
236
+ "metadata": z.record(z.any()).optional(),
237
+ "createdBy": z.string(),
238
+ "createdAt": z.number(),
239
+ "updatedAt": z.number()
240
+ }),
241
+ indices: [
242
+ { kind: "index", name: "by_bindingId", columns: ["bindingId"] },
243
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
244
+ { kind: "index", name: "by_tenant_slot", columns: ["tenantId", "modelSlotId"] },
245
+ { kind: "index", name: "by_tenant_provider_slot", columns: ["tenantId", "providerId", "modelSlotId"] },
246
+ { kind: "index", name: "by_secretRef", columns: ["secretRef"] },
247
+ { kind: "index", name: "by_status", columns: ["status"] }
248
+ ]
249
+ });
250
+ var tenantPolicies = defineTable({
251
+ name: "tenantPolicies",
252
+ component: "identity",
253
+ category: "platform",
254
+ shape: z.object({
255
+ "tenantId": z.string(),
256
+ "workspaceId": z.string().optional(),
257
+ "roleName": z.string(),
258
+ "description": z.string().optional(),
259
+ "permissions": z.array(z.object({
260
+ "resource": z.string(),
261
+ "actions": z.array(z.string())
262
+ })),
263
+ "groupBindings": z.array(z.string()),
264
+ "createdAt": z.number(),
265
+ "updatedAt": z.number(),
266
+ "createdBy": z.string(),
267
+ "updatedBy": z.string().optional()
268
+ }),
269
+ indices: [
270
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
271
+ { kind: "index", name: "by_workspaceId", columns: ["workspaceId"] },
272
+ { kind: "index", name: "by_tenant_roleName", columns: ["tenantId", "roleName"] }
273
+ ]
274
+ });
275
+ var tenantProviderSecrets = defineTable({
276
+ name: "tenantProviderSecrets",
277
+ component: "identity",
278
+ category: "platform",
279
+ shape: z.object({
280
+ "secretRef": z.string(),
281
+ "tenantId": z.string(),
282
+ "providerId": z.string(),
283
+ "label": z.string().optional(),
284
+ "encryptedSecret": z.string(),
285
+ "encryptionVersion": z.string(),
286
+ "secretFingerprint": z.string(),
287
+ "keyHint": z.string(),
288
+ "status": z.enum(["active", "rotated", "revoked"]),
289
+ "rotatedFromSecretRef": z.string().optional(),
290
+ "revokedAt": z.number().optional(),
291
+ "revokedBy": z.string().optional(),
292
+ "lastUsedAt": z.number().optional(),
293
+ "metadata": z.record(z.any()).optional(),
294
+ "createdBy": z.string(),
295
+ "createdAt": z.number(),
296
+ "updatedAt": z.number()
297
+ }),
298
+ indices: [
299
+ { kind: "index", name: "by_secretRef", columns: ["secretRef"] },
300
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
301
+ { kind: "index", name: "by_tenant_provider", columns: ["tenantId", "providerId"] },
302
+ { kind: "index", name: "by_tenant_provider_status", columns: ["tenantId", "providerId", "status"] },
303
+ { kind: "index", name: "by_status", columns: ["status"] }
304
+ ]
305
+ });
306
+ var tenantProxyGatewayUsage = defineTable({
307
+ name: "tenantProxyGatewayUsage",
308
+ component: "identity",
309
+ category: "platform",
310
+ shape: z.object({
311
+ "usageId": z.string(),
312
+ "tenantId": z.string(),
313
+ "providerId": z.string(),
314
+ "modelSlotId": z.string(),
315
+ "secretRef": z.string(),
316
+ "proxyTokenId": z.string(),
317
+ "sessionId": z.string(),
318
+ "principalId": z.string(),
319
+ "workspaceId": z.string().optional(),
320
+ "modelId": z.string().optional(),
321
+ "requestPath": z.string(),
322
+ "status": z.enum(["success", "error"]),
323
+ "responseStatus": z.number().optional(),
324
+ "inputTokens": z.number().optional(),
325
+ "outputTokens": z.number().optional(),
326
+ "tokenCount": z.number().optional(),
327
+ "latencyMs": z.number(),
328
+ "estimatedCostUsd": z.number().optional(),
329
+ "failureCode": z.string().optional(),
330
+ "metadata": z.record(z.any()).optional(),
331
+ "createdAt": z.number(),
332
+ "updatedAt": z.number()
333
+ }),
334
+ indices: [
335
+ { kind: "index", name: "by_usageId", columns: ["usageId"] },
336
+ { kind: "index", name: "by_tenantId", columns: ["tenantId", "createdAt"] },
337
+ { kind: "index", name: "by_tenant_provider", columns: ["tenantId", "providerId", "createdAt"] },
338
+ { kind: "index", name: "by_proxyTokenId", columns: ["proxyTokenId", "createdAt"] }
339
+ ]
340
+ });
341
+ var tenantProxyTokenMints = defineTable({
342
+ name: "tenantProxyTokenMints",
343
+ component: "identity",
344
+ category: "platform",
345
+ shape: z.object({
346
+ "proxyTokenId": z.string(),
347
+ "tenantId": z.string(),
348
+ "providerId": z.string(),
349
+ "modelSlotId": z.string(),
350
+ "sessionId": z.string(),
351
+ "principalId": z.string(),
352
+ "workspaceId": z.string().optional(),
353
+ "secretRef": z.string(),
354
+ "expiresAt": z.number(),
355
+ "metadata": z.record(z.any()).optional(),
356
+ "createdAt": z.number()
357
+ }),
358
+ indices: [
359
+ { kind: "index", name: "by_proxyTokenId", columns: ["proxyTokenId"] },
360
+ { kind: "index", name: "by_tenantId", columns: ["tenantId", "createdAt"] },
361
+ { kind: "index", name: "by_sessionId", columns: ["sessionId", "createdAt"] }
362
+ ]
363
+ });
364
+ var tenantSandboxAuditEvents = defineTable({
365
+ name: "tenantSandboxAuditEvents",
366
+ component: "identity",
367
+ category: "platform",
368
+ shape: z.object({
369
+ "eventId": z.string(),
370
+ "tenantId": z.string(),
371
+ "actorClerkId": z.string(),
372
+ "action": z.enum(["sandbox_created", "sandbox_secret_injected", "sandbox_execution_started", "sandbox_execution_completed", "sandbox_limit_violated"]),
373
+ "executionId": z.string(),
374
+ "sessionId": z.string().optional(),
375
+ "principalId": z.string().optional(),
376
+ "workspaceId": z.string().optional(),
377
+ "providerId": z.string().optional(),
378
+ "secretRef": z.string().optional(),
379
+ "toolCallId": z.string().optional(),
380
+ "correlationId": z.string().optional(),
381
+ "sandboxDir": z.string().optional(),
382
+ "timeoutMs": z.number().optional(),
383
+ "memoryLimitMb": z.number().optional(),
384
+ "allowedOrigins": z.array(z.string()).optional(),
385
+ "limitName": z.string().optional(),
386
+ "outcome": z.string().optional(),
387
+ "responseStatus": z.number().optional(),
388
+ "durationMs": z.number().optional(),
389
+ "metadata": z.record(z.any()).optional(),
390
+ "createdAt": z.number()
391
+ }),
392
+ indices: [
393
+ { kind: "index", name: "by_eventId", columns: ["eventId"] },
394
+ { kind: "index", name: "by_executionId", columns: ["executionId", "createdAt"] },
395
+ { kind: "index", name: "by_tenantId", columns: ["tenantId", "createdAt"] }
396
+ ]
397
+ });
398
+ var tenantSecrets = defineTable({
399
+ name: "tenantSecrets",
400
+ component: "identity",
401
+ category: "platform",
402
+ shape: z.object({
403
+ "tenantId": z.string(),
404
+ "workspaceId": z.string().optional(),
405
+ "name": z.string(),
406
+ "description": z.string().optional(),
407
+ "encryptedValue": z.string(),
408
+ "lastRotated": z.number(),
409
+ "createdBy": z.string(),
410
+ "updatedBy": z.string().optional(),
411
+ "createdAt": z.number(),
412
+ "updatedAt": z.number()
413
+ }),
414
+ indices: [
415
+ { kind: "index", name: "by_tenantId", columns: ["tenantId"] },
416
+ { kind: "index", name: "by_workspaceId", columns: ["workspaceId"] },
417
+ { kind: "index", name: "by_tenant_name", columns: ["tenantId", "name"] }
418
+ ]
419
+ });
420
+ var toolAcls = defineTable({
421
+ name: "toolAcls",
422
+ component: "identity",
423
+ category: "platform",
424
+ shape: z.object({
425
+ "role": z.enum(["platform_admin", "tenant_admin", "workspace_admin", "editor", "viewer", "auditor", "service_agent"]),
426
+ "toolName": z.string(),
427
+ "createdBy": z.string().optional(),
428
+ "createdAt": z.number().optional()
429
+ }),
430
+ indices: [
431
+ { kind: "index", name: "by_role", columns: ["role"] },
432
+ { kind: "index", name: "by_toolName", columns: ["toolName"] }
433
+ ]
434
+ });
435
+ var toolRegistry = defineTable({
436
+ name: "toolRegistry",
437
+ component: "identity",
438
+ category: "platform",
439
+ shape: z.object({
440
+ "toolName": z.string(),
441
+ "description": z.string().optional(),
442
+ "version": z.string().optional(),
443
+ "status": z.enum(["active", "deprecated", "disabled"]),
444
+ "requiredRole": z.enum(["platform_admin", "tenant_admin", "workspace_admin", "editor", "viewer", "auditor", "service_agent"]).optional(),
445
+ "requiredAction": z.enum(["read", "mutate", "admin", "summarize", "export", "create", "delete", "grant", "revoke"]).optional(),
446
+ "surfaces": z.array(z.enum(["mcp", "chat", "voice", "sprint", "api", "sdk", "cli"])).optional(),
447
+ "approvalGateId": z.string().optional(),
448
+ "category": z.enum(["read", "write", "admin", "system"]).optional(),
449
+ "parameterSchema": z.record(z.any()).optional(),
450
+ "handlerRef": z.string().optional(),
451
+ "returnSchema": z.record(z.any()).optional(),
452
+ "executionAdapter": z.enum(["convex_mutation", "convex_action", "http_callback", "mcp_tool", "sdk_invocation", "external_observed"]).optional(),
453
+ "safetyMetadata": z.object({
454
+ "readOnly": z.boolean(),
455
+ "idempotent": z.boolean(),
456
+ "sideEffectLevel": z.enum(["none", "low", "high"])
457
+ }).optional(),
458
+ "packKey": z.string().optional(),
459
+ "packVersion": z.string().optional(),
460
+ "isCore": z.boolean(),
461
+ "mcVersion": z.string().optional(),
462
+ "registeredBy": z.string().optional(),
463
+ "registeredAt": z.number().optional()
464
+ }),
465
+ indices: [
466
+ { kind: "index", name: "by_toolName", columns: ["toolName"] },
467
+ { kind: "index", name: "by_status", columns: ["status"] },
468
+ { kind: "index", name: "by_isCore", columns: ["isCore"] },
469
+ { kind: "index", name: "by_packKey", columns: ["packKey"] }
470
+ ]
471
+ });
472
+
473
+ export { mcpWritePolicy, platformAudienceGrants, platformAudiences, platformPolicyDecisionLogs, tenantApiKeys, tenantConfig, tenantIntegrations, tenantModelSlotBindings, tenantPolicies, tenantProviderSecrets, tenantProxyGatewayUsage, tenantProxyTokenMints, tenantSandboxAuditEvents, tenantSecrets, toolAcls, toolRegistry };
474
+ //# sourceMappingURL=platform.js.map
475
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/schemas/tables/identity/platform.ts"],"names":["z"],"mappings":"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","file":"platform.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"identity\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","/**\n * Schema contracts for identity/platform.\n *\n * Mirrored from:\n * - packages/identity/src/component/schema/domains/platform.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const mcpWritePolicy = defineTable({\n name: \"mcpWritePolicy\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"role\": z.string(),\n \"toolCategory\": z.string(),\n \"permission\": z.enum([\"allow\", \"deny\", \"review_required\"]),\n \"maxWritesPerSession\": z.number().optional(),\n \"enabled\": z.boolean(),\n \"rationale\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_role\", columns: [\"role\"] },\n { kind: 'index', name: \"by_topicId_role\", columns: [\"topicId\", \"role\"] },\n { kind: 'index', name: \"by_enabled\", columns: [\"enabled\"] }\n ],\n});\n\nexport const platformAudienceGrants = defineTable({\n name: \"platformAudienceGrants\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"groupId\": z.string().optional(),\n \"audienceKey\": z.string(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"grantedBy\": z.string().optional(),\n \"expiresAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant_principal\", columns: [\"tenantId\", \"principalId\"] },\n { kind: 'index', name: \"by_tenant_group\", columns: [\"tenantId\", \"groupId\"] },\n { kind: 'index', name: \"by_tenant_audienceKey\", columns: [\"tenantId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] },\n { kind: 'index', name: \"by_group_status\", columns: [\"groupId\", \"status\"] }\n ],\n});\n\nexport const platformAudiences = defineTable({\n name: \"platformAudiences\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"audienceKey\": z.string(),\n \"audienceLabel\": z.string(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]),\n \"status\": z.enum([\"active\", \"disabled\", \"archived\"]),\n \"description\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_audienceKey\", columns: [\"tenantId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_tenant_workspace_audienceKey\", columns: [\"tenantId\", \"workspaceId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const platformPolicyDecisionLogs = defineTable({\n name: \"platformPolicyDecisionLogs\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"principalId\": z.string(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"resourceType\": z.string(),\n \"resourceId\": z.string(),\n \"action\": z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\", \"comment\", \"escalate\", \"resolve\", \"vote\"]),\n \"decision\": z.enum([\"allow\", \"deny\"]),\n \"reasonCode\": z.string(),\n \"policyVersion\": z.string(),\n \"policyBundleId\": z.string().optional(),\n \"audienceKey\": z.string().optional(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n \"audienceMode\": z.string().optional(),\n \"traceId\": z.string().optional(),\n \"packKey\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_pack_createdAt\", columns: [\"packKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_audienceKey_createdAt\", columns: [\"audienceKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_audienceClass_createdAt\", columns: [\"audienceClass\", \"createdAt\"] },\n { kind: 'index', name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: 'index', name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_createdAt\", columns: [\"topicId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantApiKeys = defineTable({\n name: \"tenantApiKeys\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"label\": z.string().optional(),\n \"keyPrefix\": z.string(),\n \"hashedKey\": z.string(),\n \"scopes\": z.array(z.string()),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"expiresAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_hashedKey\", columns: [\"hashedKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const tenantConfig = defineTable({\n name: \"tenantConfig\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"authPolicyMode\": z.enum([\"open\", \"invite_only\", \"sso_required\"]),\n \"defaultSessionTTL\": z.number(),\n \"defaultTopicVisibility\": z.enum([\"private\", \"tenant\", \"public\"]),\n \"featureFlags\": z.record(z.boolean()),\n \"maxWorkspaceCount\": z.number(),\n \"defaultModelSlotOverrides\": z.record(z.string()),\n \"updatedAt\": z.number(),\n \"updatedBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] }\n ],\n});\n\nexport const tenantIntegrations = defineTable({\n name: \"tenantIntegrations\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"integrationKey\": z.string(),\n \"displayName\": z.string(),\n \"description\": z.string().optional(),\n \"category\": z.enum([\"search\", \"scraper\", \"llm\", \"analysis\", \"custom\"]),\n \"capabilities\": z.array(z.enum([\"search\", \"deep_research\", \"scrape\", \"summarize\", \"generate\"])),\n \"config\": z.object({\n \"apiBaseUrl\": z.string(),\n \"authType\": z.enum([\"api_key\", \"bearer\", \"basic\", \"none\"]),\n \"authHeaderName\": z.string().optional(),\n \"credentialSecretName\": z.string().optional(),\n \"defaultParams\": z.record(z.any()).optional(),\n \"timeout\": z.number().optional(),\n \"customHeaders\": z.record(z.any()).optional()\n }),\n \"endpoints\": z.object({\n \"search\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"queryParamName\": z.string().optional(),\n \"resultPath\": z.string().optional()\n }).optional(),\n \"deepResearch\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"resultPath\": z.string().optional(),\n \"async\": z.boolean().optional(),\n \"pollPath\": z.string().optional(),\n \"pollIntervalMs\": z.number().optional()\n }).optional(),\n \"scrape\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"resultPath\": z.string().optional()\n }).optional()\n }).optional(),\n \"status\": z.enum([\"active\", \"disabled\", \"error\"]),\n \"lastUsedAt\": z.number().optional(),\n \"lastError\": z.string().optional(),\n \"usageCount\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_key\", columns: [\"tenantId\", \"integrationKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const tenantModelSlotBindings = defineTable({\n name: \"tenantModelSlotBindings\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"bindingId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"secretRef\": z.string(),\n \"status\": z.enum([\"active\", \"revoked\"]),\n \"passThroughOnly\": z.boolean(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_bindingId\", columns: [\"bindingId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_slot\", columns: [\"tenantId\", \"modelSlotId\"] },\n { kind: 'index', name: \"by_tenant_provider_slot\", columns: [\"tenantId\", \"providerId\", \"modelSlotId\"] },\n { kind: 'index', name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const tenantPolicies = defineTable({\n name: \"tenantPolicies\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"roleName\": z.string(),\n \"description\": z.string().optional(),\n \"permissions\": z.array(z.object({\n \"resource\": z.string(),\n \"actions\": z.array(z.string())\n })),\n \"groupBindings\": z.array(z.string()),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string(),\n \"updatedBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_roleName\", columns: [\"tenantId\", \"roleName\"] }\n ],\n});\n\nexport const tenantProviderSecrets = defineTable({\n name: \"tenantProviderSecrets\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"secretRef\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"label\": z.string().optional(),\n \"encryptedSecret\": z.string(),\n \"encryptionVersion\": z.string(),\n \"secretFingerprint\": z.string(),\n \"keyHint\": z.string(),\n \"status\": z.enum([\"active\", \"rotated\", \"revoked\"]),\n \"rotatedFromSecretRef\": z.string().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_provider\", columns: [\"tenantId\", \"providerId\"] },\n { kind: 'index', name: \"by_tenant_provider_status\", columns: [\"tenantId\", \"providerId\", \"status\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const tenantProxyGatewayUsage = defineTable({\n name: \"tenantProxyGatewayUsage\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"usageId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"secretRef\": z.string(),\n \"proxyTokenId\": z.string(),\n \"sessionId\": z.string(),\n \"principalId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"modelId\": z.string().optional(),\n \"requestPath\": z.string(),\n \"status\": z.enum([\"success\", \"error\"]),\n \"responseStatus\": z.number().optional(),\n \"inputTokens\": z.number().optional(),\n \"outputTokens\": z.number().optional(),\n \"tokenCount\": z.number().optional(),\n \"latencyMs\": z.number(),\n \"estimatedCostUsd\": z.number().optional(),\n \"failureCode\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_usageId\", columns: [\"usageId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenant_provider\", columns: [\"tenantId\", \"providerId\", \"createdAt\"] },\n { kind: 'index', name: \"by_proxyTokenId\", columns: [\"proxyTokenId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantProxyTokenMints = defineTable({\n name: \"tenantProxyTokenMints\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"proxyTokenId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"sessionId\": z.string(),\n \"principalId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"secretRef\": z.string(),\n \"expiresAt\": z.number(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_proxyTokenId\", columns: [\"proxyTokenId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantSandboxAuditEvents = defineTable({\n name: \"tenantSandboxAuditEvents\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"eventId\": z.string(),\n \"tenantId\": z.string(),\n \"actorClerkId\": z.string(),\n \"action\": z.enum([\"sandbox_created\", \"sandbox_secret_injected\", \"sandbox_execution_started\", \"sandbox_execution_completed\", \"sandbox_limit_violated\"]),\n \"executionId\": z.string(),\n \"sessionId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"providerId\": z.string().optional(),\n \"secretRef\": z.string().optional(),\n \"toolCallId\": z.string().optional(),\n \"correlationId\": z.string().optional(),\n \"sandboxDir\": z.string().optional(),\n \"timeoutMs\": z.number().optional(),\n \"memoryLimitMb\": z.number().optional(),\n \"allowedOrigins\": z.array(z.string()).optional(),\n \"limitName\": z.string().optional(),\n \"outcome\": z.string().optional(),\n \"responseStatus\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_eventId\", columns: [\"eventId\"] },\n { kind: 'index', name: \"by_executionId\", columns: [\"executionId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantSecrets = defineTable({\n name: \"tenantSecrets\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"encryptedValue\": z.string(),\n \"lastRotated\": z.number(),\n \"createdBy\": z.string(),\n \"updatedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_name\", columns: [\"tenantId\", \"name\"] }\n ],\n});\n\nexport const toolAcls = defineTable({\n name: \"toolAcls\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"role\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"toolName\": z.string(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_role\", columns: [\"role\"] },\n { kind: 'index', name: \"by_toolName\", columns: [\"toolName\"] }\n ],\n});\n\nexport const toolRegistry = defineTable({\n name: \"toolRegistry\",\n component: \"identity\",\n category: \"platform\",\n shape: z.object({\n \"toolName\": z.string(),\n \"description\": z.string().optional(),\n \"version\": z.string().optional(),\n \"status\": z.enum([\"active\", \"deprecated\", \"disabled\"]),\n \"requiredRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]).optional(),\n \"requiredAction\": z.enum([\"read\", \"mutate\", \"admin\", \"summarize\", \"export\", \"create\", \"delete\", \"grant\", \"revoke\"]).optional(),\n \"surfaces\": z.array(z.enum([\"mcp\", \"chat\", \"voice\", \"sprint\", \"api\", \"sdk\", \"cli\"])).optional(),\n \"approvalGateId\": z.string().optional(),\n \"category\": z.enum([\"read\", \"write\", \"admin\", \"system\"]).optional(),\n \"parameterSchema\": z.record(z.any()).optional(),\n \"handlerRef\": z.string().optional(),\n \"returnSchema\": z.record(z.any()).optional(),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]).optional(),\n \"safetyMetadata\": z.object({\n \"readOnly\": z.boolean(),\n \"idempotent\": z.boolean(),\n \"sideEffectLevel\": z.enum([\"none\", \"low\", \"high\"])\n }).optional(),\n \"packKey\": z.string().optional(),\n \"packVersion\": z.string().optional(),\n \"isCore\": z.boolean(),\n \"mcVersion\": z.string().optional(),\n \"registeredBy\": z.string().optional(),\n \"registeredAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_toolName\", columns: [\"toolName\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_isCore\", columns: [\"isCore\"] },\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] }\n ],\n});\n"]}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { T as TableContract } from '../../../defineTable-CBQ03FXl.js';
3
+
4
+ declare const projectGrants: TableContract<{
5
+ projectId: z.ZodOptional<z.ZodString>;
6
+ topicId: z.ZodOptional<z.ZodString>;
7
+ beliefClusterId: z.ZodOptional<z.ZodString>;
8
+ tenantId: z.ZodOptional<z.ZodString>;
9
+ workspaceId: z.ZodOptional<z.ZodString>;
10
+ subjectType: z.ZodEnum<["principal", "group"]>;
11
+ principalId: z.ZodOptional<z.ZodString>;
12
+ groupId: z.ZodOptional<z.ZodString>;
13
+ role: z.ZodEnum<["viewer", "editor", "owner_delegate"]>;
14
+ status: z.ZodEnum<["active", "revoked", "expired"]>;
15
+ source: z.ZodEnum<["owner_share", "group_share", "external_share", "policy", "api", "migration"]>;
16
+ grantedBy: z.ZodOptional<z.ZodString>;
17
+ expiresAt: z.ZodOptional<z.ZodNumber>;
18
+ createdAt: z.ZodNumber;
19
+ updatedAt: z.ZodNumber;
20
+ }>;
21
+
22
+ export { projectGrants };
@@ -0,0 +1,48 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/schemas/tables/identity/project.ts
4
+
5
+ // src/dsl/defineTable.ts
6
+ function defineTable(spec) {
7
+ return spec;
8
+ }
9
+
10
+ // src/schemas/tables/identity/project.ts
11
+ var projectGrants = defineTable({
12
+ name: "projectGrants",
13
+ component: "identity",
14
+ category: "project",
15
+ shape: z.object({
16
+ "projectId": z.string().optional(),
17
+ "topicId": z.string().optional(),
18
+ "beliefClusterId": z.string().optional(),
19
+ "tenantId": z.string().optional(),
20
+ "workspaceId": z.string().optional(),
21
+ "subjectType": z.enum(["principal", "group"]),
22
+ "principalId": z.string().optional(),
23
+ "groupId": z.string().optional(),
24
+ "role": z.enum(["viewer", "editor", "owner_delegate"]),
25
+ "status": z.enum(["active", "revoked", "expired"]),
26
+ "source": z.enum(["owner_share", "group_share", "external_share", "policy", "api", "migration"]),
27
+ "grantedBy": z.string().optional(),
28
+ "expiresAt": z.number().optional(),
29
+ "createdAt": z.number(),
30
+ "updatedAt": z.number()
31
+ }),
32
+ indices: [
33
+ { kind: "index", name: "by_principal_status", columns: ["principalId", "status"] },
34
+ { kind: "index", name: "by_group_status", columns: ["groupId", "status"] },
35
+ { kind: "index", name: "by_tenant_workspace", columns: ["tenantId", "workspaceId"] },
36
+ { kind: "index", name: "by_status", columns: ["status"] },
37
+ { kind: "index", name: "by_topicId", columns: ["topicId"] },
38
+ { kind: "index", name: "by_topic_status", columns: ["topicId", "status"] },
39
+ { kind: "index", name: "by_topic_principal", columns: ["topicId", "principalId"] },
40
+ { kind: "index", name: "by_topic_group", columns: ["topicId", "groupId"] },
41
+ { kind: "index", name: "by_topic_cluster", columns: ["topicId", "beliefClusterId"] },
42
+ { kind: "index", name: "by_topic_cluster_status", columns: ["topicId", "beliefClusterId", "status"] }
43
+ ]
44
+ });
45
+
46
+ export { projectGrants };
47
+ //# sourceMappingURL=project.js.map
48
+ //# sourceMappingURL=project.js.map