@lssm/lib.contracts 0.0.0-canary-20251217080011 → 0.0.0-canary-20251219202229

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 (835) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app-config/app-config.feature.d.ts +2 -1
  3. package/dist/app-config/app-config.feature.d.ts.map +1 -0
  4. package/dist/app-config/app-config.feature.js +2 -1
  5. package/dist/app-config/app-config.feature.js.map +1 -0
  6. package/dist/app-config/branding.d.ts +2 -1
  7. package/dist/app-config/branding.d.ts.map +1 -0
  8. package/dist/app-config/contracts.d.ts +52 -51
  9. package/dist/app-config/contracts.d.ts.map +1 -0
  10. package/dist/app-config/contracts.js +56 -57
  11. package/dist/app-config/contracts.js.map +1 -0
  12. package/dist/app-config/docs/app-config.docblock.d.ts +2 -1
  13. package/dist/app-config/docs/app-config.docblock.d.ts.map +1 -0
  14. package/dist/app-config/docs/app-config.docblock.js +2 -1
  15. package/dist/app-config/docs/app-config.docblock.js.map +1 -0
  16. package/dist/app-config/events.d.ts +29 -28
  17. package/dist/app-config/events.d.ts.map +1 -0
  18. package/dist/app-config/events.js +33 -34
  19. package/dist/app-config/events.js.map +1 -0
  20. package/dist/app-config/lifecycle-contracts.d.ts +82 -81
  21. package/dist/app-config/lifecycle-contracts.d.ts.map +1 -0
  22. package/dist/app-config/lifecycle-contracts.js +68 -69
  23. package/dist/app-config/lifecycle-contracts.js.map +1 -0
  24. package/dist/app-config/lifecycle.d.ts +2 -1
  25. package/dist/app-config/lifecycle.d.ts.map +1 -0
  26. package/dist/app-config/runtime.d.ts +2 -1
  27. package/dist/app-config/runtime.d.ts.map +1 -0
  28. package/dist/app-config/runtime.js +2 -1
  29. package/dist/app-config/runtime.js.map +1 -0
  30. package/dist/app-config/spec.d.ts +2 -1
  31. package/dist/app-config/spec.d.ts.map +1 -0
  32. package/dist/app-config/spec.js +2 -1
  33. package/dist/app-config/spec.js.map +1 -0
  34. package/dist/app-config/validation.d.ts +2 -1
  35. package/dist/app-config/validation.d.ts.map +1 -0
  36. package/dist/app-config/validation.js +2 -1
  37. package/dist/app-config/validation.js.map +1 -0
  38. package/dist/capabilities/docs/capabilities.docblock.d.ts +2 -1
  39. package/dist/capabilities/docs/capabilities.docblock.d.ts.map +1 -0
  40. package/dist/capabilities/docs/capabilities.docblock.js +2 -1
  41. package/dist/capabilities/docs/capabilities.docblock.js.map +1 -0
  42. package/dist/capabilities/openbanking.d.ts +2 -1
  43. package/dist/capabilities/openbanking.d.ts.map +1 -0
  44. package/dist/capabilities/openbanking.js +2 -1
  45. package/dist/capabilities/openbanking.js.map +1 -0
  46. package/dist/capabilities.d.ts +2 -1
  47. package/dist/capabilities.d.ts.map +1 -0
  48. package/dist/capabilities.js +2 -1
  49. package/dist/capabilities.js.map +1 -0
  50. package/dist/client/react/drivers/rn-reusables.d.ts +2 -1
  51. package/dist/client/react/drivers/rn-reusables.d.ts.map +1 -0
  52. package/dist/client/react/drivers/rn-reusables.js +2 -1
  53. package/dist/client/react/drivers/rn-reusables.js.map +1 -0
  54. package/dist/client/react/drivers/shadcn.d.ts +2 -1
  55. package/dist/client/react/drivers/shadcn.d.ts.map +1 -0
  56. package/dist/client/react/drivers/shadcn.js +2 -1
  57. package/dist/client/react/drivers/shadcn.js.map +1 -0
  58. package/dist/client/react/feature-render.d.ts +2 -1
  59. package/dist/client/react/feature-render.d.ts.map +1 -0
  60. package/dist/client/react/feature-render.js +2 -1
  61. package/dist/client/react/feature-render.js.map +1 -0
  62. package/dist/client/react/form-render.d.ts +8 -7
  63. package/dist/client/react/form-render.d.ts.map +1 -0
  64. package/dist/client/react/form-render.js +17 -16
  65. package/dist/client/react/form-render.js.map +1 -0
  66. package/dist/contract-registry/schemas.d.ts +2 -1
  67. package/dist/contract-registry/schemas.d.ts.map +1 -0
  68. package/dist/contract-registry/schemas.js +2 -1
  69. package/dist/contract-registry/schemas.js.map +1 -0
  70. package/dist/contract-registry/types.d.ts +2 -1
  71. package/dist/contract-registry/types.d.ts.map +1 -0
  72. package/dist/contracts-adapter-hydration.d.ts +2 -1
  73. package/dist/contracts-adapter-hydration.d.ts.map +1 -0
  74. package/dist/contracts-adapter-hydration.js +2 -1
  75. package/dist/contracts-adapter-hydration.js.map +1 -0
  76. package/dist/contracts-adapter-input.d.ts +2 -1
  77. package/dist/contracts-adapter-input.d.ts.map +1 -0
  78. package/dist/contracts-adapter-input.js +2 -1
  79. package/dist/contracts-adapter-input.js.map +1 -0
  80. package/dist/data-views/docs/data-views.docblock.d.ts +2 -1
  81. package/dist/data-views/docs/data-views.docblock.d.ts.map +1 -0
  82. package/dist/data-views/docs/data-views.docblock.js +2 -1
  83. package/dist/data-views/docs/data-views.docblock.js.map +1 -0
  84. package/dist/data-views/query-generator.d.ts +2 -1
  85. package/dist/data-views/query-generator.d.ts.map +1 -0
  86. package/dist/data-views/query-generator.js +2 -1
  87. package/dist/data-views/query-generator.js.map +1 -0
  88. package/dist/data-views/runtime.d.ts +2 -1
  89. package/dist/data-views/runtime.d.ts.map +1 -0
  90. package/dist/data-views/runtime.js +2 -1
  91. package/dist/data-views/runtime.js.map +1 -0
  92. package/dist/data-views.d.ts +2 -1
  93. package/dist/data-views.d.ts.map +1 -0
  94. package/dist/data-views.js +2 -1
  95. package/dist/data-views.js.map +1 -0
  96. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +2 -1
  97. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts.map +1 -0
  98. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
  99. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
  100. package/dist/docs/index.js +0 -6
  101. package/dist/docs/meta.docs.d.ts +2 -1
  102. package/dist/docs/meta.docs.d.ts.map +1 -0
  103. package/dist/docs/meta.docs.js +5 -1
  104. package/dist/docs/meta.docs.js.map +1 -0
  105. package/dist/docs/presentations.d.ts +2 -1
  106. package/dist/docs/presentations.d.ts.map +1 -0
  107. package/dist/docs/presentations.js +2 -1
  108. package/dist/docs/presentations.js.map +1 -0
  109. package/dist/docs/registry.d.ts +2 -1
  110. package/dist/docs/registry.d.ts.map +1 -0
  111. package/dist/docs/registry.js +2 -1
  112. package/dist/docs/registry.js.map +1 -0
  113. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +2 -1
  114. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts.map +1 -0
  115. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
  116. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
  117. package/dist/docs/tech/contracts/README.docblock.d.ts +2 -1
  118. package/dist/docs/tech/contracts/README.docblock.d.ts.map +1 -0
  119. package/dist/docs/tech/contracts/README.docblock.js +2 -1
  120. package/dist/docs/tech/contracts/README.docblock.js.map +1 -0
  121. package/dist/docs/tech/contracts/create-subscription.docblock.d.ts +2 -1
  122. package/dist/docs/tech/contracts/create-subscription.docblock.d.ts.map +1 -0
  123. package/dist/docs/tech/contracts/create-subscription.docblock.js +2 -1
  124. package/dist/docs/tech/contracts/create-subscription.docblock.js.map +1 -0
  125. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts +2 -1
  126. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts.map +1 -0
  127. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +2 -1
  128. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js.map +1 -0
  129. package/dist/docs/tech/contracts/migrations.docblock.d.ts +2 -1
  130. package/dist/docs/tech/contracts/migrations.docblock.d.ts.map +1 -0
  131. package/dist/docs/tech/contracts/migrations.docblock.js +2 -1
  132. package/dist/docs/tech/contracts/migrations.docblock.js.map +1 -0
  133. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +2 -1
  134. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts.map +1 -0
  135. package/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
  136. package/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
  137. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +2 -1
  138. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts.map +1 -0
  139. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +2 -1
  140. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js.map +1 -0
  141. package/dist/docs/tech/contracts/overlays.docblock.d.ts +2 -1
  142. package/dist/docs/tech/contracts/overlays.docblock.d.ts.map +1 -0
  143. package/dist/docs/tech/contracts/overlays.docblock.js +2 -1
  144. package/dist/docs/tech/contracts/overlays.docblock.js.map +1 -0
  145. package/dist/docs/tech/contracts/tests.docblock.d.ts +2 -1
  146. package/dist/docs/tech/contracts/tests.docblock.d.ts.map +1 -0
  147. package/dist/docs/tech/contracts/tests.docblock.js +2 -1
  148. package/dist/docs/tech/contracts/tests.docblock.js.map +1 -0
  149. package/dist/docs/tech/contracts/themes.docblock.d.ts +2 -1
  150. package/dist/docs/tech/contracts/themes.docblock.d.ts.map +1 -0
  151. package/dist/docs/tech/contracts/themes.docblock.js +2 -1
  152. package/dist/docs/tech/contracts/themes.docblock.js.map +1 -0
  153. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +2 -1
  154. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts.map +1 -0
  155. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +2 -1
  156. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js.map +1 -0
  157. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +2 -1
  158. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts.map +1 -0
  159. package/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
  160. package/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
  161. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +2 -1
  162. package/dist/docs/tech/llm/llm-integration.docblock.d.ts.map +1 -0
  163. package/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
  164. package/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
  165. package/dist/docs/tech/mcp-endpoints.docblock.d.ts +2 -1
  166. package/dist/docs/tech/mcp-endpoints.docblock.d.ts.map +1 -0
  167. package/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
  168. package/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
  169. package/dist/docs/tech/presentation-runtime.docblock.d.ts +2 -1
  170. package/dist/docs/tech/presentation-runtime.docblock.d.ts.map +1 -0
  171. package/dist/docs/tech/presentation-runtime.docblock.js +2 -1
  172. package/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
  173. package/dist/docs/tech/schema/README.docblock.d.ts +2 -1
  174. package/dist/docs/tech/schema/README.docblock.d.ts.map +1 -0
  175. package/dist/docs/tech/schema/README.docblock.js +2 -1
  176. package/dist/docs/tech/schema/README.docblock.js.map +1 -0
  177. package/dist/docs/tech/studio/learning-events.docblock.d.ts +2 -1
  178. package/dist/docs/tech/studio/learning-events.docblock.d.ts.map +1 -0
  179. package/dist/docs/tech/studio/learning-events.docblock.js +2 -1
  180. package/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
  181. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +2 -1
  182. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts.map +1 -0
  183. package/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
  184. package/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
  185. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +2 -1
  186. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts.map +1 -0
  187. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
  188. package/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
  189. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +2 -1
  190. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts.map +1 -0
  191. package/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
  192. package/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
  193. package/dist/docs/tech/studio/project-routing.docblock.d.ts +2 -1
  194. package/dist/docs/tech/studio/project-routing.docblock.d.ts.map +1 -0
  195. package/dist/docs/tech/studio/project-routing.docblock.js +2 -1
  196. package/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
  197. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +2 -1
  198. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts.map +1 -0
  199. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
  200. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
  201. package/dist/docs/tech/studio/team-invitations.docblock.d.ts +2 -1
  202. package/dist/docs/tech/studio/team-invitations.docblock.d.ts.map +1 -0
  203. package/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
  204. package/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
  205. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +2 -1
  206. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts.map +1 -0
  207. package/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
  208. package/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
  209. package/dist/docs/tech/studio/workspaces.docblock.d.ts +2 -1
  210. package/dist/docs/tech/studio/workspaces.docblock.d.ts.map +1 -0
  211. package/dist/docs/tech/studio/workspaces.docblock.js +2 -1
  212. package/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
  213. package/dist/docs/tech/telemetry-ingest.docblock.d.ts +2 -1
  214. package/dist/docs/tech/telemetry-ingest.docblock.d.ts.map +1 -0
  215. package/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
  216. package/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
  217. package/dist/docs/tech/templates/runtime.docblock.d.ts +2 -1
  218. package/dist/docs/tech/templates/runtime.docblock.d.ts.map +1 -0
  219. package/dist/docs/tech/templates/runtime.docblock.js +2 -1
  220. package/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
  221. package/dist/docs/tech/vscode-extension.docblock.d.ts +2 -1
  222. package/dist/docs/tech/vscode-extension.docblock.d.ts.map +1 -0
  223. package/dist/docs/tech/vscode-extension.docblock.js +2 -1
  224. package/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
  225. package/dist/docs/tech/workflows/overview.docblock.d.ts +2 -1
  226. package/dist/docs/tech/workflows/overview.docblock.d.ts.map +1 -0
  227. package/dist/docs/tech/workflows/overview.docblock.js +2 -1
  228. package/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
  229. package/dist/docs/tech-contracts.docs.d.ts +2 -1
  230. package/dist/docs/tech-contracts.docs.d.ts.map +1 -0
  231. package/dist/docs/tech-contracts.docs.js +5 -1
  232. package/dist/docs/tech-contracts.docs.js.map +1 -0
  233. package/dist/docs/types.d.ts +2 -1
  234. package/dist/docs/types.d.ts.map +1 -0
  235. package/dist/events.d.ts +2 -1
  236. package/dist/events.d.ts.map +1 -0
  237. package/dist/events.js +2 -1
  238. package/dist/events.js.map +1 -0
  239. package/dist/experiments/docs/experiments.docblock.d.ts +2 -1
  240. package/dist/experiments/docs/experiments.docblock.d.ts.map +1 -0
  241. package/dist/experiments/docs/experiments.docblock.js +2 -1
  242. package/dist/experiments/docs/experiments.docblock.js.map +1 -0
  243. package/dist/experiments/evaluator.d.ts +2 -1
  244. package/dist/experiments/evaluator.d.ts.map +1 -0
  245. package/dist/experiments/evaluator.js +2 -1
  246. package/dist/experiments/evaluator.js.map +1 -0
  247. package/dist/experiments/spec-resolver.d.ts +2 -1
  248. package/dist/experiments/spec-resolver.d.ts.map +1 -0
  249. package/dist/experiments/spec.d.ts +2 -1
  250. package/dist/experiments/spec.d.ts.map +1 -0
  251. package/dist/experiments/spec.js +2 -1
  252. package/dist/experiments/spec.js.map +1 -0
  253. package/dist/features.d.ts +2 -1
  254. package/dist/features.d.ts.map +1 -0
  255. package/dist/features.js +2 -1
  256. package/dist/features.js.map +1 -0
  257. package/dist/forms/docs/forms.docblock.d.ts +2 -1
  258. package/dist/forms/docs/forms.docblock.d.ts.map +1 -0
  259. package/dist/forms/docs/forms.docblock.js +2 -1
  260. package/dist/forms/docs/forms.docblock.js.map +1 -0
  261. package/dist/forms.d.ts +2 -1
  262. package/dist/forms.d.ts.map +1 -0
  263. package/dist/forms.js +2 -1
  264. package/dist/forms.js.map +1 -0
  265. package/dist/index.js +2 -3
  266. package/dist/install.d.ts +2 -1
  267. package/dist/install.d.ts.map +1 -0
  268. package/dist/install.js +2 -1
  269. package/dist/install.js.map +1 -0
  270. package/dist/integrations/binding.d.ts +2 -1
  271. package/dist/integrations/binding.d.ts.map +1 -0
  272. package/dist/integrations/connection.d.ts +2 -1
  273. package/dist/integrations/connection.d.ts.map +1 -0
  274. package/dist/integrations/contracts.d.ts +104 -103
  275. package/dist/integrations/contracts.d.ts.map +1 -0
  276. package/dist/integrations/contracts.js +65 -66
  277. package/dist/integrations/contracts.js.map +1 -0
  278. package/dist/integrations/docs/integrations.docblock.d.ts +2 -1
  279. package/dist/integrations/docs/integrations.docblock.d.ts.map +1 -0
  280. package/dist/integrations/docs/integrations.docblock.js +2 -1
  281. package/dist/integrations/docs/integrations.docblock.js.map +1 -0
  282. package/dist/integrations/health.d.ts +2 -1
  283. package/dist/integrations/health.d.ts.map +1 -0
  284. package/dist/integrations/health.js +2 -1
  285. package/dist/integrations/health.js.map +1 -0
  286. package/dist/integrations/openbanking/contracts/accounts.d.ts +68 -67
  287. package/dist/integrations/openbanking/contracts/accounts.d.ts.map +1 -0
  288. package/dist/integrations/openbanking/contracts/accounts.js +31 -32
  289. package/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
  290. package/dist/integrations/openbanking/contracts/balances.d.ts +2 -1
  291. package/dist/integrations/openbanking/contracts/balances.d.ts.map +1 -0
  292. package/dist/integrations/openbanking/contracts/balances.js +18 -19
  293. package/dist/integrations/openbanking/contracts/balances.js.map +1 -0
  294. package/dist/integrations/openbanking/contracts/index.d.ts +2 -1
  295. package/dist/integrations/openbanking/contracts/index.d.ts.map +1 -0
  296. package/dist/integrations/openbanking/contracts/index.js +2 -1
  297. package/dist/integrations/openbanking/contracts/index.js.map +1 -0
  298. package/dist/integrations/openbanking/contracts/transactions.d.ts +50 -49
  299. package/dist/integrations/openbanking/contracts/transactions.d.ts.map +1 -0
  300. package/dist/integrations/openbanking/contracts/transactions.js +32 -33
  301. package/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
  302. package/dist/integrations/openbanking/guards.d.ts +2 -1
  303. package/dist/integrations/openbanking/guards.d.ts.map +1 -0
  304. package/dist/integrations/openbanking/guards.js +2 -1
  305. package/dist/integrations/openbanking/guards.js.map +1 -0
  306. package/dist/integrations/openbanking/models.d.ts +2 -1
  307. package/dist/integrations/openbanking/models.d.ts.map +1 -0
  308. package/dist/integrations/openbanking/models.js +60 -61
  309. package/dist/integrations/openbanking/models.js.map +1 -0
  310. package/dist/integrations/openbanking/openbanking.feature.d.ts +2 -1
  311. package/dist/integrations/openbanking/openbanking.feature.d.ts.map +1 -0
  312. package/dist/integrations/openbanking/openbanking.feature.js +2 -1
  313. package/dist/integrations/openbanking/openbanking.feature.js.map +1 -0
  314. package/dist/integrations/openbanking/telemetry.d.ts +2 -1
  315. package/dist/integrations/openbanking/telemetry.d.ts.map +1 -0
  316. package/dist/integrations/openbanking/telemetry.js +2 -1
  317. package/dist/integrations/openbanking/telemetry.js.map +1 -0
  318. package/dist/integrations/providers/calendar.d.ts +2 -1
  319. package/dist/integrations/providers/calendar.d.ts.map +1 -0
  320. package/dist/integrations/providers/elevenlabs.d.ts +2 -1
  321. package/dist/integrations/providers/elevenlabs.d.ts.map +1 -0
  322. package/dist/integrations/providers/elevenlabs.js +2 -1
  323. package/dist/integrations/providers/elevenlabs.js.map +1 -0
  324. package/dist/integrations/providers/email.d.ts +2 -1
  325. package/dist/integrations/providers/email.d.ts.map +1 -0
  326. package/dist/integrations/providers/embedding.d.ts +2 -1
  327. package/dist/integrations/providers/embedding.d.ts.map +1 -0
  328. package/dist/integrations/providers/gcs-storage.d.ts +2 -1
  329. package/dist/integrations/providers/gcs-storage.d.ts.map +1 -0
  330. package/dist/integrations/providers/gcs-storage.js +2 -1
  331. package/dist/integrations/providers/gcs-storage.js.map +1 -0
  332. package/dist/integrations/providers/gmail.d.ts +2 -1
  333. package/dist/integrations/providers/gmail.d.ts.map +1 -0
  334. package/dist/integrations/providers/gmail.js +2 -1
  335. package/dist/integrations/providers/gmail.js.map +1 -0
  336. package/dist/integrations/providers/google-calendar.d.ts +2 -1
  337. package/dist/integrations/providers/google-calendar.d.ts.map +1 -0
  338. package/dist/integrations/providers/google-calendar.js +2 -1
  339. package/dist/integrations/providers/google-calendar.js.map +1 -0
  340. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +2 -1
  341. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +1 -0
  342. package/dist/integrations/providers/impls/elevenlabs-voice.js +2 -1
  343. package/dist/integrations/providers/impls/elevenlabs-voice.js.map +1 -0
  344. package/dist/integrations/providers/impls/gcs-storage.d.ts +2 -1
  345. package/dist/integrations/providers/impls/gcs-storage.d.ts.map +1 -0
  346. package/dist/integrations/providers/impls/gcs-storage.js +2 -1
  347. package/dist/integrations/providers/impls/gcs-storage.js.map +1 -0
  348. package/dist/integrations/providers/impls/gmail-inbound.d.ts +2 -1
  349. package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +1 -0
  350. package/dist/integrations/providers/impls/gmail-inbound.js +2 -1
  351. package/dist/integrations/providers/impls/gmail-inbound.js.map +1 -0
  352. package/dist/integrations/providers/impls/gmail-outbound.d.ts +2 -1
  353. package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +1 -0
  354. package/dist/integrations/providers/impls/gmail-outbound.js +2 -1
  355. package/dist/integrations/providers/impls/gmail-outbound.js.map +1 -0
  356. package/dist/integrations/providers/impls/google-calendar.d.ts +2 -1
  357. package/dist/integrations/providers/impls/google-calendar.d.ts.map +1 -0
  358. package/dist/integrations/providers/impls/google-calendar.js +2 -1
  359. package/dist/integrations/providers/impls/google-calendar.js.map +1 -0
  360. package/dist/integrations/providers/impls/mistral-embedding.d.ts +2 -1
  361. package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +1 -0
  362. package/dist/integrations/providers/impls/mistral-embedding.js +2 -1
  363. package/dist/integrations/providers/impls/mistral-embedding.js.map +1 -0
  364. package/dist/integrations/providers/impls/mistral-llm.d.ts +2 -1
  365. package/dist/integrations/providers/impls/mistral-llm.d.ts.map +1 -0
  366. package/dist/integrations/providers/impls/mistral-llm.js +2 -1
  367. package/dist/integrations/providers/impls/mistral-llm.js.map +1 -0
  368. package/dist/integrations/providers/impls/postmark-email.d.ts +2 -1
  369. package/dist/integrations/providers/impls/postmark-email.d.ts.map +1 -0
  370. package/dist/integrations/providers/impls/postmark-email.js +2 -1
  371. package/dist/integrations/providers/impls/postmark-email.js.map +1 -0
  372. package/dist/integrations/providers/impls/powens-client.d.ts +2 -1
  373. package/dist/integrations/providers/impls/powens-client.d.ts.map +1 -0
  374. package/dist/integrations/providers/impls/powens-client.js +2 -1
  375. package/dist/integrations/providers/impls/powens-client.js.map +1 -0
  376. package/dist/integrations/providers/impls/powens-openbanking.d.ts +2 -1
  377. package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +1 -0
  378. package/dist/integrations/providers/impls/powens-openbanking.js +2 -1
  379. package/dist/integrations/providers/impls/powens-openbanking.js.map +1 -0
  380. package/dist/integrations/providers/impls/provider-factory.d.ts +2 -1
  381. package/dist/integrations/providers/impls/provider-factory.d.ts.map +1 -0
  382. package/dist/integrations/providers/impls/provider-factory.js +2 -1
  383. package/dist/integrations/providers/impls/provider-factory.js.map +1 -0
  384. package/dist/integrations/providers/impls/qdrant-vector.d.ts +2 -1
  385. package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +1 -0
  386. package/dist/integrations/providers/impls/qdrant-vector.js +2 -1
  387. package/dist/integrations/providers/impls/qdrant-vector.js.map +1 -0
  388. package/dist/integrations/providers/impls/stripe-payments.d.ts +2 -1
  389. package/dist/integrations/providers/impls/stripe-payments.d.ts.map +1 -0
  390. package/dist/integrations/providers/impls/stripe-payments.js +2 -1
  391. package/dist/integrations/providers/impls/stripe-payments.js.map +1 -0
  392. package/dist/integrations/providers/impls/twilio-sms.d.ts +2 -1
  393. package/dist/integrations/providers/impls/twilio-sms.d.ts.map +1 -0
  394. package/dist/integrations/providers/impls/twilio-sms.js +2 -1
  395. package/dist/integrations/providers/impls/twilio-sms.js.map +1 -0
  396. package/dist/integrations/providers/llm.d.ts +2 -1
  397. package/dist/integrations/providers/llm.d.ts.map +1 -0
  398. package/dist/integrations/providers/mistral.d.ts +2 -1
  399. package/dist/integrations/providers/mistral.d.ts.map +1 -0
  400. package/dist/integrations/providers/mistral.js +2 -1
  401. package/dist/integrations/providers/mistral.js.map +1 -0
  402. package/dist/integrations/providers/openbanking.d.ts +2 -1
  403. package/dist/integrations/providers/openbanking.d.ts.map +1 -0
  404. package/dist/integrations/providers/payments.d.ts +2 -1
  405. package/dist/integrations/providers/payments.d.ts.map +1 -0
  406. package/dist/integrations/providers/postmark.d.ts +2 -1
  407. package/dist/integrations/providers/postmark.d.ts.map +1 -0
  408. package/dist/integrations/providers/postmark.js +2 -1
  409. package/dist/integrations/providers/postmark.js.map +1 -0
  410. package/dist/integrations/providers/powens.d.ts +2 -1
  411. package/dist/integrations/providers/powens.d.ts.map +1 -0
  412. package/dist/integrations/providers/powens.js +2 -1
  413. package/dist/integrations/providers/powens.js.map +1 -0
  414. package/dist/integrations/providers/qdrant.d.ts +2 -1
  415. package/dist/integrations/providers/qdrant.d.ts.map +1 -0
  416. package/dist/integrations/providers/qdrant.js +2 -1
  417. package/dist/integrations/providers/qdrant.js.map +1 -0
  418. package/dist/integrations/providers/registry.d.ts +2 -1
  419. package/dist/integrations/providers/registry.d.ts.map +1 -0
  420. package/dist/integrations/providers/registry.js +2 -1
  421. package/dist/integrations/providers/registry.js.map +1 -0
  422. package/dist/integrations/providers/sms.d.ts +2 -1
  423. package/dist/integrations/providers/sms.d.ts.map +1 -0
  424. package/dist/integrations/providers/storage.d.ts +2 -1
  425. package/dist/integrations/providers/storage.d.ts.map +1 -0
  426. package/dist/integrations/providers/stripe.d.ts +2 -1
  427. package/dist/integrations/providers/stripe.d.ts.map +1 -0
  428. package/dist/integrations/providers/stripe.js +2 -1
  429. package/dist/integrations/providers/stripe.js.map +1 -0
  430. package/dist/integrations/providers/twilio-sms.d.ts +2 -1
  431. package/dist/integrations/providers/twilio-sms.d.ts.map +1 -0
  432. package/dist/integrations/providers/twilio-sms.js +2 -1
  433. package/dist/integrations/providers/twilio-sms.js.map +1 -0
  434. package/dist/integrations/providers/vector-store.d.ts +2 -1
  435. package/dist/integrations/providers/vector-store.d.ts.map +1 -0
  436. package/dist/integrations/providers/voice.d.ts +2 -1
  437. package/dist/integrations/providers/voice.d.ts.map +1 -0
  438. package/dist/integrations/runtime.d.ts +2 -1
  439. package/dist/integrations/runtime.d.ts.map +1 -0
  440. package/dist/integrations/runtime.js +2 -1
  441. package/dist/integrations/runtime.js.map +1 -0
  442. package/dist/integrations/secrets/aws-secret-manager.d.ts +2 -1
  443. package/dist/integrations/secrets/aws-secret-manager.d.ts.map +1 -0
  444. package/dist/integrations/secrets/aws-secret-manager.js +2 -1
  445. package/dist/integrations/secrets/aws-secret-manager.js.map +1 -0
  446. package/dist/integrations/secrets/env-secret-provider.d.ts +2 -1
  447. package/dist/integrations/secrets/env-secret-provider.d.ts.map +1 -0
  448. package/dist/integrations/secrets/env-secret-provider.js +2 -1
  449. package/dist/integrations/secrets/env-secret-provider.js.map +1 -0
  450. package/dist/integrations/secrets/gcp-secret-manager.d.ts +2 -1
  451. package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +1 -0
  452. package/dist/integrations/secrets/gcp-secret-manager.js +2 -1
  453. package/dist/integrations/secrets/gcp-secret-manager.js.map +1 -0
  454. package/dist/integrations/secrets/manager.d.ts +2 -1
  455. package/dist/integrations/secrets/manager.d.ts.map +1 -0
  456. package/dist/integrations/secrets/manager.js +2 -1
  457. package/dist/integrations/secrets/manager.js.map +1 -0
  458. package/dist/integrations/secrets/provider.d.ts +2 -1
  459. package/dist/integrations/secrets/provider.d.ts.map +1 -0
  460. package/dist/integrations/secrets/provider.js +2 -1
  461. package/dist/integrations/secrets/provider.js.map +1 -0
  462. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +2 -1
  463. package/dist/integrations/secrets/scaleway-secret-manager.d.ts.map +1 -0
  464. package/dist/integrations/secrets/scaleway-secret-manager.js +2 -1
  465. package/dist/integrations/secrets/scaleway-secret-manager.js.map +1 -0
  466. package/dist/integrations/spec.d.ts +2 -1
  467. package/dist/integrations/spec.d.ts.map +1 -0
  468. package/dist/integrations/spec.js +2 -1
  469. package/dist/integrations/spec.js.map +1 -0
  470. package/dist/jobs/define-job.d.ts +2 -1
  471. package/dist/jobs/define-job.d.ts.map +1 -0
  472. package/dist/jobs/define-job.js +2 -1
  473. package/dist/jobs/define-job.js.map +1 -0
  474. package/dist/jobs/gcp-cloud-tasks.d.ts +2 -1
  475. package/dist/jobs/gcp-cloud-tasks.d.ts.map +1 -0
  476. package/dist/jobs/gcp-cloud-tasks.js +2 -1
  477. package/dist/jobs/gcp-cloud-tasks.js.map +1 -0
  478. package/dist/jobs/gcp-pubsub.d.ts +2 -1
  479. package/dist/jobs/gcp-pubsub.d.ts.map +1 -0
  480. package/dist/jobs/gcp-pubsub.js +2 -1
  481. package/dist/jobs/gcp-pubsub.js.map +1 -0
  482. package/dist/jobs/handlers/gmail-sync-handler.d.ts +2 -1
  483. package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +1 -0
  484. package/dist/jobs/handlers/gmail-sync-handler.js +2 -1
  485. package/dist/jobs/handlers/gmail-sync-handler.js.map +1 -0
  486. package/dist/jobs/handlers/index.d.ts +2 -1
  487. package/dist/jobs/handlers/index.d.ts.map +1 -0
  488. package/dist/jobs/handlers/index.js +2 -1
  489. package/dist/jobs/handlers/index.js.map +1 -0
  490. package/dist/jobs/handlers/ping-handler.d.ts +2 -1
  491. package/dist/jobs/handlers/ping-handler.d.ts.map +1 -0
  492. package/dist/jobs/handlers/ping-handler.js +2 -1
  493. package/dist/jobs/handlers/ping-handler.js.map +1 -0
  494. package/dist/jobs/handlers/storage-document-handler.d.ts +2 -1
  495. package/dist/jobs/handlers/storage-document-handler.d.ts.map +1 -0
  496. package/dist/jobs/handlers/storage-document-handler.js +2 -1
  497. package/dist/jobs/handlers/storage-document-handler.js.map +1 -0
  498. package/dist/jobs/memory-queue.d.ts +2 -1
  499. package/dist/jobs/memory-queue.d.ts.map +1 -0
  500. package/dist/jobs/memory-queue.js +2 -1
  501. package/dist/jobs/memory-queue.js.map +1 -0
  502. package/dist/jobs/queue.d.ts +2 -1
  503. package/dist/jobs/queue.d.ts.map +1 -0
  504. package/dist/jobs/queue.js +2 -1
  505. package/dist/jobs/queue.js.map +1 -0
  506. package/dist/jobs/scaleway-sqs-queue.d.ts +2 -1
  507. package/dist/jobs/scaleway-sqs-queue.d.ts.map +1 -0
  508. package/dist/jobs/scaleway-sqs-queue.js +2 -1
  509. package/dist/jobs/scaleway-sqs-queue.js.map +1 -0
  510. package/dist/jsonschema.d.ts +5 -4
  511. package/dist/jsonschema.d.ts.map +1 -0
  512. package/dist/jsonschema.js +2 -1
  513. package/dist/jsonschema.js.map +1 -0
  514. package/dist/knowledge/binding.d.ts +2 -1
  515. package/dist/knowledge/binding.d.ts.map +1 -0
  516. package/dist/knowledge/contracts.d.ts +68 -67
  517. package/dist/knowledge/contracts.d.ts.map +1 -0
  518. package/dist/knowledge/contracts.js +44 -45
  519. package/dist/knowledge/contracts.js.map +1 -0
  520. package/dist/knowledge/docs/knowledge.docblock.d.ts +2 -1
  521. package/dist/knowledge/docs/knowledge.docblock.d.ts.map +1 -0
  522. package/dist/knowledge/docs/knowledge.docblock.js +2 -1
  523. package/dist/knowledge/docs/knowledge.docblock.js.map +1 -0
  524. package/dist/knowledge/ingestion/document-processor.d.ts +2 -1
  525. package/dist/knowledge/ingestion/document-processor.d.ts.map +1 -0
  526. package/dist/knowledge/ingestion/document-processor.js +2 -1
  527. package/dist/knowledge/ingestion/document-processor.js.map +1 -0
  528. package/dist/knowledge/ingestion/embedding-service.d.ts +2 -1
  529. package/dist/knowledge/ingestion/embedding-service.d.ts.map +1 -0
  530. package/dist/knowledge/ingestion/embedding-service.js +2 -1
  531. package/dist/knowledge/ingestion/embedding-service.js.map +1 -0
  532. package/dist/knowledge/ingestion/gmail-adapter.d.ts +2 -1
  533. package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +1 -0
  534. package/dist/knowledge/ingestion/gmail-adapter.js +2 -1
  535. package/dist/knowledge/ingestion/gmail-adapter.js.map +1 -0
  536. package/dist/knowledge/ingestion/storage-adapter.d.ts +2 -1
  537. package/dist/knowledge/ingestion/storage-adapter.d.ts.map +1 -0
  538. package/dist/knowledge/ingestion/storage-adapter.js +2 -1
  539. package/dist/knowledge/ingestion/storage-adapter.js.map +1 -0
  540. package/dist/knowledge/ingestion/vector-indexer.d.ts +2 -1
  541. package/dist/knowledge/ingestion/vector-indexer.d.ts.map +1 -0
  542. package/dist/knowledge/ingestion/vector-indexer.js +2 -1
  543. package/dist/knowledge/ingestion/vector-indexer.js.map +1 -0
  544. package/dist/knowledge/query/service.d.ts +2 -1
  545. package/dist/knowledge/query/service.d.ts.map +1 -0
  546. package/dist/knowledge/query/service.js +2 -1
  547. package/dist/knowledge/query/service.js.map +1 -0
  548. package/dist/knowledge/runtime.d.ts +2 -1
  549. package/dist/knowledge/runtime.d.ts.map +1 -0
  550. package/dist/knowledge/runtime.js +2 -1
  551. package/dist/knowledge/runtime.js.map +1 -0
  552. package/dist/knowledge/source.d.ts +2 -1
  553. package/dist/knowledge/source.d.ts.map +1 -0
  554. package/dist/knowledge/spaces/email-threads.d.ts +2 -1
  555. package/dist/knowledge/spaces/email-threads.d.ts.map +1 -0
  556. package/dist/knowledge/spaces/email-threads.js +2 -1
  557. package/dist/knowledge/spaces/email-threads.js.map +1 -0
  558. package/dist/knowledge/spaces/financial-docs.d.ts +2 -1
  559. package/dist/knowledge/spaces/financial-docs.d.ts.map +1 -0
  560. package/dist/knowledge/spaces/financial-docs.js +2 -1
  561. package/dist/knowledge/spaces/financial-docs.js.map +1 -0
  562. package/dist/knowledge/spaces/financial-overview.d.ts +2 -1
  563. package/dist/knowledge/spaces/financial-overview.d.ts.map +1 -0
  564. package/dist/knowledge/spaces/financial-overview.js +2 -1
  565. package/dist/knowledge/spaces/financial-overview.js.map +1 -0
  566. package/dist/knowledge/spaces/product-canon.d.ts +2 -1
  567. package/dist/knowledge/spaces/product-canon.d.ts.map +1 -0
  568. package/dist/knowledge/spaces/product-canon.js +2 -1
  569. package/dist/knowledge/spaces/product-canon.js.map +1 -0
  570. package/dist/knowledge/spaces/support-faq.d.ts +2 -1
  571. package/dist/knowledge/spaces/support-faq.d.ts.map +1 -0
  572. package/dist/knowledge/spaces/support-faq.js +2 -1
  573. package/dist/knowledge/spaces/support-faq.js.map +1 -0
  574. package/dist/knowledge/spaces/uploaded-docs.d.ts +2 -1
  575. package/dist/knowledge/spaces/uploaded-docs.d.ts.map +1 -0
  576. package/dist/knowledge/spaces/uploaded-docs.js +2 -1
  577. package/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
  578. package/dist/knowledge/spec.d.ts +2 -1
  579. package/dist/knowledge/spec.d.ts.map +1 -0
  580. package/dist/knowledge/spec.js +2 -1
  581. package/dist/knowledge/spec.js.map +1 -0
  582. package/dist/llm/exporters.d.ts +2 -1
  583. package/dist/llm/exporters.d.ts.map +1 -0
  584. package/dist/llm/exporters.js +2 -1
  585. package/dist/llm/exporters.js.map +1 -0
  586. package/dist/llm/prompts.d.ts +2 -1
  587. package/dist/llm/prompts.d.ts.map +1 -0
  588. package/dist/llm/prompts.js +2 -1
  589. package/dist/llm/prompts.js.map +1 -0
  590. package/dist/llm/types.d.ts +2 -1
  591. package/dist/llm/types.d.ts.map +1 -0
  592. package/dist/markdown.d.ts +2 -1
  593. package/dist/markdown.d.ts.map +1 -0
  594. package/dist/markdown.js +2 -1
  595. package/dist/markdown.js.map +1 -0
  596. package/dist/migrations.d.ts +2 -1
  597. package/dist/migrations.d.ts.map +1 -0
  598. package/dist/migrations.js +2 -1
  599. package/dist/migrations.js.map +1 -0
  600. package/dist/onboarding-base.d.ts +31 -30
  601. package/dist/onboarding-base.d.ts.map +1 -0
  602. package/dist/onboarding-base.js +22 -23
  603. package/dist/onboarding-base.js.map +1 -0
  604. package/dist/openapi.d.ts +2 -1
  605. package/dist/openapi.d.ts.map +1 -0
  606. package/dist/openapi.js +2 -1
  607. package/dist/openapi.js.map +1 -0
  608. package/dist/openbanking/docs/openbanking.docblock.d.ts +2 -1
  609. package/dist/openbanking/docs/openbanking.docblock.d.ts.map +1 -0
  610. package/dist/openbanking/docs/openbanking.docblock.js +2 -1
  611. package/dist/openbanking/docs/openbanking.docblock.js.map +1 -0
  612. package/dist/ownership.d.ts +6 -7
  613. package/dist/ownership.d.ts.map +1 -0
  614. package/dist/ownership.js +6 -6
  615. package/dist/ownership.js.map +1 -0
  616. package/dist/policy/docs/policy.docblock.d.ts +2 -1
  617. package/dist/policy/docs/policy.docblock.d.ts.map +1 -0
  618. package/dist/policy/docs/policy.docblock.js +2 -1
  619. package/dist/policy/docs/policy.docblock.js.map +1 -0
  620. package/dist/policy/engine.d.ts +2 -1
  621. package/dist/policy/engine.d.ts.map +1 -0
  622. package/dist/policy/engine.js +2 -1
  623. package/dist/policy/engine.js.map +1 -0
  624. package/dist/policy/opa-adapter.d.ts +2 -1
  625. package/dist/policy/opa-adapter.d.ts.map +1 -0
  626. package/dist/policy/opa-adapter.js +2 -1
  627. package/dist/policy/opa-adapter.js.map +1 -0
  628. package/dist/policy/spec.d.ts +2 -1
  629. package/dist/policy/spec.d.ts.map +1 -0
  630. package/dist/policy/spec.js +2 -1
  631. package/dist/policy/spec.js.map +1 -0
  632. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +2 -1
  633. package/dist/presentations/docs/presentations-conventions.docblock.d.ts.map +1 -0
  634. package/dist/presentations/docs/presentations-conventions.docblock.js +2 -1
  635. package/dist/presentations/docs/presentations-conventions.docblock.js.map +1 -0
  636. package/dist/presentations.backcompat.d.ts +2 -1
  637. package/dist/presentations.backcompat.d.ts.map +1 -0
  638. package/dist/presentations.backcompat.js +2 -1
  639. package/dist/presentations.backcompat.js.map +1 -0
  640. package/dist/presentations.d.ts +5 -4
  641. package/dist/presentations.d.ts.map +1 -0
  642. package/dist/presentations.js +2 -1
  643. package/dist/presentations.js.map +1 -0
  644. package/dist/presentations.v2.d.ts +2 -1
  645. package/dist/presentations.v2.d.ts.map +1 -0
  646. package/dist/presentations.v2.js +2 -1
  647. package/dist/presentations.v2.js.map +1 -0
  648. package/dist/prompt.d.ts +2 -1
  649. package/dist/prompt.d.ts.map +1 -0
  650. package/dist/prompt.js +2 -1
  651. package/dist/prompt.js.map +1 -0
  652. package/dist/promptRegistry.d.ts +2 -1
  653. package/dist/promptRegistry.d.ts.map +1 -0
  654. package/dist/promptRegistry.js +2 -1
  655. package/dist/promptRegistry.js.map +1 -0
  656. package/dist/regenerator/adapters.d.ts +2 -1
  657. package/dist/regenerator/adapters.d.ts.map +1 -0
  658. package/dist/regenerator/docs/regenerator.docblock.d.ts +2 -1
  659. package/dist/regenerator/docs/regenerator.docblock.d.ts.map +1 -0
  660. package/dist/regenerator/docs/regenerator.docblock.js +2 -1
  661. package/dist/regenerator/docs/regenerator.docblock.js.map +1 -0
  662. package/dist/regenerator/executor.d.ts +2 -1
  663. package/dist/regenerator/executor.d.ts.map +1 -0
  664. package/dist/regenerator/executor.js +2 -1
  665. package/dist/regenerator/executor.js.map +1 -0
  666. package/dist/regenerator/service.d.ts +2 -1
  667. package/dist/regenerator/service.d.ts.map +1 -0
  668. package/dist/regenerator/service.js +2 -1
  669. package/dist/regenerator/service.js.map +1 -0
  670. package/dist/regenerator/sinks.d.ts +2 -1
  671. package/dist/regenerator/sinks.d.ts.map +1 -0
  672. package/dist/regenerator/sinks.js +2 -1
  673. package/dist/regenerator/sinks.js.map +1 -0
  674. package/dist/regenerator/types.d.ts +2 -1
  675. package/dist/regenerator/types.d.ts.map +1 -0
  676. package/dist/regenerator/utils.d.ts +2 -1
  677. package/dist/regenerator/utils.d.ts.map +1 -0
  678. package/dist/regenerator/utils.js +2 -1
  679. package/dist/regenerator/utils.js.map +1 -0
  680. package/dist/registry.d.ts +2 -1
  681. package/dist/registry.d.ts.map +1 -0
  682. package/dist/registry.js +2 -1
  683. package/dist/registry.js.map +1 -0
  684. package/dist/resources.d.ts +2 -1
  685. package/dist/resources.d.ts.map +1 -0
  686. package/dist/resources.js +2 -1
  687. package/dist/resources.js.map +1 -0
  688. package/dist/schema/dist/index.js +4684 -6
  689. package/dist/schema/dist/index.js.map +1 -0
  690. package/dist/schema-to-markdown.d.ts +2 -1
  691. package/dist/schema-to-markdown.d.ts.map +1 -0
  692. package/dist/schema-to-markdown.js +2 -1
  693. package/dist/schema-to-markdown.js.map +1 -0
  694. package/dist/server/graphql-pothos.d.ts +2 -1
  695. package/dist/server/graphql-pothos.d.ts.map +1 -0
  696. package/dist/server/graphql-pothos.js +2 -1
  697. package/dist/server/graphql-pothos.js.map +1 -0
  698. package/dist/server/mcp/createMcpServer.d.ts +2 -1
  699. package/dist/server/mcp/createMcpServer.d.ts.map +1 -0
  700. package/dist/server/mcp/createMcpServer.js +2 -1
  701. package/dist/server/mcp/createMcpServer.js.map +1 -0
  702. package/dist/server/mcp/mcpTypes.d.ts +2 -1
  703. package/dist/server/mcp/mcpTypes.d.ts.map +1 -0
  704. package/dist/server/mcp/registerPresentations.d.ts +2 -1
  705. package/dist/server/mcp/registerPresentations.d.ts.map +1 -0
  706. package/dist/server/mcp/registerPresentations.js +2 -1
  707. package/dist/server/mcp/registerPresentations.js.map +1 -0
  708. package/dist/server/mcp/registerPrompts.d.ts +2 -1
  709. package/dist/server/mcp/registerPrompts.d.ts.map +1 -0
  710. package/dist/server/mcp/registerPrompts.js +2 -1
  711. package/dist/server/mcp/registerPrompts.js.map +1 -0
  712. package/dist/server/mcp/registerResources.d.ts +2 -1
  713. package/dist/server/mcp/registerResources.d.ts.map +1 -0
  714. package/dist/server/mcp/registerResources.js +2 -1
  715. package/dist/server/mcp/registerResources.js.map +1 -0
  716. package/dist/server/mcp/registerTools.d.ts +2 -1
  717. package/dist/server/mcp/registerTools.d.ts.map +1 -0
  718. package/dist/server/mcp/registerTools.js +2 -1
  719. package/dist/server/mcp/registerTools.js.map +1 -0
  720. package/dist/server/rest-elysia.d.ts +2 -1
  721. package/dist/server/rest-elysia.d.ts.map +1 -0
  722. package/dist/server/rest-elysia.js +2 -1
  723. package/dist/server/rest-elysia.js.map +1 -0
  724. package/dist/server/rest-express.d.ts +2 -1
  725. package/dist/server/rest-express.d.ts.map +1 -0
  726. package/dist/server/rest-express.js +2 -1
  727. package/dist/server/rest-express.js.map +1 -0
  728. package/dist/server/rest-generic.d.ts +2 -1
  729. package/dist/server/rest-generic.d.ts.map +1 -0
  730. package/dist/server/rest-generic.js +2 -1
  731. package/dist/server/rest-generic.js.map +1 -0
  732. package/dist/server/rest-next-app.d.ts +2 -1
  733. package/dist/server/rest-next-app.d.ts.map +1 -0
  734. package/dist/server/rest-next-app.js +2 -1
  735. package/dist/server/rest-next-app.js.map +1 -0
  736. package/dist/server/rest-next-mcp.d.ts +2 -1
  737. package/dist/server/rest-next-mcp.d.ts.map +1 -0
  738. package/dist/server/rest-next-mcp.js +2 -1
  739. package/dist/server/rest-next-mcp.js.map +1 -0
  740. package/dist/server/rest-next-pages.d.ts +2 -1
  741. package/dist/server/rest-next-pages.d.ts.map +1 -0
  742. package/dist/server/rest-next-pages.js +2 -1
  743. package/dist/server/rest-next-pages.js.map +1 -0
  744. package/dist/spec.d.ts +2 -1
  745. package/dist/spec.d.ts.map +1 -0
  746. package/dist/spec.js +2 -1
  747. package/dist/spec.js.map +1 -0
  748. package/dist/telemetry/anomaly.d.ts +2 -1
  749. package/dist/telemetry/anomaly.d.ts.map +1 -0
  750. package/dist/telemetry/anomaly.js +2 -1
  751. package/dist/telemetry/anomaly.js.map +1 -0
  752. package/dist/telemetry/docs/telemetry.docblock.d.ts +2 -1
  753. package/dist/telemetry/docs/telemetry.docblock.d.ts.map +1 -0
  754. package/dist/telemetry/docs/telemetry.docblock.js +2 -1
  755. package/dist/telemetry/docs/telemetry.docblock.js.map +1 -0
  756. package/dist/telemetry/spec.d.ts +2 -1
  757. package/dist/telemetry/spec.d.ts.map +1 -0
  758. package/dist/telemetry/spec.js +2 -1
  759. package/dist/telemetry/spec.js.map +1 -0
  760. package/dist/telemetry/tracker.d.ts +2 -1
  761. package/dist/telemetry/tracker.d.ts.map +1 -0
  762. package/dist/telemetry/tracker.js +2 -1
  763. package/dist/telemetry/tracker.js.map +1 -0
  764. package/dist/tests/runner.d.ts +2 -1
  765. package/dist/tests/runner.d.ts.map +1 -0
  766. package/dist/tests/runner.js +2 -1
  767. package/dist/tests/runner.js.map +1 -0
  768. package/dist/tests/spec.d.ts +2 -1
  769. package/dist/tests/spec.d.ts.map +1 -0
  770. package/dist/tests/spec.js +2 -1
  771. package/dist/tests/spec.js.map +1 -0
  772. package/dist/themes.d.ts +2 -1
  773. package/dist/themes.d.ts.map +1 -0
  774. package/dist/themes.js +2 -1
  775. package/dist/themes.js.map +1 -0
  776. package/dist/translations/catalog.d.ts +2 -1
  777. package/dist/translations/catalog.d.ts.map +1 -0
  778. package/dist/translations/tenant.d.ts +2 -1
  779. package/dist/translations/tenant.d.ts.map +1 -0
  780. package/dist/types.d.ts +2 -1
  781. package/dist/types.d.ts.map +1 -0
  782. package/dist/workflow/adapters/db-adapter.d.ts +21 -8
  783. package/dist/workflow/adapters/db-adapter.d.ts.map +1 -0
  784. package/dist/workflow/adapters/db-adapter.js +5 -4
  785. package/dist/workflow/adapters/db-adapter.js.map +1 -0
  786. package/dist/workflow/adapters/file-adapter.d.ts +2 -1
  787. package/dist/workflow/adapters/file-adapter.d.ts.map +1 -0
  788. package/dist/workflow/adapters/file-adapter.js +2 -1
  789. package/dist/workflow/adapters/file-adapter.js.map +1 -0
  790. package/dist/workflow/adapters/memory-store.d.ts +2 -1
  791. package/dist/workflow/adapters/memory-store.d.ts.map +1 -0
  792. package/dist/workflow/adapters/memory-store.js +2 -1
  793. package/dist/workflow/adapters/memory-store.js.map +1 -0
  794. package/dist/workflow/expression.d.ts +2 -1
  795. package/dist/workflow/expression.d.ts.map +1 -0
  796. package/dist/workflow/expression.js +2 -1
  797. package/dist/workflow/expression.js.map +1 -0
  798. package/dist/workflow/runner.d.ts +2 -1
  799. package/dist/workflow/runner.d.ts.map +1 -0
  800. package/dist/workflow/runner.js +2 -1
  801. package/dist/workflow/runner.js.map +1 -0
  802. package/dist/workflow/sla-monitor.d.ts +2 -1
  803. package/dist/workflow/sla-monitor.d.ts.map +1 -0
  804. package/dist/workflow/sla-monitor.js +2 -1
  805. package/dist/workflow/sla-monitor.js.map +1 -0
  806. package/dist/workflow/spec.d.ts +2 -1
  807. package/dist/workflow/spec.d.ts.map +1 -0
  808. package/dist/workflow/spec.js +2 -1
  809. package/dist/workflow/spec.js.map +1 -0
  810. package/dist/workflow/state.d.ts +2 -1
  811. package/dist/workflow/state.d.ts.map +1 -0
  812. package/dist/workflow/validation.d.ts +2 -1
  813. package/dist/workflow/validation.d.ts.map +1 -0
  814. package/dist/workflow/validation.js +2 -1
  815. package/dist/workflow/validation.js.map +1 -0
  816. package/package.json +12 -17
  817. package/dist/docs/PUBLISHING.docblock.d.ts +0 -6
  818. package/dist/docs/PUBLISHING.docblock.js +0 -17
  819. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.d.ts +0 -6
  820. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -17
  821. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.d.ts +0 -6
  822. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -17
  823. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.d.ts +0 -6
  824. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -17
  825. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.d.ts +0 -6
  826. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -17
  827. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.d.ts +0 -6
  828. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -17
  829. package/dist/schema/dist/EnumType.js +0 -2
  830. package/dist/schema/dist/FieldType.js +0 -49
  831. package/dist/schema/dist/ScalarTypeEnum.js +0 -236
  832. package/dist/schema/dist/SchemaModel.js +0 -39
  833. package/dist/schema/dist/entity/defineEntity.js +0 -1
  834. package/dist/schema/dist/entity/index.js +0 -2
  835. package/dist/schema/dist/entity/types.js +0 -1
@@ -1,6 +1,4 @@
1
- import { ScalarTypeEnum } from "../schema/dist/ScalarTypeEnum.js";
2
- import { SchemaModel } from "../schema/dist/SchemaModel.js";
3
- import "../schema/dist/index.js";
1
+ import { E5, x8 } from "../schema/dist/index.js";
4
2
  import { defineCommand, defineQuery } from "../spec.js";
5
3
  import { OwnersEnum, StabilityEnum, TagsEnum } from "../ownership.js";
6
4
  import { ConfigDraftCreatedEvent, ConfigPromotedToPreviewEvent, ConfigPublishedEvent, ConfigRolledBackEvent } from "./events.js";
@@ -20,102 +18,102 @@ const LifecycleReadPolicy = {
20
18
  version: 1
21
19
  }]
22
20
  };
23
- const ConfigVersionRecord = new SchemaModel({
21
+ const ConfigVersionRecord = new x8({
24
22
  name: "ConfigVersionRecord",
25
23
  fields: {
26
24
  meta: {
27
- type: ScalarTypeEnum.JSONObject(),
25
+ type: E5.JSONObject(),
28
26
  isOptional: false
29
27
  },
30
28
  config: {
31
- type: ScalarTypeEnum.JSONObject(),
29
+ type: E5.JSONObject(),
32
30
  isOptional: false
33
31
  }
34
32
  }
35
33
  });
36
- const ConfigTransitionRecord = new SchemaModel({
34
+ const ConfigTransitionRecord = new x8({
37
35
  name: "ConfigTransitionRecord",
38
36
  fields: {
39
37
  tenantId: {
40
- type: ScalarTypeEnum.ID(),
38
+ type: E5.ID(),
41
39
  isOptional: false
42
40
  },
43
41
  appId: {
44
- type: ScalarTypeEnum.ID(),
42
+ type: E5.ID(),
45
43
  isOptional: false
46
44
  },
47
45
  fromStatus: {
48
- type: ScalarTypeEnum.String_unsecure(),
46
+ type: E5.String_unsecure(),
49
47
  isOptional: false
50
48
  },
51
49
  toStatus: {
52
- type: ScalarTypeEnum.String_unsecure(),
50
+ type: E5.String_unsecure(),
53
51
  isOptional: false
54
52
  },
55
53
  version: {
56
- type: ScalarTypeEnum.Int_unsecure(),
54
+ type: E5.Int_unsecure(),
57
55
  isOptional: false
58
56
  },
59
57
  timestamp: {
60
- type: ScalarTypeEnum.DateTime(),
58
+ type: E5.DateTime(),
61
59
  isOptional: false
62
60
  },
63
61
  actor: {
64
- type: ScalarTypeEnum.String_unsecure(),
62
+ type: E5.String_unsecure(),
65
63
  isOptional: false
66
64
  },
67
65
  reason: {
68
- type: ScalarTypeEnum.String_unsecure(),
66
+ type: E5.String_unsecure(),
69
67
  isOptional: true
70
68
  }
71
69
  }
72
70
  });
73
- const CreateDraftInput = new SchemaModel({
71
+ const CreateDraftInput = new x8({
74
72
  name: "CreateTenantConfigDraftInput",
75
73
  fields: {
76
74
  tenantId: {
77
- type: ScalarTypeEnum.ID(),
75
+ type: E5.ID(),
78
76
  isOptional: false
79
77
  },
80
78
  appId: {
81
- type: ScalarTypeEnum.ID(),
79
+ type: E5.ID(),
82
80
  isOptional: false
83
81
  },
84
82
  blueprintName: {
85
- type: ScalarTypeEnum.String_unsecure(),
83
+ type: E5.String_unsecure(),
86
84
  isOptional: false
87
85
  },
88
86
  blueprintVersion: {
89
- type: ScalarTypeEnum.Int_unsecure(),
87
+ type: E5.Int_unsecure(),
90
88
  isOptional: false
91
89
  },
92
90
  environment: {
93
- type: ScalarTypeEnum.String_unsecure(),
91
+ type: E5.String_unsecure(),
94
92
  isOptional: true
95
93
  },
96
94
  fromVersion: {
97
- type: ScalarTypeEnum.Int_unsecure(),
95
+ type: E5.Int_unsecure(),
98
96
  isOptional: true
99
97
  },
100
98
  createdBy: {
101
- type: ScalarTypeEnum.String_unsecure(),
99
+ type: E5.String_unsecure(),
102
100
  isOptional: false
103
101
  }
104
102
  }
105
103
  });
106
- const CreateDraftOutput = new SchemaModel({
104
+ const CreateDraftOutput = new x8({
107
105
  name: "CreateTenantConfigDraftOutput",
108
106
  fields: {
109
107
  version: {
110
- type: ScalarTypeEnum.Int_unsecure(),
108
+ type: E5.Int_unsecure(),
111
109
  isOptional: false
112
110
  },
113
111
  status: {
114
- type: ScalarTypeEnum.String_unsecure(),
112
+ type: E5.String_unsecure(),
115
113
  isOptional: false
116
114
  },
117
115
  createdAt: {
118
- type: ScalarTypeEnum.DateTime(),
116
+ type: E5.DateTime(),
119
117
  isOptional: false
120
118
  }
121
119
  }
@@ -141,40 +139,40 @@ const CreateTenantConfigDraftCommand = defineCommand({
141
139
  when: "after successful draft creation"
142
140
  }] }
143
141
  });
144
- const PromotePreviewInput = new SchemaModel({
142
+ const PromotePreviewInput = new x8({
145
143
  name: "PromoteTenantConfigPreviewInput",
146
144
  fields: {
147
145
  tenantId: {
148
- type: ScalarTypeEnum.ID(),
146
+ type: E5.ID(),
149
147
  isOptional: false
150
148
  },
151
149
  appId: {
152
- type: ScalarTypeEnum.ID(),
150
+ type: E5.ID(),
153
151
  isOptional: false
154
152
  },
155
153
  version: {
156
- type: ScalarTypeEnum.Int_unsecure(),
154
+ type: E5.Int_unsecure(),
157
155
  isOptional: false
158
156
  },
159
157
  promotedBy: {
160
- type: ScalarTypeEnum.String_unsecure(),
158
+ type: E5.String_unsecure(),
161
159
  isOptional: false
162
160
  }
163
161
  }
164
162
  });
165
- const PromotePreviewOutput = new SchemaModel({
163
+ const PromotePreviewOutput = new x8({
166
164
  name: "PromoteTenantConfigPreviewOutput",
167
165
  fields: {
168
166
  version: {
169
- type: ScalarTypeEnum.Int_unsecure(),
167
+ type: E5.Int_unsecure(),
170
168
  isOptional: false
171
169
  },
172
170
  status: {
173
- type: ScalarTypeEnum.String_unsecure(),
171
+ type: E5.String_unsecure(),
174
172
  isOptional: false
175
173
  },
176
174
  warnings: {
177
- type: ScalarTypeEnum.String_unsecure(),
175
+ type: E5.String_unsecure(),
178
176
  isOptional: true,
179
177
  isArray: true
180
178
  }
@@ -201,52 +199,52 @@ const PromoteTenantConfigToPreviewCommand = defineCommand({
201
199
  when: "after promotion to preview"
202
200
  }] }
203
201
  });
204
- const PublishConfigInput = new SchemaModel({
202
+ const PublishConfigInput = new x8({
205
203
  name: "PublishTenantConfigInput",
206
204
  fields: {
207
205
  tenantId: {
208
- type: ScalarTypeEnum.ID(),
206
+ type: E5.ID(),
209
207
  isOptional: false
210
208
  },
211
209
  appId: {
212
- type: ScalarTypeEnum.ID(),
210
+ type: E5.ID(),
213
211
  isOptional: false
214
212
  },
215
213
  version: {
216
- type: ScalarTypeEnum.Int_unsecure(),
214
+ type: E5.Int_unsecure(),
217
215
  isOptional: false
218
216
  },
219
217
  environment: {
220
- type: ScalarTypeEnum.String_unsecure(),
218
+ type: E5.String_unsecure(),
221
219
  isOptional: true
222
220
  },
223
221
  publishedBy: {
224
- type: ScalarTypeEnum.String_unsecure(),
222
+ type: E5.String_unsecure(),
225
223
  isOptional: false
226
224
  },
227
225
  changeSummary: {
228
- type: ScalarTypeEnum.String_unsecure(),
226
+ type: E5.String_unsecure(),
229
227
  isOptional: true
230
228
  }
231
229
  }
232
230
  });
233
- const PublishConfigOutput = new SchemaModel({
231
+ const PublishConfigOutput = new x8({
234
232
  name: "PublishTenantConfigOutput",
235
233
  fields: {
236
234
  version: {
237
- type: ScalarTypeEnum.Int_unsecure(),
235
+ type: E5.Int_unsecure(),
238
236
  isOptional: false
239
237
  },
240
238
  status: {
241
- type: ScalarTypeEnum.String_unsecure(),
239
+ type: E5.String_unsecure(),
242
240
  isOptional: false
243
241
  },
244
242
  previousVersion: {
245
- type: ScalarTypeEnum.Int_unsecure(),
243
+ type: E5.Int_unsecure(),
246
244
  isOptional: true
247
245
  },
248
246
  publishedAt: {
249
- type: ScalarTypeEnum.DateTime(),
247
+ type: E5.DateTime(),
250
248
  isOptional: false
251
249
  }
252
250
  }
@@ -272,48 +270,48 @@ const PublishTenantConfigCommand = defineCommand({
272
270
  when: "after publish succeeds"
273
271
  }] }
274
272
  });
275
- const RollbackConfigInput = new SchemaModel({
273
+ const RollbackConfigInput = new x8({
276
274
  name: "RollbackTenantConfigInput",
277
275
  fields: {
278
276
  tenantId: {
279
- type: ScalarTypeEnum.ID(),
277
+ type: E5.ID(),
280
278
  isOptional: false
281
279
  },
282
280
  appId: {
283
- type: ScalarTypeEnum.ID(),
281
+ type: E5.ID(),
284
282
  isOptional: false
285
283
  },
286
284
  toVersion: {
287
- type: ScalarTypeEnum.Int_unsecure(),
285
+ type: E5.Int_unsecure(),
288
286
  isOptional: false
289
287
  },
290
288
  environment: {
291
- type: ScalarTypeEnum.String_unsecure(),
289
+ type: E5.String_unsecure(),
292
290
  isOptional: true
293
291
  },
294
292
  rolledBackBy: {
295
- type: ScalarTypeEnum.String_unsecure(),
293
+ type: E5.String_unsecure(),
296
294
  isOptional: false
297
295
  },
298
296
  reason: {
299
- type: ScalarTypeEnum.String_unsecure(),
297
+ type: E5.String_unsecure(),
300
298
  isOptional: false
301
299
  }
302
300
  }
303
301
  });
304
- const RollbackConfigOutput = new SchemaModel({
302
+ const RollbackConfigOutput = new x8({
305
303
  name: "RollbackTenantConfigOutput",
306
304
  fields: {
307
305
  newVersion: {
308
- type: ScalarTypeEnum.Int_unsecure(),
306
+ type: E5.Int_unsecure(),
309
307
  isOptional: false
310
308
  },
311
309
  status: {
312
- type: ScalarTypeEnum.String_unsecure(),
310
+ type: E5.String_unsecure(),
313
311
  isOptional: false
314
312
  },
315
313
  rolledBackFrom: {
316
- type: ScalarTypeEnum.Int_unsecure(),
314
+ type: E5.Int_unsecure(),
317
315
  isOptional: false
318
316
  }
319
317
  }
@@ -339,20 +337,20 @@ const RollbackTenantConfigCommand = defineCommand({
339
337
  when: "after rollback completes"
340
338
  }] }
341
339
  });
342
- const ListVersionsInput = new SchemaModel({
340
+ const ListVersionsInput = new x8({
343
341
  name: "ListTenantConfigVersionsInput",
344
342
  fields: {
345
343
  tenantId: {
346
- type: ScalarTypeEnum.ID(),
344
+ type: E5.ID(),
347
345
  isOptional: false
348
346
  },
349
347
  appId: {
350
- type: ScalarTypeEnum.ID(),
348
+ type: E5.ID(),
351
349
  isOptional: false
352
350
  }
353
351
  }
354
352
  });
355
- const ListVersionsOutput = new SchemaModel({
353
+ const ListVersionsOutput = new x8({
356
354
  name: "ListTenantConfigVersionsOutput",
357
355
  fields: {
358
356
  versions: {
@@ -384,24 +382,24 @@ const ListTenantConfigVersionsQuery = defineQuery({
384
382
  },
385
383
  policy: LifecycleReadPolicy
386
384
  });
387
- const GetVersionInput = new SchemaModel({
385
+ const GetVersionInput = new x8({
388
386
  name: "GetTenantConfigVersionInput",
389
387
  fields: {
390
388
  tenantId: {
391
- type: ScalarTypeEnum.ID(),
389
+ type: E5.ID(),
392
390
  isOptional: false
393
391
  },
394
392
  appId: {
395
- type: ScalarTypeEnum.ID(),
393
+ type: E5.ID(),
396
394
  isOptional: false
397
395
  },
398
396
  version: {
399
- type: ScalarTypeEnum.Int_unsecure(),
397
+ type: E5.Int_unsecure(),
400
398
  isOptional: false
401
399
  }
402
400
  }
403
401
  });
404
- const GetVersionOutput = new SchemaModel({
402
+ const GetVersionOutput = new x8({
405
403
  name: "GetTenantConfigVersionOutput",
406
404
  fields: { version: {
407
405
  type: ConfigVersionRecord,
@@ -438,4 +436,5 @@ function registerAppConfigLifecycleContracts(registry) {
438
436
  }
439
437
 
440
438
  //#endregion
441
- export { CreateTenantConfigDraftCommand, GetTenantConfigVersionQuery, ListTenantConfigVersionsQuery, PromoteTenantConfigToPreviewCommand, PublishTenantConfigCommand, RollbackTenantConfigCommand, lifecycleContracts, registerAppConfigLifecycleContracts };
439
+ export { CreateTenantConfigDraftCommand, GetTenantConfigVersionQuery, ListTenantConfigVersionsQuery, PromoteTenantConfigToPreviewCommand, PublishTenantConfigCommand, RollbackTenantConfigCommand, lifecycleContracts, registerAppConfigLifecycleContracts };
440
+ //# sourceMappingURL=lifecycle-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-contracts.js","names":["SchemaModel","ScalarTypeEnum","lifecycleContracts: Record<string, ContractSpec<any, any>>"],"sources":["../../src/app-config/lifecycle-contracts.ts"],"sourcesContent":["import { SchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';\nimport type { ContractSpec } from '../spec';\nimport { defineCommand, defineQuery } from '../spec';\nimport { OwnersEnum, StabilityEnum, TagsEnum } from '../ownership';\nimport type { SpecRegistry } from '../registry';\nimport {\n ConfigDraftCreatedEvent,\n ConfigPromotedToPreviewEvent,\n ConfigPublishedEvent,\n ConfigRolledBackEvent,\n} from './events';\n\nconst LifecyclePolicy = {\n auth: 'admin' as const,\n policies: [{ name: 'platform.app-config.manage', version: 1 }],\n};\n\nconst LifecycleReadPolicy = {\n auth: 'admin' as const,\n policies: [{ name: 'platform.app-config.read', version: 1 }],\n};\n\nconst ConfigVersionRecord = new SchemaModel({\n name: 'ConfigVersionRecord',\n fields: {\n meta: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n },\n});\n\nconst ConfigTransitionRecord = new SchemaModel({\n name: 'ConfigTransitionRecord',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n fromStatus: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n toStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n actor: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst CreateDraftInput = new SchemaModel({\n name: 'CreateTenantConfigDraftInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n blueprintName: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n blueprintVersion: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: false,\n },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n fromVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n createdBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst CreateDraftOutput = new SchemaModel({\n name: 'CreateTenantConfigDraftOutput',\n fields: {\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const CreateTenantConfigDraftCommand = defineCommand({\n meta: {\n name: 'appConfig.lifecycle.createDraft',\n version: 1,\n description: 'Creates a new draft tenant config version.',\n owners: [OwnersEnum.PlatformSigil],\n tags: [TagsEnum.Hygiene, 'app-config'],\n stability: StabilityEnum.Experimental,\n goal: 'Allow operators to start editing a new tenant config version.',\n context:\n 'Invoked by the Studio or automation when starting a new configuration run.',\n },\n io: {\n input: CreateDraftInput,\n output: CreateDraftOutput,\n },\n policy: LifecyclePolicy,\n sideEffects: {\n emits: [\n {\n ref: ConfigDraftCreatedEvent,\n when: 'after successful draft creation',\n },\n ],\n },\n});\n\nconst PromotePreviewInput = new SchemaModel({\n name: 'PromoteTenantConfigPreviewInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n promotedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst PromotePreviewOutput = new SchemaModel({\n name: 'PromoteTenantConfigPreviewOutput',\n fields: {\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n warnings: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n isArray: true,\n },\n },\n});\n\nexport const PromoteTenantConfigToPreviewCommand = defineCommand({\n meta: {\n name: 'appConfig.lifecycle.promoteToPreview',\n version: 1,\n description: 'Promotes a draft tenant config to preview/testing state.',\n owners: [OwnersEnum.PlatformSigil],\n tags: [TagsEnum.Hygiene, 'app-config'],\n stability: StabilityEnum.Experimental,\n goal: 'Enable validation and testing of draft configurations.',\n context:\n 'Called when a draft passes initial checks and should be exposed to preview environments.',\n },\n io: {\n input: PromotePreviewInput,\n output: PromotePreviewOutput,\n },\n policy: LifecyclePolicy,\n sideEffects: {\n emits: [\n {\n ref: ConfigPromotedToPreviewEvent,\n when: 'after promotion to preview',\n },\n ],\n },\n});\n\nconst PublishConfigInput = new SchemaModel({\n name: 'PublishTenantConfigInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n publishedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n changeSummary: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n },\n});\n\nconst PublishConfigOutput = new SchemaModel({\n name: 'PublishTenantConfigOutput',\n fields: {\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n previousVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n publishedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const PublishTenantConfigCommand = defineCommand({\n meta: {\n name: 'appConfig.lifecycle.publish',\n version: 1,\n description: 'Publishes a preview tenant config to production.',\n owners: [OwnersEnum.PlatformSigil],\n tags: [TagsEnum.Hygiene, 'app-config'],\n stability: StabilityEnum.Experimental,\n goal: 'Promote tested configurations to production safely.',\n context:\n 'Triggered after validation passes and change management approvals are complete.',\n },\n io: {\n input: PublishConfigInput,\n output: PublishConfigOutput,\n },\n policy: LifecyclePolicy,\n sideEffects: {\n emits: [\n {\n ref: ConfigPublishedEvent,\n when: 'after publish succeeds',\n },\n ],\n },\n});\n\nconst RollbackConfigInput = new SchemaModel({\n name: 'RollbackTenantConfigInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n toVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n environment: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n rolledBackBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst RollbackConfigOutput = new SchemaModel({\n name: 'RollbackTenantConfigOutput',\n fields: {\n newVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n rolledBackFrom: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n});\n\nexport const RollbackTenantConfigCommand = defineCommand({\n meta: {\n name: 'appConfig.lifecycle.rollback',\n version: 1,\n description: 'Rolls back to a previously published tenant config version.',\n owners: [OwnersEnum.PlatformSigil],\n tags: [TagsEnum.Hygiene, 'app-config'],\n stability: StabilityEnum.Experimental,\n goal: 'Provide rapid recovery when new configs regress production.',\n context:\n 'Called manually or automatically when monitoring detects regression and a rollback is required.',\n },\n io: {\n input: RollbackConfigInput,\n output: RollbackConfigOutput,\n },\n policy: LifecyclePolicy,\n sideEffects: {\n emits: [\n {\n ref: ConfigRolledBackEvent,\n when: 'after rollback completes',\n },\n ],\n },\n});\n\nconst ListVersionsInput = new SchemaModel({\n name: 'ListTenantConfigVersionsInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst ListVersionsOutput = new SchemaModel({\n name: 'ListTenantConfigVersionsOutput',\n fields: {\n versions: { type: ConfigVersionRecord, isOptional: false, isArray: true },\n transitions: {\n type: ConfigTransitionRecord,\n isOptional: true,\n isArray: true,\n },\n },\n});\n\nexport const ListTenantConfigVersionsQuery = defineQuery({\n meta: {\n name: 'appConfig.lifecycle.listVersions',\n version: 1,\n description: 'Lists all versions of a tenant configuration.',\n owners: [OwnersEnum.PlatformSigil],\n tags: ['app-config', TagsEnum.Hygiene],\n stability: StabilityEnum.Experimental,\n goal: 'Support lifecycle views and change audit tooling.',\n context:\n 'Used by the Studio to render history timelines and by automation for change tracking.',\n },\n io: {\n input: ListVersionsInput,\n output: ListVersionsOutput,\n },\n policy: LifecycleReadPolicy,\n});\n\nconst GetVersionInput = new SchemaModel({\n name: 'GetTenantConfigVersionInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n appId: { type: ScalarTypeEnum.ID(), isOptional: false },\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n});\n\nconst GetVersionOutput = new SchemaModel({\n name: 'GetTenantConfigVersionOutput',\n fields: {\n version: { type: ConfigVersionRecord, isOptional: false },\n },\n});\n\nexport const GetTenantConfigVersionQuery = defineQuery({\n meta: {\n name: 'appConfig.lifecycle.getVersion',\n version: 1,\n description: 'Fetches a single tenant config version by id.',\n owners: [OwnersEnum.PlatformSigil],\n tags: ['app-config', TagsEnum.Hygiene],\n stability: StabilityEnum.Experimental,\n goal: 'Allow detail drill-down for lifecycle entries.',\n context:\n 'Used by automation to fetch config payloads for comparison or export.',\n },\n io: {\n input: GetVersionInput,\n output: GetVersionOutput,\n },\n policy: LifecycleReadPolicy,\n});\n\nexport const lifecycleContracts: Record<string, ContractSpec<any, any>> = {\n CreateTenantConfigDraftCommand,\n PromoteTenantConfigToPreviewCommand,\n PublishTenantConfigCommand,\n RollbackTenantConfigCommand,\n ListTenantConfigVersionsQuery,\n GetTenantConfigVersionQuery,\n};\n\nexport function registerAppConfigLifecycleContracts(registry: SpecRegistry) {\n return registry\n .register(CreateTenantConfigDraftCommand)\n .register(PromoteTenantConfigToPreviewCommand)\n .register(PublishTenantConfigCommand)\n .register(RollbackTenantConfigCommand)\n .register(ListTenantConfigVersionsQuery)\n .register(GetTenantConfigVersionQuery);\n}\n"],"mappings":"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"}
@@ -24,4 +24,5 @@ interface ConfigVersionHistory {
24
24
  currentPublished?: number;
25
25
  }
26
26
  //#endregion
27
- export { ConfigStatus, ConfigTransition, ConfigVersionHistory, TenantAppConfigVersion };
27
+ export { ConfigStatus, ConfigTransition, ConfigVersionHistory, TenantAppConfigVersion };
28
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","names":[],"sources":["../../src/app-config/lifecycle.ts"],"sourcesContent":[],"mappings":";;;KAEY,YAAA;UAOK,sBAAA;EAPL,IAAA,EAQJ,eARgB,CAAA,MAAA,CAAA;EAOP,MAAA,EAEP,eAFO;AAKjB;AAGc,UAHG,gBAAA,CAGH;EACF,QAAA,EAAA,MAAA;EAEU,KAAA,EAAA,MAAA;EAAI,UAAA,EAHZ,YAGY;EAKT,QAAA,EAPL,YAOK;;sBALK;;;;UAKL,oBAAA;;;YAGL;eACG"}
@@ -111,4 +111,5 @@ interface ComposeOptions {
111
111
  declare function resolveAppConfig(blueprint: AppBlueprintSpec, tenant: TenantAppConfig, deps?: ResolveAppConfigDeps): ResolvedAppConfig;
112
112
  declare function composeAppConfig(blueprint: AppBlueprintSpec, tenant: TenantAppConfig, deps: AppCompositionDeps, options?: ComposeOptions): AppComposition;
113
113
  //#endregion
114
- export { AppComposition, AppCompositionDeps, ComposeOptions, MissingReference, ResolveAppConfigDeps, ResolvedAppConfig, ResolvedIntegration, ResolvedKnowledge, ResolvedTranslation, composeAppConfig, resolveAppConfig };
114
+ export { AppComposition, AppCompositionDeps, ComposeOptions, MissingReference, ResolveAppConfigDeps, ResolvedAppConfig, ResolvedIntegration, ResolvedKnowledge, ResolvedTranslation, composeAppConfig, resolveAppConfig };
115
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","names":[],"sources":["../../src/app-config/runtime.ts"],"sourcesContent":[],"mappings":"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"}
@@ -614,4 +614,5 @@ function dedupeStrings(values) {
614
614
  }
615
615
 
616
616
  //#endregion
617
- export { composeAppConfig, resolveAppConfig };
617
+ export { composeAppConfig, resolveAppConfig };
618
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","names":["missing: MissingReference[]","merged: Record<string, SpecPointer>","binding: TelemetryBinding","localePreferenceOrder: string[]","appName: string | undefined","assets","assets: ResolvedBranding['assets']","colors: ResolvedBranding['colors']","resolved: ResolvedIntegration[]","resolved: CapabilitySpec[]","resolved: FeatureModuleSpec[]","resolved: Record<string, TSpec>","resolved: PolicySpec[]","themeMissing: MissingReference[]","fallbacks: ThemeSpec[]","telemetryMissing: MissingReference[]","resolved: ExperimentSpec[]"],"sources":["../../src/app-config/runtime.ts"],"sourcesContent":["import type {\n CapabilityRef,\n CapabilityRegistry,\n CapabilitySpec,\n} from '../capabilities';\nimport type {\n FeatureRegistry,\n FeatureModuleSpec,\n FeatureRef,\n} from '../features';\nimport type { DataViewRegistry, DataViewSpec } from '../data-views';\nimport type { WorkflowRegistry, WorkflowSpec } from '../workflow/spec';\nimport type { PolicyRef, PolicyRegistry, PolicySpec } from '../policy/spec';\nimport type { ThemeRegistry, ThemeSpec } from '../themes';\nimport type { TelemetryRegistry, TelemetrySpec } from '../telemetry/spec';\nimport type {\n ExperimentRef,\n ExperimentRegistry,\n ExperimentSpec,\n} from '../experiments/spec';\nimport type {\n IntegrationSpec,\n IntegrationSpecRegistry,\n} from '../integrations/spec';\nimport type { IntegrationConnection } from '../integrations/connection';\nimport type { AppIntegrationBinding } from '../integrations/binding';\nimport type {\n KnowledgeSpaceSpec,\n KnowledgeSpaceRegistry,\n} from '../knowledge/spec';\nimport type { KnowledgeSourceConfig } from '../knowledge/source';\nimport type { AppKnowledgeBinding } from '../knowledge/binding';\nimport type {\n BrandingAssetRef,\n BrandingDefaults,\n ResolvedBranding,\n TenantBrandingAsset,\n TenantBrandingConfig,\n} from './branding';\nimport type { Locale, TranslationEntry } from '../translations/catalog';\nimport type {\n AppBlueprintSpec,\n AppIntegrationSlot,\n AppRouteConfig,\n AppThemeBinding,\n FeatureFlagState,\n SpecPointer,\n TelemetryBinding,\n TenantAppConfig,\n TenantRouteOverride,\n TenantSpecOverride,\n TranslationCatalogPointer,\n} from './spec';\n\nexport interface ResolvedIntegration {\n slot: AppIntegrationSlot;\n binding: AppIntegrationBinding;\n connection: IntegrationConnection;\n spec: IntegrationSpec;\n}\n\nexport interface ResolvedKnowledge {\n binding: AppKnowledgeBinding;\n space: KnowledgeSpaceSpec;\n sources: KnowledgeSourceConfig[];\n}\n\nexport interface ResolvedTranslation {\n defaultLocale: Locale;\n supportedLocales: Locale[];\n blueprintCatalog?: TranslationCatalogPointer;\n tenantOverrides: TranslationEntry[];\n}\n\nexport interface ResolvedAppConfig {\n appId: string;\n tenantId: string;\n environment?: string;\n blueprintName: string;\n blueprintVersion: number;\n configVersion: number;\n capabilities: {\n enabled: CapabilityRef[];\n disabled: CapabilityRef[];\n };\n features: {\n include: FeatureRef[];\n exclude: FeatureRef[];\n };\n dataViews: Record<string, SpecPointer>;\n workflows: Record<string, SpecPointer>;\n policies: PolicyRef[];\n theme?: AppThemeBinding;\n telemetry?: TelemetryBinding;\n experiments: {\n catalog: ExperimentRef[];\n active: ExperimentRef[];\n paused: ExperimentRef[];\n };\n featureFlags: FeatureFlagState[];\n routes: AppRouteConfig[];\n integrations: ResolvedIntegration[];\n knowledge: ResolvedKnowledge[];\n translation: ResolvedTranslation;\n branding: ResolvedBranding;\n notes?: string;\n}\n\nexport interface AppComposition {\n resolved: ResolvedAppConfig;\n capabilities: CapabilitySpec[];\n features: FeatureModuleSpec[];\n dataViews: Record<string, DataViewSpec>;\n workflows: Record<string, WorkflowSpec>;\n policies: PolicySpec[];\n theme?: ThemeSpec;\n themeFallbacks: ThemeSpec[];\n telemetry?: TelemetrySpec;\n experiments: {\n active: ExperimentSpec[];\n paused: ExperimentSpec[];\n };\n integrations: ResolvedIntegration[];\n knowledge: ResolvedKnowledge[];\n missing: MissingReference[];\n}\n\nexport interface MissingReference {\n type:\n | 'capability'\n | 'feature'\n | 'dataView'\n | 'workflow'\n | 'policy'\n | 'theme'\n | 'telemetry'\n | 'experiment'\n | 'integrationConnection'\n | 'integrationSpec'\n | 'integrationSlot'\n | 'knowledgeSpace'\n | 'knowledgeSource';\n identifier: string;\n}\n\nexport interface ResolveAppConfigDeps {\n integrationSpecs?: IntegrationSpecRegistry;\n integrationConnections?: IntegrationConnection[];\n knowledgeSpaces?: KnowledgeSpaceRegistry;\n knowledgeSources?: KnowledgeSourceConfig[];\n}\n\nexport interface AppCompositionDeps extends ResolveAppConfigDeps {\n capabilities?: CapabilityRegistry;\n features?: FeatureRegistry;\n dataViews?: DataViewRegistry;\n workflows?: WorkflowRegistry;\n policies?: PolicyRegistry;\n themes?: ThemeRegistry;\n telemetry?: TelemetryRegistry;\n experiments?: ExperimentRegistry;\n}\n\nexport interface ComposeOptions {\n strict?: boolean;\n}\n\nexport function resolveAppConfig(\n blueprint: AppBlueprintSpec,\n tenant: TenantAppConfig,\n deps: ResolveAppConfigDeps = {}\n): ResolvedAppConfig {\n const capabilities = mergeCapabilities(\n blueprint.capabilities,\n tenant.capabilities\n );\n const features = mergeFeatures(blueprint.features, tenant.features);\n const dataViews = mergeMappings(\n blueprint.dataViews ?? {},\n tenant.dataViewOverrides\n );\n const workflows = mergeMappings(\n blueprint.workflows ?? {},\n tenant.workflowOverrides\n );\n const policies = mergePolicies(\n blueprint.policies ?? [],\n tenant.additionalPolicies ?? []\n );\n const theme = mergeTheme(blueprint.theme, tenant.themeOverride);\n const telemetry = mergeTelemetry(\n blueprint.telemetry,\n tenant.telemetryOverride\n );\n const experiments = mergeExperiments(\n blueprint.experiments,\n tenant.experiments\n );\n const featureFlags = mergeFeatureFlags(\n blueprint.featureFlags ?? [],\n tenant.featureFlags ?? []\n );\n const routes = mergeRoutes(\n blueprint.routes ?? [],\n tenant.routeOverrides ?? []\n );\n const { resolved: integrations } = evaluateIntegrationSlots(\n blueprint.integrationSlots,\n tenant.integrations,\n deps.integrationConnections,\n deps.integrationSpecs\n );\n const knowledge = resolveKnowledgeBindings(\n tenant.knowledge,\n deps.knowledgeSpaces,\n deps.knowledgeSources\n );\n const branding = resolveBranding(blueprint.branding, tenant);\n const translation = resolveTranslation(\n blueprint.translationCatalog,\n tenant.locales,\n tenant.translationOverrides\n );\n\n return {\n appId: blueprint.meta.appId,\n tenantId: tenant.meta.tenantId,\n environment: tenant.meta.environment,\n blueprintName: blueprint.meta.name,\n blueprintVersion: blueprint.meta.version,\n configVersion: tenant.meta.version,\n capabilities,\n features,\n dataViews,\n workflows,\n policies,\n theme,\n telemetry,\n experiments,\n featureFlags,\n routes,\n integrations,\n knowledge,\n translation,\n branding,\n notes: tenant.notes ?? blueprint.notes,\n };\n}\n\nexport function composeAppConfig(\n blueprint: AppBlueprintSpec,\n tenant: TenantAppConfig,\n deps: AppCompositionDeps,\n options: ComposeOptions = {}\n): AppComposition {\n const resolved = resolveAppConfig(blueprint, tenant, deps);\n const missing: MissingReference[] = [];\n\n const integrationEvaluation = evaluateIntegrationSlots(\n blueprint.integrationSlots,\n tenant.integrations,\n deps.integrationConnections,\n deps.integrationSpecs\n );\n resolved.integrations = integrationEvaluation.resolved;\n missing.push(...integrationEvaluation.missing);\n missing.push(\n ...collectMissingKnowledge(\n tenant.knowledge ?? [],\n deps.knowledgeSpaces,\n deps.knowledgeSources\n )\n );\n\n const capabilities = resolveCapabilityRefs(\n resolved.capabilities.enabled,\n deps.capabilities,\n missing\n );\n\n const features = resolveFeatureRefs(\n resolved.features.include,\n deps.features,\n missing\n );\n\n const dataViews = resolvePointerRecord(\n resolved.dataViews,\n deps.dataViews,\n 'dataView',\n missing\n );\n\n const workflows = resolvePointerRecord(\n resolved.workflows,\n deps.workflows,\n 'workflow',\n missing\n );\n\n const policies = resolvePolicies(resolved.policies, deps.policies, missing);\n\n const { theme, fallbacks, themeMissing } = resolveThemeBinding(\n resolved.theme,\n deps.themes\n );\n missing.push(...themeMissing);\n\n const { telemetry, telemetryMissing } = resolveTelemetryBinding(\n resolved.telemetry,\n deps.telemetry\n );\n missing.push(...telemetryMissing);\n\n const experiments = resolveExperimentsSpecs(\n resolved.experiments,\n deps.experiments,\n missing\n );\n\n if (options.strict && missing.length > 0) {\n const reasons = missing\n .map((item) => `${item.type}:${item.identifier}`)\n .join(', ');\n throw new Error(`composeAppConfig: missing references -> ${reasons}`);\n }\n\n return {\n resolved,\n capabilities,\n features,\n dataViews,\n workflows,\n policies,\n theme,\n themeFallbacks: fallbacks,\n telemetry,\n experiments,\n integrations: resolved.integrations,\n knowledge: resolved.knowledge,\n missing,\n };\n}\n\nfunction mergeCapabilities(\n blueprint: AppBlueprintSpec['capabilities'],\n tenant: TenantAppConfig['capabilities']\n): { enabled: CapabilityRef[]; disabled: CapabilityRef[] } {\n const enabled = dedupeRefs(\n [...(blueprint?.enabled ?? []), ...(tenant?.enable ?? [])],\n capabilityKey\n );\n const disabled = dedupeRefs(\n [...(blueprint?.disabled ?? []), ...(tenant?.disable ?? [])],\n capabilityKey\n );\n const disabledKeys = new Set(disabled.map(capabilityKey));\n const filteredEnabled = enabled.filter(\n (ref) => !disabledKeys.has(capabilityKey(ref))\n );\n return { enabled: filteredEnabled, disabled };\n}\n\nfunction mergeFeatures(\n blueprint: AppBlueprintSpec['features'],\n tenant: TenantAppConfig['features']\n): { include: FeatureRef[]; exclude: FeatureRef[] } {\n const include = dedupeRefs(\n [...(blueprint?.include ?? []), ...(tenant?.include ?? [])],\n featureKey\n );\n const exclude = dedupeRefs(\n [...(blueprint?.exclude ?? []), ...(tenant?.exclude ?? [])],\n featureKey\n );\n const excludeSet = new Set(exclude.map(featureKey));\n const filteredInclude = include.filter(\n (ref) => !excludeSet.has(featureKey(ref))\n );\n return { include: filteredInclude, exclude };\n}\n\nfunction mergeMappings(\n blueprint: Record<string, SpecPointer>,\n overrides: TenantSpecOverride[] | undefined\n): Record<string, SpecPointer> {\n const merged: Record<string, SpecPointer> = { ...blueprint };\n if (!overrides) return merged;\n for (const override of overrides) {\n if (!override) continue;\n if (!override.pointer) {\n delete merged[override.slot];\n } else {\n merged[override.slot] = override.pointer;\n }\n }\n return merged;\n}\n\nfunction mergePolicies(\n blueprint: PolicyRef[],\n additional: PolicyRef[]\n): PolicyRef[] {\n return dedupeRefs([...blueprint, ...additional], policyKey);\n}\n\nfunction mergeTheme(\n blueprint: AppThemeBinding | undefined,\n override: TenantAppConfig['themeOverride']\n): AppThemeBinding | undefined {\n if (!blueprint && !override) return undefined;\n const primary = override?.primary ?? blueprint?.primary;\n if (!primary) return undefined;\n const fallbacks = override?.fallbacks ?? blueprint?.fallbacks ?? [];\n return { primary, fallbacks };\n}\n\nfunction mergeTelemetry(\n blueprint: TelemetryBinding | undefined,\n override: TenantAppConfig['telemetryOverride']\n): TelemetryBinding | undefined {\n if (!blueprint && !override) return undefined;\n const binding: TelemetryBinding = {\n spec: blueprint?.spec,\n disabledEvents: blueprint?.disabledEvents\n ? [...blueprint.disabledEvents]\n : undefined,\n samplingOverrides: blueprint?.samplingOverrides\n ? { ...blueprint.samplingOverrides }\n : undefined,\n };\n if (override?.spec !== undefined) {\n binding.spec = override.spec ?? undefined;\n }\n if (override?.disabledEvents) {\n binding.disabledEvents = dedupeStrings([\n ...(binding.disabledEvents ?? []),\n ...override.disabledEvents,\n ]);\n }\n if (override?.samplingOverrides) {\n binding.samplingOverrides = {\n ...(binding.samplingOverrides ?? {}),\n ...override.samplingOverrides,\n };\n }\n if (!binding.spec && !binding.disabledEvents?.length) {\n return undefined;\n }\n return binding;\n}\n\nfunction mergeExperiments(\n blueprint: AppBlueprintSpec['experiments'],\n tenant: TenantAppConfig['experiments']\n): {\n catalog: ExperimentRef[];\n active: ExperimentRef[];\n paused: ExperimentRef[];\n} {\n const defaultActive = blueprint?.active ?? [];\n const defaultPaused = blueprint?.paused ?? [];\n const tenantActive = tenant?.active;\n const tenantPaused = tenant?.paused;\n\n const activeSource =\n tenantActive && tenantActive.length > 0 ? tenantActive : defaultActive;\n const pausedSource =\n tenantPaused && tenantPaused.length > 0 ? tenantPaused : defaultPaused;\n\n const active = dedupeRefs(activeSource, experimentKey);\n let paused = dedupeRefs(pausedSource, experimentKey);\n const activeKeys = new Set(active.map(experimentKey));\n paused = paused.filter((ref) => !activeKeys.has(experimentKey(ref)));\n\n const catalog = dedupeRefs(\n [\n ...defaultActive,\n ...defaultPaused,\n ...(tenantActive ?? []),\n ...(tenantPaused ?? []),\n ],\n experimentKey\n );\n\n return { catalog, active, paused };\n}\n\nfunction resolveBranding(\n defaults: BrandingDefaults | undefined,\n tenant: TenantAppConfig\n): ResolvedBranding {\n const override = tenant.branding;\n const tenantMeta = tenant.meta;\n const baseDomain = 'app.localhost';\n const domain =\n override?.customDomain ??\n (override?.subdomain\n ? `${override.subdomain}.${baseDomain}`\n : `${tenantMeta.tenantId}.${baseDomain}`);\n\n const localePreferenceOrder: string[] = [];\n if (tenant.locales?.defaultLocale) {\n localePreferenceOrder.push(tenant.locales.defaultLocale);\n }\n if (override?.appName) {\n localePreferenceOrder.push('default', 'en');\n }\n\n let appName: string | undefined;\n if (override?.appName) {\n for (const key of localePreferenceOrder) {\n const candidate = override.appName[key];\n if (candidate) {\n appName = candidate;\n break;\n }\n }\n if (!appName) {\n const [, firstValue] = Object.entries(override.appName)[0] ?? [];\n if (typeof firstValue === 'string') {\n appName = firstValue;\n }\n }\n }\n if (!appName) {\n appName = defaults?.appNameKey ?? tenantMeta.appId;\n }\n\n const assetEntries = new Map<BrandingAssetRef['type'], string | undefined>();\n\n const applyAssets = (assets?: (BrandingAssetRef | TenantBrandingAsset)[]) => {\n if (!assets) return;\n for (const asset of assets) {\n if (!asset?.type) continue;\n if ('url' in asset && asset.url) {\n assetEntries.set(asset.type, asset.url);\n }\n }\n };\n\n applyAssets(defaults?.assets);\n applyAssets(override?.assets);\n\n const assets: ResolvedBranding['assets'] = {\n logo: assetEntries.get('logo'),\n logoDark: assetEntries.get('logo-dark'),\n favicon: assetEntries.get('favicon'),\n ogImage: assetEntries.get('og-image'),\n };\n\n const colors: ResolvedBranding['colors'] = {\n primary:\n override?.colors?.primary ?? defaults?.colorTokens?.primary ?? '#1f2937',\n secondary:\n override?.colors?.secondary ??\n defaults?.colorTokens?.secondary ??\n '#4b5563',\n };\n\n return {\n appName,\n assets,\n colors,\n domain,\n };\n}\n\nfunction resolveTranslation(\n catalogPointer: TranslationCatalogPointer | undefined,\n locales: TenantAppConfig['locales'],\n overrides: TenantAppConfig['translationOverrides']\n): ResolvedTranslation {\n const defaultLocale = locales?.defaultLocale ?? 'en';\n const enabled = locales?.enabledLocales ?? [];\n const supportedLocales = dedupeStrings([defaultLocale, ...enabled]);\n const entries = overrides?.entries ?? [];\n\n return {\n defaultLocale,\n supportedLocales,\n blueprintCatalog: catalogPointer,\n tenantOverrides: entries,\n };\n}\n\nfunction mergeFeatureFlags(\n blueprint: FeatureFlagState[],\n overrides: FeatureFlagState[]\n): FeatureFlagState[] {\n const merged = new Map<string, FeatureFlagState>();\n for (const flag of blueprint) {\n merged.set(flag.key, { ...flag });\n }\n for (const override of overrides) {\n merged.set(override.key, { ...override });\n }\n return [...merged.values()];\n}\n\nfunction mergeRoutes(\n blueprint: AppRouteConfig[],\n overrides: TenantRouteOverride[]\n): AppRouteConfig[] {\n const routes = new Map<string, AppRouteConfig>();\n for (const route of blueprint) {\n routes.set(route.path, { ...route });\n }\n for (const override of overrides) {\n const existing = routes.get(override.path) ?? { path: override.path };\n if (override.label !== undefined) {\n if (override.label === null) delete existing.label;\n else existing.label = override.label;\n }\n if (override.dataView !== undefined) {\n if (override.dataView === null) delete existing.dataView;\n else existing.dataView = override.dataView;\n }\n if (override.workflow !== undefined) {\n if (override.workflow === null) delete existing.workflow;\n else existing.workflow = override.workflow;\n }\n if (override.guard !== undefined) {\n if (override.guard === null) delete existing.guard;\n else existing.guard = override.guard;\n }\n if (override.featureFlag !== undefined) {\n if (override.featureFlag === null) delete existing.featureFlag;\n else existing.featureFlag = override.featureFlag;\n }\n if (override.experiment !== undefined) {\n if (override.experiment === null) delete existing.experiment;\n else existing.experiment = override.experiment;\n }\n routes.set(existing.path, existing);\n }\n return [...routes.values()];\n}\n\nfunction evaluateIntegrationSlots(\n slots: AppIntegrationSlot[] | undefined,\n bindings: AppIntegrationBinding[] | undefined,\n connections: IntegrationConnection[] | undefined,\n specs: IntegrationSpecRegistry | undefined\n): { resolved: ResolvedIntegration[]; missing: MissingReference[] } {\n const resolved: ResolvedIntegration[] = [];\n const missing: MissingReference[] = [];\n const missingKeys = new Set<string>();\n\n const recordMissing = (entry: MissingReference) => {\n const key = `${entry.type}:${entry.identifier}`;\n if (missingKeys.has(key)) return;\n missingKeys.add(key);\n missing.push(entry);\n };\n\n const slotList = slots ?? [];\n const slotById = new Map<string, AppIntegrationSlot>();\n for (const slot of slotList) {\n slotById.set(slot.slotId, slot);\n }\n\n const bindingsBySlot = new Map<string, AppIntegrationBinding[]>();\n for (const binding of bindings ?? []) {\n const slot = slotById.get(binding.slotId);\n if (!slot) {\n recordMissing({\n type: 'integrationSlot',\n identifier: `slot:${binding.slotId}`,\n });\n continue;\n }\n const entries = bindingsBySlot.get(binding.slotId);\n if (entries) entries.push(binding);\n else bindingsBySlot.set(binding.slotId, [binding]);\n }\n\n for (const slot of slotList) {\n const slotBindings = bindingsBySlot.get(slot.slotId) ?? [];\n if (slot.required && slotBindings.length === 0) {\n recordMissing({\n type: 'integrationSlot',\n identifier: `slot:${slot.slotId}`,\n });\n }\n }\n\n if (!connections || !specs) {\n return { resolved, missing };\n }\n\n const connectionById = new Map<string, IntegrationConnection>();\n for (const connection of connections) {\n connectionById.set(connection.meta.id, connection);\n }\n\n for (const slot of slotList) {\n const slotBindings = bindingsBySlot.get(slot.slotId) ?? [];\n if (slotBindings.length === 0) continue;\n\n const orderedBindings = [...slotBindings].sort((a, b) => {\n const aPriority = a.priority ?? Number.MAX_SAFE_INTEGER;\n const bPriority = b.priority ?? Number.MAX_SAFE_INTEGER;\n if (aPriority === bPriority) return 0;\n return aPriority < bPriority ? -1 : 1;\n });\n\n let slotResolved = false;\n for (const binding of orderedBindings) {\n const connection = connectionById.get(binding.connectionId);\n if (!connection) {\n recordMissing({\n type: 'integrationConnection',\n identifier: `connection:${binding.connectionId}`,\n });\n continue;\n }\n\n const spec = specs.get(\n connection.meta.integrationKey,\n connection.meta.integrationVersion\n );\n if (!spec) {\n recordMissing({\n type: 'integrationSpec',\n identifier: `spec:${connection.meta.integrationKey}.v${connection.meta.integrationVersion}`,\n });\n continue;\n }\n\n if (spec.meta.category !== slot.requiredCategory) {\n recordMissing({\n type: 'integrationSpec',\n identifier: `spec:${spec.meta.key}.category`,\n });\n continue;\n }\n\n if (!spec.supportedModes.includes(connection.ownershipMode)) {\n recordMissing({\n type: 'integrationSpec',\n identifier: `spec:${spec.meta.key}.mode:${connection.ownershipMode}`,\n });\n continue;\n }\n\n if (\n slot.allowedModes &&\n slot.allowedModes.length > 0 &&\n !slot.allowedModes.includes(connection.ownershipMode)\n ) {\n recordMissing({\n type: 'integrationConnection',\n identifier: `connection:${connection.meta.id}:mode`,\n });\n continue;\n }\n\n if (\n slot.requiredCapabilities &&\n !slot.requiredCapabilities.every((requirement) =>\n integrationProvidesCapability(spec, requirement)\n )\n ) {\n recordMissing({\n type: 'integrationSpec',\n identifier: `spec:${spec.meta.key}.capabilities`,\n });\n continue;\n }\n\n resolved.push({\n slot,\n binding,\n connection,\n spec,\n });\n slotResolved = true;\n break;\n }\n\n if (!slotResolved && slot.required) {\n recordMissing({\n type: 'integrationSlot',\n identifier: `slot:${slot.slotId}`,\n });\n }\n }\n\n return { resolved, missing };\n}\n\nfunction integrationProvidesCapability(\n spec: IntegrationSpec,\n required: CapabilityRef\n): boolean {\n return spec.capabilities.provides.some((capability) => {\n if (capability.key !== required.key) return false;\n if (required.version == null) return true;\n return capability.version === required.version;\n });\n}\n\nfunction resolveKnowledgeBindings(\n bindings: AppKnowledgeBinding[] | undefined,\n spaces: KnowledgeSpaceRegistry | undefined,\n sources: KnowledgeSourceConfig[] | undefined\n): ResolvedKnowledge[] {\n if (!bindings?.length || !spaces) return [];\n const sourceList = sources ?? [];\n return bindings\n .map((binding) => {\n const space = spaces.get(binding.spaceKey, binding.spaceVersion);\n if (!space) return null;\n const relevantSources = sourceList.filter((source) => {\n if (source.meta.spaceKey !== binding.spaceKey) return false;\n if (binding.spaceVersion != null) {\n return source.meta.spaceVersion === binding.spaceVersion;\n }\n return true;\n });\n return {\n binding,\n space,\n sources: relevantSources,\n };\n })\n .filter((entry): entry is ResolvedKnowledge => entry !== null);\n}\n\nfunction collectMissingKnowledge(\n bindings: AppKnowledgeBinding[],\n spaces: KnowledgeSpaceRegistry | undefined,\n sources: KnowledgeSourceConfig[] | undefined\n): MissingReference[] {\n if (!bindings.length || !spaces) return [];\n const missing: MissingReference[] = [];\n const sourceList = sources ?? [];\n\n for (const binding of bindings) {\n const space = spaces.get(binding.spaceKey, binding.spaceVersion);\n if (!space) {\n missing.push({\n type: 'knowledgeSpace',\n identifier: binding.spaceVersion\n ? `${binding.spaceKey}@${binding.spaceVersion}`\n : binding.spaceKey,\n });\n continue;\n }\n if (sources) {\n const relevantSources = sourceList.filter((source) => {\n if (source.meta.spaceKey !== binding.spaceKey) return false;\n if (binding.spaceVersion != null) {\n return source.meta.spaceVersion === binding.spaceVersion;\n }\n return true;\n });\n if (relevantSources.length === 0) {\n missing.push({\n type: 'knowledgeSource',\n identifier: binding.spaceVersion\n ? `${binding.spaceKey}@${binding.spaceVersion}`\n : binding.spaceKey,\n });\n }\n }\n }\n\n return missing;\n}\n\nfunction resolveCapabilityRefs(\n refs: CapabilityRef[],\n registry: CapabilityRegistry | undefined,\n missing: MissingReference[]\n): CapabilitySpec[] {\n if (!registry) {\n if (refs.length > 0) {\n for (const ref of refs) {\n missing.push({\n type: 'capability',\n identifier: capabilityKey(ref),\n });\n }\n }\n return [];\n }\n\n const resolved: CapabilitySpec[] = [];\n for (const ref of refs) {\n const spec = registry.get(ref.key, ref.version);\n if (!spec) {\n missing.push({\n type: 'capability',\n identifier: capabilityKey(ref),\n });\n continue;\n }\n resolved.push(spec);\n }\n return resolved;\n}\n\nfunction resolveFeatureRefs(\n refs: FeatureRef[],\n registry: FeatureRegistry | undefined,\n missing: MissingReference[]\n): FeatureModuleSpec[] {\n if (!registry) {\n if (refs.length > 0) {\n for (const ref of refs) {\n missing.push({ type: 'feature', identifier: ref.key });\n }\n }\n return [];\n }\n const resolved: FeatureModuleSpec[] = [];\n for (const ref of refs) {\n const spec = registry.get(ref.key);\n if (!spec) {\n missing.push({ type: 'feature', identifier: ref.key });\n continue;\n }\n resolved.push(spec);\n }\n return resolved;\n}\n\nfunction resolvePointerRecord<TSpec>(\n record: Record<string, SpecPointer>,\n registry:\n | { get(name: string, version?: number): TSpec | undefined }\n | undefined,\n type: 'dataView' | 'workflow',\n missing: MissingReference[]\n): Record<string, TSpec> {\n if (!registry) {\n if (Object.keys(record).length > 0) {\n for (const [slot, pointer] of Object.entries(record)) {\n missing.push({\n type,\n identifier: `${slot} -> ${specPointerKey(pointer)}`,\n });\n }\n }\n return {};\n }\n const resolved: Record<string, TSpec> = {};\n for (const [slot, pointer] of Object.entries(record)) {\n const spec = registry.get(pointer.name, pointer.version);\n if (!spec) {\n missing.push({\n type,\n identifier: `${slot} -> ${specPointerKey(pointer)}`,\n });\n continue;\n }\n resolved[slot] = spec;\n }\n return resolved;\n}\n\nfunction resolvePolicies(\n policies: PolicyRef[],\n registry: PolicyRegistry | undefined,\n missing: MissingReference[]\n): PolicySpec[] {\n if (!registry) {\n if (policies.length > 0) {\n for (const policy of policies) {\n missing.push({\n type: 'policy',\n identifier: policyKey(policy),\n });\n }\n }\n return [];\n }\n const resolved: PolicySpec[] = [];\n for (const policy of policies) {\n const spec = registry.get(policy.name, policy.version);\n if (!spec) {\n missing.push({\n type: 'policy',\n identifier: policyKey(policy),\n });\n continue;\n }\n resolved.push(spec);\n }\n return resolved;\n}\n\nfunction resolveThemeBinding(\n binding: AppThemeBinding | undefined,\n registry: ThemeRegistry | undefined\n): {\n theme?: ThemeSpec;\n fallbacks: ThemeSpec[];\n themeMissing: MissingReference[];\n} {\n const themeMissing: MissingReference[] = [];\n if (!binding) {\n return { theme: undefined, fallbacks: [], themeMissing };\n }\n if (!registry) {\n themeMissing.push({\n type: 'theme',\n identifier: `${binding.primary.name}.v${binding.primary.version}`,\n });\n for (const fallback of binding.fallbacks ?? []) {\n themeMissing.push({\n type: 'theme',\n identifier: `${fallback.name}.v${fallback.version}`,\n });\n }\n return { theme: undefined, fallbacks: [], themeMissing };\n }\n const theme = registry.get(binding.primary.name, binding.primary.version);\n if (!theme) {\n themeMissing.push({\n type: 'theme',\n identifier: `${binding.primary.name}.v${binding.primary.version}`,\n });\n }\n const fallbacks: ThemeSpec[] = [];\n for (const fallback of binding.fallbacks ?? []) {\n const spec = registry.get(fallback.name, fallback.version);\n if (!spec) {\n themeMissing.push({\n type: 'theme',\n identifier: `${fallback.name}.v${fallback.version}`,\n });\n continue;\n }\n fallbacks.push(spec);\n }\n return { theme: theme ?? undefined, fallbacks, themeMissing };\n}\n\nfunction resolveTelemetryBinding(\n binding: TelemetryBinding | undefined,\n registry: TelemetryRegistry | undefined\n): { telemetry?: TelemetrySpec; telemetryMissing: MissingReference[] } {\n const telemetryMissing: MissingReference[] = [];\n if (!binding?.spec) {\n return { telemetry: undefined, telemetryMissing };\n }\n if (!registry) {\n telemetryMissing.push({\n type: 'telemetry',\n identifier: specPointerKey(binding.spec),\n });\n return { telemetry: undefined, telemetryMissing };\n }\n const telemetry = registry.get(binding.spec.name, binding.spec.version);\n if (!telemetry) {\n telemetryMissing.push({\n type: 'telemetry',\n identifier: specPointerKey(binding.spec),\n });\n }\n return { telemetry: telemetry ?? undefined, telemetryMissing };\n}\n\nfunction resolveExperimentsSpecs(\n experiments: ResolvedAppConfig['experiments'],\n registry: ExperimentRegistry | undefined,\n missing: MissingReference[]\n): { active: ExperimentSpec[]; paused: ExperimentSpec[] } {\n const resolveList = (refs: ExperimentRef[]): ExperimentSpec[] => {\n if (refs.length === 0) return [];\n if (!registry) {\n for (const ref of refs) {\n missing.push({\n type: 'experiment',\n identifier: experimentKey(ref),\n });\n }\n return [];\n }\n const resolved: ExperimentSpec[] = [];\n for (const ref of refs) {\n const spec = registry.get(ref.name, ref.version);\n if (!spec) {\n missing.push({\n type: 'experiment',\n identifier: experimentKey(ref),\n });\n continue;\n }\n resolved.push(spec);\n }\n return resolved;\n };\n\n return {\n active: resolveList(experiments.active),\n paused: resolveList(experiments.paused),\n };\n}\n\nfunction capabilityKey(ref: CapabilityRef) {\n return `${ref.key}${ref.version ? `.v${ref.version}` : ''}`;\n}\n\nfunction featureKey(ref: FeatureRef) {\n return ref.key;\n}\n\nfunction specPointerKey(pointer: SpecPointer) {\n return `${pointer.name}${pointer.version ? `.v${pointer.version}` : ''}`;\n}\n\nfunction policyKey(ref: PolicyRef) {\n return `${ref.name}${ref.version ? `.v${ref.version}` : ''}`;\n}\n\nfunction experimentKey(ref: ExperimentRef) {\n return `${ref.name}${ref.version ? `.v${ref.version}` : ''}`;\n}\n\nfunction dedupeRefs<T>(refs: T[], keyFn: (value: T) => string): T[] {\n const map = new Map<string, T>();\n for (const ref of refs) {\n map.set(keyFn(ref), ref);\n }\n return [...map.values()];\n}\n\nfunction dedupeStrings(values: string[]): string[] {\n return [...new Set(values)];\n}\n"],"mappings":"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"}
@@ -172,4 +172,5 @@ interface TenantAppConfig {
172
172
  notes?: string;
173
173
  }
174
174
  //#endregion
175
- export { AppBlueprintMeta, AppBlueprintRegistry, AppBlueprintSpec, AppIntegrationSlot, AppRouteConfig, AppThemeBinding, FeatureFlagState, SpecPointer, TelemetryBinding, TenantAppConfig, TenantAppConfigMeta, TenantRouteOverride, TenantSpecOverride, TranslationCatalogPointer, makeAppBlueprintKey };
175
+ export { AppBlueprintMeta, AppBlueprintRegistry, AppBlueprintSpec, AppIntegrationSlot, AppRouteConfig, AppThemeBinding, FeatureFlagState, SpecPointer, TelemetryBinding, TenantAppConfig, TenantAppConfigMeta, TenantRouteOverride, TenantSpecOverride, TranslationCatalogPointer, makeAppBlueprintKey };
176
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/app-config/spec.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;UAgBiB,WAAA;;EAAA,OAAA,CAAA,EAAA,MAAW;AAK5B;AAUiB,UAVA,cAAA,CAUyB;EAKzB,IAAA,EAAA,MAAA;EAIG,KAAA,CAAA,EAAA,MAAA;EAEH,QAAA,CAAA,EAAA,MAAA;EAEQ,QAAA,CAAA,EAAA,MAAA;EAAa,KAAA,CAAA,EAlB5B,SAkB4B;EAOrB,WAAA,CAAA,EAAA,MAAgB;EAOhB,UAAA,CAAA,EA9BF,aA8BkB;AAMjC;AAKiB,UAtCA,yBAAA,CAsCyB;EASzB,IAAA,EAAA,MAAA;EACT,OAAA,EAAA,MAAA;;AAGO,UA9CE,kBAAA,CA8CF;EAGD;EACA,MAAA,EAAA,MAAA;EAEO;EACR,gBAAA,EAjDO,mBAiDP;EACU;EACM,YAAA,CAAA,EAjDZ,wBAiDY,EAAA;EAAf;EACe,oBAAA,CAAA,EAhDJ,aAgDI,EAAA;EAAf;EACD,QAAA,CAAA,EAAA,OAAA;EACH;EACI,WAAA,CAAA,EAAA,MAAA;;AAGD,UA/CI,gBAAA,CA+CJ;EAEI,GAAA,EAAA,MAAA;EACN,OAAA,EAAA,OAAA;EAAc,OAAA,CAAA,EAAA,MAAA;EAOZ,WAAA,CAAA,EAAA,MAAA;;AAYH,UA9DO,gBAAA,CA8DP;EAI6B,IAAA,CAAA,EAjE9B,WAiE8B;EAAgB,cAAA,CAAA,EAAA,MAAA,EAAA;EAiBvC,iBAAA,CAAA,EAhFM,MAgFa,CAAA,MAAA,EAAO,MAAA,CAAA;AAI1C;AASU,UA1FO,eAAA,CA0FP;EAGe,OAAA,EA5Fd,QA4Fc;EAIF,SAAA,CAAA,EA/FT,QA+FS,EAAA;;AACI,UA7FV,gBAAA,SAAyB,aA6Ff,CAAA;EAGV;EAKA,IAAA,EAAA,MAAA;EAUA;EACT,OAAA,EAAA,MAAA;EAEK;EACC,KAAA,EAAA,MAAA;;AAIA,UA9GG,gBAAA,CA8GH;EAEQ,IAAA,EA/Gd,gBA+Gc;EACA,YAAA,CAAA,EAAA;IACC,OAAA,CAAA,EA/GT,aA+GS,EAAA;IAET,QAAA,CAAA,EAhHC,aAgHD,EAAA;EACE,CAAA;EAGL,QAAA,CAAA,EAAA;IAEa,OAAA,CAAA,EAnHV,UAmHU,EAAA;IAGX,OAAA,CAAA,EArHC,UAqHD,EAAA;EACA,CAAA;EAEI,gBAAA,CAAA,EAtHI,kBAsHJ,EAAA;EACE,QAAA,CAAA,EAtHN,gBAsHM;EACF,kBAAA,CAAA,EAtHM,yBAsHN;EACH,SAAA,CAAA,EAtHA,MAsHA,CAAA,MAAA,EAtHe,WAsHf,CAAA;EAEK,SAAA,CAAA,EAvHL,MAuHK,CAAA,MAAA,EAvHU,WAuHV,CAAA;EACC,QAAA,CAAA,EAvHP,SAuHO,EAAA;EAGN,KAAA,CAAA,EAzHJ,eAyHI;EAED,SAAA,CAAA,EA1HC,gBA0HD;EAAoB,WAAA,CAAA,EAAA;aAxHpB;aACA;;iBAEI;WACN;;;cAOE,oBAAA;;iBAGI;UASP;uCAI6B;;iBAiBvB,mBAAA,OAA0B;UAIzB,mBAAA;;;;;;;;;UASP;;;yBAGe;;;;uBAIF;uBACA;;UAGN,kBAAA;;YAEL;;UAGK,mBAAA;;;;;UAKP;;eAEK;;UAGE,eAAA;QACT;;aAEK;cACC;;;cAGA;cACA;;sBAEQ;sBACA;uBACC;;cAET;gBACE;;;WAGL;;wBAEa;;;aAGX;aACA;;iBAEI;mBACE;iBACF;cACH;;mBAEK;oBACC;;;cAGN;;aAED"}
@@ -33,4 +33,5 @@ function makeAppBlueprintKey(meta) {
33
33
  }
34
34
 
35
35
  //#endregion
36
- export { AppBlueprintRegistry, makeAppBlueprintKey };
36
+ export { AppBlueprintRegistry, makeAppBlueprintKey };
37
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","names":["latest: AppBlueprintSpec | undefined"],"sources":["../../src/app-config/spec.ts"],"sourcesContent":["import type { OwnerShipMeta } from '../ownership';\nimport type { CapabilityRef } from '../capabilities';\nimport type { FeatureRef } from '../features';\nimport type { PolicyRef } from '../policy/spec';\nimport type { ThemeRef } from '../themes';\nimport type { ExperimentRef } from '../experiments/spec';\nimport type {\n IntegrationCategory,\n IntegrationOwnershipMode,\n} from '../integrations/spec';\nimport type { AppIntegrationBinding } from '../integrations/binding';\nimport type { AppKnowledgeBinding } from '../knowledge/binding';\nimport type { BrandingDefaults, TenantBrandingConfig } from './branding';\nimport type { Locale, TranslationEntry } from '../translations/catalog';\nimport type { ConfigStatus } from './lifecycle';\n\nexport interface SpecPointer {\n name: string;\n version?: number;\n}\n\nexport interface AppRouteConfig {\n path: string;\n label?: string;\n dataView?: string;\n workflow?: string;\n guard?: PolicyRef;\n featureFlag?: string;\n experiment?: ExperimentRef;\n}\n\nexport interface TranslationCatalogPointer {\n name: string;\n version: number;\n}\n\nexport interface AppIntegrationSlot {\n /** Slot identifier unique within the blueprint (e.g., \"primaryPayments\"). */\n slotId: string;\n /** Integration category required to satisfy this slot. */\n requiredCategory: IntegrationCategory;\n /** Ownership modes allowed for this slot (defaults to any supported mode). */\n allowedModes?: IntegrationOwnershipMode[];\n /** Capabilities that must be provided by the integration spec. */\n requiredCapabilities?: CapabilityRef[];\n /** Whether this slot must be satisfied for the app to function. */\n required?: boolean;\n /** Description for App Studio UX. */\n description?: string;\n}\n\nexport interface FeatureFlagState {\n key: string;\n enabled: boolean;\n variant?: string;\n description?: string;\n}\n\nexport interface TelemetryBinding {\n spec?: SpecPointer;\n disabledEvents?: string[];\n samplingOverrides?: Record<string, number>;\n}\n\nexport interface AppThemeBinding {\n primary: ThemeRef;\n fallbacks?: ThemeRef[];\n}\n\nexport interface AppBlueprintMeta extends OwnerShipMeta {\n /** Fully qualified blueprint name (e.g. \"artisan.app\"). */\n name: string;\n /** Versioned definition of the blueprint. Increment on breaking changes. */\n version: number;\n /** Logical application id (e.g. \"artisan\"). */\n appId: string;\n}\n\nexport interface AppBlueprintSpec {\n meta: AppBlueprintMeta;\n capabilities?: {\n enabled?: CapabilityRef[];\n disabled?: CapabilityRef[];\n };\n features?: {\n include?: FeatureRef[];\n exclude?: FeatureRef[];\n };\n integrationSlots?: AppIntegrationSlot[];\n branding?: BrandingDefaults;\n translationCatalog?: TranslationCatalogPointer;\n dataViews?: Record<string, SpecPointer>;\n workflows?: Record<string, SpecPointer>;\n policies?: PolicyRef[];\n theme?: AppThemeBinding;\n telemetry?: TelemetryBinding;\n experiments?: {\n active?: ExperimentRef[];\n paused?: ExperimentRef[];\n };\n featureFlags?: FeatureFlagState[];\n routes?: AppRouteConfig[];\n notes?: string;\n}\n\nconst blueprintKey = (meta: Pick<AppBlueprintMeta, 'name' | 'version'>) =>\n `${meta.name}.v${meta.version}`;\n\nexport class AppBlueprintRegistry {\n private readonly items = new Map<string, AppBlueprintSpec>();\n\n register(spec: AppBlueprintSpec): this {\n const key = blueprintKey(spec.meta);\n if (this.items.has(key)) {\n throw new Error(`Duplicate AppBlueprint ${key}`);\n }\n this.items.set(key, spec);\n return this;\n }\n\n list(): AppBlueprintSpec[] {\n return [...this.items.values()];\n }\n\n get(name: string, version?: number): AppBlueprintSpec | undefined {\n if (version != null) {\n return this.items.get(blueprintKey({ name, version }));\n }\n let latest: AppBlueprintSpec | undefined;\n let maxVersion = -Infinity;\n for (const spec of this.items.values()) {\n if (spec.meta.name !== name) continue;\n if (spec.meta.version > maxVersion) {\n maxVersion = spec.meta.version;\n latest = spec;\n }\n }\n return latest;\n }\n}\n\nexport function makeAppBlueprintKey(meta: AppBlueprintMeta) {\n return blueprintKey(meta);\n}\n\nexport interface TenantAppConfigMeta {\n id: string;\n tenantId: string;\n appId: string;\n blueprintName: string;\n blueprintVersion: number;\n environment?: string;\n /** Monotonic version for auditing changes to the tenant config. */\n version: number;\n status: ConfigStatus;\n createdBy?: string;\n publishedBy?: string;\n publishedAt?: string | Date;\n rolledBackFrom?: number;\n rolledBackTo?: number;\n changeSummary?: string;\n createdAt?: string | Date;\n updatedAt?: string | Date;\n}\n\nexport interface TenantSpecOverride {\n slot: string;\n pointer?: SpecPointer | null;\n}\n\nexport interface TenantRouteOverride {\n path: string;\n label?: string | null;\n dataView?: string | null;\n workflow?: string | null;\n guard?: PolicyRef | null;\n featureFlag?: string | null;\n experiment?: ExperimentRef | null;\n}\n\nexport interface TenantAppConfig {\n meta: TenantAppConfigMeta;\n capabilities?: {\n enable?: CapabilityRef[];\n disable?: CapabilityRef[];\n };\n features?: {\n include?: FeatureRef[];\n exclude?: FeatureRef[];\n };\n dataViewOverrides?: TenantSpecOverride[];\n workflowOverrides?: TenantSpecOverride[];\n additionalPolicies?: PolicyRef[];\n themeOverride?: {\n primary?: ThemeRef | null;\n fallbacks?: ThemeRef[];\n };\n telemetryOverride?: {\n spec?: SpecPointer | null;\n disabledEvents?: string[];\n samplingOverrides?: Record<string, number>;\n };\n experiments?: {\n active?: ExperimentRef[];\n paused?: ExperimentRef[];\n };\n featureFlags?: FeatureFlagState[];\n routeOverrides?: TenantRouteOverride[];\n integrations?: AppIntegrationBinding[];\n knowledge?: AppKnowledgeBinding[];\n locales?: {\n defaultLocale: Locale;\n enabledLocales: Locale[];\n };\n translationOverrides?: {\n entries?: TranslationEntry[];\n };\n branding?: TenantBrandingConfig;\n notes?: string;\n}\n"],"mappings":";AAyGA,MAAM,gBAAgB,SACpB,GAAG,KAAK,KAAK,IAAI,KAAK;AAExB,IAAa,uBAAb,MAAkC;CAChC,AAAiB,wBAAQ,IAAI,KAA+B;CAE5D,SAAS,MAA8B;EACrC,MAAM,MAAM,aAAa,KAAK,KAAK;AACnC,MAAI,KAAK,MAAM,IAAI,IAAI,CACrB,OAAM,IAAI,MAAM,0BAA0B,MAAM;AAElD,OAAK,MAAM,IAAI,KAAK,KAAK;AACzB,SAAO;;CAGT,OAA2B;AACzB,SAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC;;CAGjC,IAAI,MAAc,SAAgD;AAChE,MAAI,WAAW,KACb,QAAO,KAAK,MAAM,IAAI,aAAa;GAAE;GAAM;GAAS,CAAC,CAAC;EAExD,IAAIA;EACJ,IAAI,aAAa;AACjB,OAAK,MAAM,QAAQ,KAAK,MAAM,QAAQ,EAAE;AACtC,OAAI,KAAK,KAAK,SAAS,KAAM;AAC7B,OAAI,KAAK,KAAK,UAAU,YAAY;AAClC,iBAAa,KAAK,KAAK;AACvB,aAAS;;;AAGb,SAAO;;;AAIX,SAAgB,oBAAoB,MAAwB;AAC1D,QAAO,aAAa,KAAK"}
@@ -44,4 +44,5 @@ declare function validateBlueprint(blueprint: AppBlueprintSpec, context?: Valida
44
44
  declare function validateTenantConfig(blueprint: AppBlueprintSpec, tenant: TenantAppConfig, context?: ValidationContext): ValidationResult;
45
45
  declare function validateResolvedConfig(blueprint: AppBlueprintSpec, resolved: ResolvedAppConfig, context?: ValidationContext): ValidationResult;
46
46
  //#endregion
47
- export { ValidationContext, ValidationIssue, ValidationResult, ValidationSeverity, validateBlueprint, validateConfig, validateResolvedConfig, validateTenantConfig };
47
+ export { ValidationContext, ValidationIssue, ValidationResult, ValidationSeverity, validateBlueprint, validateConfig, validateResolvedConfig, validateTenantConfig };
48
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","names":[],"sources":["../../src/app-config/validation.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAkBY,kBAAA;UAEK,eAAA;EAFL,IAAA,EAAA,MAAA;EAEK,QAAA,EAEL,kBAFoB;EASf,IAAA,EAAA,MAAA;EAEP,OAAA,EAAA,MAAA;EACE,UAAA,CAAA,EAAA,MAAA;EACJ,OAAA,CAAA,EAAA,MAAA;;AAGS,UAPA,gBAAA,CAOiB;EACb,KAAA,EAAA,OAAA;EACD,MAAA,EAPV,eAOU,EAAA;EACC,QAAA,EAPT,eAOS,EAAA;EACJ,IAAA,EAPT,eAOS,EAAA;;AAEH,UANG,iBAAA,CAMH;EACQ,gBAAA,CAAA,EAND,uBAMC;EACF,eAAA,CAAA,EANA,sBAMA;EAGZ,gBAAA,CAAA,EARa,qBAQb,EAAA;EACA,YAAA,CAAA,EARS,kBAQT;EAGA,SAAA,CAAA,EAVM,gBAUN;EACA,SAAA,CAAA,EAVM,gBAUN;EAA2B,iBAAA,CAAA,EATb,qBASa,EAAA;EAyHnB,eAAA,CAAA,EAjII,eAiIU,EAAA;EACjB,mBAAA,CAAA,EAAA;IACH,QAAA,CAAA,EAhIF,0BAgIE,GA/HF,0BA+HE,EAAA,GAAA,SAAA;IACC,SAAA,CAAA,EA7HH,2BA6HG,GA5HH,2BA4HG,EAAA,GAAA,SAAA;EACR,CAAA;;AAWa,iBAfA,cAAA,CAeiB,SAAA,EAdpB,gBAcoB,EAAA,MAAA,EAbvB,eAauB,EAAA,OAAA,CAAA,EAZtB,iBAYsB,CAAA,EAX9B,gBAW8B;AACpB,iBADG,iBAAA,CACH,SAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EACF,iBADE,CAAA,EAEV,gBAFU;AACF,iBAMK,oBAAA,CANL,SAAA,EAOE,gBAPF,EAAA,MAAA,EAQD,eARC,EAAA,OAAA,CAAA,EASA,iBATA,CAAA,EAUR,gBAVQ;AACR,iBAca,sBAAA,CAdb,SAAA,EAeU,gBAfV,EAAA,QAAA,EAgBS,iBAhBT,EAAA,OAAA,CAAA,EAiBQ,iBAjBR,CAAA,EAkBA,gBAlBA"}
@@ -535,4 +535,5 @@ function hasTranslationEntry(entries, key, locale) {
535
535
  }
536
536
 
537
537
  //#endregion
538
- export { validateBlueprint, validateConfig, validateResolvedConfig, validateTenantConfig };
538
+ export { validateBlueprint, validateConfig, validateResolvedConfig, validateTenantConfig };
539
+ //# sourceMappingURL=validation.js.map