@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.docblock.js","names":["tech_contracts_knowledge_DocBlocks: DocBlock[]"],"sources":["../../../src/knowledge/docs/knowledge.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@lssm/lib.contracts/docs';\nimport { registerDocBlocks } from '../../registry';\n\nexport const tech_contracts_knowledge_DocBlocks: DocBlock[] = [\n {\n id: 'docs.tech.contracts.knowledge',\n title: 'Knowledge Layer',\n summary:\n 'The knowledge layer turns unstructured inputs (uploads, email threads,',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/tech/contracts/knowledge',\n tags: ['tech', 'contracts', 'knowledge'],\n body: \"# Knowledge Layer\\n\\nThe knowledge layer turns unstructured inputs (uploads, email threads,\\nnotes) into searchable context for agents and workflows. The Pocket\\nFamily Office vertical ships a minimal but production-ready stack that\\ncovers ingestion, indexing, querying, and guardrails.\\n\\n## Knowledge Spaces\\n\\nKnowledge is organised via `KnowledgeSpaceSpec` definitions under\\n`packages/libs/contracts/src/knowledge/spaces`:\\n\\n- `knowledge.financial-docs` \\u2013 canonical invoices, bills, and contracts.\\n- `knowledge.email-threads` \\u2013 operational Gmail threads.\\n- `knowledge.support-faq` / `knowledge.product-canon` \\u2013 reusable shared\\n spaces available to any vertical.\\n\\nEach space defines:\\n\\n- Ownership metadata (domain, owners, stability tags).\\n- Retention policy (TTL/archival).\\n- Access policy (trust level, automation write permissions).\\n- Indexing configuration (embedding model, chunk size, vector DB slot).\\n\\n## Sources & Bindings\\n\\n- `KnowledgeSourceConfig` records tenant-specific connections (bucket,\\n Gmail labels, sync cadence). Pocket Family Office provides sample\\n configs in `knowledge/sources.sample.ts`.\\n- `AppKnowledgeBinding` associates spaces with workflows/agents and adds\\n per-tenant constraints (rate limits, scopes).\\n\\nValidation ensures that:\\n\\n- All referenced spaces exist in the registry.\\n- At least one source is configured per binding.\\n- External/ephemeral spaces trigger warnings for policy-sensitive flows.\\n\\n## Ingestion Pipeline\\n\\nImplemented in `packages/libs/contracts/src/knowledge/ingestion`:\\n\\n1. **DocumentProcessor** \\u2013 pluggable MIME extractors producing\\n `DocumentFragment`s.\\n2. **EmbeddingService** \\u2013 batches fragments through an `EmbeddingProvider`\\n (Mistral in the reference implementation).\\n3. **VectorIndexer** \\u2013 upserts fragments into a `VectorStoreProvider`\\n (Qdrant in production, with in-memory implementations for tests).\\n4. **Adapters**\\n - `GmailIngestionAdapter`: list threads \\u2192 convert to raw documents \\u2192\\n index.\\n - `StorageIngestionAdapter`: fetch object from storage provider \\u2192\\n index.\\n\\nBackground jobs (see `jobs/`) orchestrate ingestion via Cloud Tasks /\\nPub/Sub or in-memory workers. Handlers:\\n\\n- `storage-document-handler` \\u2013 resolves storage object + indexes.\\n- `gmail-sync-handler` \\u2013 syncs threads based on label/date filters.\\n\\n## Query Service\\n\\n`KnowledgeQueryService` performs retrieval-augmented generation:\\n\\n1. Embed the user query using the configured provider.\\n2. Search the vector store for top-k matches.\\n3. Compose prompts combining system instructions + contextual snippets.\\n4. Invoke the LLM provider (Mistral) and return the answer plus\\n references and token usage.\\n\\nThe service is designed for tooling: workflows can execute it directly\\nor through custom operations (see `pfo.summary.generate` contract).\\n\\n## Guardrails\\n\\n- Automation can only write to spaces where `automationWritable` is true.\\n- Canonical spaces default to high trust; external/ephemeral spaces are\\n flagged during validation.\\n- Telemetry captures query volumes per tenant + space.\\n\\n## Extending\\n\\n1. Define a new `KnowledgeSpaceSpec` with indexing/retention policies.\\n2. Add sources pointing to storage providers or APIs.\\n3. Register adapters if ingestion requires bespoke logic.\\n4. Reference the space in blueprints (`AppKnowledgeBinding`) and update\\n workflows/agents accordingly.\\n\\nThe Pocket Family Office tests (`tests/pocket-family-office.test.ts`)\\nshow how to wire the ingestion pipeline, index a document, and run an\\nend-to-end knowledge query using in-memory providers.\\n## Knowledge Spaces & Guardrails\\n\\nKnowledge surfaces (`KnowledgeSpaceSpec`) describe curated corpora that agents and workflows can consult. Tenant bindings (`AppKnowledgeBinding`) declare which spaces are active, who can use them, and optional usage constraints.\\n\\n### Binding recap\\n\\n- `spaceKey` / `spaceVersion`: pointer to the `KnowledgeSpaceSpec`\\n- `scope.workflows` / `scope.agents`: explicit allow-lists for consumers\\n- `constraints.maxTokensPerQuery` & `constraints.maxQueriesPerMinute`: throttling knobs for LLM-backed search\\n- `required`: mark the binding as blocking (defaults to `true`)\\n\\nAt runtime, `ResolvedAppConfig.knowledge` contains `ResolvedKnowledge` entries with the bound space, active sources, and the binding metadata above.\\n\\n### KnowledgeAccessGuard\\n\\n`KnowledgeAccessGuard` (`@lssm/lib.contracts/knowledge/runtime`) centralises the access checks that must run before any workflow/agent reads or mutates a knowledge space.\\n\\n```ts\\nimport { KnowledgeAccessGuard } from '@lssm/lib.contracts/knowledge/runtime';\\n\\nconst guard = new KnowledgeAccessGuard({\\n disallowWriteCategories: ['external', 'ephemeral'], // default\\n requireWorkflowBinding: true,\\n requireAgentBinding: false,\\n});\\n\\nconst result = guard.checkAccess(resolvedKnowledge, {\\n tenantId,\\n appId,\\n workflowName: 'order-processing',\\n operation: 'read', // or 'write' / 'search'\\n}, resolvedAppConfig);\\n\\nif (!result.allowed) {\\n throw new Error(result.reason);\\n}\\n```\\n\\nKey behaviours:\\n\\n- **Binding**: rejects access when the space is not present in the resolved tenant config.\\n- **Category guardrails**: blocks writes to `external` and `ephemeral` spaces by default; allows reads but emits warnings for `ephemeral`.\\n- **Workflow/agent scoping**: when `requireWorkflowBinding` or `requireAgentBinding` is enabled, only explicitly authorised consumers may access the space.\\n\\nUse the guard inside workflow operations or agent resolvers to guarantee multi-tenant isolation and honour data governance rules.\\n\\n\",\n },\n];\nregisterDocBlocks(tech_contracts_knowledge_DocBlocks);\n"],"mappings":";;;;AAGA,MAAaA,qCAAiD,CAC5D;CACE,IAAI;CACJ,OAAO;CACP,SACE;CACF,MAAM;CACN,YAAY;CACZ,OAAO;CACP,MAAM;EAAC;EAAQ;EAAa;EAAY;CACxC,MAAM;CACP,CACF;AACD,kBAAkB,mCAAmC"}
@@ -21,4 +21,5 @@ declare class DocumentProcessor {
21
21
  private extractJson;
22
22
  }
23
23
  //#endregion
24
- export { DocumentFragment, DocumentProcessor, RawDocument };
24
+ export { DocumentFragment, DocumentProcessor, RawDocument };
25
+ //# sourceMappingURL=document-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-processor.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/document-processor.ts"],"sourcesContent":[],"mappings":";UAEiB,WAAA;EAAA,EAAA,EAAA,MAAA;EAOA,QAAA,EAAA,MAAA;EAOZ,IAAA,EAXG,UAWM;EAAW,QAAA,CAAA,EAVZ,MAUY,CAAA,MAAA,EAAA,MAAA,CAAA;;AAAgB,UAPxB,gBAAA,CAOwB;EAAO,EAAA,EAAA,MAAA;EAEnC,UAAA,EAAA,MAAA;EAQoC,IAAA,EAAA,MAAA;EAIvB,QAAA,CAAA,EAjBb,MAiBa,CAAA,MAAA,EAAA,MAAA,CAAA;;KAdrB,SAAA,GAcmC,CAAA,KAAA,EAdf,WAce,EAAA,GAdC,OAcD,CAdS,gBAcT,EAAA,CAAA;AAAO,cAZlC,iBAAA,CAYkC;;;iDAJE;oBAIvB,cAAc,QAAQ"}
@@ -51,4 +51,5 @@ var DocumentProcessor = class {
51
51
  };
52
52
 
53
53
  //#endregion
54
- export { DocumentProcessor };
54
+ export { DocumentProcessor };
55
+ //# sourceMappingURL=document-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-processor.js","names":[],"sources":["../../../src/knowledge/ingestion/document-processor.ts"],"sourcesContent":["import { Buffer } from 'node:buffer';\n\nexport interface RawDocument {\n id: string;\n mimeType: string;\n data: Uint8Array;\n metadata?: Record<string, string>;\n}\n\nexport interface DocumentFragment {\n id: string;\n documentId: string;\n text: string;\n metadata?: Record<string, string>;\n}\n\ntype Extractor = (input: RawDocument) => Promise<DocumentFragment[]>;\n\nexport class DocumentProcessor {\n private readonly extractors = new Map<string, Extractor>();\n\n constructor() {\n this.registerExtractor('text/plain', this.extractText);\n this.registerExtractor('application/json', this.extractJson);\n }\n\n registerExtractor(mimeType: string, extractor: Extractor): void {\n this.extractors.set(mimeType.toLowerCase(), extractor);\n }\n\n async process(document: RawDocument): Promise<DocumentFragment[]> {\n const extractor =\n this.extractors.get(document.mimeType.toLowerCase()) ??\n this.extractors.get('*/*');\n if (!extractor) {\n throw new Error(\n `No extractor registered for mime type ${document.mimeType}`\n );\n }\n const fragments = await extractor(document);\n if (fragments.length === 0) {\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text: '',\n metadata: document.metadata,\n },\n ];\n }\n return fragments;\n }\n\n private async extractText(\n document: RawDocument\n ): Promise<DocumentFragment[]> {\n const text = Buffer.from(document.data).toString('utf-8');\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text,\n metadata: document.metadata,\n },\n ];\n }\n\n private async extractJson(\n document: RawDocument\n ): Promise<DocumentFragment[]> {\n const text = Buffer.from(document.data).toString('utf-8');\n try {\n const json = JSON.parse(text);\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text: JSON.stringify(json, null, 2),\n metadata: {\n ...document.metadata,\n contentType: 'application/json',\n },\n },\n ];\n } catch {\n return this.extractText(document);\n }\n }\n}\n"],"mappings":";;;AAkBA,IAAa,oBAAb,MAA+B;CAC7B,AAAiB,6BAAa,IAAI,KAAwB;CAE1D,cAAc;AACZ,OAAK,kBAAkB,cAAc,KAAK,YAAY;AACtD,OAAK,kBAAkB,oBAAoB,KAAK,YAAY;;CAG9D,kBAAkB,UAAkB,WAA4B;AAC9D,OAAK,WAAW,IAAI,SAAS,aAAa,EAAE,UAAU;;CAGxD,MAAM,QAAQ,UAAoD;EAChE,MAAM,YACJ,KAAK,WAAW,IAAI,SAAS,SAAS,aAAa,CAAC,IACpD,KAAK,WAAW,IAAI,MAAM;AAC5B,MAAI,CAAC,UACH,OAAM,IAAI,MACR,yCAAyC,SAAS,WACnD;EAEH,MAAM,YAAY,MAAM,UAAU,SAAS;AAC3C,MAAI,UAAU,WAAW,EACvB,QAAO,CACL;GACE,IAAI,GAAG,SAAS,GAAG;GACnB,YAAY,SAAS;GACrB,MAAM;GACN,UAAU,SAAS;GACpB,CACF;AAEH,SAAO;;CAGT,MAAc,YACZ,UAC6B;EAC7B,MAAM,OAAO,OAAO,KAAK,SAAS,KAAK,CAAC,SAAS,QAAQ;AACzD,SAAO,CACL;GACE,IAAI,GAAG,SAAS,GAAG;GACnB,YAAY,SAAS;GACrB;GACA,UAAU,SAAS;GACpB,CACF;;CAGH,MAAc,YACZ,UAC6B;EAC7B,MAAM,OAAO,OAAO,KAAK,SAAS,KAAK,CAAC,SAAS,QAAQ;AACzD,MAAI;GACF,MAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,UAAO,CACL;IACE,IAAI,GAAG,SAAS,GAAG;IACnB,YAAY,SAAS;IACrB,MAAM,KAAK,UAAU,MAAM,MAAM,EAAE;IACnC,UAAU;KACR,GAAG,SAAS;KACZ,aAAa;KACd;IACF,CACF;UACK;AACN,UAAO,KAAK,YAAY,SAAS"}
@@ -9,4 +9,5 @@ declare class EmbeddingService {
9
9
  embedFragments(fragments: DocumentFragment[]): Promise<EmbeddingResult[]>;
10
10
  }
11
11
  //#endregion
12
- export { EmbeddingService };
12
+ export { EmbeddingService };
13
+ //# sourceMappingURL=embedding-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-service.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":[],"mappings":";;;;cAOa,gBAAA;;EAAA,iBAAA,SAAgB;EAIL,WAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAMT,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,EACV,OADU,CACF,eADE,EAAA,CAAA"}
@@ -22,4 +22,5 @@ var EmbeddingService = class {
22
22
  };
23
23
 
24
24
  //#endregion
25
- export { EmbeddingService };
25
+ export { EmbeddingService };
26
+ //# sourceMappingURL=embedding-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-service.js","names":["results: EmbeddingResult[]","documents: EmbeddingDocument[]"],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":["import type {\n EmbeddingDocument,\n EmbeddingProvider,\n EmbeddingResult,\n} from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport class EmbeddingService {\n private readonly provider: EmbeddingProvider;\n private readonly batchSize: number;\n\n constructor(provider: EmbeddingProvider, batchSize = 16) {\n this.provider = provider;\n this.batchSize = batchSize;\n }\n\n async embedFragments(\n fragments: DocumentFragment[]\n ): Promise<EmbeddingResult[]> {\n const results: EmbeddingResult[] = [];\n for (let i = 0; i < fragments.length; i += this.batchSize) {\n const slice = fragments.slice(i, i + this.batchSize);\n const documents: EmbeddingDocument[] = slice.map((fragment) => ({\n id: fragment.id,\n text: fragment.text,\n metadata: fragment.metadata,\n }));\n const embeddings = await this.provider.embedDocuments(documents);\n results.push(...embeddings);\n }\n return results;\n }\n}\n"],"mappings":";AAOA,IAAa,mBAAb,MAA8B;CAC5B,AAAiB;CACjB,AAAiB;CAEjB,YAAY,UAA6B,YAAY,IAAI;AACvD,OAAK,WAAW;AAChB,OAAK,YAAY;;CAGnB,MAAM,eACJ,WAC4B;EAC5B,MAAMA,UAA6B,EAAE;AACrC,OAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,KAAK,WAAW;GAEzD,MAAMC,YADQ,UAAU,MAAM,GAAG,IAAI,KAAK,UAAU,CACP,KAAK,cAAc;IAC9D,IAAI,SAAS;IACb,MAAM,SAAS;IACf,UAAU,SAAS;IACpB,EAAE;GACH,MAAM,aAAa,MAAM,KAAK,SAAS,eAAe,UAAU;AAChE,WAAQ,KAAK,GAAG,WAAW;;AAE7B,SAAO"}
@@ -15,4 +15,5 @@ declare class GmailIngestionAdapter {
15
15
  private toRawDocument;
16
16
  }
17
17
  //#endregion
18
- export { GmailIngestionAdapter };
18
+ export { GmailIngestionAdapter };
19
+ //# sourceMappingURL=gmail-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-adapter.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,qBAAA;;EAAA,iBAAA,SAAqB;EAEN,iBAAA,UAAA;EACI,iBAAA,OAAA;EACC,WAAA,CAAA,KAAA,EAFL,oBAEK,EAAA,SAAA,EADD,iBACC,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,EACH,aADG;EACH,WAAA,CAAA,KAAA,CAAA,EAIlB,UAJkB,CAIP,oBAJO,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAIgC,OAJhC,CAAA,IAAA,CAAA;EAIP,YAAA,CAAA,MAAA,EAQM,WARN,CAAA,EAQiB,OARjB,CAAA,IAAA,CAAA;EAAX,QAAA,aAAA"}
@@ -48,4 +48,5 @@ function stripHtml(html) {
48
48
  }
49
49
 
50
50
  //#endregion
51
- export { GmailIngestionAdapter };
51
+ export { GmailIngestionAdapter };
52
+ //# sourceMappingURL=gmail-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-adapter.js","names":["gmail: EmailInboundProvider","processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":["import type {\n EmailInboundProvider,\n EmailThread,\n} from '../../integrations/providers/email';\nimport type { DocumentProcessor, RawDocument } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class GmailIngestionAdapter {\n constructor(\n private readonly gmail: EmailInboundProvider,\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async syncThreads(\n query?: Parameters<EmailInboundProvider['listThreads']>[0]\n ) {\n const threads = await this.gmail.listThreads(query);\n for (const thread of threads) {\n await this.ingestThread(thread);\n }\n }\n\n async ingestThread(thread: EmailThread) {\n const document = this.toRawDocument(thread);\n const fragments = await this.processor.process(document);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n\n private toRawDocument(thread: EmailThread): RawDocument {\n const content = composeThreadText(thread);\n return {\n id: thread.id,\n mimeType: 'text/plain',\n data: Buffer.from(content, 'utf-8'),\n metadata: {\n subject: thread.subject ?? '',\n participants: thread.participants.map((p) => p.email).join(', '),\n updatedAt: thread.updatedAt.toISOString(),\n },\n };\n }\n}\n\nfunction composeThreadText(thread: EmailThread): string {\n const header = [\n `Subject: ${thread.subject ?? ''}`,\n `Snippet: ${thread.snippet ?? ''}`,\n ];\n const messageTexts = thread.messages.map((message) => {\n const parts = [\n `From: ${formatAddress(message.from)}`,\n `To: ${message.to.map(formatAddress).join(', ')}`,\n ];\n if (message.sentAt) {\n parts.push(`Date: ${message.sentAt.toISOString()}`);\n }\n const body = message.textBody ?? stripHtml(message.htmlBody ?? '');\n return `${parts.join('\\n')}\\n\\n${body ?? ''}`;\n });\n return [...header, ...messageTexts].join('\\n\\n---\\n\\n');\n}\n\nfunction formatAddress(address: { email: string; name?: string }): string {\n return address.name ? `${address.name} <${address.email}>` : address.email;\n}\n\nfunction stripHtml(html: string): string {\n return html.replace(/<[^>]+>/g, ' ');\n}\n"],"mappings":";AAQA,IAAa,wBAAb,MAAmC;CACjC,YACE,AAAiBA,OACjB,AAAiBC,WACjB,AAAiBC,YACjB,AAAiBC,SACjB;EAJiB;EACA;EACA;EACA;;CAGnB,MAAM,YACJ,OACA;EACA,MAAM,UAAU,MAAM,KAAK,MAAM,YAAY,MAAM;AACnD,OAAK,MAAM,UAAU,QACnB,OAAM,KAAK,aAAa,OAAO;;CAInC,MAAM,aAAa,QAAqB;EACtC,MAAM,WAAW,KAAK,cAAc,OAAO;EAC3C,MAAM,YAAY,MAAM,KAAK,UAAU,QAAQ,SAAS;EACxD,MAAM,aAAa,MAAM,KAAK,WAAW,eAAe,UAAU;AAClE,QAAM,KAAK,QAAQ,OAAO,WAAW,WAAW;;CAGlD,AAAQ,cAAc,QAAkC;EACtD,MAAM,UAAU,kBAAkB,OAAO;AACzC,SAAO;GACL,IAAI,OAAO;GACX,UAAU;GACV,MAAM,OAAO,KAAK,SAAS,QAAQ;GACnC,UAAU;IACR,SAAS,OAAO,WAAW;IAC3B,cAAc,OAAO,aAAa,KAAK,MAAM,EAAE,MAAM,CAAC,KAAK,KAAK;IAChE,WAAW,OAAO,UAAU,aAAa;IAC1C;GACF;;;AAIL,SAAS,kBAAkB,QAA6B;CACtD,MAAM,SAAS,CACb,YAAY,OAAO,WAAW,MAC9B,YAAY,OAAO,WAAW,KAC/B;CACD,MAAM,eAAe,OAAO,SAAS,KAAK,YAAY;EACpD,MAAM,QAAQ,CACZ,SAAS,cAAc,QAAQ,KAAK,IACpC,OAAO,QAAQ,GAAG,IAAI,cAAc,CAAC,KAAK,KAAK,GAChD;AACD,MAAI,QAAQ,OACV,OAAM,KAAK,SAAS,QAAQ,OAAO,aAAa,GAAG;EAErD,MAAM,OAAO,QAAQ,YAAY,UAAU,QAAQ,YAAY,GAAG;AAClE,SAAO,GAAG,MAAM,KAAK,KAAK,CAAC,MAAM,QAAQ;GACzC;AACF,QAAO,CAAC,GAAG,QAAQ,GAAG,aAAa,CAAC,KAAK,cAAc;;AAGzD,SAAS,cAAc,SAAmD;AACxE,QAAO,QAAQ,OAAO,GAAG,QAAQ,KAAK,IAAI,QAAQ,MAAM,KAAK,QAAQ;;AAGvE,SAAS,UAAU,MAAsB;AACvC,QAAO,KAAK,QAAQ,YAAY,IAAI"}
@@ -12,4 +12,5 @@ declare class StorageIngestionAdapter {
12
12
  ingestObject(object: GetObjectResult): Promise<void>;
13
13
  }
14
14
  //#endregion
15
- export { StorageIngestionAdapter };
15
+ export { StorageIngestionAdapter };
16
+ //# sourceMappingURL=storage-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-adapter.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/storage-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;cAKa,uBAAA;;EAAA,iBAAA,UAAuB;EAEJ,iBAAA,OAAA;EACC,WAAA,CAAA,SAAA,EADD,iBACC,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,EACH,aADG;EACH,YAAA,CAAA,MAAA,EAGD,eAHC,CAAA,EAGiB,OAHjB,CAAA,IAAA,CAAA"}
@@ -23,4 +23,5 @@ var StorageIngestionAdapter = class {
23
23
  };
24
24
 
25
25
  //#endregion
26
- export { StorageIngestionAdapter };
26
+ export { StorageIngestionAdapter };
27
+ //# sourceMappingURL=storage-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-adapter.js","names":["processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/storage-adapter.ts"],"sourcesContent":["import type { GetObjectResult } from '../../integrations/providers/storage';\nimport type { DocumentProcessor } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class StorageIngestionAdapter {\n constructor(\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async ingestObject(object: GetObjectResult): Promise<void> {\n if (!('data' in object) || !object.data) {\n throw new Error('Storage ingestion requires object data');\n }\n\n const raw = {\n id: object.key,\n mimeType: object.contentType ?? 'application/octet-stream',\n data: object.data,\n metadata: {\n bucket: object.bucket,\n checksum: object.checksum ?? '',\n },\n };\n\n const fragments = await this.processor.process(raw);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n}\n"],"mappings":";AAKA,IAAa,0BAAb,MAAqC;CACnC,YACE,AAAiBA,WACjB,AAAiBC,YACjB,AAAiBC,SACjB;EAHiB;EACA;EACA;;CAGnB,MAAM,aAAa,QAAwC;AACzD,MAAI,EAAE,UAAU,WAAW,CAAC,OAAO,KACjC,OAAM,IAAI,MAAM,yCAAyC;EAG3D,MAAM,MAAM;GACV,IAAI,OAAO;GACX,UAAU,OAAO,eAAe;GAChC,MAAM,OAAO;GACb,UAAU;IACR,QAAQ,OAAO;IACf,UAAU,OAAO,YAAY;IAC9B;GACF;EAED,MAAM,YAAY,MAAM,KAAK,UAAU,QAAQ,IAAI;EACnD,MAAM,aAAa,MAAM,KAAK,WAAW,eAAe,UAAU;AAClE,QAAM,KAAK,QAAQ,OAAO,WAAW,WAAW"}
@@ -15,4 +15,5 @@ declare class VectorIndexer {
15
15
  upsert(fragments: DocumentFragment[], embeddings: EmbeddingResult[]): Promise<void>;
16
16
  }
17
17
  //#endregion
18
- export { VectorIndexConfig, VectorIndexer };
18
+ export { VectorIndexConfig, VectorIndexer };
19
+ //# sourceMappingURL=vector-indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-indexer.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/vector-indexer.ts"],"sourcesContent":[],"mappings":";;;;;UAOiB,iBAAA;;EAAA,SAAA,CAAA,EAAA,MAAA;EAMJ,QAAA,CAAA,EAHA,MAGa,CAAA,MAAA,EAAA,MAAA,CAAA;;AAI2B,cAJxC,aAAA,CAIwC;EAMtC,iBAAA,QAAA;EACC,iBAAA,MAAA;EACX,WAAA,CAAA,QAAA,EARmB,mBAQnB,EAAA,MAAA,EARgD,iBAQhD;EAAO,MAAA,CAAA,SAAA,EAFG,gBAEH,EAAA,EAAA,UAAA,EADI,eACJ,EAAA,CAAA,EAAP,OAAO,CAAA,IAAA,CAAA"}
@@ -29,4 +29,5 @@ var VectorIndexer = class {
29
29
  };
30
30
 
31
31
  //#endregion
32
- export { VectorIndexer };
32
+ export { VectorIndexer };
33
+ //# sourceMappingURL=vector-indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-indexer.js","names":["request: VectorUpsertRequest"],"sources":["../../../src/knowledge/ingestion/vector-indexer.ts"],"sourcesContent":["import type {\n VectorStoreProvider,\n VectorUpsertRequest,\n} from '../../integrations/providers/vector-store';\nimport type { EmbeddingResult } from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport interface VectorIndexConfig {\n collection: string;\n namespace?: string;\n metadata?: Record<string, string>;\n}\n\nexport class VectorIndexer {\n private readonly provider: VectorStoreProvider;\n private readonly config: VectorIndexConfig;\n\n constructor(provider: VectorStoreProvider, config: VectorIndexConfig) {\n this.provider = provider;\n this.config = config;\n }\n\n async upsert(\n fragments: DocumentFragment[],\n embeddings: EmbeddingResult[]\n ): Promise<void> {\n const documents = embeddings.map((embedding) => {\n const fragment = fragments.find((f) => f.id === embedding.id);\n return {\n id: embedding.id,\n vector: embedding.vector,\n payload: {\n ...this.config.metadata,\n ...(fragment?.metadata ?? {}),\n documentId: fragment?.documentId,\n },\n namespace: this.config.namespace,\n };\n });\n\n const request: VectorUpsertRequest = {\n collection: this.config.collection,\n documents,\n };\n\n await this.provider.upsert(request);\n }\n}\n"],"mappings":";AAaA,IAAa,gBAAb,MAA2B;CACzB,AAAiB;CACjB,AAAiB;CAEjB,YAAY,UAA+B,QAA2B;AACpE,OAAK,WAAW;AAChB,OAAK,SAAS;;CAGhB,MAAM,OACJ,WACA,YACe;EACf,MAAM,YAAY,WAAW,KAAK,cAAc;GAC9C,MAAM,WAAW,UAAU,MAAM,MAAM,EAAE,OAAO,UAAU,GAAG;AAC7D,UAAO;IACL,IAAI,UAAU;IACd,QAAQ,UAAU;IAClB,SAAS;KACP,GAAG,KAAK,OAAO;KACf,GAAI,UAAU,YAAY,EAAE;KAC5B,YAAY,UAAU;KACvB;IACD,WAAW,KAAK,OAAO;IACxB;IACD;EAEF,MAAMA,UAA+B;GACnC,YAAY,KAAK,OAAO;GACxB;GACD;AAED,QAAM,KAAK,SAAS,OAAO,QAAQ"}
@@ -26,4 +26,5 @@ declare class KnowledgeQueryService {
26
26
  private buildMessages;
27
27
  }
28
28
  //#endregion
29
- export { KnowledgeAnswer, KnowledgeQueryConfig, KnowledgeQueryService };
29
+ export { KnowledgeAnswer, KnowledgeQueryConfig, KnowledgeQueryService };
30
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","names":[],"sources":["../../../src/knowledge/query/service.ts"],"sourcesContent":[],"mappings":";;;;;UAWiB,oBAAA;;EAAA,SAAA,CAAA,EAAA,MAAA;EAOA,IAAA,CAAA,EAAA,MAAA;EAQJ,YAAA,CAAA,EAAA,MAAA;;AAQI,UAhBA,eAAA,CAgBA;EACR,MAAA,EAAA,MAAA;EACG,UAAA,EAAA,CAhBG,kBAgBH,GAAA;IAQ6B,IAAA,CAAA,EAAA,MAAA;EAAR,CAAA,CAAA,EAAA;EAAO,KAAA,CAAA,EArB9B,WAqB8B,CAAA,OAAA,CAAA;;cAlB3B,qBAAA;;;;;0BAOG,gCACC,0BACR,qBACG;2BAQqB,QAAQ"}
@@ -62,4 +62,5 @@ function extractText(result) {
62
62
  }
63
63
 
64
64
  //#endregion
65
- export { KnowledgeQueryService };
65
+ export { KnowledgeQueryService };
66
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","names":[],"sources":["../../../src/knowledge/query/service.ts"],"sourcesContent":["import type { EmbeddingProvider } from '../../integrations/providers/embedding';\nimport type {\n VectorStoreProvider,\n VectorSearchResult,\n} from '../../integrations/providers/vector-store';\nimport type {\n LLMProvider,\n LLMMessage,\n LLMResponse,\n} from '../../integrations/providers/llm';\n\nexport interface KnowledgeQueryConfig {\n collection: string;\n namespace?: string;\n topK?: number;\n systemPrompt?: string;\n}\n\nexport interface KnowledgeAnswer {\n answer: string;\n references: (VectorSearchResult & {\n text?: string;\n })[];\n usage?: LLMResponse['usage'];\n}\n\nexport class KnowledgeQueryService {\n private readonly embeddings: EmbeddingProvider;\n private readonly vectorStore: VectorStoreProvider;\n private readonly llm: LLMProvider;\n private readonly config: KnowledgeQueryConfig;\n\n constructor(\n embeddings: EmbeddingProvider,\n vectorStore: VectorStoreProvider,\n llm: LLMProvider,\n config: KnowledgeQueryConfig\n ) {\n this.embeddings = embeddings;\n this.vectorStore = vectorStore;\n this.llm = llm;\n this.config = config;\n }\n\n async query(question: string): Promise<KnowledgeAnswer> {\n const embedding = await this.embeddings.embedQuery(question);\n const results = await this.vectorStore.search({\n collection: this.config.collection,\n vector: embedding.vector,\n topK: this.config.topK ?? 5,\n namespace: this.config.namespace,\n filter: undefined,\n });\n const context = buildContext(results);\n const messages = this.buildMessages(question, context);\n const response = await this.llm.chat(messages);\n return {\n answer: response.message.content\n .map((part) => ('text' in part ? part.text : ''))\n .join(''),\n references: results.map((result) => ({\n ...result,\n text: extractText(result),\n })),\n usage: response.usage,\n };\n }\n\n private buildMessages(question: string, context: string): LLMMessage[] {\n const systemPrompt =\n this.config.systemPrompt ??\n 'You are a knowledge assistant that answers questions using the provided context. Cite relevant sources if possible.';\n return [\n {\n role: 'system',\n content: [{ type: 'text', text: systemPrompt }],\n },\n {\n role: 'user',\n content: [\n {\n type: 'text',\n text: `Question:\\n${question}\\n\\nContext:\\n${context}`,\n },\n ],\n },\n ];\n }\n}\n\nfunction buildContext(results: VectorSearchResult[]): string {\n if (results.length === 0) {\n return 'No relevant documents found.';\n }\n return results\n .map((result, index) => {\n const text = extractText(result);\n return `Source ${index + 1} (score: ${result.score.toFixed(3)}):\\n${text}`;\n })\n .join('\\n\\n');\n}\n\nfunction extractText(result: VectorSearchResult): string {\n const payload = result.payload ?? {};\n if (typeof payload.text === 'string') return payload.text;\n if (typeof payload.content === 'string') return payload.content;\n return JSON.stringify(payload);\n}\n"],"mappings":";AA0BA,IAAa,wBAAb,MAAmC;CACjC,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CAEjB,YACE,YACA,aACA,KACA,QACA;AACA,OAAK,aAAa;AAClB,OAAK,cAAc;AACnB,OAAK,MAAM;AACX,OAAK,SAAS;;CAGhB,MAAM,MAAM,UAA4C;EACtD,MAAM,YAAY,MAAM,KAAK,WAAW,WAAW,SAAS;EAC5D,MAAM,UAAU,MAAM,KAAK,YAAY,OAAO;GAC5C,YAAY,KAAK,OAAO;GACxB,QAAQ,UAAU;GAClB,MAAM,KAAK,OAAO,QAAQ;GAC1B,WAAW,KAAK,OAAO;GACvB,QAAQ;GACT,CAAC;EACF,MAAM,UAAU,aAAa,QAAQ;EACrC,MAAM,WAAW,KAAK,cAAc,UAAU,QAAQ;EACtD,MAAM,WAAW,MAAM,KAAK,IAAI,KAAK,SAAS;AAC9C,SAAO;GACL,QAAQ,SAAS,QAAQ,QACtB,KAAK,SAAU,UAAU,OAAO,KAAK,OAAO,GAAI,CAChD,KAAK,GAAG;GACX,YAAY,QAAQ,KAAK,YAAY;IACnC,GAAG;IACH,MAAM,YAAY,OAAO;IAC1B,EAAE;GACH,OAAO,SAAS;GACjB;;CAGH,AAAQ,cAAc,UAAkB,SAA+B;AAIrE,SAAO,CACL;GACE,MAAM;GACN,SAAS,CAAC;IAAE,MAAM;IAAQ,MAL5B,KAAK,OAAO,gBACZ;IAIgD,CAAC;GAChD,EACD;GACE,MAAM;GACN,SAAS,CACP;IACE,MAAM;IACN,MAAM,cAAc,SAAS,gBAAgB;IAC9C,CACF;GACF,CACF;;;AAIL,SAAS,aAAa,SAAuC;AAC3D,KAAI,QAAQ,WAAW,EACrB,QAAO;AAET,QAAO,QACJ,KAAK,QAAQ,UAAU;EACtB,MAAM,OAAO,YAAY,OAAO;AAChC,SAAO,UAAU,QAAQ,EAAE,WAAW,OAAO,MAAM,QAAQ,EAAE,CAAC,MAAM;GACpE,CACD,KAAK,OAAO;;AAGjB,SAAS,YAAY,QAAoC;CACvD,MAAM,UAAU,OAAO,WAAW,EAAE;AACpC,KAAI,OAAO,QAAQ,SAAS,SAAU,QAAO,QAAQ;AACrD,KAAI,OAAO,QAAQ,YAAY,SAAU,QAAO,QAAQ;AACxD,QAAO,KAAK,UAAU,QAAQ"}
@@ -29,4 +29,5 @@ declare class KnowledgeAccessGuard {
29
29
  private isSpaceBound;
30
30
  }
31
31
  //#endregion
32
- export { KnowledgeAccessContext, KnowledgeAccessGuard, KnowledgeAccessGuardOptions, KnowledgeAccessResult };
32
+ export { KnowledgeAccessContext, KnowledgeAccessGuard, KnowledgeAccessGuardOptions, KnowledgeAccessResult };
33
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","names":[],"sources":["../../src/knowledge/runtime.ts"],"sourcesContent":[],"mappings":";;;;UAMiB,sBAAA;;EAAA,KAAA,EAAA,MAAA;EASA,WAAA,CAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EAAA,MAAA;EAQJ,SAAA,CAAA,EAAA,MAAA;EAKU,SAAA,EAAA,MAAA,GAAA,OAAA,GAAA,QAAA;;AAUV,UA7BI,qBAAA,CA6BJ;EACE,OAAA,EAAA,OAAA;EACV,MAAA,CAAA,EAAA,MAAA;EAAqB,QAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;UAzBT,2BAAA;4BACW;;;;cAOf,oBAAA;;;;wBAKU;4BASL,4BACL,mCACE,oBACV"}
@@ -46,4 +46,5 @@ var KnowledgeAccessGuard = class {
46
46
  };
47
47
 
48
48
  //#endregion
49
- export { KnowledgeAccessGuard };
49
+ export { KnowledgeAccessGuard };
50
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","names":["DEFAULT_DISALLOWED_WRITE: KnowledgeCategory[]"],"sources":["../../src/knowledge/runtime.ts"],"sourcesContent":["import type {\n ResolvedAppConfig,\n ResolvedKnowledge,\n} from '../app-config/runtime';\nimport type { KnowledgeCategory } from './spec';\n\nexport interface KnowledgeAccessContext {\n tenantId: string;\n appId: string;\n environment?: string;\n workflowName?: string;\n agentName?: string;\n operation: 'read' | 'write' | 'search';\n}\n\nexport interface KnowledgeAccessResult {\n allowed: boolean;\n reason?: string;\n severity?: 'error' | 'warning';\n}\n\nexport interface KnowledgeAccessGuardOptions {\n disallowWriteCategories?: KnowledgeCategory[];\n requireWorkflowBinding?: boolean;\n requireAgentBinding?: boolean;\n}\n\nconst DEFAULT_DISALLOWED_WRITE: KnowledgeCategory[] = ['external', 'ephemeral'];\n\nexport class KnowledgeAccessGuard {\n private readonly disallowedWrite: Set<KnowledgeCategory>;\n private readonly requireWorkflowBinding: boolean;\n private readonly requireAgentBinding: boolean;\n\n constructor(options: KnowledgeAccessGuardOptions = {}) {\n this.disallowedWrite = new Set(\n options.disallowWriteCategories ?? DEFAULT_DISALLOWED_WRITE\n );\n this.requireWorkflowBinding = options.requireWorkflowBinding ?? true;\n this.requireAgentBinding = options.requireAgentBinding ?? false;\n }\n\n checkAccess(\n spaceBinding: ResolvedKnowledge,\n context: KnowledgeAccessContext,\n appConfig: ResolvedAppConfig\n ): KnowledgeAccessResult {\n const { binding, space } = spaceBinding;\n\n if (\n binding.required !== false &&\n !this.isSpaceBound(spaceBinding, appConfig)\n ) {\n return {\n allowed: false,\n reason: `Knowledge space \"${space.meta.key}\" is not bound in the resolved app config.`,\n };\n }\n\n if (\n context.operation === 'write' &&\n this.disallowedWrite.has(space.meta.category)\n ) {\n return {\n allowed: false,\n reason: `Knowledge space \"${space.meta.key}\" is category \"${space.meta.category}\" and is read-only.`,\n };\n }\n\n if (this.requireWorkflowBinding && context.workflowName) {\n const allowedWorkflows = binding.scope?.workflows;\n if (\n allowedWorkflows &&\n !allowedWorkflows.includes(context.workflowName)\n ) {\n return {\n allowed: false,\n reason: `Workflow \"${context.workflowName}\" is not authorized to access knowledge space \"${space.meta.key}\".`,\n };\n }\n }\n\n if (this.requireAgentBinding && context.agentName) {\n const allowedAgents = binding.scope?.agents;\n if (allowedAgents && !allowedAgents.includes(context.agentName)) {\n return {\n allowed: false,\n reason: `Agent \"${context.agentName}\" is not authorized to access knowledge space \"${space.meta.key}\".`,\n };\n }\n }\n\n if (space.meta.category === 'ephemeral') {\n return {\n allowed: true,\n severity: 'warning',\n reason: `Knowledge space \"${space.meta.key}\" is ephemeral; results may be transient.`,\n };\n }\n\n return { allowed: true };\n }\n\n private isSpaceBound(\n resolved: ResolvedKnowledge,\n appConfig: ResolvedAppConfig\n ): boolean {\n return appConfig.knowledge.some(\n (entry) =>\n entry.space.meta.key === resolved.space.meta.key &&\n (resolved.space.meta.version == null ||\n entry.space.meta.version === resolved.space.meta.version)\n );\n }\n}\n"],"mappings":";AA2BA,MAAMA,2BAAgD,CAAC,YAAY,YAAY;AAE/E,IAAa,uBAAb,MAAkC;CAChC,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CAEjB,YAAY,UAAuC,EAAE,EAAE;AACrD,OAAK,kBAAkB,IAAI,IACzB,QAAQ,2BAA2B,yBACpC;AACD,OAAK,yBAAyB,QAAQ,0BAA0B;AAChE,OAAK,sBAAsB,QAAQ,uBAAuB;;CAG5D,YACE,cACA,SACA,WACuB;EACvB,MAAM,EAAE,SAAS,UAAU;AAE3B,MACE,QAAQ,aAAa,SACrB,CAAC,KAAK,aAAa,cAAc,UAAU,CAE3C,QAAO;GACL,SAAS;GACT,QAAQ,oBAAoB,MAAM,KAAK,IAAI;GAC5C;AAGH,MACE,QAAQ,cAAc,WACtB,KAAK,gBAAgB,IAAI,MAAM,KAAK,SAAS,CAE7C,QAAO;GACL,SAAS;GACT,QAAQ,oBAAoB,MAAM,KAAK,IAAI,iBAAiB,MAAM,KAAK,SAAS;GACjF;AAGH,MAAI,KAAK,0BAA0B,QAAQ,cAAc;GACvD,MAAM,mBAAmB,QAAQ,OAAO;AACxC,OACE,oBACA,CAAC,iBAAiB,SAAS,QAAQ,aAAa,CAEhD,QAAO;IACL,SAAS;IACT,QAAQ,aAAa,QAAQ,aAAa,iDAAiD,MAAM,KAAK,IAAI;IAC3G;;AAIL,MAAI,KAAK,uBAAuB,QAAQ,WAAW;GACjD,MAAM,gBAAgB,QAAQ,OAAO;AACrC,OAAI,iBAAiB,CAAC,cAAc,SAAS,QAAQ,UAAU,CAC7D,QAAO;IACL,SAAS;IACT,QAAQ,UAAU,QAAQ,UAAU,iDAAiD,MAAM,KAAK,IAAI;IACrG;;AAIL,MAAI,MAAM,KAAK,aAAa,YAC1B,QAAO;GACL,SAAS;GACT,UAAU;GACV,QAAQ,oBAAoB,MAAM,KAAK,IAAI;GAC5C;AAGH,SAAO,EAAE,SAAS,MAAM;;CAG1B,AAAQ,aACN,UACA,WACS;AACT,SAAO,UAAU,UAAU,MACxB,UACC,MAAM,MAAM,KAAK,QAAQ,SAAS,MAAM,KAAK,QAC5C,SAAS,MAAM,KAAK,WAAW,QAC9B,MAAM,MAAM,KAAK,YAAY,SAAS,MAAM,KAAK,SACtD"}
@@ -29,4 +29,5 @@ interface KnowledgeSourceConfig {
29
29
  };
30
30
  }
31
31
  //#endregion
32
- export { KnowledgeSourceConfig, KnowledgeSourceMeta, KnowledgeSourceType };
32
+ export { KnowledgeSourceConfig, KnowledgeSourceMeta, KnowledgeSourceType };
33
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","names":[],"sources":["../../src/knowledge/source.ts"],"sourcesContent":[],"mappings":";KAAY,mBAAA;AAAA,UAQK,mBAAA,CARc;EAQd,EAAA,EAAA,MAAA;EAMH,QAAA,EAAA,MAAA;EACQ,QAAA,EAAA,MAAA;EACA,YAAA,EAAA,MAAA;EAAI,KAAA,EAAA,MAAA;EAGT,UAAA,EALH,mBAKwB;EAC9B,SAAA,EAAA,MAAA,GALc,IAKd;EAEE,SAAA,EAAA,MAAA,GANY,IAMZ;;AASS,UAZF,qBAAA,CAYE;QAXX;;UAEE;;;;;;;;;eASK"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const emailThreadsKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerEmailThreadsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
7
+ export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
8
+ //# sourceMappingURL=email-threads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-threads.d.ts","names":[],"sources":["../../../src/knowledge/spaces/email-threads.ts"],"sourcesContent":[],"mappings":";;;cAGa,4BAA4B;iBA+BzB,kCAAA,WACJ,yBACT"}
@@ -35,4 +35,5 @@ function registerEmailThreadsKnowledgeSpace(registry) {
35
35
  }
36
36
 
37
37
  //#endregion
38
- export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
38
+ export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
39
+ //# sourceMappingURL=email-threads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-threads.js","names":["emailThreadsKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/email-threads.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const emailThreadsKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.email-threads',\n version: 1,\n category: 'operational',\n displayName: 'Email Threads',\n title: 'Operational Email Threads',\n description:\n 'Indexed copies of operational email threads used for support, onboarding, and workflows.',\n domain: 'operations',\n owners: ['platform.operations'],\n tags: ['email', 'operations'],\n stability: StabilityEnum.Beta,\n },\n retention: {\n ttlDays: 365,\n },\n access: {\n policy: { name: 'knowledge.access.email-threads', version: 1 },\n trustLevel: 'medium',\n automationWritable: true,\n },\n indexing: {\n embeddingModel: 'mistral-embed',\n chunkSize: 600,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'Operational email threads synchronized from Gmail to support automations and contextual assistance.',\n};\n\nexport function registerEmailThreadsKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(emailThreadsKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,6BAAiD;CAC5D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,sBAAsB;EAC/B,MAAM,CAAC,SAAS,aAAa;EAC7B,WAAW,cAAc;EAC1B;CACD,WAAW,EACT,SAAS,KACV;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAAkC,SAAS;GAAG;EAC9D,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,mCACd,UACwB;AACxB,QAAO,SAAS,SAAS,2BAA2B"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const financialDocsKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerFinancialDocsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
7
+ export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
8
+ //# sourceMappingURL=financial-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial-docs.d.ts","names":[],"sources":["../../../src/knowledge/spaces/financial-docs.ts"],"sourcesContent":[],"mappings":";;;cAGa,6BAA6B;iBA+B1B,mCAAA,WACJ,yBACT"}
@@ -35,4 +35,5 @@ function registerFinancialDocsKnowledgeSpace(registry) {
35
35
  }
36
36
 
37
37
  //#endregion
38
- export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
38
+ export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
39
+ //# sourceMappingURL=financial-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial-docs.js","names":["financialDocsKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/financial-docs.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const financialDocsKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.financial-docs',\n version: 1,\n category: 'canonical',\n displayName: 'Financial Documents',\n title: 'Household Financial Documents',\n description:\n 'Invoices, bills, and contracts powering Pocket Family Office financial automation.',\n domain: 'finance',\n owners: ['platform.finance'],\n tags: ['finance', 'documents'],\n stability: StabilityEnum.Beta,\n },\n retention: {\n ttlDays: null,\n },\n access: {\n policy: { name: 'knowledge.access.financial-docs', version: 1 },\n trustLevel: 'high',\n automationWritable: true,\n },\n indexing: {\n embeddingModel: 'mistral-embed',\n chunkSize: 700,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'Normalized financial documents enabling bill pay automation, reminders, and summaries.',\n};\n\nexport function registerFinancialDocsKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(financialDocsKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,8BAAkD;CAC7D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM,CAAC,WAAW,YAAY;EAC9B,WAAW,cAAc;EAC1B;CACD,WAAW,EACT,SAAS,MACV;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAAmC,SAAS;GAAG;EAC/D,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,oCACd,UACwB;AACxB,QAAO,SAAS,SAAS,4BAA4B"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const financialOverviewKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerFinancialOverviewKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };
7
+ export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };
8
+ //# sourceMappingURL=financial-overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial-overview.d.ts","names":[],"sources":["../../../src/knowledge/spaces/financial-overview.ts"],"sourcesContent":[],"mappings":";;;cAGa,iCAAiC;iBA+B9B,uCAAA,WACJ,yBACT"}
@@ -39,4 +39,5 @@ function registerFinancialOverviewKnowledgeSpace(registry) {
39
39
  }
40
40
 
41
41
  //#endregion
42
- export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };
42
+ export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };
43
+ //# sourceMappingURL=financial-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial-overview.js","names":["financialOverviewKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/financial-overview.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const financialOverviewKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.financial-overview',\n version: 1,\n category: 'operational',\n displayName: 'Financial Overview Summaries',\n title: 'Derived Financial Summaries',\n description:\n 'Aggregated cashflow summaries, category breakdowns, and balance trends derived from open banking data.',\n domain: 'finance',\n owners: ['platform.finance'],\n tags: ['open-banking', 'summaries', 'cashflow'],\n stability: StabilityEnum.Experimental,\n },\n retention: {\n ttlDays: 180,\n },\n access: {\n policy: { name: 'knowledge.access.financial-overview', version: 1 },\n trustLevel: 'medium',\n automationWritable: true,\n },\n indexing: {\n embeddingModel: 'mistral-embed',\n chunkSize: 600,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'Derived knowledge space containing weekly/monthly cashflow rollups and account health summaries. Raw transactions are excluded to respect privacy guardrails.',\n};\n\nexport function registerFinancialOverviewKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(financialOverviewKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,kCAAsD;CACjE,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAgB;GAAa;GAAW;EAC/C,WAAW,cAAc;EAC1B;CACD,WAAW,EACT,SAAS,KACV;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAAuC,SAAS;GAAG;EACnE,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,wCACd,UACwB;AACxB,QAAO,SAAS,SAAS,gCAAgC"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const productCanonKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerProductCanonKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
7
+ export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
8
+ //# sourceMappingURL=product-canon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-canon.d.ts","names":[],"sources":["../../../src/knowledge/spaces/product-canon.ts"],"sourcesContent":[],"mappings":";;;cAGa,4BAA4B;iBA+BzB,kCAAA,WACJ,yBACT"}
@@ -35,4 +35,5 @@ function registerProductCanonKnowledgeSpace(registry) {
35
35
  }
36
36
 
37
37
  //#endregion
38
- export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
38
+ export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
39
+ //# sourceMappingURL=product-canon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-canon.js","names":["productCanonKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/product-canon.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const productCanonKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.product-canon',\n version: 1,\n category: 'canonical',\n displayName: 'Product Canon',\n title: 'Product Canon Knowledge Space',\n description:\n 'Authoritative product knowledge covering strategy, roadmap, and delivery canon.',\n domain: 'product',\n owners: ['platform.product'],\n tags: ['knowledge', 'product'],\n stability: StabilityEnum.Stable,\n },\n retention: {\n ttlDays: null,\n },\n access: {\n policy: { name: 'knowledge.access.product-canon', version: 1 },\n trustLevel: 'high',\n automationWritable: false,\n },\n indexing: {\n embeddingModel: 'text-embedding-3-large',\n chunkSize: 800,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'Single source of truth for product canon, principles, and strategic narratives.',\n};\n\nexport function registerProductCanonKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(productCanonKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,6BAAiD;CAC5D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM,CAAC,aAAa,UAAU;EAC9B,WAAW,cAAc;EAC1B;CACD,WAAW,EACT,SAAS,MACV;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAAkC,SAAS;GAAG;EAC9D,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,mCACd,UACwB;AACxB,QAAO,SAAS,SAAS,2BAA2B"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const supportFaqKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerSupportFaqKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
7
+ export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
8
+ //# sourceMappingURL=support-faq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-faq.d.ts","names":[],"sources":["../../../src/knowledge/spaces/support-faq.ts"],"sourcesContent":[],"mappings":";;;cAGa,0BAA0B;iBA+BvB,gCAAA,WACJ,yBACT"}
@@ -38,4 +38,5 @@ function registerSupportFaqKnowledgeSpace(registry) {
38
38
  }
39
39
 
40
40
  //#endregion
41
- export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
41
+ export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
42
+ //# sourceMappingURL=support-faq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-faq.js","names":["supportFaqKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/support-faq.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const supportFaqKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.support-faq',\n version: 1,\n category: 'operational',\n displayName: 'Support FAQ',\n title: 'Support & Success FAQ',\n description: 'Operational knowledge base for customer support and success.',\n domain: 'support',\n owners: ['platform.support'],\n tags: ['knowledge', 'support'],\n stability: StabilityEnum.Beta,\n },\n retention: {\n ttlDays: 365,\n archiveAfterDays: 180,\n },\n access: {\n policy: { name: 'knowledge.access.support', version: 1 },\n trustLevel: 'medium',\n automationWritable: true,\n },\n indexing: {\n embeddingModel: 'text-embedding-3-small',\n chunkSize: 700,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'Operational FAQs, runbooks, and customer success playbooks augmented with automation updates.',\n};\n\nexport function registerSupportFaqKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(supportFaqKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,2BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM,CAAC,aAAa,UAAU;EAC9B,WAAW,cAAc;EAC1B;CACD,WAAW;EACT,SAAS;EACT,kBAAkB;EACnB;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAA4B,SAAS;GAAG;EACxD,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,iCACd,UACwB;AACxB,QAAO,SAAS,SAAS,yBAAyB"}
@@ -4,4 +4,5 @@ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
4
4
  declare const uploadedDocsKnowledgeSpace: KnowledgeSpaceSpec;
5
5
  declare function registerUploadedDocsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
6
  //#endregion
7
- export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
7
+ export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
8
+ //# sourceMappingURL=uploaded-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploaded-docs.d.ts","names":[],"sources":["../../../src/knowledge/spaces/uploaded-docs.ts"],"sourcesContent":[],"mappings":";;;cAGa,4BAA4B;iBA+BzB,kCAAA,WACJ,yBACT"}
@@ -35,4 +35,5 @@ function registerUploadedDocsKnowledgeSpace(registry) {
35
35
  }
36
36
 
37
37
  //#endregion
38
- export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
38
+ export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
39
+ //# sourceMappingURL=uploaded-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploaded-docs.js","names":["uploadedDocsKnowledgeSpace: KnowledgeSpaceSpec"],"sources":["../../../src/knowledge/spaces/uploaded-docs.ts"],"sourcesContent":["import { StabilityEnum } from '../../ownership';\nimport type { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from '../spec';\n\nexport const uploadedDocsKnowledgeSpace: KnowledgeSpaceSpec = {\n meta: {\n key: 'knowledge.uploaded-docs',\n version: 1,\n category: 'external',\n displayName: 'Uploaded Documents',\n title: 'Uploaded Knowledge Assets',\n description:\n 'Documents uploaded by households, including invoices, contracts, and reference files.',\n domain: 'operations',\n owners: ['platform.operations'],\n tags: ['documents', 'storage'],\n stability: StabilityEnum.Beta,\n },\n retention: {\n ttlDays: null,\n },\n access: {\n policy: { name: 'knowledge.access.uploaded-docs', version: 1 },\n trustLevel: 'medium',\n automationWritable: true,\n },\n indexing: {\n embeddingModel: 'mistral-embed',\n chunkSize: 900,\n vectorDbIntegration: 'vectordb.qdrant',\n },\n description:\n 'User-provided documents normalized and embedded for retrieval augmented workflows.',\n};\n\nexport function registerUploadedDocsKnowledgeSpace(\n registry: KnowledgeSpaceRegistry\n): KnowledgeSpaceRegistry {\n return registry.register(uploadedDocsKnowledgeSpace);\n}\n"],"mappings":";;;AAGA,MAAaA,6BAAiD;CAC5D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,UAAU;EACV,aAAa;EACb,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,sBAAsB;EAC/B,MAAM,CAAC,aAAa,UAAU;EAC9B,WAAW,cAAc;EAC1B;CACD,WAAW,EACT,SAAS,MACV;CACD,QAAQ;EACN,QAAQ;GAAE,MAAM;GAAkC,SAAS;GAAG;EAC9D,YAAY;EACZ,oBAAoB;EACrB;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,qBAAqB;EACtB;CACD,aACE;CACH;AAED,SAAgB,mCACd,UACwB;AACxB,QAAO,SAAS,SAAS,2BAA2B"}
@@ -49,4 +49,5 @@ declare class KnowledgeSpaceRegistry {
49
49
  }
50
50
  declare function makeKnowledgeSpaceKey(meta: KnowledgeSpaceMeta): string;
51
51
  //#endregion
52
- export { KnowledgeAccessPolicy, KnowledgeCategory, KnowledgeIndexingConfig, KnowledgeRetentionPolicy, KnowledgeSpaceMeta, KnowledgeSpaceRegistry, KnowledgeSpaceSpec, makeKnowledgeSpaceKey };
52
+ export { KnowledgeAccessPolicy, KnowledgeCategory, KnowledgeIndexingConfig, KnowledgeRetentionPolicy, KnowledgeSpaceMeta, KnowledgeSpaceRegistry, KnowledgeSpaceSpec, makeKnowledgeSpaceKey };
53
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/knowledge/spec.ts"],"sourcesContent":[],"mappings":";;;;KAGY,iBAAA;UAMK,kBAAA,SAA2B;EANhC;EAMK,GAAA,EAAA,MAAA;EAQA,OAAA,EAAA,MAAA;EAOA,QAAA,EAXL,iBAW0B;EASrB,WAAA,EAAA,MAAA;AAMjB;AACQ,UAvBS,wBAAA,CAuBT;EAEK;EAEH,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEG;EAAuB,gBAAA,CAAA,EAAA,MAAA;AAQpC;AAGiB,UAjCA,qBAAA,CAiCA;EASP;EAI4B,MAAA,CAAA,EA5C3B,SA4C2B;EAgBZ;EAAoB,UAAA,EAAA,MAAA,GAAA,QAAA,GAAA,KAAA;EAAkB;EAKhD,kBAAA,EAAA,OAAqB;;UA1DpB,uBAAA;;;;;UAMA,kBAAA;QACT;;aAEK;;UAEH;;aAEG;;;;cAQA,sBAAA;;iBAGI;UASP;sCAI4B;0BAgBZ,oBAAoB;;iBAK9B,qBAAA,OAA4B"}
@@ -36,4 +36,5 @@ function makeKnowledgeSpaceKey(meta) {
36
36
  }
37
37
 
38
38
  //#endregion
39
- export { KnowledgeSpaceRegistry, makeKnowledgeSpaceKey };
39
+ export { KnowledgeSpaceRegistry, makeKnowledgeSpaceKey };
40
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","names":["latest: KnowledgeSpaceSpec | undefined"],"sources":["../../src/knowledge/spec.ts"],"sourcesContent":["import type { OwnerShipMeta } from '../ownership';\nimport type { PolicyRef } from '../policy/spec';\n\nexport type KnowledgeCategory =\n | 'canonical' // Ground truth - product specs, schemas, official policies\n | 'operational' // Internal docs - support tickets, runbooks, sales materials\n | 'external' // Third-party - PSP docs, regulations, integration guides\n | 'ephemeral'; // Temporary - agent scratchpads, session context, drafts\n\nexport interface KnowledgeSpaceMeta extends OwnerShipMeta {\n /** Stable space identifier (e.g., \"product-canon\", \"support-faq\"). */\n key: string;\n version: number;\n category: KnowledgeCategory;\n displayName: string;\n}\n\nexport interface KnowledgeRetentionPolicy {\n /** TTL in days (null = indefinite). */\n ttlDays?: number | null;\n /** Auto-archive after inactivity. */\n archiveAfterDays?: number;\n}\n\nexport interface KnowledgeAccessPolicy {\n /** Which PolicySpec governs access. */\n policy?: PolicyRef;\n /** Trust level for agent/workflow consumption. */\n trustLevel: 'high' | 'medium' | 'low';\n /** Can this space be mutated by automation? */\n automationWritable: boolean;\n}\n\nexport interface KnowledgeIndexingConfig {\n embeddingModel?: string;\n chunkSize?: number;\n vectorDbIntegration?: string;\n}\n\nexport interface KnowledgeSpaceSpec {\n meta: KnowledgeSpaceMeta;\n /** Retention and cleanup rules. */\n retention: KnowledgeRetentionPolicy;\n /** Access control and trust. */\n access: KnowledgeAccessPolicy;\n /** Optional embedding/indexing config. */\n indexing?: KnowledgeIndexingConfig;\n /** Documentation. */\n description?: string;\n}\n\nconst knowledgeKey = (meta: Pick<KnowledgeSpaceMeta, 'key' | 'version'>) =>\n `${meta.key}.v${meta.version}`;\n\nexport class KnowledgeSpaceRegistry {\n private readonly items = new Map<string, KnowledgeSpaceSpec>();\n\n register(spec: KnowledgeSpaceSpec): this {\n const key = knowledgeKey(spec.meta);\n if (this.items.has(key)) {\n throw new Error(`Duplicate KnowledgeSpaceSpec ${key}`);\n }\n this.items.set(key, spec);\n return this;\n }\n\n list(): KnowledgeSpaceSpec[] {\n return [...this.items.values()];\n }\n\n get(key: string, version?: number): KnowledgeSpaceSpec | undefined {\n if (version != null) {\n return this.items.get(knowledgeKey({ key, version }));\n }\n let latest: KnowledgeSpaceSpec | undefined;\n let maxVersion = -Infinity;\n for (const spec of this.items.values()) {\n if (spec.meta.key !== key) continue;\n if (spec.meta.version > maxVersion) {\n maxVersion = spec.meta.version;\n latest = spec;\n }\n }\n return latest;\n }\n\n getByCategory(category: KnowledgeCategory): KnowledgeSpaceSpec[] {\n return this.list().filter((spec) => spec.meta.category === category);\n }\n}\n\nexport function makeKnowledgeSpaceKey(meta: KnowledgeSpaceMeta) {\n return knowledgeKey(meta);\n}\n"],"mappings":";AAmDA,MAAM,gBAAgB,SACpB,GAAG,KAAK,IAAI,IAAI,KAAK;AAEvB,IAAa,yBAAb,MAAoC;CAClC,AAAiB,wBAAQ,IAAI,KAAiC;CAE9D,SAAS,MAAgC;EACvC,MAAM,MAAM,aAAa,KAAK,KAAK;AACnC,MAAI,KAAK,MAAM,IAAI,IAAI,CACrB,OAAM,IAAI,MAAM,gCAAgC,MAAM;AAExD,OAAK,MAAM,IAAI,KAAK,KAAK;AACzB,SAAO;;CAGT,OAA6B;AAC3B,SAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC;;CAGjC,IAAI,KAAa,SAAkD;AACjE,MAAI,WAAW,KACb,QAAO,KAAK,MAAM,IAAI,aAAa;GAAE;GAAK;GAAS,CAAC,CAAC;EAEvD,IAAIA;EACJ,IAAI,aAAa;AACjB,OAAK,MAAM,QAAQ,KAAK,MAAM,QAAQ,EAAE;AACtC,OAAI,KAAK,KAAK,QAAQ,IAAK;AAC3B,OAAI,KAAK,KAAK,UAAU,YAAY;AAClC,iBAAa,KAAK,KAAK;AACvB,aAAS;;;AAGb,SAAO;;CAGT,cAAc,UAAmD;AAC/D,SAAO,KAAK,MAAM,CAAC,QAAQ,SAAS,KAAK,KAAK,aAAa,SAAS;;;AAIxE,SAAgB,sBAAsB,MAA0B;AAC9D,QAAO,aAAa,KAAK"}
@@ -64,4 +64,5 @@ declare function exportFeature(feature: FeatureModuleSpec, deps?: {
64
64
  presentations?: PresentationRegistry;
65
65
  }, options?: Partial<FeatureExportOptions>): FeatureExportResult;
66
66
  //#endregion
67
- export { docBlockToMarkdown, eventToMarkdown, exportFeature, exportSpec, featureToMarkdown, presentationToMarkdown, specToAgentPrompt, specToContextMarkdown, specToFullMarkdown };
67
+ export { docBlockToMarkdown, eventToMarkdown, exportFeature, exportSpec, featureToMarkdown, presentationToMarkdown, specToAgentPrompt, specToContextMarkdown, specToFullMarkdown };
68
+ //# sourceMappingURL=exporters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters.d.ts","names":[],"sources":["../../src/llm/exporters.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;AAkSA;AA8IA;;AAGY,iBAtYI,qBAAA,CAsYJ,IAAA,EAtYgC,eAsYhC,CAAA,EAAA,MAAA;;;;;AA+HZ;AA2DgB,iBAjhBA,kBAAA,CAihBiC,IAAA,EAhhBzC,eAghBwC,EAAA,OAAA,CAAA,EA/gBrC,OA+gBqC,CA/gB7B,iBA+gB6B,CAAA,CAAA,EAAA,MAAA;AAsChD;AA0CA;;;;AAGG,iBA9Za,iBAAA,CA8Zb,IAAA,EA7ZK,eA6ZL,EAAA,OAkCQ,CAlCR,EAAA;EAAgB,QAAA,CAAA,EAAA,WAAA,GAAA,MAAA,GAAA,UAAA,GAAA,QAAA;EAiCH,YAAA,CAAA,EAAA,MAAa;CAClB,CAAA,EAAA,MAAA;;;;;AAMR,iBAxTa,iBAAA,CAwTb,OAAA,EAvTQ,iBAuTR,EAAA,KAAA,EAAA;EAAmB,KAAA,CAAA,EArTV,YAqTU;kBApTF;aAET,QAAQ;;;;iBA4HH,sBAAA,eACA;;;;iBA0DA,eAAA,QAAuB,UAAU;;;;iBAsCjC,kBAAA,MAAwB;;;;;iBA0CxB,UAAA,OACR,2BACG,QAAQ,qBAChB;;;;iBAiCa,aAAA,UACL;UAEC;kBACQ;aAET,QAAQ,wBAChB"}
@@ -538,4 +538,5 @@ function exportFeature(feature, deps, options = {}) {
538
538
  }
539
539
 
540
540
  //#endregion
541
- export { docBlockToMarkdown, eventToMarkdown, exportFeature, exportSpec, featureToMarkdown, presentationToMarkdown, specToAgentPrompt, specToContextMarkdown, specToFullMarkdown };
541
+ export { docBlockToMarkdown, eventToMarkdown, exportFeature, exportSpec, featureToMarkdown, presentationToMarkdown, specToAgentPrompt, specToContextMarkdown, specToFullMarkdown };
542
+ //# sourceMappingURL=exporters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporters.js","names":["DEFAULT_SPEC_OPTIONS: SpecExportOptions","DEFAULT_FEATURE_OPTIONS: FeatureExportOptions","lines: string[]","markdown: string"],"sources":["../../src/llm/exporters.ts"],"sourcesContent":["/**\n * LLM Export Functions\n *\n * Provides multi-format markdown export for specs, features, presentations,\n * and other ContractSpec artifacts for LLM consumption.\n */\n\nimport type { AnyContractSpec } from '../spec';\nimport { isEmitDeclRef } from '../spec';\nimport type { FeatureModuleSpec } from '../features';\nimport type { PresentationDescriptorV2 } from '../presentations.v2';\nimport type { EventSpec } from '../events';\nimport type { AnySchemaModel } from '@lssm/lib.schema';\nimport type { DocBlock } from '../docs/types';\nimport type { SpecRegistry } from '../registry';\nimport type { PresentationRegistry } from '../presentations';\nimport { jsonSchemaForSpec } from '../jsonschema';\nimport type {\n SpecExportOptions,\n FeatureExportOptions,\n SpecExportResult,\n FeatureExportResult,\n} from './types';\n\nconst DEFAULT_SPEC_OPTIONS: SpecExportOptions = {\n format: 'full',\n includeSchemas: true,\n includeScenarios: true,\n includeExamples: true,\n includePolicy: true,\n includeSideEffects: true,\n};\n\nconst DEFAULT_FEATURE_OPTIONS: FeatureExportOptions = {\n ...DEFAULT_SPEC_OPTIONS,\n includeRelatedSpecs: true,\n includeRelatedEvents: true,\n includeRelatedPresentations: true,\n};\n\n/**\n * Export a single spec to context-focused markdown.\n * Includes: goal, context, description, acceptance scenarios.\n * Best for: Understanding what the spec does, providing context to LLMs.\n */\nexport function specToContextMarkdown(spec: AnyContractSpec): string {\n const m = spec.meta;\n const lines: string[] = [];\n\n lines.push(`# ${m.name} (v${m.version})`);\n lines.push('');\n lines.push(`> ${m.description}`);\n lines.push('');\n lines.push(`**Type:** ${m.kind} | **Stability:** ${m.stability}`);\n lines.push('');\n\n lines.push('## Goal');\n lines.push('');\n lines.push(m.goal);\n lines.push('');\n\n lines.push('## Context');\n lines.push('');\n lines.push(m.context);\n lines.push('');\n\n if (spec.acceptance?.scenarios?.length) {\n lines.push('## Acceptance Criteria');\n lines.push('');\n for (const s of spec.acceptance.scenarios) {\n lines.push(`### ${s.name}`);\n lines.push('');\n lines.push('**Given:**');\n for (const g of s.given) lines.push(`- ${g}`);\n lines.push('');\n lines.push('**When:**');\n for (const w of s.when) lines.push(`- ${w}`);\n lines.push('');\n lines.push('**Then:**');\n for (const t of s.then) lines.push(`- ${t}`);\n lines.push('');\n }\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Export a single spec to full markdown with all details.\n * Includes: all fields, I/O schemas, policy, events, examples.\n * Best for: Complete documentation, implementation reference.\n */\nexport function specToFullMarkdown(\n spec: AnyContractSpec,\n options: Partial<SpecExportOptions> = {}\n): string {\n const opts = { ...DEFAULT_SPEC_OPTIONS, ...options };\n const m = spec.meta;\n const lines: string[] = [];\n\n // Header\n lines.push(`# ${m.name}.v${m.version}`);\n lines.push('');\n lines.push(`> ${m.description}`);\n lines.push('');\n\n // Metadata table\n lines.push('## Metadata');\n lines.push('');\n lines.push('| Field | Value |');\n lines.push('|-------|-------|');\n lines.push(`| Kind | ${m.kind} |`);\n lines.push(`| Stability | ${m.stability} |`);\n lines.push(`| Owners | ${m.owners.join(', ')} |`);\n lines.push(`| Tags | ${m.tags.join(', ')} |`);\n lines.push('');\n\n // Goal & Context\n lines.push('## Goal');\n lines.push('');\n lines.push(m.goal);\n lines.push('');\n\n lines.push('## Context');\n lines.push('');\n lines.push(m.context);\n lines.push('');\n\n // I/O Schemas\n if (opts.includeSchemas) {\n lines.push('## Input/Output');\n lines.push('');\n\n if (spec.io.input) {\n lines.push('### Input Schema');\n lines.push('');\n lines.push('```json');\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const schema = jsonSchemaForSpec(spec as any) as any;\n lines.push(JSON.stringify(schema.input ?? {}, null, 2));\n } catch {\n lines.push('// Schema generation not available');\n }\n lines.push('```');\n lines.push('');\n }\n\n lines.push('### Output Schema');\n lines.push('');\n lines.push('```json');\n try {\n const schema = jsonSchemaForSpec(spec as any) as any;\n lines.push(JSON.stringify(schema.output ?? {}, null, 2));\n } catch {\n lines.push('// Schema generation not available');\n }\n lines.push('```');\n lines.push('');\n\n // Errors\n if (spec.io.errors && Object.keys(spec.io.errors).length) {\n lines.push('### Error Codes');\n lines.push('');\n lines.push('| Code | HTTP | Description | When |');\n lines.push('|------|------|-------------|------|');\n for (const [code, err] of Object.entries(spec.io.errors)) {\n lines.push(\n `| \\`${code}\\` | ${err.http ?? 400} | ${err.description} | ${err.when} |`\n );\n }\n lines.push('');\n }\n }\n\n // Policy\n if (opts.includePolicy) {\n lines.push('## Policy');\n lines.push('');\n lines.push(`- **Auth Required:** ${spec.policy.auth}`);\n lines.push(\n `- **Idempotent:** ${spec.policy.idempotent ?? m.kind === 'query'}`\n );\n if (spec.policy.rateLimit) {\n lines.push(\n `- **Rate Limit:** ${spec.policy.rateLimit.rpm} rpm per ${spec.policy.rateLimit.key}`\n );\n }\n if (spec.policy.flags?.length) {\n lines.push(`- **Feature Flags:** ${spec.policy.flags.join(', ')}`);\n }\n if (spec.policy.pii?.length) {\n lines.push(`- **PII Fields:** ${spec.policy.pii.join(', ')}`);\n }\n if (spec.policy.escalate) {\n lines.push(`- **Escalation:** ${spec.policy.escalate}`);\n }\n lines.push('');\n }\n\n // Side Effects\n if (opts.includeSideEffects && spec.sideEffects) {\n if (spec.sideEffects.emits?.length) {\n lines.push('## Events Emitted');\n lines.push('');\n for (const e of spec.sideEffects.emits) {\n if (isEmitDeclRef(e)) {\n lines.push(`- \\`${e.ref.name}.v${e.ref.version}\\` — ${e.when}`);\n } else {\n lines.push(`- \\`${e.name}.v${e.version}\\` — ${e.when}`);\n }\n }\n lines.push('');\n }\n\n if (spec.sideEffects.analytics?.length) {\n lines.push('## Analytics Events');\n lines.push('');\n for (const a of spec.sideEffects.analytics) {\n lines.push(`- ${a}`);\n }\n lines.push('');\n }\n }\n\n // Acceptance Scenarios\n if (opts.includeScenarios && spec.acceptance?.scenarios?.length) {\n lines.push('## Acceptance Scenarios');\n lines.push('');\n for (const s of spec.acceptance.scenarios) {\n lines.push(`### ${s.name}`);\n lines.push('');\n lines.push('**Given:**');\n for (const g of s.given) lines.push(`- ${g}`);\n lines.push('');\n lines.push('**When:**');\n for (const w of s.when) lines.push(`- ${w}`);\n lines.push('');\n lines.push('**Then:**');\n for (const t of s.then) lines.push(`- ${t}`);\n lines.push('');\n }\n }\n\n // Examples\n if (opts.includeExamples && spec.acceptance?.examples?.length) {\n lines.push('## Examples');\n lines.push('');\n for (const ex of spec.acceptance.examples) {\n lines.push(`### ${ex.name}`);\n lines.push('');\n lines.push('**Input:**');\n lines.push('```json');\n lines.push(JSON.stringify(ex.input, null, 2));\n lines.push('```');\n lines.push('');\n lines.push('**Output:**');\n lines.push('```json');\n lines.push(JSON.stringify(ex.output, null, 2));\n lines.push('```');\n lines.push('');\n }\n }\n\n // Transport hints\n if (spec.transport) {\n lines.push('## Transport Configuration');\n lines.push('');\n if (spec.transport.rest) {\n lines.push(\n `- **REST:** ${spec.transport.rest.method ?? 'POST'} ${spec.transport.rest.path ?? 'auto'}`\n );\n }\n if (spec.transport.gql) {\n lines.push(`- **GraphQL:** ${spec.transport.gql.field ?? 'auto'}`);\n }\n if (spec.transport.mcp) {\n lines.push(`- **MCP Tool:** ${spec.transport.mcp.toolName ?? 'auto'}`);\n }\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Export a single spec as an actionable agent prompt.\n * Includes: instructions, full spec, expected output format.\n * Best for: Directly feeding to coding agents for implementation.\n */\nexport function specToAgentPrompt(\n spec: AnyContractSpec,\n options?: {\n taskType?: 'implement' | 'test' | 'refactor' | 'review';\n existingCode?: string;\n }\n): string {\n const taskType = options?.taskType ?? 'implement';\n const m = spec.meta;\n const lines: string[] = [];\n\n // Task header\n const taskVerb = {\n implement: 'Implement',\n test: 'Write tests for',\n refactor: 'Refactor',\n review: 'Review',\n }[taskType];\n\n lines.push(`# Task: ${taskVerb} ${m.name}.v${m.version}`);\n lines.push('');\n\n // Context\n lines.push('## Context');\n lines.push('');\n lines.push(\n `You are working on a ContractSpec-driven codebase. This spec defines a ${m.kind} operation.`\n );\n lines.push('');\n lines.push(`**Goal:** ${m.goal}`);\n lines.push('');\n lines.push(`**Background:** ${m.context}`);\n lines.push('');\n\n // Full spec\n lines.push('## Specification');\n lines.push('');\n lines.push(specToFullMarkdown(spec));\n lines.push('');\n\n // Task-specific instructions\n lines.push('## Instructions');\n lines.push('');\n\n if (taskType === 'implement') {\n lines.push('Implement this specification following these requirements:');\n lines.push('');\n lines.push(\n '1. **Type Safety**: Use TypeScript with strict typing. No `any` types.'\n );\n lines.push(\n '2. **Input Validation**: Validate input against the schema before processing.'\n );\n lines.push(\n '3. **Error Handling**: Implement all error cases defined in the spec.'\n );\n lines.push('4. **Events**: Emit events as specified in sideEffects.emits.');\n lines.push('5. **Policy**: Respect auth, rate limits, and feature flags.');\n lines.push(\n '6. **Idempotency**: ' +\n (spec.policy.idempotent\n ? 'This operation MUST be idempotent.'\n : 'This operation may have side effects.')\n );\n lines.push('');\n\n if (spec.policy.pii?.length) {\n lines.push(\n '**PII Handling**: The following fields contain PII and must be handled carefully:'\n );\n for (const field of spec.policy.pii) {\n lines.push(`- ${field}`);\n }\n lines.push('');\n }\n } else if (taskType === 'test') {\n lines.push('Write comprehensive tests for this specification:');\n lines.push('');\n lines.push('1. Test all acceptance scenarios defined in the spec.');\n lines.push('2. Test all error cases with appropriate assertions.');\n lines.push('3. Test edge cases and boundary conditions.');\n lines.push('4. Verify events are emitted correctly.');\n lines.push(\n '5. Use descriptive test names following the pattern: \"should [behavior] when [condition]\"'\n );\n lines.push('');\n } else if (taskType === 'refactor') {\n lines.push('Refactor this implementation while preserving all behavior:');\n lines.push('');\n lines.push('1. Maintain compliance with the specification.');\n lines.push('2. Improve code clarity and maintainability.');\n lines.push('3. Reduce complexity where possible.');\n lines.push('4. Ensure all existing tests still pass.');\n lines.push('');\n } else if (taskType === 'review') {\n lines.push('Review this implementation against the specification:');\n lines.push('');\n lines.push('1. Verify input/output types match the schema.');\n lines.push('2. Check all error cases are handled.');\n lines.push('3. Verify events are emitted as specified.');\n lines.push('4. Check policy compliance (auth, rate limits).');\n lines.push('5. Report any deviations from the spec.');\n lines.push('');\n }\n\n // Existing code if provided\n if (options?.existingCode) {\n lines.push('## Existing Code');\n lines.push('');\n lines.push('```typescript');\n lines.push(options.existingCode);\n lines.push('```');\n lines.push('');\n }\n\n // Expected output format\n lines.push('## Expected Output');\n lines.push('');\n if (taskType === 'implement' || taskType === 'refactor') {\n lines.push('Provide a complete TypeScript implementation. Include:');\n lines.push('- Type definitions for input/output');\n lines.push('- Handler function with proper error handling');\n lines.push('- JSDoc comments explaining the implementation');\n } else if (taskType === 'test') {\n lines.push(\n 'Provide a complete test file using the testing framework available (prefer Vitest).'\n );\n } else if (taskType === 'review') {\n lines.push('Provide a structured review with:');\n lines.push('- Compliance status (pass/fail for each requirement)');\n lines.push('- Issues found with severity (error/warning/info)');\n lines.push('- Suggestions for improvement');\n }\n lines.push('');\n\n return lines.join('\\n');\n}\n\n/**\n * Export a feature module to markdown.\n * Includes all related specs, events, and presentations.\n */\nexport function featureToMarkdown(\n feature: FeatureModuleSpec,\n deps?: {\n specs?: SpecRegistry;\n presentations?: PresentationRegistry;\n },\n options: Partial<FeatureExportOptions> = {}\n): string {\n const opts = { ...DEFAULT_FEATURE_OPTIONS, ...options };\n const m = feature.meta;\n const lines: string[] = [];\n\n // Header\n lines.push(`# Feature: ${m.title ?? m.key}`);\n lines.push('');\n if (m.description) {\n lines.push(`> ${m.description}`);\n lines.push('');\n }\n\n // Metadata\n lines.push('## Overview');\n lines.push('');\n lines.push(`- **Key:** \\`${m.key}\\``);\n lines.push(`- **Stability:** ${m.stability}`);\n lines.push(`- **Owners:** ${m.owners.join(', ')}`);\n if (m.tags?.length) {\n lines.push(`- **Tags:** ${m.tags.join(', ')}`);\n }\n lines.push('');\n\n // Operations summary\n if (feature.operations?.length) {\n lines.push('## Operations');\n lines.push('');\n lines.push('| Name | Version | Type |');\n lines.push('|------|---------|------|');\n for (const op of feature.operations) {\n const spec = deps?.specs?.getSpec(op.name, op.version);\n const kind = spec?.meta.kind ?? 'unknown';\n lines.push(`| ${op.name} | v${op.version} | ${kind} |`);\n }\n lines.push('');\n\n // Include full specs if requested\n if (opts.includeRelatedSpecs && deps?.specs) {\n lines.push('### Operation Details');\n lines.push('');\n for (const op of feature.operations) {\n const spec = deps.specs.getSpec(op.name, op.version);\n if (spec) {\n lines.push(`---`);\n lines.push('');\n lines.push(specToFullMarkdown(spec, opts));\n }\n }\n }\n }\n\n // Events summary\n if (feature.events?.length) {\n lines.push('## Events');\n lines.push('');\n lines.push('| Name | Version |');\n lines.push('|------|---------|');\n for (const evt of feature.events) {\n lines.push(`| ${evt.name} | v${evt.version} |`);\n }\n lines.push('');\n }\n\n // Presentations summary\n if (feature.presentations?.length) {\n lines.push('## Presentations');\n lines.push('');\n lines.push('| Name | Version |');\n lines.push('|------|---------|');\n for (const pres of feature.presentations) {\n lines.push(`| ${pres.name} | v${pres.version} |`);\n }\n lines.push('');\n\n // Include full presentations if requested\n if (opts.includeRelatedPresentations && deps?.presentations) {\n lines.push('### Presentation Details');\n lines.push('');\n for (const pres of feature.presentations) {\n const p = deps.presentations.get(pres.name, pres.version);\n if (p) {\n lines.push(`#### ${pres.name}.v${pres.version}`);\n lines.push('');\n lines.push(`- **Kind:** ${(p.content as any).kind ?? 'unknown'}`);\n if ('componentKey' in p.content) {\n lines.push(`- **Component:** ${(p.content as any).componentKey}`);\n }\n lines.push('');\n }\n }\n }\n }\n\n // Capabilities\n if (feature.capabilities) {\n if (feature.capabilities.provides?.length) {\n lines.push('## Capabilities Provided');\n lines.push('');\n for (const cap of feature.capabilities.provides) {\n lines.push(`- \\`${cap.key}.v${cap.version}\\``);\n }\n lines.push('');\n }\n\n if (feature.capabilities.requires?.length) {\n lines.push('## Capabilities Required');\n lines.push('');\n for (const cap of feature.capabilities.requires) {\n lines.push(\n `- \\`${cap.key}\\`${cap.version ? `.v${cap.version}` : ''} (${cap.optional ? 'optional' : 'required'})`\n );\n }\n lines.push('');\n }\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Export a presentation descriptor to markdown.\n */\nexport function presentationToMarkdown(\n presentation: PresentationDescriptorV2\n): string {\n const m = presentation.meta;\n const lines: string[] = [];\n\n lines.push(`# Presentation: ${m.name}.v${m.version}`);\n lines.push('');\n\n if (m.description) {\n lines.push(`> ${m.description}`);\n lines.push('');\n }\n\n lines.push('## Metadata');\n lines.push('');\n lines.push(`- **Name:** ${m.name}`);\n lines.push(`- **Version:** ${m.version}`);\n if (m.stability) lines.push(`- **Stability:** ${m.stability}`);\n if (m.owners?.length) lines.push(`- **Owners:** ${m.owners.join(', ')}`);\n if (m.tags?.length) lines.push(`- **Tags:** ${m.tags.join(', ')}`);\n lines.push('');\n\n lines.push('## Source');\n lines.push('');\n lines.push(`- **Type:** ${presentation.source.type}`);\n if (presentation.source.type === 'component') {\n lines.push(`- **Framework:** ${presentation.source.framework}`);\n lines.push(`- **Component Key:** ${presentation.source.componentKey}`);\n }\n lines.push('');\n\n lines.push('## Supported Targets');\n lines.push('');\n for (const target of presentation.targets) {\n lines.push(`- ${target}`);\n }\n lines.push('');\n\n if (presentation.policy) {\n lines.push('## Policy');\n lines.push('');\n if (presentation.policy.flags?.length) {\n lines.push(\n `- **Feature Flags:** ${presentation.policy.flags.join(', ')}`\n );\n }\n if (presentation.policy.pii?.length) {\n lines.push(`- **PII Fields:** ${presentation.policy.pii.join(', ')}`);\n }\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Export an event spec to markdown.\n */\nexport function eventToMarkdown(event: EventSpec<AnySchemaModel>): string {\n const lines: string[] = [];\n\n lines.push(`# Event: ${event.name}.v${event.version}`);\n lines.push('');\n\n lines.push('## Metadata');\n lines.push('');\n lines.push(`- **Name:** ${event.name}`);\n lines.push(`- **Version:** ${event.version}`);\n if (event.description) lines.push(`- **Description:** ${event.description}`);\n lines.push('');\n\n lines.push('## Payload Schema');\n lines.push('');\n lines.push('```json');\n try {\n const zodSchema = event.payload.getZod();\n // Try to get shape if available\n if ('shape' in zodSchema && zodSchema.shape) {\n const shape = zodSchema.shape as Record<string, unknown>;\n const fields = Object.keys(shape);\n lines.push(JSON.stringify({ fields }, null, 2));\n } else {\n lines.push('// Payload schema available at runtime');\n }\n } catch {\n lines.push('// Schema details available at runtime');\n }\n lines.push('```');\n lines.push('');\n\n return lines.join('\\n');\n}\n\n/**\n * Export a DocBlock to markdown (already markdown, but formatted consistently).\n */\nexport function docBlockToMarkdown(doc: DocBlock): string {\n const lines: string[] = [];\n\n lines.push(`# ${doc.title}`);\n lines.push('');\n\n if (doc.summary) {\n lines.push(`> ${doc.summary}`);\n lines.push('');\n }\n\n lines.push('## Metadata');\n lines.push('');\n lines.push(`- **ID:** ${doc.id}`);\n lines.push(`- **Kind:** ${doc.kind ?? 'reference'}`);\n lines.push(`- **Visibility:** ${doc.visibility ?? 'public'}`);\n if (doc.tags?.length) lines.push(`- **Tags:** ${doc.tags.join(', ')}`);\n if (doc.owners?.length) lines.push(`- **Owners:** ${doc.owners.join(', ')}`);\n if (doc.domain) lines.push(`- **Domain:** ${doc.domain}`);\n lines.push('');\n\n lines.push('## Content');\n lines.push('');\n lines.push(doc.body);\n lines.push('');\n\n if (doc.links?.length) {\n lines.push('## Related Links');\n lines.push('');\n for (const link of doc.links) {\n lines.push(`- [${link.label}](${link.href})`);\n }\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Export a spec with a specific format.\n * Convenience function that wraps the format-specific functions.\n */\nexport function exportSpec(\n spec: AnyContractSpec,\n options: Partial<SpecExportOptions> = {}\n): SpecExportResult {\n const format = options.format ?? 'full';\n\n let markdown: string;\n switch (format) {\n case 'context':\n markdown = specToContextMarkdown(spec);\n break;\n case 'prompt':\n markdown = specToAgentPrompt(spec);\n break;\n case 'full':\n default:\n markdown = specToFullMarkdown(spec, options);\n break;\n }\n\n return {\n spec,\n markdown,\n format,\n meta: {\n specName: spec.meta.name,\n specVersion: spec.meta.version,\n exportedAt: new Date().toISOString(),\n wordCount: markdown.split(/\\s+/).length,\n },\n };\n}\n\n/**\n * Export a feature with a specific format.\n */\nexport function exportFeature(\n feature: FeatureModuleSpec,\n deps?: {\n specs?: SpecRegistry;\n presentations?: PresentationRegistry;\n },\n options: Partial<FeatureExportOptions> = {}\n): FeatureExportResult {\n const format = options.format ?? 'full';\n const markdown = featureToMarkdown(feature, deps, options);\n\n return {\n feature,\n markdown,\n format,\n includedSpecs:\n feature.operations?.map((o) => `${o.name}.v${o.version}`) ?? [],\n includedEvents: feature.events?.map((e) => `${e.name}.v${e.version}`) ?? [],\n includedPresentations:\n feature.presentations?.map((p) => `${p.name}.v${p.version}`) ?? [],\n };\n}\n"],"mappings":"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"}
@@ -48,4 +48,5 @@ declare function generateFixViolationsPrompt(spec: AnyContractSpec, implementati
48
48
  suggestion?: string;
49
49
  }[]): AgentPrompt;
50
50
  //#endregion
51
- export { AGENT_SYSTEM_PROMPTS, formatPlanForAgent, generateFixViolationsPrompt, generateImplementationPlan, generateImplementationPrompt, generateReviewPrompt, generateTestPrompt, generateVerificationPrompt };
51
+ export { AGENT_SYSTEM_PROMPTS, formatPlanForAgent, generateFixViolationsPrompt, generateImplementationPlan, generateImplementationPrompt, generateReviewPrompt, generateTestPrompt, generateVerificationPrompt };
52
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","names":[],"sources":["../../src/llm/prompts.ts"],"sourcesContent":[],"mappings":";;;;;;AAoIA;;AAES,cAlHI,oBAkHJ,EAlH0B,MAkH1B,CAlHiC,SAkHjC,EAAA,MAAA,CAAA;;;AAwCT;AACQ,iBAvGQ,4BAAA,CAuGR,IAAA,EAtGA,eAsGA,EAAA,KAAA,EArGC,SAqGD,EAAA,OAGM,CAHN,EAAA;EACC,YAAA,CAAA,EAAA,MAAA;EAEN,UAAA,CAAA,EAAA,MAAA;CAAW,CAAA,EAnGX,WAmGW;AA0Cd;AAkDA;AAgLA;AACQ,iBA3TQ,kBAAA,CA2TR,IAAA,EA1TA,eA0TA,EAAA,KAAA,EAzTC,SAyTD,EAAA,OAEM,CAFN,EAAA;EACC,kBAAA,CAAA,EAAA,MAAA;EACN,aAAA,CAAA,EAAA,QAAA,GAAA,MAAA,GAAA,KAAA;CAAW,CAAA,EAtTX,WAsTW;AAuEd;;;iBA1VgB,oBAAA,OACR,wBACC,wCAEN;;;;iBA0Ca,0BAAA,OACR,8CAEL;;;;iBA+Ca,0BAAA,OACR;;;IAKL;;;;iBA0Ka,kBAAA,OACR,2BACC,YACN;;;;iBAuEa,2BAAA,OACR;;;MAGL"}