@lucern/contracts 0.3.0-alpha.8 → 1.0.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 (261) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/api-enums.contract.d.ts +5 -3
  3. package/dist/api-enums.contract.js +14 -12
  4. package/dist/api-enums.contract.js.map +1 -1
  5. package/dist/auth-context.contract.js +14 -2
  6. package/dist/auth-context.contract.js.map +1 -1
  7. package/dist/auth-session.contract.js +14 -2
  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 +14 -2
  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 +46 -26
  14. package/dist/component-boundary.contract.js.map +1 -1
  15. package/dist/component-host-boundary.contract.d.ts +10 -5
  16. package/dist/component-host-boundary.contract.js +10 -4
  17. package/dist/component-host-boundary.contract.js.map +1 -1
  18. package/dist/{defineTable-CBQ03FXl.d.ts → defineTable-t1wr5wgn.d.ts} +1 -1
  19. package/dist/{dsl-djCRfuWC.d.ts → dsl-DVPthQGY.d.ts} +1 -1
  20. package/dist/dsl.d.ts +2 -2
  21. package/dist/dsl.js.map +1 -1
  22. package/dist/edge-policy-manifest-Dw5IhT1L.d.ts +133 -0
  23. package/dist/function-registry/beliefs.d.ts +23 -10
  24. package/dist/function-registry/beliefs.js +467 -36
  25. package/dist/function-registry/beliefs.js.map +1 -1
  26. package/dist/function-registry/coding.d.ts +15 -6
  27. package/dist/function-registry/coding.js +531 -22
  28. package/dist/function-registry/coding.js.map +1 -1
  29. package/dist/function-registry/context.d.ts +9 -3
  30. package/dist/function-registry/context.js +464 -21
  31. package/dist/function-registry/context.js.map +1 -1
  32. package/dist/function-registry/contracts.d.ts +9 -3
  33. package/dist/function-registry/contracts.js +464 -21
  34. package/dist/function-registry/contracts.js.map +1 -1
  35. package/dist/function-registry/coordination.d.ts +21 -9
  36. package/dist/function-registry/coordination.js +464 -21
  37. package/dist/function-registry/coordination.js.map +1 -1
  38. package/dist/function-registry/edges.d.ts +167 -2
  39. package/dist/function-registry/edges.js +661 -52
  40. package/dist/function-registry/edges.js.map +1 -1
  41. package/dist/function-registry/evidence.d.ts +19 -8
  42. package/dist/function-registry/evidence.js +473 -40
  43. package/dist/function-registry/evidence.js.map +1 -1
  44. package/dist/function-registry/graph.d.ts +33 -15
  45. package/dist/function-registry/graph.js +464 -21
  46. package/dist/function-registry/graph.js.map +1 -1
  47. package/dist/function-registry/helpers.d.ts +6 -3
  48. package/dist/function-registry/helpers.js +465 -22
  49. package/dist/function-registry/helpers.js.map +1 -1
  50. package/dist/function-registry/identity.d.ts +62 -16
  51. package/dist/function-registry/identity.js +487 -27
  52. package/dist/function-registry/identity.js.map +1 -1
  53. package/dist/function-registry/index.d.ts +4 -2
  54. package/dist/function-registry/index.js +468 -22
  55. package/dist/function-registry/index.js.map +1 -1
  56. package/dist/function-registry/judgments.d.ts +7 -2
  57. package/dist/function-registry/judgments.js +464 -21
  58. package/dist/function-registry/judgments.js.map +1 -1
  59. package/dist/function-registry/legacy.d.ts +5 -1
  60. package/dist/function-registry/legacy.js +464 -21
  61. package/dist/function-registry/legacy.js.map +1 -1
  62. package/dist/function-registry/lenses.d.ts +11 -4
  63. package/dist/function-registry/lenses.js +464 -21
  64. package/dist/function-registry/lenses.js.map +1 -1
  65. package/dist/function-registry/manifest.d.ts +4 -4
  66. package/dist/function-registry/manifest.js +16 -1
  67. package/dist/function-registry/manifest.js.map +1 -1
  68. package/dist/function-registry/nodes.d.ts +412 -0
  69. package/dist/function-registry/nodes.js +5354 -0
  70. package/dist/function-registry/nodes.js.map +1 -0
  71. package/dist/function-registry/ontologies.d.ts +25 -11
  72. package/dist/function-registry/ontologies.js +464 -21
  73. package/dist/function-registry/ontologies.js.map +1 -1
  74. package/dist/function-registry/pipeline.d.ts +9 -3
  75. package/dist/function-registry/pipeline.js +464 -21
  76. package/dist/function-registry/pipeline.js.map +1 -1
  77. package/dist/function-registry/questions.d.ts +27 -12
  78. package/dist/function-registry/questions.js +466 -26
  79. package/dist/function-registry/questions.js.map +1 -1
  80. package/dist/function-registry/tasks.d.ts +11 -4
  81. package/dist/function-registry/tasks.js +497 -30
  82. package/dist/function-registry/tasks.js.map +1 -1
  83. package/dist/function-registry/topics.d.ts +93 -5
  84. package/dist/function-registry/topics.js +534 -24
  85. package/dist/function-registry/topics.js.map +1 -1
  86. package/dist/function-registry/types.d.ts +7 -3
  87. package/dist/function-registry/worktrees.d.ts +25 -11
  88. package/dist/function-registry/worktrees.js +480 -21
  89. package/dist/function-registry/worktrees.js.map +1 -1
  90. package/dist/gateway.contract.d.ts +4 -0
  91. package/dist/gateway.contract.js.map +1 -1
  92. package/dist/generated/convexSchemas.d.ts +3 -3
  93. package/dist/generated/convexSchemas.js +37 -17
  94. package/dist/generated/convexSchemas.js.map +1 -1
  95. package/dist/generated/infisicalRuntimeEnv.d.ts +70 -0
  96. package/dist/generated/infisicalRuntimeEnv.js +27585 -0
  97. package/dist/generated/infisicalRuntimeEnv.js.map +1 -0
  98. package/dist/generated/lucernGatewayEnv.d.ts +17 -0
  99. package/dist/generated/lucernGatewayEnv.js +38 -0
  100. package/dist/generated/lucernGatewayEnv.js.map +1 -0
  101. package/dist/generated/lucernWebPublicEnv.d.ts +26 -0
  102. package/dist/generated/lucernWebPublicEnv.js +32 -0
  103. package/dist/generated/lucernWebPublicEnv.js.map +1 -0
  104. package/dist/generated/lucernWebServerEnv.d.ts +33 -0
  105. package/dist/generated/lucernWebServerEnv.js +51 -0
  106. package/dist/generated/lucernWebServerEnv.js.map +1 -0
  107. package/dist/generated/schema-manifest.json +1221 -114
  108. package/dist/generated/tableOwnership.d.ts +48 -28
  109. package/dist/generated/tableOwnership.js +66 -26
  110. package/dist/generated/tableOwnership.js.map +1 -1
  111. package/dist/generated/tier-expectations.json +64 -9
  112. package/dist/{index-O09U2xHk.d.ts → index-CM1Pl_vI.d.ts} +3 -3
  113. package/dist/index.d.ts +12 -7
  114. package/dist/index.js +32892 -459
  115. package/dist/index.js.map +1 -1
  116. package/dist/infisical-runtime.contract.d.ts +1763 -6
  117. package/dist/infisical-runtime.contract.js +2994 -15
  118. package/dist/infisical-runtime.contract.js.map +1 -1
  119. package/dist/manifests/edge-policy-manifest.d.ts +1 -1
  120. package/dist/manifests/edge-policy-manifest.data.d.ts +6 -20
  121. package/dist/manifests/edge-policy-manifest.data.js +18 -26
  122. package/dist/manifests/edge-policy-manifest.data.js.map +1 -1
  123. package/dist/manifests/edge-policy-manifest.js +31 -4
  124. package/dist/manifests/edge-policy-manifest.js.map +1 -1
  125. package/dist/manifests/infisical-runtime-manifest.d.ts +1689 -6
  126. package/dist/manifests/infisical-runtime-manifest.js +2847 -12
  127. package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
  128. package/dist/manifests/tenant-client-manifest.d.ts +19 -14
  129. package/dist/manifests/tenant-client-manifest.js +29 -12
  130. package/dist/manifests/tenant-client-manifest.js.map +1 -1
  131. package/dist/mcp-gateway-boundary.contract.d.ts +23 -3
  132. package/dist/mcp-gateway-boundary.contract.js +2 -0
  133. package/dist/mcp-gateway-boundary.contract.js.map +1 -1
  134. package/dist/permit-principal-projection.contract.d.ts +74 -0
  135. package/dist/permit-principal-projection.contract.js +167 -0
  136. package/dist/permit-principal-projection.contract.js.map +1 -0
  137. package/dist/projections/check-convex-args-shape.js +10 -6
  138. package/dist/projections/check-convex-args-shape.js.map +1 -1
  139. package/dist/projections/create-evidence.projection.d.ts +6 -6
  140. package/dist/projections/create-evidence.projection.js +2 -3
  141. package/dist/projections/create-evidence.projection.js.map +1 -1
  142. package/dist/projections/index.d.ts +3 -3
  143. package/dist/projections/index.js +10 -6
  144. package/dist/projections/index.js.map +1 -1
  145. package/dist/projections/list-tasks.projection.d.ts +20 -8
  146. package/dist/projections/list-tasks.projection.js +8 -3
  147. package/dist/projections/list-tasks.projection.js.map +1 -1
  148. package/dist/proof-attestation.json +45 -0
  149. package/dist/schemas/component-table-manifest.d.ts +6 -6
  150. package/dist/schemas/component-table-manifest.js +2 -2
  151. package/dist/schemas/component-table-manifest.js.map +1 -1
  152. package/dist/schemas/index.d.ts +2 -2
  153. package/dist/schemas/index.js +1123 -137
  154. package/dist/schemas/index.js.map +1 -1
  155. package/dist/schemas/manifest.d.ts +2102 -132
  156. package/dist/schemas/manifest.js +1121 -135
  157. package/dist/schemas/manifest.js.map +1 -1
  158. package/dist/schemas/tables/controlPlane/accessControl.d.ts +260 -0
  159. package/dist/schemas/tables/controlPlane/accessControl.js +658 -0
  160. package/dist/schemas/tables/controlPlane/accessControl.js.map +1 -0
  161. package/dist/schemas/tables/{identity → controlPlane}/agent.d.ts +1 -1
  162. package/dist/schemas/tables/{identity → controlPlane}/agent.js +3 -3
  163. package/dist/schemas/tables/controlPlane/agent.js.map +1 -0
  164. package/dist/schemas/tables/{identity → controlPlane}/epistemic.d.ts +1 -1
  165. package/dist/schemas/tables/{identity → controlPlane}/epistemic.js +3 -3
  166. package/dist/schemas/tables/controlPlane/epistemic.js.map +1 -0
  167. package/dist/schemas/tables/{identity → controlPlane}/model.d.ts +1 -1
  168. package/dist/schemas/tables/{identity → controlPlane}/model.js +6 -6
  169. package/dist/schemas/tables/controlPlane/model.js.map +1 -0
  170. package/dist/schemas/tables/{identity → controlPlane}/platform.d.ts +1 -1
  171. package/dist/schemas/tables/{identity → controlPlane}/platform.js +18 -18
  172. package/dist/schemas/tables/controlPlane/platform.js.map +1 -0
  173. package/dist/schemas/tables/{identity → controlPlane}/project.d.ts +1 -1
  174. package/dist/schemas/tables/{identity → controlPlane}/project.js +3 -3
  175. package/dist/schemas/tables/controlPlane/project.js.map +1 -0
  176. package/dist/schemas/tables/{identity → controlPlane}/user.d.ts +1 -1
  177. package/dist/schemas/tables/{identity → controlPlane}/user.js +3 -3
  178. package/dist/schemas/tables/controlPlane/user.js.map +1 -0
  179. package/dist/schemas/tables/kernel/config.d.ts +1 -1
  180. package/dist/schemas/tables/kernel/config.js.map +1 -1
  181. package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
  182. package/dist/schemas/tables/kernel/coordination.js.map +1 -1
  183. package/dist/schemas/tables/kernel/decision.d.ts +1 -1
  184. package/dist/schemas/tables/kernel/decision.js.map +1 -1
  185. package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
  186. package/dist/schemas/tables/kernel/embedding.js.map +1 -1
  187. package/dist/schemas/tables/kernel/epistemic.d.ts +1 -1
  188. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  189. package/dist/schemas/tables/kernel/events.d.ts +21 -0
  190. package/dist/schemas/tables/kernel/events.js +43 -0
  191. package/dist/schemas/tables/kernel/events.js.map +1 -0
  192. package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
  193. package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
  194. package/dist/schemas/tables/kernel/infra.d.ts +1 -1
  195. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  196. package/dist/schemas/tables/kernel/intelligence.d.ts +1 -1
  197. package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
  198. package/dist/schemas/tables/kernel/lens.d.ts +1 -1
  199. package/dist/schemas/tables/kernel/lens.js.map +1 -1
  200. package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
  201. package/dist/schemas/tables/kernel/ontology.js.map +1 -1
  202. package/dist/schemas/tables/kernel/platform.d.ts +1 -1
  203. package/dist/schemas/tables/kernel/platform.js.map +1 -1
  204. package/dist/schemas/tables/kernel/spine.d.ts +2 -1
  205. package/dist/schemas/tables/kernel/spine.js +1 -0
  206. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  207. package/dist/schemas/tables/kernel/task.d.ts +1 -1
  208. package/dist/schemas/tables/kernel/task.js.map +1 -1
  209. package/dist/schemas/tables/kernel/topic.d.ts +1 -1
  210. package/dist/schemas/tables/kernel/topic.js +1 -0
  211. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  212. package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
  213. package/dist/schemas/tables/kernel/workflow.js.map +1 -1
  214. package/dist/schemas/tables/kernel/worktree.d.ts +17 -17
  215. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  216. package/dist/schemas/tables/mc/identity.d.ts +19 -2
  217. package/dist/schemas/tables/mc/identity.js +32 -1
  218. package/dist/schemas/tables/mc/identity.js.map +1 -1
  219. package/dist/schemas/tables/mc/methodology.d.ts +1 -1
  220. package/dist/schemas/tables/mc/methodology.js.map +1 -1
  221. package/dist/schemas/tables/mc/pack.d.ts +1 -1
  222. package/dist/schemas/tables/mc/pack.js.map +1 -1
  223. package/dist/schemas/tables/mc/policy.d.ts +2 -2
  224. package/dist/schemas/tables/mc/policy.js +1 -1
  225. package/dist/schemas/tables/mc/policy.js.map +1 -1
  226. package/dist/schemas/tables/mc/registry.d.ts +1 -1
  227. package/dist/schemas/tables/mc/registry.js.map +1 -1
  228. package/dist/schemas/tables/mc/runtime.d.ts +109 -3
  229. package/dist/schemas/tables/mc/runtime.js +330 -104
  230. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  231. package/dist/schemas/tables/mc/tenant.d.ts +4 -2
  232. package/dist/schemas/tables/mc/tenant.js +3 -1
  233. package/dist/schemas/tables/mc/tenant.js.map +1 -1
  234. package/dist/schemas/tables/mc/workspace.d.ts +22 -5
  235. package/dist/schemas/tables/mc/workspace.js +34 -2
  236. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  237. package/dist/{sdk-tools.contract-Ci8bkoai.d.ts → sdk-tools.contract-CKmSsrZ2.d.ts} +1 -1
  238. package/dist/sdk-tools.contract.d.ts +2 -2
  239. package/dist/sdk-tools.contract.js +417 -13
  240. package/dist/sdk-tools.contract.js.map +1 -1
  241. package/dist/tenant-bootstrap-seed.contract.d.ts +244 -56
  242. package/dist/tenant-bootstrap-seed.contract.js +139 -28
  243. package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
  244. package/dist/tenant-bootstrap-seed.defaults.d.ts +2 -2
  245. package/dist/tenant-bootstrap-seed.defaults.js +31 -13
  246. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -1
  247. package/dist/tenant-client.contract.d.ts +20 -15
  248. package/dist/tenant-client.contract.js +29 -12
  249. package/dist/tenant-client.contract.js.map +1 -1
  250. package/dist/{tool-contracts-B4iWhejG.d.ts → tool-contracts-C_xvM9q2.d.ts} +32 -2
  251. package/dist/tool-contracts.d.ts +1 -1
  252. package/dist/tool-contracts.js +418 -14
  253. package/dist/tool-contracts.js.map +1 -1
  254. package/package.json +22 -1
  255. package/dist/edge-policy-manifest-Byv6cQPP.d.ts +0 -132
  256. package/dist/schemas/tables/identity/agent.js.map +0 -1
  257. package/dist/schemas/tables/identity/epistemic.js.map +0 -1
  258. package/dist/schemas/tables/identity/model.js.map +0 -1
  259. package/dist/schemas/tables/identity/platform.js.map +0 -1
  260. package/dist/schemas/tables/identity/project.js.map +0 -1
  261. package/dist/schemas/tables/identity/user.js.map +0 -1
@@ -1,10 +1,11 @@
1
1
  import { ALL_FUNCTION_CONTRACTS } from './function-registry/index.js';
2
2
 
3
3
  // src/tenant-bootstrap-seed.defaults.ts
4
- var TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION = "2026-04-30.1";
4
+ var TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION = "2026-05-11";
5
5
  var TENANT_BOOTSTRAP_TEMPLATE_TENANT_ID = "tenant_template";
6
6
  var TENANT_BOOTSTRAP_TEMPLATE_ACTOR = "system:lucern-template-seed";
7
7
  var DEFAULT_SEED_TIME = Date.UTC(2026, 3, 30);
8
+ var TEMPLATE_SEED_METADATA_SOURCE = "lucern-template";
8
9
  var ROLE_GRANTS = {
9
10
  viewer: ["viewer", "auditor", "editor", "workspace_admin", "tenant_admin", "platform_admin", "service_agent"],
10
11
  auditor: ["auditor", "tenant_admin", "platform_admin", "service_agent"],
@@ -15,7 +16,7 @@ var ROLE_GRANTS = {
15
16
  service_agent: ["service_agent"]
16
17
  };
17
18
  var ENUM_VALUES = {
18
- topic_type: ["domain", "theme", "deal", "strategy", "constitution", "project", "portfolio", "architecture", "capability", "runtime", "interface", "governance", "operations", "security", "data"],
19
+ topic_type: ["generic"],
19
20
  branch_schema: ["pillar", "track", "dimension", "axis", "phase"],
20
21
  belief_type: ["belief", "hypothesis", "principle", "invariant", "assumption", "tenet", "prior", "preference", "goal", "forecast", "decision", "constraint", "tradeoff", "policy", "implementation_choice", "implementation_decision", "interface_contract", "migration_state", "code_pattern", "deprecation_notice"],
21
22
  edge_type: ["supports", "informs", "depends_on", "derived_from", "contains", "tests", "supersedes", "responds_to", "belongs_to", "relates_to_thesis", "works_at", "invested_in", "competes_with", "participates_in", "founded_by", "evaluates", "performs", "function_in", "impacts", "raised_from", "mentioned_in", "perspective_on", "plays_theme"],
@@ -59,6 +60,13 @@ var MODEL_SLOTS = [
59
60
  function labelFor(value) {
60
61
  return value.split(/[_-]/).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
61
62
  }
63
+ function templateSeedMetadata(version) {
64
+ return {
65
+ seedSource: TEMPLATE_SEED_METADATA_SOURCE,
66
+ seedVersion: version,
67
+ seedType: "template-default"
68
+ };
69
+ }
62
70
  function seedContext(options) {
63
71
  return {
64
72
  now: options.now ?? DEFAULT_SEED_TIME,
@@ -198,7 +206,7 @@ function modelRegistryRows(now) {
198
206
  updatedAt: now
199
207
  }));
200
208
  }
201
- function modelFunctionSlotRows(now) {
209
+ function modelFunctionSlotRows(now, version) {
202
210
  return MODEL_SLOTS.map(([slot, category, description, modelKey, promptName, temperature, maxTokens, requiredCapabilities]) => ({
203
211
  slot,
204
212
  category,
@@ -210,24 +218,24 @@ function modelFunctionSlotRows(now) {
210
218
  requiredCapabilities,
211
219
  enabled: true,
212
220
  isDefault: true,
213
- notes: `Seeded by ${TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION}.`,
221
+ notes: `Seeded by ${version}.`,
214
222
  createdAt: now,
215
223
  updatedAt: now
216
224
  }));
217
225
  }
218
- function modelSlotConfigRows(now) {
226
+ function modelSlotConfigRows(now, version) {
219
227
  return MODEL_SLOTS.map(([slot, , , modelKey, , temperature, maxTokens]) => ({
220
228
  slot,
221
229
  modelKey,
222
230
  temperature,
223
231
  maxTokens,
224
232
  enabled: true,
225
- notes: `Default routing for ${slot}.`,
233
+ notes: `Default routing for ${slot}. Seeded by ${version}.`,
226
234
  createdAt: now,
227
235
  updatedAt: now
228
236
  }));
229
237
  }
230
- function schemaEnumRows(now) {
238
+ function schemaEnumRows(now, version) {
231
239
  return Object.entries(ENUM_VALUES).flatMap(
232
240
  ([category, values]) => values.map((value, index) => ({
233
241
  category,
@@ -235,7 +243,7 @@ function schemaEnumRows(now) {
235
243
  label: labelFor(value),
236
244
  description: `${labelFor(value)} ${category} value.`,
237
245
  tier: "platform",
238
- metadata: { seedVersion: TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION },
246
+ metadata: templateSeedMetadata(version),
239
247
  isDefault: index === 0,
240
248
  sortOrder: index + 1,
241
249
  status: "active",
@@ -273,18 +281,28 @@ function buildTenantBootstrapTemplateSeedRows(options = {}) {
273
281
  publicationRules: [
274
282
  { tenantId: ctx.templateTenantId, name: "publish-high-confidence-beliefs", description: "Publish high-confidence beliefs to tenant-level consumers.", conditionType: "confidence_threshold", conditions: { minConfidence: 0.85 }, enabled: true, priority: 100, createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now }
275
283
  ],
276
- schemaEnumConfig: schemaEnumRows(ctx.now)
284
+ schemaEnumConfig: schemaEnumRows(ctx.now, ctx.version)
277
285
  },
278
- identity: {
286
+ "control-plane": {
279
287
  mcpWritePolicy: buildMcpWritePolicy(ctx.now, ctx.actor),
280
- modelFunctionSlots: modelFunctionSlotRows(ctx.now),
288
+ modelFunctionSlots: modelFunctionSlotRows(ctx.now, ctx.version),
281
289
  modelRegistry: modelRegistryRows(ctx.now),
282
- modelSlotConfigs: modelSlotConfigRows(ctx.now),
290
+ modelSlotConfigs: modelSlotConfigRows(ctx.now, ctx.version),
283
291
  platformAudiences: [
284
292
  ["internal", "Internal", "internal"],
285
293
  ["lp", "Limited Partners", "restricted_external"],
286
294
  ["public", "Public", "public"]
287
- ].map(([audienceKey, audienceLabel, audienceClass]) => ({ tenantId: ctx.templateTenantId, audienceKey, audienceLabel, audienceClass, status: "active", metadata: { seedVersion: ctx.version }, createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now })),
295
+ ].map(([audienceKey, audienceLabel, audienceClass]) => ({
296
+ tenantId: ctx.templateTenantId,
297
+ audienceKey,
298
+ audienceLabel,
299
+ audienceClass,
300
+ status: "active",
301
+ metadata: templateSeedMetadata(ctx.version),
302
+ createdBy: ctx.actor,
303
+ createdAt: ctx.now,
304
+ updatedAt: ctx.now
305
+ })),
288
306
  tenantConfig: [
289
307
  { tenantId: ctx.templateTenantId, authPolicyMode: "open", defaultSessionTTL: 28800, defaultTopicVisibility: "tenant", featureFlags: { sdkBootstrapSeeds: true, interactiveRoleAuth: true }, maxWorkspaceCount: 25, defaultModelSlotOverrides: {}, updatedAt: ctx.now, updatedBy: ctx.actor }
290
308
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tenant-bootstrap-seed.defaults.ts"],"names":[],"mappings":"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","file":"tenant-bootstrap-seed.defaults.js","sourcesContent":["import { ALL_FUNCTION_CONTRACTS } from \"./function-registry/index.js\";\nimport type { FunctionContract } from \"./function-registry/types.js\";\n\nexport const TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION = \"2026-04-30.1\" as const;\nexport const TENANT_BOOTSTRAP_TEMPLATE_TENANT_ID = \"tenant_template\" as const;\nexport const TENANT_BOOTSTRAP_TEMPLATE_ACTOR =\n \"system:lucern-template-seed\" as const;\n\nexport type TenantBootstrapTemplateSeedRows = {\n kernel: Record<string, Array<Record<string, unknown>>>;\n identity: Record<string, Array<Record<string, unknown>>>;\n};\n\nexport type TenantBootstrapTemplateSeedOptions = {\n now?: number;\n templateTenantId?: string;\n actorPrincipalId?: string;\n version?: string;\n};\n\ntype ToolRole =\n | \"platform_admin\"\n | \"tenant_admin\"\n | \"workspace_admin\"\n | \"editor\"\n | \"viewer\"\n | \"auditor\"\n | \"service_agent\";\ntype ToolCategory = \"read\" | \"write\" | \"admin\" | \"system\";\n\nconst DEFAULT_SEED_TIME = Date.UTC(2026, 3, 30);\n\nconst ROLE_GRANTS: Record<ToolRole, ToolRole[]> = {\n viewer: [\"viewer\", \"auditor\", \"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n auditor: [\"auditor\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n editor: [\"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n workspace_admin: [\"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n tenant_admin: [\"tenant_admin\", \"platform_admin\", \"service_agent\"],\n platform_admin: [\"platform_admin\", \"service_agent\"],\n service_agent: [\"service_agent\"],\n};\n\nconst ENUM_VALUES: Record<string, readonly string[]> = {\n topic_type: [\"domain\", \"theme\", \"deal\", \"strategy\", \"constitution\", \"project\", \"portfolio\", \"architecture\", \"capability\", \"runtime\", \"interface\", \"governance\", \"operations\", \"security\", \"data\"],\n branch_schema: [\"pillar\", \"track\", \"dimension\", \"axis\", \"phase\"],\n belief_type: [\"belief\", \"hypothesis\", \"principle\", \"invariant\", \"assumption\", \"tenet\", \"prior\", \"preference\", \"goal\", \"forecast\", \"decision\", \"constraint\", \"tradeoff\", \"policy\", \"implementation_choice\", \"implementation_decision\", \"interface_contract\", \"migration_state\", \"code_pattern\", \"deprecation_notice\"],\n edge_type: [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\", \"belongs_to\", \"relates_to_thesis\", \"works_at\", \"invested_in\", \"competes_with\", \"participates_in\", \"founded_by\", \"evaluates\", \"performs\", \"function_in\", \"impacts\", \"raised_from\", \"mentioned_in\", \"perspective_on\", \"plays_theme\"],\n worktree_type: [\"belief_test\", \"lens\", \"existential\", \"contradiction\", \"refinement\", \"coverage\", \"discovery\", \"clarification\", \"confirmation\"],\n worktree_phase: [\"cluster_mapping\", \"hypothesis_formation\", \"question_generation\", \"evidence_collection\", \"synthesis\", \"decision\", \"retrospective\"],\n activity_type: [\"create\", \"update\", \"review\", \"merge\", \"archive\", \"comment\", \"status_change\", \"evidence_added\", \"question_added\"],\n lens_perspective_type: [\"investigation\", \"monitoring\", \"analysis\", \"comparison\", \"taxonomy\"],\n node_type: [\"belief\", \"question\", \"theme\", \"deal\", \"evidence\", \"claim\", \"synthesis\", \"source\", \"excerpt\", \"atomic_fact\", \"person\", \"company\", \"investor\", \"value_chain\", \"function\", \"decision\"],\n};\n\nconst MODEL_REGISTRY = [\n [\"claude-sonnet-4\", \"Claude Sonnet 4\", \"claude-sonnet-4-20250514\", \"anthropic\", 200000, 64000, 1, 3, 15],\n [\"claude-sonnet-4.5\", \"Claude Sonnet 4.5\", \"claude-sonnet-4-5-20250929\", \"anthropic\", 200000, 64000, 1, 3, 15],\n [\"claude-opus-4\", \"Claude Opus 4\", \"claude-opus-4-20250514\", \"anthropic\", 200000, 32000, 1, 15, 75],\n [\"gpt-4o\", \"GPT-4o\", \"gpt-4o\", \"openai\", 128000, 16000, 0.7, 5, 15],\n [\"gpt-4o-mini\", \"GPT-4o Mini\", \"gpt-4o-mini\", \"openai\", 128000, 16000, 0.7, 0.15, 0.6],\n [\"gemini-2.5-pro\", \"Gemini 2.5 Pro\", \"gemini-2.5-pro\", \"google\", 1000000, 32000, 0.7, 1.25, 10],\n [\"sonar-pro\", \"Sonar Pro\", \"sonar-pro\", \"perplexity\", 128000, 8000, 0.3, 3, 15],\n] as const;\n\nconst MODEL_SLOTS = [\n [\"primer_default\", \"primers\", \"Default primer generation for general topics\", \"claude-sonnet-4\", \"agents/primer/system\", 1, 4000, [\"text_generation\", \"reasoning\"]],\n [\"primer_technical\", \"primers\", \"Technical and engineering focused primers\", \"claude-sonnet-4\", \"agents/primer/system\", 0.8, 4000, [\"text_generation\", \"reasoning\", \"code\"]],\n [\"primer_intelligence\", \"document_intelligence\", \"Extract evidence, beliefs, and questions from documents\", \"claude-sonnet-4\", \"agents/primer-intelligence\", 0.3, 8000, [\"text_generation\", \"structured_output\", \"reasoning\"]],\n [\"fact_checker\", \"research\", \"Verify claims without web search\", \"claude-sonnet-4\", \"agents/internet-fact-checker\", 0.3, 4000, [\"text_generation\", \"reasoning\"]],\n [\"fact_checker_web\", \"research\", \"Verify claims with web search\", \"sonar-pro\", \"agents/internet-fact-checker\", 0.3, 4000, [\"web_search\"]],\n [\"deep_research\", \"research\", \"Deep research with extended analysis\", \"claude-opus-4\", undefined, 0.7, 8000, [\"text_generation\", \"reasoning\", \"long_context\"]],\n [\"belief_classifier\", \"classification\", \"Classify beliefs by epistemic type\", \"claude-sonnet-4\", \"classification/belief-category\", 0.2, 1000, [\"text_generation\", \"reasoning\"]],\n [\"evidence_classifier\", \"classification\", \"Classify evidence methodology and quality\", \"claude-sonnet-4\", \"classification/evidence-rules\", 0.3, 1000, [\"text_generation\", \"reasoning\"]],\n [\"edge_classifier\", \"classification\", \"Classify edge reasoning method and temporal class\", \"claude-sonnet-4\", \"classification/epistemic-guidance\", 0.3, 1000, [\"text_generation\", \"reasoning\"]],\n [\"entity_extractor\", \"extraction\", \"Extract entities from text\", \"claude-sonnet-4\", undefined, 0.2, 2000, [\"text_generation\", \"structured_output\"]],\n [\"graph_intelligence_query\", \"graph_intelligence\", \"Analyze graph health, gaps, and structural risks\", \"claude-sonnet-4\", \"graph-intelligence/query\", 0.5, 8000, [\"text_generation\", \"reasoning\", \"tool_use\"]],\n [\"graph_intelligence_suggestions\", \"graph_intelligence\", \"Extract actionable graph suggestions\", \"claude-sonnet-4\", \"graph-intelligence/suggestions-extraction\", 0.2, 4000, [\"text_generation\", \"structured_output\"]],\n [\"text_to_cypher\", \"graph_intelligence\", \"Generate read-only Cypher from graph questions\", \"claude-sonnet-4\", \"graph-intelligence/text-to-cypher\", 0.2, 2000, [\"text_generation\", \"code\", \"reasoning\"]],\n [\"contradiction_verifier\", \"epistemic\", \"Verify semantic contradiction candidates\", \"claude-sonnet-4\", \"lucern/verify-contradiction\", 0.2, 500, [\"text_generation\", \"reasoning\"]],\n [\"task_execution\", \"tasks\", \"Execute research tasks with structured analysis\", \"claude-sonnet-4\", undefined, 0.3, 4000, [\"text_generation\", \"reasoning\", \"structured_output\"]],\n [\"sprint_unified\", \"sprints\", \"Unified worktree chat across all phases\", \"claude-opus-4\", \"worktrees/unified-system-prompt\", 0.7, 8000, [\"text_generation\", \"reasoning\", \"tool_use\"]],\n [\"evidence_assessor\", \"sprints\", \"Assess evidence for belief valence and certainty\", \"claude-sonnet-4\", \"worktrees/scoring/evidence-assessor\", 0.3, 4000, [\"text_generation\", \"reasoning\", \"structured_output\"]],\n [\"title_generator\", \"utility\", \"Generate concise titles\", \"gpt-4o-mini\", undefined, 0.7, 100, [\"text_generation\", \"fast\", \"cheap\"]],\n [\"help_desk_agent\", \"utility\", \"Help desk support agent for workflow guidance\", \"claude-sonnet-4\", \"agents/help-desk-agent\", 0.4, 2000, [\"text_generation\", \"reasoning\"]],\n [\"bug_detective_agent\", \"utility\", \"Bug triage assistant for structured diagnosis\", \"claude-sonnet-4\", \"agents/bug-detective-agent\", 0.3, 2000, [\"text_generation\", \"reasoning\"]],\n] as const;\n\nfunction labelFor(value: string): string {\n return value\n .split(/[_-]/)\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\" \");\n}\n\nfunction seedContext(options: TenantBootstrapTemplateSeedOptions) {\n return {\n now: options.now ?? DEFAULT_SEED_TIME,\n templateTenantId: options.templateTenantId ?? TENANT_BOOTSTRAP_TEMPLATE_TENANT_ID,\n actor: options.actorPrincipalId ?? TENANT_BOOTSTRAP_TEMPLATE_ACTOR,\n version: options.version ?? TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION,\n };\n}\n\nfunction toolCategory(contract: FunctionContract): ToolCategory {\n if (contract.surfaceIntent === \"system\") return \"system\";\n if (contract.effects.includes(\"admin\")) return \"admin\";\n if (contract.effects.includes(\"write\") || contract.kind !== \"query\") return \"write\";\n return \"read\";\n}\n\nfunction requiredRole(category: ToolCategory): ToolRole {\n if (category === \"system\") return \"service_agent\";\n if (category === \"admin\") return \"tenant_admin\";\n if (category === \"write\") return \"editor\";\n return \"viewer\";\n}\n\nfunction requiredAction(category: ToolCategory) {\n if (category === \"admin\" || category === \"system\") return \"admin\";\n if (category === \"write\") return \"mutate\";\n return \"read\";\n}\n\nfunction enabledSurfaces(contract: FunctionContract): string[] {\n return [\n contract.surfaces.mcp !== \"none\" ? \"mcp\" : undefined,\n contract.surfaces.sdk !== \"none\" ? \"sdk\" : undefined,\n contract.surfaces.cli !== \"none\" ? \"cli\" : undefined,\n contract.surfaces.rest !== \"none\" ? \"api\" : undefined,\n ].filter((value): value is string => Boolean(value));\n}\n\nfunction buildToolRegistry(now: number, actor: string, version: string) {\n const rows = new Map<string, Record<string, unknown>>();\n for (const contract of ALL_FUNCTION_CONTRACTS) {\n const surfaces = enabledSurfaces(contract);\n if (surfaces.length === 0) continue;\n const category = toolCategory(contract);\n const readOnly = category === \"read\";\n const toolName = contract.mcp.toolName || contract.name;\n rows.set(toolName, {\n toolName,\n description: contract.openapi.summary,\n version,\n status: \"active\",\n requiredRole: requiredRole(category),\n requiredAction: requiredAction(category),\n surfaces,\n category,\n parameterSchema: { contract: contract.name, sdk: contract.sdk },\n handlerRef: contract.convex\n ? `${contract.convex.module}.${contract.convex.functionName}`\n : contract.name,\n executionAdapter:\n contract.convex?.kind === \"action\"\n ? \"convex_action\"\n : contract.convex?.kind === \"mutation\"\n ? \"convex_mutation\"\n : \"mcp_tool\",\n safetyMetadata: {\n readOnly,\n idempotent:\n readOnly ||\n contract.idempotent === true ||\n contract.idempotent === \"required\",\n sideEffectLevel: readOnly ? \"none\" : category === \"admin\" ? \"high\" : \"low\",\n },\n isCore: true,\n mcVersion: version,\n registeredBy: actor,\n registeredAt: now,\n });\n }\n return [...rows.values()].sort((a, b) =>\n String(a.toolName).localeCompare(String(b.toolName))\n );\n}\n\nfunction buildToolAcls(tools: Array<Record<string, unknown>>, now: number, actor: string) {\n return tools.flatMap((tool) =>\n (ROLE_GRANTS[tool.requiredRole as ToolRole] ?? [tool.requiredRole as ToolRole]).map(\n (role) => ({ role, toolName: tool.toolName, createdBy: actor, createdAt: now })\n )\n );\n}\n\nfunction buildMcpWritePolicy(now: number, actor: string) {\n return [\n ...[\"viewer\", \"auditor\"].map((role) => ({\n role,\n toolCategory: \"write\",\n permission: \"deny\",\n enabled: true,\n rationale: \"Read-only roles cannot mutate the reasoning graph.\",\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n })),\n ...[\"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"].map((role) => ({\n role,\n toolCategory: \"write\",\n permission: \"allow\",\n maxWritesPerSession: role === \"editor\" ? 200 : undefined,\n enabled: true,\n rationale: \"Default global write policy for trusted graph mutation roles.\",\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n })),\n ];\n}\n\nfunction buildTenantPolicies(tenantId: string, now: number, actor: string) {\n const rows = [\n [\"viewer\", \"Read graph and runtime metadata.\", [{ resource: \"graph\", actions: [\"read\"] }]],\n [\"auditor\", \"Read graph, audit, and policy decisions.\", [{ resource: \"audit\", actions: [\"read\", \"export\"] }]],\n [\"editor\", \"Read and mutate tenant reasoning state.\", [{ resource: \"graph\", actions: [\"read\", \"create\", \"update\", \"mutate\"] }]],\n [\"workspace_admin\", \"Manage workspace-scoped reasoning operations.\", [{ resource: \"workspace\", actions: [\"read\", \"update\", \"admin\"] }]],\n [\"tenant_admin\", \"Manage tenant policy, tools, users, and publication.\", [{ resource: \"tenant\", actions: [\"read\", \"update\", \"admin\"] }, { resource: \"policy\", actions: [\"read\", \"create\", \"update\", \"admin\"] }]],\n [\"service_agent\", \"Service principal execution role for automation.\", [{ resource: \"runtime\", actions: [\"read\", \"create\", \"update\"] }, { resource: \"graph\", actions: [\"read\", \"create\", \"update\", \"mutate\"] }]],\n ] as const;\n return rows.map(([roleName, description, permissions]) => ({\n tenantId,\n roleName,\n description,\n permissions,\n groupBindings: [],\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n updatedBy: actor,\n }));\n}\n\nfunction modelRegistryRows(now: number) {\n return MODEL_REGISTRY.map(([key, name, modelId, provider, contextWindow, maxOutputTokens, defaultTemperature, inputCostPer1M, outputCostPer1M]) => ({\n key,\n name,\n modelId,\n provider,\n capabilities: [\"text_generation\", \"reasoning\"],\n contextWindow,\n maxOutputTokens,\n defaultTemperature,\n inputCostPer1M,\n outputCostPer1M,\n recommended: true,\n enabled: true,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction modelFunctionSlotRows(now: number) {\n return MODEL_SLOTS.map(([slot, category, description, modelKey, promptName, temperature, maxTokens, requiredCapabilities]) => ({\n slot,\n category,\n description,\n modelKey,\n promptName,\n temperature,\n maxTokens,\n requiredCapabilities,\n enabled: true,\n isDefault: true,\n notes: `Seeded by ${TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION}.`,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction modelSlotConfigRows(now: number) {\n return MODEL_SLOTS.map(([slot, , , modelKey, , temperature, maxTokens]) => ({\n slot,\n modelKey,\n temperature,\n maxTokens,\n enabled: true,\n notes: `Default routing for ${slot}.`,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction schemaEnumRows(now: number) {\n return Object.entries(ENUM_VALUES).flatMap(([category, values]) =>\n values.map((value, index) => ({\n category,\n value,\n label: labelFor(value),\n description: `${labelFor(value)} ${category} value.`,\n tier: \"platform\",\n metadata: { seedVersion: TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION },\n isDefault: index === 0,\n sortOrder: index + 1,\n status: \"active\",\n createdAt: now,\n updatedAt: now,\n }))\n );\n}\n\nexport function buildTenantBootstrapTemplateSeedRows(\n options: TenantBootstrapTemplateSeedOptions = {}\n): TenantBootstrapTemplateSeedRows {\n const ctx = seedContext(options);\n const toolRegistry = buildToolRegistry(ctx.now, ctx.actor, ctx.version);\n return {\n kernel: {\n backgroundJobSettings: [\n { jobKey: \"neo4j_sync\", enabled: false, notes: \"Disabled until graph-sync credentials are configured.\", updatedAt: ctx.now, updatedBy: ctx.actor },\n { jobKey: \"calibration_rollups\", enabled: true, notes: \"Compute calibration rollups when calibration data exists.\", updatedAt: ctx.now, updatedBy: ctx.actor },\n ],\n ontologyDefinitions: [\n { ontologyKey: \"lucern-core\", name: \"Lucern Core\", description: \"Core Lucern reasoning taxonomy.\", tier: \"platform\", status: \"active\", createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now },\n ],\n ontologyVersions: [\n {\n ontologyId: \"lucern-core\",\n ontologyKey: \"lucern-core\",\n version: ctx.version,\n status: \"published\",\n entityTypes: [\"belief\", \"question\", \"evidence\", \"answer\", \"decision\", \"task\", \"worktree\", \"topic\", \"source\"].map((value) => ({ value, label: labelFor(value) })),\n edgeTypes: [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\"].map((value) => ({ value, label: labelFor(value) })),\n releaseNotes: \"Initial platform ontology seed.\",\n publishedBy: ctx.actor,\n publishedAt: ctx.now,\n createdAt: ctx.now,\n },\n ],\n publicationRules: [\n { tenantId: ctx.templateTenantId, name: \"publish-high-confidence-beliefs\", description: \"Publish high-confidence beliefs to tenant-level consumers.\", conditionType: \"confidence_threshold\", conditions: { minConfidence: 0.85 }, enabled: true, priority: 100, createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now },\n ],\n schemaEnumConfig: schemaEnumRows(ctx.now),\n },\n identity: {\n mcpWritePolicy: buildMcpWritePolicy(ctx.now, ctx.actor),\n modelFunctionSlots: modelFunctionSlotRows(ctx.now),\n modelRegistry: modelRegistryRows(ctx.now),\n modelSlotConfigs: modelSlotConfigRows(ctx.now),\n platformAudiences: [\n [\"internal\", \"Internal\", \"internal\"],\n [\"lp\", \"Limited Partners\", \"restricted_external\"],\n [\"public\", \"Public\", \"public\"],\n ].map(([audienceKey, audienceLabel, audienceClass]) => ({ tenantId: ctx.templateTenantId, audienceKey, audienceLabel, audienceClass, status: \"active\", metadata: { seedVersion: ctx.version }, createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now })),\n tenantConfig: [\n { tenantId: ctx.templateTenantId, authPolicyMode: \"open\", defaultSessionTTL: 28800, defaultTopicVisibility: \"tenant\", featureFlags: { sdkBootstrapSeeds: true, interactiveRoleAuth: true }, maxWorkspaceCount: 25, defaultModelSlotOverrides: {}, updatedAt: ctx.now, updatedBy: ctx.actor },\n ],\n tenantIntegrations: [\n { tenantId: ctx.templateTenantId, integrationKey: \"web-search\", displayName: \"Web Search\", description: \"Tenant-configurable search integration placeholder.\", category: \"search\", capabilities: [\"search\", \"deep_research\", \"summarize\"], config: { apiBaseUrl: \"https://example.invalid/lucern/search\", authType: \"none\", timeout: 30000 }, endpoints: { search: { path: \"/search\", method: \"POST\", queryParamName: \"query\", resultPath: \"results\" } }, status: \"disabled\", usageCount: 0, createdAt: ctx.now, updatedAt: ctx.now, createdBy: ctx.actor },\n ],\n tenantPolicies: buildTenantPolicies(ctx.templateTenantId, ctx.now, ctx.actor),\n toolAcls: buildToolAcls(toolRegistry, ctx.now, ctx.actor),\n toolRegistry,\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/tenant-bootstrap-seed.defaults.ts"],"names":[],"mappings":"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","file":"tenant-bootstrap-seed.defaults.js","sourcesContent":["import { ALL_FUNCTION_CONTRACTS } from \"./function-registry/index.js\";\nimport type { FunctionContract } from \"./function-registry/types.js\";\n\nexport const TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION = \"2026-05-11\" as const;\nexport const TENANT_BOOTSTRAP_TEMPLATE_TENANT_ID = \"tenant_template\" as const;\nexport const TENANT_BOOTSTRAP_TEMPLATE_ACTOR =\n \"system:lucern-template-seed\" as const;\n\nexport type TenantBootstrapTemplateSeedRows = {\n kernel: Record<string, Array<Record<string, unknown>>>;\n \"control-plane\": Record<string, Array<Record<string, unknown>>>;\n};\n\nexport type TenantBootstrapTemplateSeedOptions = {\n now?: number;\n templateTenantId?: string;\n actorPrincipalId?: string;\n version?: string;\n};\n\ntype ToolRole =\n | \"platform_admin\"\n | \"tenant_admin\"\n | \"workspace_admin\"\n | \"editor\"\n | \"viewer\"\n | \"auditor\"\n | \"service_agent\";\ntype ToolCategory = \"read\" | \"write\" | \"admin\" | \"system\";\n\nconst DEFAULT_SEED_TIME = Date.UTC(2026, 3, 30);\n\nconst TEMPLATE_SEED_METADATA_SOURCE = \"lucern-template\" as const;\n\ntype TenantBootstrapSeedMetadata = {\n seedSource: \"lucern-template\" | \"tenant-override\";\n seedVersion: string;\n seedType: \"template-default\" | \"tenant-override\";\n};\n\nconst ROLE_GRANTS: Record<ToolRole, ToolRole[]> = {\n viewer: [\"viewer\", \"auditor\", \"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n auditor: [\"auditor\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n editor: [\"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n workspace_admin: [\"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"],\n tenant_admin: [\"tenant_admin\", \"platform_admin\", \"service_agent\"],\n platform_admin: [\"platform_admin\", \"service_agent\"],\n service_agent: [\"service_agent\"],\n};\n\nconst ENUM_VALUES: Record<string, readonly string[]> = {\n topic_type: [\"generic\"],\n branch_schema: [\"pillar\", \"track\", \"dimension\", \"axis\", \"phase\"],\n belief_type: [\"belief\", \"hypothesis\", \"principle\", \"invariant\", \"assumption\", \"tenet\", \"prior\", \"preference\", \"goal\", \"forecast\", \"decision\", \"constraint\", \"tradeoff\", \"policy\", \"implementation_choice\", \"implementation_decision\", \"interface_contract\", \"migration_state\", \"code_pattern\", \"deprecation_notice\"],\n edge_type: [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\", \"belongs_to\", \"relates_to_thesis\", \"works_at\", \"invested_in\", \"competes_with\", \"participates_in\", \"founded_by\", \"evaluates\", \"performs\", \"function_in\", \"impacts\", \"raised_from\", \"mentioned_in\", \"perspective_on\", \"plays_theme\"],\n worktree_type: [\"belief_test\", \"lens\", \"existential\", \"contradiction\", \"refinement\", \"coverage\", \"discovery\", \"clarification\", \"confirmation\"],\n worktree_phase: [\"cluster_mapping\", \"hypothesis_formation\", \"question_generation\", \"evidence_collection\", \"synthesis\", \"decision\", \"retrospective\"],\n activity_type: [\"create\", \"update\", \"review\", \"merge\", \"archive\", \"comment\", \"status_change\", \"evidence_added\", \"question_added\"],\n lens_perspective_type: [\"investigation\", \"monitoring\", \"analysis\", \"comparison\", \"taxonomy\"],\n node_type: [\"belief\", \"question\", \"theme\", \"deal\", \"evidence\", \"claim\", \"synthesis\", \"source\", \"excerpt\", \"atomic_fact\", \"person\", \"company\", \"investor\", \"value_chain\", \"function\", \"decision\"],\n};\n\nconst MODEL_REGISTRY = [\n [\"claude-sonnet-4\", \"Claude Sonnet 4\", \"claude-sonnet-4-20250514\", \"anthropic\", 200000, 64000, 1, 3, 15],\n [\"claude-sonnet-4.5\", \"Claude Sonnet 4.5\", \"claude-sonnet-4-5-20250929\", \"anthropic\", 200000, 64000, 1, 3, 15],\n [\"claude-opus-4\", \"Claude Opus 4\", \"claude-opus-4-20250514\", \"anthropic\", 200000, 32000, 1, 15, 75],\n [\"gpt-4o\", \"GPT-4o\", \"gpt-4o\", \"openai\", 128000, 16000, 0.7, 5, 15],\n [\"gpt-4o-mini\", \"GPT-4o Mini\", \"gpt-4o-mini\", \"openai\", 128000, 16000, 0.7, 0.15, 0.6],\n [\"gemini-2.5-pro\", \"Gemini 2.5 Pro\", \"gemini-2.5-pro\", \"google\", 1000000, 32000, 0.7, 1.25, 10],\n [\"sonar-pro\", \"Sonar Pro\", \"sonar-pro\", \"perplexity\", 128000, 8000, 0.3, 3, 15],\n] as const;\n\nconst MODEL_SLOTS = [\n [\"primer_default\", \"primers\", \"Default primer generation for general topics\", \"claude-sonnet-4\", \"agents/primer/system\", 1, 4000, [\"text_generation\", \"reasoning\"]],\n [\"primer_technical\", \"primers\", \"Technical and engineering focused primers\", \"claude-sonnet-4\", \"agents/primer/system\", 0.8, 4000, [\"text_generation\", \"reasoning\", \"code\"]],\n [\"primer_intelligence\", \"document_intelligence\", \"Extract evidence, beliefs, and questions from documents\", \"claude-sonnet-4\", \"agents/primer-intelligence\", 0.3, 8000, [\"text_generation\", \"structured_output\", \"reasoning\"]],\n [\"fact_checker\", \"research\", \"Verify claims without web search\", \"claude-sonnet-4\", \"agents/internet-fact-checker\", 0.3, 4000, [\"text_generation\", \"reasoning\"]],\n [\"fact_checker_web\", \"research\", \"Verify claims with web search\", \"sonar-pro\", \"agents/internet-fact-checker\", 0.3, 4000, [\"web_search\"]],\n [\"deep_research\", \"research\", \"Deep research with extended analysis\", \"claude-opus-4\", undefined, 0.7, 8000, [\"text_generation\", \"reasoning\", \"long_context\"]],\n [\"belief_classifier\", \"classification\", \"Classify beliefs by epistemic type\", \"claude-sonnet-4\", \"classification/belief-category\", 0.2, 1000, [\"text_generation\", \"reasoning\"]],\n [\"evidence_classifier\", \"classification\", \"Classify evidence methodology and quality\", \"claude-sonnet-4\", \"classification/evidence-rules\", 0.3, 1000, [\"text_generation\", \"reasoning\"]],\n [\"edge_classifier\", \"classification\", \"Classify edge reasoning method and temporal class\", \"claude-sonnet-4\", \"classification/epistemic-guidance\", 0.3, 1000, [\"text_generation\", \"reasoning\"]],\n [\"entity_extractor\", \"extraction\", \"Extract entities from text\", \"claude-sonnet-4\", undefined, 0.2, 2000, [\"text_generation\", \"structured_output\"]],\n [\"graph_intelligence_query\", \"graph_intelligence\", \"Analyze graph health, gaps, and structural risks\", \"claude-sonnet-4\", \"graph-intelligence/query\", 0.5, 8000, [\"text_generation\", \"reasoning\", \"tool_use\"]],\n [\"graph_intelligence_suggestions\", \"graph_intelligence\", \"Extract actionable graph suggestions\", \"claude-sonnet-4\", \"graph-intelligence/suggestions-extraction\", 0.2, 4000, [\"text_generation\", \"structured_output\"]],\n [\"text_to_cypher\", \"graph_intelligence\", \"Generate read-only Cypher from graph questions\", \"claude-sonnet-4\", \"graph-intelligence/text-to-cypher\", 0.2, 2000, [\"text_generation\", \"code\", \"reasoning\"]],\n [\"contradiction_verifier\", \"epistemic\", \"Verify semantic contradiction candidates\", \"claude-sonnet-4\", \"lucern/verify-contradiction\", 0.2, 500, [\"text_generation\", \"reasoning\"]],\n [\"task_execution\", \"tasks\", \"Execute research tasks with structured analysis\", \"claude-sonnet-4\", undefined, 0.3, 4000, [\"text_generation\", \"reasoning\", \"structured_output\"]],\n [\"sprint_unified\", \"sprints\", \"Unified worktree chat across all phases\", \"claude-opus-4\", \"worktrees/unified-system-prompt\", 0.7, 8000, [\"text_generation\", \"reasoning\", \"tool_use\"]],\n [\"evidence_assessor\", \"sprints\", \"Assess evidence for belief valence and certainty\", \"claude-sonnet-4\", \"worktrees/scoring/evidence-assessor\", 0.3, 4000, [\"text_generation\", \"reasoning\", \"structured_output\"]],\n [\"title_generator\", \"utility\", \"Generate concise titles\", \"gpt-4o-mini\", undefined, 0.7, 100, [\"text_generation\", \"fast\", \"cheap\"]],\n [\"help_desk_agent\", \"utility\", \"Help desk support agent for workflow guidance\", \"claude-sonnet-4\", \"agents/help-desk-agent\", 0.4, 2000, [\"text_generation\", \"reasoning\"]],\n [\"bug_detective_agent\", \"utility\", \"Bug triage assistant for structured diagnosis\", \"claude-sonnet-4\", \"agents/bug-detective-agent\", 0.3, 2000, [\"text_generation\", \"reasoning\"]],\n] as const;\n\nfunction labelFor(value: string): string {\n return value\n .split(/[_-]/)\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\" \");\n}\n\nfunction templateSeedMetadata(version: string): TenantBootstrapSeedMetadata {\n return {\n seedSource: TEMPLATE_SEED_METADATA_SOURCE,\n seedVersion: version,\n seedType: \"template-default\",\n };\n}\n\nfunction seedContext(options: TenantBootstrapTemplateSeedOptions) {\n return {\n now: options.now ?? DEFAULT_SEED_TIME,\n templateTenantId: options.templateTenantId ?? TENANT_BOOTSTRAP_TEMPLATE_TENANT_ID,\n actor: options.actorPrincipalId ?? TENANT_BOOTSTRAP_TEMPLATE_ACTOR,\n version: options.version ?? TENANT_BOOTSTRAP_TEMPLATE_SEED_VERSION,\n };\n}\n\nfunction toolCategory(contract: FunctionContract): ToolCategory {\n if (contract.surfaceIntent === \"system\") return \"system\";\n if (contract.effects.includes(\"admin\")) return \"admin\";\n if (contract.effects.includes(\"write\") || contract.kind !== \"query\") return \"write\";\n return \"read\";\n}\n\nfunction requiredRole(category: ToolCategory): ToolRole {\n if (category === \"system\") return \"service_agent\";\n if (category === \"admin\") return \"tenant_admin\";\n if (category === \"write\") return \"editor\";\n return \"viewer\";\n}\n\nfunction requiredAction(category: ToolCategory) {\n if (category === \"admin\" || category === \"system\") return \"admin\";\n if (category === \"write\") return \"mutate\";\n return \"read\";\n}\n\nfunction enabledSurfaces(contract: FunctionContract): string[] {\n return [\n contract.surfaces.mcp !== \"none\" ? \"mcp\" : undefined,\n contract.surfaces.sdk !== \"none\" ? \"sdk\" : undefined,\n contract.surfaces.cli !== \"none\" ? \"cli\" : undefined,\n contract.surfaces.rest !== \"none\" ? \"api\" : undefined,\n ].filter((value): value is string => Boolean(value));\n}\n\nfunction buildToolRegistry(now: number, actor: string, version: string) {\n const rows = new Map<string, Record<string, unknown>>();\n for (const contract of ALL_FUNCTION_CONTRACTS) {\n const surfaces = enabledSurfaces(contract);\n if (surfaces.length === 0) continue;\n const category = toolCategory(contract);\n const readOnly = category === \"read\";\n const toolName = contract.mcp.toolName || contract.name;\n rows.set(toolName, {\n toolName,\n description: contract.openapi.summary,\n version,\n status: \"active\",\n requiredRole: requiredRole(category),\n requiredAction: requiredAction(category),\n surfaces,\n category,\n parameterSchema: { contract: contract.name, sdk: contract.sdk },\n handlerRef: contract.convex\n ? `${contract.convex.module}.${contract.convex.functionName}`\n : contract.name,\n executionAdapter:\n contract.convex?.kind === \"action\"\n ? \"convex_action\"\n : contract.convex?.kind === \"mutation\"\n ? \"convex_mutation\"\n : \"mcp_tool\",\n safetyMetadata: {\n readOnly,\n idempotent:\n readOnly ||\n contract.idempotent === true ||\n contract.idempotent === \"required\",\n sideEffectLevel: readOnly ? \"none\" : category === \"admin\" ? \"high\" : \"low\",\n },\n isCore: true,\n mcVersion: version,\n registeredBy: actor,\n registeredAt: now,\n });\n }\n return [...rows.values()].sort((a, b) =>\n String(a.toolName).localeCompare(String(b.toolName))\n );\n}\n\nfunction buildToolAcls(tools: Array<Record<string, unknown>>, now: number, actor: string) {\n return tools.flatMap((tool) =>\n (ROLE_GRANTS[tool.requiredRole as ToolRole] ?? [tool.requiredRole as ToolRole]).map(\n (role) => ({ role, toolName: tool.toolName, createdBy: actor, createdAt: now })\n )\n );\n}\n\nfunction buildMcpWritePolicy(now: number, actor: string) {\n return [\n ...[\"viewer\", \"auditor\"].map((role) => ({\n role,\n toolCategory: \"write\",\n permission: \"deny\",\n enabled: true,\n rationale: \"Read-only roles cannot mutate the reasoning graph.\",\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n })),\n ...[\"editor\", \"workspace_admin\", \"tenant_admin\", \"platform_admin\", \"service_agent\"].map((role) => ({\n role,\n toolCategory: \"write\",\n permission: \"allow\",\n maxWritesPerSession: role === \"editor\" ? 200 : undefined,\n enabled: true,\n rationale: \"Default global write policy for trusted graph mutation roles.\",\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n })),\n ];\n}\n\nfunction buildTenantPolicies(tenantId: string, now: number, actor: string) {\n const rows = [\n [\"viewer\", \"Read graph and runtime metadata.\", [{ resource: \"graph\", actions: [\"read\"] }]],\n [\"auditor\", \"Read graph, audit, and policy decisions.\", [{ resource: \"audit\", actions: [\"read\", \"export\"] }]],\n [\"editor\", \"Read and mutate tenant reasoning state.\", [{ resource: \"graph\", actions: [\"read\", \"create\", \"update\", \"mutate\"] }]],\n [\"workspace_admin\", \"Manage workspace-scoped reasoning operations.\", [{ resource: \"workspace\", actions: [\"read\", \"update\", \"admin\"] }]],\n [\"tenant_admin\", \"Manage tenant policy, tools, users, and publication.\", [{ resource: \"tenant\", actions: [\"read\", \"update\", \"admin\"] }, { resource: \"policy\", actions: [\"read\", \"create\", \"update\", \"admin\"] }]],\n [\"service_agent\", \"Service principal execution role for automation.\", [{ resource: \"runtime\", actions: [\"read\", \"create\", \"update\"] }, { resource: \"graph\", actions: [\"read\", \"create\", \"update\", \"mutate\"] }]],\n ] as const;\n return rows.map(([roleName, description, permissions]) => ({\n tenantId,\n roleName,\n description,\n permissions,\n groupBindings: [],\n createdAt: now,\n updatedAt: now,\n createdBy: actor,\n updatedBy: actor,\n }));\n}\n\nfunction modelRegistryRows(now: number) {\n return MODEL_REGISTRY.map(([key, name, modelId, provider, contextWindow, maxOutputTokens, defaultTemperature, inputCostPer1M, outputCostPer1M]) => ({\n key,\n name,\n modelId,\n provider,\n capabilities: [\"text_generation\", \"reasoning\"],\n contextWindow,\n maxOutputTokens,\n defaultTemperature,\n inputCostPer1M,\n outputCostPer1M,\n recommended: true,\n enabled: true,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction modelFunctionSlotRows(now: number, version: string) {\n return MODEL_SLOTS.map(([slot, category, description, modelKey, promptName, temperature, maxTokens, requiredCapabilities]) => ({\n slot,\n category,\n description,\n modelKey,\n promptName,\n temperature,\n maxTokens,\n requiredCapabilities,\n enabled: true,\n isDefault: true,\n notes: `Seeded by ${version}.`,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction modelSlotConfigRows(now: number, version: string) {\n return MODEL_SLOTS.map(([slot, , , modelKey, , temperature, maxTokens]) => ({\n slot,\n modelKey,\n temperature,\n maxTokens,\n enabled: true,\n notes: `Default routing for ${slot}. Seeded by ${version}.`,\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction schemaEnumRows(now: number, version: string) {\n return Object.entries(ENUM_VALUES).flatMap(([category, values]) =>\n values.map((value, index) => ({\n category,\n value,\n label: labelFor(value),\n description: `${labelFor(value)} ${category} value.`,\n tier: \"platform\",\n metadata: templateSeedMetadata(version),\n isDefault: index === 0,\n sortOrder: index + 1,\n status: \"active\",\n createdAt: now,\n updatedAt: now,\n }))\n );\n}\n\nexport function buildTenantBootstrapTemplateSeedRows(\n options: TenantBootstrapTemplateSeedOptions = {}\n): TenantBootstrapTemplateSeedRows {\n const ctx = seedContext(options);\n const toolRegistry = buildToolRegistry(ctx.now, ctx.actor, ctx.version);\n return {\n kernel: {\n backgroundJobSettings: [\n { jobKey: \"neo4j_sync\", enabled: false, notes: \"Disabled until graph-sync credentials are configured.\", updatedAt: ctx.now, updatedBy: ctx.actor },\n { jobKey: \"calibration_rollups\", enabled: true, notes: \"Compute calibration rollups when calibration data exists.\", updatedAt: ctx.now, updatedBy: ctx.actor },\n ],\n ontologyDefinitions: [\n { ontologyKey: \"lucern-core\", name: \"Lucern Core\", description: \"Core Lucern reasoning taxonomy.\", tier: \"platform\", status: \"active\", createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now },\n ],\n ontologyVersions: [\n {\n ontologyId: \"lucern-core\",\n ontologyKey: \"lucern-core\",\n version: ctx.version,\n status: \"published\",\n entityTypes: [\"belief\", \"question\", \"evidence\", \"answer\", \"decision\", \"task\", \"worktree\", \"topic\", \"source\"].map((value) => ({ value, label: labelFor(value) })),\n edgeTypes: [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\"].map((value) => ({ value, label: labelFor(value) })),\n releaseNotes: \"Initial platform ontology seed.\",\n publishedBy: ctx.actor,\n publishedAt: ctx.now,\n createdAt: ctx.now,\n },\n ],\n publicationRules: [\n { tenantId: ctx.templateTenantId, name: \"publish-high-confidence-beliefs\", description: \"Publish high-confidence beliefs to tenant-level consumers.\", conditionType: \"confidence_threshold\", conditions: { minConfidence: 0.85 }, enabled: true, priority: 100, createdBy: ctx.actor, createdAt: ctx.now, updatedAt: ctx.now },\n ],\n schemaEnumConfig: schemaEnumRows(ctx.now, ctx.version),\n },\n \"control-plane\": {\n mcpWritePolicy: buildMcpWritePolicy(ctx.now, ctx.actor),\n modelFunctionSlots: modelFunctionSlotRows(ctx.now, ctx.version),\n modelRegistry: modelRegistryRows(ctx.now),\n modelSlotConfigs: modelSlotConfigRows(ctx.now, ctx.version),\n platformAudiences: [\n [\"internal\", \"Internal\", \"internal\"],\n [\"lp\", \"Limited Partners\", \"restricted_external\"],\n [\"public\", \"Public\", \"public\"],\n ].map(([audienceKey, audienceLabel, audienceClass]) => ({\n tenantId: ctx.templateTenantId,\n audienceKey,\n audienceLabel,\n audienceClass,\n status: \"active\",\n metadata: templateSeedMetadata(ctx.version),\n createdBy: ctx.actor,\n createdAt: ctx.now,\n updatedAt: ctx.now,\n })),\n tenantConfig: [\n { tenantId: ctx.templateTenantId, authPolicyMode: \"open\", defaultSessionTTL: 28800, defaultTopicVisibility: \"tenant\", featureFlags: { sdkBootstrapSeeds: true, interactiveRoleAuth: true }, maxWorkspaceCount: 25, defaultModelSlotOverrides: {}, updatedAt: ctx.now, updatedBy: ctx.actor },\n ],\n tenantIntegrations: [\n { tenantId: ctx.templateTenantId, integrationKey: \"web-search\", displayName: \"Web Search\", description: \"Tenant-configurable search integration placeholder.\", category: \"search\", capabilities: [\"search\", \"deep_research\", \"summarize\"], config: { apiBaseUrl: \"https://example.invalid/lucern/search\", authType: \"none\", timeout: 30000 }, endpoints: { search: { path: \"/search\", method: \"POST\", queryParamName: \"query\", resultPath: \"results\" } }, status: \"disabled\", usageCount: 0, createdAt: ctx.now, updatedAt: ctx.now, createdBy: ctx.actor },\n ],\n tenantPolicies: buildTenantPolicies(ctx.templateTenantId, ctx.now, ctx.actor),\n toolAcls: buildToolAcls(toolRegistry, ctx.now, ctx.actor),\n toolRegistry,\n },\n };\n}\n"]}
@@ -9,11 +9,11 @@
9
9
  declare const TENANT_CLIENT_CONTRACT_VERSION: "2026-04-27";
10
10
  declare const TENANT_CLIENT_AUTH_MODES: readonly ["interactive_user", "service_principal", "tenant_api_key", "session_token"];
11
11
  type TenantClientAuthMode = (typeof TENANT_CLIENT_AUTH_MODES)[number];
12
- declare const TENANT_CLIENT_PRINCIPAL_TYPES: readonly ["human", "service", "agent"];
12
+ declare const TENANT_CLIENT_PRINCIPAL_TYPES: readonly ["human", "service", "agent", "group", "external_viewer"];
13
13
  type TenantClientPrincipalType = (typeof TENANT_CLIENT_PRINCIPAL_TYPES)[number];
14
14
  declare const TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
15
15
  type TenantClientRequiredContextField = (typeof TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS)[number];
16
- declare const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS: readonly ["principalType", "roles", "sessionId", "delegationChain"];
16
+ declare const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS: readonly ["clerkId", "principalType", "roles", "groupIds", "permittedToolNames", "permittedPackKeys", "principalStatus", "tenantStatus", "workspaceStatus", "permit", "sessionId", "delegationChain"];
17
17
  type TenantClientOptionalContextField = (typeof TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS)[number];
18
18
  declare const TENANT_CLIENT_INSTALL_TOKEN_ENV: "INSTALL_LUCERN_NPM";
19
19
  declare const TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH: "tenants/shared";
@@ -55,7 +55,7 @@ declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
55
55
  readonly directTenantImport: true;
56
56
  }, {
57
57
  readonly packageName: "@lucern/control-plane";
58
- readonly role: "platform_runtime";
58
+ readonly role: "component_runtime";
59
59
  readonly directTenantImport: false;
60
60
  }, {
61
61
  readonly packageName: "@lucern/developer-kit";
@@ -73,10 +73,6 @@ declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
73
73
  readonly packageName: "@lucern/graph-sync";
74
74
  readonly role: "host_addon_runtime";
75
75
  readonly directTenantImport: true;
76
- }, {
77
- readonly packageName: "@lucern/identity";
78
- readonly role: "component_runtime";
79
- readonly directTenantImport: false;
80
76
  }, {
81
77
  readonly packageName: "@lucern/mcp";
82
78
  readonly role: "runtime_entrypoint";
@@ -105,6 +101,10 @@ declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
105
101
  readonly packageName: "@lucern/sdk";
106
102
  readonly role: "runtime_entrypoint";
107
103
  readonly directTenantImport: true;
104
+ }, {
105
+ readonly packageName: "@lucern/secrets";
106
+ readonly role: "sdk_dependency";
107
+ readonly directTenantImport: false;
108
108
  }, {
109
109
  readonly packageName: "@lucern/server-core";
110
110
  readonly role: "platform_runtime";
@@ -127,7 +127,7 @@ type TenantClientInstallablePackageName = TenantClientInstallablePackage["packag
127
127
  *
128
128
  * These concepts intentionally differ: `@lucern/cli` is a direct install when a
129
129
  * tenant repo needs the `lucern` binary, but it is not a direct application
130
- * import. `@lucern/reasoning-kernel` and `@lucern/identity` are direct installs
130
+ * import. `@lucern/reasoning-kernel` and `@lucern/control-plane` are direct installs
131
131
  * for Convex component binding, while tenant app code should only import their
132
132
  * explicit component config subpaths.
133
133
  */
@@ -150,8 +150,8 @@ declare const TENANT_CLIENT_INSTALL_PROFILES: readonly [{
150
150
  readonly dependencyField: "dependencies";
151
151
  }, {
152
152
  readonly id: "convex_components";
153
- readonly description: "Tenant Convex host install for binding the Lucern identity and reasoning-kernel components.";
154
- readonly packageNames: readonly ["@lucern/identity", "@lucern/reasoning-kernel"];
153
+ readonly description: "Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.";
154
+ readonly packageNames: readonly ["@lucern/control-plane", "@lucern/reasoning-kernel"];
155
155
  readonly dependencyField: "dependencies";
156
156
  }, {
157
157
  readonly id: "graph_mirroring_addon";
@@ -176,7 +176,7 @@ declare const TENANT_CLIENT_INSTALL_PROFILES: readonly [{
176
176
  }, {
177
177
  readonly id: "full_suite";
178
178
  readonly description: "Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.";
179
- readonly packageNames: readonly ("@lucern/access-control" | "@lucern/agent" | "@lucern/auth" | "@lucern/cli" | "@lucern/client-core" | "@lucern/confidence" | "@lucern/config" | "@lucern/contracts" | "@lucern/control-plane" | "@lucern/developer-kit" | "@lucern/events" | "@lucern/graph-primitives" | "@lucern/graph-sync" | "@lucern/identity" | "@lucern/mcp" | "@lucern/pack-host" | "@lucern/pack-installer" | "@lucern/proof-compiler" | "@lucern/react" | "@lucern/reasoning-kernel" | "@lucern/sdk" | "@lucern/server-core" | "@lucern/testing" | "@lucern/types")[];
179
+ readonly packageNames: readonly ("@lucern/access-control" | "@lucern/agent" | "@lucern/auth" | "@lucern/cli" | "@lucern/client-core" | "@lucern/confidence" | "@lucern/config" | "@lucern/contracts" | "@lucern/control-plane" | "@lucern/developer-kit" | "@lucern/events" | "@lucern/graph-primitives" | "@lucern/graph-sync" | "@lucern/mcp" | "@lucern/pack-host" | "@lucern/pack-installer" | "@lucern/proof-compiler" | "@lucern/react" | "@lucern/reasoning-kernel" | "@lucern/sdk" | "@lucern/secrets" | "@lucern/server-core" | "@lucern/testing" | "@lucern/types")[];
180
180
  readonly dependencyField: "mixed";
181
181
  }];
182
182
  type TenantClientInstallProfileId = (typeof TENANT_CLIENT_INSTALL_PROFILES)[number]["id"];
@@ -226,10 +226,10 @@ type TenantClientPublicImport = (typeof TENANT_CLIENT_PUBLIC_IMPORTS)[number];
226
226
  type TenantClientPublicPackage = TenantClientPublicImport["packageName"];
227
227
  type TenantClientPublicSurface = TenantClientPublicImport["surface"];
228
228
  declare const TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS: readonly [{
229
- readonly packageName: "@lucern/identity";
230
- readonly importPath: "@lucern/identity/convex.config";
229
+ readonly packageName: "@lucern/control-plane";
230
+ readonly importPath: "@lucern/control-plane/convex.config";
231
231
  readonly surface: "component_config";
232
- readonly description: "Convex component binding config for tenant deployments that install Lucern identity.";
232
+ readonly description: "Convex component binding config for tenant deployments that install the Lucern control plane.";
233
233
  }, {
234
234
  readonly packageName: "@lucern/reasoning-kernel";
235
235
  readonly importPath: "@lucern/reasoning-kernel/convex.config";
@@ -245,9 +245,14 @@ type TenantClientComponentConfigImport = (typeof TENANT_CLIENT_COMPONENT_CONFIG_
245
245
  type TenantClientAllowedImport = TenantClientPublicImport | TenantClientComponentConfigImport;
246
246
  declare function findTenantClientInstallablePackage(packageName: string): TenantClientInstallablePackage | undefined;
247
247
  declare function isTenantClientInstallablePackage(packageName: string): boolean;
248
- declare const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES: readonly ["bootstrap", "context", "beliefs", "evidence", "questions", "graph", "worktrees", "topics", "edges", "contradictions", "contracts", "graphIntel", "graphIntelligence", "graphAnalysis", "graphRecommendations", "orgGraphSearch", "embeddings", "ontologyLinks", "graphStateClassifier", "tools", "identity", "modelRuntime", "events", "jobs", "telemetry"];
248
+ declare const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES: readonly ["bootstrap", "context", "beliefs", "evidence", "questions", "graph", "worktrees", "topics", "edges", "contradictions", "contracts", "graphIntel", "graphIntelligence", "graphAnalysis", "graphRecommendations", "orgGraphSearch", "embeddings", "ontologyLinks", "graphStateClassifier", "tools", "controlPlane", "identity", "modelRuntime", "events", "jobs", "telemetry"];
249
249
  type TenantClientRequiredSdkNamespace = (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];
250
250
  declare const TENANT_CLIENT_CAPABILITIES: readonly [{
251
+ readonly id: "identity.resolve_interactive_principal";
252
+ readonly description: "Resolve a Clerk-authenticated user into a Permit-backed Lucern principal context.";
253
+ readonly surfaces: readonly ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"];
254
+ readonly requiredContextFields: readonly ["principalId", "tenantId", "scopes"];
255
+ }, {
251
256
  readonly id: "identity.bootstrap_session";
252
257
  readonly description: "Start a scoped Lucern session for a tenant principal.";
253
258
  readonly surfaces: readonly ["@lucern/sdk", "@lucern/mcp"];
@@ -9,7 +9,9 @@ var TENANT_CLIENT_AUTH_MODES = [
9
9
  var TENANT_CLIENT_PRINCIPAL_TYPES = [
10
10
  "human",
11
11
  "service",
12
- "agent"
12
+ "agent",
13
+ "group",
14
+ "external_viewer"
13
15
  ];
14
16
  var TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [
15
17
  "tenantId",
@@ -19,8 +21,16 @@ var TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [
19
21
  "scopes"
20
22
  ];
21
23
  var TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS = [
24
+ "clerkId",
22
25
  "principalType",
23
26
  "roles",
27
+ "groupIds",
28
+ "permittedToolNames",
29
+ "permittedPackKeys",
30
+ "principalStatus",
31
+ "tenantStatus",
32
+ "workspaceStatus",
33
+ "permit",
24
34
  "sessionId",
25
35
  "delegationChain"
26
36
  ];
@@ -73,7 +83,7 @@ var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
73
83
  },
74
84
  {
75
85
  packageName: "@lucern/control-plane",
76
- role: "platform_runtime",
86
+ role: "component_runtime",
77
87
  directTenantImport: false
78
88
  },
79
89
  {
@@ -96,11 +106,6 @@ var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
96
106
  role: "host_addon_runtime",
97
107
  directTenantImport: true
98
108
  },
99
- {
100
- packageName: "@lucern/identity",
101
- role: "component_runtime",
102
- directTenantImport: false
103
- },
104
109
  {
105
110
  packageName: "@lucern/mcp",
106
111
  role: "runtime_entrypoint",
@@ -136,6 +141,11 @@ var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
136
141
  role: "runtime_entrypoint",
137
142
  directTenantImport: true
138
143
  },
144
+ {
145
+ packageName: "@lucern/secrets",
146
+ role: "sdk_dependency",
147
+ directTenantImport: false
148
+ },
139
149
  {
140
150
  packageName: "@lucern/server-core",
141
151
  role: "platform_runtime",
@@ -170,8 +180,8 @@ var TENANT_CLIENT_INSTALL_PROFILES = [
170
180
  },
171
181
  {
172
182
  id: "convex_components",
173
- description: "Tenant Convex host install for binding the Lucern identity and reasoning-kernel components.",
174
- packageNames: ["@lucern/identity", "@lucern/reasoning-kernel"],
183
+ description: "Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.",
184
+ packageNames: ["@lucern/control-plane", "@lucern/reasoning-kernel"],
175
185
  dependencyField: "dependencies"
176
186
  },
177
187
  {
@@ -251,10 +261,10 @@ var TENANT_CLIENT_PUBLIC_IMPORTS = [
251
261
  ];
252
262
  var TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS = [
253
263
  {
254
- packageName: "@lucern/identity",
255
- importPath: "@lucern/identity/convex.config",
264
+ packageName: "@lucern/control-plane",
265
+ importPath: "@lucern/control-plane/convex.config",
256
266
  surface: "component_config",
257
- description: "Convex component binding config for tenant deployments that install Lucern identity."
267
+ description: "Convex component binding config for tenant deployments that install the Lucern control plane."
258
268
  },
259
269
  {
260
270
  packageName: "@lucern/reasoning-kernel",
@@ -298,6 +308,7 @@ var TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [
298
308
  "ontologyLinks",
299
309
  "graphStateClassifier",
300
310
  "tools",
311
+ "controlPlane",
301
312
  "identity",
302
313
  "modelRuntime",
303
314
  "events",
@@ -305,6 +316,12 @@ var TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [
305
316
  "telemetry"
306
317
  ];
307
318
  var TENANT_CLIENT_CAPABILITIES = [
319
+ {
320
+ id: "identity.resolve_interactive_principal",
321
+ description: "Resolve a Clerk-authenticated user into a Permit-backed Lucern principal context.",
322
+ surfaces: ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"],
323
+ requiredContextFields: ["principalId", "tenantId", "scopes"]
324
+ },
308
325
  {
309
326
  id: "identity.bootstrap_session",
310
327
  description: "Start a scoped Lucern session for a tenant principal.",