@contractspec/lib.contracts 0.0.0-canary-20260113162409

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 (550) 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.capability.d.ts +7 -0
  5. package/dist/app-config/app-config.capability.js +23 -0
  6. package/dist/app-config/app-config.feature.d.ts +11 -0
  7. package/dist/app-config/app-config.feature.js +61 -0
  8. package/dist/app-config/branding.d.ts +55 -0
  9. package/dist/app-config/branding.js +0 -0
  10. package/dist/app-config/contracts.d.ts +245 -0
  11. package/dist/app-config/contracts.js +395 -0
  12. package/dist/app-config/docs/app-config.docblock.d.ts +6 -0
  13. package/dist/app-config/docs/app-config.docblock.js +21 -0
  14. package/dist/app-config/events.d.ts +122 -0
  15. package/dist/app-config/events.js +174 -0
  16. package/dist/app-config/index.d.ts +10 -0
  17. package/dist/app-config/index.js +9 -0
  18. package/dist/app-config/lifecycle-contracts.d.ts +273 -0
  19. package/dist/app-config/lifecycle-contracts.js +440 -0
  20. package/dist/app-config/lifecycle.d.ts +27 -0
  21. package/dist/app-config/lifecycle.js +0 -0
  22. package/dist/app-config/runtime.d.ts +120 -0
  23. package/dist/app-config/runtime.js +617 -0
  24. package/dist/app-config/spec.d.ts +175 -0
  25. package/dist/app-config/spec.js +19 -0
  26. package/dist/app-config/validation.d.ts +49 -0
  27. package/dist/app-config/validation.js +538 -0
  28. package/dist/capabilities/capabilities.d.ts +41 -0
  29. package/dist/capabilities/capabilities.js +48 -0
  30. package/dist/capabilities/docs/capabilities.docblock.d.ts +6 -0
  31. package/dist/capabilities/docs/capabilities.docblock.js +21 -0
  32. package/dist/capabilities/index.d.ts +3 -0
  33. package/dist/capabilities/index.js +4 -0
  34. package/dist/capabilities/openbanking.d.ts +10 -0
  35. package/dist/capabilities/openbanking.js +92 -0
  36. package/dist/client/index.d.ts +6 -0
  37. package/dist/client/index.js +9 -0
  38. package/dist/client/react/drivers/rn-reusables.d.ts +22 -0
  39. package/dist/client/react/drivers/rn-reusables.js +21 -0
  40. package/dist/client/react/drivers/shadcn.d.ts +12 -0
  41. package/dist/client/react/drivers/shadcn.js +11 -0
  42. package/dist/client/react/feature-render.d.ts +23 -0
  43. package/dist/client/react/feature-render.js +44 -0
  44. package/dist/client/react/form-render.d.ts +92 -0
  45. package/dist/client/react/form-render.js +301 -0
  46. package/dist/client/react/index.d.ts +5 -0
  47. package/dist/client/react/index.js +8 -0
  48. package/dist/contract-registry/index.d.ts +3 -0
  49. package/dist/contract-registry/index.js +3 -0
  50. package/dist/contract-registry/schemas.d.ts +124 -0
  51. package/dist/contract-registry/schemas.js +61 -0
  52. package/dist/contract-registry/types.d.ts +46 -0
  53. package/dist/contract-registry/types.js +0 -0
  54. package/dist/data-views/data-views.d.ts +5 -0
  55. package/dist/data-views/data-views.js +5 -0
  56. package/dist/data-views/docs/data-views.docblock.d.ts +6 -0
  57. package/dist/data-views/docs/data-views.docblock.js +21 -0
  58. package/dist/data-views/index.d.ts +4 -0
  59. package/dist/data-views/index.js +4 -0
  60. package/dist/data-views/query-generator.d.ts +40 -0
  61. package/dist/data-views/query-generator.js +48 -0
  62. package/dist/data-views/registry.d.ts +17 -0
  63. package/dist/data-views/registry.js +20 -0
  64. package/dist/data-views/runtime.d.ts +32 -0
  65. package/dist/data-views/runtime.js +68 -0
  66. package/dist/data-views/spec.d.ts +32 -0
  67. package/dist/data-views/spec.js +10 -0
  68. package/dist/data-views/types.d.ts +157 -0
  69. package/dist/data-views/types.js +0 -0
  70. package/dist/docs/accessibility_wcag_compliance_specs.docblock.d.ts +6 -0
  71. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +17 -0
  72. package/dist/docs/index.d.ts +6 -0
  73. package/dist/docs/index.js +30 -0
  74. package/dist/docs/meta.docs.d.ts +6 -0
  75. package/dist/docs/meta.docs.js +29 -0
  76. package/dist/docs/presentations.d.ts +31 -0
  77. package/dist/docs/presentations.js +57 -0
  78. package/dist/docs/registry.d.ts +23 -0
  79. package/dist/docs/registry.js +51 -0
  80. package/dist/docs/tech/auth/better-auth-nextjs.docblock.d.ts +6 -0
  81. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +81 -0
  82. package/dist/docs/tech/cli.docblock.d.ts +6 -0
  83. package/dist/docs/tech/cli.docblock.js +138 -0
  84. package/dist/docs/tech/contracts/README.docblock.d.ts +6 -0
  85. package/dist/docs/tech/contracts/README.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 +126 -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 +48 -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/vscode-extension.docblock.d.ts +6 -0
  133. package/dist/docs/tech/vscode-extension.docblock.js +102 -0
  134. package/dist/docs/tech-contracts.docs.d.ts +6 -0
  135. package/dist/docs/tech-contracts.docs.js +96 -0
  136. package/dist/docs/types.d.ts +41 -0
  137. package/dist/docs/types.js +0 -0
  138. package/dist/events.d.ts +47 -0
  139. package/dist/events.js +19 -0
  140. package/dist/examples/docs/examples.docblock.d.ts +6 -0
  141. package/dist/examples/docs/examples.docblock.js +165 -0
  142. package/dist/examples/index.d.ts +13 -0
  143. package/dist/examples/index.js +13 -0
  144. package/dist/examples/registry.d.ts +43 -0
  145. package/dist/examples/registry.js +88 -0
  146. package/dist/examples/schema.d.ts +282 -0
  147. package/dist/examples/schema.js +125 -0
  148. package/dist/examples/types.d.ts +167 -0
  149. package/dist/examples/types.js +43 -0
  150. package/dist/examples/validation.d.ts +65 -0
  151. package/dist/examples/validation.js +144 -0
  152. package/dist/experiments/docs/experiments.docblock.d.ts +6 -0
  153. package/dist/experiments/docs/experiments.docblock.js +21 -0
  154. package/dist/experiments/evaluator.d.ts +37 -0
  155. package/dist/experiments/evaluator.js +101 -0
  156. package/dist/experiments/spec-resolver.d.ts +17 -0
  157. package/dist/experiments/spec-resolver.js +0 -0
  158. package/dist/experiments/spec.d.ts +80 -0
  159. package/dist/experiments/spec.js +15 -0
  160. package/dist/features/index.d.ts +13 -0
  161. package/dist/features/index.js +12 -0
  162. package/dist/features/install.d.ts +22 -0
  163. package/dist/features/install.js +36 -0
  164. package/dist/features/registry.d.ts +26 -0
  165. package/dist/features/registry.js +49 -0
  166. package/dist/features/types.d.ts +88 -0
  167. package/dist/features/types.js +0 -0
  168. package/dist/features/validation.d.ts +8 -0
  169. package/dist/features/validation.js +14 -0
  170. package/dist/forms/docs/forms.docblock.d.ts +6 -0
  171. package/dist/forms/docs/forms.docblock.js +21 -0
  172. package/dist/forms/forms.d.ts +266 -0
  173. package/dist/forms/forms.js +143 -0
  174. package/dist/forms/index.d.ts +2 -0
  175. package/dist/forms/index.js +3 -0
  176. package/dist/index.d.ts +154 -0
  177. package/dist/index.js +132 -0
  178. package/dist/install.d.ts +77 -0
  179. package/dist/install.js +40 -0
  180. package/dist/integrations/binding.d.ts +17 -0
  181. package/dist/integrations/binding.js +0 -0
  182. package/dist/integrations/connection.d.ts +51 -0
  183. package/dist/integrations/connection.js +0 -0
  184. package/dist/integrations/docs/integrations.docblock.d.ts +6 -0
  185. package/dist/integrations/docs/integrations.docblock.js +94 -0
  186. package/dist/integrations/health.d.ts +21 -0
  187. package/dist/integrations/health.js +69 -0
  188. package/dist/integrations/index.d.ts +34 -0
  189. package/dist/integrations/index.js +23 -0
  190. package/dist/integrations/integrations.capability.d.ts +7 -0
  191. package/dist/integrations/integrations.capability.js +17 -0
  192. package/dist/integrations/integrations.feature.d.ts +11 -0
  193. package/dist/integrations/integrations.feature.js +67 -0
  194. package/dist/integrations/openbanking/contracts/accounts.d.ts +289 -0
  195. package/dist/integrations/openbanking/contracts/accounts.js +236 -0
  196. package/dist/integrations/openbanking/contracts/balances.d.ts +165 -0
  197. package/dist/integrations/openbanking/contracts/balances.js +166 -0
  198. package/dist/integrations/openbanking/contracts/index.d.ts +10 -0
  199. package/dist/integrations/openbanking/contracts/index.js +12 -0
  200. package/dist/integrations/openbanking/contracts/transactions.d.ts +213 -0
  201. package/dist/integrations/openbanking/contracts/transactions.js +217 -0
  202. package/dist/integrations/openbanking/guards.d.ts +12 -0
  203. package/dist/integrations/openbanking/guards.js +33 -0
  204. package/dist/integrations/openbanking/models.d.ts +228 -0
  205. package/dist/integrations/openbanking/models.js +240 -0
  206. package/dist/integrations/openbanking/openbanking.capability.d.ts +7 -0
  207. package/dist/integrations/openbanking/openbanking.capability.js +21 -0
  208. package/dist/integrations/openbanking/openbanking.feature.d.ts +11 -0
  209. package/dist/integrations/openbanking/openbanking.feature.js +76 -0
  210. package/dist/integrations/openbanking/telemetry.d.ts +15 -0
  211. package/dist/integrations/openbanking/telemetry.js +39 -0
  212. package/dist/integrations/operations.d.ts +437 -0
  213. package/dist/integrations/operations.js +392 -0
  214. package/dist/integrations/providers/calendar.d.ts +78 -0
  215. package/dist/integrations/providers/calendar.js +0 -0
  216. package/dist/integrations/providers/elevenlabs.d.ts +8 -0
  217. package/dist/integrations/providers/elevenlabs.js +56 -0
  218. package/dist/integrations/providers/email.d.ts +86 -0
  219. package/dist/integrations/providers/email.js +0 -0
  220. package/dist/integrations/providers/embedding.d.ts +24 -0
  221. package/dist/integrations/providers/embedding.js +0 -0
  222. package/dist/integrations/providers/gcs-storage.d.ts +8 -0
  223. package/dist/integrations/providers/gcs-storage.js +79 -0
  224. package/dist/integrations/providers/gmail.d.ts +8 -0
  225. package/dist/integrations/providers/gmail.js +91 -0
  226. package/dist/integrations/providers/google-calendar.d.ts +8 -0
  227. package/dist/integrations/providers/google-calendar.js +70 -0
  228. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +20 -0
  229. package/dist/integrations/providers/impls/elevenlabs-voice.js +95 -0
  230. package/dist/integrations/providers/impls/gcs-storage.d.ts +24 -0
  231. package/dist/integrations/providers/impls/gcs-storage.js +88 -0
  232. package/dist/integrations/providers/impls/gmail-inbound.d.ts +26 -0
  233. package/dist/integrations/providers/impls/gmail-inbound.js +200 -0
  234. package/dist/integrations/providers/impls/gmail-outbound.d.ts +18 -0
  235. package/dist/integrations/providers/impls/gmail-outbound.js +105 -0
  236. package/dist/integrations/providers/impls/google-calendar.d.ts +23 -0
  237. package/dist/integrations/providers/impls/google-calendar.js +154 -0
  238. package/dist/integrations/providers/impls/index.d.ts +15 -0
  239. package/dist/integrations/providers/impls/index.js +16 -0
  240. package/dist/integrations/providers/impls/mistral-embedding.d.ts +23 -0
  241. package/dist/integrations/providers/impls/mistral-embedding.js +41 -0
  242. package/dist/integrations/providers/impls/mistral-llm.d.ts +31 -0
  243. package/dist/integrations/providers/impls/mistral-llm.js +247 -0
  244. package/dist/integrations/providers/impls/postmark-email.d.ts +19 -0
  245. package/dist/integrations/providers/impls/postmark-email.js +55 -0
  246. package/dist/integrations/providers/impls/powens-client.d.ts +124 -0
  247. package/dist/integrations/providers/impls/powens-client.js +171 -0
  248. package/dist/integrations/providers/impls/powens-openbanking.d.ts +27 -0
  249. package/dist/integrations/providers/impls/powens-openbanking.js +218 -0
  250. package/dist/integrations/providers/impls/provider-factory.d.ts +26 -0
  251. package/dist/integrations/providers/impls/provider-factory.js +146 -0
  252. package/dist/integrations/providers/impls/qdrant-vector.d.ts +24 -0
  253. package/dist/integrations/providers/impls/qdrant-vector.js +69 -0
  254. package/dist/integrations/providers/impls/stripe-payments.d.ts +28 -0
  255. package/dist/integrations/providers/impls/stripe-payments.js +202 -0
  256. package/dist/integrations/providers/impls/twilio-sms.d.ts +20 -0
  257. package/dist/integrations/providers/impls/twilio-sms.js +58 -0
  258. package/dist/integrations/providers/index.d.ts +22 -0
  259. package/dist/integrations/providers/index.js +13 -0
  260. package/dist/integrations/providers/llm.d.ts +82 -0
  261. package/dist/integrations/providers/llm.js +0 -0
  262. package/dist/integrations/providers/mistral.d.ts +8 -0
  263. package/dist/integrations/providers/mistral.js +72 -0
  264. package/dist/integrations/providers/openbanking.d.ts +128 -0
  265. package/dist/integrations/providers/openbanking.js +0 -0
  266. package/dist/integrations/providers/payments.d.ts +109 -0
  267. package/dist/integrations/providers/payments.js +0 -0
  268. package/dist/integrations/providers/postmark.d.ts +8 -0
  269. package/dist/integrations/providers/postmark.js +72 -0
  270. package/dist/integrations/providers/powens.d.ts +8 -0
  271. package/dist/integrations/providers/powens.js +120 -0
  272. package/dist/integrations/providers/qdrant.d.ts +8 -0
  273. package/dist/integrations/providers/qdrant.js +77 -0
  274. package/dist/integrations/providers/registry.d.ts +11 -0
  275. package/dist/integrations/providers/registry.js +34 -0
  276. package/dist/integrations/providers/sms.d.ts +34 -0
  277. package/dist/integrations/providers/sms.js +0 -0
  278. package/dist/integrations/providers/storage.d.ts +60 -0
  279. package/dist/integrations/providers/storage.js +0 -0
  280. package/dist/integrations/providers/stripe.d.ts +8 -0
  281. package/dist/integrations/providers/stripe.js +87 -0
  282. package/dist/integrations/providers/twilio-sms.d.ts +8 -0
  283. package/dist/integrations/providers/twilio-sms.js +65 -0
  284. package/dist/integrations/providers/vector-store.d.ts +43 -0
  285. package/dist/integrations/providers/vector-store.js +0 -0
  286. package/dist/integrations/providers/voice.d.ts +34 -0
  287. package/dist/integrations/providers/voice.js +0 -0
  288. package/dist/integrations/runtime.d.ts +99 -0
  289. package/dist/integrations/runtime.js +186 -0
  290. package/dist/integrations/secrets/aws-secret-manager.d.ts +31 -0
  291. package/dist/integrations/secrets/aws-secret-manager.js +231 -0
  292. package/dist/integrations/secrets/env-secret-provider.d.ts +31 -0
  293. package/dist/integrations/secrets/env-secret-provider.js +81 -0
  294. package/dist/integrations/secrets/gcp-secret-manager.d.ts +32 -0
  295. package/dist/integrations/secrets/gcp-secret-manager.js +229 -0
  296. package/dist/integrations/secrets/index.d.ts +7 -0
  297. package/dist/integrations/secrets/index.js +8 -0
  298. package/dist/integrations/secrets/manager.d.ts +47 -0
  299. package/dist/integrations/secrets/manager.js +103 -0
  300. package/dist/integrations/secrets/provider.d.ts +52 -0
  301. package/dist/integrations/secrets/provider.js +58 -0
  302. package/dist/integrations/secrets/scaleway-secret-manager.d.ts +38 -0
  303. package/dist/integrations/secrets/scaleway-secret-manager.js +247 -0
  304. package/dist/integrations/secrets-types.d.ts +17 -0
  305. package/dist/integrations/secrets-types.js +0 -0
  306. package/dist/integrations/spec.d.ts +77 -0
  307. package/dist/integrations/spec.js +22 -0
  308. package/dist/jobs/define-job.d.ts +18 -0
  309. package/dist/jobs/define-job.js +16 -0
  310. package/dist/jobs/gcp-cloud-tasks.d.ts +41 -0
  311. package/dist/jobs/gcp-cloud-tasks.js +53 -0
  312. package/dist/jobs/gcp-pubsub.d.ts +25 -0
  313. package/dist/jobs/gcp-pubsub.js +39 -0
  314. package/dist/jobs/handlers/gmail-sync-handler.d.ts +9 -0
  315. package/dist/jobs/handlers/gmail-sync-handler.js +9 -0
  316. package/dist/jobs/handlers/index.d.ts +9 -0
  317. package/dist/jobs/handlers/index.js +12 -0
  318. package/dist/jobs/handlers/ping-handler.d.ts +10 -0
  319. package/dist/jobs/handlers/ping-handler.js +15 -0
  320. package/dist/jobs/handlers/storage-document-handler.d.ts +12 -0
  321. package/dist/jobs/handlers/storage-document-handler.js +14 -0
  322. package/dist/jobs/index.d.ts +3 -0
  323. package/dist/jobs/index.js +4 -0
  324. package/dist/jobs/memory-queue.d.ts +18 -0
  325. package/dist/jobs/memory-queue.js +71 -0
  326. package/dist/jobs/queue.d.ts +131 -0
  327. package/dist/jobs/queue.js +33 -0
  328. package/dist/jobs/scaleway-sqs-queue.d.ts +30 -0
  329. package/dist/jobs/scaleway-sqs-queue.js +153 -0
  330. package/dist/jsonschema.d.ts +42 -0
  331. package/dist/jsonschema.js +51 -0
  332. package/dist/knowledge/binding.d.ts +25 -0
  333. package/dist/knowledge/binding.js +0 -0
  334. package/dist/knowledge/docs/knowledge.docblock.d.ts +6 -0
  335. package/dist/knowledge/docs/knowledge.docblock.js +21 -0
  336. package/dist/knowledge/index.d.ts +11 -0
  337. package/dist/knowledge/index.js +10 -0
  338. package/dist/knowledge/ingestion/document-processor.d.ts +24 -0
  339. package/dist/knowledge/ingestion/document-processor.js +54 -0
  340. package/dist/knowledge/ingestion/embedding-service.d.ts +12 -0
  341. package/dist/knowledge/ingestion/embedding-service.js +25 -0
  342. package/dist/knowledge/ingestion/gmail-adapter.d.ts +18 -0
  343. package/dist/knowledge/ingestion/gmail-adapter.js +51 -0
  344. package/dist/knowledge/ingestion/index.d.ts +6 -0
  345. package/dist/knowledge/ingestion/index.js +7 -0
  346. package/dist/knowledge/ingestion/storage-adapter.d.ts +15 -0
  347. package/dist/knowledge/ingestion/storage-adapter.js +26 -0
  348. package/dist/knowledge/ingestion/vector-indexer.d.ts +18 -0
  349. package/dist/knowledge/ingestion/vector-indexer.js +32 -0
  350. package/dist/knowledge/knowledge.capability.d.ts +7 -0
  351. package/dist/knowledge/knowledge.capability.js +21 -0
  352. package/dist/knowledge/knowledge.feature.d.ts +11 -0
  353. package/dist/knowledge/knowledge.feature.js +68 -0
  354. package/dist/knowledge/operations.d.ts +318 -0
  355. package/dist/knowledge/operations.js +321 -0
  356. package/dist/knowledge/query/index.d.ts +2 -0
  357. package/dist/knowledge/query/index.js +3 -0
  358. package/dist/knowledge/query/service.d.ts +29 -0
  359. package/dist/knowledge/query/service.js +65 -0
  360. package/dist/knowledge/runtime.d.ts +32 -0
  361. package/dist/knowledge/runtime.js +49 -0
  362. package/dist/knowledge/source.d.ts +32 -0
  363. package/dist/knowledge/source.js +0 -0
  364. package/dist/knowledge/spaces/email-threads.d.ts +7 -0
  365. package/dist/knowledge/spaces/email-threads.js +37 -0
  366. package/dist/knowledge/spaces/financial-docs.d.ts +7 -0
  367. package/dist/knowledge/spaces/financial-docs.js +37 -0
  368. package/dist/knowledge/spaces/financial-overview.d.ts +7 -0
  369. package/dist/knowledge/spaces/financial-overview.js +41 -0
  370. package/dist/knowledge/spaces/index.d.ts +7 -0
  371. package/dist/knowledge/spaces/index.js +8 -0
  372. package/dist/knowledge/spaces/product-canon.d.ts +7 -0
  373. package/dist/knowledge/spaces/product-canon.js +37 -0
  374. package/dist/knowledge/spaces/support-faq.d.ts +7 -0
  375. package/dist/knowledge/spaces/support-faq.js +40 -0
  376. package/dist/knowledge/spaces/uploaded-docs.d.ts +7 -0
  377. package/dist/knowledge/spaces/uploaded-docs.js +37 -0
  378. package/dist/knowledge/spec.d.ts +46 -0
  379. package/dist/knowledge/spec.js +17 -0
  380. package/dist/llm/exporters.d.ts +70 -0
  381. package/dist/llm/exporters.js +542 -0
  382. package/dist/llm/index.d.ts +4 -0
  383. package/dist/llm/index.js +4 -0
  384. package/dist/llm/prompts.d.ts +52 -0
  385. package/dist/llm/prompts.js +410 -0
  386. package/dist/llm/types.d.ts +215 -0
  387. package/dist/llm/types.js +0 -0
  388. package/dist/markdown.d.ts +22 -0
  389. package/dist/markdown.js +119 -0
  390. package/dist/migrations.d.ts +52 -0
  391. package/dist/migrations.js +31 -0
  392. package/dist/model-registry.d.ts +13 -0
  393. package/dist/model-registry.js +33 -0
  394. package/dist/onboarding-base.d.ts +138 -0
  395. package/dist/onboarding-base.js +195 -0
  396. package/dist/openapi.d.ts +31 -0
  397. package/dist/openapi.js +82 -0
  398. package/dist/operations/index.d.ts +3 -0
  399. package/dist/operations/index.js +4 -0
  400. package/dist/operations/operation.d.ts +186 -0
  401. package/dist/operations/operation.js +35 -0
  402. package/dist/operations/registry.d.ts +54 -0
  403. package/dist/operations/registry.js +176 -0
  404. package/dist/ownership.d.ts +84 -0
  405. package/dist/ownership.js +38 -0
  406. package/dist/policy/docs/policy.docblock.d.ts +6 -0
  407. package/dist/policy/docs/policy.docblock.js +21 -0
  408. package/dist/policy/engine.d.ts +40 -0
  409. package/dist/policy/engine.js +225 -0
  410. package/dist/policy/index.d.ts +5 -0
  411. package/dist/policy/index.js +5 -0
  412. package/dist/policy/opa-adapter.d.ts +45 -0
  413. package/dist/policy/opa-adapter.js +71 -0
  414. package/dist/policy/registry.d.ts +9 -0
  415. package/dist/policy/registry.js +11 -0
  416. package/dist/policy/spec.d.ts +103 -0
  417. package/dist/policy/spec.js +0 -0
  418. package/dist/presentations/docs/presentations-conventions.docblock.d.ts +6 -0
  419. package/dist/presentations/docs/presentations-conventions.docblock.js +21 -0
  420. package/dist/presentations/index.d.ts +4 -0
  421. package/dist/presentations/index.js +5 -0
  422. package/dist/presentations/presentations.d.ts +50 -0
  423. package/dist/presentations/presentations.js +7 -0
  424. package/dist/presentations/registry.d.ts +10 -0
  425. package/dist/presentations/registry.js +12 -0
  426. package/dist/presentations/transform-engine.d.ts +66 -0
  427. package/dist/presentations/transform-engine.js +282 -0
  428. package/dist/prompt.d.ts +53 -0
  429. package/dist/prompt.js +10 -0
  430. package/dist/promptRegistry.d.ts +15 -0
  431. package/dist/promptRegistry.js +31 -0
  432. package/dist/regenerator/adapters.d.ts +19 -0
  433. package/dist/regenerator/adapters.js +0 -0
  434. package/dist/regenerator/docs/regenerator.docblock.d.ts +6 -0
  435. package/dist/regenerator/docs/regenerator.docblock.js +21 -0
  436. package/dist/regenerator/executor.d.ts +70 -0
  437. package/dist/regenerator/executor.js +86 -0
  438. package/dist/regenerator/index.d.ts +7 -0
  439. package/dist/regenerator/index.js +6 -0
  440. package/dist/regenerator/service.d.ts +33 -0
  441. package/dist/regenerator/service.js +93 -0
  442. package/dist/regenerator/sinks.d.ts +26 -0
  443. package/dist/regenerator/sinks.js +32 -0
  444. package/dist/regenerator/types.d.ts +107 -0
  445. package/dist/regenerator/types.js +0 -0
  446. package/dist/regenerator/utils.d.ts +9 -0
  447. package/dist/regenerator/utils.js +51 -0
  448. package/dist/registry-utils.d.ts +106 -0
  449. package/dist/registry-utils.js +122 -0
  450. package/dist/registry.d.ts +32 -0
  451. package/dist/registry.js +61 -0
  452. package/dist/resources.d.ts +64 -0
  453. package/dist/resources.js +50 -0
  454. package/dist/schema-to-markdown.d.ts +54 -0
  455. package/dist/schema-to-markdown.js +217 -0
  456. package/dist/server/contracts-adapter-hydration.d.ts +15 -0
  457. package/dist/server/contracts-adapter-hydration.js +41 -0
  458. package/dist/server/contracts-adapter-input.d.ts +9 -0
  459. package/dist/server/contracts-adapter-input.js +83 -0
  460. package/dist/server/graphql-pothos.d.ts +31 -0
  461. package/dist/server/graphql-pothos.js +134 -0
  462. package/dist/server/index.d.ts +9 -0
  463. package/dist/server/index.js +10 -0
  464. package/dist/server/mcp/createMcpServer.d.ts +15 -0
  465. package/dist/server/mcp/createMcpServer.js +27 -0
  466. package/dist/server/mcp/mcpTypes.d.ts +27 -0
  467. package/dist/server/mcp/mcpTypes.js +0 -0
  468. package/dist/server/mcp/registerPresentations.d.ts +7 -0
  469. package/dist/server/mcp/registerPresentations.js +54 -0
  470. package/dist/server/mcp/registerPrompts.d.ts +8 -0
  471. package/dist/server/mcp/registerPrompts.js +41 -0
  472. package/dist/server/mcp/registerResources.d.ts +8 -0
  473. package/dist/server/mcp/registerResources.js +35 -0
  474. package/dist/server/mcp/registerTools.d.ts +8 -0
  475. package/dist/server/mcp/registerTools.js +22 -0
  476. package/dist/server/provider-mcp.d.ts +2 -0
  477. package/dist/server/provider-mcp.js +3 -0
  478. package/dist/server/rest-elysia.d.ts +40 -0
  479. package/dist/server/rest-elysia.js +20 -0
  480. package/dist/server/rest-express.d.ts +16 -0
  481. package/dist/server/rest-express.js +36 -0
  482. package/dist/server/rest-generic.d.ts +32 -0
  483. package/dist/server/rest-generic.js +124 -0
  484. package/dist/server/rest-next-app.d.ts +35 -0
  485. package/dist/server/rest-next-app.js +38 -0
  486. package/dist/server/rest-next-mcp.d.ts +11 -0
  487. package/dist/server/rest-next-mcp.js +45 -0
  488. package/dist/server/rest-next-pages.d.ts +9 -0
  489. package/dist/server/rest-next-pages.js +22 -0
  490. package/dist/telemetry/anomaly.d.ts +27 -0
  491. package/dist/telemetry/anomaly.js +48 -0
  492. package/dist/telemetry/docs/telemetry.docblock.d.ts +6 -0
  493. package/dist/telemetry/docs/telemetry.docblock.js +21 -0
  494. package/dist/telemetry/index.d.ts +4 -0
  495. package/dist/telemetry/index.js +5 -0
  496. package/dist/telemetry/spec.d.ts +91 -0
  497. package/dist/telemetry/spec.js +42 -0
  498. package/dist/telemetry/tracker.d.ts +51 -0
  499. package/dist/telemetry/tracker.js +76 -0
  500. package/dist/tests/index.d.ts +3 -0
  501. package/dist/tests/index.js +4 -0
  502. package/dist/tests/runner.d.ts +43 -0
  503. package/dist/tests/runner.js +150 -0
  504. package/dist/tests/spec.d.ts +82 -0
  505. package/dist/tests/spec.js +34 -0
  506. package/dist/themes.d.ts +51 -0
  507. package/dist/themes.js +17 -0
  508. package/dist/translations/catalog.d.ts +28 -0
  509. package/dist/translations/catalog.js +0 -0
  510. package/dist/translations/tenant.d.ts +15 -0
  511. package/dist/translations/tenant.js +0 -0
  512. package/dist/types.d.ts +92 -0
  513. package/dist/types.js +0 -0
  514. package/dist/versioning/index.d.ts +3 -0
  515. package/dist/versioning/index.js +4 -0
  516. package/dist/versioning/types.d.ts +127 -0
  517. package/dist/versioning/types.js +24 -0
  518. package/dist/versioning/utils.d.ts +95 -0
  519. package/dist/versioning/utils.js +180 -0
  520. package/dist/workflow/adapters/db-adapter.d.ts +46 -0
  521. package/dist/workflow/adapters/db-adapter.js +83 -0
  522. package/dist/workflow/adapters/file-adapter.d.ts +14 -0
  523. package/dist/workflow/adapters/file-adapter.js +11 -0
  524. package/dist/workflow/adapters/index.d.ts +4 -0
  525. package/dist/workflow/adapters/index.js +5 -0
  526. package/dist/workflow/adapters/memory-store.d.ts +18 -0
  527. package/dist/workflow/adapters/memory-store.js +58 -0
  528. package/dist/workflow/expression.d.ts +9 -0
  529. package/dist/workflow/expression.js +99 -0
  530. package/dist/workflow/index.d.ts +17 -0
  531. package/dist/workflow/index.js +16 -0
  532. package/dist/workflow/overview.docblock.d.ts +6 -0
  533. package/dist/workflow/overview.docblock.js +21 -0
  534. package/dist/workflow/runner.d.ts +77 -0
  535. package/dist/workflow/runner.js +337 -0
  536. package/dist/workflow/sla-monitor.d.ts +20 -0
  537. package/dist/workflow/sla-monitor.js +47 -0
  538. package/dist/workflow/spec.d.ts +93 -0
  539. package/dist/workflow/spec.js +11 -0
  540. package/dist/workflow/state.d.ts +35 -0
  541. package/dist/workflow/state.js +0 -0
  542. package/dist/workflow/validation.d.ts +29 -0
  543. package/dist/workflow/validation.js +176 -0
  544. package/dist/workspace-config/contractsrc-schema.d.ts +1162 -0
  545. package/dist/workspace-config/contractsrc-schema.js +421 -0
  546. package/dist/workspace-config/index.d.ts +2 -0
  547. package/dist/workspace-config/index.js +3 -0
  548. package/dist/workspace-config/workspace-config.docblock.d.ts +6 -0
  549. package/dist/workspace-config/workspace-config.docblock.js +45 -0
  550. package/package.json +618 -0
@@ -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: string;
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.0.0",
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.0.0"
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.0.0",
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.0.0"
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.0.0",
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.0.0"
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 };
@@ -0,0 +1,7 @@
1
+ import { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace } from "./product-canon.js";
2
+ import { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace } from "./support-faq.js";
3
+ import { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace } from "./email-threads.js";
4
+ import { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace } from "./uploaded-docs.js";
5
+ import { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace } from "./financial-docs.js";
6
+ import { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace } from "./financial-overview.js";
7
+ export { emailThreadsKnowledgeSpace, financialDocsKnowledgeSpace, financialOverviewKnowledgeSpace, productCanonKnowledgeSpace, registerEmailThreadsKnowledgeSpace, registerFinancialDocsKnowledgeSpace, registerFinancialOverviewKnowledgeSpace, registerProductCanonKnowledgeSpace, registerSupportFaqKnowledgeSpace, registerUploadedDocsKnowledgeSpace, supportFaqKnowledgeSpace, uploadedDocsKnowledgeSpace };
@@ -0,0 +1,8 @@
1
+ import { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace } from "./product-canon.js";
2
+ import { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace } from "./support-faq.js";
3
+ import { emailThreadsKnowledgeSpace, registerEmailThreadsKnowledgeSpace } from "./email-threads.js";
4
+ import { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace } from "./uploaded-docs.js";
5
+ import { financialDocsKnowledgeSpace, registerFinancialDocsKnowledgeSpace } from "./financial-docs.js";
6
+ import { financialOverviewKnowledgeSpace, registerFinancialOverviewKnowledgeSpace } from "./financial-overview.js";
7
+
8
+ export { emailThreadsKnowledgeSpace, financialDocsKnowledgeSpace, financialOverviewKnowledgeSpace, productCanonKnowledgeSpace, registerEmailThreadsKnowledgeSpace, registerFinancialDocsKnowledgeSpace, registerFinancialOverviewKnowledgeSpace, registerProductCanonKnowledgeSpace, registerSupportFaqKnowledgeSpace, registerUploadedDocsKnowledgeSpace, supportFaqKnowledgeSpace, uploadedDocsKnowledgeSpace };
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/product-canon.d.ts
4
+ declare const productCanonKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerProductCanonKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
@@ -0,0 +1,37 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/product-canon.ts
4
+ const productCanonKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.product-canon",
7
+ version: "1.0.0",
8
+ category: "canonical",
9
+ title: "Product Canon Knowledge Space",
10
+ description: "Authoritative product knowledge covering strategy, roadmap, and delivery canon.",
11
+ domain: "product",
12
+ owners: ["platform.product"],
13
+ tags: ["knowledge", "product"],
14
+ stability: StabilityEnum.Stable
15
+ },
16
+ retention: { ttlDays: null },
17
+ access: {
18
+ policy: {
19
+ key: "knowledge.access.product-canon",
20
+ version: "1.0.0"
21
+ },
22
+ trustLevel: "high",
23
+ automationWritable: false
24
+ },
25
+ indexing: {
26
+ embeddingModel: "text-embedding-3-large",
27
+ chunkSize: 800,
28
+ vectorDbIntegration: "vectordb.qdrant"
29
+ },
30
+ description: "Single source of truth for product canon, principles, and strategic narratives."
31
+ };
32
+ function registerProductCanonKnowledgeSpace(registry) {
33
+ return registry.register(productCanonKnowledgeSpace);
34
+ }
35
+
36
+ //#endregion
37
+ export { productCanonKnowledgeSpace, registerProductCanonKnowledgeSpace };
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/support-faq.d.ts
4
+ declare const supportFaqKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerSupportFaqKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
@@ -0,0 +1,40 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/support-faq.ts
4
+ const supportFaqKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.support-faq",
7
+ version: "1.0.0",
8
+ category: "operational",
9
+ title: "Support & Success FAQ",
10
+ description: "Operational knowledge base for customer support and success.",
11
+ domain: "support",
12
+ owners: ["platform.support"],
13
+ tags: ["knowledge", "support"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ retention: {
17
+ ttlDays: 365,
18
+ archiveAfterDays: 180
19
+ },
20
+ access: {
21
+ policy: {
22
+ key: "knowledge.access.support",
23
+ version: "1.0.0"
24
+ },
25
+ trustLevel: "medium",
26
+ automationWritable: true
27
+ },
28
+ indexing: {
29
+ embeddingModel: "text-embedding-3-small",
30
+ chunkSize: 700,
31
+ vectorDbIntegration: "vectordb.qdrant"
32
+ },
33
+ description: "Operational FAQs, runbooks, and customer success playbooks augmented with automation updates."
34
+ };
35
+ function registerSupportFaqKnowledgeSpace(registry) {
36
+ return registry.register(supportFaqKnowledgeSpace);
37
+ }
38
+
39
+ //#endregion
40
+ export { registerSupportFaqKnowledgeSpace, supportFaqKnowledgeSpace };
@@ -0,0 +1,7 @@
1
+ import { KnowledgeSpaceRegistry, KnowledgeSpaceSpec } from "../spec.js";
2
+
3
+ //#region src/knowledge/spaces/uploaded-docs.d.ts
4
+ declare const uploadedDocsKnowledgeSpace: KnowledgeSpaceSpec;
5
+ declare function registerUploadedDocsKnowledgeSpace(registry: KnowledgeSpaceRegistry): KnowledgeSpaceRegistry;
6
+ //#endregion
7
+ export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
@@ -0,0 +1,37 @@
1
+ import { StabilityEnum } from "../../ownership.js";
2
+
3
+ //#region src/knowledge/spaces/uploaded-docs.ts
4
+ const uploadedDocsKnowledgeSpace = {
5
+ meta: {
6
+ key: "knowledge.uploaded-docs",
7
+ version: "1.0.0",
8
+ category: "external",
9
+ title: "Uploaded Knowledge Assets",
10
+ description: "Documents uploaded by households, including invoices, contracts, and reference files.",
11
+ domain: "operations",
12
+ owners: ["platform.operations"],
13
+ tags: ["documents", "storage"],
14
+ stability: StabilityEnum.Beta
15
+ },
16
+ retention: { ttlDays: null },
17
+ access: {
18
+ policy: {
19
+ key: "knowledge.access.uploaded-docs",
20
+ version: "1.0.0"
21
+ },
22
+ trustLevel: "medium",
23
+ automationWritable: true
24
+ },
25
+ indexing: {
26
+ embeddingModel: "mistral-embed",
27
+ chunkSize: 900,
28
+ vectorDbIntegration: "vectordb.qdrant"
29
+ },
30
+ description: "User-provided documents normalized and embedded for retrieval augmented workflows."
31
+ };
32
+ function registerUploadedDocsKnowledgeSpace(registry) {
33
+ return registry.register(uploadedDocsKnowledgeSpace);
34
+ }
35
+
36
+ //#endregion
37
+ export { registerUploadedDocsKnowledgeSpace, uploadedDocsKnowledgeSpace };
@@ -0,0 +1,46 @@
1
+ import { OwnerShipMeta } from "../ownership.js";
2
+ import { PolicyRef } from "../policy/spec.js";
3
+ import { SpecContractRegistry } from "../registry.js";
4
+
5
+ //#region src/knowledge/spec.d.ts
6
+ type KnowledgeCategory = 'canonical' | 'operational' | 'external' | 'ephemeral';
7
+ interface KnowledgeSpaceMeta extends OwnerShipMeta {
8
+ category: KnowledgeCategory;
9
+ }
10
+ interface KnowledgeRetentionPolicy {
11
+ /** TTL in days (null = indefinite). */
12
+ ttlDays?: number | null;
13
+ /** Auto-archive after inactivity. */
14
+ archiveAfterDays?: number;
15
+ }
16
+ interface KnowledgeAccessPolicy {
17
+ /** Which PolicySpec governs access. */
18
+ policy?: PolicyRef;
19
+ /** Trust level for agent/workflow consumption. */
20
+ trustLevel: 'high' | 'medium' | 'low';
21
+ /** Can this space be mutated by automation? */
22
+ automationWritable: boolean;
23
+ }
24
+ interface KnowledgeIndexingConfig {
25
+ embeddingModel?: string;
26
+ chunkSize?: number;
27
+ vectorDbIntegration?: string;
28
+ }
29
+ interface KnowledgeSpaceSpec {
30
+ meta: KnowledgeSpaceMeta;
31
+ /** Retention and cleanup rules. */
32
+ retention: KnowledgeRetentionPolicy;
33
+ /** Access control and trust. */
34
+ access: KnowledgeAccessPolicy;
35
+ /** Optional embedding/indexing config. */
36
+ indexing?: KnowledgeIndexingConfig;
37
+ /** Documentation. */
38
+ description?: string;
39
+ }
40
+ declare class KnowledgeSpaceRegistry extends SpecContractRegistry<'knowledge-space', KnowledgeSpaceSpec> {
41
+ constructor(items?: KnowledgeSpaceSpec[]);
42
+ getByCategory(category: KnowledgeCategory): KnowledgeSpaceSpec[];
43
+ }
44
+ declare function makeKnowledgeSpaceKey(meta: KnowledgeSpaceMeta): string;
45
+ //#endregion
46
+ export { KnowledgeAccessPolicy, KnowledgeCategory, KnowledgeIndexingConfig, KnowledgeRetentionPolicy, KnowledgeSpaceMeta, KnowledgeSpaceRegistry, KnowledgeSpaceSpec, makeKnowledgeSpaceKey };
@@ -0,0 +1,17 @@
1
+ import { SpecContractRegistry } from "../registry.js";
2
+
3
+ //#region src/knowledge/spec.ts
4
+ var KnowledgeSpaceRegistry = class extends SpecContractRegistry {
5
+ constructor(items) {
6
+ super("knowledge-space", items);
7
+ }
8
+ getByCategory(category) {
9
+ return this.list().filter((spec) => spec.meta.category === category);
10
+ }
11
+ };
12
+ function makeKnowledgeSpaceKey(meta) {
13
+ return `${meta.key}.v${meta.version}`;
14
+ }
15
+
16
+ //#endregion
17
+ export { KnowledgeSpaceRegistry, makeKnowledgeSpaceKey };
@@ -0,0 +1,70 @@
1
+ import { DocBlock } from "../docs/types.js";
2
+ import { PresentationSpec } from "../presentations/presentations.js";
3
+ import { AnyOperationSpec } from "../operations/operation.js";
4
+ import { OperationSpecRegistry } from "../operations/registry.js";
5
+ import "../operations/index.js";
6
+ import { FeatureModuleSpec } from "../features/types.js";
7
+ import { PresentationRegistry } from "../presentations/registry.js";
8
+ import "../presentations/index.js";
9
+ import "../features/index.js";
10
+ import { EventSpec } from "../events.js";
11
+ import { FeatureExportOptions, FeatureExportResult, SpecExportOptions, SpecExportResult } from "./types.js";
12
+ import { AnySchemaModel } from "@contractspec/lib.schema";
13
+
14
+ //#region src/llm/exporters.d.ts
15
+
16
+ /**
17
+ * Export a single spec to context-focused markdown.
18
+ * Includes: goal, context, description, acceptance scenarios.
19
+ * Best for: Understanding what the spec does, providing context to LLMs.
20
+ */
21
+ declare function operationSpecToContextMarkdown(spec: AnyOperationSpec): string;
22
+ /**
23
+ * Export a single spec to full markdown with all details.
24
+ * Includes: all fields, I/O schemas, policy, events, examples.
25
+ * Best for: Complete documentation, implementation reference.
26
+ */
27
+ declare function operationSpecToFullMarkdown(spec: AnyOperationSpec, options?: Partial<SpecExportOptions>): string;
28
+ /**
29
+ * Export a single spec as an actionable agent prompt.
30
+ * Includes: instructions, full spec, expected output format.
31
+ * Best for: Directly feeding to coding agents for implementation.
32
+ */
33
+ declare function operationSpecToAgentPrompt(spec: AnyOperationSpec, options?: {
34
+ taskType?: 'implement' | 'test' | 'refactor' | 'review';
35
+ existingCode?: string;
36
+ }): string;
37
+ /**
38
+ * Export a feature module to markdown.
39
+ * Includes all related specs, events, and presentations.
40
+ */
41
+ declare function featureToMarkdown(feature: FeatureModuleSpec, deps?: {
42
+ specs?: OperationSpecRegistry;
43
+ presentations?: PresentationRegistry;
44
+ }, options?: Partial<FeatureExportOptions>): string;
45
+ /**
46
+ * Export a presentation descriptor to markdown.
47
+ */
48
+ declare function presentationToMarkdown(presentation: PresentationSpec): string;
49
+ /**
50
+ * Export an event spec to markdown.
51
+ */
52
+ declare function eventToMarkdown(event: EventSpec<AnySchemaModel>): string;
53
+ /**
54
+ * Export a DocBlock to markdown (already markdown, but formatted consistently).
55
+ */
56
+ declare function docBlockToMarkdown(doc: DocBlock): string;
57
+ /**
58
+ * Export a spec with a specific format.
59
+ * Convenience function that wraps the format-specific functions.
60
+ */
61
+ declare function exportSpec(spec: AnyOperationSpec, options?: Partial<SpecExportOptions>): SpecExportResult;
62
+ /**
63
+ * Export a feature with a specific format.
64
+ */
65
+ declare function exportFeature(feature: FeatureModuleSpec, deps?: {
66
+ specs?: OperationSpecRegistry;
67
+ presentations?: PresentationRegistry;
68
+ }, options?: Partial<FeatureExportOptions>): FeatureExportResult;
69
+ //#endregion
70
+ export { docBlockToMarkdown, eventToMarkdown, exportFeature, exportSpec, featureToMarkdown, operationSpecToAgentPrompt, operationSpecToContextMarkdown, operationSpecToFullMarkdown, presentationToMarkdown };