@lucern/contracts 0.3.0-alpha.6 → 0.3.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/context-pack.contract.d.ts +5 -3
  3. package/dist/context-pack.contract.js.map +1 -1
  4. package/dist/{dsl-BgpoVOVQ.d.ts → dsl-djCRfuWC.d.ts} +1 -1
  5. package/dist/dsl.d.ts +1 -1
  6. package/dist/dsl.js +1 -4
  7. package/dist/dsl.js.map +1 -1
  8. package/dist/{edge-policy-manifest-DpmTtjmm.d.ts → edge-policy-manifest-Byv6cQPP.d.ts} +1 -1
  9. package/dist/function-registry/beliefs.js +77 -14
  10. package/dist/function-registry/beliefs.js.map +1 -1
  11. package/dist/function-registry/coding.js +77 -14
  12. package/dist/function-registry/coding.js.map +1 -1
  13. package/dist/function-registry/context.js +83 -17
  14. package/dist/function-registry/context.js.map +1 -1
  15. package/dist/function-registry/contracts.js +77 -14
  16. package/dist/function-registry/contracts.js.map +1 -1
  17. package/dist/function-registry/coordination.js +77 -14
  18. package/dist/function-registry/coordination.js.map +1 -1
  19. package/dist/function-registry/edges.js +77 -14
  20. package/dist/function-registry/edges.js.map +1 -1
  21. package/dist/function-registry/evidence.js +81 -15
  22. package/dist/function-registry/evidence.js.map +1 -1
  23. package/dist/function-registry/graph.js +77 -14
  24. package/dist/function-registry/graph.js.map +1 -1
  25. package/dist/function-registry/helpers.d.ts +3 -3
  26. package/dist/function-registry/helpers.js +77 -14
  27. package/dist/function-registry/helpers.js.map +1 -1
  28. package/dist/function-registry/identity.js +77 -14
  29. package/dist/function-registry/identity.js.map +1 -1
  30. package/dist/function-registry/index.d.ts +2 -2
  31. package/dist/function-registry/index.js +80 -17
  32. package/dist/function-registry/index.js.map +1 -1
  33. package/dist/function-registry/judgments.js +77 -14
  34. package/dist/function-registry/judgments.js.map +1 -1
  35. package/dist/function-registry/legacy.js +77 -14
  36. package/dist/function-registry/legacy.js.map +1 -1
  37. package/dist/function-registry/lenses.js +77 -14
  38. package/dist/function-registry/lenses.js.map +1 -1
  39. package/dist/function-registry/manifest.d.ts +1 -1
  40. package/dist/function-registry/ontologies.js +77 -14
  41. package/dist/function-registry/ontologies.js.map +1 -1
  42. package/dist/function-registry/pipeline.js +77 -14
  43. package/dist/function-registry/pipeline.js.map +1 -1
  44. package/dist/function-registry/questions.js +77 -14
  45. package/dist/function-registry/questions.js.map +1 -1
  46. package/dist/function-registry/tasks.d.ts +17 -17
  47. package/dist/function-registry/tasks.js +121 -16
  48. package/dist/function-registry/tasks.js.map +1 -1
  49. package/dist/function-registry/topics.js +77 -14
  50. package/dist/function-registry/topics.js.map +1 -1
  51. package/dist/function-registry/types.d.ts +1 -1
  52. package/dist/function-registry/worktrees.js +85 -17
  53. package/dist/function-registry/worktrees.js.map +1 -1
  54. package/dist/function-registry-input-audit.js +4 -2
  55. package/dist/function-registry-input-audit.js.map +1 -1
  56. package/dist/index.d.ts +5 -5
  57. package/dist/index.js +106 -18
  58. package/dist/index.js.map +1 -1
  59. package/dist/infisical-runtime.contract.js +5 -0
  60. package/dist/infisical-runtime.contract.js.map +1 -1
  61. package/dist/lens-filter.contract.js +4 -3
  62. package/dist/lens-filter.contract.js.map +1 -1
  63. package/dist/lens-workflow.contract.js +4 -3
  64. package/dist/lens-workflow.contract.js.map +1 -1
  65. package/dist/manifests/edge-policy-manifest.d.ts +1 -1
  66. package/dist/manifests/infisical-runtime-manifest.js +5 -0
  67. package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
  68. package/dist/manifests/tenant-client-manifest.d.ts +20 -1
  69. package/dist/manifests/tenant-client-manifest.js +23 -0
  70. package/dist/manifests/tenant-client-manifest.js.map +1 -1
  71. package/dist/projections/check-convex-args-shape.js +4 -1
  72. package/dist/projections/check-convex-args-shape.js.map +1 -1
  73. package/dist/projections/create-evidence.projection.js +4 -1
  74. package/dist/projections/create-evidence.projection.js.map +1 -1
  75. package/dist/projections/index.js +4 -1
  76. package/dist/projections/index.js.map +1 -1
  77. package/dist/schema-helpers/enumValidation.js +2 -5
  78. package/dist/schema-helpers/enumValidation.js.map +1 -1
  79. package/dist/schema-helpers/spine/nodes/decision.js +2 -1
  80. package/dist/schema-helpers/spine/nodes/decision.js.map +1 -1
  81. package/dist/schema-helpers/spine/tables/epistemicNodes.js +27 -27
  82. package/dist/schema-helpers/spine/tables/epistemicNodes.js.map +1 -1
  83. package/dist/sdk-methods.contract.d.ts +1 -1
  84. package/dist/{sdk-tools.contract-Ng8ULxjr.d.ts → sdk-tools.contract-Ci8bkoai.d.ts} +2 -2
  85. package/dist/sdk-tools.contract.d.ts +2 -2
  86. package/dist/sdk-tools.contract.js +76 -11
  87. package/dist/sdk-tools.contract.js.map +1 -1
  88. package/dist/tenant-bootstrap-seed.contract.d.ts +4 -4
  89. package/dist/tenant-bootstrap-seed.contract.js +2 -2
  90. package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
  91. package/dist/tenant-client.contract.d.ts +20 -1
  92. package/dist/tenant-client.contract.js +23 -0
  93. package/dist/tenant-client.contract.js.map +1 -1
  94. package/dist/{tool-contracts-CYXVPN4K.d.ts → tool-contracts-B4iWhejG.d.ts} +1 -1
  95. package/dist/tool-contracts.d.ts +1 -1
  96. package/dist/tool-contracts.js +76 -11
  97. package/dist/tool-contracts.js.map +1 -1
  98. package/package.json +1 -1
@@ -13,7 +13,7 @@ type TenantBootstrapSeedAuthMetadataField = (typeof TENANT_BOOTSTRAP_SEED_AUTH_M
13
13
  declare const TENANT_BOOTSTRAP_SEED_COMPONENTS: {
14
14
  readonly kernel: {
15
15
  readonly componentName: "lucern";
16
- readonly migrationModule: "dist/adapters/migration";
16
+ readonly migrationModule: "adapters/migration";
17
17
  readonly templateService: "services/kernel-template";
18
18
  readonly templateDeployments: {
19
19
  readonly staging: "kindly-goldfish-162";
@@ -22,7 +22,7 @@ declare const TENANT_BOOTSTRAP_SEED_COMPONENTS: {
22
22
  };
23
23
  readonly identity: {
24
24
  readonly componentName: "identity";
25
- readonly migrationModule: "dist/migration";
25
+ readonly migrationModule: "migration";
26
26
  readonly templateService: "services/identity-template";
27
27
  readonly templateDeployments: {
28
28
  readonly staging: "industrious-cheetah-864";
@@ -566,7 +566,7 @@ declare const TENANT_BOOTSTRAP_SEED_MANIFEST: {
566
566
  readonly components: {
567
567
  readonly kernel: {
568
568
  readonly componentName: "lucern";
569
- readonly migrationModule: "dist/adapters/migration";
569
+ readonly migrationModule: "adapters/migration";
570
570
  readonly templateService: "services/kernel-template";
571
571
  readonly templateDeployments: {
572
572
  readonly staging: "kindly-goldfish-162";
@@ -575,7 +575,7 @@ declare const TENANT_BOOTSTRAP_SEED_MANIFEST: {
575
575
  };
576
576
  readonly identity: {
577
577
  readonly componentName: "identity";
578
- readonly migrationModule: "dist/migration";
578
+ readonly migrationModule: "migration";
579
579
  readonly templateService: "services/identity-template";
580
580
  readonly templateDeployments: {
581
581
  readonly staging: "industrious-cheetah-864";
@@ -12,7 +12,7 @@ var TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS = [
12
12
  var TENANT_BOOTSTRAP_SEED_COMPONENTS = {
13
13
  kernel: {
14
14
  componentName: "lucern",
15
- migrationModule: "dist/adapters/migration",
15
+ migrationModule: "adapters/migration",
16
16
  templateService: "services/kernel-template",
17
17
  templateDeployments: {
18
18
  staging: "kindly-goldfish-162",
@@ -21,7 +21,7 @@ var TENANT_BOOTSTRAP_SEED_COMPONENTS = {
21
21
  },
22
22
  identity: {
23
23
  componentName: "identity",
24
- migrationModule: "dist/migration",
24
+ migrationModule: "migration",
25
25
  templateService: "services/identity-template",
26
26
  templateDeployments: {
27
27
  staging: "industrious-cheetah-864",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tenant-bootstrap-seed.contract.ts"],"names":[],"mappings":"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","file":"tenant-bootstrap-seed.contract.js","sourcesContent":["/**\n * Tenant bootstrap seed contract.\n *\n * Fresh tenant deployments install the Lucern kernel and identity components\n * from npm, then copy canonical template rows for non-secret runtime defaults.\n * This contract is intentionally exhaustive for the K/I tables: it separates\n * rows that must be carried by the template deployments from rows that are\n * runtime data, runtime credentials, logs, queues, or derived caches.\n */\n\nexport const TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION = \"2026-04-30\" as const;\n\nexport const TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"role\",\n \"authMode\",\n \"correlationId\",\n \"auditMetadata\",\n] as const;\nexport type TenantBootstrapSeedAuthMetadataField =\n (typeof TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_COMPONENTS = {\n kernel: {\n componentName: \"lucern\",\n migrationModule: \"dist/adapters/migration\",\n templateService: \"services/kernel-template\",\n templateDeployments: {\n staging: \"kindly-goldfish-162\",\n prod: \"cool-badger-368\",\n },\n },\n identity: {\n componentName: \"identity\",\n migrationModule: \"dist/migration\",\n templateService: \"services/identity-template\",\n templateDeployments: {\n staging: \"industrious-cheetah-864\",\n prod: \"combative-beagle-879\",\n },\n },\n} as const;\nexport type TenantBootstrapSeedComponent =\n keyof typeof TENANT_BOOTSTRAP_SEED_COMPONENTS;\n\nexport type TenantBootstrapSeedScope = \"global\" | \"tenant\";\n\nexport type TenantBootstrapPrepopulation =\n | \"required_template\"\n | \"optional_template\"\n | \"runtime_bootstrap\"\n | \"runtime_data\"\n | \"runtime_log\"\n | \"runtime_secret\"\n | \"runtime_derived\"\n | \"runtime_queue\";\n\nexport type TenantBootstrapCopyMode =\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\"\n | \"none\";\n\nexport type TenantBootstrapTableRequirement = {\n component: TenantBootstrapSeedComponent;\n table: string;\n prepopulation: TenantBootstrapPrepopulation;\n copyMode: TenantBootstrapCopyMode;\n scope?: TenantBootstrapSeedScope;\n uniqueKey?: readonly string[];\n dependsOn?: readonly string[];\n description: string;\n};\n\nexport type TenantBootstrapSeedTable = TenantBootstrapTableRequirement & {\n copyMode:\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\";\n scope: TenantBootstrapSeedScope;\n uniqueKey: readonly string[];\n};\n\nfunction isCopyableSeedRequirement(\n entry: TenantBootstrapTableRequirement\n): entry is TenantBootstrapSeedTable {\n return (\n (entry.copyMode === \"template_global\" ||\n entry.copyMode === \"template_tenant_rewrite\" ||\n entry.copyMode === \"template_reference_remap\") &&\n Boolean(entry.scope) &&\n Array.isArray(entry.uniqueKey) &&\n entry.uniqueKey.length > 0\n );\n}\n\nexport const TENANT_BOOTSTRAP_TABLE_REQUIREMENTS = [\n {\n component: \"kernel\",\n table: \"agentMessages\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Agent coordination messages are session data, not template data.\",\n },\n {\n component: \"kernel\",\n table: \"agentSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Agent coordination sessions are created by active clients.\",\n },\n {\n component: \"kernel\",\n table: \"autofixJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Autofix work items are runtime queue rows.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Background job executions are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobSettings\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"jobKey\"],\n description: \"Default job enablement settings must come from the K template.\",\n },\n {\n component: \"kernel\",\n table: \"beliefConfidence\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief confidence rows are created with tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"beliefEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefHistory\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief history is append-only tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefScenarios\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Scenario rows are tenant-authored reasoning data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefVotes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision belief votes are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"calibrationScores\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Calibration scores are computed from tenant outcomes.\",\n },\n {\n component: \"kernel\",\n table: \"contractEvaluations\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Contract evaluation rows are runtime computation logs.\",\n },\n {\n component: \"kernel\",\n table: \"contradictions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Contradictions are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"crossProjectConnections\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Cross-topic connections are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"decisionComputedSummaries\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision summaries are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"decisionEvents\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision events are lifecycle data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionParticipants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision participants are tenant-selected actors.\",\n },\n {\n component: \"kernel\",\n table: \"decisionRiskLedger\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision risk rows are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionSnapshots\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision snapshots are derived from tenant state.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationContributions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation contributions are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation sessions are created by tenant workflows.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Epistemic audit rows are append-only runtime audit data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicContracts\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Epistemic contracts are tenant-authored governance data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicEdges\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Edges are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodeEmbeddings\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Embeddings are derived from tenant graph nodes.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Nodes are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisCache\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph analysis cache rows are derived from tenant graph state.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisResults\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph analysis result rows are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"graphSuggestions\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph suggestions are derived recommendations.\",\n },\n {\n component: \"kernel\",\n table: \"harnessReplays\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness replay rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"harnessRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness run rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"idempotencyTokens\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Idempotency tokens are request-scoped runtime guards.\",\n },\n {\n component: \"kernel\",\n table: \"lenses\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Reusable lens templates may live in K templates, but workspace-specific copies are not required for core SDK boot.\",\n },\n {\n component: \"kernel\",\n table: \"lensTopicBindings\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Lens bindings attach runtime topics to runtime/workspace lenses.\",\n },\n {\n component: \"kernel\",\n table: \"neo4jSyncQueue\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Neo4j sync queue rows are runtime work items.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyDefinitions\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\"],\n description: \"Platform ontology definitions power taxonomy reads and effective ontology resolution.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyVersions\",\n prepopulation: \"required_template\",\n copyMode: \"template_reference_remap\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\", \"version\"],\n dependsOn: [\"ontologyDefinitions\"],\n description: \"Ontology versions must be copied with ontologyDefinition ID remapping.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPolicyDecisions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run policy decisions are audit logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPromptResolutions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run prompt resolution rows are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent runs are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunToolCalls\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run tool calls are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformHarnessShadowAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness shadow audit rows are runtime audit records.\",\n },\n {\n component: \"kernel\",\n table: \"publicationRules\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"name\"],\n description: \"Default publication policy rules are rewritten into each tenant.\",\n },\n {\n component: \"kernel\",\n table: \"questionEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Question-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"researchJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Research job rows are runtime queue items.\",\n },\n {\n component: \"kernel\",\n table: \"schemaEnumConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"category\", \"value\"],\n description: \"Runtime-extensible enum defaults required by SDK graph APIs.\",\n },\n {\n component: \"kernel\",\n table: \"stakeholderGroups\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Stakeholder groups are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"systemLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"System logs are runtime telemetry.\",\n },\n {\n component: \"kernel\",\n table: \"tasks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Tasks are tenant-authored work items.\",\n },\n {\n component: \"kernel\",\n table: \"topics\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Default topics are created by tenant provisioning, not copied from templates.\",\n },\n {\n component: \"kernel\",\n table: \"workflowDefinitions\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Table-driven workflow definitions can be template data after the workflow engine leaves legacy mode.\",\n },\n {\n component: \"kernel\",\n table: \"workflowPullRequests\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Workflow pull requests are tenant workflow data.\",\n },\n {\n component: \"kernel\",\n table: \"workflowStages\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n dependsOn: [\"workflowDefinitions\"],\n description:\n \"Workflow stages can be template data after workflowDefinitions are enabled for bootstrap copying.\",\n },\n {\n component: \"kernel\",\n table: \"worktreeBeliefCluster\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Worktree cluster rows link runtime worktrees to runtime beliefs.\",\n },\n {\n component: \"kernel\",\n table: \"worktrees\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Worktrees are tenant/runtime planning data.\",\n },\n {\n component: \"identity\",\n table: \"agents\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Service agents are provisioned per tenant or service, not copied.\",\n },\n {\n component: \"identity\",\n table: \"mcpWritePolicy\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"topicId\", \"role\", \"toolCategory\"],\n description: \"Global write policy defaults govern service and interactive MCP writes.\",\n },\n {\n component: \"identity\",\n table: \"modelCallLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Model call logs are runtime telemetry.\",\n },\n {\n component: \"identity\",\n table: \"modelFunctionSlots\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description: \"Function-to-model slots are required by model runtime resolution.\",\n },\n {\n component: \"identity\",\n table: \"modelRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"key\"],\n description: \"Model catalog defaults are required by model runtime clients.\",\n },\n {\n component: \"identity\",\n table: \"modelSlotConfigs\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description: \"Slot-level defaults are required before tenant overrides exist.\",\n },\n {\n component: \"identity\",\n table: \"platformAudienceGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Audience grants are principal/group-specific access rows.\",\n },\n {\n component: \"identity\",\n table: \"platformAudiences\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"audienceKey\"],\n description: \"Default tenant audience taxonomy rows are rewritten into each tenant.\",\n },\n {\n component: \"identity\",\n table: \"platformPolicyDecisionLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Policy decisions are runtime audit logs.\",\n },\n {\n component: \"identity\",\n table: \"projectGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Project/topic grants are principal or group-specific access rows.\",\n },\n {\n component: \"identity\",\n table: \"reasoningPermissions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Reasoning permissions are principal-specific policy rows.\",\n },\n {\n component: \"identity\",\n table: \"tenantApiKeys\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"API keys are tenant credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"tenantConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\"],\n description: \"Tenant-local config defaults are rewritten during bootstrap.\",\n },\n {\n component: \"identity\",\n table: \"tenantIntegrations\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"integrationKey\"],\n description: \"Non-secret integration descriptors are rewritten into each tenant.\",\n },\n {\n component: \"identity\",\n table: \"tenantModelSlotBindings\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Tenant model slot bindings reference provider secrets and are runtime-only.\",\n },\n {\n component: \"identity\",\n table: \"tenantPolicies\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"roleName\"],\n description: \"Default tenant policy roles are rewritten during bootstrap.\",\n },\n {\n component: \"identity\",\n table: \"tenantProviderSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Provider secrets are credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"tenantProxyGatewayUsage\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Proxy gateway usage rows are runtime telemetry.\",\n },\n {\n component: \"identity\",\n table: \"tenantProxyTokenMints\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Proxy token mints are ephemeral secret-bearing runtime rows.\",\n },\n {\n component: \"identity\",\n table: \"tenantSandboxAuditEvents\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Sandbox audit rows are runtime security logs.\",\n },\n {\n component: \"identity\",\n table: \"tenantSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Tenant secrets are credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"toolAcls\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"role\", \"toolName\"],\n description: \"Default role-to-tool grants are required for SDK/MCP tool access.\",\n },\n {\n component: \"identity\",\n table: \"toolRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"toolName\"],\n description: \"Core tool catalog rows are required before pack or tenant tools exist.\",\n },\n {\n component: \"identity\",\n table: \"users\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Users are created from Clerk/MC principal resolution, not copied.\",\n },\n] as const satisfies readonly TenantBootstrapTableRequirement[];\n\nexport const TENANT_BOOTSTRAP_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n isCopyableSeedRequirement\n ) as readonly TenantBootstrapSeedTable[];\n\nexport type TenantBootstrapSeedTableName =\n (typeof TENANT_BOOTSTRAP_SEED_TABLES)[number][\"table\"];\n\nexport const TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n (entry) => !isCopyableSeedRequirement(entry)\n ).map((entry) => entry.table) as readonly string[];\nexport type TenantBootstrapForbiddenSeedTable =\n (typeof TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_MANIFEST = {\n contractVersion: TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION,\n authMetadataFields: TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS,\n components: TENANT_BOOTSTRAP_SEED_COMPONENTS,\n tableRequirements: TENANT_BOOTSTRAP_TABLE_REQUIREMENTS,\n tables: TENANT_BOOTSTRAP_SEED_TABLES,\n forbiddenTables: TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES,\n} as const;\n\nexport function findTenantBootstrapTableRequirement(\n table: string\n): TenantBootstrapTableRequirement | undefined {\n return TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.find(\n (entry) => entry.table === table\n );\n}\n\nexport function findTenantBootstrapSeedTable(\n table: string\n): TenantBootstrapSeedTable | undefined {\n return TENANT_BOOTSTRAP_SEED_TABLES.find((entry) => entry.table === table);\n}\n\nexport function isTenantBootstrapSeedTable(table: string): boolean {\n return Boolean(findTenantBootstrapSeedTable(table));\n}\n\nexport function isTenantBootstrapForbiddenSeedTable(table: string): boolean {\n return TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES.some((entry) => entry === table);\n}\n"]}
1
+ {"version":3,"sources":["../src/tenant-bootstrap-seed.contract.ts"],"names":[],"mappings":"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","file":"tenant-bootstrap-seed.contract.js","sourcesContent":["/**\n * Tenant bootstrap seed contract.\n *\n * Fresh tenant deployments install the Lucern kernel and identity components\n * from npm, then copy canonical template rows for non-secret runtime defaults.\n * This contract is intentionally exhaustive for the K/I tables: it separates\n * rows that must be carried by the template deployments from rows that are\n * runtime data, runtime credentials, logs, queues, or derived caches.\n */\n\nexport const TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION = \"2026-04-30\" as const;\n\nexport const TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"role\",\n \"authMode\",\n \"correlationId\",\n \"auditMetadata\",\n] as const;\nexport type TenantBootstrapSeedAuthMetadataField =\n (typeof TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_COMPONENTS = {\n kernel: {\n componentName: \"lucern\",\n migrationModule: \"adapters/migration\",\n templateService: \"services/kernel-template\",\n templateDeployments: {\n staging: \"kindly-goldfish-162\",\n prod: \"cool-badger-368\",\n },\n },\n identity: {\n componentName: \"identity\",\n migrationModule: \"migration\",\n templateService: \"services/identity-template\",\n templateDeployments: {\n staging: \"industrious-cheetah-864\",\n prod: \"combative-beagle-879\",\n },\n },\n} as const;\nexport type TenantBootstrapSeedComponent =\n keyof typeof TENANT_BOOTSTRAP_SEED_COMPONENTS;\n\nexport type TenantBootstrapSeedScope = \"global\" | \"tenant\";\n\nexport type TenantBootstrapPrepopulation =\n | \"required_template\"\n | \"optional_template\"\n | \"runtime_bootstrap\"\n | \"runtime_data\"\n | \"runtime_log\"\n | \"runtime_secret\"\n | \"runtime_derived\"\n | \"runtime_queue\";\n\nexport type TenantBootstrapCopyMode =\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\"\n | \"none\";\n\nexport type TenantBootstrapTableRequirement = {\n component: TenantBootstrapSeedComponent;\n table: string;\n prepopulation: TenantBootstrapPrepopulation;\n copyMode: TenantBootstrapCopyMode;\n scope?: TenantBootstrapSeedScope;\n uniqueKey?: readonly string[];\n dependsOn?: readonly string[];\n description: string;\n};\n\nexport type TenantBootstrapSeedTable = TenantBootstrapTableRequirement & {\n copyMode:\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\";\n scope: TenantBootstrapSeedScope;\n uniqueKey: readonly string[];\n};\n\nfunction isCopyableSeedRequirement(\n entry: TenantBootstrapTableRequirement\n): entry is TenantBootstrapSeedTable {\n return (\n (entry.copyMode === \"template_global\" ||\n entry.copyMode === \"template_tenant_rewrite\" ||\n entry.copyMode === \"template_reference_remap\") &&\n Boolean(entry.scope) &&\n Array.isArray(entry.uniqueKey) &&\n entry.uniqueKey.length > 0\n );\n}\n\nexport const TENANT_BOOTSTRAP_TABLE_REQUIREMENTS = [\n {\n component: \"kernel\",\n table: \"agentMessages\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Agent coordination messages are session data, not template data.\",\n },\n {\n component: \"kernel\",\n table: \"agentSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Agent coordination sessions are created by active clients.\",\n },\n {\n component: \"kernel\",\n table: \"autofixJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Autofix work items are runtime queue rows.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Background job executions are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobSettings\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"jobKey\"],\n description: \"Default job enablement settings must come from the K template.\",\n },\n {\n component: \"kernel\",\n table: \"beliefConfidence\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief confidence rows are created with tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"beliefEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefHistory\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief history is append-only tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefScenarios\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Scenario rows are tenant-authored reasoning data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefVotes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision belief votes are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"calibrationScores\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Calibration scores are computed from tenant outcomes.\",\n },\n {\n component: \"kernel\",\n table: \"contractEvaluations\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Contract evaluation rows are runtime computation logs.\",\n },\n {\n component: \"kernel\",\n table: \"contradictions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Contradictions are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"crossProjectConnections\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Cross-topic connections are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"decisionComputedSummaries\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision summaries are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"decisionEvents\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision events are lifecycle data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionParticipants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision participants are tenant-selected actors.\",\n },\n {\n component: \"kernel\",\n table: \"decisionRiskLedger\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision risk rows are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionSnapshots\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision snapshots are derived from tenant state.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationContributions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation contributions are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation sessions are created by tenant workflows.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Epistemic audit rows are append-only runtime audit data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicContracts\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Epistemic contracts are tenant-authored governance data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicEdges\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Edges are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodeEmbeddings\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Embeddings are derived from tenant graph nodes.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Nodes are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisCache\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph analysis cache rows are derived from tenant graph state.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisResults\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph analysis result rows are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"graphSuggestions\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph suggestions are derived recommendations.\",\n },\n {\n component: \"kernel\",\n table: \"harnessReplays\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness replay rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"harnessRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness run rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"idempotencyTokens\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Idempotency tokens are request-scoped runtime guards.\",\n },\n {\n component: \"kernel\",\n table: \"lenses\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Reusable lens templates may live in K templates, but workspace-specific copies are not required for core SDK boot.\",\n },\n {\n component: \"kernel\",\n table: \"lensTopicBindings\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Lens bindings attach runtime topics to runtime/workspace lenses.\",\n },\n {\n component: \"kernel\",\n table: \"neo4jSyncQueue\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Neo4j sync queue rows are runtime work items.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyDefinitions\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\"],\n description: \"Platform ontology definitions power taxonomy reads and effective ontology resolution.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyVersions\",\n prepopulation: \"required_template\",\n copyMode: \"template_reference_remap\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\", \"version\"],\n dependsOn: [\"ontologyDefinitions\"],\n description: \"Ontology versions must be copied with ontologyDefinition ID remapping.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPolicyDecisions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run policy decisions are audit logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPromptResolutions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run prompt resolution rows are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent runs are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunToolCalls\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run tool calls are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformHarnessShadowAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness shadow audit rows are runtime audit records.\",\n },\n {\n component: \"kernel\",\n table: \"publicationRules\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"name\"],\n description: \"Default publication policy rules are rewritten into each tenant.\",\n },\n {\n component: \"kernel\",\n table: \"questionEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Question-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"researchJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Research job rows are runtime queue items.\",\n },\n {\n component: \"kernel\",\n table: \"schemaEnumConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"category\", \"value\"],\n description: \"Runtime-extensible enum defaults required by SDK graph APIs.\",\n },\n {\n component: \"kernel\",\n table: \"stakeholderGroups\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Stakeholder groups are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"systemLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"System logs are runtime telemetry.\",\n },\n {\n component: \"kernel\",\n table: \"tasks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Tasks are tenant-authored work items.\",\n },\n {\n component: \"kernel\",\n table: \"topics\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Default topics are created by tenant provisioning, not copied from templates.\",\n },\n {\n component: \"kernel\",\n table: \"workflowDefinitions\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Table-driven workflow definitions can be template data after the workflow engine leaves legacy mode.\",\n },\n {\n component: \"kernel\",\n table: \"workflowPullRequests\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Workflow pull requests are tenant workflow data.\",\n },\n {\n component: \"kernel\",\n table: \"workflowStages\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n dependsOn: [\"workflowDefinitions\"],\n description:\n \"Workflow stages can be template data after workflowDefinitions are enabled for bootstrap copying.\",\n },\n {\n component: \"kernel\",\n table: \"worktreeBeliefCluster\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Worktree cluster rows link runtime worktrees to runtime beliefs.\",\n },\n {\n component: \"kernel\",\n table: \"worktrees\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Worktrees are tenant/runtime planning data.\",\n },\n {\n component: \"identity\",\n table: \"agents\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Service agents are provisioned per tenant or service, not copied.\",\n },\n {\n component: \"identity\",\n table: \"mcpWritePolicy\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"topicId\", \"role\", \"toolCategory\"],\n description: \"Global write policy defaults govern service and interactive MCP writes.\",\n },\n {\n component: \"identity\",\n table: \"modelCallLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Model call logs are runtime telemetry.\",\n },\n {\n component: \"identity\",\n table: \"modelFunctionSlots\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description: \"Function-to-model slots are required by model runtime resolution.\",\n },\n {\n component: \"identity\",\n table: \"modelRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"key\"],\n description: \"Model catalog defaults are required by model runtime clients.\",\n },\n {\n component: \"identity\",\n table: \"modelSlotConfigs\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description: \"Slot-level defaults are required before tenant overrides exist.\",\n },\n {\n component: \"identity\",\n table: \"platformAudienceGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Audience grants are principal/group-specific access rows.\",\n },\n {\n component: \"identity\",\n table: \"platformAudiences\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"audienceKey\"],\n description: \"Default tenant audience taxonomy rows are rewritten into each tenant.\",\n },\n {\n component: \"identity\",\n table: \"platformPolicyDecisionLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Policy decisions are runtime audit logs.\",\n },\n {\n component: \"identity\",\n table: \"projectGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Project/topic grants are principal or group-specific access rows.\",\n },\n {\n component: \"identity\",\n table: \"reasoningPermissions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Reasoning permissions are principal-specific policy rows.\",\n },\n {\n component: \"identity\",\n table: \"tenantApiKeys\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"API keys are tenant credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"tenantConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\"],\n description: \"Tenant-local config defaults are rewritten during bootstrap.\",\n },\n {\n component: \"identity\",\n table: \"tenantIntegrations\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"integrationKey\"],\n description: \"Non-secret integration descriptors are rewritten into each tenant.\",\n },\n {\n component: \"identity\",\n table: \"tenantModelSlotBindings\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Tenant model slot bindings reference provider secrets and are runtime-only.\",\n },\n {\n component: \"identity\",\n table: \"tenantPolicies\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"roleName\"],\n description: \"Default tenant policy roles are rewritten during bootstrap.\",\n },\n {\n component: \"identity\",\n table: \"tenantProviderSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Provider secrets are credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"tenantProxyGatewayUsage\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Proxy gateway usage rows are runtime telemetry.\",\n },\n {\n component: \"identity\",\n table: \"tenantProxyTokenMints\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Proxy token mints are ephemeral secret-bearing runtime rows.\",\n },\n {\n component: \"identity\",\n table: \"tenantSandboxAuditEvents\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Sandbox audit rows are runtime security logs.\",\n },\n {\n component: \"identity\",\n table: \"tenantSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Tenant secrets are credentials and must never be copied.\",\n },\n {\n component: \"identity\",\n table: \"toolAcls\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"role\", \"toolName\"],\n description: \"Default role-to-tool grants are required for SDK/MCP tool access.\",\n },\n {\n component: \"identity\",\n table: \"toolRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"toolName\"],\n description: \"Core tool catalog rows are required before pack or tenant tools exist.\",\n },\n {\n component: \"identity\",\n table: \"users\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description: \"Users are created from Clerk/MC principal resolution, not copied.\",\n },\n] as const satisfies readonly TenantBootstrapTableRequirement[];\n\nexport const TENANT_BOOTSTRAP_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n isCopyableSeedRequirement\n ) as readonly TenantBootstrapSeedTable[];\n\nexport type TenantBootstrapSeedTableName =\n (typeof TENANT_BOOTSTRAP_SEED_TABLES)[number][\"table\"];\n\nexport const TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n (entry) => !isCopyableSeedRequirement(entry)\n ).map((entry) => entry.table) as readonly string[];\nexport type TenantBootstrapForbiddenSeedTable =\n (typeof TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_MANIFEST = {\n contractVersion: TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION,\n authMetadataFields: TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS,\n components: TENANT_BOOTSTRAP_SEED_COMPONENTS,\n tableRequirements: TENANT_BOOTSTRAP_TABLE_REQUIREMENTS,\n tables: TENANT_BOOTSTRAP_SEED_TABLES,\n forbiddenTables: TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES,\n} as const;\n\nexport function findTenantBootstrapTableRequirement(\n table: string\n): TenantBootstrapTableRequirement | undefined {\n return TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.find(\n (entry) => entry.table === table\n );\n}\n\nexport function findTenantBootstrapSeedTable(\n table: string\n): TenantBootstrapSeedTable | undefined {\n return TENANT_BOOTSTRAP_SEED_TABLES.find((entry) => entry.table === table);\n}\n\nexport function isTenantBootstrapSeedTable(table: string): boolean {\n return Boolean(findTenantBootstrapSeedTable(table));\n}\n\nexport function isTenantBootstrapForbiddenSeedTable(table: string): boolean {\n return TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES.some((entry) => entry === table);\n}\n"]}
@@ -69,6 +69,10 @@ declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
69
69
  readonly packageName: "@lucern/graph-primitives";
70
70
  readonly role: "sdk_dependency";
71
71
  readonly directTenantImport: false;
72
+ }, {
73
+ readonly packageName: "@lucern/graph-sync";
74
+ readonly role: "host_addon_runtime";
75
+ readonly directTenantImport: true;
72
76
  }, {
73
77
  readonly packageName: "@lucern/identity";
74
78
  readonly role: "component_runtime";
@@ -149,6 +153,11 @@ declare const TENANT_CLIENT_INSTALL_PROFILES: readonly [{
149
153
  readonly description: "Tenant Convex host install for binding the Lucern identity and reasoning-kernel components.";
150
154
  readonly packageNames: readonly ["@lucern/identity", "@lucern/reasoning-kernel"];
151
155
  readonly dependencyField: "dependencies";
156
+ }, {
157
+ readonly id: "graph_mirroring_addon";
158
+ readonly description: "Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.";
159
+ readonly packageNames: readonly ["@lucern/graph-sync"];
160
+ readonly dependencyField: "dependencies";
152
161
  }, {
153
162
  readonly id: "operator_cli";
154
163
  readonly description: "Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.";
@@ -167,7 +176,7 @@ declare const TENANT_CLIENT_INSTALL_PROFILES: readonly [{
167
176
  }, {
168
177
  readonly id: "full_suite";
169
178
  readonly description: "Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.";
170
- readonly packageNames: readonly ("@lucern/access-control" | "@lucern/agent" | "@lucern/auth" | "@lucern/cli" | "@lucern/client-core" | "@lucern/confidence" | "@lucern/config" | "@lucern/contracts" | "@lucern/control-plane" | "@lucern/developer-kit" | "@lucern/events" | "@lucern/graph-primitives" | "@lucern/identity" | "@lucern/mcp" | "@lucern/pack-host" | "@lucern/pack-installer" | "@lucern/proof-compiler" | "@lucern/react" | "@lucern/reasoning-kernel" | "@lucern/sdk" | "@lucern/server-core" | "@lucern/testing" | "@lucern/types")[];
179
+ readonly packageNames: readonly ("@lucern/access-control" | "@lucern/agent" | "@lucern/auth" | "@lucern/cli" | "@lucern/client-core" | "@lucern/confidence" | "@lucern/config" | "@lucern/contracts" | "@lucern/control-plane" | "@lucern/developer-kit" | "@lucern/events" | "@lucern/graph-primitives" | "@lucern/graph-sync" | "@lucern/identity" | "@lucern/mcp" | "@lucern/pack-host" | "@lucern/pack-installer" | "@lucern/proof-compiler" | "@lucern/react" | "@lucern/reasoning-kernel" | "@lucern/sdk" | "@lucern/server-core" | "@lucern/testing" | "@lucern/types")[];
171
180
  readonly dependencyField: "mixed";
172
181
  }];
173
182
  type TenantClientInstallProfileId = (typeof TENANT_CLIENT_INSTALL_PROFILES)[number]["id"];
@@ -192,6 +201,11 @@ declare const TENANT_CLIENT_PUBLIC_IMPORTS: readonly [{
192
201
  readonly surface: "runtime";
193
202
  readonly subpaths: "published_exports";
194
203
  readonly description: "MCP client/server entry points and hosted route helpers.";
204
+ }, {
205
+ readonly packageName: "@lucern/graph-sync";
206
+ readonly surface: "runtime";
207
+ readonly subpaths: "published_exports";
208
+ readonly description: "Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers.";
195
209
  }, {
196
210
  readonly packageName: "@lucern/contracts";
197
211
  readonly surface: "contract";
@@ -258,6 +272,11 @@ declare const TENANT_CLIENT_CAPABILITIES: readonly [{
258
272
  readonly description: "Discover and run Graph Intelligence query recipes for structural graph analysis.";
259
273
  readonly surfaces: readonly ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"];
260
274
  readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
275
+ }, {
276
+ readonly id: "reasoning.graph_mirroring.install";
277
+ readonly description: "Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.";
278
+ readonly surfaces: readonly ["@lucern/graph-sync", "@lucern/cli"];
279
+ readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
261
280
  }, {
262
281
  readonly id: "workflow.worktree_lifecycle";
263
282
  readonly description: "Create, review, merge, and close scoped worktrees.";
@@ -91,6 +91,11 @@ var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
91
91
  role: "sdk_dependency",
92
92
  directTenantImport: false
93
93
  },
94
+ {
95
+ packageName: "@lucern/graph-sync",
96
+ role: "host_addon_runtime",
97
+ directTenantImport: true
98
+ },
94
99
  {
95
100
  packageName: "@lucern/identity",
96
101
  role: "component_runtime",
@@ -169,6 +174,12 @@ var TENANT_CLIENT_INSTALL_PROFILES = [
169
174
  packageNames: ["@lucern/identity", "@lucern/reasoning-kernel"],
170
175
  dependencyField: "dependencies"
171
176
  },
177
+ {
178
+ id: "graph_mirroring_addon",
179
+ description: "Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.",
180
+ packageNames: ["@lucern/graph-sync"],
181
+ dependencyField: "dependencies"
182
+ },
172
183
  {
173
184
  id: "operator_cli",
174
185
  description: "Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.",
@@ -213,6 +224,12 @@ var TENANT_CLIENT_PUBLIC_IMPORTS = [
213
224
  subpaths: "published_exports",
214
225
  description: "MCP client/server entry points and hosted route helpers."
215
226
  },
227
+ {
228
+ packageName: "@lucern/graph-sync",
229
+ surface: "runtime",
230
+ subpaths: "published_exports",
231
+ description: "Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers."
232
+ },
216
233
  {
217
234
  packageName: "@lucern/contracts",
218
235
  surface: "contract",
@@ -318,6 +335,12 @@ var TENANT_CLIENT_CAPABILITIES = [
318
335
  surfaces: ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"],
319
336
  requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS
320
337
  },
338
+ {
339
+ id: "reasoning.graph_mirroring.install",
340
+ description: "Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.",
341
+ surfaces: ["@lucern/graph-sync", "@lucern/cli"],
342
+ requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS
343
+ },
321
344
  {
322
345
  id: "workflow.worktree_lifecycle",
323
346
  description: "Create, review, merge, and close scoped worktrees.",
@@ -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: \"platform_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/identity\",\n role: \"component_runtime\",\n directTenantImport: false,\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/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/identity` 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 identity and reasoning-kernel components.\",\n packageNames: [\"@lucern/identity\", \"@lucern/reasoning-kernel\"],\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/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/identity\",\n importPath: \"@lucern/identity/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install Lucern identity.\",\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: \"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":"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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: \"platform_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/identity\",\n role: \"component_runtime\",\n directTenantImport: false,\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/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/identity` 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 identity and reasoning-kernel components.\",\n packageNames: [\"@lucern/identity\", \"@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/identity\",\n importPath: \"@lucern/identity/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install Lucern identity.\",\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"]}
@@ -293,4 +293,4 @@ declare namespace toolContracts {
293
293
  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_ONTOLOGY as ARCHIVE_ONTOLOGY, toolContracts_ARCHIVE_QUESTION as ARCHIVE_QUESTION, 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_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_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_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_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_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_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_TRACE_ENTITY_IMPACT as TRACE_ENTITY_IMPACT, toolContracts_TRAVERSE_GRAPH as TRAVERSE_GRAPH, toolContracts_TRIGGER_BELIEF_REVIEW as TRIGGER_BELIEF_REVIEW, 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_validateGitSemantics as validateGitSemantics };
294
294
  }
295
295
 
296
- export { GET_HIGH_PRIORITY_QUESTIONS as $, ARCHIVE_BELIEF as A, BISECT_CONFIDENCE as B, CREATE_BELIEF as C, DETECT_CONFIRMATION_BIAS as D, LIST_EVIDENCE as E, FORK_BELIEF as F, GET_BELIEF as G, LINK_EVIDENCE as H, LINK_EVIDENCE_TO_BELIEF as I, CREATE_QUESTION as J, GET_QUESTION as K, LIST_LENSES as L, type McpToolContract as M, REFINE_QUESTION as N, OPEN_PULL_REQUEST as O, PUSH as P, QUERY_LINEAGE as Q, REFINE_BELIEF as R, SEARCH_BELIEFS as S, TRAVERSE_GRAPH as T, LIST_QUESTIONS as U, ANSWER_QUESTION as V, UPDATE_QUESTION_STATUS as W, ARCHIVE_QUESTION as X, LINK_EVIDENCE_TO_QUESTION as Y, CREATE_ANSWER as Z, GET_ANSWER as _, type McpParameterDef as a, GIT_SEMANTIC_REQUIRED_TOOLS as a$, FIND_MISSING_QUESTIONS as a0, LIST_BELIEFS as a1, LIST_WORKTREES as a2, LIST_ALL_WORKTREES as a3, LIST_CAMPAIGNS as a4, ACTIVATE_WORKTREE as a5, UPDATE_WORKTREE_TARGETS as a6, UPDATE_WORKTREE_METADATA as a7, IDENTITY_WHOAMI as a8, COMPILE_CONTEXT as a9, ARCHIVE_ONTOLOGY as aA, CREATE_ONTOLOGY_VERSION as aB, PUBLISH_ONTOLOGY_VERSION as aC, DEPRECATE_ONTOLOGY_VERSION as aD, RESOLVE_EFFECTIVE_ONTOLOGY as aE, RECORD_SCOPE_LEARNING as aF, PIPELINE_SNAPSHOT as aG, DISCOVER as aH, ANALYZE_TOPIC_DENSITY as aI, APPLY_AUTO_BRANCHING as aJ, SEED_BELIEF_LATTICE as aK, GET_LATTICE_COVERAGE as aL, DISCOVER_ENTITY_CONNECTIONS as aM, TRIGGER_BELIEF_REVIEW as aN, EVALUATE_CONTRACT as aO, GET_CONTRACT_STATUS as aP, REGISTER_SESSION as aQ, HEARTBEAT_SESSION as aR, END_SESSION as aS, LIST_ACTIVE_SESSIONS as aT, SEND_AGENT_MESSAGE as aU, BROADCAST_MESSAGE as aV, GET_AGENT_INBOX as aW, CLAIM_FILES as aX, GENERATE_SESSION_HANDOFF as aY, BEGIN_BUILD_SESSION as aZ, MCP_TOOL_CONTRACTS as a_, CHECK_PERMISSION as aa, FILTER_BY_PERMISSION as ab, INGEST_OBSERVATION as ac, GET_OBSERVATION_CONTEXT as ad, CREATE_TASK as ae, COMPLETE_TASK as af, UPDATE_TASK as ag, LIST_TASKS as ah, CREATE_TOPIC as ai, LIST_TOPICS as aj, GET_TOPIC as ak, UPDATE_TOPIC as al, GET_TOPIC_TREE as am, GET_CODE_CONTEXT as an, GET_CHANGE_HISTORY as ao, RECORD_ATTEMPT as ap, GET_FAILURE_LOG as aq, GET_TOPIC_COVERAGE as ar, GET_GRAPH_GAPS as as, MANAGE_WRITE_POLICY as at, LIST_ONTOLOGIES as au, GET_ONTOLOGY as av, APPLY_ONTOLOGY as aw, MATCH_ENTITY_TYPE as ax, CREATE_ONTOLOGY as ay, UPDATE_ONTOLOGY as az, type McpResponseDef as b, validateGitSemantics as b0, MODULATE_CONFIDENCE as c, CREATE_EPISTEMIC_CONTRACT as d, ADD_EVIDENCE as e, FLAG_CONTRADICTION as f, ADD_WORKTREE as g, MERGE as h, GET_CONFIDENCE_HISTORY as i, GET_AUDIT_TRAIL as j, GET_GRAPH_NEIGHBORHOOD as k, TRACE_ENTITY_IMPACT as l, FIND_CONTRADICTIONS as m, CREATE_EDGE as n, RECORD_JUDGMENT as o, CREATE_LENS as p, APPLY_LENS_TO_TOPIC as q, REMOVE_LENS_FROM_TOPIC as r, GET_GRAPH_STRUCTURE_ANALYSIS as s, toolContracts as t, LIST_GRAPH_INTELLIGENCE_QUERIES as u, RUN_GRAPH_INTELLIGENCE_QUERY as v, GET_FALSIFICATION_QUESTIONS as w, SEARCH_EVIDENCE as x, CREATE_EVIDENCE as y, GET_EVIDENCE as z };
296
+ export { GET_FALSIFICATION_QUESTIONS as $, ACTIVATE_WORKTREE as A, BEGIN_BUILD_SESSION as B, CHECK_PERMISSION as C, CREATE_TOPIC as D, DEPRECATE_ONTOLOGY_VERSION as E, DETECT_CONFIRMATION_BIAS as F, DISCOVER as G, DISCOVER_ENTITY_CONNECTIONS as H, END_SESSION as I, EVALUATE_CONTRACT as J, FILTER_BY_PERMISSION as K, FIND_CONTRADICTIONS as L, type McpToolContract as M, FIND_MISSING_QUESTIONS as N, FLAG_CONTRADICTION as O, FORK_BELIEF as P, GENERATE_SESSION_HANDOFF as Q, GET_AGENT_INBOX as R, GET_ANSWER as S, GET_AUDIT_TRAIL as T, GET_BELIEF as U, GET_CHANGE_HISTORY as V, GET_CODE_CONTEXT as W, GET_CONFIDENCE_HISTORY as X, GET_CONTRACT_STATUS as Y, GET_EVIDENCE as Z, GET_FAILURE_LOG as _, ADD_EVIDENCE as a, UPDATE_WORKTREE_TARGETS as a$, GET_GRAPH_GAPS as a0, GET_GRAPH_NEIGHBORHOOD as a1, GET_GRAPH_STRUCTURE_ANALYSIS as a2, GET_HIGH_PRIORITY_QUESTIONS as a3, GET_LATTICE_COVERAGE as a4, GET_OBSERVATION_CONTEXT as a5, GET_ONTOLOGY as a6, GET_QUESTION as a7, GET_TOPIC as a8, GET_TOPIC_COVERAGE as a9, type McpResponseDef as aA, OPEN_PULL_REQUEST as aB, PIPELINE_SNAPSHOT as aC, PUBLISH_ONTOLOGY_VERSION as aD, PUSH as aE, QUERY_LINEAGE as aF, RECORD_ATTEMPT as aG, RECORD_JUDGMENT as aH, RECORD_SCOPE_LEARNING as aI, REFINE_BELIEF as aJ, REFINE_QUESTION as aK, REGISTER_SESSION as aL, REMOVE_LENS_FROM_TOPIC as aM, RESOLVE_EFFECTIVE_ONTOLOGY as aN, RUN_GRAPH_INTELLIGENCE_QUERY as aO, SEARCH_BELIEFS as aP, SEARCH_EVIDENCE as aQ, SEED_BELIEF_LATTICE as aR, SEND_AGENT_MESSAGE as aS, TRACE_ENTITY_IMPACT as aT, TRAVERSE_GRAPH as aU, TRIGGER_BELIEF_REVIEW as aV, UPDATE_ONTOLOGY as aW, UPDATE_QUESTION_STATUS as aX, UPDATE_TASK as aY, UPDATE_TOPIC as aZ, UPDATE_WORKTREE_METADATA as a_, GET_TOPIC_TREE as aa, GIT_SEMANTIC_REQUIRED_TOOLS as ab, HEARTBEAT_SESSION as ac, IDENTITY_WHOAMI as ad, INGEST_OBSERVATION as ae, LINK_EVIDENCE as af, LINK_EVIDENCE_TO_BELIEF as ag, LINK_EVIDENCE_TO_QUESTION as ah, LIST_ACTIVE_SESSIONS as ai, LIST_ALL_WORKTREES as aj, LIST_BELIEFS as ak, LIST_CAMPAIGNS as al, LIST_EVIDENCE as am, LIST_GRAPH_INTELLIGENCE_QUERIES as an, LIST_LENSES as ao, LIST_ONTOLOGIES as ap, LIST_QUESTIONS as aq, LIST_TASKS as ar, LIST_TOPICS as as, LIST_WORKTREES as at, MANAGE_WRITE_POLICY as au, MATCH_ENTITY_TYPE as av, MCP_TOOL_CONTRACTS as aw, MERGE as ax, MODULATE_CONFIDENCE as ay, type McpParameterDef as az, ADD_WORKTREE as b, validateGitSemantics as b0, 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_ONTOLOGY as i, ARCHIVE_QUESTION as j, BISECT_CONFIDENCE as k, BROADCAST_MESSAGE as l, CLAIM_FILES as m, COMPILE_CONTEXT as n, COMPLETE_TASK as o, CREATE_ANSWER as p, CREATE_BELIEF as q, CREATE_EDGE as r, CREATE_EPISTEMIC_CONTRACT as s, toolContracts as t, CREATE_EVIDENCE as u, CREATE_LENS as v, CREATE_ONTOLOGY as w, CREATE_ONTOLOGY_VERSION as x, CREATE_QUESTION as y, CREATE_TASK as z };
@@ -1 +1 @@
1
- export { a5 as ACTIVATE_WORKTREE, e as ADD_EVIDENCE, g as ADD_WORKTREE, aI as ANALYZE_TOPIC_DENSITY, V as ANSWER_QUESTION, aJ as APPLY_AUTO_BRANCHING, q as APPLY_LENS_TO_TOPIC, aw as APPLY_ONTOLOGY, A as ARCHIVE_BELIEF, aA as ARCHIVE_ONTOLOGY, X as ARCHIVE_QUESTION, aZ as BEGIN_BUILD_SESSION, B as BISECT_CONFIDENCE, aV as BROADCAST_MESSAGE, aa as CHECK_PERMISSION, aX as CLAIM_FILES, a9 as COMPILE_CONTEXT, af as COMPLETE_TASK, Z as CREATE_ANSWER, C as CREATE_BELIEF, n as CREATE_EDGE, d as CREATE_EPISTEMIC_CONTRACT, y as CREATE_EVIDENCE, p as CREATE_LENS, ay as CREATE_ONTOLOGY, aB as CREATE_ONTOLOGY_VERSION, J as CREATE_QUESTION, ae as CREATE_TASK, ai as CREATE_TOPIC, aD as DEPRECATE_ONTOLOGY_VERSION, D as DETECT_CONFIRMATION_BIAS, aH as DISCOVER, aM as DISCOVER_ENTITY_CONNECTIONS, aS as END_SESSION, aO as EVALUATE_CONTRACT, ab as FILTER_BY_PERMISSION, m as FIND_CONTRADICTIONS, a0 as FIND_MISSING_QUESTIONS, f as FLAG_CONTRADICTION, F as FORK_BELIEF, aY as GENERATE_SESSION_HANDOFF, aW as GET_AGENT_INBOX, _ as GET_ANSWER, j as GET_AUDIT_TRAIL, G as GET_BELIEF, ao as GET_CHANGE_HISTORY, an as GET_CODE_CONTEXT, i as GET_CONFIDENCE_HISTORY, aP as GET_CONTRACT_STATUS, z as GET_EVIDENCE, aq as GET_FAILURE_LOG, w as GET_FALSIFICATION_QUESTIONS, as as GET_GRAPH_GAPS, k as GET_GRAPH_NEIGHBORHOOD, s as GET_GRAPH_STRUCTURE_ANALYSIS, $ as GET_HIGH_PRIORITY_QUESTIONS, aL as GET_LATTICE_COVERAGE, ad as GET_OBSERVATION_CONTEXT, av as GET_ONTOLOGY, K as GET_QUESTION, ak as GET_TOPIC, ar as GET_TOPIC_COVERAGE, am as GET_TOPIC_TREE, a$ as GIT_SEMANTIC_REQUIRED_TOOLS, aR as HEARTBEAT_SESSION, a8 as IDENTITY_WHOAMI, ac as INGEST_OBSERVATION, H as LINK_EVIDENCE, I as LINK_EVIDENCE_TO_BELIEF, Y as LINK_EVIDENCE_TO_QUESTION, aT as LIST_ACTIVE_SESSIONS, a3 as LIST_ALL_WORKTREES, a1 as LIST_BELIEFS, a4 as LIST_CAMPAIGNS, E as LIST_EVIDENCE, u as LIST_GRAPH_INTELLIGENCE_QUERIES, L as LIST_LENSES, au as LIST_ONTOLOGIES, U as LIST_QUESTIONS, ah as LIST_TASKS, aj as LIST_TOPICS, a2 as LIST_WORKTREES, at as MANAGE_WRITE_POLICY, ax as MATCH_ENTITY_TYPE, a_ as MCP_TOOL_CONTRACTS, h as MERGE, c as MODULATE_CONFIDENCE, a as McpParameterDef, b as McpResponseDef, M as McpToolContract, O as OPEN_PULL_REQUEST, aG as PIPELINE_SNAPSHOT, aC as PUBLISH_ONTOLOGY_VERSION, P as PUSH, Q as QUERY_LINEAGE, ap as RECORD_ATTEMPT, o as RECORD_JUDGMENT, aF as RECORD_SCOPE_LEARNING, R as REFINE_BELIEF, N as REFINE_QUESTION, aQ as REGISTER_SESSION, r as REMOVE_LENS_FROM_TOPIC, aE as RESOLVE_EFFECTIVE_ONTOLOGY, v as RUN_GRAPH_INTELLIGENCE_QUERY, S as SEARCH_BELIEFS, x as SEARCH_EVIDENCE, aK as SEED_BELIEF_LATTICE, aU as SEND_AGENT_MESSAGE, l as TRACE_ENTITY_IMPACT, T as TRAVERSE_GRAPH, aN as TRIGGER_BELIEF_REVIEW, az as UPDATE_ONTOLOGY, W as UPDATE_QUESTION_STATUS, ag as UPDATE_TASK, al as UPDATE_TOPIC, a7 as UPDATE_WORKTREE_METADATA, a6 as UPDATE_WORKTREE_TARGETS, b0 as validateGitSemantics } from './tool-contracts-CYXVPN4K.js';
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_ONTOLOGY, j as ARCHIVE_QUESTION, B as BEGIN_BUILD_SESSION, k as BISECT_CONFIDENCE, l as BROADCAST_MESSAGE, C as CHECK_PERMISSION, m as CLAIM_FILES, n as COMPILE_CONTEXT, o as COMPLETE_TASK, p as CREATE_ANSWER, q as CREATE_BELIEF, r as CREATE_EDGE, s as CREATE_EPISTEMIC_CONTRACT, u as CREATE_EVIDENCE, v as CREATE_LENS, w as CREATE_ONTOLOGY, x as CREATE_ONTOLOGY_VERSION, y as CREATE_QUESTION, z as CREATE_TASK, D as CREATE_TOPIC, E as DEPRECATE_ONTOLOGY_VERSION, F as DETECT_CONFIRMATION_BIAS, G as DISCOVER, H as DISCOVER_ENTITY_CONNECTIONS, I as END_SESSION, J as EVALUATE_CONTRACT, K as FILTER_BY_PERMISSION, L as FIND_CONTRADICTIONS, N as FIND_MISSING_QUESTIONS, O as FLAG_CONTRADICTION, P as FORK_BELIEF, Q as GENERATE_SESSION_HANDOFF, R as GET_AGENT_INBOX, S as GET_ANSWER, T as GET_AUDIT_TRAIL, U as GET_BELIEF, V as GET_CHANGE_HISTORY, W as GET_CODE_CONTEXT, X as GET_CONFIDENCE_HISTORY, Y as GET_CONTRACT_STATUS, Z as GET_EVIDENCE, _ as GET_FAILURE_LOG, $ as GET_FALSIFICATION_QUESTIONS, a0 as GET_GRAPH_GAPS, a1 as GET_GRAPH_NEIGHBORHOOD, a2 as GET_GRAPH_STRUCTURE_ANALYSIS, a3 as GET_HIGH_PRIORITY_QUESTIONS, a4 as GET_LATTICE_COVERAGE, a5 as GET_OBSERVATION_CONTEXT, a6 as GET_ONTOLOGY, a7 as GET_QUESTION, a8 as GET_TOPIC, a9 as GET_TOPIC_COVERAGE, aa as GET_TOPIC_TREE, ab as GIT_SEMANTIC_REQUIRED_TOOLS, ac as HEARTBEAT_SESSION, ad as IDENTITY_WHOAMI, ae as INGEST_OBSERVATION, af as LINK_EVIDENCE, ag as LINK_EVIDENCE_TO_BELIEF, ah as LINK_EVIDENCE_TO_QUESTION, ai as LIST_ACTIVE_SESSIONS, aj as LIST_ALL_WORKTREES, ak as LIST_BELIEFS, al as LIST_CAMPAIGNS, am as LIST_EVIDENCE, an as LIST_GRAPH_INTELLIGENCE_QUERIES, ao as LIST_LENSES, ap as LIST_ONTOLOGIES, aq as LIST_QUESTIONS, ar as LIST_TASKS, as as LIST_TOPICS, at as LIST_WORKTREES, au as MANAGE_WRITE_POLICY, av as MATCH_ENTITY_TYPE, aw as MCP_TOOL_CONTRACTS, ax as MERGE, ay as MODULATE_CONFIDENCE, az as McpParameterDef, aA as McpResponseDef, M as McpToolContract, aB as OPEN_PULL_REQUEST, aC as PIPELINE_SNAPSHOT, aD as PUBLISH_ONTOLOGY_VERSION, aE as PUSH, aF as QUERY_LINEAGE, aG as RECORD_ATTEMPT, aH as RECORD_JUDGMENT, aI as RECORD_SCOPE_LEARNING, aJ as REFINE_BELIEF, aK as REFINE_QUESTION, aL as REGISTER_SESSION, aM as REMOVE_LENS_FROM_TOPIC, aN as RESOLVE_EFFECTIVE_ONTOLOGY, aO as RUN_GRAPH_INTELLIGENCE_QUERY, aP as SEARCH_BELIEFS, aQ as SEARCH_EVIDENCE, aR as SEED_BELIEF_LATTICE, aS as SEND_AGENT_MESSAGE, aT as TRACE_ENTITY_IMPACT, aU as TRAVERSE_GRAPH, aV as TRIGGER_BELIEF_REVIEW, aW as UPDATE_ONTOLOGY, aX as UPDATE_QUESTION_STATUS, aY as UPDATE_TASK, aZ as UPDATE_TOPIC, a_ as UPDATE_WORKTREE_METADATA, a$ as UPDATE_WORKTREE_TARGETS, b0 as validateGitSemantics } from './tool-contracts-B4iWhejG.js';