@lucern/contracts 0.3.0-alpha.9 → 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.
- package/CHANGELOG.md +7 -0
- package/dist/api-enums.contract.d.ts +5 -3
- package/dist/api-enums.contract.js +14 -12
- package/dist/api-enums.contract.js.map +1 -1
- package/dist/auth-context.contract.js +14 -2
- package/dist/auth-context.contract.js.map +1 -1
- package/dist/auth-session.contract.js +14 -2
- package/dist/auth-session.contract.js.map +1 -1
- package/dist/auth.contract.d.ts +1 -1
- package/dist/auth.contract.js +14 -2
- package/dist/auth.contract.js.map +1 -1
- package/dist/component-boundary.contract.d.ts +1 -1
- package/dist/component-boundary.contract.js +46 -26
- package/dist/component-boundary.contract.js.map +1 -1
- package/dist/component-host-boundary.contract.d.ts +10 -5
- package/dist/component-host-boundary.contract.js +10 -4
- package/dist/component-host-boundary.contract.js.map +1 -1
- package/dist/{defineTable-CBQ03FXl.d.ts → defineTable-t1wr5wgn.d.ts} +1 -1
- package/dist/{dsl-djCRfuWC.d.ts → dsl-DVPthQGY.d.ts} +1 -1
- package/dist/dsl.d.ts +2 -2
- package/dist/dsl.js.map +1 -1
- package/dist/function-registry/beliefs.d.ts +23 -10
- package/dist/function-registry/beliefs.js +467 -36
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.d.ts +15 -6
- package/dist/function-registry/coding.js +531 -22
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.d.ts +9 -3
- package/dist/function-registry/context.js +464 -21
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.d.ts +9 -3
- package/dist/function-registry/contracts.js +464 -21
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.d.ts +21 -9
- package/dist/function-registry/coordination.js +464 -21
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.d.ts +167 -2
- package/dist/function-registry/edges.js +619 -28
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.d.ts +19 -8
- package/dist/function-registry/evidence.js +469 -36
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.d.ts +33 -15
- package/dist/function-registry/graph.js +464 -21
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.d.ts +6 -3
- package/dist/function-registry/helpers.js +465 -22
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.d.ts +62 -16
- package/dist/function-registry/identity.js +487 -27
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.d.ts +4 -2
- package/dist/function-registry/index.js +468 -22
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.d.ts +7 -2
- package/dist/function-registry/judgments.js +464 -21
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.d.ts +5 -1
- package/dist/function-registry/legacy.js +464 -21
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.d.ts +11 -4
- package/dist/function-registry/lenses.js +464 -21
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/manifest.d.ts +4 -4
- package/dist/function-registry/manifest.js +16 -1
- package/dist/function-registry/manifest.js.map +1 -1
- package/dist/function-registry/nodes.d.ts +412 -0
- package/dist/function-registry/nodes.js +5354 -0
- package/dist/function-registry/nodes.js.map +1 -0
- package/dist/function-registry/ontologies.d.ts +25 -11
- package/dist/function-registry/ontologies.js +464 -21
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.d.ts +9 -3
- package/dist/function-registry/pipeline.js +464 -21
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.d.ts +27 -12
- package/dist/function-registry/questions.js +466 -26
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.d.ts +11 -4
- package/dist/function-registry/tasks.js +497 -30
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.d.ts +93 -5
- package/dist/function-registry/topics.js +534 -24
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/types.d.ts +7 -3
- package/dist/function-registry/worktrees.d.ts +25 -11
- package/dist/function-registry/worktrees.js +480 -21
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/gateway.contract.d.ts +4 -0
- package/dist/gateway.contract.js.map +1 -1
- package/dist/generated/convexSchemas.d.ts +3 -3
- package/dist/generated/convexSchemas.js +37 -17
- package/dist/generated/convexSchemas.js.map +1 -1
- package/dist/generated/infisicalRuntimeEnv.d.ts +70 -0
- package/dist/generated/infisicalRuntimeEnv.js +27585 -0
- package/dist/generated/infisicalRuntimeEnv.js.map +1 -0
- package/dist/generated/lucernGatewayEnv.d.ts +17 -0
- package/dist/generated/lucernGatewayEnv.js +38 -0
- package/dist/generated/lucernGatewayEnv.js.map +1 -0
- package/dist/generated/lucernWebPublicEnv.d.ts +26 -0
- package/dist/generated/lucernWebPublicEnv.js +32 -0
- package/dist/generated/lucernWebPublicEnv.js.map +1 -0
- package/dist/generated/lucernWebServerEnv.d.ts +33 -0
- package/dist/generated/lucernWebServerEnv.js +51 -0
- package/dist/generated/lucernWebServerEnv.js.map +1 -0
- package/dist/generated/schema-manifest.json +1221 -114
- package/dist/generated/tableOwnership.d.ts +48 -28
- package/dist/generated/tableOwnership.js +66 -26
- package/dist/generated/tableOwnership.js.map +1 -1
- package/dist/generated/tier-expectations.json +64 -9
- package/dist/{index-O09U2xHk.d.ts → index-CM1Pl_vI.d.ts} +3 -3
- package/dist/index.d.ts +11 -6
- package/dist/index.js +32838 -413
- package/dist/index.js.map +1 -1
- package/dist/infisical-runtime.contract.d.ts +1763 -6
- package/dist/infisical-runtime.contract.js +2994 -15
- package/dist/infisical-runtime.contract.js.map +1 -1
- package/dist/manifests/infisical-runtime-manifest.d.ts +1689 -6
- package/dist/manifests/infisical-runtime-manifest.js +2847 -12
- package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
- package/dist/manifests/tenant-client-manifest.d.ts +19 -14
- package/dist/manifests/tenant-client-manifest.js +29 -12
- package/dist/manifests/tenant-client-manifest.js.map +1 -1
- package/dist/mcp-gateway-boundary.contract.d.ts +23 -3
- package/dist/mcp-gateway-boundary.contract.js +2 -0
- package/dist/mcp-gateway-boundary.contract.js.map +1 -1
- package/dist/permit-principal-projection.contract.d.ts +74 -0
- package/dist/permit-principal-projection.contract.js +167 -0
- package/dist/permit-principal-projection.contract.js.map +1 -0
- package/dist/projections/check-convex-args-shape.js +10 -6
- package/dist/projections/check-convex-args-shape.js.map +1 -1
- package/dist/projections/create-evidence.projection.d.ts +6 -6
- package/dist/projections/create-evidence.projection.js +2 -3
- package/dist/projections/create-evidence.projection.js.map +1 -1
- package/dist/projections/index.d.ts +3 -3
- package/dist/projections/index.js +10 -6
- package/dist/projections/index.js.map +1 -1
- package/dist/projections/list-tasks.projection.d.ts +20 -8
- package/dist/projections/list-tasks.projection.js +8 -3
- package/dist/projections/list-tasks.projection.js.map +1 -1
- package/dist/proof-attestation.json +45 -0
- package/dist/schemas/component-table-manifest.d.ts +6 -6
- package/dist/schemas/component-table-manifest.js +2 -2
- package/dist/schemas/component-table-manifest.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.js +1123 -137
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/manifest.d.ts +2102 -132
- package/dist/schemas/manifest.js +1121 -135
- package/dist/schemas/manifest.js.map +1 -1
- package/dist/schemas/tables/controlPlane/accessControl.d.ts +260 -0
- package/dist/schemas/tables/controlPlane/accessControl.js +658 -0
- package/dist/schemas/tables/controlPlane/accessControl.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/agent.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/agent.js +3 -3
- package/dist/schemas/tables/controlPlane/agent.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/epistemic.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/epistemic.js +3 -3
- package/dist/schemas/tables/controlPlane/epistemic.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/model.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/model.js +6 -6
- package/dist/schemas/tables/controlPlane/model.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/platform.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/platform.js +18 -18
- package/dist/schemas/tables/controlPlane/platform.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/project.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/project.js +3 -3
- package/dist/schemas/tables/controlPlane/project.js.map +1 -0
- package/dist/schemas/tables/{identity → controlPlane}/user.d.ts +1 -1
- package/dist/schemas/tables/{identity → controlPlane}/user.js +3 -3
- package/dist/schemas/tables/controlPlane/user.js.map +1 -0
- package/dist/schemas/tables/kernel/config.d.ts +1 -1
- package/dist/schemas/tables/kernel/config.js.map +1 -1
- package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
- package/dist/schemas/tables/kernel/coordination.js.map +1 -1
- package/dist/schemas/tables/kernel/decision.d.ts +1 -1
- package/dist/schemas/tables/kernel/decision.js.map +1 -1
- package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
- package/dist/schemas/tables/kernel/embedding.js.map +1 -1
- package/dist/schemas/tables/kernel/epistemic.d.ts +1 -1
- package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
- package/dist/schemas/tables/kernel/events.d.ts +21 -0
- package/dist/schemas/tables/kernel/events.js +43 -0
- package/dist/schemas/tables/kernel/events.js.map +1 -0
- package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
- package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
- package/dist/schemas/tables/kernel/infra.d.ts +1 -1
- package/dist/schemas/tables/kernel/infra.js.map +1 -1
- package/dist/schemas/tables/kernel/intelligence.d.ts +1 -1
- package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
- package/dist/schemas/tables/kernel/lens.d.ts +1 -1
- package/dist/schemas/tables/kernel/lens.js.map +1 -1
- package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
- package/dist/schemas/tables/kernel/ontology.js.map +1 -1
- package/dist/schemas/tables/kernel/platform.d.ts +1 -1
- package/dist/schemas/tables/kernel/platform.js.map +1 -1
- package/dist/schemas/tables/kernel/spine.d.ts +2 -1
- package/dist/schemas/tables/kernel/spine.js +1 -0
- package/dist/schemas/tables/kernel/spine.js.map +1 -1
- package/dist/schemas/tables/kernel/task.d.ts +1 -1
- package/dist/schemas/tables/kernel/task.js.map +1 -1
- package/dist/schemas/tables/kernel/topic.d.ts +1 -1
- package/dist/schemas/tables/kernel/topic.js +1 -0
- package/dist/schemas/tables/kernel/topic.js.map +1 -1
- package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
- package/dist/schemas/tables/kernel/workflow.js.map +1 -1
- package/dist/schemas/tables/kernel/worktree.d.ts +17 -17
- package/dist/schemas/tables/kernel/worktree.js.map +1 -1
- package/dist/schemas/tables/mc/identity.d.ts +19 -2
- package/dist/schemas/tables/mc/identity.js +32 -1
- package/dist/schemas/tables/mc/identity.js.map +1 -1
- package/dist/schemas/tables/mc/methodology.d.ts +1 -1
- package/dist/schemas/tables/mc/methodology.js.map +1 -1
- package/dist/schemas/tables/mc/pack.d.ts +1 -1
- package/dist/schemas/tables/mc/pack.js.map +1 -1
- package/dist/schemas/tables/mc/policy.d.ts +2 -2
- package/dist/schemas/tables/mc/policy.js +1 -1
- package/dist/schemas/tables/mc/policy.js.map +1 -1
- package/dist/schemas/tables/mc/registry.d.ts +1 -1
- package/dist/schemas/tables/mc/registry.js.map +1 -1
- package/dist/schemas/tables/mc/runtime.d.ts +109 -3
- package/dist/schemas/tables/mc/runtime.js +330 -104
- package/dist/schemas/tables/mc/runtime.js.map +1 -1
- package/dist/schemas/tables/mc/tenant.d.ts +4 -2
- package/dist/schemas/tables/mc/tenant.js +3 -1
- package/dist/schemas/tables/mc/tenant.js.map +1 -1
- package/dist/schemas/tables/mc/workspace.d.ts +22 -5
- package/dist/schemas/tables/mc/workspace.js +34 -2
- package/dist/schemas/tables/mc/workspace.js.map +1 -1
- package/dist/{sdk-tools.contract-Ci8bkoai.d.ts → sdk-tools.contract-CKmSsrZ2.d.ts} +1 -1
- package/dist/sdk-tools.contract.d.ts +2 -2
- package/dist/sdk-tools.contract.js +417 -13
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.contract.d.ts +244 -56
- package/dist/tenant-bootstrap-seed.contract.js +139 -28
- package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.defaults.d.ts +2 -2
- package/dist/tenant-bootstrap-seed.defaults.js +31 -13
- package/dist/tenant-bootstrap-seed.defaults.js.map +1 -1
- package/dist/tenant-client.contract.d.ts +20 -15
- package/dist/tenant-client.contract.js +29 -12
- package/dist/tenant-client.contract.js.map +1 -1
- package/dist/{tool-contracts-B4iWhejG.d.ts → tool-contracts-C_xvM9q2.d.ts} +32 -2
- package/dist/tool-contracts.d.ts +1 -1
- package/dist/tool-contracts.js +418 -14
- package/dist/tool-contracts.js.map +1 -1
- package/package.json +22 -1
- package/dist/schemas/tables/identity/agent.js.map +0 -1
- package/dist/schemas/tables/identity/epistemic.js.map +0 -1
- package/dist/schemas/tables/identity/model.js.map +0 -1
- package/dist/schemas/tables/identity/platform.js.map +0 -1
- package/dist/schemas/tables/identity/project.js.map +0 -1
- 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-
|
|
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: ["
|
|
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 ${
|
|
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:
|
|
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
|
-
|
|
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]) => ({
|
|
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: "
|
|
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/
|
|
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
|
|
154
|
-
readonly packageNames: readonly ["@lucern/
|
|
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/
|
|
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/
|
|
230
|
-
readonly importPath: "@lucern/
|
|
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
|
|
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: "
|
|
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
|
|
174
|
-
packageNames: ["@lucern/
|
|
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/
|
|
255
|
-
importPath: "@lucern/
|
|
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
|
|
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.",
|