@lucern/contracts 0.3.0-alpha.12 → 0.3.0-alpha.13
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/dist/auth-context.contract.js +13 -1
- package/dist/auth-context.contract.js.map +1 -1
- package/dist/auth-session.contract.js +13 -1
- package/dist/auth-session.contract.js.map +1 -1
- package/dist/auth.contract.d.ts +1 -1
- package/dist/auth.contract.js +13 -1
- package/dist/auth.contract.js.map +1 -1
- package/dist/component-boundary.contract.js +1 -0
- package/dist/component-boundary.contract.js.map +1 -1
- package/dist/function-registry/beliefs.d.ts +10 -10
- package/dist/function-registry/beliefs.js +53 -2
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.d.ts +6 -6
- package/dist/function-registry/coding.js +53 -2
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.d.ts +3 -3
- package/dist/function-registry/context.js +53 -2
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.d.ts +3 -3
- package/dist/function-registry/contracts.js +53 -2
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.d.ts +9 -9
- package/dist/function-registry/coordination.js +53 -2
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.d.ts +6 -6
- package/dist/function-registry/edges.js +53 -2
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.d.ts +8 -8
- package/dist/function-registry/evidence.js +53 -2
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.d.ts +15 -15
- package/dist/function-registry/graph.js +53 -2
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.d.ts +2 -2
- package/dist/function-registry/helpers.js +53 -2
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.d.ts +56 -16
- package/dist/function-registry/identity.js +75 -4
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.d.ts +1 -1
- package/dist/function-registry/index.js +53 -2
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.d.ts +2 -2
- package/dist/function-registry/judgments.js +53 -2
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.d.ts +1 -1
- package/dist/function-registry/legacy.js +53 -2
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.d.ts +4 -4
- package/dist/function-registry/lenses.js +53 -2
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/manifest.d.ts +3 -3
- package/dist/function-registry/manifest.js +1 -0
- package/dist/function-registry/manifest.js.map +1 -1
- package/dist/function-registry/nodes.d.ts +8 -8
- package/dist/function-registry/nodes.js +53 -2
- package/dist/function-registry/nodes.js.map +1 -1
- package/dist/function-registry/ontologies.d.ts +11 -11
- package/dist/function-registry/ontologies.js +53 -2
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.d.ts +3 -3
- package/dist/function-registry/pipeline.js +53 -2
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.d.ts +12 -12
- package/dist/function-registry/questions.js +53 -2
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.d.ts +4 -4
- package/dist/function-registry/tasks.js +53 -2
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.d.ts +7 -7
- package/dist/function-registry/topics.js +53 -2
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/types.d.ts +2 -2
- package/dist/function-registry/worktrees.d.ts +11 -11
- package/dist/function-registry/worktrees.js +53 -2
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/generated/convexSchemas.js +2 -1
- package/dist/generated/convexSchemas.js.map +1 -1
- package/dist/generated/infisicalRuntimeEnv.js +111 -0
- package/dist/generated/infisicalRuntimeEnv.js.map +1 -1
- package/dist/generated/schema-manifest.json +88 -3
- package/dist/generated/tableOwnership.d.ts +2 -1
- package/dist/generated/tableOwnership.js +2 -0
- package/dist/generated/tableOwnership.js.map +1 -1
- package/dist/generated/tier-expectations.json +6 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +290 -20
- package/dist/index.js.map +1 -1
- package/dist/infisical-runtime.contract.d.ts +18 -0
- package/dist/infisical-runtime.contract.js +21 -0
- package/dist/infisical-runtime.contract.js.map +1 -1
- package/dist/manifests/infisical-runtime-manifest.d.ts +18 -0
- package/dist/manifests/infisical-runtime-manifest.js +21 -0
- package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
- package/dist/manifests/tenant-client-manifest.d.ts +8 -3
- package/dist/manifests/tenant-client-manifest.js +18 -1
- package/dist/manifests/tenant-client-manifest.js.map +1 -1
- package/dist/permit-principal-projection.contract.js +2 -3
- package/dist/permit-principal-projection.contract.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/schemas/index.js +33 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/manifest.d.ts +75 -0
- package/dist/schemas/manifest.js +33 -0
- package/dist/schemas/manifest.js.map +1 -1
- package/dist/schemas/tables/controlPlane/accessControl.js +3 -0
- package/dist/schemas/tables/controlPlane/accessControl.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/{sdk-tools.contract-BNklQDfB.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 +45 -1
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.contract.d.ts +22 -2
- package/dist/tenant-bootstrap-seed.contract.js +15 -2
- package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
- package/dist/tenant-bootstrap-seed.defaults.d.ts +1 -1
- package/dist/tenant-bootstrap-seed.defaults.js +30 -12
- package/dist/tenant-bootstrap-seed.defaults.js.map +1 -1
- package/dist/tenant-client.contract.d.ts +8 -3
- package/dist/tenant-client.contract.js +18 -1
- package/dist/tenant-client.contract.js.map +1 -1
- package/dist/{tool-contracts-BevD9Ho2.d.ts → tool-contracts-C_xvM9q2.d.ts} +4 -2
- package/dist/tool-contracts.d.ts +1 -1
- package/dist/tool-contracts.js +46 -2
- package/dist/tool-contracts.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 \"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 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 \"control-plane\": {\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";
|
|
@@ -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
|
];
|
|
@@ -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.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tenant-client.contract.ts"],"names":[],"mappings":"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","file":"tenant-client.contract.js","sourcesContent":["/**\n * Tenant client contract\n *\n * Defines the generic boundary for any customer-owned product that consumes\n * Lucern through the SDK, hosted API, or MCP server. Tenant clients may run\n * their own UI, auth provider, deployment, and data plane, but reasoning\n * operations must enter through the published packages below.\n */\n\nimport type {\n SessionAuthMode,\n SessionPrincipalType,\n} from \"./auth.contract\";\n\nexport const TENANT_CLIENT_CONTRACT_VERSION = \"2026-04-27\" as const;\n\nexport const TENANT_CLIENT_AUTH_MODES = [\n \"interactive_user\",\n \"service_principal\",\n \"tenant_api_key\",\n \"session_token\",\n] as const satisfies readonly SessionAuthMode[];\nexport type TenantClientAuthMode = (typeof TENANT_CLIENT_AUTH_MODES)[number];\n\nexport const TENANT_CLIENT_PRINCIPAL_TYPES = [\n \"human\",\n \"service\",\n \"agent\",\n] as const satisfies readonly SessionPrincipalType[];\nexport type TenantClientPrincipalType =\n (typeof TENANT_CLIENT_PRINCIPAL_TYPES)[number];\n\nexport const TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"authMode\",\n \"scopes\",\n] as const;\nexport type TenantClientRequiredContextField =\n (typeof TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS = [\n \"principalType\",\n \"roles\",\n \"sessionId\",\n \"delegationChain\",\n] as const;\nexport type TenantClientOptionalContextField =\n (typeof TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_INSTALL_TOKEN_ENV = \"INSTALL_LUCERN_NPM\" as const;\nexport const TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH =\n \"tenants/shared\" as const;\nexport const TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS = [\n \"/platform/publish\",\n] as const;\nexport const TENANT_CLIENT_FORBIDDEN_SECRET_ENV = [\"NPM_TOKEN\"] as const;\nexport type TenantClientForbiddenInstallTokenInfisicalPath =\n (typeof TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS)[number];\nexport type TenantClientForbiddenSecretEnv =\n (typeof TENANT_CLIENT_FORBIDDEN_SECRET_ENV)[number];\n\nexport const TENANT_CLIENT_INSTALLABLE_PACKAGES = [\n {\n packageName: \"@lucern/access-control\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/agent\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/auth\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/cli\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/client-core\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/confidence\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/config\",\n role: \"configuration\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/contracts\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/control-plane\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/developer-kit\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/events\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-primitives\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-sync\",\n role: \"host_addon_runtime\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/mcp\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/pack-host\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/pack-installer\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/proof-compiler\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/react\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/sdk\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/secrets\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/server-core\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/testing\",\n role: \"test_support\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/types\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n] as const;\nexport type TenantClientInstallablePackage =\n (typeof TENANT_CLIENT_INSTALLABLE_PACKAGES)[number];\nexport type TenantClientPackageRole = TenantClientInstallablePackage[\"role\"];\nexport type TenantClientInstallablePackageName =\n TenantClientInstallablePackage[\"packageName\"];\n\n/**\n * Direct package installs are package.json entries owned by the tenant repo.\n * Direct imports are source-code imports that tenant application code may use.\n *\n * These concepts intentionally differ: `@lucern/cli` is a direct install when a\n * tenant repo needs the `lucern` binary, but it is not a direct application\n * import. `@lucern/reasoning-kernel` and `@lucern/control-plane` are direct installs\n * for Convex component binding, while tenant app code should only import their\n * explicit component config subpaths.\n */\nexport type TenantClientInstallProfile = {\n id: string;\n description: string;\n packageNames: readonly TenantClientInstallablePackageName[];\n dependencyField: \"dependencies\" | \"devDependencies\" | \"mixed\";\n};\n\nexport const TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES =\n TENANT_CLIENT_INSTALLABLE_PACKAGES.map(\n (entry) => entry.packageName\n ) as readonly TenantClientInstallablePackageName[];\n\nexport const TENANT_CLIENT_INSTALL_PROFILES = [\n {\n id: \"core_app_runtime\",\n description:\n \"Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.\",\n packageNames: [\"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"react_app_runtime\",\n description:\n \"React tenant app install for hooks, provider, curated graph components, and direct SDK calls.\",\n packageNames: [\"@lucern/react\", \"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"convex_components\",\n description:\n \"Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.\",\n packageNames: [\"@lucern/control-plane\", \"@lucern/reasoning-kernel\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"graph_mirroring_addon\",\n description:\n \"Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.\",\n packageNames: [\"@lucern/graph-sync\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"operator_cli\",\n description:\n \"Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.\",\n packageNames: [\"@lucern/cli\"],\n dependencyField: \"devDependencies\",\n },\n {\n id: \"mcp_runtime\",\n description:\n \"Agent runtime install for the standalone Lucern MCP server and hosted route helpers.\",\n packageNames: [\"@lucern/mcp\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"contracts_and_types\",\n description:\n \"Compile-time contract/type install for codegen, audits, and tenant integration validation.\",\n packageNames: [\"@lucern/contracts\", \"@lucern/types\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"full_suite\",\n description:\n \"Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.\",\n packageNames: TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES,\n dependencyField: \"mixed\",\n },\n] as const satisfies readonly TenantClientInstallProfile[];\nexport type TenantClientInstallProfileId =\n (typeof TENANT_CLIENT_INSTALL_PROFILES)[number][\"id\"];\n\n/**\n * Direct imports tenant-owned product code may use. This is intentionally\n * smaller than TENANT_CLIENT_INSTALLABLE_PACKAGES: several publishable packages\n * are installed as SDK dependencies, tooling, or platform runtimes but should\n * not become the application integration surface.\n */\nexport const TENANT_CLIENT_PUBLIC_IMPORTS = [\n {\n packageName: \"@lucern/sdk\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"TypeScript SDK runtime and generated operation namespaces.\",\n },\n {\n packageName: \"@lucern/react\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"React bindings for tenant-owned UI applications.\",\n },\n {\n packageName: \"@lucern/mcp\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"MCP client/server entry points and hosted route helpers.\",\n },\n {\n packageName: \"@lucern/graph-sync\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers.\",\n },\n {\n packageName: \"@lucern/contracts\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type and manifest contracts.\",\n },\n {\n packageName: \"@lucern/access-control\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Tenant runtime access-control helpers, including effective tool access.\",\n },\n {\n packageName: \"@lucern/types\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type-only helpers for tenant integration code.\",\n },\n] as const;\nexport type TenantClientPublicImport =\n (typeof TENANT_CLIENT_PUBLIC_IMPORTS)[number];\nexport type TenantClientPublicPackage =\n TenantClientPublicImport[\"packageName\"];\nexport type TenantClientPublicSurface = TenantClientPublicImport[\"surface\"];\n\nexport const TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS = [\n {\n packageName: \"@lucern/control-plane\",\n importPath: \"@lucern/control-plane/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern control plane.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern reasoning kernel.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/runtime.config\",\n surface: \"component_config\",\n description:\n \"Runtime config alias for tenant deployments that install the Lucern reasoning kernel.\",\n },\n] as const;\nexport type TenantClientComponentConfigImport =\n (typeof TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS)[number];\nexport type TenantClientAllowedImport =\n | TenantClientPublicImport\n | TenantClientComponentConfigImport;\n\nexport function findTenantClientInstallablePackage(\n packageName: string\n): TenantClientInstallablePackage | undefined {\n return TENANT_CLIENT_INSTALLABLE_PACKAGES.find(\n (entry) => entry.packageName === packageName\n );\n}\n\nexport function isTenantClientInstallablePackage(packageName: string): boolean {\n return Boolean(findTenantClientInstallablePackage(packageName));\n}\n\nexport const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [\n \"bootstrap\",\n \"context\",\n \"beliefs\",\n \"evidence\",\n \"questions\",\n \"graph\",\n \"worktrees\",\n \"topics\",\n \"edges\",\n \"contradictions\",\n \"contracts\",\n \"graphIntel\",\n \"graphIntelligence\",\n \"graphAnalysis\",\n \"graphRecommendations\",\n \"orgGraphSearch\",\n \"embeddings\",\n \"ontologyLinks\",\n \"graphStateClassifier\",\n \"tools\",\n \"identity\",\n \"modelRuntime\",\n \"events\",\n \"jobs\",\n \"telemetry\",\n] as const;\nexport type TenantClientRequiredSdkNamespace =\n (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];\n\nexport const TENANT_CLIENT_CAPABILITIES = [\n {\n id: \"identity.bootstrap_session\",\n description: \"Start a scoped Lucern session for a tenant principal.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.context.compile\",\n description: \"Compile tenant and workspace scoped reasoning context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.read\",\n description: \"Read beliefs, evidence, questions, topics, graph edges, and lineage.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.write\",\n description: \"Create and update graph objects through authorized APIs.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_intelligence.run\",\n description:\n \"Discover and run Graph Intelligence query recipes for structural graph analysis.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_mirroring.install\",\n description:\n \"Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.\",\n surfaces: [\"@lucern/graph-sync\", \"@lucern/cli\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"workflow.worktree_lifecycle\",\n description: \"Create, review, merge, and close scoped worktrees.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n] as const;\nexport type TenantClientCapability =\n (typeof TENANT_CLIENT_CAPABILITIES)[number];\nexport type TenantClientCapabilityId = TenantClientCapability[\"id\"];\n\nexport const TENANT_CLIENT_ISOLATION_RULES = [\n {\n id: \"tenant_workspace_scope_required\",\n description:\n \"Runtime operations must resolve both tenantId and workspaceId before reaching Lucern reasoning state.\",\n },\n {\n id: \"principal_audit_required\",\n description:\n \"Runtime operations must carry principalId, authMode, and scopes for audit attribution.\",\n },\n {\n id: \"no_private_lucern_imports\",\n description:\n \"Tenant code must not import Lucern source, Convex internals, generated adapters, or unpublished package internals.\",\n },\n] as const;\nexport type TenantClientIsolationRule =\n (typeof TENANT_CLIENT_ISOLATION_RULES)[number];\n\nexport const TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS = [\n {\n id: \"deep_src_import\",\n pattern: \"^@lucern/[^/]+/src(?:/|$)\",\n description: \"Published packages must not be bypassed through src paths.\",\n },\n {\n id: \"deep_dist_import\",\n pattern: \"^@lucern/[^/]+/dist(?:/|$)\",\n description:\n \"Published package exports must be used instead of dist file paths.\",\n },\n {\n id: \"generated_adapter_import\",\n pattern: \"^@lucern/[^/]+/(?:adapters/)?_generated(?:/|$)\",\n description:\n \"Generated Lucern adapters are internal deployment artifacts.\",\n },\n {\n id: \"private_runtime_import\",\n pattern: \"^@lucern/[^/]+/(?:internal|private)(?:/|$)\",\n description: \"Internal and private package subpaths are not public SDK API.\",\n },\n {\n id: \"workspace_source_import\",\n pattern: \"^(?:packages|modules|services|lucern|apps)/(?:.+/)?src(?:/|$)\",\n description:\n \"Tenant clients must not import source files from the Lucern monorepo.\",\n },\n {\n id: \"root_alias_lucern_import\",\n pattern: \"^@/(?:lucern|packages|modules|services|apps)(?:/|$)\",\n description:\n \"Tenant clients must not depend on Lucern repo-local path aliases.\",\n },\n {\n id: \"relative_lucern_source_import\",\n pattern: \"^\\\\.\\\\.?/(?:.+/)?(?:packages|modules|services|lucern|apps)(?:/|$)\",\n description:\n \"Tenant clients must not reach back into Lucern source through relative paths.\",\n },\n {\n id: \"monorepo_path_import\",\n pattern: \"lucern-repo\",\n description:\n \"Absolute imports that name the Lucern repository are not portable tenant code.\",\n },\n] as const;\nexport type TenantClientForbiddenImportPattern =\n (typeof TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS)[number];\nexport type TenantClientForbiddenImportPatternId =\n TenantClientForbiddenImportPattern[\"id\"];\n\nexport type TenantClientImportDecision =\n | \"public\"\n | \"forbidden\"\n | \"local\"\n | \"external\";\n\nexport type TenantClientImportClassification = {\n importPath: string;\n decision: TenantClientImportDecision;\n publicImport?: TenantClientAllowedImport;\n pattern?: TenantClientForbiddenImportPattern;\n reason: string;\n};\n\nfunction matchesPublicImport(\n importPath: string\n): TenantClientAllowedImport | undefined {\n const componentConfig = TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.find(\n (entry) => importPath === entry.importPath\n );\n if (componentConfig) {\n return componentConfig;\n }\n\n return TENANT_CLIENT_PUBLIC_IMPORTS.find(\n (entry) =>\n importPath === entry.packageName ||\n importPath.startsWith(`${entry.packageName}/`)\n );\n}\n\nfunction matchesForbiddenPattern(\n importPath: string\n): TenantClientForbiddenImportPattern | undefined {\n return TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS.find((entry) =>\n new RegExp(entry.pattern, \"u\").test(importPath)\n );\n}\n\nexport function classifyTenantClientImport(\n importPath: string\n): TenantClientImportClassification {\n const normalizedImportPath = importPath.trim();\n const pattern = matchesForbiddenPattern(normalizedImportPath);\n\n if (pattern) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n pattern,\n reason: pattern.description,\n };\n }\n\n const publicImport = matchesPublicImport(normalizedImportPath);\n if (publicImport) {\n return {\n importPath: normalizedImportPath,\n decision: \"public\",\n publicImport,\n reason: publicImport.description,\n };\n }\n\n if (normalizedImportPath.startsWith(\"@lucern/\")) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n reason:\n \"This @lucern package is not part of the tenant client public surface.\",\n };\n }\n\n if (\n normalizedImportPath.startsWith(\"./\") ||\n normalizedImportPath.startsWith(\"../\")\n ) {\n return {\n importPath: normalizedImportPath,\n decision: \"local\",\n reason: \"Local tenant-owned import.\",\n };\n }\n\n return {\n importPath: normalizedImportPath,\n decision: \"external\",\n reason: \"External dependency outside the Lucern package namespace.\",\n };\n}\n\nexport function isTenantClientPublicImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function isTenantClientComponentConfigImport(\n importPath: string\n): boolean {\n return TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.some(\n (entry) => importPath === entry.importPath\n );\n}\n\nexport function isTenantClientAllowedImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function assertTenantClientImportAllowed(importPath: string): void {\n const classification = classifyTenantClientImport(importPath);\n if (classification.decision !== \"forbidden\") {\n return;\n }\n\n throw new Error(formatTenantClientImportViolation(classification));\n}\n\nexport function formatTenantClientImportViolation(\n classification: TenantClientImportClassification\n): string {\n const patternId = classification.pattern\n ? ` [${classification.pattern.id}]`\n : \"\";\n return `Tenant client import is not allowed${patternId}: ${classification.importPath}. ${classification.reason}`;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/tenant-client.contract.ts"],"names":[],"mappings":";AAcO,IAAM,8BAAA,GAAiC;AAEvC,IAAM,wBAAA,GAA2B;AAAA,EACtC,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF;AAGO,IAAM,6BAAA,GAAgC;AAAA,EAC3C,OAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF;AAIO,IAAM,qCAAA,GAAwC;AAAA,EACnD,UAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;AAIO,IAAM,qCAAA,GAAwC;AAAA,EACnD,SAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF;AAIO,IAAM,+BAAA,GAAkC;AACxC,IAAM,0CAAA,GACX;AACK,IAAM,qDAAA,GAAwD;AAAA,EACnE;AACF;AACO,IAAM,kCAAA,GAAqC,CAAC,WAAW;AAMvD,IAAM,kCAAA,GAAqC;AAAA,EAChD;AAAA,IACE,WAAA,EAAa,wBAAA;AAAA,IACb,IAAA,EAAM,oBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,eAAA;AAAA,IACb,IAAA,EAAM,kBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,cAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,aAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,qBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,oBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,gBAAA;AAAA,IACb,IAAA,EAAM,eAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,mBAAA;AAAA,IACb,IAAA,EAAM,qBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,uBAAA;AAAA,IACb,IAAA,EAAM,mBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,uBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,gBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,0BAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,oBAAA;AAAA,IACb,IAAA,EAAM,oBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,aAAA;AAAA,IACb,IAAA,EAAM,oBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,mBAAA;AAAA,IACb,IAAA,EAAM,kBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,wBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,wBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,eAAA;AAAA,IACb,IAAA,EAAM,oBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,0BAAA;AAAA,IACb,IAAA,EAAM,mBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,aAAA;AAAA,IACb,IAAA,EAAM,oBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,iBAAA;AAAA,IACb,IAAA,EAAM,gBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,qBAAA;AAAA,IACb,IAAA,EAAM,kBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,iBAAA;AAAA,IACb,IAAA,EAAM,cAAA;AAAA,IACN,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA;AAAA,IACE,WAAA,EAAa,eAAA;AAAA,IACb,IAAA,EAAM,qBAAA;AAAA,IACN,kBAAA,EAAoB;AAAA;AAExB;AAwBO,IAAM,yCACX,kCAAA,CAAmC,GAAA;AAAA,EACjC,CAAC,UAAU,KAAA,CAAM;AACnB;AAEK,IAAM,8BAAA,GAAiC;AAAA,EAC5C;AAAA,IACE,EAAA,EAAI,kBAAA;AAAA,IACJ,WAAA,EACE,iGAAA;AAAA,IACF,YAAA,EAAc,CAAC,aAAA,EAAe,wBAAwB,CAAA;AAAA,IACtD,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mBAAA;AAAA,IACJ,WAAA,EACE,+FAAA;AAAA,IACF,YAAA,EAAc,CAAC,eAAA,EAAiB,aAAA,EAAe,wBAAwB,CAAA;AAAA,IACvE,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mBAAA;AAAA,IACJ,WAAA,EACE,kGAAA;AAAA,IACF,YAAA,EAAc,CAAC,uBAAA,EAAyB,0BAA0B,CAAA;AAAA,IAClE,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,uBAAA;AAAA,IACJ,WAAA,EACE,yIAAA;AAAA,IACF,YAAA,EAAc,CAAC,oBAAoB,CAAA;AAAA,IACnC,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,cAAA;AAAA,IACJ,WAAA,EACE,+FAAA;AAAA,IACF,YAAA,EAAc,CAAC,aAAa,CAAA;AAAA,IAC5B,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,aAAA;AAAA,IACJ,WAAA,EACE,sFAAA;AAAA,IACF,YAAA,EAAc,CAAC,aAAa,CAAA;AAAA,IAC5B,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,qBAAA;AAAA,IACJ,WAAA,EACE,4FAAA;AAAA,IACF,YAAA,EAAc,CAAC,mBAAA,EAAqB,eAAe,CAAA;AAAA,IACnD,eAAA,EAAiB;AAAA,GACnB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,YAAA;AAAA,IACJ,WAAA,EACE,2JAAA;AAAA,IACF,YAAA,EAAc,sCAAA;AAAA,IACd,eAAA,EAAiB;AAAA;AAErB;AAUO,IAAM,4BAAA,GAA+B;AAAA,EAC1C;AAAA,IACE,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,WAAA,EAAa,eAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,WAAA,EAAa,oBAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,WAAA,EAAa,mBAAA;AAAA,IACb,OAAA,EAAS,UAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,WAAA,EAAa,wBAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,WAAA,EAAa,eAAA;AAAA,IACb,OAAA,EAAS,UAAA;AAAA,IACT,QAAA,EAAU,mBAAA;AAAA,IACV,WAAA,EAAa;AAAA;AAEjB;AAOO,IAAM,sCAAA,GAAyC;AAAA,EACpD;AAAA,IACE,WAAA,EAAa,uBAAA;AAAA,IACb,UAAA,EAAY,qCAAA;AAAA,IACZ,OAAA,EAAS,kBAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,WAAA,EAAa,0BAAA;AAAA,IACb,UAAA,EAAY,wCAAA;AAAA,IACZ,OAAA,EAAS,kBAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,WAAA,EAAa,0BAAA;AAAA,IACb,UAAA,EAAY,yCAAA;AAAA,IACZ,OAAA,EAAS,kBAAA;AAAA,IACT,WAAA,EACE;AAAA;AAEN;AAOO,SAAS,mCACd,WAAA,EAC4C;AAC5C,EAAA,OAAO,kCAAA,CAAmC,IAAA;AAAA,IACxC,CAAC,KAAA,KAAU,KAAA,CAAM,WAAA,KAAgB;AAAA,GACnC;AACF;AAEO,SAAS,iCAAiC,WAAA,EAA8B;AAC7E,EAAA,OAAO,OAAA,CAAQ,kCAAA,CAAmC,WAAW,CAAC,CAAA;AAChE;AAEO,IAAM,qCAAA,GAAwC;AAAA,EACnD,WAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,gBAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;AAIO,IAAM,0BAAA,GAA6B;AAAA,EACxC;AAAA,IACE,EAAA,EAAI,wCAAA;AAAA,IACJ,WAAA,EACE,mFAAA;AAAA,IACF,QAAA,EAAU,CAAC,aAAA,EAAe,aAAA,EAAe,aAAa,CAAA;AAAA,IACtD,qBAAA,EAAuB,CAAC,aAAA,EAAe,UAAA,EAAY,QAAQ;AAAA,GAC7D;AAAA,EACA;AAAA,IACE,EAAA,EAAI,4BAAA;AAAA,IACJ,WAAA,EAAa,uDAAA;AAAA,IACb,QAAA,EAAU,CAAC,aAAA,EAAe,aAAa,CAAA;AAAA,IACvC,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,2BAAA;AAAA,IACJ,WAAA,EAAa,wDAAA;AAAA,IACb,QAAA,EAAU,CAAC,aAAA,EAAe,eAAA,EAAiB,aAAa,CAAA;AAAA,IACxD,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,sBAAA;AAAA,IACJ,WAAA,EAAa,sEAAA;AAAA,IACb,QAAA,EAAU,CAAC,aAAA,EAAe,eAAA,EAAiB,aAAa,CAAA;AAAA,IACxD,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,uBAAA;AAAA,IACJ,WAAA,EAAa,0DAAA;AAAA,IACb,QAAA,EAAU,CAAC,aAAA,EAAe,aAAa,CAAA;AAAA,IACvC,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,kCAAA;AAAA,IACJ,WAAA,EACE,kFAAA;AAAA,IACF,QAAA,EAAU,CAAC,aAAA,EAAe,aAAA,EAAe,aAAa,CAAA;AAAA,IACtD,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mCAAA;AAAA,IACJ,WAAA,EACE,4FAAA;AAAA,IACF,QAAA,EAAU,CAAC,oBAAA,EAAsB,aAAa,CAAA;AAAA,IAC9C,qBAAA,EAAuB;AAAA,GACzB;AAAA,EACA;AAAA,IACE,EAAA,EAAI,6BAAA;AAAA,IACJ,WAAA,EAAa,oDAAA;AAAA,IACb,QAAA,EAAU,CAAC,aAAA,EAAe,eAAA,EAAiB,aAAa,CAAA;AAAA,IACxD,qBAAA,EAAuB;AAAA;AAE3B;AAKO,IAAM,6BAAA,GAAgC;AAAA,EAC3C;AAAA,IACE,EAAA,EAAI,iCAAA;AAAA,IACJ,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,0BAAA;AAAA,IACJ,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,2BAAA;AAAA,IACJ,WAAA,EACE;AAAA;AAEN;AAIO,IAAM,uCAAA,GAA0C;AAAA,EACrD;AAAA,IACE,EAAA,EAAI,iBAAA;AAAA,IACJ,OAAA,EAAS,2BAAA;AAAA,IACT,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,kBAAA;AAAA,IACJ,OAAA,EAAS,4BAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,0BAAA;AAAA,IACJ,OAAA,EAAS,gDAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,wBAAA;AAAA,IACJ,OAAA,EAAS,4CAAA;AAAA,IACT,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,yBAAA;AAAA,IACJ,OAAA,EAAS,+DAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,0BAAA;AAAA,IACJ,OAAA,EAAS,qDAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,+BAAA;AAAA,IACJ,OAAA,EAAS,mEAAA;AAAA,IACT,WAAA,EACE;AAAA,GACJ;AAAA,EACA;AAAA,IACE,EAAA,EAAI,sBAAA;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,WAAA,EACE;AAAA;AAEN;AAoBA,SAAS,oBACP,UAAA,EACuC;AACvC,EAAA,MAAM,kBAAkB,sCAAA,CAAuC,IAAA;AAAA,IAC7D,CAAC,KAAA,KAAU,UAAA,KAAe,KAAA,CAAM;AAAA,GAClC;AACA,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,OAAO,eAAA;AAAA,EACT;AAEA,EAAA,OAAO,4BAAA,CAA6B,IAAA;AAAA,IAClC,CAAC,KAAA,KACC,UAAA,KAAe,KAAA,CAAM,WAAA,IACrB,WAAW,UAAA,CAAW,CAAA,EAAG,KAAA,CAAM,WAAW,CAAA,CAAA,CAAG;AAAA,GACjD;AACF;AAEA,SAAS,wBACP,UAAA,EACgD;AAChD,EAAA,OAAO,uCAAA,CAAwC,IAAA;AAAA,IAAK,CAAC,UACnD,IAAI,MAAA,CAAO,MAAM,OAAA,EAAS,GAAG,CAAA,CAAE,IAAA,CAAK,UAAU;AAAA,GAChD;AACF;AAEO,SAAS,2BACd,UAAA,EACkC;AAClC,EAAA,MAAM,oBAAA,GAAuB,WAAW,IAAA,EAAK;AAC7C,EAAA,MAAM,OAAA,GAAU,wBAAwB,oBAAoB,CAAA;AAE5D,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,oBAAA;AAAA,MACZ,QAAA,EAAU,WAAA;AAAA,MACV,OAAA;AAAA,MACA,QAAQ,OAAA,CAAQ;AAAA,KAClB;AAAA,EACF;AAEA,EAAA,MAAM,YAAA,GAAe,oBAAoB,oBAAoB,CAAA;AAC7D,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,oBAAA;AAAA,MACZ,QAAA,EAAU,QAAA;AAAA,MACV,YAAA;AAAA,MACA,QAAQ,YAAA,CAAa;AAAA,KACvB;AAAA,EACF;AAEA,EAAA,IAAI,oBAAA,CAAqB,UAAA,CAAW,UAAU,CAAA,EAAG;AAC/C,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,oBAAA;AAAA,MACZ,QAAA,EAAU,WAAA;AAAA,MACV,MAAA,EACE;AAAA,KACJ;AAAA,EACF;AAEA,EAAA,IACE,qBAAqB,UAAA,CAAW,IAAI,KACpC,oBAAA,CAAqB,UAAA,CAAW,KAAK,CAAA,EACrC;AACA,IAAA,OAAO;AAAA,MACL,UAAA,EAAY,oBAAA;AAAA,MACZ,QAAA,EAAU,OAAA;AAAA,MACV,MAAA,EAAQ;AAAA,KACV;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ;AAAA,GACV;AACF;AAEO,SAAS,2BAA2B,UAAA,EAA6B;AACtE,EAAA,OAAO,0BAAA,CAA2B,UAAU,CAAA,CAAE,QAAA,KAAa,QAAA;AAC7D;AAEO,SAAS,oCACd,UAAA,EACS;AACT,EAAA,OAAO,sCAAA,CAAuC,IAAA;AAAA,IAC5C,CAAC,KAAA,KAAU,UAAA,KAAe,KAAA,CAAM;AAAA,GAClC;AACF;AAEO,SAAS,4BAA4B,UAAA,EAA6B;AACvE,EAAA,OAAO,0BAAA,CAA2B,UAAU,CAAA,CAAE,QAAA,KAAa,QAAA;AAC7D;AAEO,SAAS,gCAAgC,UAAA,EAA0B;AACxE,EAAA,MAAM,cAAA,GAAiB,2BAA2B,UAAU,CAAA;AAC5D,EAAA,IAAI,cAAA,CAAe,aAAa,WAAA,EAAa;AAC3C,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,IAAI,KAAA,CAAM,iCAAA,CAAkC,cAAc,CAAC,CAAA;AACnE;AAEO,SAAS,kCACd,cAAA,EACQ;AACR,EAAA,MAAM,YAAY,cAAA,CAAe,OAAA,GAC7B,KAAK,cAAA,CAAe,OAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,GAC9B,EAAA;AACJ,EAAA,OAAO,sCAAsC,SAAS,CAAA,EAAA,EAAK,eAAe,UAAU,CAAA,EAAA,EAAK,eAAe,MAAM,CAAA,CAAA;AAChH","file":"tenant-client.contract.js","sourcesContent":["/**\n * Tenant client contract\n *\n * Defines the generic boundary for any customer-owned product that consumes\n * Lucern through the SDK, hosted API, or MCP server. Tenant clients may run\n * their own UI, auth provider, deployment, and data plane, but reasoning\n * operations must enter through the published packages below.\n */\n\nimport type {\n SessionAuthMode,\n SessionPrincipalType,\n} from \"./auth.contract\";\n\nexport const TENANT_CLIENT_CONTRACT_VERSION = \"2026-04-27\" as const;\n\nexport const TENANT_CLIENT_AUTH_MODES = [\n \"interactive_user\",\n \"service_principal\",\n \"tenant_api_key\",\n \"session_token\",\n] as const satisfies readonly SessionAuthMode[];\nexport type TenantClientAuthMode = (typeof TENANT_CLIENT_AUTH_MODES)[number];\n\nexport const TENANT_CLIENT_PRINCIPAL_TYPES = [\n \"human\",\n \"service\",\n \"agent\",\n \"group\",\n \"external_viewer\",\n] as const satisfies readonly SessionPrincipalType[];\nexport type TenantClientPrincipalType =\n (typeof TENANT_CLIENT_PRINCIPAL_TYPES)[number];\n\nexport const TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"authMode\",\n \"scopes\",\n] as const;\nexport type TenantClientRequiredContextField =\n (typeof TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS = [\n \"clerkId\",\n \"principalType\",\n \"roles\",\n \"groupIds\",\n \"permittedToolNames\",\n \"permittedPackKeys\",\n \"principalStatus\",\n \"tenantStatus\",\n \"workspaceStatus\",\n \"permit\",\n \"sessionId\",\n \"delegationChain\",\n] as const;\nexport type TenantClientOptionalContextField =\n (typeof TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_INSTALL_TOKEN_ENV = \"INSTALL_LUCERN_NPM\" as const;\nexport const TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH =\n \"tenants/shared\" as const;\nexport const TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS = [\n \"/platform/publish\",\n] as const;\nexport const TENANT_CLIENT_FORBIDDEN_SECRET_ENV = [\"NPM_TOKEN\"] as const;\nexport type TenantClientForbiddenInstallTokenInfisicalPath =\n (typeof TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS)[number];\nexport type TenantClientForbiddenSecretEnv =\n (typeof TENANT_CLIENT_FORBIDDEN_SECRET_ENV)[number];\n\nexport const TENANT_CLIENT_INSTALLABLE_PACKAGES = [\n {\n packageName: \"@lucern/access-control\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/agent\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/auth\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/cli\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/client-core\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/confidence\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/config\",\n role: \"configuration\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/contracts\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/control-plane\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/developer-kit\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/events\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-primitives\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-sync\",\n role: \"host_addon_runtime\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/mcp\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/pack-host\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/pack-installer\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/proof-compiler\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/react\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/sdk\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/secrets\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/server-core\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/testing\",\n role: \"test_support\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/types\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n] as const;\nexport type TenantClientInstallablePackage =\n (typeof TENANT_CLIENT_INSTALLABLE_PACKAGES)[number];\nexport type TenantClientPackageRole = TenantClientInstallablePackage[\"role\"];\nexport type TenantClientInstallablePackageName =\n TenantClientInstallablePackage[\"packageName\"];\n\n/**\n * Direct package installs are package.json entries owned by the tenant repo.\n * Direct imports are source-code imports that tenant application code may use.\n *\n * These concepts intentionally differ: `@lucern/cli` is a direct install when a\n * tenant repo needs the `lucern` binary, but it is not a direct application\n * import. `@lucern/reasoning-kernel` and `@lucern/control-plane` are direct installs\n * for Convex component binding, while tenant app code should only import their\n * explicit component config subpaths.\n */\nexport type TenantClientInstallProfile = {\n id: string;\n description: string;\n packageNames: readonly TenantClientInstallablePackageName[];\n dependencyField: \"dependencies\" | \"devDependencies\" | \"mixed\";\n};\n\nexport const TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES =\n TENANT_CLIENT_INSTALLABLE_PACKAGES.map(\n (entry) => entry.packageName\n ) as readonly TenantClientInstallablePackageName[];\n\nexport const TENANT_CLIENT_INSTALL_PROFILES = [\n {\n id: \"core_app_runtime\",\n description:\n \"Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.\",\n packageNames: [\"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"react_app_runtime\",\n description:\n \"React tenant app install for hooks, provider, curated graph components, and direct SDK calls.\",\n packageNames: [\"@lucern/react\", \"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"convex_components\",\n description:\n \"Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.\",\n packageNames: [\"@lucern/control-plane\", \"@lucern/reasoning-kernel\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"graph_mirroring_addon\",\n description:\n \"Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.\",\n packageNames: [\"@lucern/graph-sync\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"operator_cli\",\n description:\n \"Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.\",\n packageNames: [\"@lucern/cli\"],\n dependencyField: \"devDependencies\",\n },\n {\n id: \"mcp_runtime\",\n description:\n \"Agent runtime install for the standalone Lucern MCP server and hosted route helpers.\",\n packageNames: [\"@lucern/mcp\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"contracts_and_types\",\n description:\n \"Compile-time contract/type install for codegen, audits, and tenant integration validation.\",\n packageNames: [\"@lucern/contracts\", \"@lucern/types\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"full_suite\",\n description:\n \"Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.\",\n packageNames: TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES,\n dependencyField: \"mixed\",\n },\n] as const satisfies readonly TenantClientInstallProfile[];\nexport type TenantClientInstallProfileId =\n (typeof TENANT_CLIENT_INSTALL_PROFILES)[number][\"id\"];\n\n/**\n * Direct imports tenant-owned product code may use. This is intentionally\n * smaller than TENANT_CLIENT_INSTALLABLE_PACKAGES: several publishable packages\n * are installed as SDK dependencies, tooling, or platform runtimes but should\n * not become the application integration surface.\n */\nexport const TENANT_CLIENT_PUBLIC_IMPORTS = [\n {\n packageName: \"@lucern/sdk\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"TypeScript SDK runtime and generated operation namespaces.\",\n },\n {\n packageName: \"@lucern/react\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"React bindings for tenant-owned UI applications.\",\n },\n {\n packageName: \"@lucern/mcp\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"MCP client/server entry points and hosted route helpers.\",\n },\n {\n packageName: \"@lucern/graph-sync\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers.\",\n },\n {\n packageName: \"@lucern/contracts\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type and manifest contracts.\",\n },\n {\n packageName: \"@lucern/access-control\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Tenant runtime access-control helpers, including effective tool access.\",\n },\n {\n packageName: \"@lucern/types\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type-only helpers for tenant integration code.\",\n },\n] as const;\nexport type TenantClientPublicImport =\n (typeof TENANT_CLIENT_PUBLIC_IMPORTS)[number];\nexport type TenantClientPublicPackage =\n TenantClientPublicImport[\"packageName\"];\nexport type TenantClientPublicSurface = TenantClientPublicImport[\"surface\"];\n\nexport const TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS = [\n {\n packageName: \"@lucern/control-plane\",\n importPath: \"@lucern/control-plane/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern control plane.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern reasoning kernel.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/runtime.config\",\n surface: \"component_config\",\n description:\n \"Runtime config alias for tenant deployments that install the Lucern reasoning kernel.\",\n },\n] as const;\nexport type TenantClientComponentConfigImport =\n (typeof TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS)[number];\nexport type TenantClientAllowedImport =\n | TenantClientPublicImport\n | TenantClientComponentConfigImport;\n\nexport function findTenantClientInstallablePackage(\n packageName: string\n): TenantClientInstallablePackage | undefined {\n return TENANT_CLIENT_INSTALLABLE_PACKAGES.find(\n (entry) => entry.packageName === packageName\n );\n}\n\nexport function isTenantClientInstallablePackage(packageName: string): boolean {\n return Boolean(findTenantClientInstallablePackage(packageName));\n}\n\nexport const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [\n \"bootstrap\",\n \"context\",\n \"beliefs\",\n \"evidence\",\n \"questions\",\n \"graph\",\n \"worktrees\",\n \"topics\",\n \"edges\",\n \"contradictions\",\n \"contracts\",\n \"graphIntel\",\n \"graphIntelligence\",\n \"graphAnalysis\",\n \"graphRecommendations\",\n \"orgGraphSearch\",\n \"embeddings\",\n \"ontologyLinks\",\n \"graphStateClassifier\",\n \"tools\",\n \"controlPlane\",\n \"identity\",\n \"modelRuntime\",\n \"events\",\n \"jobs\",\n \"telemetry\",\n] as const;\nexport type TenantClientRequiredSdkNamespace =\n (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];\n\nexport const TENANT_CLIENT_CAPABILITIES = [\n {\n id: \"identity.resolve_interactive_principal\",\n description:\n \"Resolve a Clerk-authenticated user into a Permit-backed Lucern principal context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: [\"principalId\", \"tenantId\", \"scopes\"],\n },\n {\n id: \"identity.bootstrap_session\",\n description: \"Start a scoped Lucern session for a tenant principal.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.context.compile\",\n description: \"Compile tenant and workspace scoped reasoning context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.read\",\n description: \"Read beliefs, evidence, questions, topics, graph edges, and lineage.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.write\",\n description: \"Create and update graph objects through authorized APIs.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_intelligence.run\",\n description:\n \"Discover and run Graph Intelligence query recipes for structural graph analysis.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_mirroring.install\",\n description:\n \"Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.\",\n surfaces: [\"@lucern/graph-sync\", \"@lucern/cli\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"workflow.worktree_lifecycle\",\n description: \"Create, review, merge, and close scoped worktrees.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n] as const;\nexport type TenantClientCapability =\n (typeof TENANT_CLIENT_CAPABILITIES)[number];\nexport type TenantClientCapabilityId = TenantClientCapability[\"id\"];\n\nexport const TENANT_CLIENT_ISOLATION_RULES = [\n {\n id: \"tenant_workspace_scope_required\",\n description:\n \"Runtime operations must resolve both tenantId and workspaceId before reaching Lucern reasoning state.\",\n },\n {\n id: \"principal_audit_required\",\n description:\n \"Runtime operations must carry principalId, authMode, and scopes for audit attribution.\",\n },\n {\n id: \"no_private_lucern_imports\",\n description:\n \"Tenant code must not import Lucern source, Convex internals, generated adapters, or unpublished package internals.\",\n },\n] as const;\nexport type TenantClientIsolationRule =\n (typeof TENANT_CLIENT_ISOLATION_RULES)[number];\n\nexport const TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS = [\n {\n id: \"deep_src_import\",\n pattern: \"^@lucern/[^/]+/src(?:/|$)\",\n description: \"Published packages must not be bypassed through src paths.\",\n },\n {\n id: \"deep_dist_import\",\n pattern: \"^@lucern/[^/]+/dist(?:/|$)\",\n description:\n \"Published package exports must be used instead of dist file paths.\",\n },\n {\n id: \"generated_adapter_import\",\n pattern: \"^@lucern/[^/]+/(?:adapters/)?_generated(?:/|$)\",\n description:\n \"Generated Lucern adapters are internal deployment artifacts.\",\n },\n {\n id: \"private_runtime_import\",\n pattern: \"^@lucern/[^/]+/(?:internal|private)(?:/|$)\",\n description: \"Internal and private package subpaths are not public SDK API.\",\n },\n {\n id: \"workspace_source_import\",\n pattern: \"^(?:packages|modules|services|lucern|apps)/(?:.+/)?src(?:/|$)\",\n description:\n \"Tenant clients must not import source files from the Lucern monorepo.\",\n },\n {\n id: \"root_alias_lucern_import\",\n pattern: \"^@/(?:lucern|packages|modules|services|apps)(?:/|$)\",\n description:\n \"Tenant clients must not depend on Lucern repo-local path aliases.\",\n },\n {\n id: \"relative_lucern_source_import\",\n pattern: \"^\\\\.\\\\.?/(?:.+/)?(?:packages|modules|services|lucern|apps)(?:/|$)\",\n description:\n \"Tenant clients must not reach back into Lucern source through relative paths.\",\n },\n {\n id: \"monorepo_path_import\",\n pattern: \"lucern-repo\",\n description:\n \"Absolute imports that name the Lucern repository are not portable tenant code.\",\n },\n] as const;\nexport type TenantClientForbiddenImportPattern =\n (typeof TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS)[number];\nexport type TenantClientForbiddenImportPatternId =\n TenantClientForbiddenImportPattern[\"id\"];\n\nexport type TenantClientImportDecision =\n | \"public\"\n | \"forbidden\"\n | \"local\"\n | \"external\";\n\nexport type TenantClientImportClassification = {\n importPath: string;\n decision: TenantClientImportDecision;\n publicImport?: TenantClientAllowedImport;\n pattern?: TenantClientForbiddenImportPattern;\n reason: string;\n};\n\nfunction matchesPublicImport(\n importPath: string\n): TenantClientAllowedImport | undefined {\n const componentConfig = TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.find(\n (entry) => importPath === entry.importPath\n );\n if (componentConfig) {\n return componentConfig;\n }\n\n return TENANT_CLIENT_PUBLIC_IMPORTS.find(\n (entry) =>\n importPath === entry.packageName ||\n importPath.startsWith(`${entry.packageName}/`)\n );\n}\n\nfunction matchesForbiddenPattern(\n importPath: string\n): TenantClientForbiddenImportPattern | undefined {\n return TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS.find((entry) =>\n new RegExp(entry.pattern, \"u\").test(importPath)\n );\n}\n\nexport function classifyTenantClientImport(\n importPath: string\n): TenantClientImportClassification {\n const normalizedImportPath = importPath.trim();\n const pattern = matchesForbiddenPattern(normalizedImportPath);\n\n if (pattern) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n pattern,\n reason: pattern.description,\n };\n }\n\n const publicImport = matchesPublicImport(normalizedImportPath);\n if (publicImport) {\n return {\n importPath: normalizedImportPath,\n decision: \"public\",\n publicImport,\n reason: publicImport.description,\n };\n }\n\n if (normalizedImportPath.startsWith(\"@lucern/\")) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n reason:\n \"This @lucern package is not part of the tenant client public surface.\",\n };\n }\n\n if (\n normalizedImportPath.startsWith(\"./\") ||\n normalizedImportPath.startsWith(\"../\")\n ) {\n return {\n importPath: normalizedImportPath,\n decision: \"local\",\n reason: \"Local tenant-owned import.\",\n };\n }\n\n return {\n importPath: normalizedImportPath,\n decision: \"external\",\n reason: \"External dependency outside the Lucern package namespace.\",\n };\n}\n\nexport function isTenantClientPublicImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function isTenantClientComponentConfigImport(\n importPath: string\n): boolean {\n return TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.some(\n (entry) => importPath === entry.importPath\n );\n}\n\nexport function isTenantClientAllowedImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function assertTenantClientImportAllowed(importPath: string): void {\n const classification = classifyTenantClientImport(importPath);\n if (classification.decision !== \"forbidden\") {\n return;\n }\n\n throw new Error(formatTenantClientImportViolation(classification));\n}\n\nexport function formatTenantClientImportViolation(\n classification: TenantClientImportClassification\n): string {\n const patternId = classification.pattern\n ? ` [${classification.pattern.id}]`\n : \"\";\n return `Tenant client import is not allowed${patternId}: ${classification.importPath}. ${classification.reason}`;\n}\n"]}
|
|
@@ -117,6 +117,7 @@ declare const ACTIVATE_WORKTREE: McpToolContract;
|
|
|
117
117
|
declare const UPDATE_WORKTREE_TARGETS: McpToolContract;
|
|
118
118
|
declare const UPDATE_WORKTREE_METADATA: McpToolContract;
|
|
119
119
|
declare const IDENTITY_WHOAMI: McpToolContract;
|
|
120
|
+
declare const RESOLVE_INTERACTIVE_PRINCIPAL: McpToolContract;
|
|
120
121
|
declare const COMPILE_CONTEXT: McpToolContract;
|
|
121
122
|
declare const CHECK_PERMISSION: McpToolContract;
|
|
122
123
|
declare const FILTER_BY_PERMISSION: McpToolContract;
|
|
@@ -298,6 +299,7 @@ declare const toolContracts_REMOVE_EDGE: typeof REMOVE_EDGE;
|
|
|
298
299
|
declare const toolContracts_REMOVE_EDGES_BETWEEN: typeof REMOVE_EDGES_BETWEEN;
|
|
299
300
|
declare const toolContracts_REMOVE_LENS_FROM_TOPIC: typeof REMOVE_LENS_FROM_TOPIC;
|
|
300
301
|
declare const toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY: typeof RESOLVE_EFFECTIVE_ONTOLOGY;
|
|
302
|
+
declare const toolContracts_RESOLVE_INTERACTIVE_PRINCIPAL: typeof RESOLVE_INTERACTIVE_PRINCIPAL;
|
|
301
303
|
declare const toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY: typeof RUN_GRAPH_INTELLIGENCE_QUERY;
|
|
302
304
|
declare const toolContracts_SEARCH_BELIEFS: typeof SEARCH_BELIEFS;
|
|
303
305
|
declare const toolContracts_SEARCH_EVIDENCE: typeof SEARCH_EVIDENCE;
|
|
@@ -318,7 +320,7 @@ declare const toolContracts_UPDATE_WORKTREE_TARGETS: typeof UPDATE_WORKTREE_TARG
|
|
|
318
320
|
declare const toolContracts_VERIFY_EPISTEMIC_NODE: typeof VERIFY_EPISTEMIC_NODE;
|
|
319
321
|
declare const toolContracts_validateGitSemantics: typeof validateGitSemantics;
|
|
320
322
|
declare namespace toolContracts {
|
|
321
|
-
export { toolContracts_ACTIVATE_WORKTREE as ACTIVATE_WORKTREE, toolContracts_ADD_EVIDENCE as ADD_EVIDENCE, toolContracts_ADD_WORKTREE as ADD_WORKTREE, toolContracts_ANALYZE_TOPIC_DENSITY as ANALYZE_TOPIC_DENSITY, toolContracts_ANSWER_QUESTION as ANSWER_QUESTION, toolContracts_APPLY_AUTO_BRANCHING as APPLY_AUTO_BRANCHING, toolContracts_APPLY_LENS_TO_TOPIC as APPLY_LENS_TO_TOPIC, toolContracts_APPLY_ONTOLOGY as APPLY_ONTOLOGY, toolContracts_ARCHIVE_BELIEF as ARCHIVE_BELIEF, toolContracts_ARCHIVE_EPISTEMIC_NODE as ARCHIVE_EPISTEMIC_NODE, toolContracts_ARCHIVE_ONTOLOGY as ARCHIVE_ONTOLOGY, toolContracts_ARCHIVE_QUESTION as ARCHIVE_QUESTION, toolContracts_BATCH_CREATE_EDGES as BATCH_CREATE_EDGES, toolContracts_BATCH_CREATE_EPISTEMIC_NODES as BATCH_CREATE_EPISTEMIC_NODES, toolContracts_BEGIN_BUILD_SESSION as BEGIN_BUILD_SESSION, toolContracts_BISECT_CONFIDENCE as BISECT_CONFIDENCE, toolContracts_BROADCAST_MESSAGE as BROADCAST_MESSAGE, toolContracts_CHECK_PERMISSION as CHECK_PERMISSION, toolContracts_CLAIM_FILES as CLAIM_FILES, toolContracts_COMPILE_CONTEXT as COMPILE_CONTEXT, toolContracts_COMPLETE_TASK as COMPLETE_TASK, toolContracts_CREATE_ANSWER as CREATE_ANSWER, toolContracts_CREATE_BELIEF as CREATE_BELIEF, toolContracts_CREATE_EDGE as CREATE_EDGE, toolContracts_CREATE_EPISTEMIC_CONTRACT as CREATE_EPISTEMIC_CONTRACT, toolContracts_CREATE_EPISTEMIC_NODE as CREATE_EPISTEMIC_NODE, toolContracts_CREATE_EVIDENCE as CREATE_EVIDENCE, toolContracts_CREATE_LENS as CREATE_LENS, toolContracts_CREATE_ONTOLOGY as CREATE_ONTOLOGY, toolContracts_CREATE_ONTOLOGY_VERSION as CREATE_ONTOLOGY_VERSION, toolContracts_CREATE_QUESTION as CREATE_QUESTION, toolContracts_CREATE_TASK as CREATE_TASK, toolContracts_CREATE_TOPIC as CREATE_TOPIC, toolContracts_DEPRECATE_ONTOLOGY_VERSION as DEPRECATE_ONTOLOGY_VERSION, toolContracts_DETECT_CONFIRMATION_BIAS as DETECT_CONFIRMATION_BIAS, toolContracts_DISCOVER as DISCOVER, toolContracts_DISCOVER_ENTITY_CONNECTIONS as DISCOVER_ENTITY_CONNECTIONS, toolContracts_END_SESSION as END_SESSION, toolContracts_EVALUATE_CONTRACT as EVALUATE_CONTRACT, toolContracts_FILTER_BY_PERMISSION as FILTER_BY_PERMISSION, toolContracts_FIND_CONTRADICTIONS as FIND_CONTRADICTIONS, toolContracts_FIND_MISSING_QUESTIONS as FIND_MISSING_QUESTIONS, toolContracts_FLAG_CONTRADICTION as FLAG_CONTRADICTION, toolContracts_FORK_BELIEF as FORK_BELIEF, toolContracts_GENERATE_SESSION_HANDOFF as GENERATE_SESSION_HANDOFF, toolContracts_GET_AGENT_INBOX as GET_AGENT_INBOX, toolContracts_GET_ANSWER as GET_ANSWER, toolContracts_GET_AUDIT_TRAIL as GET_AUDIT_TRAIL, toolContracts_GET_BELIEF as GET_BELIEF, toolContracts_GET_CHANGE_HISTORY as GET_CHANGE_HISTORY, toolContracts_GET_CODE_CONTEXT as GET_CODE_CONTEXT, toolContracts_GET_CONFIDENCE_HISTORY as GET_CONFIDENCE_HISTORY, toolContracts_GET_CONTRACT_STATUS as GET_CONTRACT_STATUS, toolContracts_GET_EPISTEMIC_NODE as GET_EPISTEMIC_NODE, toolContracts_GET_EVIDENCE as GET_EVIDENCE, toolContracts_GET_FAILURE_LOG as GET_FAILURE_LOG, toolContracts_GET_FALSIFICATION_QUESTIONS as GET_FALSIFICATION_QUESTIONS, toolContracts_GET_GRAPH_GAPS as GET_GRAPH_GAPS, toolContracts_GET_GRAPH_NEIGHBORHOOD as GET_GRAPH_NEIGHBORHOOD, toolContracts_GET_GRAPH_STRUCTURE_ANALYSIS as GET_GRAPH_STRUCTURE_ANALYSIS, toolContracts_GET_HIGH_PRIORITY_QUESTIONS as GET_HIGH_PRIORITY_QUESTIONS, toolContracts_GET_LATTICE_COVERAGE as GET_LATTICE_COVERAGE, toolContracts_GET_OBSERVATION_CONTEXT as GET_OBSERVATION_CONTEXT, toolContracts_GET_ONTOLOGY as GET_ONTOLOGY, toolContracts_GET_QUESTION as GET_QUESTION, toolContracts_GET_TOPIC as GET_TOPIC, toolContracts_GET_TOPIC_COVERAGE as GET_TOPIC_COVERAGE, toolContracts_GET_TOPIC_GRAPH_SPINE as GET_TOPIC_GRAPH_SPINE, toolContracts_GET_TOPIC_TREE as GET_TOPIC_TREE, toolContracts_GIT_SEMANTIC_REQUIRED_TOOLS as GIT_SEMANTIC_REQUIRED_TOOLS, toolContracts_HEARTBEAT_SESSION as HEARTBEAT_SESSION, toolContracts_IDENTITY_WHOAMI as IDENTITY_WHOAMI, toolContracts_INGEST_OBSERVATION as INGEST_OBSERVATION, toolContracts_LINK_EVIDENCE as LINK_EVIDENCE, toolContracts_LINK_EVIDENCE_TO_BELIEF as LINK_EVIDENCE_TO_BELIEF, toolContracts_LINK_EVIDENCE_TO_QUESTION as LINK_EVIDENCE_TO_QUESTION, toolContracts_LIST_ACTIVE_SESSIONS as LIST_ACTIVE_SESSIONS, toolContracts_LIST_ALL_WORKTREES as LIST_ALL_WORKTREES, toolContracts_LIST_BELIEFS as LIST_BELIEFS, toolContracts_LIST_CAMPAIGNS as LIST_CAMPAIGNS, toolContracts_LIST_EPISTEMIC_NODES as LIST_EPISTEMIC_NODES, toolContracts_LIST_EVIDENCE as LIST_EVIDENCE, toolContracts_LIST_GRAPH_INTELLIGENCE_QUERIES as LIST_GRAPH_INTELLIGENCE_QUERIES, toolContracts_LIST_LENSES as LIST_LENSES, toolContracts_LIST_ONTOLOGIES as LIST_ONTOLOGIES, toolContracts_LIST_QUESTIONS as LIST_QUESTIONS, toolContracts_LIST_TASKS as LIST_TASKS, toolContracts_LIST_TOPICS as LIST_TOPICS, toolContracts_LIST_WORKTREES as LIST_WORKTREES, toolContracts_MANAGE_WRITE_POLICY as MANAGE_WRITE_POLICY, toolContracts_MATCH_ENTITY_TYPE as MATCH_ENTITY_TYPE, toolContracts_MATERIALIZE_TOPIC_GRAPH as MATERIALIZE_TOPIC_GRAPH, toolContracts_MCP_TOOL_CONTRACTS as MCP_TOOL_CONTRACTS, toolContracts_MERGE as MERGE, toolContracts_MODULATE_CONFIDENCE as MODULATE_CONFIDENCE, type toolContracts_McpParameterDef as McpParameterDef, type toolContracts_McpResponseDef as McpResponseDef, type toolContracts_McpToolContract as McpToolContract, toolContracts_OPEN_PULL_REQUEST as OPEN_PULL_REQUEST, toolContracts_PIPELINE_SNAPSHOT as PIPELINE_SNAPSHOT, toolContracts_PUBLISH_ONTOLOGY_VERSION as PUBLISH_ONTOLOGY_VERSION, toolContracts_PUSH as PUSH, toolContracts_QUERY_LINEAGE as QUERY_LINEAGE, toolContracts_RECORD_ATTEMPT as RECORD_ATTEMPT, toolContracts_RECORD_JUDGMENT as RECORD_JUDGMENT, toolContracts_RECORD_SCOPE_LEARNING as RECORD_SCOPE_LEARNING, toolContracts_REFINE_BELIEF as REFINE_BELIEF, toolContracts_REFINE_QUESTION as REFINE_QUESTION, toolContracts_REGISTER_SESSION as REGISTER_SESSION, toolContracts_REMOVE_EDGE as REMOVE_EDGE, toolContracts_REMOVE_EDGES_BETWEEN as REMOVE_EDGES_BETWEEN, toolContracts_REMOVE_LENS_FROM_TOPIC as REMOVE_LENS_FROM_TOPIC, toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY as RESOLVE_EFFECTIVE_ONTOLOGY, toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY as RUN_GRAPH_INTELLIGENCE_QUERY, toolContracts_SEARCH_BELIEFS as SEARCH_BELIEFS, toolContracts_SEARCH_EVIDENCE as SEARCH_EVIDENCE, toolContracts_SEED_BELIEF_LATTICE as SEED_BELIEF_LATTICE, toolContracts_SEND_AGENT_MESSAGE as SEND_AGENT_MESSAGE, toolContracts_SUPERSEDE_EPISTEMIC_NODE as SUPERSEDE_EPISTEMIC_NODE, toolContracts_TRACE_ENTITY_IMPACT as TRACE_ENTITY_IMPACT, toolContracts_TRAVERSE_GRAPH as TRAVERSE_GRAPH, toolContracts_TRIGGER_BELIEF_REVIEW as TRIGGER_BELIEF_REVIEW, toolContracts_UPDATE_EDGE as UPDATE_EDGE, toolContracts_UPDATE_EPISTEMIC_NODE as UPDATE_EPISTEMIC_NODE, toolContracts_UPDATE_ONTOLOGY as UPDATE_ONTOLOGY, toolContracts_UPDATE_QUESTION_STATUS as UPDATE_QUESTION_STATUS, toolContracts_UPDATE_TASK as UPDATE_TASK, toolContracts_UPDATE_TOPIC as UPDATE_TOPIC, toolContracts_UPDATE_WORKTREE_METADATA as UPDATE_WORKTREE_METADATA, toolContracts_UPDATE_WORKTREE_TARGETS as UPDATE_WORKTREE_TARGETS, toolContracts_VERIFY_EPISTEMIC_NODE as VERIFY_EPISTEMIC_NODE, toolContracts_validateGitSemantics as validateGitSemantics };
|
|
323
|
+
export { toolContracts_ACTIVATE_WORKTREE as ACTIVATE_WORKTREE, toolContracts_ADD_EVIDENCE as ADD_EVIDENCE, toolContracts_ADD_WORKTREE as ADD_WORKTREE, toolContracts_ANALYZE_TOPIC_DENSITY as ANALYZE_TOPIC_DENSITY, toolContracts_ANSWER_QUESTION as ANSWER_QUESTION, toolContracts_APPLY_AUTO_BRANCHING as APPLY_AUTO_BRANCHING, toolContracts_APPLY_LENS_TO_TOPIC as APPLY_LENS_TO_TOPIC, toolContracts_APPLY_ONTOLOGY as APPLY_ONTOLOGY, toolContracts_ARCHIVE_BELIEF as ARCHIVE_BELIEF, toolContracts_ARCHIVE_EPISTEMIC_NODE as ARCHIVE_EPISTEMIC_NODE, toolContracts_ARCHIVE_ONTOLOGY as ARCHIVE_ONTOLOGY, toolContracts_ARCHIVE_QUESTION as ARCHIVE_QUESTION, toolContracts_BATCH_CREATE_EDGES as BATCH_CREATE_EDGES, toolContracts_BATCH_CREATE_EPISTEMIC_NODES as BATCH_CREATE_EPISTEMIC_NODES, toolContracts_BEGIN_BUILD_SESSION as BEGIN_BUILD_SESSION, toolContracts_BISECT_CONFIDENCE as BISECT_CONFIDENCE, toolContracts_BROADCAST_MESSAGE as BROADCAST_MESSAGE, toolContracts_CHECK_PERMISSION as CHECK_PERMISSION, toolContracts_CLAIM_FILES as CLAIM_FILES, toolContracts_COMPILE_CONTEXT as COMPILE_CONTEXT, toolContracts_COMPLETE_TASK as COMPLETE_TASK, toolContracts_CREATE_ANSWER as CREATE_ANSWER, toolContracts_CREATE_BELIEF as CREATE_BELIEF, toolContracts_CREATE_EDGE as CREATE_EDGE, toolContracts_CREATE_EPISTEMIC_CONTRACT as CREATE_EPISTEMIC_CONTRACT, toolContracts_CREATE_EPISTEMIC_NODE as CREATE_EPISTEMIC_NODE, toolContracts_CREATE_EVIDENCE as CREATE_EVIDENCE, toolContracts_CREATE_LENS as CREATE_LENS, toolContracts_CREATE_ONTOLOGY as CREATE_ONTOLOGY, toolContracts_CREATE_ONTOLOGY_VERSION as CREATE_ONTOLOGY_VERSION, toolContracts_CREATE_QUESTION as CREATE_QUESTION, toolContracts_CREATE_TASK as CREATE_TASK, toolContracts_CREATE_TOPIC as CREATE_TOPIC, toolContracts_DEPRECATE_ONTOLOGY_VERSION as DEPRECATE_ONTOLOGY_VERSION, toolContracts_DETECT_CONFIRMATION_BIAS as DETECT_CONFIRMATION_BIAS, toolContracts_DISCOVER as DISCOVER, toolContracts_DISCOVER_ENTITY_CONNECTIONS as DISCOVER_ENTITY_CONNECTIONS, toolContracts_END_SESSION as END_SESSION, toolContracts_EVALUATE_CONTRACT as EVALUATE_CONTRACT, toolContracts_FILTER_BY_PERMISSION as FILTER_BY_PERMISSION, toolContracts_FIND_CONTRADICTIONS as FIND_CONTRADICTIONS, toolContracts_FIND_MISSING_QUESTIONS as FIND_MISSING_QUESTIONS, toolContracts_FLAG_CONTRADICTION as FLAG_CONTRADICTION, toolContracts_FORK_BELIEF as FORK_BELIEF, toolContracts_GENERATE_SESSION_HANDOFF as GENERATE_SESSION_HANDOFF, toolContracts_GET_AGENT_INBOX as GET_AGENT_INBOX, toolContracts_GET_ANSWER as GET_ANSWER, toolContracts_GET_AUDIT_TRAIL as GET_AUDIT_TRAIL, toolContracts_GET_BELIEF as GET_BELIEF, toolContracts_GET_CHANGE_HISTORY as GET_CHANGE_HISTORY, toolContracts_GET_CODE_CONTEXT as GET_CODE_CONTEXT, toolContracts_GET_CONFIDENCE_HISTORY as GET_CONFIDENCE_HISTORY, toolContracts_GET_CONTRACT_STATUS as GET_CONTRACT_STATUS, toolContracts_GET_EPISTEMIC_NODE as GET_EPISTEMIC_NODE, toolContracts_GET_EVIDENCE as GET_EVIDENCE, toolContracts_GET_FAILURE_LOG as GET_FAILURE_LOG, toolContracts_GET_FALSIFICATION_QUESTIONS as GET_FALSIFICATION_QUESTIONS, toolContracts_GET_GRAPH_GAPS as GET_GRAPH_GAPS, toolContracts_GET_GRAPH_NEIGHBORHOOD as GET_GRAPH_NEIGHBORHOOD, toolContracts_GET_GRAPH_STRUCTURE_ANALYSIS as GET_GRAPH_STRUCTURE_ANALYSIS, toolContracts_GET_HIGH_PRIORITY_QUESTIONS as GET_HIGH_PRIORITY_QUESTIONS, toolContracts_GET_LATTICE_COVERAGE as GET_LATTICE_COVERAGE, toolContracts_GET_OBSERVATION_CONTEXT as GET_OBSERVATION_CONTEXT, toolContracts_GET_ONTOLOGY as GET_ONTOLOGY, toolContracts_GET_QUESTION as GET_QUESTION, toolContracts_GET_TOPIC as GET_TOPIC, toolContracts_GET_TOPIC_COVERAGE as GET_TOPIC_COVERAGE, toolContracts_GET_TOPIC_GRAPH_SPINE as GET_TOPIC_GRAPH_SPINE, toolContracts_GET_TOPIC_TREE as GET_TOPIC_TREE, toolContracts_GIT_SEMANTIC_REQUIRED_TOOLS as GIT_SEMANTIC_REQUIRED_TOOLS, toolContracts_HEARTBEAT_SESSION as HEARTBEAT_SESSION, toolContracts_IDENTITY_WHOAMI as IDENTITY_WHOAMI, toolContracts_INGEST_OBSERVATION as INGEST_OBSERVATION, toolContracts_LINK_EVIDENCE as LINK_EVIDENCE, toolContracts_LINK_EVIDENCE_TO_BELIEF as LINK_EVIDENCE_TO_BELIEF, toolContracts_LINK_EVIDENCE_TO_QUESTION as LINK_EVIDENCE_TO_QUESTION, toolContracts_LIST_ACTIVE_SESSIONS as LIST_ACTIVE_SESSIONS, toolContracts_LIST_ALL_WORKTREES as LIST_ALL_WORKTREES, toolContracts_LIST_BELIEFS as LIST_BELIEFS, toolContracts_LIST_CAMPAIGNS as LIST_CAMPAIGNS, toolContracts_LIST_EPISTEMIC_NODES as LIST_EPISTEMIC_NODES, toolContracts_LIST_EVIDENCE as LIST_EVIDENCE, toolContracts_LIST_GRAPH_INTELLIGENCE_QUERIES as LIST_GRAPH_INTELLIGENCE_QUERIES, toolContracts_LIST_LENSES as LIST_LENSES, toolContracts_LIST_ONTOLOGIES as LIST_ONTOLOGIES, toolContracts_LIST_QUESTIONS as LIST_QUESTIONS, toolContracts_LIST_TASKS as LIST_TASKS, toolContracts_LIST_TOPICS as LIST_TOPICS, toolContracts_LIST_WORKTREES as LIST_WORKTREES, toolContracts_MANAGE_WRITE_POLICY as MANAGE_WRITE_POLICY, toolContracts_MATCH_ENTITY_TYPE as MATCH_ENTITY_TYPE, toolContracts_MATERIALIZE_TOPIC_GRAPH as MATERIALIZE_TOPIC_GRAPH, toolContracts_MCP_TOOL_CONTRACTS as MCP_TOOL_CONTRACTS, toolContracts_MERGE as MERGE, toolContracts_MODULATE_CONFIDENCE as MODULATE_CONFIDENCE, type toolContracts_McpParameterDef as McpParameterDef, type toolContracts_McpResponseDef as McpResponseDef, type toolContracts_McpToolContract as McpToolContract, toolContracts_OPEN_PULL_REQUEST as OPEN_PULL_REQUEST, toolContracts_PIPELINE_SNAPSHOT as PIPELINE_SNAPSHOT, toolContracts_PUBLISH_ONTOLOGY_VERSION as PUBLISH_ONTOLOGY_VERSION, toolContracts_PUSH as PUSH, toolContracts_QUERY_LINEAGE as QUERY_LINEAGE, toolContracts_RECORD_ATTEMPT as RECORD_ATTEMPT, toolContracts_RECORD_JUDGMENT as RECORD_JUDGMENT, toolContracts_RECORD_SCOPE_LEARNING as RECORD_SCOPE_LEARNING, toolContracts_REFINE_BELIEF as REFINE_BELIEF, toolContracts_REFINE_QUESTION as REFINE_QUESTION, toolContracts_REGISTER_SESSION as REGISTER_SESSION, toolContracts_REMOVE_EDGE as REMOVE_EDGE, toolContracts_REMOVE_EDGES_BETWEEN as REMOVE_EDGES_BETWEEN, toolContracts_REMOVE_LENS_FROM_TOPIC as REMOVE_LENS_FROM_TOPIC, toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY as RESOLVE_EFFECTIVE_ONTOLOGY, toolContracts_RESOLVE_INTERACTIVE_PRINCIPAL as RESOLVE_INTERACTIVE_PRINCIPAL, toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY as RUN_GRAPH_INTELLIGENCE_QUERY, toolContracts_SEARCH_BELIEFS as SEARCH_BELIEFS, toolContracts_SEARCH_EVIDENCE as SEARCH_EVIDENCE, toolContracts_SEED_BELIEF_LATTICE as SEED_BELIEF_LATTICE, toolContracts_SEND_AGENT_MESSAGE as SEND_AGENT_MESSAGE, toolContracts_SUPERSEDE_EPISTEMIC_NODE as SUPERSEDE_EPISTEMIC_NODE, toolContracts_TRACE_ENTITY_IMPACT as TRACE_ENTITY_IMPACT, toolContracts_TRAVERSE_GRAPH as TRAVERSE_GRAPH, toolContracts_TRIGGER_BELIEF_REVIEW as TRIGGER_BELIEF_REVIEW, toolContracts_UPDATE_EDGE as UPDATE_EDGE, toolContracts_UPDATE_EPISTEMIC_NODE as UPDATE_EPISTEMIC_NODE, toolContracts_UPDATE_ONTOLOGY as UPDATE_ONTOLOGY, toolContracts_UPDATE_QUESTION_STATUS as UPDATE_QUESTION_STATUS, toolContracts_UPDATE_TASK as UPDATE_TASK, toolContracts_UPDATE_TOPIC as UPDATE_TOPIC, toolContracts_UPDATE_WORKTREE_METADATA as UPDATE_WORKTREE_METADATA, toolContracts_UPDATE_WORKTREE_TARGETS as UPDATE_WORKTREE_TARGETS, toolContracts_VERIFY_EPISTEMIC_NODE as VERIFY_EPISTEMIC_NODE, toolContracts_validateGitSemantics as validateGitSemantics };
|
|
322
324
|
}
|
|
323
325
|
|
|
324
|
-
export { GET_CONFIDENCE_HISTORY as $, ACTIVATE_WORKTREE as A, BATCH_CREATE_EDGES as B, CHECK_PERMISSION as C, CREATE_ONTOLOGY as D, CREATE_ONTOLOGY_VERSION as E, CREATE_QUESTION as F, CREATE_TASK as G, CREATE_TOPIC as H, DEPRECATE_ONTOLOGY_VERSION as I, DETECT_CONFIRMATION_BIAS as J, DISCOVER as K, DISCOVER_ENTITY_CONNECTIONS as L, type McpToolContract as M, END_SESSION as N, EVALUATE_CONTRACT as O, FILTER_BY_PERMISSION as P, FIND_CONTRADICTIONS as Q, FIND_MISSING_QUESTIONS as R, FLAG_CONTRADICTION as S, FORK_BELIEF as T, GENERATE_SESSION_HANDOFF as U, GET_AGENT_INBOX as V, GET_ANSWER as W, GET_AUDIT_TRAIL as X, GET_BELIEF as Y, GET_CHANGE_HISTORY as Z, GET_CODE_CONTEXT as _, ADD_EVIDENCE as a,
|
|
326
|
+
export { GET_CONFIDENCE_HISTORY as $, ACTIVATE_WORKTREE as A, BATCH_CREATE_EDGES as B, CHECK_PERMISSION as C, CREATE_ONTOLOGY as D, CREATE_ONTOLOGY_VERSION as E, CREATE_QUESTION as F, CREATE_TASK as G, CREATE_TOPIC as H, DEPRECATE_ONTOLOGY_VERSION as I, DETECT_CONFIRMATION_BIAS as J, DISCOVER as K, DISCOVER_ENTITY_CONNECTIONS as L, type McpToolContract as M, END_SESSION as N, EVALUATE_CONTRACT as O, FILTER_BY_PERMISSION as P, FIND_CONTRADICTIONS as Q, FIND_MISSING_QUESTIONS as R, FLAG_CONTRADICTION as S, FORK_BELIEF as T, GENERATE_SESSION_HANDOFF as U, GET_AGENT_INBOX as V, GET_ANSWER as W, GET_AUDIT_TRAIL as X, GET_BELIEF as Y, GET_CHANGE_HISTORY as Z, GET_CODE_CONTEXT as _, ADD_EVIDENCE as a, SEARCH_EVIDENCE as a$, GET_CONTRACT_STATUS as a0, GET_EPISTEMIC_NODE as a1, GET_EVIDENCE as a2, GET_FAILURE_LOG as a3, GET_FALSIFICATION_QUESTIONS as a4, GET_GRAPH_GAPS as a5, GET_GRAPH_NEIGHBORHOOD as a6, GET_GRAPH_STRUCTURE_ANALYSIS as a7, GET_HIGH_PRIORITY_QUESTIONS as a8, GET_LATTICE_COVERAGE as a9, LIST_WORKTREES as aA, MANAGE_WRITE_POLICY as aB, MATCH_ENTITY_TYPE as aC, MATERIALIZE_TOPIC_GRAPH as aD, MCP_TOOL_CONTRACTS as aE, MERGE as aF, MODULATE_CONFIDENCE as aG, type McpParameterDef as aH, type McpResponseDef as aI, OPEN_PULL_REQUEST as aJ, PIPELINE_SNAPSHOT as aK, PUBLISH_ONTOLOGY_VERSION as aL, PUSH as aM, QUERY_LINEAGE as aN, RECORD_ATTEMPT as aO, RECORD_JUDGMENT as aP, RECORD_SCOPE_LEARNING as aQ, REFINE_BELIEF as aR, REFINE_QUESTION as aS, REGISTER_SESSION as aT, REMOVE_EDGE as aU, REMOVE_EDGES_BETWEEN as aV, REMOVE_LENS_FROM_TOPIC as aW, RESOLVE_EFFECTIVE_ONTOLOGY as aX, RESOLVE_INTERACTIVE_PRINCIPAL as aY, RUN_GRAPH_INTELLIGENCE_QUERY as aZ, SEARCH_BELIEFS as a_, GET_OBSERVATION_CONTEXT as aa, GET_ONTOLOGY as ab, GET_QUESTION as ac, GET_TOPIC as ad, GET_TOPIC_COVERAGE as ae, GET_TOPIC_GRAPH_SPINE as af, GET_TOPIC_TREE as ag, GIT_SEMANTIC_REQUIRED_TOOLS as ah, HEARTBEAT_SESSION as ai, IDENTITY_WHOAMI as aj, INGEST_OBSERVATION as ak, LINK_EVIDENCE as al, LINK_EVIDENCE_TO_BELIEF as am, LINK_EVIDENCE_TO_QUESTION as an, LIST_ACTIVE_SESSIONS as ao, LIST_ALL_WORKTREES as ap, LIST_BELIEFS as aq, LIST_CAMPAIGNS as ar, LIST_EPISTEMIC_NODES as as, LIST_EVIDENCE as at, LIST_GRAPH_INTELLIGENCE_QUERIES as au, LIST_LENSES as av, LIST_ONTOLOGIES as aw, LIST_QUESTIONS as ax, LIST_TASKS as ay, LIST_TOPICS as az, ADD_WORKTREE as b, SEED_BELIEF_LATTICE as b0, SEND_AGENT_MESSAGE as b1, SUPERSEDE_EPISTEMIC_NODE as b2, TRACE_ENTITY_IMPACT as b3, TRAVERSE_GRAPH as b4, TRIGGER_BELIEF_REVIEW as b5, UPDATE_EDGE as b6, UPDATE_EPISTEMIC_NODE as b7, UPDATE_ONTOLOGY as b8, UPDATE_QUESTION_STATUS as b9, UPDATE_TASK as ba, UPDATE_TOPIC as bb, UPDATE_WORKTREE_METADATA as bc, UPDATE_WORKTREE_TARGETS as bd, VERIFY_EPISTEMIC_NODE as be, validateGitSemantics as bf, ANALYZE_TOPIC_DENSITY as c, ANSWER_QUESTION as d, APPLY_AUTO_BRANCHING as e, APPLY_LENS_TO_TOPIC as f, APPLY_ONTOLOGY as g, ARCHIVE_BELIEF as h, ARCHIVE_EPISTEMIC_NODE as i, ARCHIVE_ONTOLOGY as j, ARCHIVE_QUESTION as k, BATCH_CREATE_EPISTEMIC_NODES as l, BEGIN_BUILD_SESSION as m, BISECT_CONFIDENCE as n, BROADCAST_MESSAGE as o, CLAIM_FILES as p, COMPILE_CONTEXT as q, COMPLETE_TASK as r, CREATE_ANSWER as s, toolContracts as t, CREATE_BELIEF as u, CREATE_EDGE as v, CREATE_EPISTEMIC_CONTRACT as w, CREATE_EPISTEMIC_NODE as x, CREATE_EVIDENCE as y, CREATE_LENS as z };
|
package/dist/tool-contracts.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as ACTIVATE_WORKTREE, a as ADD_EVIDENCE, b as ADD_WORKTREE, c as ANALYZE_TOPIC_DENSITY, d as ANSWER_QUESTION, e as APPLY_AUTO_BRANCHING, f as APPLY_LENS_TO_TOPIC, g as APPLY_ONTOLOGY, h as ARCHIVE_BELIEF, i as ARCHIVE_EPISTEMIC_NODE, j as ARCHIVE_ONTOLOGY, k as ARCHIVE_QUESTION, B as BATCH_CREATE_EDGES, l as BATCH_CREATE_EPISTEMIC_NODES, m as BEGIN_BUILD_SESSION, n as BISECT_CONFIDENCE, o as BROADCAST_MESSAGE, C as CHECK_PERMISSION, p as CLAIM_FILES, q as COMPILE_CONTEXT, r as COMPLETE_TASK, s as CREATE_ANSWER, u as CREATE_BELIEF, v as CREATE_EDGE, w as CREATE_EPISTEMIC_CONTRACT, x as CREATE_EPISTEMIC_NODE, y as CREATE_EVIDENCE, z as CREATE_LENS, D as CREATE_ONTOLOGY, E as CREATE_ONTOLOGY_VERSION, F as CREATE_QUESTION, G as CREATE_TASK, H as CREATE_TOPIC, I as DEPRECATE_ONTOLOGY_VERSION, J as DETECT_CONFIRMATION_BIAS, K as DISCOVER, L as DISCOVER_ENTITY_CONNECTIONS, N as END_SESSION, O as EVALUATE_CONTRACT, P as FILTER_BY_PERMISSION, Q as FIND_CONTRADICTIONS, R as FIND_MISSING_QUESTIONS, S as FLAG_CONTRADICTION, T as FORK_BELIEF, U as GENERATE_SESSION_HANDOFF, V as GET_AGENT_INBOX, W as GET_ANSWER, X as GET_AUDIT_TRAIL, Y as GET_BELIEF, Z as GET_CHANGE_HISTORY, _ as GET_CODE_CONTEXT, $ as GET_CONFIDENCE_HISTORY, a0 as GET_CONTRACT_STATUS, a1 as GET_EPISTEMIC_NODE, a2 as GET_EVIDENCE, a3 as GET_FAILURE_LOG, a4 as GET_FALSIFICATION_QUESTIONS, a5 as GET_GRAPH_GAPS, a6 as GET_GRAPH_NEIGHBORHOOD, a7 as GET_GRAPH_STRUCTURE_ANALYSIS, a8 as GET_HIGH_PRIORITY_QUESTIONS, a9 as GET_LATTICE_COVERAGE, aa as GET_OBSERVATION_CONTEXT, ab as GET_ONTOLOGY, ac as GET_QUESTION, ad as GET_TOPIC, ae as GET_TOPIC_COVERAGE, af as GET_TOPIC_GRAPH_SPINE, ag as GET_TOPIC_TREE, ah as GIT_SEMANTIC_REQUIRED_TOOLS, ai as HEARTBEAT_SESSION, aj as IDENTITY_WHOAMI, ak as INGEST_OBSERVATION, al as LINK_EVIDENCE, am as LINK_EVIDENCE_TO_BELIEF, an as LINK_EVIDENCE_TO_QUESTION, ao as LIST_ACTIVE_SESSIONS, ap as LIST_ALL_WORKTREES, aq as LIST_BELIEFS, ar as LIST_CAMPAIGNS, as as LIST_EPISTEMIC_NODES, at as LIST_EVIDENCE, au as LIST_GRAPH_INTELLIGENCE_QUERIES, av as LIST_LENSES, aw as LIST_ONTOLOGIES, ax as LIST_QUESTIONS, ay as LIST_TASKS, az as LIST_TOPICS, aA as LIST_WORKTREES, aB as MANAGE_WRITE_POLICY, aC as MATCH_ENTITY_TYPE, aD as MATERIALIZE_TOPIC_GRAPH, aE as MCP_TOOL_CONTRACTS, aF as MERGE, aG as MODULATE_CONFIDENCE, aH as McpParameterDef, aI as McpResponseDef, M as McpToolContract, aJ as OPEN_PULL_REQUEST, aK as PIPELINE_SNAPSHOT, aL as PUBLISH_ONTOLOGY_VERSION, aM as PUSH, aN as QUERY_LINEAGE, aO as RECORD_ATTEMPT, aP as RECORD_JUDGMENT, aQ as RECORD_SCOPE_LEARNING, aR as REFINE_BELIEF, aS as REFINE_QUESTION, aT as REGISTER_SESSION, aU as REMOVE_EDGE, aV as REMOVE_EDGES_BETWEEN, aW as REMOVE_LENS_FROM_TOPIC, aX as RESOLVE_EFFECTIVE_ONTOLOGY, aY as
|
|
1
|
+
export { A as ACTIVATE_WORKTREE, a as ADD_EVIDENCE, b as ADD_WORKTREE, c as ANALYZE_TOPIC_DENSITY, d as ANSWER_QUESTION, e as APPLY_AUTO_BRANCHING, f as APPLY_LENS_TO_TOPIC, g as APPLY_ONTOLOGY, h as ARCHIVE_BELIEF, i as ARCHIVE_EPISTEMIC_NODE, j as ARCHIVE_ONTOLOGY, k as ARCHIVE_QUESTION, B as BATCH_CREATE_EDGES, l as BATCH_CREATE_EPISTEMIC_NODES, m as BEGIN_BUILD_SESSION, n as BISECT_CONFIDENCE, o as BROADCAST_MESSAGE, C as CHECK_PERMISSION, p as CLAIM_FILES, q as COMPILE_CONTEXT, r as COMPLETE_TASK, s as CREATE_ANSWER, u as CREATE_BELIEF, v as CREATE_EDGE, w as CREATE_EPISTEMIC_CONTRACT, x as CREATE_EPISTEMIC_NODE, y as CREATE_EVIDENCE, z as CREATE_LENS, D as CREATE_ONTOLOGY, E as CREATE_ONTOLOGY_VERSION, F as CREATE_QUESTION, G as CREATE_TASK, H as CREATE_TOPIC, I as DEPRECATE_ONTOLOGY_VERSION, J as DETECT_CONFIRMATION_BIAS, K as DISCOVER, L as DISCOVER_ENTITY_CONNECTIONS, N as END_SESSION, O as EVALUATE_CONTRACT, P as FILTER_BY_PERMISSION, Q as FIND_CONTRADICTIONS, R as FIND_MISSING_QUESTIONS, S as FLAG_CONTRADICTION, T as FORK_BELIEF, U as GENERATE_SESSION_HANDOFF, V as GET_AGENT_INBOX, W as GET_ANSWER, X as GET_AUDIT_TRAIL, Y as GET_BELIEF, Z as GET_CHANGE_HISTORY, _ as GET_CODE_CONTEXT, $ as GET_CONFIDENCE_HISTORY, a0 as GET_CONTRACT_STATUS, a1 as GET_EPISTEMIC_NODE, a2 as GET_EVIDENCE, a3 as GET_FAILURE_LOG, a4 as GET_FALSIFICATION_QUESTIONS, a5 as GET_GRAPH_GAPS, a6 as GET_GRAPH_NEIGHBORHOOD, a7 as GET_GRAPH_STRUCTURE_ANALYSIS, a8 as GET_HIGH_PRIORITY_QUESTIONS, a9 as GET_LATTICE_COVERAGE, aa as GET_OBSERVATION_CONTEXT, ab as GET_ONTOLOGY, ac as GET_QUESTION, ad as GET_TOPIC, ae as GET_TOPIC_COVERAGE, af as GET_TOPIC_GRAPH_SPINE, ag as GET_TOPIC_TREE, ah as GIT_SEMANTIC_REQUIRED_TOOLS, ai as HEARTBEAT_SESSION, aj as IDENTITY_WHOAMI, ak as INGEST_OBSERVATION, al as LINK_EVIDENCE, am as LINK_EVIDENCE_TO_BELIEF, an as LINK_EVIDENCE_TO_QUESTION, ao as LIST_ACTIVE_SESSIONS, ap as LIST_ALL_WORKTREES, aq as LIST_BELIEFS, ar as LIST_CAMPAIGNS, as as LIST_EPISTEMIC_NODES, at as LIST_EVIDENCE, au as LIST_GRAPH_INTELLIGENCE_QUERIES, av as LIST_LENSES, aw as LIST_ONTOLOGIES, ax as LIST_QUESTIONS, ay as LIST_TASKS, az as LIST_TOPICS, aA as LIST_WORKTREES, aB as MANAGE_WRITE_POLICY, aC as MATCH_ENTITY_TYPE, aD as MATERIALIZE_TOPIC_GRAPH, aE as MCP_TOOL_CONTRACTS, aF as MERGE, aG as MODULATE_CONFIDENCE, aH as McpParameterDef, aI as McpResponseDef, M as McpToolContract, aJ as OPEN_PULL_REQUEST, aK as PIPELINE_SNAPSHOT, aL as PUBLISH_ONTOLOGY_VERSION, aM as PUSH, aN as QUERY_LINEAGE, aO as RECORD_ATTEMPT, aP as RECORD_JUDGMENT, aQ as RECORD_SCOPE_LEARNING, aR as REFINE_BELIEF, aS as REFINE_QUESTION, aT as REGISTER_SESSION, aU as REMOVE_EDGE, aV as REMOVE_EDGES_BETWEEN, aW as REMOVE_LENS_FROM_TOPIC, aX as RESOLVE_EFFECTIVE_ONTOLOGY, aY as RESOLVE_INTERACTIVE_PRINCIPAL, aZ as RUN_GRAPH_INTELLIGENCE_QUERY, a_ as SEARCH_BELIEFS, a$ as SEARCH_EVIDENCE, b0 as SEED_BELIEF_LATTICE, b1 as SEND_AGENT_MESSAGE, b2 as SUPERSEDE_EPISTEMIC_NODE, b3 as TRACE_ENTITY_IMPACT, b4 as TRAVERSE_GRAPH, b5 as TRIGGER_BELIEF_REVIEW, b6 as UPDATE_EDGE, b7 as UPDATE_EPISTEMIC_NODE, b8 as UPDATE_ONTOLOGY, b9 as UPDATE_QUESTION_STATUS, ba as UPDATE_TASK, bb as UPDATE_TOPIC, bc as UPDATE_WORKTREE_METADATA, bd as UPDATE_WORKTREE_TARGETS, be as VERIFY_EPISTEMIC_NODE, bf as validateGitSemantics } from './tool-contracts-C_xvM9q2.js';
|