@lucern/contracts 0.3.0-alpha.3 → 0.3.0-alpha.5

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 (180) hide show
  1. package/dist/component-host-boundary.contract.d.ts +41 -0
  2. package/dist/component-host-boundary.contract.js +54 -0
  3. package/dist/component-host-boundary.contract.js.map +1 -0
  4. package/dist/edge-policy-manifest-DpmTtjmm.d.ts +132 -0
  5. package/dist/function-registry/beliefs.d.ts +41 -41
  6. package/dist/function-registry/beliefs.js +274 -8
  7. package/dist/function-registry/beliefs.js.map +1 -1
  8. package/dist/function-registry/coding.js +259 -8
  9. package/dist/function-registry/coding.js.map +1 -1
  10. package/dist/function-registry/context.d.ts +13 -13
  11. package/dist/function-registry/context.js +259 -9
  12. package/dist/function-registry/context.js.map +1 -1
  13. package/dist/function-registry/contracts.js +230 -5
  14. package/dist/function-registry/contracts.js.map +1 -1
  15. package/dist/function-registry/coordination.js +230 -5
  16. package/dist/function-registry/coordination.js.map +1 -1
  17. package/dist/function-registry/edges.js +241 -6
  18. package/dist/function-registry/edges.js.map +1 -1
  19. package/dist/function-registry/evidence.d.ts +33 -33
  20. package/dist/function-registry/evidence.js +274 -9
  21. package/dist/function-registry/evidence.js.map +1 -1
  22. package/dist/function-registry/graph.d.ts +131 -53
  23. package/dist/function-registry/graph.js +346 -12
  24. package/dist/function-registry/graph.js.map +1 -1
  25. package/dist/function-registry/helpers.d.ts +1 -1
  26. package/dist/function-registry/helpers.js +230 -5
  27. package/dist/function-registry/helpers.js.map +1 -1
  28. package/dist/function-registry/identity.js +230 -5
  29. package/dist/function-registry/identity.js.map +1 -1
  30. package/dist/function-registry/index.d.ts +1 -1
  31. package/dist/function-registry/index.js +230 -5
  32. package/dist/function-registry/index.js.map +1 -1
  33. package/dist/function-registry/judgments.d.ts +9 -9
  34. package/dist/function-registry/judgments.js +242 -8
  35. package/dist/function-registry/judgments.js.map +1 -1
  36. package/dist/function-registry/legacy.js +230 -5
  37. package/dist/function-registry/legacy.js.map +1 -1
  38. package/dist/function-registry/lenses.d.ts +17 -17
  39. package/dist/function-registry/lenses.js +253 -8
  40. package/dist/function-registry/lenses.js.map +1 -1
  41. package/dist/function-registry/manifest.d.ts +5 -5
  42. package/dist/function-registry/manifest.js +3 -1
  43. package/dist/function-registry/manifest.js.map +1 -1
  44. package/dist/function-registry/ontologies.d.ts +45 -45
  45. package/dist/function-registry/ontologies.js +248 -11
  46. package/dist/function-registry/ontologies.js.map +1 -1
  47. package/dist/function-registry/pipeline.d.ts +13 -13
  48. package/dist/function-registry/pipeline.js +239 -8
  49. package/dist/function-registry/pipeline.js.map +1 -1
  50. package/dist/function-registry/questions.d.ts +49 -49
  51. package/dist/function-registry/questions.js +327 -13
  52. package/dist/function-registry/questions.js.map +1 -1
  53. package/dist/function-registry/tasks.js +230 -5
  54. package/dist/function-registry/tasks.js.map +1 -1
  55. package/dist/function-registry/topics.d.ts +21 -21
  56. package/dist/function-registry/topics.js +244 -8
  57. package/dist/function-registry/topics.js.map +1 -1
  58. package/dist/function-registry/types.d.ts +1 -1
  59. package/dist/function-registry/worktrees.d.ts +80 -41
  60. package/dist/function-registry/worktrees.js +364 -17
  61. package/dist/function-registry/worktrees.js.map +1 -1
  62. package/dist/function-registry-input-audit.d.ts +13 -0
  63. package/dist/function-registry-input-audit.js +164 -0
  64. package/dist/function-registry-input-audit.js.map +1 -0
  65. package/dist/gateway.contract.d.ts +1 -0
  66. package/dist/gateway.contract.js.map +1 -1
  67. package/dist/generated/convexSchemas.js +2 -2
  68. package/dist/generated/convexSchemas.js.map +1 -1
  69. package/dist/graph-intelligence.contract.d.ts +506 -0
  70. package/dist/graph-intelligence.contract.js +595 -0
  71. package/dist/graph-intelligence.contract.js.map +1 -0
  72. package/dist/graph-types/index.d.ts +5 -1
  73. package/dist/graph-types/index.js +15 -4
  74. package/dist/graph-types/index.js.map +1 -1
  75. package/dist/{index-CV-0_VWJ.d.ts → index-O09U2xHk.d.ts} +5 -2
  76. package/dist/index.d.ts +21 -667
  77. package/dist/index.js +2139 -52
  78. package/dist/index.js.map +1 -1
  79. package/dist/infisical-runtime.contract.d.ts +174 -0
  80. package/dist/infisical-runtime.contract.js +312 -0
  81. package/dist/infisical-runtime.contract.js.map +1 -0
  82. package/dist/manifests/edge-policy-manifest.d.ts +2 -0
  83. package/dist/manifests/edge-policy-manifest.data.d.ts +27 -0
  84. package/dist/manifests/edge-policy-manifest.data.js +34 -0
  85. package/dist/manifests/edge-policy-manifest.data.js.map +1 -0
  86. package/dist/manifests/edge-policy-manifest.js +65 -0
  87. package/dist/manifests/edge-policy-manifest.js.map +1 -0
  88. package/dist/manifests/infisical-runtime-manifest.d.ts +151 -0
  89. package/dist/manifests/infisical-runtime-manifest.js +311 -0
  90. package/dist/manifests/infisical-runtime-manifest.js.map +1 -0
  91. package/dist/manifests/invariant-manifest.d.ts +65 -0
  92. package/dist/manifests/invariant-manifest.js +18 -0
  93. package/dist/manifests/invariant-manifest.js.map +1 -0
  94. package/dist/manifests/invariants/ast-utils.d.ts +14 -0
  95. package/dist/manifests/invariants/ast-utils.js +54 -0
  96. package/dist/manifests/invariants/ast-utils.js.map +1 -0
  97. package/dist/manifests/invariants/index.d.ts +15 -0
  98. package/dist/manifests/invariants/index.js +183 -0
  99. package/dist/manifests/invariants/index.js.map +1 -0
  100. package/dist/manifests/invariants/inv-1-beliefs-append-only.d.ts +12 -0
  101. package/dist/manifests/invariants/inv-1-beliefs-append-only.js +94 -0
  102. package/dist/manifests/invariants/inv-1-beliefs-append-only.js.map +1 -0
  103. package/dist/manifests/invariants/inv-14-no-silent-transitions.d.ts +12 -0
  104. package/dist/manifests/invariants/inv-14-no-silent-transitions.js +99 -0
  105. package/dist/manifests/invariants/inv-14-no-silent-transitions.js.map +1 -0
  106. package/dist/manifests/invariants/manifest-1-projections-declare-audit.d.ts +12 -0
  107. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js +42 -0
  108. package/dist/manifests/invariants/manifest-1-projections-declare-audit.js.map +1 -0
  109. package/dist/manifests/tenant-client-manifest.d.ts +303 -0
  110. package/dist/manifests/tenant-client-manifest.js +409 -0
  111. package/dist/manifests/tenant-client-manifest.js.map +1 -0
  112. package/dist/projections/check-convex-args-shape.d.ts +3 -0
  113. package/dist/projections/check-convex-args-shape.js +396 -0
  114. package/dist/projections/check-convex-args-shape.js.map +1 -0
  115. package/dist/projections/create-evidence.projection.d.ts +176 -0
  116. package/dist/projections/create-evidence.projection.js +128 -0
  117. package/dist/projections/create-evidence.projection.js.map +1 -0
  118. package/dist/projections/index.d.ts +102 -0
  119. package/dist/projections/index.js +345 -0
  120. package/dist/projections/index.js.map +1 -0
  121. package/dist/projections/list-beliefs.projection.d.ts +36 -0
  122. package/dist/projections/list-beliefs.projection.js +54 -0
  123. package/dist/projections/list-beliefs.projection.js.map +1 -0
  124. package/dist/projections/list-tasks.projection.d.ts +32 -0
  125. package/dist/projections/list-tasks.projection.js +52 -0
  126. package/dist/projections/list-tasks.projection.js.map +1 -0
  127. package/dist/projections/modulate-confidence.projection.d.ts +219 -0
  128. package/dist/projections/modulate-confidence.projection.js +148 -0
  129. package/dist/projections/modulate-confidence.projection.js.map +1 -0
  130. package/dist/projections/projection-dsl.d.ts +11 -0
  131. package/dist/projections/projection-dsl.js +8 -0
  132. package/dist/projections/projection-dsl.js.map +1 -0
  133. package/dist/schemas/enums.d.ts +5 -2
  134. package/dist/schemas/enums.js +5 -2
  135. package/dist/schemas/enums.js.map +1 -1
  136. package/dist/schemas/index.d.ts +1 -1
  137. package/dist/schemas/index.js +9 -4
  138. package/dist/schemas/index.js.map +1 -1
  139. package/dist/schemas/manifest.d.ts +940 -910
  140. package/dist/schemas/manifest.js +8 -3
  141. package/dist/schemas/manifest.js.map +1 -1
  142. package/dist/schemas/sl-opinion.d.ts +4 -4
  143. package/dist/schemas/tables/identity/platform.d.ts +10 -10
  144. package/dist/schemas/tables/kernel/epistemic.d.ts +6 -6
  145. package/dist/schemas/tables/kernel/infra.d.ts +4 -4
  146. package/dist/schemas/tables/kernel/intelligence.d.ts +10 -10
  147. package/dist/schemas/tables/kernel/lens.d.ts +4 -4
  148. package/dist/schemas/tables/kernel/platform.d.ts +12 -12
  149. package/dist/schemas/tables/kernel/spine.d.ts +3 -3
  150. package/dist/schemas/tables/kernel/spine.js +5 -2
  151. package/dist/schemas/tables/kernel/spine.js.map +1 -1
  152. package/dist/schemas/tables/kernel/task.d.ts +42 -42
  153. package/dist/schemas/tables/kernel/topic.js +4 -1
  154. package/dist/schemas/tables/kernel/topic.js.map +1 -1
  155. package/dist/schemas/tables/kernel/worktree.d.ts +62 -62
  156. package/dist/schemas/tables/mc/identity.d.ts +2 -2
  157. package/dist/schemas/tables/mc/pack.d.ts +20 -20
  158. package/dist/schemas/tables/mc/registry.d.ts +4 -4
  159. package/dist/schemas/tables/mc/workspace.d.ts +9 -3
  160. package/dist/schemas/tables/mc/workspace.js +3 -1
  161. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  162. package/dist/sdk-methods.contract.d.ts +1 -1
  163. package/dist/{sdk-tools.contract-S4ia0TTo.d.ts → sdk-tools.contract-Ng8ULxjr.d.ts} +1 -1
  164. package/dist/sdk-tools.contract.d.ts +2 -2
  165. package/dist/sdk-tools.contract.js +227 -4
  166. package/dist/sdk-tools.contract.js.map +1 -1
  167. package/dist/tenant-bootstrap-seed.contract.d.ts +1101 -0
  168. package/dist/tenant-bootstrap-seed.contract.js +653 -0
  169. package/dist/tenant-bootstrap-seed.contract.js.map +1 -0
  170. package/dist/tenant-bootstrap-seed.defaults.d.ts +16 -0
  171. package/dist/tenant-bootstrap-seed.defaults.js +303 -0
  172. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -0
  173. package/dist/tenant-client.contract.d.ts +69 -5
  174. package/dist/tenant-client.contract.js +65 -4
  175. package/dist/tenant-client.contract.js.map +1 -1
  176. package/dist/{tool-contracts-C92-9ueT.d.ts → tool-contracts-CYXVPN4K.d.ts} +8 -2
  177. package/dist/tool-contracts.d.ts +1 -1
  178. package/dist/tool-contracts.js +228 -5
  179. package/dist/tool-contracts.js.map +1 -1
  180. package/package.json +9 -1
@@ -23,8 +23,8 @@ type TenantClientForbiddenInstallTokenInfisicalPath = (typeof TENANT_CLIENT_FORB
23
23
  type TenantClientForbiddenSecretEnv = (typeof TENANT_CLIENT_FORBIDDEN_SECRET_ENV)[number];
24
24
  declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
25
25
  readonly packageName: "@lucern/access-control";
26
- readonly role: "sdk_dependency";
27
- readonly directTenantImport: false;
26
+ readonly role: "runtime_entrypoint";
27
+ readonly directTenantImport: true;
28
28
  }, {
29
29
  readonly packageName: "@lucern/agent";
30
30
  readonly role: "platform_runtime";
@@ -117,6 +117,60 @@ declare const TENANT_CLIENT_INSTALLABLE_PACKAGES: readonly [{
117
117
  type TenantClientInstallablePackage = (typeof TENANT_CLIENT_INSTALLABLE_PACKAGES)[number];
118
118
  type TenantClientPackageRole = TenantClientInstallablePackage["role"];
119
119
  type TenantClientInstallablePackageName = TenantClientInstallablePackage["packageName"];
120
+ /**
121
+ * Direct package installs are package.json entries owned by the tenant repo.
122
+ * Direct imports are source-code imports that tenant application code may use.
123
+ *
124
+ * These concepts intentionally differ: `@lucern/cli` is a direct install when a
125
+ * tenant repo needs the `lucern` binary, but it is not a direct application
126
+ * import. `@lucern/reasoning-kernel` and `@lucern/identity` are direct installs
127
+ * for Convex component binding, while tenant app code should only import their
128
+ * explicit component config subpaths.
129
+ */
130
+ type TenantClientInstallProfile = {
131
+ id: string;
132
+ description: string;
133
+ packageNames: readonly TenantClientInstallablePackageName[];
134
+ dependencyField: "dependencies" | "devDependencies" | "mixed";
135
+ };
136
+ declare const TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES: readonly TenantClientInstallablePackageName[];
137
+ declare const TENANT_CLIENT_INSTALL_PROFILES: readonly [{
138
+ readonly id: "core_app_runtime";
139
+ readonly description: "Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.";
140
+ readonly packageNames: readonly ["@lucern/sdk", "@lucern/access-control"];
141
+ readonly dependencyField: "dependencies";
142
+ }, {
143
+ readonly id: "react_app_runtime";
144
+ readonly description: "React tenant app install for hooks, provider, curated graph components, and direct SDK calls.";
145
+ readonly packageNames: readonly ["@lucern/react", "@lucern/sdk", "@lucern/access-control"];
146
+ readonly dependencyField: "dependencies";
147
+ }, {
148
+ readonly id: "convex_components";
149
+ readonly description: "Tenant Convex host install for binding the Lucern identity and reasoning-kernel components.";
150
+ readonly packageNames: readonly ["@lucern/identity", "@lucern/reasoning-kernel"];
151
+ readonly dependencyField: "dependencies";
152
+ }, {
153
+ readonly id: "operator_cli";
154
+ readonly description: "Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.";
155
+ readonly packageNames: readonly ["@lucern/cli"];
156
+ readonly dependencyField: "devDependencies";
157
+ }, {
158
+ readonly id: "mcp_runtime";
159
+ readonly description: "Agent runtime install for the standalone Lucern MCP server and hosted route helpers.";
160
+ readonly packageNames: readonly ["@lucern/mcp"];
161
+ readonly dependencyField: "dependencies";
162
+ }, {
163
+ readonly id: "contracts_and_types";
164
+ readonly description: "Compile-time contract/type install for codegen, audits, and tenant integration validation.";
165
+ readonly packageNames: readonly ["@lucern/contracts", "@lucern/types"];
166
+ readonly dependencyField: "dependencies";
167
+ }, {
168
+ readonly id: "full_suite";
169
+ 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")[];
171
+ readonly dependencyField: "mixed";
172
+ }];
173
+ type TenantClientInstallProfileId = (typeof TENANT_CLIENT_INSTALL_PROFILES)[number]["id"];
120
174
  /**
121
175
  * Direct imports tenant-owned product code may use. This is intentionally
122
176
  * smaller than TENANT_CLIENT_INSTALLABLE_PACKAGES: several publishable packages
@@ -143,6 +197,11 @@ declare const TENANT_CLIENT_PUBLIC_IMPORTS: readonly [{
143
197
  readonly surface: "contract";
144
198
  readonly subpaths: "published_exports";
145
199
  readonly description: "Published type and manifest contracts.";
200
+ }, {
201
+ readonly packageName: "@lucern/access-control";
202
+ readonly surface: "runtime";
203
+ readonly subpaths: "published_exports";
204
+ readonly description: "Tenant runtime access-control helpers, including effective tool access.";
146
205
  }, {
147
206
  readonly packageName: "@lucern/types";
148
207
  readonly surface: "contract";
@@ -172,7 +231,7 @@ type TenantClientComponentConfigImport = (typeof TENANT_CLIENT_COMPONENT_CONFIG_
172
231
  type TenantClientAllowedImport = TenantClientPublicImport | TenantClientComponentConfigImport;
173
232
  declare function findTenantClientInstallablePackage(packageName: string): TenantClientInstallablePackage | undefined;
174
233
  declare function isTenantClientInstallablePackage(packageName: string): boolean;
175
- declare const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES: readonly ["bootstrap", "context", "beliefs", "evidence", "questions", "graph", "worktrees", "topics", "edges", "contradictions", "contracts", "graphAnalysis", "graphRecommendations", "orgGraphSearch", "embeddings", "ontologyLinks", "graphStateClassifier", "tools", "identity", "modelRuntime", "events", "jobs", "telemetry"];
234
+ declare const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES: readonly ["bootstrap", "context", "beliefs", "evidence", "questions", "graph", "worktrees", "topics", "edges", "contradictions", "contracts", "graphIntel", "graphIntelligence", "graphAnalysis", "graphRecommendations", "orgGraphSearch", "embeddings", "ontologyLinks", "graphStateClassifier", "tools", "identity", "modelRuntime", "events", "jobs", "telemetry"];
176
235
  type TenantClientRequiredSdkNamespace = (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];
177
236
  declare const TENANT_CLIENT_CAPABILITIES: readonly [{
178
237
  readonly id: "identity.bootstrap_session";
@@ -186,7 +245,7 @@ declare const TENANT_CLIENT_CAPABILITIES: readonly [{
186
245
  readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
187
246
  }, {
188
247
  readonly id: "reasoning.graph.read";
189
- readonly description: "Read beliefs, evidence, questions, topics, and lineage.";
248
+ readonly description: "Read beliefs, evidence, questions, topics, graph edges, and lineage.";
190
249
  readonly surfaces: readonly ["@lucern/sdk", "@lucern/react", "@lucern/mcp"];
191
250
  readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
192
251
  }, {
@@ -194,6 +253,11 @@ declare const TENANT_CLIENT_CAPABILITIES: readonly [{
194
253
  readonly description: "Create and update graph objects through authorized APIs.";
195
254
  readonly surfaces: readonly ["@lucern/sdk", "@lucern/mcp"];
196
255
  readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
256
+ }, {
257
+ readonly id: "reasoning.graph_intelligence.run";
258
+ readonly description: "Discover and run Graph Intelligence query recipes for structural graph analysis.";
259
+ readonly surfaces: readonly ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"];
260
+ readonly requiredContextFields: readonly ["tenantId", "workspaceId", "principalId", "authMode", "scopes"];
197
261
  }, {
198
262
  readonly id: "workflow.worktree_lifecycle";
199
263
  readonly description: "Create, review, merge, and close scoped worktrees.";
@@ -263,4 +327,4 @@ declare function isTenantClientAllowedImport(importPath: string): boolean;
263
327
  declare function assertTenantClientImportAllowed(importPath: string): void;
264
328
  declare function formatTenantClientImportViolation(classification: TenantClientImportClassification): string;
265
329
 
266
- export { TENANT_CLIENT_AUTH_MODES, TENANT_CLIENT_CAPABILITIES, TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS, TENANT_CLIENT_CONTRACT_VERSION, TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS, TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS, TENANT_CLIENT_FORBIDDEN_SECRET_ENV, TENANT_CLIENT_INSTALLABLE_PACKAGES, TENANT_CLIENT_INSTALL_TOKEN_ENV, TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH, TENANT_CLIENT_ISOLATION_RULES, TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS, TENANT_CLIENT_PRINCIPAL_TYPES, TENANT_CLIENT_PUBLIC_IMPORTS, TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS, TENANT_CLIENT_REQUIRED_SDK_NAMESPACES, type TenantClientAllowedImport, type TenantClientAuthMode, type TenantClientCapability, type TenantClientCapabilityId, type TenantClientComponentConfigImport, type TenantClientForbiddenImportPattern, type TenantClientForbiddenImportPatternId, type TenantClientForbiddenInstallTokenInfisicalPath, type TenantClientForbiddenSecretEnv, type TenantClientImportClassification, type TenantClientImportDecision, type TenantClientInstallablePackage, type TenantClientInstallablePackageName, type TenantClientIsolationRule, type TenantClientOptionalContextField, type TenantClientPackageRole, type TenantClientPrincipalType, type TenantClientPublicImport, type TenantClientPublicPackage, type TenantClientPublicSurface, type TenantClientRequiredContextField, type TenantClientRequiredSdkNamespace, assertTenantClientImportAllowed, classifyTenantClientImport, findTenantClientInstallablePackage, formatTenantClientImportViolation, isTenantClientAllowedImport, isTenantClientComponentConfigImport, isTenantClientInstallablePackage, isTenantClientPublicImport };
330
+ export { TENANT_CLIENT_AUTH_MODES, TENANT_CLIENT_CAPABILITIES, TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS, TENANT_CLIENT_CONTRACT_VERSION, TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS, TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS, TENANT_CLIENT_FORBIDDEN_SECRET_ENV, TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES, TENANT_CLIENT_INSTALLABLE_PACKAGES, TENANT_CLIENT_INSTALL_PROFILES, TENANT_CLIENT_INSTALL_TOKEN_ENV, TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH, TENANT_CLIENT_ISOLATION_RULES, TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS, TENANT_CLIENT_PRINCIPAL_TYPES, TENANT_CLIENT_PUBLIC_IMPORTS, TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS, TENANT_CLIENT_REQUIRED_SDK_NAMESPACES, type TenantClientAllowedImport, type TenantClientAuthMode, type TenantClientCapability, type TenantClientCapabilityId, type TenantClientComponentConfigImport, type TenantClientForbiddenImportPattern, type TenantClientForbiddenImportPatternId, type TenantClientForbiddenInstallTokenInfisicalPath, type TenantClientForbiddenSecretEnv, type TenantClientImportClassification, type TenantClientImportDecision, type TenantClientInstallProfile, type TenantClientInstallProfileId, type TenantClientInstallablePackage, type TenantClientInstallablePackageName, type TenantClientIsolationRule, type TenantClientOptionalContextField, type TenantClientPackageRole, type TenantClientPrincipalType, type TenantClientPublicImport, type TenantClientPublicPackage, type TenantClientPublicSurface, type TenantClientRequiredContextField, type TenantClientRequiredSdkNamespace, assertTenantClientImportAllowed, classifyTenantClientImport, findTenantClientInstallablePackage, formatTenantClientImportViolation, isTenantClientAllowedImport, isTenantClientComponentConfigImport, isTenantClientInstallablePackage, isTenantClientPublicImport };
@@ -33,8 +33,8 @@ var TENANT_CLIENT_FORBIDDEN_SECRET_ENV = ["NPM_TOKEN"];
33
33
  var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
34
34
  {
35
35
  packageName: "@lucern/access-control",
36
- role: "sdk_dependency",
37
- directTenantImport: false
36
+ role: "runtime_entrypoint",
37
+ directTenantImport: true
38
38
  },
39
39
  {
40
40
  packageName: "@lucern/agent",
@@ -147,6 +147,53 @@ var TENANT_CLIENT_INSTALLABLE_PACKAGES = [
147
147
  directTenantImport: true
148
148
  }
149
149
  ];
150
+ var TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES = TENANT_CLIENT_INSTALLABLE_PACKAGES.map(
151
+ (entry) => entry.packageName
152
+ );
153
+ var TENANT_CLIENT_INSTALL_PROFILES = [
154
+ {
155
+ id: "core_app_runtime",
156
+ description: "Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.",
157
+ packageNames: ["@lucern/sdk", "@lucern/access-control"],
158
+ dependencyField: "dependencies"
159
+ },
160
+ {
161
+ id: "react_app_runtime",
162
+ description: "React tenant app install for hooks, provider, curated graph components, and direct SDK calls.",
163
+ packageNames: ["@lucern/react", "@lucern/sdk", "@lucern/access-control"],
164
+ dependencyField: "dependencies"
165
+ },
166
+ {
167
+ id: "convex_components",
168
+ description: "Tenant Convex host install for binding the Lucern identity and reasoning-kernel components.",
169
+ packageNames: ["@lucern/identity", "@lucern/reasoning-kernel"],
170
+ dependencyField: "dependencies"
171
+ },
172
+ {
173
+ id: "operator_cli",
174
+ description: "Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.",
175
+ packageNames: ["@lucern/cli"],
176
+ dependencyField: "devDependencies"
177
+ },
178
+ {
179
+ id: "mcp_runtime",
180
+ description: "Agent runtime install for the standalone Lucern MCP server and hosted route helpers.",
181
+ packageNames: ["@lucern/mcp"],
182
+ dependencyField: "dependencies"
183
+ },
184
+ {
185
+ id: "contracts_and_types",
186
+ description: "Compile-time contract/type install for codegen, audits, and tenant integration validation.",
187
+ packageNames: ["@lucern/contracts", "@lucern/types"],
188
+ dependencyField: "dependencies"
189
+ },
190
+ {
191
+ id: "full_suite",
192
+ description: "Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.",
193
+ packageNames: TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES,
194
+ dependencyField: "mixed"
195
+ }
196
+ ];
150
197
  var TENANT_CLIENT_PUBLIC_IMPORTS = [
151
198
  {
152
199
  packageName: "@lucern/sdk",
@@ -172,6 +219,12 @@ var TENANT_CLIENT_PUBLIC_IMPORTS = [
172
219
  subpaths: "published_exports",
173
220
  description: "Published type and manifest contracts."
174
221
  },
222
+ {
223
+ packageName: "@lucern/access-control",
224
+ surface: "runtime",
225
+ subpaths: "published_exports",
226
+ description: "Tenant runtime access-control helpers, including effective tool access."
227
+ },
175
228
  {
176
229
  packageName: "@lucern/types",
177
230
  surface: "contract",
@@ -219,6 +272,8 @@ var TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [
219
272
  "edges",
220
273
  "contradictions",
221
274
  "contracts",
275
+ "graphIntel",
276
+ "graphIntelligence",
222
277
  "graphAnalysis",
223
278
  "graphRecommendations",
224
279
  "orgGraphSearch",
@@ -247,7 +302,7 @@ var TENANT_CLIENT_CAPABILITIES = [
247
302
  },
248
303
  {
249
304
  id: "reasoning.graph.read",
250
- description: "Read beliefs, evidence, questions, topics, and lineage.",
305
+ description: "Read beliefs, evidence, questions, topics, graph edges, and lineage.",
251
306
  surfaces: ["@lucern/sdk", "@lucern/react", "@lucern/mcp"],
252
307
  requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS
253
308
  },
@@ -257,6 +312,12 @@ var TENANT_CLIENT_CAPABILITIES = [
257
312
  surfaces: ["@lucern/sdk", "@lucern/mcp"],
258
313
  requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS
259
314
  },
315
+ {
316
+ id: "reasoning.graph_intelligence.run",
317
+ description: "Discover and run Graph Intelligence query recipes for structural graph analysis.",
318
+ surfaces: ["@lucern/sdk", "@lucern/cli", "@lucern/mcp"],
319
+ requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS
320
+ },
260
321
  {
261
322
  id: "workflow.worktree_lifecycle",
262
323
  description: "Create, review, merge, and close scoped worktrees.",
@@ -399,6 +460,6 @@ function formatTenantClientImportViolation(classification) {
399
460
  return `Tenant client import is not allowed${patternId}: ${classification.importPath}. ${classification.reason}`;
400
461
  }
401
462
 
402
- export { TENANT_CLIENT_AUTH_MODES, TENANT_CLIENT_CAPABILITIES, TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS, TENANT_CLIENT_CONTRACT_VERSION, TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS, TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS, TENANT_CLIENT_FORBIDDEN_SECRET_ENV, TENANT_CLIENT_INSTALLABLE_PACKAGES, TENANT_CLIENT_INSTALL_TOKEN_ENV, TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH, TENANT_CLIENT_ISOLATION_RULES, TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS, TENANT_CLIENT_PRINCIPAL_TYPES, TENANT_CLIENT_PUBLIC_IMPORTS, TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS, TENANT_CLIENT_REQUIRED_SDK_NAMESPACES, assertTenantClientImportAllowed, classifyTenantClientImport, findTenantClientInstallablePackage, formatTenantClientImportViolation, isTenantClientAllowedImport, isTenantClientComponentConfigImport, isTenantClientInstallablePackage, isTenantClientPublicImport };
463
+ export { TENANT_CLIENT_AUTH_MODES, TENANT_CLIENT_CAPABILITIES, TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS, TENANT_CLIENT_CONTRACT_VERSION, TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS, TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS, TENANT_CLIENT_FORBIDDEN_SECRET_ENV, TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES, TENANT_CLIENT_INSTALLABLE_PACKAGES, TENANT_CLIENT_INSTALL_PROFILES, TENANT_CLIENT_INSTALL_TOKEN_ENV, TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH, TENANT_CLIENT_ISOLATION_RULES, TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS, TENANT_CLIENT_PRINCIPAL_TYPES, TENANT_CLIENT_PUBLIC_IMPORTS, TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS, TENANT_CLIENT_REQUIRED_SDK_NAMESPACES, assertTenantClientImportAllowed, classifyTenantClientImport, findTenantClientInstallablePackage, formatTenantClientImportViolation, isTenantClientAllowedImport, isTenantClientComponentConfigImport, isTenantClientInstallablePackage, isTenantClientPublicImport };
403
464
  //# sourceMappingURL=tenant-client.contract.js.map
404
465
  //# sourceMappingURL=tenant-client.contract.js.map
@@ -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: \"sdk_dependency\",\n directTenantImport: false,\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 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/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 \"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, 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: \"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/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"]}
@@ -76,6 +76,8 @@ declare const OPEN_PULL_REQUEST: McpToolContract;
76
76
  declare const BISECT_CONFIDENCE: McpToolContract;
77
77
  declare const DETECT_CONFIRMATION_BIAS: McpToolContract;
78
78
  declare const GET_GRAPH_STRUCTURE_ANALYSIS: McpToolContract;
79
+ declare const LIST_GRAPH_INTELLIGENCE_QUERIES: McpToolContract;
80
+ declare const RUN_GRAPH_INTELLIGENCE_QUERY: McpToolContract;
79
81
  declare const GET_FALSIFICATION_QUESTIONS: McpToolContract;
80
82
  declare const SEARCH_EVIDENCE: McpToolContract;
81
83
  declare const CREATE_EVIDENCE: McpToolContract;
@@ -155,6 +157,7 @@ declare const BROADCAST_MESSAGE: McpToolContract;
155
157
  declare const GET_AGENT_INBOX: McpToolContract;
156
158
  declare const CLAIM_FILES: McpToolContract;
157
159
  declare const GENERATE_SESSION_HANDOFF: McpToolContract;
160
+ declare const BEGIN_BUILD_SESSION: McpToolContract;
158
161
  /** All MCP tool contracts, indexed by name */
159
162
  declare const MCP_TOOL_CONTRACTS: Record<string, McpToolContract>;
160
163
  /** Tool names that MUST include git-semantic language in descriptions */
@@ -179,6 +182,7 @@ declare const toolContracts_APPLY_ONTOLOGY: typeof APPLY_ONTOLOGY;
179
182
  declare const toolContracts_ARCHIVE_BELIEF: typeof ARCHIVE_BELIEF;
180
183
  declare const toolContracts_ARCHIVE_ONTOLOGY: typeof ARCHIVE_ONTOLOGY;
181
184
  declare const toolContracts_ARCHIVE_QUESTION: typeof ARCHIVE_QUESTION;
185
+ declare const toolContracts_BEGIN_BUILD_SESSION: typeof BEGIN_BUILD_SESSION;
182
186
  declare const toolContracts_BISECT_CONFIDENCE: typeof BISECT_CONFIDENCE;
183
187
  declare const toolContracts_BROADCAST_MESSAGE: typeof BROADCAST_MESSAGE;
184
188
  declare const toolContracts_CHECK_PERMISSION: typeof CHECK_PERMISSION;
@@ -242,6 +246,7 @@ declare const toolContracts_LIST_ALL_WORKTREES: typeof LIST_ALL_WORKTREES;
242
246
  declare const toolContracts_LIST_BELIEFS: typeof LIST_BELIEFS;
243
247
  declare const toolContracts_LIST_CAMPAIGNS: typeof LIST_CAMPAIGNS;
244
248
  declare const toolContracts_LIST_EVIDENCE: typeof LIST_EVIDENCE;
249
+ declare const toolContracts_LIST_GRAPH_INTELLIGENCE_QUERIES: typeof LIST_GRAPH_INTELLIGENCE_QUERIES;
245
250
  declare const toolContracts_LIST_LENSES: typeof LIST_LENSES;
246
251
  declare const toolContracts_LIST_ONTOLOGIES: typeof LIST_ONTOLOGIES;
247
252
  declare const toolContracts_LIST_QUESTIONS: typeof LIST_QUESTIONS;
@@ -269,6 +274,7 @@ declare const toolContracts_REFINE_QUESTION: typeof REFINE_QUESTION;
269
274
  declare const toolContracts_REGISTER_SESSION: typeof REGISTER_SESSION;
270
275
  declare const toolContracts_REMOVE_LENS_FROM_TOPIC: typeof REMOVE_LENS_FROM_TOPIC;
271
276
  declare const toolContracts_RESOLVE_EFFECTIVE_ONTOLOGY: typeof RESOLVE_EFFECTIVE_ONTOLOGY;
277
+ declare const toolContracts_RUN_GRAPH_INTELLIGENCE_QUERY: typeof RUN_GRAPH_INTELLIGENCE_QUERY;
272
278
  declare const toolContracts_SEARCH_BELIEFS: typeof SEARCH_BELIEFS;
273
279
  declare const toolContracts_SEARCH_EVIDENCE: typeof SEARCH_EVIDENCE;
274
280
  declare const toolContracts_SEED_BELIEF_LATTICE: typeof SEED_BELIEF_LATTICE;
@@ -284,7 +290,7 @@ declare const toolContracts_UPDATE_WORKTREE_METADATA: typeof UPDATE_WORKTREE_MET
284
290
  declare const toolContracts_UPDATE_WORKTREE_TARGETS: typeof UPDATE_WORKTREE_TARGETS;
285
291
  declare const toolContracts_validateGitSemantics: typeof validateGitSemantics;
286
292
  declare namespace toolContracts {
287
- 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_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_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_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 };
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 };
288
294
  }
289
295
 
290
- export { LIST_BELIEFS as $, ARCHIVE_BELIEF as A, BISECT_CONFIDENCE as B, CREATE_BELIEF as C, DETECT_CONFIRMATION_BIAS as D, LINK_EVIDENCE_TO_BELIEF as E, FORK_BELIEF as F, GET_BELIEF as G, CREATE_QUESTION as H, GET_QUESTION as I, REFINE_QUESTION as J, LIST_QUESTIONS as K, LIST_LENSES as L, type McpToolContract as M, ANSWER_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, UPDATE_QUESTION_STATUS as U, ARCHIVE_QUESTION as V, LINK_EVIDENCE_TO_QUESTION as W, CREATE_ANSWER as X, GET_ANSWER as Y, GET_HIGH_PRIORITY_QUESTIONS as Z, FIND_MISSING_QUESTIONS as _, type McpParameterDef as a, LIST_WORKTREES as a0, LIST_ALL_WORKTREES as a1, LIST_CAMPAIGNS as a2, ACTIVATE_WORKTREE as a3, UPDATE_WORKTREE_TARGETS as a4, UPDATE_WORKTREE_METADATA as a5, IDENTITY_WHOAMI as a6, COMPILE_CONTEXT as a7, CHECK_PERMISSION as a8, FILTER_BY_PERMISSION as a9, PUBLISH_ONTOLOGY_VERSION as aA, DEPRECATE_ONTOLOGY_VERSION as aB, RESOLVE_EFFECTIVE_ONTOLOGY as aC, RECORD_SCOPE_LEARNING as aD, PIPELINE_SNAPSHOT as aE, DISCOVER as aF, ANALYZE_TOPIC_DENSITY as aG, APPLY_AUTO_BRANCHING as aH, SEED_BELIEF_LATTICE as aI, GET_LATTICE_COVERAGE as aJ, DISCOVER_ENTITY_CONNECTIONS as aK, TRIGGER_BELIEF_REVIEW as aL, EVALUATE_CONTRACT as aM, GET_CONTRACT_STATUS as aN, REGISTER_SESSION as aO, HEARTBEAT_SESSION as aP, END_SESSION as aQ, LIST_ACTIVE_SESSIONS as aR, SEND_AGENT_MESSAGE as aS, BROADCAST_MESSAGE as aT, GET_AGENT_INBOX as aU, CLAIM_FILES as aV, GENERATE_SESSION_HANDOFF as aW, MCP_TOOL_CONTRACTS as aX, GIT_SEMANTIC_REQUIRED_TOOLS as aY, validateGitSemantics as aZ, INGEST_OBSERVATION as aa, GET_OBSERVATION_CONTEXT as ab, CREATE_TASK as ac, COMPLETE_TASK as ad, UPDATE_TASK as ae, LIST_TASKS as af, CREATE_TOPIC as ag, LIST_TOPICS as ah, GET_TOPIC as ai, UPDATE_TOPIC as aj, GET_TOPIC_TREE as ak, GET_CODE_CONTEXT as al, GET_CHANGE_HISTORY as am, RECORD_ATTEMPT as an, GET_FAILURE_LOG as ao, GET_TOPIC_COVERAGE as ap, GET_GRAPH_GAPS as aq, MANAGE_WRITE_POLICY as ar, LIST_ONTOLOGIES as as, GET_ONTOLOGY as at, APPLY_ONTOLOGY as au, MATCH_ENTITY_TYPE as av, CREATE_ONTOLOGY as aw, UPDATE_ONTOLOGY as ax, ARCHIVE_ONTOLOGY as ay, CREATE_ONTOLOGY_VERSION as az, type McpResponseDef as b, 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, GET_FALSIFICATION_QUESTIONS as u, SEARCH_EVIDENCE as v, CREATE_EVIDENCE as w, GET_EVIDENCE as x, LIST_EVIDENCE as y, LINK_EVIDENCE as z };
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 };
@@ -1 +1 @@
1
- export { a3 as ACTIVATE_WORKTREE, e as ADD_EVIDENCE, g as ADD_WORKTREE, aG as ANALYZE_TOPIC_DENSITY, N as ANSWER_QUESTION, aH as APPLY_AUTO_BRANCHING, q as APPLY_LENS_TO_TOPIC, au as APPLY_ONTOLOGY, A as ARCHIVE_BELIEF, ay as ARCHIVE_ONTOLOGY, V as ARCHIVE_QUESTION, B as BISECT_CONFIDENCE, aT as BROADCAST_MESSAGE, a8 as CHECK_PERMISSION, aV as CLAIM_FILES, a7 as COMPILE_CONTEXT, ad as COMPLETE_TASK, X as CREATE_ANSWER, C as CREATE_BELIEF, n as CREATE_EDGE, d as CREATE_EPISTEMIC_CONTRACT, w as CREATE_EVIDENCE, p as CREATE_LENS, aw as CREATE_ONTOLOGY, az as CREATE_ONTOLOGY_VERSION, H as CREATE_QUESTION, ac as CREATE_TASK, ag as CREATE_TOPIC, aB as DEPRECATE_ONTOLOGY_VERSION, D as DETECT_CONFIRMATION_BIAS, aF as DISCOVER, aK as DISCOVER_ENTITY_CONNECTIONS, aQ as END_SESSION, aM as EVALUATE_CONTRACT, a9 as FILTER_BY_PERMISSION, m as FIND_CONTRADICTIONS, _ as FIND_MISSING_QUESTIONS, f as FLAG_CONTRADICTION, F as FORK_BELIEF, aW as GENERATE_SESSION_HANDOFF, aU as GET_AGENT_INBOX, Y as GET_ANSWER, j as GET_AUDIT_TRAIL, G as GET_BELIEF, am as GET_CHANGE_HISTORY, al as GET_CODE_CONTEXT, i as GET_CONFIDENCE_HISTORY, aN as GET_CONTRACT_STATUS, x as GET_EVIDENCE, ao as GET_FAILURE_LOG, u as GET_FALSIFICATION_QUESTIONS, aq as GET_GRAPH_GAPS, k as GET_GRAPH_NEIGHBORHOOD, s as GET_GRAPH_STRUCTURE_ANALYSIS, Z as GET_HIGH_PRIORITY_QUESTIONS, aJ as GET_LATTICE_COVERAGE, ab as GET_OBSERVATION_CONTEXT, at as GET_ONTOLOGY, I as GET_QUESTION, ai as GET_TOPIC, ap as GET_TOPIC_COVERAGE, ak as GET_TOPIC_TREE, aY as GIT_SEMANTIC_REQUIRED_TOOLS, aP as HEARTBEAT_SESSION, a6 as IDENTITY_WHOAMI, aa as INGEST_OBSERVATION, z as LINK_EVIDENCE, E as LINK_EVIDENCE_TO_BELIEF, W as LINK_EVIDENCE_TO_QUESTION, aR as LIST_ACTIVE_SESSIONS, a1 as LIST_ALL_WORKTREES, $ as LIST_BELIEFS, a2 as LIST_CAMPAIGNS, y as LIST_EVIDENCE, L as LIST_LENSES, as as LIST_ONTOLOGIES, K as LIST_QUESTIONS, af as LIST_TASKS, ah as LIST_TOPICS, a0 as LIST_WORKTREES, ar as MANAGE_WRITE_POLICY, av as MATCH_ENTITY_TYPE, aX 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, aE as PIPELINE_SNAPSHOT, aA as PUBLISH_ONTOLOGY_VERSION, P as PUSH, Q as QUERY_LINEAGE, an as RECORD_ATTEMPT, o as RECORD_JUDGMENT, aD as RECORD_SCOPE_LEARNING, R as REFINE_BELIEF, J as REFINE_QUESTION, aO as REGISTER_SESSION, r as REMOVE_LENS_FROM_TOPIC, aC as RESOLVE_EFFECTIVE_ONTOLOGY, S as SEARCH_BELIEFS, v as SEARCH_EVIDENCE, aI as SEED_BELIEF_LATTICE, aS as SEND_AGENT_MESSAGE, l as TRACE_ENTITY_IMPACT, T as TRAVERSE_GRAPH, aL as TRIGGER_BELIEF_REVIEW, ax as UPDATE_ONTOLOGY, U as UPDATE_QUESTION_STATUS, ae as UPDATE_TASK, aj as UPDATE_TOPIC, a5 as UPDATE_WORKTREE_METADATA, a4 as UPDATE_WORKTREE_TARGETS, aZ as validateGitSemantics } from './tool-contracts-C92-9ueT.js';
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';