@lucern/contracts 0.3.0-alpha.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/api-enums.contract.d.ts +5 -3
  3. package/dist/api-enums.contract.js +14 -12
  4. package/dist/api-enums.contract.js.map +1 -1
  5. package/dist/auth-context.contract.js +14 -2
  6. package/dist/auth-context.contract.js.map +1 -1
  7. package/dist/auth-session.contract.js +14 -2
  8. package/dist/auth-session.contract.js.map +1 -1
  9. package/dist/auth.contract.d.ts +1 -1
  10. package/dist/auth.contract.js +14 -2
  11. package/dist/auth.contract.js.map +1 -1
  12. package/dist/component-boundary.contract.d.ts +1 -1
  13. package/dist/component-boundary.contract.js +46 -26
  14. package/dist/component-boundary.contract.js.map +1 -1
  15. package/dist/component-host-boundary.contract.d.ts +10 -5
  16. package/dist/component-host-boundary.contract.js +10 -4
  17. package/dist/component-host-boundary.contract.js.map +1 -1
  18. package/dist/{defineTable-CBQ03FXl.d.ts → defineTable-t1wr5wgn.d.ts} +1 -1
  19. package/dist/{dsl-djCRfuWC.d.ts → dsl-DVPthQGY.d.ts} +1 -1
  20. package/dist/dsl.d.ts +2 -2
  21. package/dist/dsl.js.map +1 -1
  22. package/dist/function-registry/beliefs.d.ts +23 -10
  23. package/dist/function-registry/beliefs.js +467 -36
  24. package/dist/function-registry/beliefs.js.map +1 -1
  25. package/dist/function-registry/coding.d.ts +15 -6
  26. package/dist/function-registry/coding.js +531 -22
  27. package/dist/function-registry/coding.js.map +1 -1
  28. package/dist/function-registry/context.d.ts +9 -3
  29. package/dist/function-registry/context.js +464 -21
  30. package/dist/function-registry/context.js.map +1 -1
  31. package/dist/function-registry/contracts.d.ts +9 -3
  32. package/dist/function-registry/contracts.js +464 -21
  33. package/dist/function-registry/contracts.js.map +1 -1
  34. package/dist/function-registry/coordination.d.ts +21 -9
  35. package/dist/function-registry/coordination.js +464 -21
  36. package/dist/function-registry/coordination.js.map +1 -1
  37. package/dist/function-registry/edges.d.ts +167 -2
  38. package/dist/function-registry/edges.js +619 -28
  39. package/dist/function-registry/edges.js.map +1 -1
  40. package/dist/function-registry/evidence.d.ts +19 -8
  41. package/dist/function-registry/evidence.js +469 -36
  42. package/dist/function-registry/evidence.js.map +1 -1
  43. package/dist/function-registry/graph.d.ts +33 -15
  44. package/dist/function-registry/graph.js +464 -21
  45. package/dist/function-registry/graph.js.map +1 -1
  46. package/dist/function-registry/helpers.d.ts +6 -3
  47. package/dist/function-registry/helpers.js +465 -22
  48. package/dist/function-registry/helpers.js.map +1 -1
  49. package/dist/function-registry/identity.d.ts +62 -16
  50. package/dist/function-registry/identity.js +487 -27
  51. package/dist/function-registry/identity.js.map +1 -1
  52. package/dist/function-registry/index.d.ts +4 -2
  53. package/dist/function-registry/index.js +468 -22
  54. package/dist/function-registry/index.js.map +1 -1
  55. package/dist/function-registry/judgments.d.ts +7 -2
  56. package/dist/function-registry/judgments.js +464 -21
  57. package/dist/function-registry/judgments.js.map +1 -1
  58. package/dist/function-registry/legacy.d.ts +5 -1
  59. package/dist/function-registry/legacy.js +464 -21
  60. package/dist/function-registry/legacy.js.map +1 -1
  61. package/dist/function-registry/lenses.d.ts +11 -4
  62. package/dist/function-registry/lenses.js +464 -21
  63. package/dist/function-registry/lenses.js.map +1 -1
  64. package/dist/function-registry/manifest.d.ts +4 -4
  65. package/dist/function-registry/manifest.js +16 -1
  66. package/dist/function-registry/manifest.js.map +1 -1
  67. package/dist/function-registry/nodes.d.ts +412 -0
  68. package/dist/function-registry/nodes.js +5354 -0
  69. package/dist/function-registry/nodes.js.map +1 -0
  70. package/dist/function-registry/ontologies.d.ts +25 -11
  71. package/dist/function-registry/ontologies.js +464 -21
  72. package/dist/function-registry/ontologies.js.map +1 -1
  73. package/dist/function-registry/pipeline.d.ts +9 -3
  74. package/dist/function-registry/pipeline.js +464 -21
  75. package/dist/function-registry/pipeline.js.map +1 -1
  76. package/dist/function-registry/questions.d.ts +27 -12
  77. package/dist/function-registry/questions.js +466 -26
  78. package/dist/function-registry/questions.js.map +1 -1
  79. package/dist/function-registry/tasks.d.ts +11 -4
  80. package/dist/function-registry/tasks.js +497 -30
  81. package/dist/function-registry/tasks.js.map +1 -1
  82. package/dist/function-registry/topics.d.ts +93 -5
  83. package/dist/function-registry/topics.js +534 -24
  84. package/dist/function-registry/topics.js.map +1 -1
  85. package/dist/function-registry/types.d.ts +7 -3
  86. package/dist/function-registry/worktrees.d.ts +25 -11
  87. package/dist/function-registry/worktrees.js +480 -21
  88. package/dist/function-registry/worktrees.js.map +1 -1
  89. package/dist/gateway.contract.d.ts +4 -0
  90. package/dist/gateway.contract.js.map +1 -1
  91. package/dist/generated/convexSchemas.d.ts +3 -3
  92. package/dist/generated/convexSchemas.js +37 -17
  93. package/dist/generated/convexSchemas.js.map +1 -1
  94. package/dist/generated/infisicalRuntimeEnv.d.ts +70 -0
  95. package/dist/generated/infisicalRuntimeEnv.js +27585 -0
  96. package/dist/generated/infisicalRuntimeEnv.js.map +1 -0
  97. package/dist/generated/lucernGatewayEnv.d.ts +17 -0
  98. package/dist/generated/lucernGatewayEnv.js +38 -0
  99. package/dist/generated/lucernGatewayEnv.js.map +1 -0
  100. package/dist/generated/lucernWebPublicEnv.d.ts +26 -0
  101. package/dist/generated/lucernWebPublicEnv.js +32 -0
  102. package/dist/generated/lucernWebPublicEnv.js.map +1 -0
  103. package/dist/generated/lucernWebServerEnv.d.ts +33 -0
  104. package/dist/generated/lucernWebServerEnv.js +51 -0
  105. package/dist/generated/lucernWebServerEnv.js.map +1 -0
  106. package/dist/generated/schema-manifest.json +1221 -114
  107. package/dist/generated/tableOwnership.d.ts +48 -28
  108. package/dist/generated/tableOwnership.js +66 -26
  109. package/dist/generated/tableOwnership.js.map +1 -1
  110. package/dist/generated/tier-expectations.json +64 -9
  111. package/dist/{index-O09U2xHk.d.ts → index-CM1Pl_vI.d.ts} +3 -3
  112. package/dist/index.d.ts +11 -6
  113. package/dist/index.js +32838 -413
  114. package/dist/index.js.map +1 -1
  115. package/dist/infisical-runtime.contract.d.ts +1763 -6
  116. package/dist/infisical-runtime.contract.js +2994 -15
  117. package/dist/infisical-runtime.contract.js.map +1 -1
  118. package/dist/manifests/infisical-runtime-manifest.d.ts +1689 -6
  119. package/dist/manifests/infisical-runtime-manifest.js +2847 -12
  120. package/dist/manifests/infisical-runtime-manifest.js.map +1 -1
  121. package/dist/manifests/tenant-client-manifest.d.ts +19 -14
  122. package/dist/manifests/tenant-client-manifest.js +29 -12
  123. package/dist/manifests/tenant-client-manifest.js.map +1 -1
  124. package/dist/mcp-gateway-boundary.contract.d.ts +23 -3
  125. package/dist/mcp-gateway-boundary.contract.js +2 -0
  126. package/dist/mcp-gateway-boundary.contract.js.map +1 -1
  127. package/dist/permit-principal-projection.contract.d.ts +74 -0
  128. package/dist/permit-principal-projection.contract.js +167 -0
  129. package/dist/permit-principal-projection.contract.js.map +1 -0
  130. package/dist/projections/check-convex-args-shape.js +10 -6
  131. package/dist/projections/check-convex-args-shape.js.map +1 -1
  132. package/dist/projections/create-evidence.projection.d.ts +6 -6
  133. package/dist/projections/create-evidence.projection.js +2 -3
  134. package/dist/projections/create-evidence.projection.js.map +1 -1
  135. package/dist/projections/index.d.ts +3 -3
  136. package/dist/projections/index.js +10 -6
  137. package/dist/projections/index.js.map +1 -1
  138. package/dist/projections/list-tasks.projection.d.ts +20 -8
  139. package/dist/projections/list-tasks.projection.js +8 -3
  140. package/dist/projections/list-tasks.projection.js.map +1 -1
  141. package/dist/proof-attestation.json +45 -0
  142. package/dist/schemas/component-table-manifest.d.ts +6 -6
  143. package/dist/schemas/component-table-manifest.js +2 -2
  144. package/dist/schemas/component-table-manifest.js.map +1 -1
  145. package/dist/schemas/index.d.ts +2 -2
  146. package/dist/schemas/index.js +1123 -137
  147. package/dist/schemas/index.js.map +1 -1
  148. package/dist/schemas/manifest.d.ts +2102 -132
  149. package/dist/schemas/manifest.js +1121 -135
  150. package/dist/schemas/manifest.js.map +1 -1
  151. package/dist/schemas/tables/controlPlane/accessControl.d.ts +260 -0
  152. package/dist/schemas/tables/controlPlane/accessControl.js +658 -0
  153. package/dist/schemas/tables/controlPlane/accessControl.js.map +1 -0
  154. package/dist/schemas/tables/{identity → controlPlane}/agent.d.ts +1 -1
  155. package/dist/schemas/tables/{identity → controlPlane}/agent.js +3 -3
  156. package/dist/schemas/tables/controlPlane/agent.js.map +1 -0
  157. package/dist/schemas/tables/{identity → controlPlane}/epistemic.d.ts +1 -1
  158. package/dist/schemas/tables/{identity → controlPlane}/epistemic.js +3 -3
  159. package/dist/schemas/tables/controlPlane/epistemic.js.map +1 -0
  160. package/dist/schemas/tables/{identity → controlPlane}/model.d.ts +1 -1
  161. package/dist/schemas/tables/{identity → controlPlane}/model.js +6 -6
  162. package/dist/schemas/tables/controlPlane/model.js.map +1 -0
  163. package/dist/schemas/tables/{identity → controlPlane}/platform.d.ts +1 -1
  164. package/dist/schemas/tables/{identity → controlPlane}/platform.js +18 -18
  165. package/dist/schemas/tables/controlPlane/platform.js.map +1 -0
  166. package/dist/schemas/tables/{identity → controlPlane}/project.d.ts +1 -1
  167. package/dist/schemas/tables/{identity → controlPlane}/project.js +3 -3
  168. package/dist/schemas/tables/controlPlane/project.js.map +1 -0
  169. package/dist/schemas/tables/{identity → controlPlane}/user.d.ts +1 -1
  170. package/dist/schemas/tables/{identity → controlPlane}/user.js +3 -3
  171. package/dist/schemas/tables/controlPlane/user.js.map +1 -0
  172. package/dist/schemas/tables/kernel/config.d.ts +1 -1
  173. package/dist/schemas/tables/kernel/config.js.map +1 -1
  174. package/dist/schemas/tables/kernel/coordination.d.ts +1 -1
  175. package/dist/schemas/tables/kernel/coordination.js.map +1 -1
  176. package/dist/schemas/tables/kernel/decision.d.ts +1 -1
  177. package/dist/schemas/tables/kernel/decision.js.map +1 -1
  178. package/dist/schemas/tables/kernel/embedding.d.ts +1 -1
  179. package/dist/schemas/tables/kernel/embedding.js.map +1 -1
  180. package/dist/schemas/tables/kernel/epistemic.d.ts +1 -1
  181. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  182. package/dist/schemas/tables/kernel/events.d.ts +21 -0
  183. package/dist/schemas/tables/kernel/events.js +43 -0
  184. package/dist/schemas/tables/kernel/events.js.map +1 -0
  185. package/dist/schemas/tables/kernel/idempotency.d.ts +1 -1
  186. package/dist/schemas/tables/kernel/idempotency.js.map +1 -1
  187. package/dist/schemas/tables/kernel/infra.d.ts +1 -1
  188. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  189. package/dist/schemas/tables/kernel/intelligence.d.ts +1 -1
  190. package/dist/schemas/tables/kernel/intelligence.js.map +1 -1
  191. package/dist/schemas/tables/kernel/lens.d.ts +1 -1
  192. package/dist/schemas/tables/kernel/lens.js.map +1 -1
  193. package/dist/schemas/tables/kernel/ontology.d.ts +1 -1
  194. package/dist/schemas/tables/kernel/ontology.js.map +1 -1
  195. package/dist/schemas/tables/kernel/platform.d.ts +1 -1
  196. package/dist/schemas/tables/kernel/platform.js.map +1 -1
  197. package/dist/schemas/tables/kernel/spine.d.ts +2 -1
  198. package/dist/schemas/tables/kernel/spine.js +1 -0
  199. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  200. package/dist/schemas/tables/kernel/task.d.ts +1 -1
  201. package/dist/schemas/tables/kernel/task.js.map +1 -1
  202. package/dist/schemas/tables/kernel/topic.d.ts +1 -1
  203. package/dist/schemas/tables/kernel/topic.js +1 -0
  204. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  205. package/dist/schemas/tables/kernel/workflow.d.ts +1 -1
  206. package/dist/schemas/tables/kernel/workflow.js.map +1 -1
  207. package/dist/schemas/tables/kernel/worktree.d.ts +17 -17
  208. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  209. package/dist/schemas/tables/mc/identity.d.ts +19 -2
  210. package/dist/schemas/tables/mc/identity.js +32 -1
  211. package/dist/schemas/tables/mc/identity.js.map +1 -1
  212. package/dist/schemas/tables/mc/methodology.d.ts +1 -1
  213. package/dist/schemas/tables/mc/methodology.js.map +1 -1
  214. package/dist/schemas/tables/mc/pack.d.ts +1 -1
  215. package/dist/schemas/tables/mc/pack.js.map +1 -1
  216. package/dist/schemas/tables/mc/policy.d.ts +2 -2
  217. package/dist/schemas/tables/mc/policy.js +1 -1
  218. package/dist/schemas/tables/mc/policy.js.map +1 -1
  219. package/dist/schemas/tables/mc/registry.d.ts +1 -1
  220. package/dist/schemas/tables/mc/registry.js.map +1 -1
  221. package/dist/schemas/tables/mc/runtime.d.ts +109 -3
  222. package/dist/schemas/tables/mc/runtime.js +330 -104
  223. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  224. package/dist/schemas/tables/mc/tenant.d.ts +4 -2
  225. package/dist/schemas/tables/mc/tenant.js +3 -1
  226. package/dist/schemas/tables/mc/tenant.js.map +1 -1
  227. package/dist/schemas/tables/mc/workspace.d.ts +22 -5
  228. package/dist/schemas/tables/mc/workspace.js +34 -2
  229. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  230. package/dist/{sdk-tools.contract-Ci8bkoai.d.ts → sdk-tools.contract-CKmSsrZ2.d.ts} +1 -1
  231. package/dist/sdk-tools.contract.d.ts +2 -2
  232. package/dist/sdk-tools.contract.js +417 -13
  233. package/dist/sdk-tools.contract.js.map +1 -1
  234. package/dist/tenant-bootstrap-seed.contract.d.ts +244 -56
  235. package/dist/tenant-bootstrap-seed.contract.js +139 -28
  236. package/dist/tenant-bootstrap-seed.contract.js.map +1 -1
  237. package/dist/tenant-bootstrap-seed.defaults.d.ts +2 -2
  238. package/dist/tenant-bootstrap-seed.defaults.js +31 -13
  239. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -1
  240. package/dist/tenant-client.contract.d.ts +20 -15
  241. package/dist/tenant-client.contract.js +29 -12
  242. package/dist/tenant-client.contract.js.map +1 -1
  243. package/dist/{tool-contracts-B4iWhejG.d.ts → tool-contracts-C_xvM9q2.d.ts} +32 -2
  244. package/dist/tool-contracts.d.ts +1 -1
  245. package/dist/tool-contracts.js +418 -14
  246. package/dist/tool-contracts.js.map +1 -1
  247. package/package.json +22 -1
  248. package/dist/schemas/tables/identity/agent.js.map +0 -1
  249. package/dist/schemas/tables/identity/epistemic.js.map +0 -1
  250. package/dist/schemas/tables/identity/model.js.map +0 -1
  251. package/dist/schemas/tables/identity/platform.js.map +0 -1
  252. package/dist/schemas/tables/identity/project.js.map +0 -1
  253. package/dist/schemas/tables/identity/user.js.map +0 -1
@@ -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/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"]}
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 \"group\",\n \"external_viewer\",\n] as const satisfies readonly SessionPrincipalType[];\nexport type TenantClientPrincipalType =\n (typeof TENANT_CLIENT_PRINCIPAL_TYPES)[number];\n\nexport const TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"authMode\",\n \"scopes\",\n] as const;\nexport type TenantClientRequiredContextField =\n (typeof TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS = [\n \"clerkId\",\n \"principalType\",\n \"roles\",\n \"groupIds\",\n \"permittedToolNames\",\n \"permittedPackKeys\",\n \"principalStatus\",\n \"tenantStatus\",\n \"workspaceStatus\",\n \"permit\",\n \"sessionId\",\n \"delegationChain\",\n] as const;\nexport type TenantClientOptionalContextField =\n (typeof TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_INSTALL_TOKEN_ENV = \"INSTALL_LUCERN_NPM\" as const;\nexport const TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH =\n \"tenants/shared\" as const;\nexport const TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS = [\n \"/platform/publish\",\n] as const;\nexport const TENANT_CLIENT_FORBIDDEN_SECRET_ENV = [\"NPM_TOKEN\"] as const;\nexport type TenantClientForbiddenInstallTokenInfisicalPath =\n (typeof TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS)[number];\nexport type TenantClientForbiddenSecretEnv =\n (typeof TENANT_CLIENT_FORBIDDEN_SECRET_ENV)[number];\n\nexport const TENANT_CLIENT_INSTALLABLE_PACKAGES = [\n {\n packageName: \"@lucern/access-control\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/agent\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/auth\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/cli\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/client-core\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/confidence\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/config\",\n role: \"configuration\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/contracts\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/control-plane\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/developer-kit\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/events\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-primitives\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-sync\",\n role: \"host_addon_runtime\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/mcp\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/pack-host\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/pack-installer\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/proof-compiler\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/react\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/sdk\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/secrets\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/server-core\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/testing\",\n role: \"test_support\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/types\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n] as const;\nexport type TenantClientInstallablePackage =\n (typeof TENANT_CLIENT_INSTALLABLE_PACKAGES)[number];\nexport type TenantClientPackageRole = TenantClientInstallablePackage[\"role\"];\nexport type TenantClientInstallablePackageName =\n TenantClientInstallablePackage[\"packageName\"];\n\n/**\n * Direct package installs are package.json entries owned by the tenant repo.\n * Direct imports are source-code imports that tenant application code may use.\n *\n * These concepts intentionally differ: `@lucern/cli` is a direct install when a\n * tenant repo needs the `lucern` binary, but it is not a direct application\n * import. `@lucern/reasoning-kernel` and `@lucern/control-plane` are direct installs\n * for Convex component binding, while tenant app code should only import their\n * explicit component config subpaths.\n */\nexport type TenantClientInstallProfile = {\n id: string;\n description: string;\n packageNames: readonly TenantClientInstallablePackageName[];\n dependencyField: \"dependencies\" | \"devDependencies\" | \"mixed\";\n};\n\nexport const TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES =\n TENANT_CLIENT_INSTALLABLE_PACKAGES.map(\n (entry) => entry.packageName\n ) as readonly TenantClientInstallablePackageName[];\n\nexport const TENANT_CLIENT_INSTALL_PROFILES = [\n {\n id: \"core_app_runtime\",\n description:\n \"Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.\",\n packageNames: [\"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"react_app_runtime\",\n description:\n \"React tenant app install for hooks, provider, curated graph components, and direct SDK calls.\",\n packageNames: [\"@lucern/react\", \"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"convex_components\",\n description:\n \"Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.\",\n packageNames: [\"@lucern/control-plane\", \"@lucern/reasoning-kernel\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"graph_mirroring_addon\",\n description:\n \"Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.\",\n packageNames: [\"@lucern/graph-sync\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"operator_cli\",\n description:\n \"Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.\",\n packageNames: [\"@lucern/cli\"],\n dependencyField: \"devDependencies\",\n },\n {\n id: \"mcp_runtime\",\n description:\n \"Agent runtime install for the standalone Lucern MCP server and hosted route helpers.\",\n packageNames: [\"@lucern/mcp\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"contracts_and_types\",\n description:\n \"Compile-time contract/type install for codegen, audits, and tenant integration validation.\",\n packageNames: [\"@lucern/contracts\", \"@lucern/types\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"full_suite\",\n description:\n \"Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.\",\n packageNames: TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES,\n dependencyField: \"mixed\",\n },\n] as const satisfies readonly TenantClientInstallProfile[];\nexport type TenantClientInstallProfileId =\n (typeof TENANT_CLIENT_INSTALL_PROFILES)[number][\"id\"];\n\n/**\n * Direct imports tenant-owned product code may use. This is intentionally\n * smaller than TENANT_CLIENT_INSTALLABLE_PACKAGES: several publishable packages\n * are installed as SDK dependencies, tooling, or platform runtimes but should\n * not become the application integration surface.\n */\nexport const TENANT_CLIENT_PUBLIC_IMPORTS = [\n {\n packageName: \"@lucern/sdk\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"TypeScript SDK runtime and generated operation namespaces.\",\n },\n {\n packageName: \"@lucern/react\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"React bindings for tenant-owned UI applications.\",\n },\n {\n packageName: \"@lucern/mcp\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"MCP client/server entry points and hosted route helpers.\",\n },\n {\n packageName: \"@lucern/graph-sync\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers.\",\n },\n {\n packageName: \"@lucern/contracts\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type and manifest contracts.\",\n },\n {\n packageName: \"@lucern/access-control\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Tenant runtime access-control helpers, including effective tool access.\",\n },\n {\n packageName: \"@lucern/types\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type-only helpers for tenant integration code.\",\n },\n] as const;\nexport type TenantClientPublicImport =\n (typeof TENANT_CLIENT_PUBLIC_IMPORTS)[number];\nexport type TenantClientPublicPackage =\n TenantClientPublicImport[\"packageName\"];\nexport type TenantClientPublicSurface = TenantClientPublicImport[\"surface\"];\n\nexport const TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS = [\n {\n packageName: \"@lucern/control-plane\",\n importPath: \"@lucern/control-plane/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern control plane.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern reasoning kernel.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/runtime.config\",\n surface: \"component_config\",\n description:\n \"Runtime config alias for tenant deployments that install the Lucern reasoning kernel.\",\n },\n] as const;\nexport type TenantClientComponentConfigImport =\n (typeof TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS)[number];\nexport type TenantClientAllowedImport =\n | TenantClientPublicImport\n | TenantClientComponentConfigImport;\n\nexport function findTenantClientInstallablePackage(\n packageName: string\n): TenantClientInstallablePackage | undefined {\n return TENANT_CLIENT_INSTALLABLE_PACKAGES.find(\n (entry) => entry.packageName === packageName\n );\n}\n\nexport function isTenantClientInstallablePackage(packageName: string): boolean {\n return Boolean(findTenantClientInstallablePackage(packageName));\n}\n\nexport const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [\n \"bootstrap\",\n \"context\",\n \"beliefs\",\n \"evidence\",\n \"questions\",\n \"graph\",\n \"worktrees\",\n \"topics\",\n \"edges\",\n \"contradictions\",\n \"contracts\",\n \"graphIntel\",\n \"graphIntelligence\",\n \"graphAnalysis\",\n \"graphRecommendations\",\n \"orgGraphSearch\",\n \"embeddings\",\n \"ontologyLinks\",\n \"graphStateClassifier\",\n \"tools\",\n \"controlPlane\",\n \"identity\",\n \"modelRuntime\",\n \"events\",\n \"jobs\",\n \"telemetry\",\n] as const;\nexport type TenantClientRequiredSdkNamespace =\n (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];\n\nexport const TENANT_CLIENT_CAPABILITIES = [\n {\n id: \"identity.resolve_interactive_principal\",\n description:\n \"Resolve a Clerk-authenticated user into a Permit-backed Lucern principal context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: [\"principalId\", \"tenantId\", \"scopes\"],\n },\n {\n id: \"identity.bootstrap_session\",\n description: \"Start a scoped Lucern session for a tenant principal.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.context.compile\",\n description: \"Compile tenant and workspace scoped reasoning context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.read\",\n description: \"Read beliefs, evidence, questions, topics, graph edges, and lineage.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.write\",\n description: \"Create and update graph objects through authorized APIs.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_intelligence.run\",\n description:\n \"Discover and run Graph Intelligence query recipes for structural graph analysis.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_mirroring.install\",\n description:\n \"Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.\",\n surfaces: [\"@lucern/graph-sync\", \"@lucern/cli\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"workflow.worktree_lifecycle\",\n description: \"Create, review, merge, and close scoped worktrees.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n] as const;\nexport type TenantClientCapability =\n (typeof TENANT_CLIENT_CAPABILITIES)[number];\nexport type TenantClientCapabilityId = TenantClientCapability[\"id\"];\n\nexport const TENANT_CLIENT_ISOLATION_RULES = [\n {\n id: \"tenant_workspace_scope_required\",\n description:\n \"Runtime operations must resolve both tenantId and workspaceId before reaching Lucern reasoning state.\",\n },\n {\n id: \"principal_audit_required\",\n description:\n \"Runtime operations must carry principalId, authMode, and scopes for audit attribution.\",\n },\n {\n id: \"no_private_lucern_imports\",\n description:\n \"Tenant code must not import Lucern source, Convex internals, generated adapters, or unpublished package internals.\",\n },\n] as const;\nexport type TenantClientIsolationRule =\n (typeof TENANT_CLIENT_ISOLATION_RULES)[number];\n\nexport const TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS = [\n {\n id: \"deep_src_import\",\n pattern: \"^@lucern/[^/]+/src(?:/|$)\",\n description: \"Published packages must not be bypassed through src paths.\",\n },\n {\n id: \"deep_dist_import\",\n pattern: \"^@lucern/[^/]+/dist(?:/|$)\",\n description:\n \"Published package exports must be used instead of dist file paths.\",\n },\n {\n id: \"generated_adapter_import\",\n pattern: \"^@lucern/[^/]+/(?:adapters/)?_generated(?:/|$)\",\n description:\n \"Generated Lucern adapters are internal deployment artifacts.\",\n },\n {\n id: \"private_runtime_import\",\n pattern: \"^@lucern/[^/]+/(?:internal|private)(?:/|$)\",\n description: \"Internal and private package subpaths are not public SDK API.\",\n },\n {\n id: \"workspace_source_import\",\n pattern: \"^(?:packages|modules|services|lucern|apps)/(?:.+/)?src(?:/|$)\",\n description:\n \"Tenant clients must not import source files from the Lucern monorepo.\",\n },\n {\n id: \"root_alias_lucern_import\",\n pattern: \"^@/(?:lucern|packages|modules|services|apps)(?:/|$)\",\n description:\n \"Tenant clients must not depend on Lucern repo-local path aliases.\",\n },\n {\n id: \"relative_lucern_source_import\",\n pattern: \"^\\\\.\\\\.?/(?:.+/)?(?:packages|modules|services|lucern|apps)(?:/|$)\",\n description:\n \"Tenant clients must not reach back into Lucern source through relative paths.\",\n },\n {\n id: \"monorepo_path_import\",\n pattern: \"lucern-repo\",\n description:\n \"Absolute imports that name the Lucern repository are not portable tenant code.\",\n },\n] as const;\nexport type TenantClientForbiddenImportPattern =\n (typeof TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS)[number];\nexport type TenantClientForbiddenImportPatternId =\n TenantClientForbiddenImportPattern[\"id\"];\n\nexport type TenantClientImportDecision =\n | \"public\"\n | \"forbidden\"\n | \"local\"\n | \"external\";\n\nexport type TenantClientImportClassification = {\n importPath: string;\n decision: TenantClientImportDecision;\n publicImport?: TenantClientAllowedImport;\n pattern?: TenantClientForbiddenImportPattern;\n reason: string;\n};\n\nfunction matchesPublicImport(\n importPath: string\n): TenantClientAllowedImport | undefined {\n const componentConfig = TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.find(\n (entry) => importPath === entry.importPath\n );\n if (componentConfig) {\n return componentConfig;\n }\n\n return TENANT_CLIENT_PUBLIC_IMPORTS.find(\n (entry) =>\n importPath === entry.packageName ||\n importPath.startsWith(`${entry.packageName}/`)\n );\n}\n\nfunction matchesForbiddenPattern(\n importPath: string\n): TenantClientForbiddenImportPattern | undefined {\n return TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS.find((entry) =>\n new RegExp(entry.pattern, \"u\").test(importPath)\n );\n}\n\nexport function classifyTenantClientImport(\n importPath: string\n): TenantClientImportClassification {\n const normalizedImportPath = importPath.trim();\n const pattern = matchesForbiddenPattern(normalizedImportPath);\n\n if (pattern) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n pattern,\n reason: pattern.description,\n };\n }\n\n const publicImport = matchesPublicImport(normalizedImportPath);\n if (publicImport) {\n return {\n importPath: normalizedImportPath,\n decision: \"public\",\n publicImport,\n reason: publicImport.description,\n };\n }\n\n if (normalizedImportPath.startsWith(\"@lucern/\")) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n reason:\n \"This @lucern package is not part of the tenant client public surface.\",\n };\n }\n\n if (\n normalizedImportPath.startsWith(\"./\") ||\n normalizedImportPath.startsWith(\"../\")\n ) {\n return {\n importPath: normalizedImportPath,\n decision: \"local\",\n reason: \"Local tenant-owned import.\",\n };\n }\n\n return {\n importPath: normalizedImportPath,\n decision: \"external\",\n reason: \"External dependency outside the Lucern package namespace.\",\n };\n}\n\nexport function isTenantClientPublicImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function isTenantClientComponentConfigImport(\n importPath: string\n): boolean {\n return TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.some(\n (entry) => importPath === entry.importPath\n );\n}\n\nexport function isTenantClientAllowedImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function assertTenantClientImportAllowed(importPath: string): void {\n const classification = classifyTenantClientImport(importPath);\n if (classification.decision !== \"forbidden\") {\n return;\n }\n\n throw new Error(formatTenantClientImportViolation(classification));\n}\n\nexport function formatTenantClientImportViolation(\n classification: TenantClientImportClassification\n): string {\n const patternId = classification.pattern\n ? ` [${classification.pattern.id}]`\n : \"\";\n return `Tenant client import is not allowed${patternId}: ${classification.importPath}. ${classification.reason}`;\n}\n"]}
@@ -66,6 +66,18 @@ declare const TRACE_ENTITY_IMPACT: McpToolContract;
66
66
  declare const SEARCH_BELIEFS: McpToolContract;
67
67
  declare const FIND_CONTRADICTIONS: McpToolContract;
68
68
  declare const CREATE_EDGE: McpToolContract;
69
+ declare const UPDATE_EDGE: McpToolContract;
70
+ declare const REMOVE_EDGE: McpToolContract;
71
+ declare const REMOVE_EDGES_BETWEEN: McpToolContract;
72
+ declare const BATCH_CREATE_EDGES: McpToolContract;
73
+ declare const CREATE_EPISTEMIC_NODE: McpToolContract;
74
+ declare const GET_EPISTEMIC_NODE: McpToolContract;
75
+ declare const LIST_EPISTEMIC_NODES: McpToolContract;
76
+ declare const UPDATE_EPISTEMIC_NODE: McpToolContract;
77
+ declare const ARCHIVE_EPISTEMIC_NODE: McpToolContract;
78
+ declare const VERIFY_EPISTEMIC_NODE: McpToolContract;
79
+ declare const SUPERSEDE_EPISTEMIC_NODE: McpToolContract;
80
+ declare const BATCH_CREATE_EPISTEMIC_NODES: McpToolContract;
69
81
  declare const RECORD_JUDGMENT: McpToolContract;
70
82
  declare const CREATE_LENS: McpToolContract;
71
83
  declare const LIST_LENSES: McpToolContract;
@@ -105,6 +117,7 @@ declare const ACTIVATE_WORKTREE: McpToolContract;
105
117
  declare const UPDATE_WORKTREE_TARGETS: McpToolContract;
106
118
  declare const UPDATE_WORKTREE_METADATA: McpToolContract;
107
119
  declare const IDENTITY_WHOAMI: McpToolContract;
120
+ declare const RESOLVE_INTERACTIVE_PRINCIPAL: McpToolContract;
108
121
  declare const COMPILE_CONTEXT: McpToolContract;
109
122
  declare const CHECK_PERMISSION: McpToolContract;
110
123
  declare const FILTER_BY_PERMISSION: McpToolContract;
@@ -119,6 +132,8 @@ declare const LIST_TOPICS: McpToolContract;
119
132
  declare const GET_TOPIC: McpToolContract;
120
133
  declare const UPDATE_TOPIC: McpToolContract;
121
134
  declare const GET_TOPIC_TREE: McpToolContract;
135
+ declare const MATERIALIZE_TOPIC_GRAPH: McpToolContract;
136
+ declare const GET_TOPIC_GRAPH_SPINE: McpToolContract;
122
137
  declare const GET_CODE_CONTEXT: McpToolContract;
123
138
  declare const GET_CHANGE_HISTORY: McpToolContract;
124
139
  declare const RECORD_ATTEMPT: McpToolContract;
@@ -180,8 +195,11 @@ declare const toolContracts_APPLY_AUTO_BRANCHING: typeof APPLY_AUTO_BRANCHING;
180
195
  declare const toolContracts_APPLY_LENS_TO_TOPIC: typeof APPLY_LENS_TO_TOPIC;
181
196
  declare const toolContracts_APPLY_ONTOLOGY: typeof APPLY_ONTOLOGY;
182
197
  declare const toolContracts_ARCHIVE_BELIEF: typeof ARCHIVE_BELIEF;
198
+ declare const toolContracts_ARCHIVE_EPISTEMIC_NODE: typeof ARCHIVE_EPISTEMIC_NODE;
183
199
  declare const toolContracts_ARCHIVE_ONTOLOGY: typeof ARCHIVE_ONTOLOGY;
184
200
  declare const toolContracts_ARCHIVE_QUESTION: typeof ARCHIVE_QUESTION;
201
+ declare const toolContracts_BATCH_CREATE_EDGES: typeof BATCH_CREATE_EDGES;
202
+ declare const toolContracts_BATCH_CREATE_EPISTEMIC_NODES: typeof BATCH_CREATE_EPISTEMIC_NODES;
185
203
  declare const toolContracts_BEGIN_BUILD_SESSION: typeof BEGIN_BUILD_SESSION;
186
204
  declare const toolContracts_BISECT_CONFIDENCE: typeof BISECT_CONFIDENCE;
187
205
  declare const toolContracts_BROADCAST_MESSAGE: typeof BROADCAST_MESSAGE;
@@ -193,6 +211,7 @@ declare const toolContracts_CREATE_ANSWER: typeof CREATE_ANSWER;
193
211
  declare const toolContracts_CREATE_BELIEF: typeof CREATE_BELIEF;
194
212
  declare const toolContracts_CREATE_EDGE: typeof CREATE_EDGE;
195
213
  declare const toolContracts_CREATE_EPISTEMIC_CONTRACT: typeof CREATE_EPISTEMIC_CONTRACT;
214
+ declare const toolContracts_CREATE_EPISTEMIC_NODE: typeof CREATE_EPISTEMIC_NODE;
196
215
  declare const toolContracts_CREATE_EVIDENCE: typeof CREATE_EVIDENCE;
197
216
  declare const toolContracts_CREATE_LENS: typeof CREATE_LENS;
198
217
  declare const toolContracts_CREATE_ONTOLOGY: typeof CREATE_ONTOLOGY;
@@ -220,6 +239,7 @@ declare const toolContracts_GET_CHANGE_HISTORY: typeof GET_CHANGE_HISTORY;
220
239
  declare const toolContracts_GET_CODE_CONTEXT: typeof GET_CODE_CONTEXT;
221
240
  declare const toolContracts_GET_CONFIDENCE_HISTORY: typeof GET_CONFIDENCE_HISTORY;
222
241
  declare const toolContracts_GET_CONTRACT_STATUS: typeof GET_CONTRACT_STATUS;
242
+ declare const toolContracts_GET_EPISTEMIC_NODE: typeof GET_EPISTEMIC_NODE;
223
243
  declare const toolContracts_GET_EVIDENCE: typeof GET_EVIDENCE;
224
244
  declare const toolContracts_GET_FAILURE_LOG: typeof GET_FAILURE_LOG;
225
245
  declare const toolContracts_GET_FALSIFICATION_QUESTIONS: typeof GET_FALSIFICATION_QUESTIONS;
@@ -233,6 +253,7 @@ declare const toolContracts_GET_ONTOLOGY: typeof GET_ONTOLOGY;
233
253
  declare const toolContracts_GET_QUESTION: typeof GET_QUESTION;
234
254
  declare const toolContracts_GET_TOPIC: typeof GET_TOPIC;
235
255
  declare const toolContracts_GET_TOPIC_COVERAGE: typeof GET_TOPIC_COVERAGE;
256
+ declare const toolContracts_GET_TOPIC_GRAPH_SPINE: typeof GET_TOPIC_GRAPH_SPINE;
236
257
  declare const toolContracts_GET_TOPIC_TREE: typeof GET_TOPIC_TREE;
237
258
  declare const toolContracts_GIT_SEMANTIC_REQUIRED_TOOLS: typeof GIT_SEMANTIC_REQUIRED_TOOLS;
238
259
  declare const toolContracts_HEARTBEAT_SESSION: typeof HEARTBEAT_SESSION;
@@ -245,6 +266,7 @@ declare const toolContracts_LIST_ACTIVE_SESSIONS: typeof LIST_ACTIVE_SESSIONS;
245
266
  declare const toolContracts_LIST_ALL_WORKTREES: typeof LIST_ALL_WORKTREES;
246
267
  declare const toolContracts_LIST_BELIEFS: typeof LIST_BELIEFS;
247
268
  declare const toolContracts_LIST_CAMPAIGNS: typeof LIST_CAMPAIGNS;
269
+ declare const toolContracts_LIST_EPISTEMIC_NODES: typeof LIST_EPISTEMIC_NODES;
248
270
  declare const toolContracts_LIST_EVIDENCE: typeof LIST_EVIDENCE;
249
271
  declare const toolContracts_LIST_GRAPH_INTELLIGENCE_QUERIES: typeof LIST_GRAPH_INTELLIGENCE_QUERIES;
250
272
  declare const toolContracts_LIST_LENSES: typeof LIST_LENSES;
@@ -255,6 +277,7 @@ declare const toolContracts_LIST_TOPICS: typeof LIST_TOPICS;
255
277
  declare const toolContracts_LIST_WORKTREES: typeof LIST_WORKTREES;
256
278
  declare const toolContracts_MANAGE_WRITE_POLICY: typeof MANAGE_WRITE_POLICY;
257
279
  declare const toolContracts_MATCH_ENTITY_TYPE: typeof MATCH_ENTITY_TYPE;
280
+ declare const toolContracts_MATERIALIZE_TOPIC_GRAPH: typeof MATERIALIZE_TOPIC_GRAPH;
258
281
  declare const toolContracts_MCP_TOOL_CONTRACTS: typeof MCP_TOOL_CONTRACTS;
259
282
  declare const toolContracts_MERGE: typeof MERGE;
260
283
  declare const toolContracts_MODULATE_CONFIDENCE: typeof MODULATE_CONFIDENCE;
@@ -272,25 +295,32 @@ declare const toolContracts_RECORD_SCOPE_LEARNING: typeof RECORD_SCOPE_LEARNING;
272
295
  declare const toolContracts_REFINE_BELIEF: typeof REFINE_BELIEF;
273
296
  declare const toolContracts_REFINE_QUESTION: typeof REFINE_QUESTION;
274
297
  declare const toolContracts_REGISTER_SESSION: typeof REGISTER_SESSION;
298
+ declare const toolContracts_REMOVE_EDGE: typeof REMOVE_EDGE;
299
+ declare const toolContracts_REMOVE_EDGES_BETWEEN: typeof REMOVE_EDGES_BETWEEN;
275
300
  declare const toolContracts_REMOVE_LENS_FROM_TOPIC: typeof REMOVE_LENS_FROM_TOPIC;
276
301
  declare const toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY: typeof RESOLVE_EFFECTIVE_ONTOLOGY;
302
+ declare const toolContracts_RESOLVE_INTERACTIVE_PRINCIPAL: typeof RESOLVE_INTERACTIVE_PRINCIPAL;
277
303
  declare const toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY: typeof RUN_GRAPH_INTELLIGENCE_QUERY;
278
304
  declare const toolContracts_SEARCH_BELIEFS: typeof SEARCH_BELIEFS;
279
305
  declare const toolContracts_SEARCH_EVIDENCE: typeof SEARCH_EVIDENCE;
280
306
  declare const toolContracts_SEED_BELIEF_LATTICE: typeof SEED_BELIEF_LATTICE;
281
307
  declare const toolContracts_SEND_AGENT_MESSAGE: typeof SEND_AGENT_MESSAGE;
308
+ declare const toolContracts_SUPERSEDE_EPISTEMIC_NODE: typeof SUPERSEDE_EPISTEMIC_NODE;
282
309
  declare const toolContracts_TRACE_ENTITY_IMPACT: typeof TRACE_ENTITY_IMPACT;
283
310
  declare const toolContracts_TRAVERSE_GRAPH: typeof TRAVERSE_GRAPH;
284
311
  declare const toolContracts_TRIGGER_BELIEF_REVIEW: typeof TRIGGER_BELIEF_REVIEW;
312
+ declare const toolContracts_UPDATE_EDGE: typeof UPDATE_EDGE;
313
+ declare const toolContracts_UPDATE_EPISTEMIC_NODE: typeof UPDATE_EPISTEMIC_NODE;
285
314
  declare const toolContracts_UPDATE_ONTOLOGY: typeof UPDATE_ONTOLOGY;
286
315
  declare const toolContracts_UPDATE_QUESTION_STATUS: typeof UPDATE_QUESTION_STATUS;
287
316
  declare const toolContracts_UPDATE_TASK: typeof UPDATE_TASK;
288
317
  declare const toolContracts_UPDATE_TOPIC: typeof UPDATE_TOPIC;
289
318
  declare const toolContracts_UPDATE_WORKTREE_METADATA: typeof UPDATE_WORKTREE_METADATA;
290
319
  declare const toolContracts_UPDATE_WORKTREE_TARGETS: typeof UPDATE_WORKTREE_TARGETS;
320
+ declare const toolContracts_VERIFY_EPISTEMIC_NODE: typeof VERIFY_EPISTEMIC_NODE;
291
321
  declare const toolContracts_validateGitSemantics: typeof validateGitSemantics;
292
322
  declare namespace toolContracts {
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 };
323
+ export { toolContracts_ACTIVATE_WORKTREE as ACTIVATE_WORKTREE, toolContracts_ADD_EVIDENCE as ADD_EVIDENCE, toolContracts_ADD_WORKTREE as ADD_WORKTREE, toolContracts_ANALYZE_TOPIC_DENSITY as ANALYZE_TOPIC_DENSITY, toolContracts_ANSWER_QUESTION as ANSWER_QUESTION, toolContracts_APPLY_AUTO_BRANCHING as APPLY_AUTO_BRANCHING, toolContracts_APPLY_LENS_TO_TOPIC as APPLY_LENS_TO_TOPIC, toolContracts_APPLY_ONTOLOGY as APPLY_ONTOLOGY, toolContracts_ARCHIVE_BELIEF as ARCHIVE_BELIEF, toolContracts_ARCHIVE_EPISTEMIC_NODE as ARCHIVE_EPISTEMIC_NODE, toolContracts_ARCHIVE_ONTOLOGY as ARCHIVE_ONTOLOGY, toolContracts_ARCHIVE_QUESTION as ARCHIVE_QUESTION, toolContracts_BATCH_CREATE_EDGES as BATCH_CREATE_EDGES, toolContracts_BATCH_CREATE_EPISTEMIC_NODES as BATCH_CREATE_EPISTEMIC_NODES, toolContracts_BEGIN_BUILD_SESSION as BEGIN_BUILD_SESSION, toolContracts_BISECT_CONFIDENCE as BISECT_CONFIDENCE, toolContracts_BROADCAST_MESSAGE as BROADCAST_MESSAGE, toolContracts_CHECK_PERMISSION as CHECK_PERMISSION, toolContracts_CLAIM_FILES as CLAIM_FILES, toolContracts_COMPILE_CONTEXT as COMPILE_CONTEXT, toolContracts_COMPLETE_TASK as COMPLETE_TASK, toolContracts_CREATE_ANSWER as CREATE_ANSWER, toolContracts_CREATE_BELIEF as CREATE_BELIEF, toolContracts_CREATE_EDGE as CREATE_EDGE, toolContracts_CREATE_EPISTEMIC_CONTRACT as CREATE_EPISTEMIC_CONTRACT, toolContracts_CREATE_EPISTEMIC_NODE as CREATE_EPISTEMIC_NODE, toolContracts_CREATE_EVIDENCE as CREATE_EVIDENCE, toolContracts_CREATE_LENS as CREATE_LENS, toolContracts_CREATE_ONTOLOGY as CREATE_ONTOLOGY, toolContracts_CREATE_ONTOLOGY_VERSION as CREATE_ONTOLOGY_VERSION, toolContracts_CREATE_QUESTION as CREATE_QUESTION, toolContracts_CREATE_TASK as CREATE_TASK, toolContracts_CREATE_TOPIC as CREATE_TOPIC, toolContracts_DEPRECATE_ONTOLOGY_VERSION as DEPRECATE_ONTOLOGY_VERSION, toolContracts_DETECT_CONFIRMATION_BIAS as DETECT_CONFIRMATION_BIAS, toolContracts_DISCOVER as DISCOVER, toolContracts_DISCOVER_ENTITY_CONNECTIONS as DISCOVER_ENTITY_CONNECTIONS, toolContracts_END_SESSION as END_SESSION, toolContracts_EVALUATE_CONTRACT as EVALUATE_CONTRACT, toolContracts_FILTER_BY_PERMISSION as FILTER_BY_PERMISSION, toolContracts_FIND_CONTRADICTIONS as FIND_CONTRADICTIONS, toolContracts_FIND_MISSING_QUESTIONS as FIND_MISSING_QUESTIONS, toolContracts_FLAG_CONTRADICTION as FLAG_CONTRADICTION, toolContracts_FORK_BELIEF as FORK_BELIEF, toolContracts_GENERATE_SESSION_HANDOFF as GENERATE_SESSION_HANDOFF, toolContracts_GET_AGENT_INBOX as GET_AGENT_INBOX, toolContracts_GET_ANSWER as GET_ANSWER, toolContracts_GET_AUDIT_TRAIL as GET_AUDIT_TRAIL, toolContracts_GET_BELIEF as GET_BELIEF, toolContracts_GET_CHANGE_HISTORY as GET_CHANGE_HISTORY, toolContracts_GET_CODE_CONTEXT as GET_CODE_CONTEXT, toolContracts_GET_CONFIDENCE_HISTORY as GET_CONFIDENCE_HISTORY, toolContracts_GET_CONTRACT_STATUS as GET_CONTRACT_STATUS, toolContracts_GET_EPISTEMIC_NODE as GET_EPISTEMIC_NODE, toolContracts_GET_EVIDENCE as GET_EVIDENCE, toolContracts_GET_FAILURE_LOG as GET_FAILURE_LOG, toolContracts_GET_FALSIFICATION_QUESTIONS as GET_FALSIFICATION_QUESTIONS, toolContracts_GET_GRAPH_GAPS as GET_GRAPH_GAPS, toolContracts_GET_GRAPH_NEIGHBORHOOD as GET_GRAPH_NEIGHBORHOOD, toolContracts_GET_GRAPH_STRUCTURE_ANALYSIS as GET_GRAPH_STRUCTURE_ANALYSIS, toolContracts_GET_HIGH_PRIORITY_QUESTIONS as GET_HIGH_PRIORITY_QUESTIONS, toolContracts_GET_LATTICE_COVERAGE as GET_LATTICE_COVERAGE, toolContracts_GET_OBSERVATION_CONTEXT as GET_OBSERVATION_CONTEXT, toolContracts_GET_ONTOLOGY as GET_ONTOLOGY, toolContracts_GET_QUESTION as GET_QUESTION, toolContracts_GET_TOPIC as GET_TOPIC, toolContracts_GET_TOPIC_COVERAGE as GET_TOPIC_COVERAGE, toolContracts_GET_TOPIC_GRAPH_SPINE as GET_TOPIC_GRAPH_SPINE, toolContracts_GET_TOPIC_TREE as GET_TOPIC_TREE, toolContracts_GIT_SEMANTIC_REQUIRED_TOOLS as GIT_SEMANTIC_REQUIRED_TOOLS, toolContracts_HEARTBEAT_SESSION as HEARTBEAT_SESSION, toolContracts_IDENTITY_WHOAMI as IDENTITY_WHOAMI, toolContracts_INGEST_OBSERVATION as INGEST_OBSERVATION, toolContracts_LINK_EVIDENCE as LINK_EVIDENCE, toolContracts_LINK_EVIDENCE_TO_BELIEF as LINK_EVIDENCE_TO_BELIEF, toolContracts_LINK_EVIDENCE_TO_QUESTION as LINK_EVIDENCE_TO_QUESTION, toolContracts_LIST_ACTIVE_SESSIONS as LIST_ACTIVE_SESSIONS, toolContracts_LIST_ALL_WORKTREES as LIST_ALL_WORKTREES, toolContracts_LIST_BELIEFS as LIST_BELIEFS, toolContracts_LIST_CAMPAIGNS as LIST_CAMPAIGNS, toolContracts_LIST_EPISTEMIC_NODES as LIST_EPISTEMIC_NODES, toolContracts_LIST_EVIDENCE as LIST_EVIDENCE, toolContracts_LIST_GRAPH_INTELLIGENCE_QUERIES as LIST_GRAPH_INTELLIGENCE_QUERIES, toolContracts_LIST_LENSES as LIST_LENSES, toolContracts_LIST_ONTOLOGIES as LIST_ONTOLOGIES, toolContracts_LIST_QUESTIONS as LIST_QUESTIONS, toolContracts_LIST_TASKS as LIST_TASKS, toolContracts_LIST_TOPICS as LIST_TOPICS, toolContracts_LIST_WORKTREES as LIST_WORKTREES, toolContracts_MANAGE_WRITE_POLICY as MANAGE_WRITE_POLICY, toolContracts_MATCH_ENTITY_TYPE as MATCH_ENTITY_TYPE, toolContracts_MATERIALIZE_TOPIC_GRAPH as MATERIALIZE_TOPIC_GRAPH, toolContracts_MCP_TOOL_CONTRACTS as MCP_TOOL_CONTRACTS, toolContracts_MERGE as MERGE, toolContracts_MODULATE_CONFIDENCE as MODULATE_CONFIDENCE, type toolContracts_McpParameterDef as McpParameterDef, type toolContracts_McpResponseDef as McpResponseDef, type toolContracts_McpToolContract as McpToolContract, toolContracts_OPEN_PULL_REQUEST as OPEN_PULL_REQUEST, toolContracts_PIPELINE_SNAPSHOT as PIPELINE_SNAPSHOT, toolContracts_PUBLISH_ONTOLOGY_VERSION as PUBLISH_ONTOLOGY_VERSION, toolContracts_PUSH as PUSH, toolContracts_QUERY_LINEAGE as QUERY_LINEAGE, toolContracts_RECORD_ATTEMPT as RECORD_ATTEMPT, toolContracts_RECORD_JUDGMENT as RECORD_JUDGMENT, toolContracts_RECORD_SCOPE_LEARNING as RECORD_SCOPE_LEARNING, toolContracts_REFINE_BELIEF as REFINE_BELIEF, toolContracts_REFINE_QUESTION as REFINE_QUESTION, toolContracts_REGISTER_SESSION as REGISTER_SESSION, toolContracts_REMOVE_EDGE as REMOVE_EDGE, toolContracts_REMOVE_EDGES_BETWEEN as REMOVE_EDGES_BETWEEN, toolContracts_REMOVE_LENS_FROM_TOPIC as REMOVE_LENS_FROM_TOPIC, toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY as RESOLVE_EFFECTIVE_ONTOLOGY, toolContracts_RESOLVE_INTERACTIVE_PRINCIPAL as RESOLVE_INTERACTIVE_PRINCIPAL, toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY as RUN_GRAPH_INTELLIGENCE_QUERY, toolContracts_SEARCH_BELIEFS as SEARCH_BELIEFS, toolContracts_SEARCH_EVIDENCE as SEARCH_EVIDENCE, toolContracts_SEED_BELIEF_LATTICE as SEED_BELIEF_LATTICE, toolContracts_SEND_AGENT_MESSAGE as SEND_AGENT_MESSAGE, toolContracts_SUPERSEDE_EPISTEMIC_NODE as SUPERSEDE_EPISTEMIC_NODE, toolContracts_TRACE_ENTITY_IMPACT as TRACE_ENTITY_IMPACT, toolContracts_TRAVERSE_GRAPH as TRAVERSE_GRAPH, toolContracts_TRIGGER_BELIEF_REVIEW as TRIGGER_BELIEF_REVIEW, toolContracts_UPDATE_EDGE as UPDATE_EDGE, toolContracts_UPDATE_EPISTEMIC_NODE as UPDATE_EPISTEMIC_NODE, toolContracts_UPDATE_ONTOLOGY as UPDATE_ONTOLOGY, toolContracts_UPDATE_QUESTION_STATUS as UPDATE_QUESTION_STATUS, toolContracts_UPDATE_TASK as UPDATE_TASK, toolContracts_UPDATE_TOPIC as UPDATE_TOPIC, toolContracts_UPDATE_WORKTREE_METADATA as UPDATE_WORKTREE_METADATA, toolContracts_UPDATE_WORKTREE_TARGETS as UPDATE_WORKTREE_TARGETS, toolContracts_VERIFY_EPISTEMIC_NODE as VERIFY_EPISTEMIC_NODE, toolContracts_validateGitSemantics as validateGitSemantics };
294
324
  }
295
325
 
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 };
326
+ export { GET_CONFIDENCE_HISTORY as $, ACTIVATE_WORKTREE as A, BATCH_CREATE_EDGES as B, CHECK_PERMISSION as C, CREATE_ONTOLOGY as D, CREATE_ONTOLOGY_VERSION as E, CREATE_QUESTION as F, CREATE_TASK as G, CREATE_TOPIC as H, DEPRECATE_ONTOLOGY_VERSION as I, DETECT_CONFIRMATION_BIAS as J, DISCOVER as K, DISCOVER_ENTITY_CONNECTIONS as L, type McpToolContract as M, END_SESSION as N, EVALUATE_CONTRACT as O, FILTER_BY_PERMISSION as P, FIND_CONTRADICTIONS as Q, FIND_MISSING_QUESTIONS as R, FLAG_CONTRADICTION as S, FORK_BELIEF as T, GENERATE_SESSION_HANDOFF as U, GET_AGENT_INBOX as V, GET_ANSWER as W, GET_AUDIT_TRAIL as X, GET_BELIEF as Y, GET_CHANGE_HISTORY as Z, GET_CODE_CONTEXT as _, ADD_EVIDENCE as a, SEARCH_EVIDENCE as a$, GET_CONTRACT_STATUS as a0, GET_EPISTEMIC_NODE as a1, GET_EVIDENCE as a2, GET_FAILURE_LOG as a3, GET_FALSIFICATION_QUESTIONS as a4, GET_GRAPH_GAPS as a5, GET_GRAPH_NEIGHBORHOOD as a6, GET_GRAPH_STRUCTURE_ANALYSIS as a7, GET_HIGH_PRIORITY_QUESTIONS as a8, GET_LATTICE_COVERAGE as a9, LIST_WORKTREES as aA, MANAGE_WRITE_POLICY as aB, MATCH_ENTITY_TYPE as aC, MATERIALIZE_TOPIC_GRAPH as aD, MCP_TOOL_CONTRACTS as aE, MERGE as aF, MODULATE_CONFIDENCE as aG, type McpParameterDef as aH, type McpResponseDef as aI, OPEN_PULL_REQUEST as aJ, PIPELINE_SNAPSHOT as aK, PUBLISH_ONTOLOGY_VERSION as aL, PUSH as aM, QUERY_LINEAGE as aN, RECORD_ATTEMPT as aO, RECORD_JUDGMENT as aP, RECORD_SCOPE_LEARNING as aQ, REFINE_BELIEF as aR, REFINE_QUESTION as aS, REGISTER_SESSION as aT, REMOVE_EDGE as aU, REMOVE_EDGES_BETWEEN as aV, REMOVE_LENS_FROM_TOPIC as aW, RESOLVE_EFFECTIVE_ONTOLOGY as aX, RESOLVE_INTERACTIVE_PRINCIPAL as aY, RUN_GRAPH_INTELLIGENCE_QUERY as aZ, SEARCH_BELIEFS as a_, GET_OBSERVATION_CONTEXT as aa, GET_ONTOLOGY as ab, GET_QUESTION as ac, GET_TOPIC as ad, GET_TOPIC_COVERAGE as ae, GET_TOPIC_GRAPH_SPINE as af, GET_TOPIC_TREE as ag, GIT_SEMANTIC_REQUIRED_TOOLS as ah, HEARTBEAT_SESSION as ai, IDENTITY_WHOAMI as aj, INGEST_OBSERVATION as ak, LINK_EVIDENCE as al, LINK_EVIDENCE_TO_BELIEF as am, LINK_EVIDENCE_TO_QUESTION as an, LIST_ACTIVE_SESSIONS as ao, LIST_ALL_WORKTREES as ap, LIST_BELIEFS as aq, LIST_CAMPAIGNS as ar, LIST_EPISTEMIC_NODES as as, LIST_EVIDENCE as at, LIST_GRAPH_INTELLIGENCE_QUERIES as au, LIST_LENSES as av, LIST_ONTOLOGIES as aw, LIST_QUESTIONS as ax, LIST_TASKS as ay, LIST_TOPICS as az, ADD_WORKTREE as b, SEED_BELIEF_LATTICE as b0, SEND_AGENT_MESSAGE as b1, SUPERSEDE_EPISTEMIC_NODE as b2, TRACE_ENTITY_IMPACT as b3, TRAVERSE_GRAPH as b4, TRIGGER_BELIEF_REVIEW as b5, UPDATE_EDGE as b6, UPDATE_EPISTEMIC_NODE as b7, UPDATE_ONTOLOGY as b8, UPDATE_QUESTION_STATUS as b9, UPDATE_TASK as ba, UPDATE_TOPIC as bb, UPDATE_WORKTREE_METADATA as bc, UPDATE_WORKTREE_TARGETS as bd, VERIFY_EPISTEMIC_NODE as be, validateGitSemantics as bf, ANALYZE_TOPIC_DENSITY as c, ANSWER_QUESTION as d, APPLY_AUTO_BRANCHING as e, APPLY_LENS_TO_TOPIC as f, APPLY_ONTOLOGY as g, ARCHIVE_BELIEF as h, ARCHIVE_EPISTEMIC_NODE as i, ARCHIVE_ONTOLOGY as j, ARCHIVE_QUESTION as k, BATCH_CREATE_EPISTEMIC_NODES as l, BEGIN_BUILD_SESSION as m, BISECT_CONFIDENCE as n, BROADCAST_MESSAGE as o, CLAIM_FILES as p, COMPILE_CONTEXT as q, COMPLETE_TASK as r, CREATE_ANSWER as s, toolContracts as t, CREATE_BELIEF as u, CREATE_EDGE as v, CREATE_EPISTEMIC_CONTRACT as w, CREATE_EPISTEMIC_NODE as x, CREATE_EVIDENCE as y, CREATE_LENS as z };
@@ -1 +1 @@
1
- export { A as ACTIVATE_WORKTREE, a as ADD_EVIDENCE, b as ADD_WORKTREE, c as ANALYZE_TOPIC_DENSITY, d as ANSWER_QUESTION, e as APPLY_AUTO_BRANCHING, f as APPLY_LENS_TO_TOPIC, g as APPLY_ONTOLOGY, h as ARCHIVE_BELIEF, i as ARCHIVE_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';
1
+ export { A as ACTIVATE_WORKTREE, a as ADD_EVIDENCE, b as ADD_WORKTREE, c as ANALYZE_TOPIC_DENSITY, d as ANSWER_QUESTION, e as APPLY_AUTO_BRANCHING, f as APPLY_LENS_TO_TOPIC, g as APPLY_ONTOLOGY, h as ARCHIVE_BELIEF, i as ARCHIVE_EPISTEMIC_NODE, j as ARCHIVE_ONTOLOGY, k as ARCHIVE_QUESTION, B as BATCH_CREATE_EDGES, l as BATCH_CREATE_EPISTEMIC_NODES, m as BEGIN_BUILD_SESSION, n as BISECT_CONFIDENCE, o as BROADCAST_MESSAGE, C as CHECK_PERMISSION, p as CLAIM_FILES, q as COMPILE_CONTEXT, r as COMPLETE_TASK, s as CREATE_ANSWER, u as CREATE_BELIEF, v as CREATE_EDGE, w as CREATE_EPISTEMIC_CONTRACT, x as CREATE_EPISTEMIC_NODE, y as CREATE_EVIDENCE, z as CREATE_LENS, D as CREATE_ONTOLOGY, E as CREATE_ONTOLOGY_VERSION, F as CREATE_QUESTION, G as CREATE_TASK, H as CREATE_TOPIC, I as DEPRECATE_ONTOLOGY_VERSION, J as DETECT_CONFIRMATION_BIAS, K as DISCOVER, L as DISCOVER_ENTITY_CONNECTIONS, N as END_SESSION, O as EVALUATE_CONTRACT, P as FILTER_BY_PERMISSION, Q as FIND_CONTRADICTIONS, R as FIND_MISSING_QUESTIONS, S as FLAG_CONTRADICTION, T as FORK_BELIEF, U as GENERATE_SESSION_HANDOFF, V as GET_AGENT_INBOX, W as GET_ANSWER, X as GET_AUDIT_TRAIL, Y as GET_BELIEF, Z as GET_CHANGE_HISTORY, _ as GET_CODE_CONTEXT, $ as GET_CONFIDENCE_HISTORY, a0 as GET_CONTRACT_STATUS, a1 as GET_EPISTEMIC_NODE, a2 as GET_EVIDENCE, a3 as GET_FAILURE_LOG, a4 as GET_FALSIFICATION_QUESTIONS, a5 as GET_GRAPH_GAPS, a6 as GET_GRAPH_NEIGHBORHOOD, a7 as GET_GRAPH_STRUCTURE_ANALYSIS, a8 as GET_HIGH_PRIORITY_QUESTIONS, a9 as GET_LATTICE_COVERAGE, aa as GET_OBSERVATION_CONTEXT, ab as GET_ONTOLOGY, ac as GET_QUESTION, ad as GET_TOPIC, ae as GET_TOPIC_COVERAGE, af as GET_TOPIC_GRAPH_SPINE, ag as GET_TOPIC_TREE, ah as GIT_SEMANTIC_REQUIRED_TOOLS, ai as HEARTBEAT_SESSION, aj as IDENTITY_WHOAMI, ak as INGEST_OBSERVATION, al as LINK_EVIDENCE, am as LINK_EVIDENCE_TO_BELIEF, an as LINK_EVIDENCE_TO_QUESTION, ao as LIST_ACTIVE_SESSIONS, ap as LIST_ALL_WORKTREES, aq as LIST_BELIEFS, ar as LIST_CAMPAIGNS, as as LIST_EPISTEMIC_NODES, at as LIST_EVIDENCE, au as LIST_GRAPH_INTELLIGENCE_QUERIES, av as LIST_LENSES, aw as LIST_ONTOLOGIES, ax as LIST_QUESTIONS, ay as LIST_TASKS, az as LIST_TOPICS, aA as LIST_WORKTREES, aB as MANAGE_WRITE_POLICY, aC as MATCH_ENTITY_TYPE, aD as MATERIALIZE_TOPIC_GRAPH, aE as MCP_TOOL_CONTRACTS, aF as MERGE, aG as MODULATE_CONFIDENCE, aH as McpParameterDef, aI as McpResponseDef, M as McpToolContract, aJ as OPEN_PULL_REQUEST, aK as PIPELINE_SNAPSHOT, aL as PUBLISH_ONTOLOGY_VERSION, aM as PUSH, aN as QUERY_LINEAGE, aO as RECORD_ATTEMPT, aP as RECORD_JUDGMENT, aQ as RECORD_SCOPE_LEARNING, aR as REFINE_BELIEF, aS as REFINE_QUESTION, aT as REGISTER_SESSION, aU as REMOVE_EDGE, aV as REMOVE_EDGES_BETWEEN, aW as REMOVE_LENS_FROM_TOPIC, aX as RESOLVE_EFFECTIVE_ONTOLOGY, aY as RESOLVE_INTERACTIVE_PRINCIPAL, aZ as RUN_GRAPH_INTELLIGENCE_QUERY, a_ as SEARCH_BELIEFS, a$ as SEARCH_EVIDENCE, b0 as SEED_BELIEF_LATTICE, b1 as SEND_AGENT_MESSAGE, b2 as SUPERSEDE_EPISTEMIC_NODE, b3 as TRACE_ENTITY_IMPACT, b4 as TRAVERSE_GRAPH, b5 as TRIGGER_BELIEF_REVIEW, b6 as UPDATE_EDGE, b7 as UPDATE_EPISTEMIC_NODE, b8 as UPDATE_ONTOLOGY, b9 as UPDATE_QUESTION_STATUS, ba as UPDATE_TASK, bb as UPDATE_TOPIC, bc as UPDATE_WORKTREE_METADATA, bd as UPDATE_WORKTREE_TARGETS, be as VERIFY_EPISTEMIC_NODE, bf as validateGitSemantics } from './tool-contracts-C_xvM9q2.js';