@contractspec/lib.contracts 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/_virtual/rolldown_runtime.js +37 -0
  4. package/dist/app-config/app-config.feature.d.ts +12 -0
  5. package/dist/app-config/app-config.feature.js +54 -0
  6. package/dist/app-config/branding.d.ts +55 -0
  7. package/dist/app-config/branding.js +0 -0
  8. package/dist/app-config/contracts.d.ts +245 -0
  9. package/dist/app-config/contracts.js +395 -0
  10. package/dist/app-config/docs/app-config.docblock.d.ts +6 -0
  11. package/dist/app-config/docs/app-config.docblock.js +21 -0
  12. package/dist/app-config/events.d.ts +122 -0
  13. package/dist/app-config/events.js +174 -0
  14. package/dist/app-config/index.d.ts +9 -0
  15. package/dist/app-config/index.js +8 -0
  16. package/dist/app-config/lifecycle-contracts.d.ts +273 -0
  17. package/dist/app-config/lifecycle-contracts.js +440 -0
  18. package/dist/app-config/lifecycle.d.ts +27 -0
  19. package/dist/app-config/lifecycle.js +0 -0
  20. package/dist/app-config/runtime.d.ts +120 -0
  21. package/dist/app-config/runtime.js +617 -0
  22. package/dist/app-config/spec.d.ts +173 -0
  23. package/dist/app-config/spec.js +36 -0
  24. package/dist/app-config/validation.d.ts +49 -0
  25. package/dist/app-config/validation.js +538 -0
  26. package/dist/capabilities/capabilities.d.ts +48 -0
  27. package/dist/capabilities/capabilities.js +50 -0
  28. package/dist/capabilities/docs/capabilities.docblock.d.ts +6 -0
  29. package/dist/capabilities/docs/capabilities.docblock.js +21 -0
  30. package/dist/capabilities/index.d.ts +3 -0
  31. package/dist/capabilities/index.js +4 -0
  32. package/dist/capabilities/openbanking.d.ts +10 -0
  33. package/dist/capabilities/openbanking.js +92 -0
  34. package/dist/client/index.d.ts +6 -0
  35. package/dist/client/index.js +9 -0
  36. package/dist/client/react/drivers/rn-reusables.d.ts +22 -0
  37. package/dist/client/react/drivers/rn-reusables.js +21 -0
  38. package/dist/client/react/drivers/shadcn.d.ts +12 -0
  39. package/dist/client/react/drivers/shadcn.js +11 -0
  40. package/dist/client/react/feature-render.d.ts +23 -0
  41. package/dist/client/react/feature-render.js +44 -0
  42. package/dist/client/react/form-render.d.ts +92 -0
  43. package/dist/client/react/form-render.js +298 -0
  44. package/dist/client/react/index.d.ts +5 -0
  45. package/dist/client/react/index.js +8 -0
  46. package/dist/contract-registry/index.d.ts +3 -0
  47. package/dist/contract-registry/index.js +3 -0
  48. package/dist/contract-registry/schemas.d.ts +124 -0
  49. package/dist/contract-registry/schemas.js +61 -0
  50. package/dist/contract-registry/types.d.ts +46 -0
  51. package/dist/contract-registry/types.js +0 -0
  52. package/dist/data-views/data-views.d.ts +5 -0
  53. package/dist/data-views/data-views.js +4 -0
  54. package/dist/data-views/docs/data-views.docblock.d.ts +6 -0
  55. package/dist/data-views/docs/data-views.docblock.js +21 -0
  56. package/dist/data-views/index.d.ts +4 -0
  57. package/dist/data-views/index.js +4 -0
  58. package/dist/data-views/query-generator.d.ts +40 -0
  59. package/dist/data-views/query-generator.js +48 -0
  60. package/dist/data-views/registry.d.ts +51 -0
  61. package/dist/data-views/registry.js +82 -0
  62. package/dist/data-views/runtime.d.ts +28 -0
  63. package/dist/data-views/runtime.js +39 -0
  64. package/dist/data-views/spec.d.ts +32 -0
  65. package/dist/data-views/spec.js +10 -0
  66. package/dist/data-views/types.d.ts +157 -0
  67. package/dist/data-views/types.js +0 -0
  68. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +6 -0
  69. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -0
  70. package/dist/docs/index.d.ts +6 -0
  71. package/dist/docs/index.js +29 -0
  72. package/dist/docs/meta.docs.d.ts +6 -0
  73. package/dist/docs/meta.docs.js +29 -0
  74. package/dist/docs/presentations.d.ts +33 -0
  75. package/dist/docs/presentations.js +64 -0
  76. package/dist/docs/registry.d.ts +23 -0
  77. package/dist/docs/registry.js +51 -0
  78. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +6 -0
  79. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +81 -0
  80. package/dist/docs/tech/contracts/README.docblock.d.ts +6 -0
  81. package/dist/docs/tech/contracts/README.docblock.js +21 -0
  82. package/dist/docs/tech/contracts/create-subscription.docblock.d.ts +6 -0
  83. package/dist/docs/tech/contracts/create-subscription.docblock.js +21 -0
  84. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.d.ts +6 -0
  85. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +21 -0
  86. package/dist/docs/tech/contracts/migrations.docblock.d.ts +6 -0
  87. package/dist/docs/tech/contracts/migrations.docblock.js +21 -0
  88. package/dist/docs/tech/contracts/openapi-export.docblock.d.ts +6 -0
  89. package/dist/docs/tech/contracts/openapi-export.docblock.js +58 -0
  90. package/dist/docs/tech/contracts/openapi-import.docblock.d.ts +6 -0
  91. package/dist/docs/tech/contracts/openapi-import.docblock.js +65 -0
  92. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.d.ts +6 -0
  93. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +21 -0
  94. package/dist/docs/tech/contracts/overlays.docblock.d.ts +6 -0
  95. package/dist/docs/tech/contracts/overlays.docblock.js +21 -0
  96. package/dist/docs/tech/contracts/tests.docblock.d.ts +6 -0
  97. package/dist/docs/tech/contracts/tests.docblock.js +21 -0
  98. package/dist/docs/tech/contracts/themes.docblock.d.ts +6 -0
  99. package/dist/docs/tech/contracts/themes.docblock.js +21 -0
  100. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.d.ts +6 -0
  101. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +21 -0
  102. package/dist/docs/tech/lifecycle-stage-system.docblock.d.ts +6 -0
  103. package/dist/docs/tech/lifecycle-stage-system.docblock.js +17 -0
  104. package/dist/docs/tech/llm/llm-integration.docblock.d.ts +7 -0
  105. package/dist/docs/tech/llm/llm-integration.docblock.js +358 -0
  106. package/dist/docs/tech/mcp-endpoints.docblock.d.ts +6 -0
  107. package/dist/docs/tech/mcp-endpoints.docblock.js +38 -0
  108. package/dist/docs/tech/presentation-runtime.docblock.d.ts +6 -0
  109. package/dist/docs/tech/presentation-runtime.docblock.js +17 -0
  110. package/dist/docs/tech/schema/README.docblock.d.ts +6 -0
  111. package/dist/docs/tech/schema/README.docblock.js +21 -0
  112. package/dist/docs/tech/studio/learning-events.docblock.d.ts +6 -0
  113. package/dist/docs/tech/studio/learning-events.docblock.js +49 -0
  114. package/dist/docs/tech/studio/learning-journeys.docblock.d.ts +6 -0
  115. package/dist/docs/tech/studio/learning-journeys.docblock.js +80 -0
  116. package/dist/docs/tech/studio/platform-admin-panel.docblock.d.ts +6 -0
  117. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +85 -0
  118. package/dist/docs/tech/studio/project-access-teams.docblock.d.ts +6 -0
  119. package/dist/docs/tech/studio/project-access-teams.docblock.js +46 -0
  120. package/dist/docs/tech/studio/project-routing.docblock.d.ts +6 -0
  121. package/dist/docs/tech/studio/project-routing.docblock.js +68 -0
  122. package/dist/docs/tech/studio/sandbox-unlogged.docblock.d.ts +6 -0
  123. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +41 -0
  124. package/dist/docs/tech/studio/team-invitations.docblock.d.ts +6 -0
  125. package/dist/docs/tech/studio/team-invitations.docblock.js +70 -0
  126. package/dist/docs/tech/studio/workspace-ops.docblock.d.ts +6 -0
  127. package/dist/docs/tech/studio/workspace-ops.docblock.js +48 -0
  128. package/dist/docs/tech/studio/workspaces.docblock.d.ts +6 -0
  129. package/dist/docs/tech/studio/workspaces.docblock.js +63 -0
  130. package/dist/docs/tech/telemetry-ingest.docblock.d.ts +6 -0
  131. package/dist/docs/tech/telemetry-ingest.docblock.js +156 -0
  132. package/dist/docs/tech/templates/runtime.docblock.d.ts +6 -0
  133. package/dist/docs/tech/templates/runtime.docblock.js +21 -0
  134. package/dist/docs/tech/vscode-extension.docblock.d.ts +6 -0
  135. package/dist/docs/tech/vscode-extension.docblock.js +102 -0
  136. package/dist/docs/tech-contracts.docs.d.ts +6 -0
  137. package/dist/docs/tech-contracts.docs.js +96 -0
  138. package/dist/docs/types.d.ts +41 -0
  139. package/dist/docs/types.js +0 -0
  140. package/dist/events.d.ts +47 -0
  141. package/dist/events.js +19 -0
  142. package/dist/experiments/docs/experiments.docblock.d.ts +6 -0
  143. package/dist/experiments/docs/experiments.docblock.js +21 -0
  144. package/dist/experiments/evaluator.d.ts +37 -0
  145. package/dist/experiments/evaluator.js +101 -0
  146. package/dist/experiments/spec-resolver.d.ts +17 -0
  147. package/dist/experiments/spec-resolver.js +0 -0
  148. package/dist/experiments/spec.d.ts +82 -0
  149. package/dist/experiments/spec.js +33 -0
  150. package/dist/features/index.d.ts +5 -0
  151. package/dist/features/index.js +5 -0
  152. package/dist/features/install.d.ts +22 -0
  153. package/dist/features/install.js +36 -0
  154. package/dist/features/registry.d.ts +26 -0
  155. package/dist/features/registry.js +49 -0
  156. package/dist/features/types.d.ts +88 -0
  157. package/dist/features/types.js +0 -0
  158. package/dist/features/validation.d.ts +8 -0
  159. package/dist/features/validation.js +14 -0
  160. package/dist/forms/docs/forms.docblock.d.ts +6 -0
  161. package/dist/forms/docs/forms.docblock.js +21 -0
  162. package/dist/forms/forms.d.ts +266 -0
  163. package/dist/forms/forms.js +146 -0
  164. package/dist/forms/index.d.ts +2 -0
  165. package/dist/forms/index.js +3 -0
  166. package/dist/index.d.ts +147 -0
  167. package/dist/index.js +121 -0
  168. package/dist/install.d.ts +77 -0
  169. package/dist/install.js +40 -0
  170. package/dist/integrations/binding.d.ts +17 -0
  171. package/dist/integrations/binding.js +0 -0
  172. package/dist/integrations/connection.d.ts +51 -0
  173. package/dist/integrations/connection.js +0 -0
  174. package/dist/integrations/docs/integrations.docblock.d.ts +6 -0
  175. package/dist/integrations/docs/integrations.docblock.js +94 -0
  176. package/dist/integrations/health.d.ts +21 -0
  177. package/dist/integrations/health.js +69 -0
  178. package/dist/integrations/index.d.ts +34 -0
  179. package/dist/integrations/index.js +23 -0
  180. package/dist/integrations/integrations.feature.d.ts +12 -0
  181. package/dist/integrations/integrations.feature.js +60 -0
  182. package/dist/integrations/openbanking/contracts/accounts.d.ts +289 -0
  183. package/dist/integrations/openbanking/contracts/accounts.js +236 -0
  184. package/dist/integrations/openbanking/contracts/balances.d.ts +165 -0
  185. package/dist/integrations/openbanking/contracts/balances.js +166 -0
  186. package/dist/integrations/openbanking/contracts/index.d.ts +10 -0
  187. package/dist/integrations/openbanking/contracts/index.js +12 -0
  188. package/dist/integrations/openbanking/contracts/transactions.d.ts +213 -0
  189. package/dist/integrations/openbanking/contracts/transactions.js +217 -0
  190. package/dist/integrations/openbanking/guards.d.ts +12 -0
  191. package/dist/integrations/openbanking/guards.js +33 -0
  192. package/dist/integrations/openbanking/models.d.ts +228 -0
  193. package/dist/integrations/openbanking/models.js +240 -0
  194. package/dist/integrations/openbanking/openbanking.feature.d.ts +12 -0
  195. package/dist/integrations/openbanking/openbanking.feature.js +69 -0
  196. package/dist/integrations/openbanking/telemetry.d.ts +15 -0
  197. package/dist/integrations/openbanking/telemetry.js +39 -0
  198. package/dist/integrations/operations.d.ts +437 -0
  199. package/dist/integrations/operations.js +392 -0
  200. package/dist/integrations/providers/calendar.d.ts +78 -0
  201. package/dist/integrations/providers/calendar.js +0 -0
  202. package/dist/integrations/providers/elevenlabs.d.ts +7 -0
  203. package/dist/integrations/providers/elevenlabs.js +55 -0
  204. package/dist/integrations/providers/email.d.ts +86 -0
  205. package/dist/integrations/providers/email.js +0 -0
  206. package/dist/integrations/providers/embedding.d.ts +24 -0
  207. package/dist/integrations/providers/embedding.js +0 -0
  208. package/dist/integrations/providers/gcs-storage.d.ts +7 -0
  209. package/dist/integrations/providers/gcs-storage.js +78 -0
  210. package/dist/integrations/providers/gmail.d.ts +7 -0
  211. package/dist/integrations/providers/gmail.js +90 -0
  212. package/dist/integrations/providers/google-calendar.d.ts +7 -0
  213. package/dist/integrations/providers/google-calendar.js +69 -0
  214. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +20 -0
  215. package/dist/integrations/providers/impls/elevenlabs-voice.js +95 -0
  216. package/dist/integrations/providers/impls/gcs-storage.d.ts +24 -0
  217. package/dist/integrations/providers/impls/gcs-storage.js +88 -0
  218. package/dist/integrations/providers/impls/gmail-inbound.d.ts +26 -0
  219. package/dist/integrations/providers/impls/gmail-inbound.js +200 -0
  220. package/dist/integrations/providers/impls/gmail-outbound.d.ts +18 -0
  221. package/dist/integrations/providers/impls/gmail-outbound.js +105 -0
  222. package/dist/integrations/providers/impls/google-calendar.d.ts +23 -0
  223. package/dist/integrations/providers/impls/google-calendar.js +154 -0
  224. package/dist/integrations/providers/impls/index.d.ts +15 -0
  225. package/dist/integrations/providers/impls/index.js +16 -0
  226. package/dist/integrations/providers/impls/mistral-embedding.d.ts +23 -0
  227. package/dist/integrations/providers/impls/mistral-embedding.js +41 -0
  228. package/dist/integrations/providers/impls/mistral-llm.d.ts +31 -0
  229. package/dist/integrations/providers/impls/mistral-llm.js +247 -0
  230. package/dist/integrations/providers/impls/postmark-email.d.ts +19 -0
  231. package/dist/integrations/providers/impls/postmark-email.js +55 -0
  232. package/dist/integrations/providers/impls/powens-client.d.ts +124 -0
  233. package/dist/integrations/providers/impls/powens-client.js +171 -0
  234. package/dist/integrations/providers/impls/powens-openbanking.d.ts +27 -0
  235. package/dist/integrations/providers/impls/powens-openbanking.js +218 -0
  236. package/dist/integrations/providers/impls/provider-factory.d.ts +26 -0
  237. package/dist/integrations/providers/impls/provider-factory.js +145 -0
  238. package/dist/integrations/providers/impls/qdrant-vector.d.ts +24 -0
  239. package/dist/integrations/providers/impls/qdrant-vector.js +69 -0
  240. package/dist/integrations/providers/impls/stripe-payments.d.ts +28 -0
  241. package/dist/integrations/providers/impls/stripe-payments.js +202 -0
  242. package/dist/integrations/providers/impls/twilio-sms.d.ts +20 -0
  243. package/dist/integrations/providers/impls/twilio-sms.js +58 -0
  244. package/dist/integrations/providers/index.d.ts +22 -0
  245. package/dist/integrations/providers/index.js +13 -0
  246. package/dist/integrations/providers/llm.d.ts +82 -0
  247. package/dist/integrations/providers/llm.js +0 -0
  248. package/dist/integrations/providers/mistral.d.ts +7 -0
  249. package/dist/integrations/providers/mistral.js +71 -0
  250. package/dist/integrations/providers/openbanking.d.ts +128 -0
  251. package/dist/integrations/providers/openbanking.js +0 -0
  252. package/dist/integrations/providers/payments.d.ts +109 -0
  253. package/dist/integrations/providers/payments.js +0 -0
  254. package/dist/integrations/providers/postmark.d.ts +7 -0
  255. package/dist/integrations/providers/postmark.js +71 -0
  256. package/dist/integrations/providers/powens.d.ts +7 -0
  257. package/dist/integrations/providers/powens.js +119 -0
  258. package/dist/integrations/providers/qdrant.d.ts +7 -0
  259. package/dist/integrations/providers/qdrant.js +76 -0
  260. package/dist/integrations/providers/registry.d.ts +11 -0
  261. package/dist/integrations/providers/registry.js +34 -0
  262. package/dist/integrations/providers/sms.d.ts +34 -0
  263. package/dist/integrations/providers/sms.js +0 -0
  264. package/dist/integrations/providers/storage.d.ts +60 -0
  265. package/dist/integrations/providers/storage.js +0 -0
  266. package/dist/integrations/providers/stripe.d.ts +7 -0
  267. package/dist/integrations/providers/stripe.js +86 -0
  268. package/dist/integrations/providers/twilio-sms.d.ts +7 -0
  269. package/dist/integrations/providers/twilio-sms.js +64 -0
  270. package/dist/integrations/providers/vector-store.d.ts +43 -0
  271. package/dist/integrations/providers/vector-store.js +0 -0
  272. package/dist/integrations/providers/voice.d.ts +34 -0
  273. package/dist/integrations/providers/voice.js +0 -0
  274. package/dist/integrations/runtime.d.ts +99 -0
  275. package/dist/integrations/runtime.js +186 -0
  276. package/dist/integrations/secrets/aws-secret-manager.d.ts +31 -0
  277. package/dist/integrations/secrets/aws-secret-manager.js +231 -0
  278. package/dist/integrations/secrets/env-secret-provider.d.ts +31 -0
  279. package/dist/integrations/secrets/env-secret-provider.js +81 -0
  280. package/dist/integrations/secrets/gcp-secret-manager.d.ts +32 -0
  281. package/dist/integrations/secrets/gcp-secret-manager.js +229 -0
  282. package/dist/integrations/secrets/index.d.ts +7 -0
  283. package/dist/integrations/secrets/index.js +8 -0
  284. package/dist/integrations/secrets/manager.d.ts +47 -0
  285. package/dist/integrations/secrets/manager.js +103 -0
  286. package/dist/integrations/secrets/provider.d.ts +52 -0
  287. package/dist/integrations/secrets/provider.js +58 -0
  288. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +38 -0
  289. package/dist/integrations/secrets/scaleway-secret-manager.js +247 -0
  290. package/dist/integrations/secrets-types.d.ts +17 -0
  291. package/dist/integrations/secrets-types.js +0 -0
  292. package/dist/integrations/spec.d.ts +75 -0
  293. package/dist/integrations/spec.js +39 -0
  294. package/dist/jobs/define-job.d.ts +18 -0
  295. package/dist/jobs/define-job.js +16 -0
  296. package/dist/jobs/gcp-cloud-tasks.d.ts +41 -0
  297. package/dist/jobs/gcp-cloud-tasks.js +53 -0
  298. package/dist/jobs/gcp-pubsub.d.ts +25 -0
  299. package/dist/jobs/gcp-pubsub.js +39 -0
  300. package/dist/jobs/handlers/gmail-sync-handler.d.ts +9 -0
  301. package/dist/jobs/handlers/gmail-sync-handler.js +9 -0
  302. package/dist/jobs/handlers/index.d.ts +9 -0
  303. package/dist/jobs/handlers/index.js +12 -0
  304. package/dist/jobs/handlers/ping-handler.d.ts +10 -0
  305. package/dist/jobs/handlers/ping-handler.js +15 -0
  306. package/dist/jobs/handlers/storage-document-handler.d.ts +12 -0
  307. package/dist/jobs/handlers/storage-document-handler.js +14 -0
  308. package/dist/jobs/index.d.ts +3 -0
  309. package/dist/jobs/index.js +4 -0
  310. package/dist/jobs/memory-queue.d.ts +18 -0
  311. package/dist/jobs/memory-queue.js +71 -0
  312. package/dist/jobs/queue.d.ts +131 -0
  313. package/dist/jobs/queue.js +33 -0
  314. package/dist/jobs/scaleway-sqs-queue.d.ts +30 -0
  315. package/dist/jobs/scaleway-sqs-queue.js +153 -0
  316. package/dist/jsonschema.d.ts +27 -0
  317. package/dist/jsonschema.js +32 -0
  318. package/dist/knowledge/binding.d.ts +25 -0
  319. package/dist/knowledge/binding.js +0 -0
  320. package/dist/knowledge/docs/knowledge.docblock.d.ts +6 -0
  321. package/dist/knowledge/docs/knowledge.docblock.js +21 -0
  322. package/dist/knowledge/index.d.ts +11 -0
  323. package/dist/knowledge/index.js +10 -0
  324. package/dist/knowledge/ingestion/document-processor.d.ts +24 -0
  325. package/dist/knowledge/ingestion/document-processor.js +54 -0
  326. package/dist/knowledge/ingestion/embedding-service.d.ts +12 -0
  327. package/dist/knowledge/ingestion/embedding-service.js +25 -0
  328. package/dist/knowledge/ingestion/gmail-adapter.d.ts +18 -0
  329. package/dist/knowledge/ingestion/gmail-adapter.js +51 -0
  330. package/dist/knowledge/ingestion/index.d.ts +6 -0
  331. package/dist/knowledge/ingestion/index.js +7 -0
  332. package/dist/knowledge/ingestion/storage-adapter.d.ts +15 -0
  333. package/dist/knowledge/ingestion/storage-adapter.js +26 -0
  334. package/dist/knowledge/ingestion/vector-indexer.d.ts +18 -0
  335. package/dist/knowledge/ingestion/vector-indexer.js +32 -0
  336. package/dist/knowledge/knowledge.feature.d.ts +12 -0
  337. package/dist/knowledge/knowledge.feature.js +61 -0
  338. package/dist/knowledge/operations.d.ts +318 -0
  339. package/dist/knowledge/operations.js +321 -0
  340. package/dist/knowledge/query/index.d.ts +2 -0
  341. package/dist/knowledge/query/index.js +3 -0
  342. package/dist/knowledge/query/service.d.ts +29 -0
  343. package/dist/knowledge/query/service.js +65 -0
  344. package/dist/knowledge/runtime.d.ts +32 -0
  345. package/dist/knowledge/runtime.js +49 -0
  346. package/dist/knowledge/source.d.ts +32 -0
  347. package/dist/knowledge/source.js +0 -0
  348. package/dist/knowledge/spaces/email-threads.d.ts +7 -0
  349. package/dist/knowledge/spaces/email-threads.js +37 -0
  350. package/dist/knowledge/spaces/financial-docs.d.ts +7 -0
  351. package/dist/knowledge/spaces/financial-docs.js +37 -0
  352. package/dist/knowledge/spaces/financial-overview.d.ts +7 -0
  353. package/dist/knowledge/spaces/financial-overview.js +41 -0
  354. package/dist/knowledge/spaces/index.d.ts +7 -0
  355. package/dist/knowledge/spaces/index.js +8 -0
  356. package/dist/knowledge/spaces/product-canon.d.ts +7 -0
  357. package/dist/knowledge/spaces/product-canon.js +37 -0
  358. package/dist/knowledge/spaces/support-faq.d.ts +7 -0
  359. package/dist/knowledge/spaces/support-faq.js +40 -0
  360. package/dist/knowledge/spaces/uploaded-docs.d.ts +7 -0
  361. package/dist/knowledge/spaces/uploaded-docs.js +37 -0
  362. package/dist/knowledge/spec.d.ts +48 -0
  363. package/dist/knowledge/spec.js +39 -0
  364. package/dist/llm/exporters.d.ts +70 -0
  365. package/dist/llm/exporters.js +542 -0
  366. package/dist/llm/index.d.ts +4 -0
  367. package/dist/llm/index.js +4 -0
  368. package/dist/llm/prompts.d.ts +52 -0
  369. package/dist/llm/prompts.js +410 -0
  370. package/dist/llm/types.d.ts +215 -0
  371. package/dist/llm/types.js +0 -0
  372. package/dist/markdown.d.ts +22 -0
  373. package/dist/markdown.js +119 -0
  374. package/dist/migrations.d.ts +52 -0
  375. package/dist/migrations.js +33 -0
  376. package/dist/model-registry.d.ts +13 -0
  377. package/dist/model-registry.js +33 -0
  378. package/dist/onboarding-base.d.ts +138 -0
  379. package/dist/onboarding-base.js +195 -0
  380. package/dist/openapi.d.ts +31 -0
  381. package/dist/openapi.js +75 -0
  382. package/dist/operations/index.d.ts +3 -0
  383. package/dist/operations/index.js +4 -0
  384. package/dist/operations/operation.d.ts +186 -0
  385. package/dist/operations/operation.js +35 -0
  386. package/dist/operations/registry.d.ts +103 -0
  387. package/dist/operations/registry.js +252 -0
  388. package/dist/ownership.d.ts +84 -0
  389. package/dist/ownership.js +38 -0
  390. package/dist/policy/docs/policy.docblock.d.ts +6 -0
  391. package/dist/policy/docs/policy.docblock.js +21 -0
  392. package/dist/policy/engine.d.ts +40 -0
  393. package/dist/policy/engine.js +223 -0
  394. package/dist/policy/index.d.ts +5 -0
  395. package/dist/policy/index.js +5 -0
  396. package/dist/policy/opa-adapter.d.ts +45 -0
  397. package/dist/policy/opa-adapter.js +71 -0
  398. package/dist/policy/registry.d.ts +9 -0
  399. package/dist/policy/registry.js +11 -0
  400. package/dist/policy/spec.d.ts +103 -0
  401. package/dist/policy/spec.js +0 -0
  402. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +6 -0
  403. package/dist/presentations/docs/presentations-conventions.docblock.js +21 -0
  404. package/dist/presentations/index.d.ts +4 -0
  405. package/dist/presentations/index.js +5 -0
  406. package/dist/presentations/presentations.d.ts +50 -0
  407. package/dist/presentations/presentations.js +7 -0
  408. package/dist/presentations/registry.d.ts +10 -0
  409. package/dist/presentations/registry.js +12 -0
  410. package/dist/presentations/transform-engine.d.ts +66 -0
  411. package/dist/presentations/transform-engine.js +282 -0
  412. package/dist/prompt.d.ts +60 -0
  413. package/dist/prompt.js +10 -0
  414. package/dist/promptRegistry.d.ts +15 -0
  415. package/dist/promptRegistry.js +34 -0
  416. package/dist/regenerator/adapters.d.ts +19 -0
  417. package/dist/regenerator/adapters.js +0 -0
  418. package/dist/regenerator/docs/regenerator.docblock.d.ts +6 -0
  419. package/dist/regenerator/docs/regenerator.docblock.js +21 -0
  420. package/dist/regenerator/executor.d.ts +70 -0
  421. package/dist/regenerator/executor.js +86 -0
  422. package/dist/regenerator/index.d.ts +7 -0
  423. package/dist/regenerator/index.js +6 -0
  424. package/dist/regenerator/service.d.ts +33 -0
  425. package/dist/regenerator/service.js +93 -0
  426. package/dist/regenerator/sinks.d.ts +26 -0
  427. package/dist/regenerator/sinks.js +32 -0
  428. package/dist/regenerator/types.d.ts +107 -0
  429. package/dist/regenerator/types.js +0 -0
  430. package/dist/regenerator/utils.d.ts +9 -0
  431. package/dist/regenerator/utils.js +51 -0
  432. package/dist/registry-utils.d.ts +106 -0
  433. package/dist/registry-utils.js +122 -0
  434. package/dist/registry.d.ts +31 -0
  435. package/dist/registry.js +61 -0
  436. package/dist/resources.d.ts +64 -0
  437. package/dist/resources.js +50 -0
  438. package/dist/schema-to-markdown.d.ts +54 -0
  439. package/dist/schema-to-markdown.js +217 -0
  440. package/dist/server/contracts-adapter-hydration.d.ts +15 -0
  441. package/dist/server/contracts-adapter-hydration.js +41 -0
  442. package/dist/server/contracts-adapter-input.d.ts +9 -0
  443. package/dist/server/contracts-adapter-input.js +83 -0
  444. package/dist/server/graphql-pothos.d.ts +31 -0
  445. package/dist/server/graphql-pothos.js +134 -0
  446. package/dist/server/index.d.ts +9 -0
  447. package/dist/server/index.js +10 -0
  448. package/dist/server/mcp/createMcpServer.d.ts +15 -0
  449. package/dist/server/mcp/createMcpServer.js +27 -0
  450. package/dist/server/mcp/mcpTypes.d.ts +27 -0
  451. package/dist/server/mcp/mcpTypes.js +0 -0
  452. package/dist/server/mcp/registerPresentations.d.ts +7 -0
  453. package/dist/server/mcp/registerPresentations.js +63 -0
  454. package/dist/server/mcp/registerPrompts.d.ts +8 -0
  455. package/dist/server/mcp/registerPrompts.js +37 -0
  456. package/dist/server/mcp/registerResources.d.ts +8 -0
  457. package/dist/server/mcp/registerResources.js +35 -0
  458. package/dist/server/mcp/registerTools.d.ts +8 -0
  459. package/dist/server/mcp/registerTools.js +22 -0
  460. package/dist/server/provider-mcp.d.ts +2 -0
  461. package/dist/server/provider-mcp.js +3 -0
  462. package/dist/server/rest-elysia.d.ts +40 -0
  463. package/dist/server/rest-elysia.js +20 -0
  464. package/dist/server/rest-express.d.ts +16 -0
  465. package/dist/server/rest-express.js +36 -0
  466. package/dist/server/rest-generic.d.ts +32 -0
  467. package/dist/server/rest-generic.js +124 -0
  468. package/dist/server/rest-next-app.d.ts +35 -0
  469. package/dist/server/rest-next-app.js +38 -0
  470. package/dist/server/rest-next-mcp.d.ts +11 -0
  471. package/dist/server/rest-next-mcp.js +45 -0
  472. package/dist/server/rest-next-pages.d.ts +9 -0
  473. package/dist/server/rest-next-pages.js +22 -0
  474. package/dist/telemetry/anomaly.d.ts +27 -0
  475. package/dist/telemetry/anomaly.js +48 -0
  476. package/dist/telemetry/docs/telemetry.docblock.d.ts +6 -0
  477. package/dist/telemetry/docs/telemetry.docblock.js +21 -0
  478. package/dist/telemetry/index.d.ts +4 -0
  479. package/dist/telemetry/index.js +5 -0
  480. package/dist/telemetry/spec.d.ts +91 -0
  481. package/dist/telemetry/spec.js +69 -0
  482. package/dist/telemetry/tracker.d.ts +51 -0
  483. package/dist/telemetry/tracker.js +76 -0
  484. package/dist/tests/index.d.ts +3 -0
  485. package/dist/tests/index.js +4 -0
  486. package/dist/tests/runner.d.ts +43 -0
  487. package/dist/tests/runner.js +150 -0
  488. package/dist/tests/spec.d.ts +81 -0
  489. package/dist/tests/spec.js +33 -0
  490. package/dist/themes.d.ts +53 -0
  491. package/dist/themes.js +39 -0
  492. package/dist/translations/catalog.d.ts +28 -0
  493. package/dist/translations/catalog.js +0 -0
  494. package/dist/translations/tenant.d.ts +15 -0
  495. package/dist/translations/tenant.js +0 -0
  496. package/dist/types.d.ts +92 -0
  497. package/dist/types.js +0 -0
  498. package/dist/workflow/adapters/db-adapter.d.ts +46 -0
  499. package/dist/workflow/adapters/db-adapter.js +83 -0
  500. package/dist/workflow/adapters/file-adapter.d.ts +14 -0
  501. package/dist/workflow/adapters/file-adapter.js +11 -0
  502. package/dist/workflow/adapters/index.d.ts +4 -0
  503. package/dist/workflow/adapters/index.js +5 -0
  504. package/dist/workflow/adapters/memory-store.d.ts +18 -0
  505. package/dist/workflow/adapters/memory-store.js +58 -0
  506. package/dist/workflow/expression.d.ts +9 -0
  507. package/dist/workflow/expression.js +99 -0
  508. package/dist/workflow/index.d.ts +10 -0
  509. package/dist/workflow/index.js +9 -0
  510. package/dist/workflow/overview.docblock.d.ts +6 -0
  511. package/dist/workflow/overview.docblock.js +21 -0
  512. package/dist/workflow/runner.d.ts +75 -0
  513. package/dist/workflow/runner.js +337 -0
  514. package/dist/workflow/sla-monitor.d.ts +20 -0
  515. package/dist/workflow/sla-monitor.js +47 -0
  516. package/dist/workflow/spec.d.ts +106 -0
  517. package/dist/workflow/spec.js +55 -0
  518. package/dist/workflow/state.d.ts +35 -0
  519. package/dist/workflow/state.js +0 -0
  520. package/dist/workflow/validation.d.ts +29 -0
  521. package/dist/workflow/validation.js +176 -0
  522. package/dist/workspace-config/contractsrc-schema.d.ts +862 -0
  523. package/dist/workspace-config/contractsrc-schema.js +281 -0
  524. package/dist/workspace-config/index.d.ts +2 -0
  525. package/dist/workspace-config/index.js +3 -0
  526. package/dist/workspace-config/workspace-config.docblock.d.ts +6 -0
  527. package/dist/workspace-config/workspace-config.docblock.js +45 -0
  528. package/package.json +598 -0
@@ -0,0 +1,321 @@
1
+ import { defineCommand, defineQuery } from "../operations/operation.js";
2
+ import "../operations/index.js";
3
+ import { ScalarTypeEnum, SchemaModel } from "@contractspec/lib.schema";
4
+
5
+ //#region src/knowledge/operations.ts
6
+ const KnowledgeSyncSchedule = new SchemaModel({
7
+ name: "KnowledgeSyncSchedule",
8
+ fields: {
9
+ enabled: {
10
+ type: ScalarTypeEnum.Boolean(),
11
+ isOptional: false
12
+ },
13
+ cron: {
14
+ type: ScalarTypeEnum.String_unsecure(),
15
+ isOptional: true
16
+ },
17
+ intervalMs: {
18
+ type: ScalarTypeEnum.Int_unsecure(),
19
+ isOptional: true
20
+ }
21
+ }
22
+ });
23
+ const KnowledgeSourceRecord = new SchemaModel({
24
+ name: "KnowledgeSourceRecord",
25
+ fields: {
26
+ id: {
27
+ type: ScalarTypeEnum.ID(),
28
+ isOptional: false
29
+ },
30
+ tenantId: {
31
+ type: ScalarTypeEnum.ID(),
32
+ isOptional: false
33
+ },
34
+ spaceKey: {
35
+ type: ScalarTypeEnum.NonEmptyString(),
36
+ isOptional: false
37
+ },
38
+ spaceVersion: {
39
+ type: ScalarTypeEnum.Int_unsecure(),
40
+ isOptional: false
41
+ },
42
+ label: {
43
+ type: ScalarTypeEnum.String_unsecure(),
44
+ isOptional: false
45
+ },
46
+ sourceType: {
47
+ type: ScalarTypeEnum.String_unsecure(),
48
+ isOptional: false
49
+ },
50
+ syncSchedule: {
51
+ type: KnowledgeSyncSchedule,
52
+ isOptional: true
53
+ },
54
+ lastSyncStatus: {
55
+ type: ScalarTypeEnum.String_unsecure(),
56
+ isOptional: true
57
+ },
58
+ lastSyncAt: {
59
+ type: ScalarTypeEnum.DateTime(),
60
+ isOptional: true
61
+ },
62
+ itemsProcessed: {
63
+ type: ScalarTypeEnum.Int_unsecure(),
64
+ isOptional: true
65
+ },
66
+ createdAt: {
67
+ type: ScalarTypeEnum.DateTime(),
68
+ isOptional: true
69
+ },
70
+ updatedAt: {
71
+ type: ScalarTypeEnum.DateTime(),
72
+ isOptional: true
73
+ }
74
+ }
75
+ });
76
+ const CreateKnowledgeSourceInput = new SchemaModel({
77
+ name: "CreateKnowledgeSourceInput",
78
+ fields: {
79
+ tenantId: {
80
+ type: ScalarTypeEnum.ID(),
81
+ isOptional: false
82
+ },
83
+ spaceKey: {
84
+ type: ScalarTypeEnum.NonEmptyString(),
85
+ isOptional: false
86
+ },
87
+ spaceVersion: {
88
+ type: ScalarTypeEnum.Int_unsecure(),
89
+ isOptional: false
90
+ },
91
+ label: {
92
+ type: ScalarTypeEnum.String_unsecure(),
93
+ isOptional: false
94
+ },
95
+ sourceType: {
96
+ type: ScalarTypeEnum.NonEmptyString(),
97
+ isOptional: false
98
+ },
99
+ config: {
100
+ type: ScalarTypeEnum.JSONObject(),
101
+ isOptional: false
102
+ },
103
+ syncSchedule: {
104
+ type: KnowledgeSyncSchedule,
105
+ isOptional: true
106
+ }
107
+ }
108
+ });
109
+ const UpdateKnowledgeSourceInput = new SchemaModel({
110
+ name: "UpdateKnowledgeSourceInput",
111
+ fields: {
112
+ sourceId: {
113
+ type: ScalarTypeEnum.ID(),
114
+ isOptional: false
115
+ },
116
+ label: {
117
+ type: ScalarTypeEnum.String_unsecure(),
118
+ isOptional: true
119
+ },
120
+ config: {
121
+ type: ScalarTypeEnum.JSONObject(),
122
+ isOptional: true
123
+ },
124
+ syncSchedule: {
125
+ type: KnowledgeSyncSchedule,
126
+ isOptional: true
127
+ }
128
+ }
129
+ });
130
+ const DeleteKnowledgeSourceInput = new SchemaModel({
131
+ name: "DeleteKnowledgeSourceInput",
132
+ fields: { sourceId: {
133
+ type: ScalarTypeEnum.ID(),
134
+ isOptional: false
135
+ } }
136
+ });
137
+ const DeleteKnowledgeSourceOutput = new SchemaModel({
138
+ name: "DeleteKnowledgeSourceOutput",
139
+ fields: { success: {
140
+ type: ScalarTypeEnum.Boolean(),
141
+ isOptional: false
142
+ } }
143
+ });
144
+ const ListKnowledgeSourcesInput = new SchemaModel({
145
+ name: "ListKnowledgeSourcesInput",
146
+ fields: {
147
+ tenantId: {
148
+ type: ScalarTypeEnum.ID(),
149
+ isOptional: false
150
+ },
151
+ spaceKey: {
152
+ type: ScalarTypeEnum.NonEmptyString(),
153
+ isOptional: true
154
+ }
155
+ }
156
+ });
157
+ const ListKnowledgeSourcesOutput = new SchemaModel({
158
+ name: "ListKnowledgeSourcesOutput",
159
+ fields: { sources: {
160
+ type: KnowledgeSourceRecord,
161
+ isOptional: false,
162
+ isArray: true
163
+ } }
164
+ });
165
+ const TriggerKnowledgeSyncInput = new SchemaModel({
166
+ name: "TriggerKnowledgeSyncInput",
167
+ fields: { sourceId: {
168
+ type: ScalarTypeEnum.ID(),
169
+ isOptional: false
170
+ } }
171
+ });
172
+ const TriggerKnowledgeSyncOutput = new SchemaModel({
173
+ name: "TriggerKnowledgeSyncOutput",
174
+ fields: {
175
+ success: {
176
+ type: ScalarTypeEnum.Boolean(),
177
+ isOptional: false
178
+ },
179
+ itemsProcessed: {
180
+ type: ScalarTypeEnum.Int_unsecure(),
181
+ isOptional: true
182
+ },
183
+ error: {
184
+ type: ScalarTypeEnum.String_unsecure(),
185
+ isOptional: true
186
+ }
187
+ }
188
+ });
189
+ const CreateKnowledgeSource = defineCommand({
190
+ meta: {
191
+ key: "knowledge.source.create",
192
+ title: "Create Knowledge Source",
193
+ version: 1,
194
+ description: "Create a knowledge source binding for a tenant.",
195
+ goal: "Onboard a new knowledge ingestion source such as Notion or uploads.",
196
+ context: "Used by Ops and App Studio to configure knowledge ingestion per tenant and space.",
197
+ owners: ["@platform.knowledge"],
198
+ tags: ["knowledge", "sources"],
199
+ stability: "experimental"
200
+ },
201
+ io: {
202
+ input: CreateKnowledgeSourceInput,
203
+ output: KnowledgeSourceRecord
204
+ },
205
+ policy: {
206
+ auth: "admin",
207
+ policies: [{
208
+ key: "platform.knowledge.manage",
209
+ version: 1
210
+ }]
211
+ }
212
+ });
213
+ const UpdateKnowledgeSource = defineCommand({
214
+ meta: {
215
+ key: "knowledge.source.update",
216
+ title: "Update Knowledge Source",
217
+ version: 1,
218
+ description: "Update metadata or configuration for a knowledge source.",
219
+ goal: "Allow rotation of credentials, sync schedules, and labels.",
220
+ context: "Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).",
221
+ owners: ["@platform.knowledge"],
222
+ tags: ["knowledge", "sources"],
223
+ stability: "experimental"
224
+ },
225
+ io: {
226
+ input: UpdateKnowledgeSourceInput,
227
+ output: KnowledgeSourceRecord
228
+ },
229
+ policy: {
230
+ auth: "admin",
231
+ policies: [{
232
+ key: "platform.knowledge.manage",
233
+ version: 1
234
+ }]
235
+ }
236
+ });
237
+ const DeleteKnowledgeSource = defineCommand({
238
+ meta: {
239
+ key: "knowledge.source.delete",
240
+ title: "Delete Knowledge Source",
241
+ version: 1,
242
+ description: "Delete a knowledge source binding for a tenant.",
243
+ goal: "Remove obsolete or compromised knowledge ingestion paths.",
244
+ context: "Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.",
245
+ owners: ["@platform.knowledge"],
246
+ tags: ["knowledge", "sources"],
247
+ stability: "experimental"
248
+ },
249
+ io: {
250
+ input: DeleteKnowledgeSourceInput,
251
+ output: DeleteKnowledgeSourceOutput
252
+ },
253
+ policy: {
254
+ auth: "admin",
255
+ policies: [{
256
+ key: "platform.knowledge.manage",
257
+ version: 1
258
+ }]
259
+ }
260
+ });
261
+ const ListKnowledgeSources = defineQuery({
262
+ meta: {
263
+ key: "knowledge.source.list",
264
+ title: "List Knowledge Sources",
265
+ version: 1,
266
+ description: "List knowledge sources configured for a tenant.",
267
+ goal: "Provide visibility into knowledge ingest configuration and schedules.",
268
+ context: "Used by App Studio and Ops flows to surface knowledge sources and their health.",
269
+ owners: ["@platform.knowledge"],
270
+ tags: ["knowledge", "sources"],
271
+ stability: "experimental"
272
+ },
273
+ io: {
274
+ input: ListKnowledgeSourcesInput,
275
+ output: ListKnowledgeSourcesOutput
276
+ },
277
+ policy: {
278
+ auth: "admin",
279
+ policies: [{
280
+ key: "platform.knowledge.read",
281
+ version: 1
282
+ }]
283
+ }
284
+ });
285
+ const TriggerKnowledgeSourceSync = defineCommand({
286
+ meta: {
287
+ key: "knowledge.source.triggerSync",
288
+ title: "Trigger Knowledge Source Sync",
289
+ version: 1,
290
+ description: "Trigger an immediate sync for a knowledge source.",
291
+ goal: "Support manual or automated sync retries for knowledge ingestion.",
292
+ context: "Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.",
293
+ owners: ["@platform.knowledge"],
294
+ tags: ["knowledge", "sources"],
295
+ stability: "experimental"
296
+ },
297
+ io: {
298
+ input: TriggerKnowledgeSyncInput,
299
+ output: TriggerKnowledgeSyncOutput
300
+ },
301
+ policy: {
302
+ auth: "admin",
303
+ policies: [{
304
+ key: "platform.knowledge.manage",
305
+ version: 1
306
+ }]
307
+ }
308
+ });
309
+ const knowledgeContracts = {
310
+ CreateKnowledgeSource,
311
+ UpdateKnowledgeSource,
312
+ DeleteKnowledgeSource,
313
+ ListKnowledgeSources,
314
+ TriggerKnowledgeSourceSync
315
+ };
316
+ function registerKnowledgeContracts(registry) {
317
+ return registry.register(CreateKnowledgeSource).register(UpdateKnowledgeSource).register(DeleteKnowledgeSource).register(ListKnowledgeSources).register(TriggerKnowledgeSourceSync);
318
+ }
319
+
320
+ //#endregion
321
+ export { CreateKnowledgeSource, DeleteKnowledgeSource, ListKnowledgeSources, TriggerKnowledgeSourceSync, UpdateKnowledgeSource, knowledgeContracts, registerKnowledgeContracts };
@@ -0,0 +1,2 @@
1
+ import { KnowledgeAnswer, KnowledgeQueryConfig, KnowledgeQueryService } from "./service.js";
2
+ export { KnowledgeAnswer, KnowledgeQueryConfig, KnowledgeQueryService };
@@ -0,0 +1,3 @@
1
+ import { KnowledgeQueryService } from "./service.js";
2
+
3
+ export { KnowledgeQueryService };
@@ -0,0 +1,29 @@
1
+ import { LLMProvider, LLMResponse } from "../../integrations/providers/llm.js";
2
+ import { EmbeddingProvider } from "../../integrations/providers/embedding.js";
3
+ import { VectorSearchResult, VectorStoreProvider } from "../../integrations/providers/vector-store.js";
4
+
5
+ //#region src/knowledge/query/service.d.ts
6
+ interface KnowledgeQueryConfig {
7
+ collection: string;
8
+ namespace?: string;
9
+ topK?: number;
10
+ systemPrompt?: string;
11
+ }
12
+ interface KnowledgeAnswer {
13
+ answer: string;
14
+ references: (VectorSearchResult & {
15
+ text?: string;
16
+ })[];
17
+ usage?: LLMResponse['usage'];
18
+ }
19
+ declare class KnowledgeQueryService {
20
+ private readonly embeddings;
21
+ private readonly vectorStore;
22
+ private readonly llm;
23
+ private readonly config;
24
+ constructor(embeddings: EmbeddingProvider, vectorStore: VectorStoreProvider, llm: LLMProvider, config: KnowledgeQueryConfig);
25
+ query(question: string): Promise<KnowledgeAnswer>;
26
+ private buildMessages;
27
+ }
28
+ //#endregion
29
+ export { KnowledgeAnswer, KnowledgeQueryConfig, KnowledgeQueryService };
@@ -0,0 +1,65 @@
1
+ //#region src/knowledge/query/service.ts
2
+ var KnowledgeQueryService = class {
3
+ embeddings;
4
+ vectorStore;
5
+ llm;
6
+ config;
7
+ constructor(embeddings, vectorStore, llm, config) {
8
+ this.embeddings = embeddings;
9
+ this.vectorStore = vectorStore;
10
+ this.llm = llm;
11
+ this.config = config;
12
+ }
13
+ async query(question) {
14
+ const embedding = await this.embeddings.embedQuery(question);
15
+ const results = await this.vectorStore.search({
16
+ collection: this.config.collection,
17
+ vector: embedding.vector,
18
+ topK: this.config.topK ?? 5,
19
+ namespace: this.config.namespace,
20
+ filter: void 0
21
+ });
22
+ const context = buildContext(results);
23
+ const messages = this.buildMessages(question, context);
24
+ const response = await this.llm.chat(messages);
25
+ return {
26
+ answer: response.message.content.map((part) => "text" in part ? part.text : "").join(""),
27
+ references: results.map((result) => ({
28
+ ...result,
29
+ text: extractText(result)
30
+ })),
31
+ usage: response.usage
32
+ };
33
+ }
34
+ buildMessages(question, context) {
35
+ return [{
36
+ role: "system",
37
+ content: [{
38
+ type: "text",
39
+ text: this.config.systemPrompt ?? "You are a knowledge assistant that answers questions using the provided context. Cite relevant sources if possible."
40
+ }]
41
+ }, {
42
+ role: "user",
43
+ content: [{
44
+ type: "text",
45
+ text: `Question:\n${question}\n\nContext:\n${context}`
46
+ }]
47
+ }];
48
+ }
49
+ };
50
+ function buildContext(results) {
51
+ if (results.length === 0) return "No relevant documents found.";
52
+ return results.map((result, index) => {
53
+ const text = extractText(result);
54
+ return `Source ${index + 1} (score: ${result.score.toFixed(3)}):\n${text}`;
55
+ }).join("\n\n");
56
+ }
57
+ function extractText(result) {
58
+ const payload = result.payload ?? {};
59
+ if (typeof payload.text === "string") return payload.text;
60
+ if (typeof payload.content === "string") return payload.content;
61
+ return JSON.stringify(payload);
62
+ }
63
+
64
+ //#endregion
65
+ export { KnowledgeQueryService };
@@ -0,0 +1,32 @@
1
+ import { KnowledgeCategory } from "./spec.js";
2
+ import { ResolvedAppConfig, ResolvedKnowledge } from "../app-config/runtime.js";
3
+
4
+ //#region src/knowledge/runtime.d.ts
5
+ interface KnowledgeAccessContext {
6
+ tenantId: string;
7
+ appId: string;
8
+ environment?: string;
9
+ workflowName?: string;
10
+ agentName?: string;
11
+ operation: 'read' | 'write' | 'search';
12
+ }
13
+ interface KnowledgeAccessResult {
14
+ allowed: boolean;
15
+ reason?: string;
16
+ severity?: 'error' | 'warning';
17
+ }
18
+ interface KnowledgeAccessGuardOptions {
19
+ disallowWriteCategories?: KnowledgeCategory[];
20
+ requireWorkflowBinding?: boolean;
21
+ requireAgentBinding?: boolean;
22
+ }
23
+ declare class KnowledgeAccessGuard {
24
+ private readonly disallowedWrite;
25
+ private readonly requireWorkflowBinding;
26
+ private readonly requireAgentBinding;
27
+ constructor(options?: KnowledgeAccessGuardOptions);
28
+ checkAccess(spaceBinding: ResolvedKnowledge, context: KnowledgeAccessContext, appConfig: ResolvedAppConfig): KnowledgeAccessResult;
29
+ private isSpaceBound;
30
+ }
31
+ //#endregion
32
+ export { KnowledgeAccessContext, KnowledgeAccessGuard, KnowledgeAccessGuardOptions, KnowledgeAccessResult };
@@ -0,0 +1,49 @@
1
+ //#region src/knowledge/runtime.ts
2
+ const DEFAULT_DISALLOWED_WRITE = ["external", "ephemeral"];
3
+ var KnowledgeAccessGuard = class {
4
+ disallowedWrite;
5
+ requireWorkflowBinding;
6
+ requireAgentBinding;
7
+ constructor(options = {}) {
8
+ this.disallowedWrite = new Set(options.disallowWriteCategories ?? DEFAULT_DISALLOWED_WRITE);
9
+ this.requireWorkflowBinding = options.requireWorkflowBinding ?? true;
10
+ this.requireAgentBinding = options.requireAgentBinding ?? false;
11
+ }
12
+ checkAccess(spaceBinding, context, appConfig) {
13
+ const { binding, space } = spaceBinding;
14
+ if (binding.required !== false && !this.isSpaceBound(spaceBinding, appConfig)) return {
15
+ allowed: false,
16
+ reason: `Knowledge space "${space.meta.key}" is not bound in the resolved app config.`
17
+ };
18
+ if (context.operation === "write" && this.disallowedWrite.has(space.meta.category)) return {
19
+ allowed: false,
20
+ reason: `Knowledge space "${space.meta.key}" is category "${space.meta.category}" and is read-only.`
21
+ };
22
+ if (this.requireWorkflowBinding && context.workflowName) {
23
+ const allowedWorkflows = binding.scope?.workflows;
24
+ if (allowedWorkflows && !allowedWorkflows.includes(context.workflowName)) return {
25
+ allowed: false,
26
+ reason: `Workflow "${context.workflowName}" is not authorized to access knowledge space "${space.meta.key}".`
27
+ };
28
+ }
29
+ if (this.requireAgentBinding && context.agentName) {
30
+ const allowedAgents = binding.scope?.agents;
31
+ if (allowedAgents && !allowedAgents.includes(context.agentName)) return {
32
+ allowed: false,
33
+ reason: `Agent "${context.agentName}" is not authorized to access knowledge space "${space.meta.key}".`
34
+ };
35
+ }
36
+ if (space.meta.category === "ephemeral") return {
37
+ allowed: true,
38
+ severity: "warning",
39
+ reason: `Knowledge space "${space.meta.key}" is ephemeral; results may be transient.`
40
+ };
41
+ return { allowed: true };
42
+ }
43
+ isSpaceBound(resolved, appConfig) {
44
+ return appConfig.knowledge.some((entry) => entry.space.meta.key === resolved.space.meta.key && (resolved.space.meta.version == null || entry.space.meta.version === resolved.space.meta.version));
45
+ }
46
+ };
47
+
48
+ //#endregion
49
+ export { KnowledgeAccessGuard };
@@ -0,0 +1,32 @@
1
+ //#region src/knowledge/source.d.ts
2
+ type KnowledgeSourceType = 'notion' | 'url' | 'file_upload' | 'email' | 'api' | 'manual';
3
+ interface KnowledgeSourceMeta {
4
+ id: string;
5
+ tenantId: string;
6
+ spaceKey: string;
7
+ spaceVersion: number;
8
+ label: string;
9
+ sourceType: KnowledgeSourceType;
10
+ createdAt: string | Date;
11
+ updatedAt: string | Date;
12
+ }
13
+ interface KnowledgeSourceConfig {
14
+ meta: KnowledgeSourceMeta;
15
+ /** Source-specific configuration (URLs, credentials, filters). */
16
+ config: Record<string, unknown>;
17
+ /** Sync schedule (cron or interval). */
18
+ syncSchedule?: {
19
+ enabled: boolean;
20
+ cron?: string;
21
+ intervalMs?: number;
22
+ };
23
+ /** Last sync status. */
24
+ lastSync?: {
25
+ timestamp: Date;
26
+ success: boolean;
27
+ itemsProcessed?: number;
28
+ error?: string;
29
+ };
30
+ }
31
+ //#endregion
32
+ export { KnowledgeSourceConfig, KnowledgeSourceMeta, KnowledgeSourceType };
File without changes
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/email-threads.d.ts
4
+ declare const emailThreadsKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerEmailThreadsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
@@ -0,0 +1,37 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/email-threads.ts
4
+ const emailThreadsKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.email-threads",
7
+ version: 1,
8
+ category: "operational",
9
+ title: "Operational Email Threads",
10
+ description: "Indexed copies of operational email threads used for support, onboarding, and workflows.",
11
+ domain: "operations",
12
+ owners: ["platform.operations"],
13
+ tags: ["email", "operations"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ retention: { ttlDays: 365 },
17
+ access: {
18
+ policy: {
19
+ key: "knowledge.access.email-threads",
20
+ version: 1
21
+ },
22
+ trustLevel: "medium",
23
+ automationWritable: true
24
+ },
25
+ indexing: {
26
+ embeddingModel: "mistral-embed",
27
+ chunkSize: 600,
28
+ vectorDbIntegration: "vectordb.qdrant"
29
+ },
30
+ description: "Operational email threads synchronized from Gmail to support automations and contextual assistance."
31
+ };
32
+ function registerEmailThreadsKnowledgeSpace(registry) {
33
+ return registry.register(emailThreadsKnowledgeSpace);
34
+ }
35
+
36
+ //#endregion
37
+ export { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace };
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/financial-docs.d.ts
4
+ declare const financialDocsKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerFinancialDocsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
@@ -0,0 +1,37 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/financial-docs.ts
4
+ const financialDocsKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.financial-docs",
7
+ version: 1,
8
+ category: "canonical",
9
+ title: "Household Financial Documents",
10
+ description: "Invoices, bills, and contracts powering Pocket Family Office financial automation.",
11
+ domain: "finance",
12
+ owners: ["platform.finance"],
13
+ tags: ["finance", "documents"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ retention: { ttlDays: null },
17
+ access: {
18
+ policy: {
19
+ key: "knowledge.access.financial-docs",
20
+ version: 1
21
+ },
22
+ trustLevel: "high",
23
+ automationWritable: true
24
+ },
25
+ indexing: {
26
+ embeddingModel: "mistral-embed",
27
+ chunkSize: 700,
28
+ vectorDbIntegration: "vectordb.qdrant"
29
+ },
30
+ description: "Normalized financial documents enabling bill pay automation, reminders, and summaries."
31
+ };
32
+ function registerFinancialDocsKnowledgeSpace(registry) {
33
+ return registry.register(financialDocsKnowledgeSpace);
34
+ }
35
+
36
+ //#endregion
37
+ export { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace };
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/financial-overview.d.ts
4
+ declare const financialOverviewKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerFinancialOverviewKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };
@@ -0,0 +1,41 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/financial-overview.ts
4
+ const financialOverviewKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.financial-overview",
7
+ version: 1,
8
+ category: "operational",
9
+ title: "Derived Financial Summaries",
10
+ description: "Aggregated cashflow summaries, category breakdowns, and balance trends derived from open banking data.",
11
+ domain: "finance",
12
+ owners: ["platform.finance"],
13
+ tags: [
14
+ "open-banking",
15
+ "summaries",
16
+ "cashflow"
17
+ ],
18
+ stability: StabilityEnum.Experimental
19
+ },
20
+ retention: { ttlDays: 180 },
21
+ access: {
22
+ policy: {
23
+ key: "knowledge.access.financial-overview",
24
+ version: 1
25
+ },
26
+ trustLevel: "medium",
27
+ automationWritable: true
28
+ },
29
+ indexing: {
30
+ embeddingModel: "mistral-embed",
31
+ chunkSize: 600,
32
+ vectorDbIntegration: "vectordb.qdrant"
33
+ },
34
+ description: "Derived knowledge space containing weekly/monthly cashflow rollups and account health summaries. Raw transactions are excluded to respect privacy guardrails."
35
+ };
36
+ function registerFinancialOverviewKnowledgeSpace(registry) {
37
+ return registry.register(financialOverviewKnowledgeSpace);
38
+ }
39
+
40
+ //#endregion
41
+ export { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace };